23

What is the difference between USB On-The-Go (OTG) and USB Host Mode?

They seem to be more or less the same. Are they?

26

In the context of Android devices, the terms are often used interchangeably.

Host mode

USB has two different kinds of endpoint (connected device), like a client-server interface. One device is the computer (or host), and it's in charge: it's the server. All the other devices (the peripherals) are the clients, and can only communicate with the server. Usually, a device can only act in one of those two rôles: it wouldn't make sense for (say) a keyboard to be the host. That's the way the protocol works, and the connectors are designed to make that easier for users: hosts have the rectangular A connector, and peripherals have either the square B connector or a mini- or micro- version.

Host mode is a name for when a device is acting as a host. Every USB connection has exactly one device in host mode. PCs always run in host mode. (You wouldn't usually call it that for a PC, because it's not really a "mode", it's always like that.)

USB-OTG

A phone is a bit different, though. Sometimes you want it to act as a peripheral: for example, so you can plug it into a PC, so the PC can access the phone's storage. Sometimes you want it to act as a host: for example, to connect a physical keyboard or mouse to it. This is why many Android devices now support USB host mode as well as USB peripheral mode: they can act in either rôle. But how can you make this work, when a host's USB socket is different from a peripheral's?

This is where USB-on-the-go (OTG) comes in. It adds an extra pin to the micro-USB socket. If you plug a normal A-to-B USB cable, the device acts in peripheral mode. If you connect a special USB-OTG cable, it has the pin connected at one end, and the device at that end acts in host mode.

This can be a little confusing if one cable has seemingly identical plugs at either end, which do different things. But cables with USB-OTG at both ends are uncommon: it's more common to use an adaptor, which has a host-mode USB-OTG plug at one end, and a rectangular USB-A socket on the other. You can plug a normal USB cable into this adaptor, and it will work normally.

Conclusion

The names refer to two different parts of the USB technology, but they're very similar. After all, if a device "supports USB-OTG," it must support acting in "host mode". The converse is often the case, but not always. Most Android devices that support host mode do so via USB-OTG, but there are a few counterexamples: the original Asus Eee Pad Transformer, for example, has USB-A sockets in its keyboard, allowing it to act in host mode without a USB-OTG cable. And of course PCs support host mode without USB-OTG.

So although the terms are usually used to mean the same thing in the Android world - can I plug a USB stick into my phone? - and for most devices it makes no difference which you're talking about, there is a distinction.

  • Don't forget the power.... OTG requires a y-split cable for those that require external power - perhaps for a device that requires stronger power...Also USB peripheral did come into presence until after Honeycomb which introduced it. – t0mm13b Aug 11 '13 at 19:12
  • 1
    @t0mm13b Actually it's entirely possible to supply power to connected devices via USB-OTG, just as with normal USB. It's just that most phones won't supply enough power for high-current devices like hard disks: but that's to do with the specific device, regardless of whether USB-OTG or normal USB is used. – Dan Hulme Aug 11 '13 at 21:01
  • @t0mm13b I'm not sure what you mean by "USB peripheral did come into presence until after Honeycomb which introduced it." Android has always supported acting as a USB peripheral. – Dan Hulme Aug 11 '13 at 21:02
  • No, it required a custom kernel - and it was iffy support depending on the chipset, it was in Honeycomb API that the USB support came into being and became more popular in ICS upwards – t0mm13b Aug 11 '13 at 21:10
  • 1
    @Dan Hulme: I don't think it is a different question, thanks anyway. – Omne Nov 24 '13 at 17:27

Not the answer you're looking for? Browse other questions tagged or ask your own question.