MC7455 in X220 with ModemManager 1.6.4
Aleksander Morgado
aleksander at aleksander.es
Thu Jun 8 20:56:32 UTC 2017
Hey,
>
> so my card is not listed in rfkill at all:
>
> litin at x220:~$ rfkill list all
> 0: hci0: Bluetooth
> Soft blocked: no
> Hard blocked: no
> 1: tpacpi_bluetooth_sw: Bluetooth
> Soft blocked: no
> Hard blocked: no
> 2: phy0: Wireless LAN
> Soft blocked: no
> Hard blocked: no
>
> And I have no idea why.... So I would not say that card is blocked by
> rfkill, because it seem to be not registered to rfkill at all...the fun is,
Hum, ok... no idea :/
> that it seem to be registered twice in kernel:
>
> litin at x220:~$ dmesg | grep qmi
> [ 3.247730] qmi_wwan 2-1.4:1.8: cdc-wdm0: USB WDM device
> [ 3.262419] qmi_wwan 2-1.4:1.8 wwan0: register 'qmi_wwan' at
> usb-0000:00:1d.0-1.4, WWAN/QMI device, 86:43:0f:24:2c:93
> [ 3.267585] qmi_wwan 2-1.4:1.10: cdc-wdm1: USB WDM device
> [ 3.268927] qmi_wwan 2-1.4:1.10 wwan1: register 'qmi_wwan' at
> usb-0000:00:1d.0-1.4, WWAN/QMI device, 86:43:0f:24:2c:93
> [ 3.269028] usbcore: registered new interface driver qmi_wwan
> [ 3.695620] qmi_wwan 2-1.4:1.10 wwp0s29u1u4i10: renamed from wwan1
> [ 3.734681] qmi_wwan 2-1.4:1.8 wwp0s29u1u4i8: renamed from wwan0
>
That is normal; the modem is exposing two QMI+WWAN pairs, one from
if#8 and another one from if#10.
>
> litin at x220:~$ lsusb
> Bus 002 Device 003: ID 1199:9071 Sierra Wireless, Inc.
> Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
> Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 001 Device 006: ID 04f2:b217 Chicony Electronics Co., Ltd Lenovo
> Integrated Camera (0.3MP)
> Bus 001 Device 010: ID 10d5:55a4 Uni Class Technology Co., Ltd
> Bus 001 Device 009: ID 046d:c52b Logitech, Inc. Unifying Receiver
> Bus 001 Device 008: ID 046d:c31c Logitech, Inc. Keyboard K120
> Bus 001 Device 007: ID 058f:9254 Alcor Micro Corp. Hub
> Bus 001 Device 005: ID 17ef:100a Lenovo ThinkPad Mini Dock Plus Series 3
> Bus 001 Device 004: ID 0a5c:217f Broadcom Corp. BCM2045B (BDC-2.1)
> Bus 001 Device 003: ID 147e:2016 Upek Biometric Touchchip/Touchstrip
> Fingerprint Sensor
> Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
>
>
> litin at x220:~$ lsusb -v
>
> Bus 002 Device 003: ID 1199:9071 Sierra Wireless, Inc.
> Couldn't open device, some information will be missing
> Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.10
> bDeviceClass 0 (Defined at Interface level)
> bDeviceSubClass 0
> bDeviceProtocol 0
> bMaxPacketSize0 64
> idVendor 0x1199 Sierra Wireless, Inc.
> idProduct 0x9071
> bcdDevice 0.06
> iManufacturer 1
> iProduct 2
> iSerial 3
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 190
> bNumInterfaces 5
> bConfigurationValue 1
> iConfiguration 0
> bmAttributes 0xa0
> (Bus Powered)
> Remote Wakeup
> MaxPower 500mA
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 2
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 255 Vendor Specific Subclass
> bInterfaceProtocol 255 Vendor Specific Protocol
> iInterface 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x01 EP 1 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 2
> bAlternateSetting 0
> bNumEndpoints 3
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 0
> bInterfaceProtocol 0
> iInterface 0
> ** UNRECOGNIZED: 05 24 00 10 01
> ** UNRECOGNIZED: 05 24 01 00 00
> ** UNRECOGNIZED: 04 24 02 02
> ** UNRECOGNIZED: 05 24 06 00 00
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x83 EP 3 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x000a 1x 10 bytes
> bInterval 9
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x82 EP 2 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x02 EP 2 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 3
> bAlternateSetting 0
> bNumEndpoints 3
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 0
> bInterfaceProtocol 0
> iInterface 0
> ** UNRECOGNIZED: 05 24 00 10 01
> ** UNRECOGNIZED: 05 24 01 00 00
> ** UNRECOGNIZED: 04 24 02 02
> ** UNRECOGNIZED: 05 24 06 00 00
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x85 EP 5 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x000a 1x 10 bytes
> bInterval 9
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x84 EP 4 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x03 EP 3 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 8
> bAlternateSetting 0
> bNumEndpoints 3
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 255 Vendor Specific Subclass
> bInterfaceProtocol 255 Vendor Specific Protocol
> iInterface 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x87 EP 7 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0008 1x 8 bytes
> bInterval 9
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x86 EP 6 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x04 EP 4 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 10
> bAlternateSetting 0
> bNumEndpoints 3
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 255 Vendor Specific Subclass
> bInterfaceProtocol 255 Vendor Specific Protocol
> iInterface 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x89 EP 9 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0008 1x 8 bytes
> bInterval 9
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x88 EP 8 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x05 EP 5 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
>
>
>
> And that: Couldn't open device, some information will be missing seems to be
> intriguing.
>
You should have run it as root :)
>> >> >> > I did recently change modem in my Lenovo X220 running Ubuntu 16.04
>> >> >> > to
>> >> >> > MC7455 I bought from Farnell. I did add Aleksander PPA for
>> >> >> > ModemManager on
>> >> >> > Xenial: https://launchpad.net/~aleksander-m to get newer version
>> >> >> > on
>> >> >> > MM,
>> >> >> > which should hopefully support my modem. Unfortunately I found
>> >> >> > that
>> >> >> > bug
>> >> >> > which prevents MM sending FCC auth for MC7455 is still included in
>> >> >> > code in
>> >> >> > MM 1.6.4 release:
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > https://cgit.freedesktop.org/ModemManager/ModemManager/commit/?id=21f315f6d554b93e4f098cfd0e94c484a8a0c5dc
>> >> >> >
>> >> >> > I tried to backport given fix into MM source package for 1.6.4 on
>> >> >> > PPA
>> >> >> > but even I did so, I am not able to correctly pass FCC auth (
>> >> >> > whole
>> >> >> > MM debug
>> >> >> > is attached). May I please kindly ask Aleksander, would it be
>> >> >> > possible
>> >> >> > to update your PPA to MM 1.6.6 so I can try my modem with latest
>> >> >> > MM
>> >> >> > version?
>> >> >> > (maybe there is something else needed to get my modem to work
>> >> >> > correctly)
>> >> >> > Thank you so much.
>> >> >> >
>> >> >>
>> >> >> I don't think FCC auth is your problem, you're getting a "NoEffect"
>> >> >> error
>> >> >> and that means there is no need to send FCC auth:
>> >> >> ModemManager[2748]: <debug> [1496072816.201321]
>> >> >> [mm-broadband-modem-qmi.c:3024] dms_set_fcc_authentication_ready():
>> >> >> Couldn't
>> >> >> set FCC authentication: QMI protocol error (26): 'NoEffect'
>> >> >>
>> >> >>
>> >> >> > - I used Sierra flash tool under windows to flash latest FW and
>> >> >> > install
>> >> >> > drivers under Windows7 as I read some reports about images problem
>> >> >> > with card
>> >> >> > but without any efect.
>> >> >> >
>> >> >>
>> >> >> Oh, you should have used qmi-firmware-update, it works very well ;)
>> >> >
>> >> >
>> >> > Could you please check that I didn't mess fw images anyhow? Is the
>> >> > lsit
>> >> > in
>> >> > the MM debug ok? I read about similar problem where it was caused by
>> >> > some
>> >> > disagreement between fw and setting on the card...
>> >> >
>> >>
>> >> This is the response for "DMS List Stored Images":
>> >>
>> >> { [0] = '[ type = 'modem' maximum_images = '4' index_of_running_image
>> >> = '4' sublist = '{ [0] = '[ storage_index = '1' failure_count = '0'
>> >> unique_id = '{ [0] = '63 ' [1] = '95 ' [2] = '63 ' [3] = '0 ' [4] = '0
>> >> ' [5] = '0 ' [6] = '0 ' [7] = '0 ' [8] = '0 ' [9] = '0 ' [10] = '0 '
>> >> [11] = '0 ' [12] = '0 ' [13] = '0 ' [14] = '0 ' [15] = '0 '}' build_id
>> >> = '02.08.02.00_?' ] ' [1] = '[ storage_index = '2' failure_count = '0'
>> >> unique_id = '{ [0] = '63 ' [1] = '95 ' [2] = '63 ' [3] = '0 ' [4] = '0
>> >> ' [5] = '0 ' [6] = '0 ' [7] = '0 ' [8] = '0 ' [9] = '0 ' [10] = '0 '
>> >> [11] = '0 ' [12] = '0 ' [13] = '0 ' [14] = '0 ' [15] = '0 '}' build_id
>> >> = '02.05.07.00_?' ] ' [2] = '[ storage_index = '3' failure_count = '0'
>> >> unique_id = '{ [0] = '63 ' [1] = '95 ' [2] = '63 ' [3] = '0 ' [4] = '0
>> >> ' [5] = '0 ' [6] = '0 ' [7] = '0 ' [8] = '0 ' [9] = '0 ' [10] = '0 '
>> >> [11] = '0 ' [12] = '0 ' [13] = '0 ' [14] = '0 ' [15] = '0 '}' build_id
>> >> = '02.14.03.02_?' ] ' [3] = '[ storage_index = '4' fail
>> >> ure_count = '0' unique_id = '{ [0] = '63 ' [1] = '95 ' [2] = '63 '
>> >> [3] = '0 ' [4] = '0 ' [5] = '0 ' [6] = '0 ' [7] = '0 ' [8] = '0 ' [9]
>> >> = '0 ' [10] = '0 ' [11] = '0 ' [12] = '0 ' [13] = '0 ' [14] = '0 '
>> >> [15] = '0 '}' build_id = '02.24.03.00_?' ] '}' ] ' [1] = '[ type =
>> >> 'pri' maximum_images = '50' index_of_running_image = '1' sublist = '{
>> >> [0] = '[ storage_index = '255' failure_count = '255' unique_id = '{
>> >> [0] = '48 ' [1] = '48 ' [2] = '50 ' [3] = '46 ' [4] = '48 ' [5] = '48
>> >> ' [6] = '57 ' [7] = '95 ' [8] = '48 ' [9] = '48 ' [10] = '49 ' [11] =
>> >> '0 ' [12] = '0 ' [13] = '0 ' [14] = '0 ' [15] = '0 '}' build_id =
>> >> '02.08.02.00_ATT' ] ' [1] = '[ storage_index = '255' failure_count =
>> >> '255' unique_id = '{ [0] = '48 ' [1] = '48 ' [2] = '50 ' [3] = '46 '
>> >> [4] = '48 ' [5] = '50 ' [6] = '49 ' [7] = '95 ' [8] = '48 ' [9] = '48
>> >> ' [10] = '48 ' [11] = '0 ' [12] = '0 ' [13] = '0 ' [14] = '0 ' [15] =
>> >> '0 '}' build_id = '02.24.03.00_GENERIC' ] ' [2] = '[ storage_index =
>> >> '255' failure_count = '255'
>> >> unique_id = '{ [0] = '48 ' [1] = '48 ' [2] = '50 ' [3] = '46 ' [4] =
>> >> '48 ' [5] = '49 ' [6] = '50 ' [7] = '95 ' [8] = '48 ' [9] = '48 ' [10]
>> >> = '49 ' [11] = '0 ' [12] = '0 ' [13] = '0 ' [14] = '0 ' [15] = '0 '}'
>> >> build_id = '02.14.03.02_SPRINT' ] ' [3] = '[ storage_index = '255'
>> >> failure_count = '255' unique_id = '{ [0] = '48 ' [1] = '48 ' [2] = '49
>> >> ' [3] = '46 ' [4] = '48 ' [5] = '48 ' [6] = '48 ' [7] = '95 ' [8] =
>> >> '48 ' [9] = '48 ' [10] = '48 ' [11] = '0 ' [12] = '0 ' [13] = '0 '
>> >> [14] = '0 ' [15] = '0 '}' build_id = '00.00.00.00_OEMPRI918' ] ' [4] =
>> >> '[ storage_index = '255' failure_count = '255' unique_id = '{ [0] =
>> >> '48 ' [1] = '48 ' [2] = '50 ' [3] = '46 ' [4] = '48 ' [5] = '48 ' [6]
>> >> = '56 ' [7] = '95 ' [8] = '48 ' [9] = '48 ' [10] = '51 ' [11] = '0 '
>> >> [12] = '0 ' [13] = '0 ' [14] = '0 ' [15] = '0 '}' build_id =
>> >> '02.05.07.00_VERIZON' ] '}' ] '}
>> >>
>> >> Interestingly, if I'm reading this properly, you may be using the
>> >> wrong modem+PRI image pair: seems to me you're using modem image
>> >> '02.24.03.00_?' and PRI image '02.08.02.00_ATT'; although I cannot
>> >> totally confirm that due to issues in Sierra devices like this one:
>> >> https://forum.sierrawireless.com/viewtopic.php?f=117&t=10198
>> >>
>> >> You could try to play a bit with the qmi-firmware-update tool and see
>> >> if you can flash and run an exact modem+PRI pair, just to make sure
>> >> that's not the issue.
>> >
>> >
>> > That is interesting, I think I read somewhere thread about MC7455 not
>> > coming
>> > from low power mode because of FW/PRI images mismatch. I know that you
>> > suggested me to use qmi-firmware-update tool, but I still have old hdd
>> > with
>> > original win7 somewhere. What I did was to download Generic
>> > SWI9X30C_02.24.03.00 as win exe from here:
>> >
>> >
>> > https://source.sierrawireless.com/resources/airprime/minicard/74xx/airprime-em_mc74xx-approved-fw-packages/
>> >
>> > and then I used that windows tool to flash the card. It is said there
>> > that:
>> > For Windows use the Windows EXE Download This will update both the PRI
>> > (carrier provisioning file) and the firmware. I hope that card should
>> > not be
>> > locked and therefore I used generic FW/PRI pair. I also installed the
>> > drivers on win7 but I never used the card under it. Honestly I do not
>> > even
>> > know how to configure it under windows. :-)
>> >
>> > Reading your comment about PRI to be AT&T, do you suggest to flash card
>> > again to AT&T SWI9X30C_02.20.03.00 instead generic pair?
>> >
>>
>> Both PRI and Modem images from the EXE you run are installed; but what
>> I'm not sure is whether the "index of the running image" is the
>> correct one or not. Firmware versions > 02.14 (IIRC) have this issue
>> with the "index of running image".
>>
>> Could you run this commands and send back the output?
>>
>> $ qmicli -d /dev/cdc-wdm0 -p --dms-swi-get-current-firmware
>> $ qmicli -d /dev/cdc-wdm0 -p --dms-get-firmware-preference
>
>
> litin at x220:~$ sudo qmicli -d /dev/cdc-wdm0 -p --dms-swi-get-current-firmware
> [/dev/cdc-wdm0] Successfully retrieved current firmware:
> Model: MC7455
> Boot version: SWI9X30C_02.24.03.00
> AMSS version: SWI9X30C_02.24.03.00
> SKU ID: 1102476
> Package ID: unknown
> Carrier ID: 1
> Config version: 002.021_000
> litin at x220:~$ sudo qmicli -d /dev/cdc-wdm0 -p --dms-get-firmware-preference
> firmware preference successfully retrieved:
> [image 0]
> Image type: 'modem'
> Unique ID: '002.021_000'
> Build ID: '02.24.03.00_GENERIC'
> [image 1]
> Image type: 'pri'
> Unique ID: '002.021_000'
> Build ID: '02.24.03.00_GENERIC'
> litin at x220:~$
>
>
> so to me it seems to be ok.....
>
Yeah, these all look good.
--
Aleksander
https://aleksander.es
More information about the ModemManager-devel
mailing list