USB on-the-go (OTG)- how to use the Neo1973 with USB host and an external keyboard?

Robert Michel openmoko at robertmichel.de
Sat Mar 24 12:22:56 CET 2007


Salve Koen!

On Sat, 24 Mar 2007, Koen Kooi wrote:

> > Could the Neo1973 be two or more (virtual) devices simultanious?
> > E.g. ethernet and mass storage device?
> 
> Yes, the iNdT people sent a patch to linux-usb that allow multipoint gadgets, so you can
> have g_ether, g_storage and g_char loaded.

Fine :)


> As to your other problem: rmmmod g_ether and load the ohci module.

I expected that udevmonitor would show something, even when the
right module isn't loaded, but right, when USB is in a device
mode...

  root at fic-gta01:~$ lsmod
  ModuleSizeUsed by
  rfcomm 354200 
  ohci_hcd 206520 
  hidp 123522 
  l2cap2010010 rfcomm,hidp
  bluetooth483885 rfcomm,hidp,l2cap
  gta01_pm_gsm29480 
  gta01_pm_gps60160 
  gta01_pm_bt 31040 
  root at fic-gta01:~$ modprobe -l
  /lib/modules/2.6.20.1-moko8/kernel/arch/arm/common/gta01_pm_gsm.ko
  /lib/modules/2.6.20.1-moko8/kernel/arch/arm/common/gta01_pm_gps.ko
  /lib/modules/2.6.20.1-moko8/kernel/arch/arm/common/gta01_pm_bt.ko
  /lib/modules/2.6.20.1-moko8/kernel/drivers/mmc/s3cmci.ko
  /lib/modules/2.6.20.1-moko8/kernel/drivers/net/ppp_mppe.ko
  /lib/modules/2.6.20.1-moko8/kernel/drivers/net/ppp_deflate.ko
  /lib/modules/2.6.20.1-moko8/kernel/drivers/net/ppp_async.ko
  /lib/modules/2.6.20.1-moko8/kernel/drivers/scsi/scsi_mod.ko
  /lib/modules/2.6.20.1-moko8/kernel/drivers/scsi/sd_mod.ko
  /lib/modules/2.6.20.1-moko8/kernel/drivers/usb/storage/usb-storage.ko
  /lib/modules/2.6.20.1-moko8/kernel/drivers/usb/serial/usbserial.ko
  /lib/modules/2.6.20.1-moko8/kernel/drivers/usb/net/usbnet.ko
  /lib/modules/2.6.20.1-moko8/kernel/drivers/usb/input/usbhid.ko
  /lib/modules/2.6.20.1-moko8/kernel/drivers/usb/host/ohci-hcd.ko
  /lib/modules/2.6.20.1-moko8/kernel/drivers/bluetooth/hci_usb.ko
  /lib/modules/2.6.20.1-moko8/kernel/net/bluetooth/sco.ko
  /lib/modules/2.6.20.1-moko8/kernel/net/bluetooth/hidp/hidp.ko
  /lib/modules/2.6.20.1-moko8/kernel/net/bluetooth/bnep/bnep.ko
  /lib/modules/2.6.20.1-moko8/kernel/net/bluetooth/rfcomm/rfcomm.ko
  /lib/modules/2.6.20.1-moko8/kernel/net/bluetooth/l2cap.ko
  /lib/modules/2.6.20.1-moko8/kernel/net/bluetooth/bluetooth.ko
  root at fic-gta01:~$ 

Hmm, 
"The standard Neo1973 Linux kernel has support for the "cdc_ether
 USB gadget", i.e. a standard implementation of how to emulate an
 Ethernet device over USB." 
http://wiki.openmoko.org/wiki/Getting_Started_with_your_Neo1973 
is g_ether fix inside the 2.6.20.1-moko8 kernel and no module?

From
https://svn.openmoko.org/trunk/oe/packages/linux/linux-gta01/defconfig-fic-gta01 

  # USB Gadget Support 
  #
  CONFIG_USB_GADGET=y
  # CONFIG_USB_GADGET_DEBUG_FILES is not set 
  CONFIG_USB_GADGET_SELECTED=y 
  # CONFIG_USB_GADGET_NET2280 is not set 
  # CONFIG_USB_GADGET_PXA2XX is not set
  # CONFIG_USB_GADGET_GOKU is not set
  # CONFIG_USB_GADGET_LH7A40X is not set 
  # CONFIG_USB_GADGET_OMAP is not set
  CONFIG_USB_GADGET_S3C2410=y
  CONFIG_USB_S3C2410=y 
  # CONFIG_USB_S3C2410_DEBUG is not set
  # CONFIG_USB_GADGET_AT91 is not set
  # CONFIG_USB_GADGET_DUMMY_HCD is not set 
  # CONFIG_USB_GADGET_DUALSPEED is not set 
  # CONFIG_USB_ZERO is not set 
  CONFIG_USB_ETH=y 
  CONFIG_USB_ETH_RNDIS=y 
  # CONFIG_USB_GADGETFS is not set 
  # CONFIG_USB_FILE_STORAGE is not set 
  # CONFIG_USB_G_SERIAL is not set 
  
So this must be a modul to be able to remove it and
to switch the USB port to host mode?

Isn't the Neo1973 Bluetooth connceted via USB?
Is this a second USB port? 


And does somebody have a hint how to read the gpio
to try to detec if there is a USB cable inside?
Detecting 5th USB pin to ground?


Greetings,
rob



PS: 
Any anybody knows more good documentation about usb gadgets?
http://www.linux-usb.org/gadget/
http://docs.blackfin.uclinux.org/kernel/generated/gadget.pdf

Ahh there is also a driver for an USB_MIDI_GADGET
http://rsync.ppckernel.org/modules/linux-stable/drivers/usb/gadget/Kconfig
does somebody knows a g_sound driver?




More information about the openmoko-devel mailing list