xmm7360 / xmm7360-pci

PCI driver for Fibocom L850-GL modem based on Intel XMM7360 modem
408 stars 82 forks source link

Issues with Thinkpad X1 Yoga 4th Gen #10

Closed Gottox closed 4 years ago

Gottox commented 4 years ago

Thanks for your awesome work! Unfortunately I was unable to get the modem to work on my Thinkpad X1 Yoga 4th Gen.

dmesg

[   77.671574] xmm7360: loading out-of-tree module taints kernel.
[   77.672659] xmm7360 0000:02:00.0: enabling device (0000 -> 0002)
[   77.673618] xmm7360 0000:02:00.0: modem is ready

Console Output:

~/src/xmm7360-pci(master ✗) sudo python3 rpc/open_xdatachannel.py
RPC executing UtaMsSmsInit
b'1600000002040000001602040000003011000100020400000000'
response: 0x0
RPC executing UtaMsCbsInit
b'1600000002040000001602040000002511000100020400000000'
response: 0x0
RPC executing UtaMsNetOpen
b'1600000002040000001602040000005311000100020400000000'
response: 0x0
RPC executing UtaMsCallCsInit
b'1600000002040000001602040000002411000100020400000000'
response: 0x0
RPC executing UtaMsCallPsInitialize
b'1600000002040000001602040000003a11000100020400000000'
response: 0x0
RPC executing UtaMsSsInit
b'1600000002040000001602040000002611000100020400000000'
response: 0x0
RPC executing UtaMsSimOpenReq
b'1600000002040000001602040000000111000100020400000000'
response: 0x0
RPC executing CsiFccLockQueryReq
b'1c00000002040000001c02040000018e11000101020411000101020400000000'
async_ack: 0x0
response: 0x0, 0x0, 0x2
FCC lock: state 0 mode 2
RPC executing CsiFccLockGenChallengeReq
b'1c00000002040000001c02040000019011000101020411000101020400000000'
async_ack: 0x0
response: 0x0, 0x58b728e7
RPC executing CsiFccLockVerChallengeReq
b'1c00000002040000001c02040000019211000101020411000101020441701c8f'
async_ack: 0x0
response: 0x1
RPC executing UtaModeSetReq
b'2200000002040000002202040000012f1100010002040000000002040000000f020400000001'
response: 0x0
RPC executing UtaMsCallPsAttachApnConfigReq
b'e11300000204000013e10204000001af110001010204110001010201005582010102040000010402040000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000204000000005541020400000042020400000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000554102040000004102040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005581fa0204000000fa020400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000201005581fa0204000000fc0204000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000202000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000055140204000000140204000000000000000000000000000000000000000000000000020400000000556502040000006802040000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005582010102040000010402040000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000204000000005541020400000042020400000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000554102040000004102040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005581fa0204000000fa020400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000201005581fa0204000000fc0204000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000202000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000002040000000055140204000000140204000000000000000000000000000000000000000000000000020400000000556502040000006802040000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005582010102040000010402040000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000204000000005541020400000042020400000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000554102040000004102040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005581fa0204000000fa020400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000201005581fa0204000000fc020400000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020200000204000000000204000000000204000000000204000000000204000000010204000000000204000000000204000000000204000000000204000000000204000000000204000000000204000000010204000000000204000000000204000004040204000000010204000000000204000000010204000000000204000000005514020400000014020400000000000000000000000000000000000000000000000002040000000355650204000000680204000000037765622e766f6461666f6e652e646500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005582010102040000010402040000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000204000000005541020400000042020400000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000554102040000004102040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005581fa0204000000fa020400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000201005581fa0204000000fc020400000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020200000204000000000204000000000204000000000204000000000204000000010204000000000204000000000204000000000204000000000204000000000204000000000204000000000204000000010204000000000204000000000204000004040204000000010204000000000204000000010204000000000204000000005514020400000014020400000000000000000000000000000000000000000000000002040000000355650204000000670204000000027765622e766f6461666f6e652e646500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020103020400000000'
async_ack: 0x0
response: 0x0, 0x0, 0x0
RPC executing UtaMsNetAttachReq
b'4500000002040000004502040000005c110001010204110001010201000204000000000204000000000204000000000204000000000202ffff0202ffff020400000000020400000000'
unsolicited: UtaMsSsLcsCapabilitiesIndCb: 0x0, 0x1, 0x10, 0x10, 0x10, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0
async_ack: 0x0
unsolicited: UtaMsNetExtBandStatusIndCb: 0x0, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x0, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x32, 0x5b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x100, 0x3a0f18df, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x100, 0x3a0f18df, 0x32, 0x32, 0x32, 0x33, 0x32, 0x35, 0x32, 0x36, 0x32, 0x39, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x5, 0x35, 0x32, 0x35, 0x33, 0x35, 0x35, 0x35, 0x36, 0x35, 0x39, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x4b, 0x5, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x0
unsolicited: UtaMsNetFdConfigIndCb: 0x0, 0x1, 0xff, 0x0, 0x0, 0x0, 0x5, 0x4, 0x0
unsolicited: UtaMsCpsSetModeIndCb: 0x0, 0x0, 0x0, 0x1, 0x0
unsolicited: UtaMsNetGprsClassIndCb: 0x0, 0x3, 0x1, 0x0
unknown: 0x1, 0x0, 0xf
unsolicited: UtaMsSimCardIndCb: 0x0, 0x15, 0xff, 0x1, 0x3, 0x0, bytearray(b';\x9e\x96\x80\x1f\xc7\x801\xe0s\xfe!\x1bf\xd0\x01\xa0t\x10\x00\xc5'), 0x0
unsolicited: UtaMsSimApplicationIndCb: 0x0, 0x40, bytearray(b'\xa0\x00\x00\x00\x87\x10\x02\xff\xff\xff\xff\x89\x00\x00\x00\x00'), 0xc, 0x0, 0x0, bytearray(b'b>\x82\x02x!\x84\x0c\xa0\x00\x00\x00\x87\x10\x02\xff\xff\xff\xff\x89\xa5\x11\x80\x01q\x81\x03\x01\n2\x82\x01\n\x83\x04\x00\x01Z\x0c\x8a\x01\x05\x8b\x03/\x06\x03\xc6\t\x90\x01\xc0\x83\x01\x01\x83\x01\x81\x81\x04\x00\x00\x0fN'), 0x0
unsolicited: UtaMsNetIsAttachAllowedIndCb: 0x0, 0x0, 0x0, 0x0
unsolicited: UtaMsSimInfoIndCb: 0x0, 0x0, 0x3, 0x0, 0x2fe2, bytearray(b'de'), bytearray(b'en'), bytearray(b'\xff\xff'), bytearray(b'\x00\x00\x00\x02'), 0xff, 0xa, 0xa, 0x3, 0x3, 0x1, 0x1, 0xff, 0x0, bytearray(b'\x98\x94\x02R\x91\x06a\x97\x95\x04'), 0x3, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x2, 0x1, 0x2, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x3, 0x1, 0x3, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x4, 0x1, 0x4, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x5, 0x1, 0x5, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x6, 0x1, 0x6, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x7, 0x1, 0x7, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x8, 0x1, 0x8, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x9, 0x1, 0x9, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0xa, 0x1, 0xa, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0xb, 0x1, 0xb, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0xc, 0x1, 0xc, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0xd, 0x1, 0xd, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0xe, 0x1, 0xe, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0xf, 0x1, 0xf, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x10, 0x1, 0x10, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x11, 0x1, 0x11, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x12, 0x1, 0x12, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x13, 0x1, 0x13, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x14, 0x1, 0x14, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x15, 0x1, 0x15, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x16, 0x1, 0x16, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x17, 0x1, 0x17, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x18, 0x1, 0x18, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x19, 0x1, 0x19, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x1a, 0x1, 0x1a, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x1b, 0x1, 0x1b, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x1c, 0x1, 0x1c, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x1d, 0x1, 0x1d, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x1e, 0x1, 0x1e, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x1f, 0x1, 0x1f, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x20, 0x1, 0x20, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x21, 0x1, 0x21, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x22, 0x1, 0x22, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x23, 0x1, 0x23, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x24, 0x1, 0x24, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x25, 0x1, 0x25, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x26, 0x1, 0x26, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x27, 0x1, 0x27, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x28, 0x1, 0x28, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x29, 0x1, 0x29, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x2a, 0x1, 0x2a, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x2b, 0x1, 0x2b, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x2c, 0x1, 0x2c, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x2d, 0x1, 0x2d, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x2e, 0x1, 0x2e, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x2f, 0x1, 0x2f, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0xb, 0x91, 0x30, 0x1, 0x30, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0x2004, 0x26, 0x10, 0x91, 0x31, 0x1, 0x31, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkProactiveCommandIndCb: 0x0, bytearray(b'\xd0\x0e\x81\x03\x01\x05\x00\x82\x02\x81\x82\x99\x03\x01\x02\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'), 0x10, 0x32, 0x1, 0x0
unsolicited: UtaMsSimTkTerminalResponseIndCb: 0x0, 0x0, 0xff, 0x5, 0x4e, 0x91, 0x32, 0x0, 0x32, 0x1, 0x0, 0x0
unsolicited: UtaMsSimTkProactiveCommandIndCb: 0x0, bytearray(b'\xd0L\x81\x03\x01%\x00\x82\x02\x81\x82\x85\x11Vodafone Services\x8f\x10\x80SMS-Infodienste\x8f\x10\x81MMS-Infodienste\x8f\n\x82MobileFun\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'), 0x4e, 0x33, 0x1, 0x0
unsolicited: UtaMsNetCellInfoIndCb: 0x0, 0x0, 0x0, 0xffff, 0x0, 0x32, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0xffffffff, 0x0, 0xffff, 0xffff, 0x0
unsolicited: UtaMsNetCellChangeIndCb: 0x0, 0x1944e43, 0x0
unsolicited: UtaMsNetCellInfoIndCb: 0x0, 0x0, 0x0, 0xffff, 0x0, 0x32, 0x2, 0x0, 0x2, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaea0, 0x1944e43, 0x0, 0x3, 0x106, 0x0
response: 0x0, 0xffffffff, 0x5, 0x2, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x2, 0x1, 0x0
Attach failed - waiting to see if we just weren't ready
unsolicited: UtaMsNetGprsClassIndCb: 0x0, 0x2, 0x3, 0x0
unsolicited: UtaMsNetRegistrationInfoIndCb: 0x0, 0x0, 0x0, 0x2, 0x106, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xffff, 0xffffffff, 0xffff, 0xffff, 0x0, 0x0, 0xfe, 0xfffe, 0x0, 0xffff, 0xffff, 0xfffe, 0x0, 0xffff, 0xffff, 0x0, 0x0, 0x32, 0x2, 0x0, 0x3, 0x106, 0x0, 0x0, 0xff, 0xc, 0x5, 0xff, 0x1, 0x2, 0x0
unsolicited: UtaMsNetIsAttachAllowedIndCb: 0x0, 0xff, 0x1, 0x0
RPC executing UtaMsNetAttachReq
b'4500000002040000004502040000005c110001010204110001010201000204000000000204000000000204000000000204000000000202ffff0202ffff020400000000020400000000'
unsolicited: UtaMsNetCellInfoIndCb: 0x0, 0x0, 0x0, 0xffff, 0x0, 0x32, 0x2, 0x0, 0x2, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xaea0, 0x1944e43, 0x0, 0x3, 0x106, 0x0
async_ack: 0x0
unsolicited: UtaMsNetIsAttachAllowedIndCb: 0x0, 0x0, 0x0, 0x0
unsolicited: UtaMsNetCellInfoIndCb: 0x0, 0x0, 0x0, 0xffff, 0x0, 0x4b, 0x2, 0x0, 0x2, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xaea0, 0x1944e43, 0x0, 0x3, 0x106, 0x0
unsolicited: UtaMsNetCellChangeIndCb: 0x0, 0xffffffff, 0x0
unsolicited: UtaMsNetCellInfoIndCb: 0x0, 0x0, 0x0, 0xffff, 0x0, 0x32, 0x2, 0x0, 0x2, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xaea0, 0x1944e43, 0x0, 0x3, 0x106, 0x0
unsolicited: UtaMsNetCellChangeIndCb: 0x0, 0x1944e43, 0x0
unsolicited: UtaMsNetCellInfoIndCb: 0x0, 0x0, 0x0, 0xffff, 0x0, 0x32, 0x2, 0x0, 0x2, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xaea0, 0x1944e43, 0x0, 0x3, 0x106, 0x0
response: 0x0, 0xffffffff, 0x2, 0x2, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x2, 0x1, 0x0
Attach failed again, giving up

