MC7455 in X220 with ModemManager 1.6.4

Dominik Strnad litinoveweedle at gmail.com
Thu Jun 8 20:49:20 UTC 2017


Hello,

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,
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


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.




On Thu, Jun 8, 2017 at 10:09 AM, Aleksander Morgado <
aleksander at aleksander.es> wrote:

> Hey,
>
> >> >> > 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.....



>
>
> >
> >>
> >> >>
> >> >> Unfortunately, fixing the low-power issue won't be the only problem
> if
> >> >> you
> >> >> want to run the modem in QMI mode. The MC7455 requires "raw-ip"
> support
> >> >> in
> >> >> the Linux kernel qmi_wwan driver, and the default kernel version
> coming
> >> >> in
> >> >> Ubuntu 16.04 is not new enough. I did prepre an additional PPA to
> >> >> include
> >> >> Linux 4.4 in Ubuntu 16.04, but note that I'm really not maintaining
> >> >> that one
> >> >> actively:
> >> >>
> >> >>
> >> >> https://launchpad.net/~aleksander-m/+archive/ubuntu/
> kernel-xenial-qmi-raw-ip
> <https://launchpad.net/%7Ealeksander-m/+archive/ubuntu/kernel-xenial-qmi-raw-ip>
> >> >
> >> >
> >> > Ubuntu 16.04.2 installs a 4.8 kernel for new installation - so I can
> >> > check
> >> > for qmi_wwan driver to be loaded and provide exact kernel version
> >> > installed.
> >> > Are there any other requirements? If so could it be possible to use
> DKMS
> >> > to
> >> > build that driver for maintained mainstream kernel 4.8.?
> >> >
> >>
> >> Oh, any kernel newer than 4.4 would be good for you. Does 16.04
> >> install 4.8 via backports? I need to check that; the original 16.04
> >> comes with 4.3 IIRC.
> >
> >
> > You do not need backports to get 4.8. under Ubuntu 16.04. New
> installation
> > of 16.04.2 will install 4.8 as default. You can also update from 4.4. on
> > older 16.04.1 installation by updating HWE - find description for example
> > here:
> >
> > https://askubuntu.com/questions/885054/upgrade-16-
> 04-2-lts-to-kernel-version-4-8
> >
>
> Ah! I didn't know this, super useful, thanks.
>

you are welcome anytime.


> --
> Aleksander
> https://aleksander.es
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20170608/0f332a7f/attachment-0001.html>


More information about the ModemManager-devel mailing list