N900 Hardware USB Host

Line 10: Line 10:
* Usermode software.  
* Usermode software.  
** The current software will not do the right thing if the user plugs in almost all devices - even if hostmode worked. To make a mouse work, you might want to enable a pointer for example.
** The current software will not do the right thing if the user plugs in almost all devices - even if hostmode worked. To make a mouse work, you might want to enable a pointer for example.
 +
 +
==Ideas for hostmode user-software==
 +
When an external power supply is found, the following should be done in sequence.
 +
 +
 +
* If the device is a charger (D+,D- short, detected by the 1707a, fast charge.
 +
* Attempt to enumerate as a device, if this succeeds (including handling of
 +
suspended busses), then enumerate and charge as a device, respecting the
 +
enumerated current.
 +
* If enumeration and a device, and charger have failed, we may be plugged into a hub or device with reverse power. Attempt to enumerate connected devices.
[[category:N900_Hardware]]
[[category:N900_Hardware]]

Revision as of 20:27, 9 May 2010

This page is for those working on the implementation of friendly USB host mode.

There are several parts to getting USB host mode working for normal users.

Some of these are quite easy, many are not.

  • USB modules for supporting hardware.
  • Understanding the BME processes interaction with the hardware.
    • Possibly creating a reverse engineered open source version, if it cannot be used properly.
  • Usermode software.
    • The current software will not do the right thing if the user plugs in almost all devices - even if hostmode worked. To make a mouse work, you might want to enable a pointer for example.

Ideas for hostmode user-software

When an external power supply is found, the following should be done in sequence.


  • If the device is a charger (D+,D- short, detected by the 1707a, fast charge.
  • Attempt to enumerate as a device, if this succeeds (including handling of

suspended busses), then enumerate and charge as a device, respecting the enumerated current.

  • If enumeration and a device, and charger have failed, we may be plugged into a hub or device with reverse power. Attempt to enumerate connected devices.