28

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?

1 Answer 1

34

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.

8
  • 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
    Commented Aug 11, 2013 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
    Commented Aug 11, 2013 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
    Commented Aug 11, 2013 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
    Commented Aug 11, 2013 at 21:10
  • 1
    @Dan Hulme: I don't think it is a different question, thanks anyway.
    – Omne
    Commented Nov 24, 2013 at 17:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .