Hello all,
I am working with the OMAP3 EVM running Linux kernel 2.6.37 from PSP 04.02.00.07.
My requirement is to have the USB OTG port configured as a device for CDC Ethernet support in Full Speed mode
To start with, I use the default kernel sources and the configuration (omap3_evm_defconfig) and am able to get CDC Ethernet working in High speed mode between the OMAP3 EVM and a host PC running Ubuntu 11.04.
I am able to ping between the EVM and the Linux PC, both ways.
In order to configure the USB OTG controller in Full speed mode, I have made the following change in function musb_start of drivers/usb/musb/musb_core.c
/* put into basic highspeed mode and start session */
musb_writeb(regs, MUSB_POWER, MUSB_POWER_ISOUPDATE
| MUSB_POWER_SOFTCONN
- | MUSB_POWER_HSENAB
+ /* | MUSB_POWER_HSENAB */
/* ENSUSPEND wedges tusb */
/* | MUSB_POWER_ENSUSPEND */
);
With these changes, when I connect the OMAP3 EVM to the Host PC:
- The PC detects the OMAP3 EVM as a full speed USB device
- I am able to assign IP addresses to the usb0 interface on both the PC and the OMAP3 EVM
dmesg on the Host PC confirms this:
usb 2-1.2: new full speed USB device using ehci_hcd and address 37
usb 2-1.2: not running at top speed; connect to a high speed hub
cdc_ether 2-1.2:1.0: usb0: register 'cdc_ether' at usb-0000:00:1d.0-1.2, CDC Ethernet Device, da:cc:d1:cd:87:75
However, attempts to ping the Linux PC from the OMAP3 EVM results in failure.
dmesg on the Host PC shows the following logs:
usb0: no IPv6 routers present
hub 2-1:1.0: port 2 disabled by hub (EMI?), re-enabling...
usb 2-1.2: USB disconnect, address 37
cdc_ether 2-1.2:1.0: usb0: unregister 'cdc_ether' usb-0000:00:1d.0-1.2, CDC Ethernet Device
cdc_ether 2-1.2:1.0: usb0: can't clear rx halt, status -11
usb 2-1.2: new full speed USB device using ehci_hcd and address 38
usb 2-1.2: not running at top speed; connect to a high speed hub
cdc_ether 2-1.2:1.0: usb0: register 'cdc_ether' at usb-0000:00:1d.0-1.2, CDC Ethernet Device, da:cc:d1:cd:87:75
hub 2-1:1.0: port 2 disabled by hub (EMI?), re-enabling...
usb 2-1.2: USB disconnect, address 38
cdc_ether 2-1.2:1.0: usb0: unregister 'cdc_ether' usb-0000:00:1d.0-1.2, CDC Ethernet Device
usb 2-1.2: new full speed USB device using ehci_hcd and address 39
usb 2-1.2: not running at top speed; connect to a high speed hub
cdc_ether 2-1.2:1.0: usb0: register 'cdc_ether' at usb-0000:00:1d.0-1.2, CDC Ethernet Device, da:cc:d1:cd:87:75
cdc_ether 2-1.2:1.0: usb0: kevent 1 may have been dropped
cdc_ether 2-1.2:1.0: usb0: kevent 1 may have been dropped
hub 2-1:1.0: port 2 disabled by hub (EMI?), re-enabling...
usb 2-1.2: USB disconnect, address 39
cdc_ether 2-1.2:1.0: usb0: unregister 'cdc_ether' usb-0000:00:1d.0-1.2, CDC Ethernet Device
cdc_ether 2-1.2:1.0: usb0: can't clear rx halt, status -11
usb 2-1.2: new full speed USB device using ehci_hcd and address 40
usb 2-1.2: not running at top speed; connect to a high speed hub
cdc_ether 2-1.2:1.0: usb0: register 'cdc_ether' at usb-0000:00:1d.0-1.2, CDC Ethernet Device, da:cc:d1:cd:87:75
cdc_ether 2-1.2:1.0: usb0: kevent 1 may have been dropped
cdc_ether 2-1.2:1.0: usb0: kevent 1 may have been dropped
cdc_ether 2-1.2:1.0: usb0: kevent 1 may have been dropped
hub 2-1:1.0: port 2 disabled by hub (EMI?), re-enabling...
usb 2-1.2: USB disconnect, address 40
cdc_ether 2-1.2:1.0: usb0: unregister 'cdc_ether' usb-0000:00:1d.0-1.2, CDC Ethernet Device
cdc_ether 2-1.2:1.0: usb0: can't clear rx halt, status -11
usb 2-1.2: new full speed USB device using ehci_hcd and address 41
usb 2-1.2: not running at top speed; connect to a high speed hub
cdc_ether 2-1.2:1.0: usb0: register 'cdc_ether' at usb-0000:00:1d.0-1.2, CDC Ethernet Device, da:cc:d1:cd:87:75
usb0: no IPv6 routers present
Any pointers or guidance on what is wrong would be extremely helpful.
Thank you for your time
Warm regards,
Kanagesh