Run DB410c with Ubuntu as a USB device

I’m trying to get my DragonBoard 410c to function as a USB device rather than as a host. I’m running with the 15.07 release of Ubuntu. All the DIP switches on the back of the board are off. Note that I’ve been having ssh problems with the board, so I usually work with a keyboard and mouse plugged into the board, in which case it operates as a USB host.

I tried a little test to make the board appear to be a serial device:


ls /dev/ttyG*                # to confirm there's no serial device
lsmod                        # to list loaded modules
sudo modprobe -v g_serial    # to load the USB serial gadget
lsmod                        # to see that the gadget and dependencies loaded
ls /dev/ttyG*                # to confirm there's a new serial device

Then I plugged the board into a laptop via the micro USB connector. At that point, the keyboard and mouse connected to the board stopped working, as expected, presumably because the hardware detected the OTG connection and switched from host to device mode. On my laptop, I expected ls /dev/ttyA* to show a new serial device and I expected lsusb -t to show a new USB device connected; neither showed any indication that a new device was connected to the laptop.

Then I unplugged the board from the laptop and the keyboard and mouse started working again. I tried a couple of the other USB device gadgets (g_zero and g_ether) and had similar results. I also confirmed that the laptop properly recognizes another USB serial device I have.

Any idea of how to get the board to be recognized as a USB device by another computer? Am I missing a step?

I got my laptop to recognize the board as a serial device. It works if the board is already connected to the laptop when the board boots. It doesn’t seem to matter if I have my keyboard and mouse plugged into the USB A ports.

BTW, I saw another thread about making ssh work by first pinging the remote machine from the board. That seems to work for me, too, so I don’t need to use the keyboard and mouse (and monitor) anymore.