git diff

diff --git a/rpc/open_xdatachannel.py b/rpc/open_xdatachannel.py
index 9042838..0edb93f 100755
--- a/rpc/open_xdatachannel.py
+++ b/rpc/open_xdatachannel.py
@@ -22,7 +22,7 @@ rpc.do_fcc_unlock(r)
 # disable aeroplane mode if had been FCC-locked. first and second args are probably don't-cares
 r.execute('UtaModeSetReq', rpc.pack('LLL', 0, 15, 1))

-r.execute('UtaMsCallPsAttachApnConfigReq', rpc.pack_UtaMsCallPsAttachApnConfigReq("telstra.internet"), is_async=True)
+r.execute('UtaMsCallPsAttachApnConfigReq', rpc.pack_UtaMsCallPsAttachApnConfigReq("web.vodafone.de"), is_async=True)

 attach = r.execute('UtaMsNetAttachReq', rpc.pack_UtaMsNetAttachReq(), is_async=True)
 _, status = rpc.unpack('nn', attach['body'])
abrasive commented 4 years ago

Thanks for testing! Time for some sketchy debugging of ordering.

Does it work if you try running open_xdatachannel.py multiple times?

Does adding a delay help - say 20 seconds after UtaModeSetReq?

Gottox commented 4 years ago

