surface-pro-x icon indicating copy to clipboard operation
surface-pro-x copied to clipboard

Support for LTE/Modem

Open qzed opened this issue 3 years ago • 2 comments

While the combined WiFi/modem firmware is already loaded properly and WiFi works, LTE at the very least needs testing as I have yet been unable to do so. It may work, but more likely it will not. It seems that some files needed by the remote processor are only loaded with some modifications to tqftpserv, which also complains about the seek operation being unsupported.

qzed avatar Jun 11 '22 23:06 qzed

FYI, it looks like the modem actually works. I can see it with qmicli by specifying the -d qrtr://0 parameter (IIRC).

ModemManager still doesn't see the device, but maybe this is just because the version shipped with Arch Linux doesn't (yet?) support QMI.

You can see a list of other devices by running qrtr-lookup. GPS (#39) is probably also supported if we use qmi-gps-proxy (for example as seen here).

I'll update this thread as soon as I discover more.

denysvitali avatar Oct 15 '24 10:10 denysvitali

$ qrtr-lookup | grep 'User Identity'
       11       1        0    0    51 User Identity Module service
$ qmicli -d qrtr://0 --uim-get-card-status
[qrtr://0/] Successfully got card status
Provisioning applications:
	Primary GW:   slot '1', application '1'
	Primary 1X:   session doesn't exist
	Secondary GW: session doesn't exist
	Secondary 1X: session doesn't exist
Slot [1]:
	Card state: 'present'
	UPIN state: 'not-initialized'
		UPIN retries: '0'
		UPUK retries: '0'
	Application [1]:
		Application type:  'usim (2)'
		Application state: 'ready'
		Application ID:
			A0:00:00:00:87:10:02:FF:33:FF:FF:89:01:01:01:00
		Personalization state: 'ready'
		UPIN replaces PIN1: 'no'
		PIN1 state: 'disabled'
			PIN1 retries: '3'
			PUK1 retries: '10'
		PIN2 state: 'enabled-not-verified'
			PIN2 retries: '3'
			PUK2 retries: '10'
	Application [2]:
		Application type:  'isim (5)'
		Application state: 'detected'
		Application ID:
			A0:00:00:00:87:10:04:FF:FF:FF:FF:89:00:00:00:01
		Personalization state: 'unknown'
		UPIN replaces PIN1: 'no'
		PIN1 state: 'disabled'
			PIN1 retries: '3'
			PUK1 retries: '10'
		PIN2 state: 'not-initialized'
			PIN2 retries: '0'
			PUK2 retries: '0'
$ qmicli -d qrtr://0 --uim-get-slot-status

[qrtr://0/] Successfully got slots status
[qrtr://0/] 2 physical slots found:
  Physical slot 1:
     Card status: present
     Slot status: active
    Logical slot: 1
           ICCID: ****
        Protocol: uicc
        Num apps: 2
        Is eUICC: no
  Physical slot 2:
     Card status: present
     Slot status: inactive
           ICCID: unknown
        Protocol: uicc
        Num apps: 0
        Is eUICC: yes
             EID: *******

Despite this, ModemManager doesn't seem to find the modem (and there is no /dev/cdc-wwan device either):

$ mmcli -L
No modems were found

The logs mention the device, but it looks like it fails to initialize it (couldn't create modem for device 'qcom-soc': Failed to find a net port in the QMI modem):

$ sudo /usr/sbin/ModemManager --debug
ModemManager[7832]: <dbg> [1729014321.424075] [qrtr://0] checking version info (45 retries)...
ModemManager[7832]: <dbg> [1729014321.424137] [qrtr://0] QRTR does not support version info check: checking only for available services
ModemManager[7832]: <dbg> [1729014321.424211] [qrtr://0] device supports 42 services:
ModemManager[7832]: <dbg> [1729014321.424279] [qrtr://0]    ssctl (2)
ModemManager[7832]: <dbg> [1729014321.424346] [qrtr://0]    unknown [0x0042] (1)
ModemManager[7832]: <dbg> [1729014321.424409] [qrtr://0]    test (1)
ModemManager[7832]: <dbg> [1729014321.424474] [qrtr://0]    unknown [0x0033] (1)
ModemManager[7832]: <dbg> [1729014321.424540] [qrtr://0]    mfs (1)
ModemManager[7832]: <dbg> [1729014321.424609] [qrtr://0]    tmd (1)
ModemManager[7832]: <dbg> [1729014321.424686] [qrtr://0]    ts (1)
ModemManager[7832]: <dbg> [1729014321.424754] [qrtr://0]    time (1)
ModemManager[7832]: <dbg> [1729014321.424820] [qrtr://0]    pdc (1)
ModemManager[7832]: <dbg> [1729014321.424884] [qrtr://0]    unknown [0x0031] (1)
ModemManager[7832]: <dbg> [1729014321.424949] [qrtr://0]    unknown [0x0036] (1)
ModemManager[7832]: <dbg> [1729014321.425018] [qrtr://0]    sar (1)
ModemManager[7832]: <dbg> [1729014321.425081] [qrtr://0]    unknown [0x004a] (1)
ModemManager[7832]: <dbg> [1729014321.425152] [qrtr://0]    unknown [0x1002] (0)
ModemManager[7832]: <dbg> [1729014321.425215] [qrtr://0]    coex (1)
ModemManager[7832]: <dbg> [1729014321.425279] [qrtr://0]    rfrpe (1)
ModemManager[7832]: <dbg> [1729014321.425343] [qrtr://0]    unknown [0x0037] (1)
ModemManager[7832]: <dbg> [1729014321.425409] [qrtr://0]    voice (2)
ModemManager[7832]: <dbg> [1729014321.425474] [qrtr://0]    nas (1)
ModemManager[7832]: <dbg> [1729014321.425544] [qrtr://0]    pbm (1)
ModemManager[7832]: <dbg> [1729014321.425612] [qrtr://0]    cat2 (2)
ModemManager[7832]: <dbg> [1729014321.425687] [qrtr://0]    uim (1)
ModemManager[7832]: <dbg> [1729014321.425757] [qrtr://0]    dpm (1)
ModemManager[7832]: <dbg> [1729014321.425858] [qrtr://0]    wds (1)
ModemManager[7832]: <dbg> [1729014321.425930] [qrtr://0]    qos (1)
ModemManager[7832]: <dbg> [1729014321.425999] [qrtr://0]    wda (1)
ModemManager[7832]: <dbg> [1729014321.426065] [qrtr://0]    auth (1)
ModemManager[7832]: <dbg> [1729014321.426133] [qrtr://0]    at (1)
ModemManager[7832]: <dbg> [1729014321.426201] [qrtr://0]    csvt (1)
ModemManager[7832]: <dbg> [1729014321.426269] [qrtr://0]    unknown [0x004d] (1)
ModemManager[7832]: <dbg> [1729014321.426336] [qrtr://0]    wms (1)
ModemManager[7832]: <dbg> [1729014321.426405] [qrtr://0]    dsd (1)
ModemManager[7832]: <dbg> [1729014321.426470] [qrtr://0]    dms (1)
ModemManager[7832]: <dbg> [1729014321.426533] [qrtr://0]    unknown [0x0030] (1)
ModemManager[7832]: <dbg> [1729014321.426596] [qrtr://0]    unknown [0x0044] (1)
ModemManager[7832]: <dbg> [1729014321.426689] [qrtr://0]    unknown [0x0049] (1)
ModemManager[7832]: <dbg> [1729014321.426756] [qrtr://0]    unknown [0x004e] (1)
ModemManager[7832]: <dbg> [1729014321.426823] [qrtr://0]    unknown [0x004b] (1)
ModemManager[7832]: <dbg> [1729014321.426889] [qrtr://0]    loc (2)
ModemManager[7832]: <dbg> [1729014321.426957] [qrtr://0]    unknown [0x0047] (1)
ModemManager[7832]: <dbg> [1729014321.427025] [qrtr://0]    unknown [0x0033] (1)
ModemManager[7832]: <dbg> [1729014321.427092] [qrtr://0]    unknown [0x0045] (1)
ModemManager[7832]: <dbg> [1729014321.427192] [qrtr0/qmi] QMI port open operation finished successfully
ModemManager[7832]: <dbg> [1729014321.427266] [qrtr0/probe] port is QMI-capable
ModemManager[7832]: <dbg> [1729014321.427481] [plugin-manager] task 1,qrtr0: found best plugin for port (qcom-soc)
ModemManager[7832]: <dbg> [1729014321.427554] [plugin-manager] task 1,qrtr0: finished in '2.010373' seconds
ModemManager[7832]: <dbg> [1729014321.427626] [plugin-manager] task 1,qrtr0: found best plugin: qcom-soc
ModemManager[7832]: <dbg> [1729014321.427730] [plugin-manager] task 1: no more ports to probe
ModemManager[7832]: <dbg> [1729014321.427805] [plugin-manager] task 1: all port probings completed, but not reached min probing time yet
ModemManager[7832]: <dbg> [1729014323.182758] [plugin-manager] task 0: min probing time elapsed
ModemManager[7832]: <dbg> [1729014323.182868] [plugin-manager] task 0: still 1 running probes (0 active): wlan0
ModemManager[7832]: <dbg> [1729014323.182928] [plugin-manager] task 0: no active tasks to probe
ModemManager[7832]: <dbg> [1729014323.182989] [plugin-manager] task 0,wlan0: deferred task completed, no suggested plugin
ModemManager[7832]: <dbg> [1729014323.183055] [plugin-manager] task 0,wlan0: finished in '4.002229' seconds
ModemManager[7832]: <dbg> [1729014323.183130] [plugin-manager] task 0,wlan0: not supported by any plugin
ModemManager[7832]: <dbg> [1729014323.183200] [device /sys/devices/platform/soc@0/18800000.wifi] fully ignoring port wlan0 from now on
ModemManager[7832]: <dbg> [1729014323.183271] [plugin-manager] task 0: no more ports to probe
ModemManager[7832]: <dbg> [1729014323.183337] [plugin-manager] task 0: finished in '4.002803' seconds
ModemManager[7832]: <msg> [1729014323.183415] [base-manager] couldn't check support for device '/sys/devices/platform/soc@0/18800000.wifi': not supported by any plugin
ModemManager[7832]: <dbg> [1729014323.418027] [plugin-manager] task 1: min probing time elapsed
ModemManager[7832]: <dbg> [1729014323.418130] [plugin-manager] task 1: no more ports to probe
ModemManager[7832]: <dbg> [1729014323.418194] [plugin-manager] task 1: finished in '4.001337' seconds
ModemManager[7832]: <msg> [1729014323.418277] [device qcom-soc] creating modem with plugin 'qcom-soc' and '1' ports
ModemManager[7832]: <dbg> [1729014323.418346] [plugin/qcom-soc] (qcom-soc) Qualcomm SoC modem found...
ModemManager[7832]: <dbg> [1729014323.420788] [qrtr0/qmi] port monitoring enabled in QMI port
ModemManager[7832]: <dbg> [1729014323.420871] [modem0] port 'qrtr/qrtr0' grabbed
ModemManager[7832]: <dbg> [1729014323.420949] [modem0] cleaning up port 'qrtr/qrtr0'...
ModemManager[7832]: <dbg> [1729014323.421043] [modem0] completely disposed
ModemManager[7832]: <wrn> [1729014323.421115] [base-manager] couldn't create modem for device 'qcom-soc': Failed to find a net port in the QMI modem

denysvitali avatar Oct 15 '24 17:10 denysvitali