[beagleboard] Beagleboard as Android device (USB OTG)

Hello all,

I have been trying to get my Beagleboard to act as a device with the view
to downloading Android packages to it. As usual, the information isn't
contained in one place in the TI literature (I am using Froyo). I have a
USB mini-A connector in the OTG port. I am led to believe that mini-A is
correct if I want to use the board as a device. Is this correct?

No, you'd use a mini-B. A is for host and B is for device.

Why are you using such old code (Froyo)? Have you taken a look at
http://arowboat.org (linked to off of http://beagleboard.org)?

If you have at least a Rev C4 BeagleBoard (256MB RAM), you can start with
the TI Android build:
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/TI_Android_GingerBread_2_3_DevKit_1_0/index_FDS.html

Next, I plug the other end of the device into a Windows PC where I am
using USBLyzer to examine the traffic. First of all, I get no traffic. I
expected the device would provide its vendor ID and product ID so that the
operating system could load in a driver for it. I don't even get the "USB
device has arrived" sound in Windows.

I don't know which Froyo you are using. Best guess here is that you are
using the wrong cable, since you say you are. I don't even know where you
found a Standard-A to mini-A cable.

Now, I have programmed USB interfaces on ATMEL boards to provide my own
vendor ID and product ID. I expected that the board itself would provide
these IDs. Examining these instructions:

   - Make sure that the mini-usb cable is connected between the host usb
   port and the target’s USB OTG port (Note, no mention of physical
   connection!)
   - Turn on "USB Debugging" on your board. On the board (UI screen)-
      - Go to home screen, press MENU,
      - Select Applications, select Development, then enable USB
      debugging.
      - Alternatively, you can navigate to
      Settings->Applications->Development and then enable the "USB debugging"
      option.
   - Setup host machine to detect the board. On Ubuntu Linux host
   machines this is done by adding a rules file to configure device vendor ID
   of on-board OMAP device.
   - For the EVMs and Boards covered here, the vendor ID is "18d1".

The instruction: On Ubuntu Linux host machines this is done by adding a
rules file to configure device vendor ID of on-board OMAP device.

Shouldn't that be "*detect* device vendor Id"? It starts off with detect
but then says *configure* on-board OMAP device.

What am I missing? Why isn't the board providing the Vendor Id and Product
Id? Do I need another Kernel module?

Are you connected up to the serial port on the board? Perhaps you can
capture a serial log and share it? It would help to know the USB gadget
driver is getting loaded.