Hi All,
I’ve been playing around with getting the mini-USB pc connector to function as a second USB host (I’m using RCN’s Ubuntu, Raring, but I’d assume this would apply to Angstrom as well). There is a post here http://pansenti.wordpress.com/2013/05/27/beaglebone-black-with-two-usb-host-ports-it-can-be-done-but-its-not-easy/ decribing how to do this with some hardware modifications, but looking at the AM335x technical reference manual it looks like I should be able to set USB Port 0 to function as a host through software alone (i.e. without needing to ground the USB ID pin, or to modify anything else on the board).
So what I have done so far is modify the ‘am33xx.dtsi’ file under the ‘usb_otg_hs’ section, and change the item ‘port0-mode = <3>’ to ‘port0-mode = <1>’, which, according to ‘am33xx-usb.txt’ in the device tree documentation, should force this port to function in Host mode.
I then had a look through menu config, in the ‘Device Drivers’ → ‘USB Support’ section and there didn’t seem to be anything specifically relating to setting the mode of any particular usb port, so I left all of this unchanged.
Upon booting I can see that whereas previously I would get the following wit regards to USB0:
musb-hdrc musb-hdrc.0.auto: *** mode=3
I now get
musb-hdrc musb-hdrc.0.auto: *** mode=1
This would appear to indicate that my device tree change had been successfully applied, and the initialisation of USB port0 now looks identical to that of port1. whereas previously they were quite different.
I then customised my USB cable to have an external 5V feed (wired to SYS_5V on the expansion header) and added a female-female USB A adaptor to give me a host socket.
However, it doesn’t work.
I have checked the power rail and can see 5V on R159 on the bottom of the BBB and I have double checked that the comms wires are the correct polarity, and everything buzzes out as expected.
The device boots, and I can SSH into it. Plugging a memory stick into the standard usb host plug causes messages related to detecting and attaching a disk, but when I plug the same disk into the modified connector assembly I get noting at all.
Taking out my change to the device tree returns the mini-USB connection to normal functionality, i.e. providing a network connection, so it would appear that the hardware is all still in good working order.
So I’m wonder if anyone else has had luck using the USB OTG connection in host mode - without making any hardware modifications to the board? I all looks like it should work, so I’m guessing I’ve missed something fairly basic.
Regards,
Andrew Glen.