[meta-ti] musb_hdrc driver and "Qualcomm, Inc. Gobi Wireless Modem"

Leo Meza leo.e.meza at gmail.com
Thu Sep 13 13:05:17 PDT 2018


I'm trying to get my target to recognize a USB-connected 4G LTE modem on
powerup....

My target is a beaglebone black (AM335x) using meta-ti "rocko" branch and
I've added a kernel config fragment with the following:
CONFIG_USB_NET_QMI_WWAN=m

My distro.conf file removes the usbgadget and usbhost features:
MACHINE_FEATURES_remove += " alsa usbgadget usbhost vfat"

So far, when I power up the target, it looks as though the musb-hdrc driver
is attaching to the USB Modem:
[   15.467735] usbcore: registered new interface driver usbfs
[   15.475891] am335x-phy-driver 47401300.usb-phy: 47401300.usb-phy supply
vcc not found, using dummy regulator
[   15.483431] am335x-phy-driver 47401b00.usb-phy: 47401b00.usb-phy supply
vcc not found, using dummy regulator
[   15.625497] pruss 4a300000.pruss: creating PRU cores and other child
platform devices
[   15.639846] usbcore: registered new interface driver hub
[   15.718440] usbcore: registered new device driver usb
[   15.831900] remoteproc remoteproc1: 4a334000.pru is available
[   15.837767] pru-rproc 4a334000.pru: PRU rproc node
/ocp/pruss_soc_bus at 4a326004/pruss at 0/pru at 34000 probed successfully
[   15.867980] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[   15.868016] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus
number 1
[   15.883041] hub 1-0:1.0: USB hub found
[   15.883105] hub 1-0:1.0: 1 port detected
[   15.961998] remoteproc remoteproc2: 4a338000.pru is available
[   15.967859] pru-rproc 4a338000.pru: PRU rproc node
/ocp/pruss_soc_bus at 4a326004/pruss at 0/pru at 38000 probed successfully
[   16.320431] usb 1-1: new high-speed USB device number 2 using musb-hdrc
[   53.040523] random: crng init done
[   53.044007] random: 7 urandom warning(s) missed due to ratelimiting

When I use "lsusb" I see this, and I'm unable to use the modem:
Bus 001 Device 002: ID 05c6:9008 Qualcomm, Inc. Gobi Wireless Modem (QDL
mode)

LSMOD shows this:
root at target:~# lsmod
Module                  Size  Used by
pru_rproc              20480  0
musb_dsps              20480  0
pruss_intc             16384  1 pru_rproc
musb_hdrc              98304  1 musb_dsps
udc_core               28672  1 musb_hdrc
pruss                  16384  1 pru_rproc
phy_am335x             16384  2
usbcore               204800  1 musb_hdrc
phy_generic            16384  1 phy_am335x
usb_common             16384  5
phy_am335x,udc_core,musb_hdrc,musb_dsps,usbcore
phy_am335x_control     16384  1 phy_am335x
pm33xx                 16384  0
snd_soc_simple_card    16384  0
snd_soc_simple_card_utils    16384  1 snd_soc_simple_card
wkup_m3_rproc          16384  1
wkup_m3_ipc            16384  1 pm33xx
remoteproc             40960  3 pru_rproc,wkup_m3_rproc,wkup_m3_ipc
omap_aes_driver        24576  0
crypto_engine          16384  1 omap_aes_driver
omap_crypto            16384  1 omap_aes_driver
omap_sham              28672  0
ti_emif_sram           16384  1 pm33xx
pruss_soc_bus          16384  0
rtc_omap               20480  2
musb_am335x            16384  0
omap_wdt               16384  0
at24                   16384  0
sch_fq_codel           20480  1

However, if I don't plug in the device until AFTER the system boots and I
login, then I see the cdc_wdm driver is gets registered and the cdc-wdm0
device is created:

root at target:~# [   60.630559] usb 1-1: new high-speed USB device number 2
using musb-hdrc
[   60.993246] usbcore: registered new interface driver cdc_wdm
[   61.013436] qmi_wwan 1-1:1.2: cdc-wdm0: USB WDM device
[   61.038279] qmi_wwan 1-1:1.2 wwan0: register 'qmi_wwan' at
usb-musb-hdrc.1-1, WWAN/QMI device, be:ce:e7:34:15:d8
[   61.059967] usbcore: registered new interface driver qmi_wwan

LSUSB shows me this, and I'm able to use the modem:

root at target:~# lsusb
Bus 001 Device 002: ID 1bc7:1040 Telit Wireless Solutions

LSMOD shows this:

root at target:~# lsmod
Module                  Size  Used by
qmi_wwan               28672  0
cdc_wdm                20480  1 qmi_wwan
usbnet                 32768  1 qmi_wwan
pru_rproc              20480  0
pruss_intc             16384  1 pru_rproc
pruss                  16384  1 pru_rproc
musb_dsps              20480  0
musb_hdrc              98304  1 musb_dsps
udc_core               28672  1 musb_hdrc
usbcore               204800  4 usbnet,qmi_wwan,cdc_wdm,musb_hdrc
phy_am335x             1[   78.790878] random: crng init done
[   78.799335] random: 7 urandom warning(s) missed due to ratelimiting
6384  2
phy_generic            16384  1 phy_am335x
usb_common             16384  5
phy_am335x,udc_core,musb_hdrc,musb_dsps,usbcore
phy_am335x_control     16384  1 phy_am335x
pm33xx                 16384  0
snd_soc_simple_card    16384  0
snd_soc_simple_card_utils    16384  1 snd_soc_simple_card
wkup_m3_ipc            16384  1 pm33xx
wkup_m3_rproc          16384  1
remoteproc             40960  3 pru_rproc,wkup_m3_rproc,wkup_m3_ipc
omap_aes_driver        24576  0
crypto_engine          16384  1 omap_aes_driver
omap_crypto            16384  1 omap_aes_driver
omap_sham              28672  0
pruss_soc_bus          16384  0
ti_emif_sram           16384  1 pm33xx
rtc_omap               20480  2
at24                   16384  0
omap_wdt               16384  0
musb_am335x            16384  0
sch_fq_codel           20480  1

And pointers on how I can get the drivers (cdc_wdm, qmi_wwan, etc) setup so
the USB modem is recognized at powerup instead of having to plug in the
device after powerup would be greatly appreciated.

Thanks in advance!
-Leo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-ti/attachments/20180913/a23208f5/attachment.html>


More information about the meta-ti mailing list