revC4 USB OTG at boot/reboot

Hi folks

I've just got a rev C4 board which mostly works but I've got some
problems with USB OTG on boot and reboot.

1. kernel boot output to RS232 sometimes stops completely (last line
is uncompressing kernel + dots) if I boot the board with OTG connected
to the dev PC. Not sure if the boot process continues.
2. kernel panics if booting with OTG connected to the dev PC.
3. on reboot (ie. power remains applied to the board) via "reboot" or
RESET switch, the USB OTG does not reinitialise properly. I have to
remove power from the board and restart to get it back.

Is this normal or expected and are there fixes. I would really like to
be able to boot the board via the USB OTG port.

uImage is pre-built 2.6.32-r72, rootfs is the pre-built
both from the Angstrom Beagleboard demo area.

It sounds like that MAYBE the power supplied by the USB port on the PC is not up to snuff. I would try powering the board from a DC supply to make sure it is not a software issue. If it boots up fine, then it coul dbe a USB power issue forom the PC.


I should have noted that the problem happens when powered by external
adapter too.

OK. So, it sounds like there may be a SW issue at work here. I have seen hangs like this in the past myself.


Not sure if it's the same problem, but it sounds kind of similar to
what I had, I could suggest taking a look at this:

down to the kernel panic section.

I got rid of the kernel panic by copying the uImage from the /boot
directory instead of using the provided one. Hope this helps.


OK. Thanks for that. It looks similar to at least some of my issues.
Although in my case I did get USB gadet working most of the time.

I'll try the alternate uImage soon.

Thanks to Yaman

The alternate kernel uImage seems to have solved the panic on boot.
I'm still left with a number of very serious problems:

* USB gadget behaiour doesn't reliably work on reboots (about 1/3
works). I have to remove power from the board to get it back.
* RS232 becomes badly corrupted (bit corruption in both directions)
when the OTG cable is connected. It's so bad as to render the board
unusable. Because USB gadget behaviour does not reliably resume I have
no other way to contact the Beagle.

The RS232 corruption is quite strange. During boot the console output
is perfect. I don't think there is anything wrong with the RS232 path.
I think the corruption is occuring within the beagle.

Has anyone else got these problems?
Have I got a broken board?

I also experience the character corruption in the RS232 terminal - I
usually can't get past the login prompt if I don't erase the incorrect
characters in the terminal first. There may have been some previous
discussion regarding this issue on the mailing list, it was something
similar to the terminal thinking the board was a modem device and
sending it modem control characters IIRC. I haven't been able to look
into it myself though.

I always have to manually insert the usb gadget kernel module but it
always works for me afterwards. Perhaps it's another issue.


I slowed the link to 57600 and it is now reliable. I suspect noise.
Some characters were delayed in output, like the stop bit was missing
from what was received.

I first used "stty speed 57600" to test a running system and this had
a dramatic improvement in reliability. Then I added this to

Now I need to figure out how to edit the normal.scr U-Boot script so I
can get the boot console on the same baud rate. Anyone know how to
edit these files?

I've mostly got CDC ethernet working via USB OTG now. The g_cdc module
doesn't work properly. There's a race in reporting interface
readiness. I can now plug in the BB and usb0 self configured so I can
ssh in when the interface comes up on my host PC.