USB OTG acting as host on Angstrom

I'm trying to get my Beagleboard Rev B7 otg USB port to work as a USB
host and not having much success, largely because of my ignorance of
how Linux handles USB.

I'm running Angstrom 2.6.29 and its associated filesystem from the SD
card. It boots OK (though with several error messages such as
"[ 32.754180] uncorrectable error : <3>uncorrectable error :
<3>end_request: I/O error, dev mtdblock0, sector 0
[ 32.764373] Buffer I/O error on device mtdblock0, logical block 0"

The Board is connected to a USB hub, and the hub has a CF card reader
and a mouse plugged into it.
If I look in /dev I can't see a device sda1 (which I'd expect for the
CF card). I don't know what I'd expect for the mouse. How can I tell
if it's working or not from the console? Do I need to mount any
I think the hardware is OK - the board is powered by 5V into the DC
connector and has a proper mini A to normal B cable. The ID line is

Anyone have any fix or debugging tips?



Further to this, I've had a look at /proc/bus/usb/devices
and it contains
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 3
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev= 2.06
S: Manufacturer=Linux 2.6.29-omap1 ehci_hcd
S: Product=OMAP-EHCI Host Controller
S: SerialNumber=ehci-omap.0
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms

My guess is that this represents the OMAP's USB hardware, and it's
failing to recognise the hub that's plugged in to the OTG socket.
I wonder why.

That looks like the EHCI port and not the OTG.
I put a blob of solder to bridge J6 for OTG Host mode, but no devices on
the OTG port with a powered hub were enumerated. I can't remember if I
saw 2 busses.
I bought a USB--> Ethernet dongle and plugged into the hub on the EHCI
port and that's how I get connection to the internet via my cable modem.
The USB Wireless connection wasn't able to obtain an IP address from the
wireless router and didn't work with static address and route either.

My keyboard still doesn't get enumerated and when I try to login via the
on-screen keyboard, the mouse generates 2 characters, sometimes 3,
instead of one so the login fails.

When I did "opkg upgrade" it replaced the 2.6.29-r37 kernel with
2.6.29-r35+git and right now I am using wget to fetch the unstable
packages to try an upgrade from the local directory.

Thanks for your reply, Sid.
I just found an earlier posting of yours where you said it wouldn't
work with 2.6.29-r37, so I decided to try 2.6.28-r17 instead, and
using the same filesystem but the 2.6.28-r17 versions of uImage and
modules it now works. Without doing anything clever it now enumerates
the external hub, the CF card reader, mouse and keyboard. They all
seem to work OK.
Therefore either there's a bug in the 2.6.29-r37 release or I made a
mistake and copied the wrong file somewhere.
I'm now going to get a USB - ethernet adaptor and try that.
All the best,

Hmmmmm... I would have thought the later image would have worked, so I
never considered a previous version.

I just downloaded the unstable distro built using Koen's Narcissus
online utility and just having a look before trying it later tonight.
If that's not successful I shall try 2.6.28-r17.

The unstable version works fine with one exception in that it doesn't
seem to pay any attention to /etc/network/interfaces, so it ignores
static IP for eth0 and the wireless dongle (rt2500usb) doesn't come up.
root@beagleboard:~# iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

wmaster0 no wireless extensions.

wlan0 IEEE 802.11bg ESSID:"TalkTalk520"
          Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
          Tx-Power=15 dBm
          Retry min limit:7 RTS thr:off Fragment thr=2352 B
          Encryption key:off
          Power Management:off
          Link Quality:0 Signal level:0 Noise level:0
          Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
          Tx excessive retries:0 Invalid misc:0 Missed beacon:0

root@beagleboard:~# iwlist scan
lo Interface doesn't support scanning.

eth0 Interface doesn't support scanning.

wmaster0 Interface doesn't support scanning.

wlan0 Interface doesn't support scanning : Network is down

root@beagleboard:~# ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 00:0E:2E:E3:80:9B
          BROADCAST MULTICAST MTU:1500 Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

The keyboard (el-cheapo) works with another box, swapped it with that
box's Kensington keyboard which works on the beagleboard. Seems all
keyboards are not made equal.
Everything on the EHCI port is OK now, haven't tried the OTG port in
Host mode again yet.

Forgot to mention the USB ethernet is OK, but it always gets an address
via dhcp.

The PID for the USB wireless dongle.
13449 ? Ss 0:00 /usr/sbin/wpa_supplicant -B -P
/var/run/ -i wlan0 -D wext -C