This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM3730 USB OTG host

Other Parts Discussed in Thread: DM3730

I'm using the Mistral DM3730 EVM (Linux 2.6.37), and I'm trying to get RNDIS working on the OTG port.

I'm using an OTG cable to connect to an Android phone.  The phone was detected and the RNDIS driver was loaded okay.  I manually assigned an IP address to usb1, but I couldn't ping the phone from the EVM.  I tried the same setup on the USB host port, and it worked successfully.  Here are the two different logs (first one is host port, and the other is OTG port).  Does anybody know what I'm missing?

[ 3369.941619] usb 1-2: new high speed USB device using ehci-omap and address 3
[ 3370.107452] usb 1-2: New USB device found, idVendor=04e8, idProduct=6860
[ 3370.114440] usb 1-2: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[ 3370.121856] usb 1-2: Product: Galaxy Nexus
[ 3370.126129] usb 1-2: Manufacturer: samsung
[ 3370.130401] usb 1-2: SerialNumber: 014E28A215005011

# [ 3375.439941] usb 1-2: USB disconnect, address 3
[ 3375.808807] usb 1-2: new high speed USB device using ehci-omap and address 4
[ 3375.974639] usb 1-2: New USB device found, idVendor=04e8, idProduct=6864
[ 3375.981628] usb 1-2: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[ 3375.989074] usb 1-2: Product: Galaxy Nexus
[ 3375.993347] usb 1-2: Manufacturer: samsung
[ 3375.997619] usb 1-2: SerialNumber: 014E28A215005011
[ 3376.017608] rndis_host 1-2:1.0: usb1: register 'rndis_host' at usb-ehci-omap.0-2, RNDIS device, 82:16:df:c2:4e:82

# ifconfig usb1 192.168.42.130 netmask 255.255.255.0
# ping 192.168.42.129
PING 192.168.42.129 (192.168.42.129): 56 data bytes
64 bytes from 192.168.42.129: seq=0 ttl=64 time=8.332 ms
64 bytes from 192.168.42.129: seq=1 ttl=64 time=1.068 ms
64 bytes from 192.168.42.129: seq=2 ttl=64 time=1.312 ms
^C
--- 192.168.42.129 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 1.068/3.570/8.332 ms


-------------------------------------------------------------------------------


# [ 3260.957275] usb 2-1: new high speed USB device using musb-hdrc and address 4
[ 3261.114593] usb 2-1: device v04e8 p6860 is not supported
[ 3261.120117] usb 2-1: New USB device found, idVendor=04e8, idProduct=6860
[ 3261.127105] usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[ 3261.134552] usb 2-1: Product: Galaxy Nexus
[ 3261.138824] usb 2-1: Manufacturer: samsung
[ 3261.143066] usb 2-1: SerialNumber: 014E28A215005011
[ 3265.707489] usb 2-1: USB disconnect, address 4
[ 3266.191650] usb 2-1: new high speed USB device using musb-hdrc and address 5
[ 3266.348846] usb 2-1: device v04e8 p6864 is not supported
[ 3266.354370] usb 2-1: New USB device found, idVendor=04e8, idProduct=6864
[ 3266.361358] usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[ 3266.368804] usb 2-1: Product: Galaxy Nexus
[ 3266.373077] usb 2-1: Manufacturer: samsung
[ 3266.377319] usb 2-1: SerialNumber: 014E28A215005011
[ 3266.389373] rndis_host 2-1:1.0: usb1: register 'rndis_host' at usb-musb-hdrc.0-1, RNDIS device, 86:b3:72:f2:53:70

# ifconfig usb1 192.168.42.130 netmask 255.255.255.0
# ping 192.168.42.129
PING 192.168.42.129 (192.168.42.129): 56 data bytes

^C
--- 192.168.42.129 ping statistics ---
6 packets transmitted, 0 packets received, 100% packet loss

