MC7455 in X220 with ModemManager 1.6.4
Dan Williams
dcbw at redhat.com
Fri Jun 9 19:43:46 UTC 2017
On Thu, 2017-06-08 at 23:05 +0200, Dominik Strnad wrote:
> Hi Aleksander,
>
> thank you....
>
> On Thu, Jun 8, 2017 at 10:56 PM, Aleksander Morgado <
> aleksander at aleksander.es> wrote:
>
> > 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 :/
> >
>
> I read something about rfkill and to me it seems qmi driver should
> register
> itself to rfkill / kernel...
The QMI driver should not actually register itself with rfkill, since
it doesn't actually have anything to do with rfkill.
rfkill for most devices is currently handled by platform drivers that
read state from the BIOS, which is what usually twiddles the hardware
W_DISABLE pins. If there is no platform BIOS driver (eg,
tpacpi_wwan_sw) or that driver doesn't have correct IDs for your
laptop, then that platform driver needs to be fixed. It may also be
the case that your modified whitelisted BIOS is incompletely modified
and the whitelist addition is only to allow the bootup to proceed, but
does not allow correct rfkill handling of the device.
qmi_wwan is a simple conduit that just lets a process speak QMI to a
device. It doesn't have any idea what is actually being spoken, so it
doesn't know about any of the device's state like whether it's in LPM
or not.
For "soft" LPM, eg "CFUN=4" or the QMI equivalent, that is all done at
the protocol level (and thus not in the kernel) and is handled by stuff
in userspace like ModemManager or another daemon that reads that state
using AT, QMI, MIBM, etc and exposes it somehow (like dbus).
Dan
>
> >
> > > 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.
> >
>
> Ok, thanks for explanation.
>
> >
> > >
> > > 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
> > >
> > > And that: Couldn't open device, some information will be missing
> > > seems
> >
> > to be
> > > intriguing.
> > >
> >
> > You should have run it as root :)
> >
>
>
> Yes sorry, you are completely right....
>
> litin at x220:~$ sudo lsusb -v
> [sudo] password for litin:
>
> Bus 002 Device 003: ID 1199:9071 Sierra Wireless, Inc.
> 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 Sierra Wireless, Incorporated
> iProduct 2 Sierra Wireless MC7455 Qualcomm®
> Snapdragon™ X7
> LTE-A
> iSerial 3 LQ71474124021020
> 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
> Binary Object Store Descriptor:
> bLength 5
> bDescriptorType 15
> wTotalLength 12
> bNumDeviceCaps 1
> USB 2.0 Extension Device Capability:
> bLength 7
> bDescriptorType 16
> bDevCapabilityType 2
> bmAttributes 0x00000000
> (Missing must-be-set LPM bit!)
> Device Status: 0x0000
> (Bus Powered)
>
>
>
>
> Actually I have no idea how to continue at all. Do you think it will
> be
> please possible for you to update PPA with MM 1.6.6 so I can try it?
> Thank
> you.
>
> BR
> Dominik
> _______________________________________________
> ModemManager-devel mailing list
> ModemManager-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel
More information about the ModemManager-devel
mailing list