omap kernel musb/ehci ports not enabled on beagleboard

Bug #541030 reported by Robert Nelson
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-ti-omap (Ubuntu)
Fix Released
High
Amit Kucheria
Lucid
Fix Released
High
Amit Kucheria

Bug Description

The currently kernel configuration does not correctly setup the ehci/musb ports on the beagleboards..

These specific kernel config options listed in the patch do not work reliably as external modules.

Beagle Bx: OTG (Shipped Summer 2008 - 2009)
Beagle C2/C3: OTG & EHCI (many users have ones with Broken EHCI ports) (Started Shipping Spring 2009 - December 2009)
Beagle C4: OTG & Fixed EHCI (Started Shipping Jan 2010)
Beagle XM: OTG & EHCI (Available Summer 2010)

Edit: March 31, 2010: More description of the problem

Tags: patch armel
Revision history for this message
Robert Nelson (robertcnelson) wrote :
Paul Larson (pwlars)
tags: added: armel patch
Paul Larson (pwlars)
Changed in linux-ti-omap (Ubuntu):
importance: Undecided → Critical
milestone: none → ubuntu-10.04-beta-2
status: New → Triaged
description: updated
Oliver Grawert (ogra)
Changed in linux-ti-omap (Ubuntu):
assignee: nobody → Amit Kucheria (amitk)
Revision history for this message
Robert Nelson (robertcnelson) wrote :

Note: i also add to revert b586f759f4dda7622a90f68c9c05424e777b8b2b to get this working again for 500.4 I'm currently testing these individual config differences in that patch to find the breakage.

For comparison in my 2.6-dev 2.6.33.1 tree:

# CONFIG_USB_EHCI_ROOT_HUB_TT is not set (different)

CONFIG_USB_GADGET_DUALSPEED=y (same)

CONFIG_USB_GADGET_MUSB_HDRC=y (same)

# CONFIG_USB_GADGET_OMAP is not set (different)

CONFIG_USB_MON=y (different)

# CONFIG_USB_MUSB_HOST is not set (same)
# CONFIG_USB_MUSB_PERIPHERAL is not set
CONFIG_USB_MUSB_OTG=y

CONFIG_USB_OTG=y (same)
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
# CONFIG_USB_OTG_WHITELIST is not set

# CONFIG_USB_ZERO is not set (different)

Revision history for this message
Oliver Grawert (ogra) wrote :

i did a test build of our package with the .patch file applied but cant see any change in USB behavior, is the second set of changes required as well ?

Revision history for this message
Oliver Grawert (ogra) wrote :

amit, do you have any idea about that ? it starts to get really urgent to have a working kernel since we cant go on with the installer and image changes without it, if it helps to build in the whole USB stack monolithic for now, go for it.

Revision history for this message
Robert Nelson (robertcnelson) wrote :

Hi Guys,

My Bx board been kinda of a pain lately so i haven't nailed down this config issue yet. I have some time so i'm going to give it another round tonight..

For the moment, this config change gives a working ehci port on Cx boards on startup. (compare builds with lsusb making sure both interfaces populate) Allowing users to boot with a rootfs on an external usb harddrive. Whereas the OTG port is still stuck in otg gadget mode, one of the gadget modules needs to be force loaded (insmod) to populate all the devices.

I'm basing my changes off this config:
http://bazaar.launchpad.net/~beagleboard-kernel/%2Bjunk/2.6-dev/annotate/head%3A/patches/lucid-defconfig

Which allows users to use the OTG port as a regular usb host and usb gadget (usb0) ethernet is loaded to allow them to give network access if they dont' have an external network..

Revision history for this message
Robert Nelson (robertcnelson) wrote :

Attaching dmesg and lsusb dumps..

dmesg-500.4.log
500.4 as is in ubuntu's repo (couple igepv2 patches pulled from 2.6.34-rc3 and nand options)
No usb devices on boot, must force:
sudo insmod /lib/modules/2.6.33-500-omap/kernel/drivers/usb/gadget/g_ether.ko

dmesg-500.4-configpatch-541030.log
Same as previous, but with the config patch listed in this bug..
The ehci port is now show under lsusb (on bx hardware it's not wired to anything outside the omap35xx core)
Still need to force the module
sudo insmod /lib/modules/2.6.33-500-omap/kernel/drivers/usb/gadget/g_ether.ko

dmesg-500.4-configpatch-541030-revert-b586f759.log
Same as previous, but with b586f759 reverted.. (most of b586f759 is fine, it's just one or two of the config changes)
Both ehci and otg ports load and find hardware on bootup.

Revision history for this message
Robert Nelson (robertcnelson) wrote :

dmesg-500.4-configpatch-541030.log

Revision history for this message
Robert Nelson (robertcnelson) wrote :

dmesg-500.4-configpatch-541030-revert-b586f759.log

Revision history for this message
Robert Nelson (robertcnelson) wrote :

More testing with b586f759f4dda7622a90f68c9c05424e777b8b2b reverted then reintroduced in small chunks...

Reference: http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-lucid.git;a=commit;h=b586f759f4dda7622a90f68c9c05424e777b8b2b

This is safe: 01-CONFIG-safe-musb.diff musb works fine..

These config options force a user to use insmod to load a gadget driver to load any device on the otg bus
02-CONFIG-Breaks-musb.diff

Note: I'll go thru 02-CONFIG-Breaks-musb.diff again, as the OTG option should be safe, i use it in 2.6-dev, but the other options effect it..

Revision history for this message
Robert Nelson (robertcnelson) wrote :
Revision history for this message
Paul Larson (pwlars) wrote :

I was able to confirm this working using today's daily image. After diffing against what's in git, it appears to be identical to what's in the first patch you posted, 0001-UBUNTU-Config-Enable-musb-ehci-on-beagleboard.patch

Loïc Minier (lool)
Changed in linux-ti-omap (Ubuntu Lucid):
importance: Critical → High
Revision history for this message
Alexander Sack (asac) wrote :

moving to final milestone.

Changed in linux-ti-omap (Ubuntu Lucid):
milestone: ubuntu-10.04-beta-2 → ubuntu-10.04
Revision history for this message
Alexander Sack (asac) wrote :

amit, is this on your radar for lucid still? feels simple enough and robert has a patch attached.

Revision history for this message
Amit Kucheria (amitk) wrote :

Alexander: Sure it feels simple but as Robert will agree it doesn't enable full OTG support. But I'll just upload the kernel with this workaround.

Amit Kucheria (amitk)
Changed in linux-ti-omap (Ubuntu Lucid):
status: Triaged → Fix Committed
Revision history for this message
Amit Kucheria (amitk) wrote :

Forgot the buglink in the upload.

Changed in linux-ti-omap (Ubuntu Lucid):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.