Does it work if you try running open_xdatachannel.py multiple times?

No change:

Does adding a delay help - say 20 seconds after UtaModeSetReq?

Nope.

I had some issues with the usb-mode switch too, Could it be an hardware issue? Also how do I find out the firmware version?

abrasive commented 4 years ago

I've added some more stuff:

My firmware version is 18500.5001.11.02.22.93. I have booted the modem with Windows, which once it detected my carrier, flashed some supplemental NVRAM variables. But yours connected in USB mode, no?

After running the init code in rpc/rpc.py, you could also try bringing up a PPP link - see the test.sh and test.chat provided up until 95e89c6

Gottox commented 4 years ago
Firmware version: bytearray(b'18500.5001.00.01.20.86')

Unfortunately, I don't have windows on my notebook anymore. Is there a way to update it with linux?

m7mdcc commented 4 years ago

@Gottox , There is tool that work for me on windows , they have linux version also .. https://github.com/projectceladon/tools you need first to disconnect the module from your device then pass firmware file to Downloadtool executable file included with this package after that connect the module to your device see this : https://whrl.pl/RfXQlT

Gottox commented 4 years ago

@m7mdcc cool! I'm able to extract the *.flz/*.fls files from the Lenovo Download Page But I'm not sure how to install the using the tool.