-------------------------------------------------------------------------------

  • Hi Hon Lam,

    Could you start make menuconfig and check the following settings whether are configured as description below:

    Device Drivers ---> USB support ---> USB Gadget Support ---> RNDIS support - should be included

    Device Drivers ---> USB support ---> Driver Mode Both host and peripheral:  USB OTG (On The Go) Device

    Device Drivers ---> USB support ---> USB verbose debug messages - should be included if you want the USB core & hub drivers to produce a bunch of debug messages to the system log. Select this if you are having a problem with USB support and want to see more of what is going on.

    BR

    Tsvetolin Shulev

  • Hi,

    Thanks for the reply.  I checked the kernel config, and it seems I have the right options enabled.  Also, the RNDIS driver is getting loaded and the device node is getting created (usb1).  I could also assign an IP address to usb1.  But it seems I couldn't get any data packets across the USB link.  I also tried pinging from the Android phone side, and I couldn't get the ping through either.  Here is some more log with USB verbose debug turned on:

    [   54.620178] hub 2-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x100
    [   54.632019] hub 2-0:1.0: state 7 ports 1 chg 0000 evt 0002
    [   54.632049] hub 2-0:1.0: port 1, status 0101, change 0001, 12 Mb/s
    [   54.784240] hub 2-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x101
    [   54.909240] usb 2-1: new high speed USB device using musb-hdrc and address 3
    [   55.066558] usb 2-1: skipped 1 descriptor after configuration
    [   55.066589] usb 2-1: skipped 4 descriptors after interface
    [   55.066833] usb 2-1: default language 0x0409
    [   55.067565] usb 2-1: device v04e8 p6864 is not supported
    [   55.073089] usb 2-1: udev 3, busnum 2, minor = 130
    [   55.073120] usb 2-1: New USB device found, idVendor=04e8, idProduct=6864
    [   55.080108] usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=4
    [   55.087524] usb 2-1: Product: Galaxy Nexus
    [   55.091796] usb 2-1: Manufacturer: samsung
    [   55.096069] usb 2-1: SerialNumber: 014E28A215005011
    [   55.101959] usb 2-1: usb_probe_device
    [   55.101989] usb 2-1: configuration #1 chosen from 1 choice
    [   55.102416] usb 2-1: adding 2-1:1.0 (config #1, interface 0)
    [   55.108612] rndis_host 2-1:1.0: usb_probe_interface
    [   55.108642] rndis_host 2-1:1.0: usb_probe_interface - got id
    [   55.115692] rndis_host 2-1:1.0: usb1: register 'rndis_host' at usb-musb-hdrc.0-1, RNDIS device, ea:77:e0:d2:fa:4a
    [   55.126586] usb 2-1: adding 2-1:1.1 (config #1, interface 1)      
    [   55.133300] usb 2-1: adding 2-1:1.2 (config #1, interface 2)
    [   55.139434] usbtest 2-1:1.2: usb_probe_interface  
    [   55.139434] usbtest 2-1:1.2: usb_probe_interface - got id
    [   55.143768] drivers/usb/core/inode.c: creating file '003'
    [   55.143951] hub 2-0:1.0: state 7 ports 1 chg 0000 evt 0002
    [   55.143981] hub 2-0:1.0: port 1 enable change, status 00000503

     

    I don't see any other error indications.  How could I troubleshoot this further to see why the data is not going across the USB link?

     

    Thanks,

    Hon

  • Hi Hon,

    Sorry for the delay. I perform the following test: Connect USB otg interface of the EVM board to the USB on the Galaxy Nexus. Configure the usb interface on the EVM board and try to ping the Galaxy Nexus but by default the Galaxy Nexus has not configured usb network. Therefore I recommend you to start some terminal console on the pfone and up the usb interface. After that the ping start.

    If you still have a problem with ping execute ipconfig -a on both devices and post the output.

    BR

    Tsvetolin Shulev