USB and 2.6.29 kernel

Newbie here ...

I have a working revB BB using wall wart for power, USB hub w/
keyboard, mouse, ehternet. USB works with the demo image, with Rev C/B
test image, with OE built console-image.

I've tried to build a 2.6.29 kernel with:

1. git://git2.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
using the OE cross-compile toolchain

2. linux-omap_2.6.29.bb using OE

3. http://www.bat.org/~tomba/git/linux-omap-dss.git/ with the OE
toolchain.

I replaced the console-image uImage with the newly built uImage, and
added the modules to /lib/modules.

In all three cases, the kernel built just fine and and the BB booted.
But USB is somehow disabled, and I have not been able to find out why.
I'm using the Beagle defconfigs with the git compiles, and the .bb
build should 'just work' (I think). I don't see anything obvious by
comparing the various kernel .config files.

I did find that the kernels that would not bring up USB all had this
in dmesg:

musb_hdrc: version 6.0, musb-dma, otg (peripheral+host), debug=0
musb_hdrc: ConfigData=0x33 (UTMI-16, HB-ISO Rx (X), SoftConn)
musb_hdrc: MHDRC RTL version 1.400
musb_core_init 1406: reconfigure software for static FIFOs
musb_hdrc musb_hdrc: musb_init_controller failed with status -19
<=====

I suspect this relates to my problem; my build of console-image and
the Angstrom demo do not show the above (and USB works!). Using Google
for the message hasn't helped me.

Are there kernel config settings that I am missing, or are there
patches that need to be applied? I am very new at this, so any
pointers would be most appreciated.

Thank you,

Peter

There is something going on with the kernel config. I see the same
thing with different kernels.

There are a number of kernel .config macros for USB.

The Beagleboard USB subsystem may be configured as
High-Speed/Full-Speed/Low-Speed.

It supports OHCI Host, UDC Peripheral or On-The-Go mode.

Drivers can be discrete or Composite Gadget (Ethernet and serial in
the same driver).

...and THEN there is power management.

...so basically, it could be turned off, a Host, a Device or in OTG
mode based on what is in the .config file.

- dan

Quickly checked this and indeed the OTG port is not working for me in
host mode, whereas it was for .28.
Guess there is a patch missing. The .29 defconfig file in the archive
is quite compatible to the .28 version, so I expect that not to be the
cause.

Note that .29 is still work in progress.
Also note that everything I say is related to the oe dev version.

Thank you for your reply.

I hadn't thought of the power issue, but doing a diff on a couple
different .configs doesn't appear to hightlight anything of interest.

I had really thought it would be a patch issue, but the linux-
omap_2.6.29.bb using OE build includes a bunch of patches. Even so,
USB doesn't work.

I'll keep 'grepping' and 'diffing' to see if there is a difference I
can pin down, but I really don't hold out a lot of hope.

Peter

There are definitely more patches needed. I had one, gave it a try but
it was not enough.
Didn't have the time and knowledge to further dig into it.

FM.

Thank you for confirming my experience. If there is a patch missing,
how would I go about finding it? I wonder if ANYONE has had success
with OTG USB on a .29 kernel? I'll keep playing around with it. There
are a lot of git trees available for the BB; each seems to highlight
one or another feature or approach. I'm still trying to wrap my head
around git itself, not to mention OpenEmbedded. I had sort of been
thinking that maybe git/tmlind/linux-omap-2.6 would include all the
feature patches, but maybe that is wishful thinking.

I did try to build oe-dev linux-omap_2.6.29.bb using the .28 .config
and doing "make oldconfig". There was no apparent difference; still no
USB.

This is NOT newbie territory!

Peter

This is NOT newbie territory!

Agree.

If you venture outside the charter territory you are basically on your
own.
If you build a standard kernel for beagleboard/angstrom it is a .28
kernel.
Also prebuild kernels, e.g. the ones you can find on code.google.com
are .28 or older.

If you decide to use a kernel that is still being ported, this is the
risk you are facing.

Right now you have a few options:
- for now use .28 and wait until .29 is made available for general
consumption on the Beagle
- take .29 and try to get OTG working. Feel free to join #beagle on
freenode to discuss things.
- ship your beagle to me. I can probably send you an intel board with
an atom processor in return (with a higher clock freqency) :slight_smile:

FM