abrasive commented 4 years ago

When you reset the modem (eg via ACPI) it goes into bootloader mode for 5 sec and shows up as a USB device. 8086:07f5 if I recall correctly

Gottox commented 4 years ago

Here be dragons.

Gottox commented 4 years ago
root@rootkit:/opt/intel/platformflashtoollite/lib# ../bin/downloadTool /tool/18600.5001.00.35.00.29_5005.04_Secureboot.fls; ls /dev/bus/usb/001/

 FLS Download Tool v.2.89 (FLS Download Library v.5.57)

 Started on: Tue Jan 14 10:13:27 2020

  18600.5001.00.35.00.29_5005.04_Secureboot.fls (PSI, SLB, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Code, Code, Code, Code, Code, Code, Code, Code, Code, Code, Code, Code, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, Cust, CodeCode) (NAND)
Booting '/tool/18600.5001.00.35.00.29_5005.04_Secureboot.fls', memclass: PSI
  -> Please reboot your phone device <-  
libusb: error [_get_usbfs_fd] File doesn't exist, wait 10 ms and try again
libusb: error [_get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/019: No such file or directory
Error> [1578996810.992] libusb_open_wrapper:983: Error opening device (001/019) -4: Device disconnected

Error> [1578996810.992] GenericUSB_open:928:  Could not open device 1 :'(

Error> [1578996810.992] GenericUSB_open:934:  Error 2: No such file or directory

Error> Communication error 2. Line 937
Segmentation fault
001  002  003  004  005  006  007  008  009  010  011
m7mdcc commented 4 years ago

Do you have 860 or 850 ?

for 850 go to : https://support.lenovo.com/us/en/downloads/DS503062 ..

try with only : ../bin/downloadTool /tool/pathtoflsfile

run the command before reset the module

Gottox commented 4 years ago

I'm retrying that later with fedora instead of debian

Gottox commented 4 years ago

@m7mdcc same with 850. I had no time to boot to fedora yet.

I modified the usb modeswitch script to only reset the modem:

diff --git a/xmm2usb b/xmm2usb
index 67a75ad..5327d77 100755
--- a/xmm2usb
+++ b/xmm2usb
@@ -30,15 +30,14 @@ for path in `find /sys/devices/pci0000:00 -name vendor`; do
        modprobe acpi_call || \
                die "Could not load acpi_call module. Is it missing?"

-       printf "Disabling PCIe link...\n" >&2
-       setpci -s "${bridge_id}" "CAP_EXP+10.w=0052" || \
-               die "Could not run setpci"
+       #printf "Disabling PCIe link...\n" >&2
+       #setpci -s "${bridge_id}" "CAP_EXP+10.w=0052" || \
+       #       die "Could not run setpci"

        printf "%s" "${acpi_path}._RST" > /proc/acpi/call || \
                die "Could not reset PCI"

        echo "OK!"
-
        exit 0
 done
Gottox commented 4 years ago

I'm not able to update the firmware atm. I think I need a windows box for that. will try that at the end of the week.

m7mdcc commented 4 years ago

@Gottox , Sorry if that doesn't help you in your current build . but can you look here may its help ? https://www.quectel.com/UploadImage/Downlad/Quectel_WCDMA_UGxx_DownloadTool_Linux_User_Guide_V1.2.pdf

abrasive commented 4 years ago

@Gottox, did you succeed in bringing it up in USB mode with the same SIM card?

Gottox commented 4 years ago

Yes, but actually it took many reboots to do so.

And since VoidLinux updated NetworkManager to 1.22 I was unable to connect, but that looks like a different issue to me.

Gottox commented 4 years ago

To answer @m7mdcc's question, it looks like the 860 one, at least the compatibility list on the lenovo page states the support for my hardware.

Gottox commented 4 years ago

Just to make sure: The firmware update can be done plainly through USB? - I have a windows PC and an m.2 to usb connector that works with this particular card.

abrasive commented 4 years ago

Hmm, yes, but it's not clear whether you can do that with that setup...

There is an MBIM command you can send to the modem via USB that will kick it into bootloader mode. ModemManager can send it. The Windows driver sends the equivalent RPC calls over PCI, then does the update via USB. But the Windows driver doesn't support the main modem in USB mode, as far as I know... so the updater /might/ insist on seeing it over PCI first. Or it might just accept it if it only sees it in bootloader mode.

Gottox commented 4 years ago

Okay, I'm currently back in Ubuntu. Still unable to update the firmware. Currently downloadTool hangs: 2020-01-18 15 00 07

m7mdcc commented 4 years ago

@Gottox did you try that on windows setup ?

m7mdcc commented 4 years ago

Just to make sure: The firmware update can be done plainly through USB? - I have a windows PC and an m.2 to usb connector that works with this particular card.

I'm doing this like that . run the command then plug the m.2 to usb adapter to your pc

Okay, I'm currently back in Ubuntu. Still unable to update the firmware. Currently downloadTool hangs.

In your situation i think there is driver whos take module within updating process

Gottox commented 4 years ago

I tried it using a windows PE setup, this didn't work. I think I need a full installation.

Currently I don't have time to have the TP offline for half a day to set up windows. I think I'll do that at the beginning of February. Then I'll come back to this issue.

Gottox commented 4 years ago

Doing an upgrade under windows now. Boy, is windows awful...

Gottox commented 4 years ago

Okay, firmware is updated, but the problem persists:

 sudo python3 rpc/rpc.py | grep Firmware
Firmware version: bytearray(b'18500.5001.03.01.20.85')
Gottox commented 4 years ago

PEBCAK...

I...

I didn't disable the PIN on the card. :disappointed: