03f0:521d Hewlett-Packard again

Bjørn Mork bjorn at mork.no
Tue Sep 20 11:06:54 UTC 2016


Harald Jung <harald.jung at ecos.de> writes:

> Hi,
>
> to be shure i removed usb_modeswitch from the last build and i added
> an udev rule, that the bConfiguration switch happened before
> modemmanager was started.
> usbcore: registered new interface driver usbfs
> usbcore: registered new interface driver hub
> usbcore: registered new device driver usb
> usbcore: registered new interface driver uas
> usbcore: registered new interface driver usb-storage
> usbcore: registered new interface driver ums-datafab
> usbcore: registered new interface driver uss720
> usbcore: registered new interface driver btusb
> usbcore: registered new interface driver usbserial
> usbcore: registered new interface driver usbserial_generic
> usbcore: registered new interface driver option
> usbcore: registered new interface driver uvcvideo
> usbcore: registered new interface driver cdc_ncm
> usbcore: registered new interface driver cdc_wdm
> usbcore: registered new interface driver cdc_mbim
> usbcore: registered new interface driver usbhid
>
> mbim is still not bound to the device
> T:  Bus=01 Lev=01 Prnt=01 Port=02 Cnt=02 Dev#=  3 Spd=480 MxCh= 0
> D:  Ver= 2.00 Cls=ff(vend.) Sub=02 Prot=01 MxPS=64 #Cfgs=  2
> P:  Vendor=03f0 ProdID=521d Rev=00.01
> S:  Manufacturer=Hewlett-Packard
> S:  Product=HP hs3110 HSPA+ Mobile Broadband Device
> C:  #Ifs= 3 Cfg#= 2 Atr=a0 MxPwr=500mA
> I:  If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=(none)
> I:  If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=(none)
> I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=02 Prot=05 Driver=option
>
> how does the mbim driver detects the mbim capabilities of a device?

The USB core will see "Cls=02(commc) Sub=0e Prot=00'" and match it
against the cdc_mbim device list. The core runs the cdc_mbim probe
function, which is responsible for verifying that the device is a
supported MBIM device.  It does that by parsing and verifying all the
CDC class descriptors (which look fine AFAICS), and then it does a
couple of NCM (or MBIM) specific control requests to confgure the
remaining parts.

You can try to force a manual bind and see if that returns some error
code.  The "x-y" part must be replaced with the proper bus+port numbers:

 echo x-y:2.0 >/sys/bus/usb/drivers/cdc_mbim/bind 


Bjørn


More information about the ModemManager-devel mailing list