I'm trying to charge my Nexus 7 2013 while using USB-OTG.

I built the widely described Y-cable that does USB passthrough, grounds the sense pin (yellow lead) through a 100 k resistor, and connects red and black to a charger. Charging worked, but the tablet wouldn't recognize OTG devices.

The tablet does recognize OTG devices through a Samsung OTG adapter (EPL-AU10WEGXAR). So I thought, hey, downstream of the adapter let's just put a USB-A male-female 4-lead extension cable, and tap into its red and black to add a charger.

But even without a charger, the extension cable breaks OTG. Even though it works when inserted between a thumbdrive and a PC. It's just four conductors. The tablet should have no way of detecting it!

Works: tablet - Samsung adapter - OTG-device.

Fails: tablet - Samsung adapter - extension-cable - OTG-device.

How might I debug this, or otherwise make progress towards simultaneous OTG and charging?

  • 2
    I think you may need to change the kernel
    – beeshyams
    Commented Sep 17, 2016 at 16:27
  • I think you're right. I hope for a next step that's less scary than rooting the N7, but rooting might have to happen eventually. (And I'm still baffled by the extension-cable mystery.) Commented Sep 17, 2016 at 16:38

1 Answer 1


There are two different questions here

Fails: tablet - Samsung adapter - extension-cable - OTG-device..... (But) it works when inserted between a thumbdrive and a PC

  • Android devices support USB host mode ( connecting a USB keyboard or mouse ) as well as USB peripheral mode ( example you can plug it into a PC, so the PC can access the phone's storage)

  • USB OTG cable facilitates the connected device to work in host mode

  • PCs always run in host mode

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

So when you connect using an extension cable to a PC, there is no issue in detection by PC which is always in host mode.

Now, coming to the bit of why extension cable breaks OTG

From an electrical perspective, which is well explained here

To avoid potential conflicts regarding which device is host and which is peripheral, the assignment of which device is A or B is determined by the orientation of the OTG cable. This cable determines whether the signaling pin of the port it is plugged into is left floating or is pulled to ground. The device with the signaling pin pulled to ground is designated the A-Device, or default host, and the device with the floating signaling pin is designated the B-Device, or default peripheral.

By adding a USB-A male-female 4-lead extension cable to the OTG cable, you are not extending this port detection mechanism to the other end. Hence it fails detect connected device

Ii is better to shop for a longer 3 metre OTG cable instead of attempting to increase the length as experimented

Charging worked, but the tablet wouldn't recognize OTG devices

As explained in Powering a Nexus 7 tablet through the USB port while simultaneously connecting a USB device :

.... While you can purchase various kind of “OTG” Y-cables, which purportedly will allow you to use an external device (or even connect to a USB hub so you can use multiple devices) while at the same time allowing a charger/power supply to be connected, this doesn’t work with a stock Nexus 7.

(Emphasis supplied)

This is a kernel limitation and you can override that by rooting and flashing a custom kernel as explained in the linked article

Additional reading:

  1. USB on the go standards

  2. From SE Electronics: Can an Android tablet serve as USB Host and be charged simultaneously through a single port?

  • Is this limitation still in place in Android Oreo? Is there any hope of improving the situation in later releases?
    – bukzor
    Commented Sep 1, 2017 at 23:44
  • @bukzor: Sorry, no idea- i am still on marshmallow
    – beeshyams
    Commented Dec 5, 2017 at 11:34
  • 2
    2018 bump. I would really love to charge my device(s) while using OTG to connect a keyboard ... Commented Dec 25, 2018 at 9:27

You must log in to answer this question.

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