Posted by Eric Huang on May 3, 2018
USB Dual Role replaces USB On-The-Go
As product makers move from USB 3.0 to USB 3.1 (and soon USB 3.2), they also move to USB Type-C. With Type-C, this means the connector is the same on all products. PCs and phones. Media players (remember those) and cameras and flash drives.
So no more A, micro-B, or micro-AB connectors. Only Type-C
Consumers can buy just one cable, and use it for everything. No more mixes of different cables.
Phones can be dual role devices (DRD). A DRD can be either a host or a device.
A phone is a device (connected to a PC) or a host (connected to a printer).
The USB On-The-Go standard defined that.
What happens when you connect one phone (DRD) to another phone (another DRD)?
OTG defined this.
The bottom line: OTG defined specific way to have a USB product switch between host and device. It isn’t needed anymore for USB 3.1 going forward. Dual Role, role switching is done automatically via context switching. This means, if you are going to play music to Type-C connected headphones, the phone will automatically switch to Host mode and play audio to the attached Type-C headphones. OTG isn’t needed because the role switching is done at the application or software. This works for all speeds of USB using Type-C.
More detail which maybe clarifies this a little.
Moving to Type-C means moving away from USB On-The-Go.
A primer on the old OTG standard
The USB OTG standard was defined all the way back in 2001-2002 as a way to have products (in those days flip phones) act as a host or a device. As a device it would connect to a PC (with a USB host) so the PC could upload/synchronize phone numbers and address easily. As a Host it was going to be able to connect directly to another phone.
See the picture below.
Basically, the actual connector for the micro-B and micro-AB. The hardware would determine the role if the phone (The dual role device).
But if you connected an OTG phone to another OTG phone, then how would they know how to talk to each other. (to exchange Brittney Spears songs or when buying a new phone and synchronizing contacts). OTG defined how to do that.
With Type C all of this goes away. OTG isn’t needed any more.
Instead with USB 3.1 the Dual Role part is defined, and OTG goes away. All of the role switching must occur at the application or software level. In other words either the user will need to manually switch a phone from device to host, or the software will do it based on context.
For example, if I want to (in a wired way) browse to my friend’s phone and pull photos, I would make the request, my friend would accept the request and give access, and allow me to browse. The negotiation would happen in the background and a transfer would occur.
I am fully aware wireless is finally at a point where if you have the right printer, you can print wirelessly directly to a printer. And you can text pictures in an instant (as long as you have a great data plan on your phone).
If we ignore the phone example for a moment, but have a portable device of super low price, that may not have a wireless software driver for printers, but might have a Linux driver for a printer, it will be possible to plug in the android device to a printer and the android device would role switch to become a host, treat the printer as a printer, and then print directly to the printer. A great example of this is some kind of hand-held terminal that needs to print receipts like at a car rental return, where the volume is high, and the cost needs to be low. Again, wireless is better, but we can imagine when wired data exchange is better, the USB feature works. With Type-C, the portable device could be charged while it was printing because power flows both way.
Probably the most frequent killer use case for the Dual Role Device is for the device with a single port. That single port must be a device most of the time, but occasionally needs to be host to connect to a mass storage drive. So the user can off load, backup, or access files or media on a flash drive quickly. In this case, the device must be able to act as a host.
For the incremental cost to have a DRD on the product, it’s trival for area to the solution. Software can enable the feature when needed, and one version of the silicon.
Here’s a letter from last summer I found quite entertaining. Follow the link and read away.