Foxconn Snapdragon X55: FCC unlock again... with different PCI ID 105b:e0bf
Hi, I have a foxconn snapdragon X55 modem with a different PCI device ID, which I can not get FCC unlock to work on. Lenovo engineers have confirmed different hardware and firmware versions for this device, and it does work under windows. Modem manager can see the modem and tries to connect to my service provider.
I tried creating a symlink to the 105b unlock script in /usr/share/ModemManager/fcc-unlock.available.d/ with no luck. I then tried manually unlocking but I am getting the error error: couldn't run Foxconn FCC authentication: QMI protocol error (17): 'MissingArgument'.
Any and all help would be appreciated.
$ ll /usr/share/ModemManager/fcc-unlock.available.d/ | grep 105b -rwx------. 1 root root 789 Apr 28 18:52 105b lrwxrwxrwx. 1 root root 4 May 14 17:53 105b:e0ab -> 105b lrwxrwxrwx. 1 root root 4 Sep 13 14:01 105b:e0bf -> 105b
$ uname -r 5.19.11-200.fc36.x86_64
$ lspci -nn | grep Foxconn 08:00.0 Wireless controller [0d40]: Foxconn International, Inc. Device [105b:e0bf]
$ sudo mmcli -m 33
General | path: /org/freedesktop/ModemManager1/Modem/33 | device id: 6c52bf6aae4c4c97dd500415f7b8f68d5d9f86f5
Hardware | manufacturer: foxconn | model: Qualcomm Snapdragon X55 5G | firmware revision: T99W175.F0.6.0.0.6.TE.010 | 020 | carrier config: Telstra | carrier config revision: 0A000F0A | h/w revision: Qualcomm Snapdragon X55 5G | supported: gsm-umts, lte, 5gnr | current: gsm-umts, lte, 5gnr | equipment id: 016147000079781
System | device: /sys/devices/pci0000:00/0000:00:1c.0/0000:08:00.0 | drivers: mhi-pci-generic | plugin: foxconn | primary port: wwan0mbim0 | ports: wwan0 (net), wwan0mbim0 (mbim), wwan0qcdm0 (qcdm)
Status | unlock retries: sim-pin2 (3) | state: disabled | power state: low | signal quality: 0% (cached)
Modes | supported: allowed: 3g; preferred: none | allowed: 4g; preferred: none | allowed: 3g, 4g; preferred: 4g | allowed: 3g, 4g; preferred: 3g | allowed: 5g; preferred: none | allowed: 4g, 5g; preferred: 5g | allowed: 4g, 5g; preferred: 4g | allowed: 3g, 5g; preferred: 5g | allowed: 3g, 5g; preferred: 3g | allowed: 3g, 4g, 5g; preferred: 5g | allowed: 3g, 4g, 5g; preferred: 4g | allowed: 3g, 4g, 5g; preferred: 3g | current: allowed: 4g; preferred: none
$ sudo qmicli -p -d /dev/wwan0mbim0 --device-open-mbim --dms-foxconn-set-fcc-authentication=00 -v [26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Opening device with flags 'proxy, mbim'... [26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] created endpoint [26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] creating MBIM device... [26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] MBIM device created [26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] opening MBIM device... [26 Oct 2022, 23:13:36] [Debug] opening device... [26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Couldn't find descriptors file, possibly not using cdc_mbim [26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Fallback to default max control message size: 4096 [26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent message... <<<<<< RAW: <<<<<< length = 92 <<<<<< data = 03:00:00:00:5C:00:00:00:01:00:00:00:01:00:00:00:00:00:00:00:83:8C:F7:FB:8D:0D:4D:7F:87:1E:D7:1D:BE:FB:B3:9B:01:00:00:00:01:00:00:00:2C:00:00:00:0C:00:00:00:1E:00:00:00:05:00:00:00:2F:00:64:00:65:00:76:00:2F:00:77:00:77:00:61:00:6E:00:30:00:6D:00:62:00:69:00:6D:00:30:00:00:00
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent message (translated)... <<<<<< Header: <<<<<< length = 92 <<<<<< type = command (0x00000003) <<<<<< transaction = 1 <<<<<< Fragment header: <<<<<< total = 1 <<<<<< current = 0 <<<<<< Contents: <<<<<< service = 'proxy-control' (838cf7fb-8d0d-4d7f-871e-d71dbefbb39b) <<<<<< cid = 'configuration' (0x00000001) <<<<<< type = 'set' (0x00000001) <<<<<< Fields: <<<<<< DevicePath = '/dev/wwan0mbim0' <<<<<< Timeout = '5'
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Received message...
RAW: length = 48 data = 03:00:00:80:30:00:00:00:01:00:00:00:01:00:00:00:00:00:00:00:83:8C:F7:FB:8D:0D:4D:7F:87:1E:D7:1D:BE:FB:B3:9B:01:00:00:00:00:00:00:00:00:00:00:00
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Received message (translated)...
Header: length = 48 type = command-done (0x80000003) transaction = 1 Fragment header: total = 1 current = 0 Contents: status error = 'None' (0x00000000) service = 'proxy-control' (838cf7fb-8d0d-4d7f-871e-d71dbefbb39b) cid = 'configuration' (0x00000001)
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent message... <<<<<< RAW: <<<<<< length = 16 <<<<<< data = 01:00:00:00:10:00:00:00:02:00:00:00:00:10:00:00
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent message (translated)... <<<<<< Header: <<<<<< length = 16 <<<<<< type = open (0x00000001) <<<<<< transaction = 2 <<<<<< Contents: <<<<<< max control transfer = 4096
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Received message...
RAW: length = 16 data = 01:00:00:80:10:00:00:00:02:00:00:00:00:00:00:00
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] MBIM device open [26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Enabling QMI indications via MBIM... [26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent message... <<<<<< RAW: <<<<<< length = 84 <<<<<< data = 03:00:00:00:54:00:00:00:03:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:13:00:00:00:01:00:00:00:24:00:00:00:01:00:00:00:0C:00:00:00:18:00:00:00:D1:A3:0B:C2:F9:7A:6E:43:BF:65:C7:E2:4F:B0:F0:D3:01:00:00:00:01:00:00:00
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent message (translated)... <<<<<< Header: <<<<<< length = 84 <<<<<< type = command (0x00000003) <<<<<< transaction = 3 <<<<<< Fragment header: <<<<<< total = 1 <<<<<< current = 0 <<<<<< Contents: <<<<<< service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df) <<<<<< cid = 'device-service-subscribe-list' (0x00000013) <<<<<< type = 'set' (0x00000001) <<<<<< Fields: <<<<<< EventsCount = '1' <<<<<< Events = '{ <<<<<< [0] = { <<<<<< DeviceServiceId = 'd1a30bc2-f97a-6e43-bf65-c7e24fb0f0d3' <<<<<< CidsCount = '1' <<<<<< Cids = '1' <<<<<< }, <<<<<< }'
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Received message...
RAW: length = 84 data = 03:00:00:80:54:00:00:00:03:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:13:00:00:00:00:00:00:00:24:00:00:00:01:00:00:00:0C:00:00:00:18:00:00:00:D1:A3:0B:C2:F9:7A:6E:43:BF:65:C7:E2:4F:B0:F0:D3:01:00:00:00:01:00:00:00
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Received message (translated)...
Header: length = 84 type = command-done (0x80000003) transaction = 3 Fragment header: total = 1 current = 0 Contents: status error = 'None' (0x00000000) service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df) cid = 'device-service-subscribe-list' (0x00000013) Fields: EventsCount = '1' Events = '{ [0] = { DeviceServiceId = 'd1a30bc2-f97a-6e43-bf65-c7e24fb0f0d3' CidsCount = '1' Cids = '1' }, }'
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] enabled QMI indications via MBIM [26 Oct 2022, 23:13:36] [Debug] QMI Device at '/dev/wwan0mbim0' ready [26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Assuming service 'dms' is supported... [26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Allocating new client ID... [26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent message... <<<<<< RAW: <<<<<< length = 16 <<<<<< data = 01:0F:00:00:00:00:00:01:22:00:04:00:01:01:00:02
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent generic request (translated)... <<<<<< QMUX: <<<<<< length = 15 <<<<<< flags = 0x00 <<<<<< service = "ctl" <<<<<< client = 0 <<<<<< QMI: <<<<<< flags = "none" <<<<<< transaction = 1 <<<<<< tlv_length = 4 <<<<<< message = "Allocate CID" (0x0022) <<<<<< TLV: <<<<<< type = "Service" (0x01) <<<<<< length = 1 <<<<<< value = 02 <<<<<< translated = dms
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent message... <<<<<< RAW: <<<<<< length = 64 <<<<<< data = 03:00:00:00:40:00:00:00:04:00:00:00:01:00:00:00:00:00:00:00:D1:A3:0B:C2:F9:7A:6E:43:BF:65:C7:E2:4F:B0:F0:D3:01:00:00:00:01:00:00:00:10:00:00:00:01:0F:00:00:00:00:00:01:22:00:04:00:01:01:00:02
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent message (translated)... <<<<<< Header: <<<<<< length = 64 <<<<<< type = command (0x00000003) <<<<<< transaction = 4 <<<<<< Fragment header: <<<<<< total = 1 <<<<<< current = 0 <<<<<< Contents: <<<<<< service = 'qmi' (d1a30bc2-f97a-6e43-bf65-c7e24fb0f0d3) <<<<<< cid = 'msg' (0x00000001) <<<<<< type = 'set' (0x00000001) <<<<<< Fields: <<<<<< QmiMsg = '01:0f:00:00:00:00:00:01:22:00:04:00:01:01:00:02'
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Received message...
RAW: length = 72 data = 03:00:00:80:48:00:00:00:04:00:00:00:01:00:00:00:00:00:00:00:D1:A3:0B:C2:F9:7A:6E:43:BF:65:C7:E2:4F:B0:F0:D3:01:00:00:00:00:00:00:00:18:00:00:00:01:17:00:80:00:00:01:01:22:00:0C:00:02:04:00:00:00:00:00:01:02:00:02:02
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Received message (translated)...
Header: length = 72 type = command-done (0x80000003) transaction = 4 Fragment header: total = 1 current = 0 Contents: status error = 'None' (0x00000000) service = 'qmi' (d1a30bc2-f97a-6e43-bf65-c7e24fb0f0d3) cid = 'msg' (0x00000001) Fields: QMUX = '01:17:00:80:00:00:01:01:22:00:0c:00:02:04:00:00:00:00:00:01:02:00:02:02'
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Received message... <<<<<< RAW: <<<<<< length = 24 <<<<<< data = 01:17:00:80:00:00:01:01:22:00:0C:00:02:04:00:00:00:00:00:01:02:00:02:02
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Received generic response (translated)... <<<<<< QMUX: <<<<<< length = 23 <<<<<< flags = 0x80 <<<<<< service = "ctl" <<<<<< client = 0 <<<<<< QMI: <<<<<< flags = "response" <<<<<< transaction = 1 <<<<<< tlv_length = 12 <<<<<< message = "Allocate CID" (0x0022) <<<<<< TLV: <<<<<< type = "Result" (0x02) <<<<<< length = 4 <<<<<< value = 00:00:00:00 <<<<<< translated = SUCCESS <<<<<< TLV: <<<<<< type = "Allocation Info" (0x01) <<<<<< length = 2 <<<<<< value = 02:02 <<<<<< translated = [ service = 'dms' cid = '2' ]
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Registered 'dms' (version unknown) client with ID '2' [26 Oct 2022, 23:13:36] [Debug] Asynchronously running Foxconn FCC authentication... [26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent message... <<<<<< RAW: <<<<<< length = 17 <<<<<< data = 01:10:00:00:02:02:00:01:00:71:55:04:00:01:01:00:00
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent vendor-specific (0x0489) request (translated)... <<<<<< QMUX: <<<<<< length = 16 <<<<<< flags = 0x00 <<<<<< service = "dms" <<<<<< client = 2 <<<<<< QMI: <<<<<< flags = "none" <<<<<< transaction = 1 <<<<<< tlv_length = 4 <<<<<< message = "Foxconn Set FCC Authentication" (0x5571) <<<<<< TLV: <<<<<< type = "Value" (0x01) <<<<<< length = 1 <<<<<< value = 00 <<<<<< translated = 0
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent message... <<<<<< RAW: <<<<<< length = 65 <<<<<< data = 03:00:00:00:41:00:00:00:05:00:00:00:01:00:00:00:00:00:00:00:D1:A3:0B:C2:F9:7A:6E:43:BF:65:C7:E2:4F:B0:F0:D3:01:00:00:00:01:00:00:00:11:00:00:00:01:10:00:00:02:02:00:01:00:71:55:04:00:01:01:00:00
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent message (translated)... <<<<<< Header: <<<<<< length = 65 <<<<<< type = command (0x00000003) <<<<<< transaction = 5 <<<<<< Fragment header: <<<<<< total = 1 <<<<<< current = 0 <<<<<< Contents: <<<<<< service = 'qmi' (d1a30bc2-f97a-6e43-bf65-c7e24fb0f0d3) <<<<<< cid = 'msg' (0x00000001) <<<<<< type = 'set' (0x00000001) <<<<<< Fields: <<<<<< QmiMsg = '01:10:00:00:02:02:00:01:00:71:55:04:00:01:01:00:00'
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Received message...
RAW: length = 68 data = 03:00:00:80:44:00:00:00:05:00:00:00:01:00:00:00:00:00:00:00:D1:A3:0B:C2:F9:7A:6E:43:BF:65:C7:E2:4F:B0:F0:D3:01:00:00:00:00:00:00:00:14:00:00:00:01:13:00:80:02:02:02:01:00:71:55:07:00:02:04:00:01:00:11:00
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Received message (translated)...
Header: length = 68 type = command-done (0x80000003) transaction = 5 Fragment header: total = 1 current = 0 Contents: status error = 'None' (0x00000000) service = 'qmi' (d1a30bc2-f97a-6e43-bf65-c7e24fb0f0d3) cid = 'msg' (0x00000001) Fields: QMUX = '01:13:00:80:02:02:02:01:00:71:55:07:00:02:04:00:01:00:11:00'
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Received message... <<<<<< RAW: <<<<<< length = 20 <<<<<< data = 01:13:00:80:02:02:02:01:00:71:55:07:00:02:04:00:01:00:11:00
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Received vendor-specific (0x0489) response (translated)... <<<<<< QMUX: <<<<<< length = 19 <<<<<< flags = 0x80 <<<<<< service = "dms" <<<<<< client = 2 <<<<<< QMI: <<<<<< flags = "response" <<<<<< transaction = 1 <<<<<< tlv_length = 7 <<<<<< message = "Foxconn Set FCC Authentication" (0x5571) <<<<<< TLV: <<<<<< type = "Result" (0x02) <<<<<< length = 4 <<<<<< value = 01:00:11:00 <<<<<< translated = FAILURE: MissingArgument
error: couldn't run Foxconn FCC authentication: QMI protocol error (17): 'MissingArgument' [26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Releasing 'dms' client with flags 'release-cid'... [26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Unregistered 'dms' client with ID '2' [26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent message... <<<<<< RAW: <<<<<< length = 17 <<<<<< data = 01:10:00:00:00:00:00:02:23:00:05:00:01:02:00:02:02
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent generic request (translated)... <<<<<< QMUX: <<<<<< length = 16 <<<<<< flags = 0x00 <<<<<< service = "ctl" <<<<<< client = 0 <<<<<< QMI: <<<<<< flags = "none" <<<<<< transaction = 2 <<<<<< tlv_length = 5 <<<<<< message = "Release CID" (0x0023) <<<<<< TLV: <<<<<< type = "Release Info" (0x01) <<<<<< length = 2 <<<<<< value = 02:02 <<<<<< translated = [ service = 'dms' cid = '2' ]
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent message... <<<<<< RAW: <<<<<< length = 65 <<<<<< data = 03:00:00:00:41:00:00:00:06:00:00:00:01:00:00:00:00:00:00:00:D1:A3:0B:C2:F9:7A:6E:43:BF:65:C7:E2:4F:B0:F0:D3:01:00:00:00:01:00:00:00:11:00:00:00:01:10:00:00:00:00:00:02:23:00:05:00:01:02:00:02:02
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent message (translated)... <<<<<< Header: <<<<<< length = 65 <<<<<< type = command (0x00000003) <<<<<< transaction = 6 <<<<<< Fragment header: <<<<<< total = 1 <<<<<< current = 0 <<<<<< Contents: <<<<<< service = 'qmi' (d1a30bc2-f97a-6e43-bf65-c7e24fb0f0d3) <<<<<< cid = 'msg' (0x00000001) <<<<<< type = 'set' (0x00000001) <<<<<< Fields: <<<<<< QmiMsg = '01:10:00:00:00:00:00:02:23:00:05:00:01:02:00:02:02'
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Received message...
RAW: length = 72 data = 03:00:00:80:48:00:00:00:06:00:00:00:01:00:00:00:00:00:00:00:D1:A3:0B:C2:F9:7A:6E:43:BF:65:C7:E2:4F:B0:F0:D3:01:00:00:00:00:00:00:00:18:00:00:00:01:17:00:80:00:00:01:02:23:00:0C:00:02:04:00:00:00:00:00:01:02:00:02:02
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Received message (translated)...
Header: length = 72 type = command-done (0x80000003) transaction = 6 Fragment header: total = 1 current = 0 Contents: status error = 'None' (0x00000000) service = 'qmi' (d1a30bc2-f97a-6e43-bf65-c7e24fb0f0d3) cid = 'msg' (0x00000001) Fields: QMUX = '01:17:00:80:00:00:01:02:23:00:0c:00:02:04:00:00:00:00:00:01:02:00:02:02'
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Received message... <<<<<< RAW: <<<<<< length = 24 <<<<<< data = 01:17:00:80:00:00:01:02:23:00:0C:00:02:04:00:00:00:00:00:01:02:00:02:02
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Received generic response (translated)... <<<<<< QMUX: <<<<<< length = 23 <<<<<< flags = 0x80 <<<<<< service = "ctl" <<<<<< client = 0 <<<<<< QMI: <<<<<< flags = "response" <<<<<< transaction = 2 <<<<<< tlv_length = 12 <<<<<< message = "Release CID" (0x0023) <<<<<< TLV: <<<<<< type = "Result" (0x02) <<<<<< length = 4 <<<<<< value = 00:00:00:00 <<<<<< translated = SUCCESS <<<<<< TLV: <<<<<< type = "Release Info" (0x01) <<<<<< length = 2 <<<<<< value = 02:02 <<<<<< translated = [ service = 'dms' cid = '2' ]
[26 Oct 2022, 23:13:36] [Debug] Client released [26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent message... <<<<<< RAW: <<<<<< length = 12 <<<<<< data = 02:00:00:00:0C:00:00:00:07:00:00:00
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Sent message (translated)... <<<<<< Header: <<<<<< length = 12 <<<<<< type = close (0x00000002) <<<<<< transaction = 7
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] Received message...
RAW: length = 16 data = 02:00:00:80:10:00:00:00:07:00:00:00:00:00:00:00
[26 Oct 2022, 23:13:36] [Debug] [/dev/wwan0mbim0] channel destroyed [26 Oct 2022, 23:13:36] [Debug] Closed