OpenMoko USB vendor ID

Werner Almesberger werner at openmoko.org
Fri Jan 4 10:56:11 CET 2008


OpenMoko has recently obtained its own USB vendor ID. We now have the
opportunity to replace FIC's ID with our own. There are the following
place where we use that ID:

- u-boot: CONFIG_USB_DFU_VENDOR
  This is the USB ID DFU puts in the trailer of the u-boot.udfu it
  produces

- u-boot: CONFIG_USBD_VENDORID
  This is the ID u-boot's USB advertizes (for the ACM console and DFU),
  and it's also the ID u-boot accepts in the trailer of an incoming
  u-boot.udfu

- kernel: CDC_VENDOR_NUM, RNDIS_VENDOR_NUM
  These are the IDs the Linux-USB Ethernet gadget and RNDIS advertize.

In Dash/HXD8, where we made a similar transition a coupld of months ago,
we just kept the old product IDs. I think this also makes sense for
GTA02. To keep things simple, I'd suggest to keep the FIC vendor ID for
GTA01 u-boot in any case.

Dependencies:

- systems that identify USB functions by vendor/product IDs need to
  update their ID database (as far as I know, this would be the case
  for Windows)

- users of dfu-util -d need to switch to the new IDs (one such user
  is the devirginator, which need to change for GTA02 anyway)

- to update u-boot with DFU, one has to install a transitional
  version which only changes CONFIG_USBD_VENDORID first, then
  reboot, and then install one that also changes CONFIG_USB_DFU_VENDOR.

  u-boot updates that don't use DFU (e.g., devirgination) are not
  affected.

One unpleasant bit is that kernel vendor IDs are changed by patching
drivers/usb/gadget/ether.c, which makes the change unmergeable. Do we
have a better way to do this ?

We now have to decide whether we want to make this transition now. If
we don't do it now, the next opportunity would be only in products
following GTA02.

- Werner



More information about the openmoko-uboot mailing list