Powering a Nexus 7 tablet through the USB port while simultaneously connecting a USB device

The links in this article are for informational purposes only. Please read the final paragraph of this article before you actually do anything based on these links.

If you have ever tried to connect a Nexus 7 tablet to an external USB device, such as a USB memory stick or a wired network adapter, you know that you need a special “OTG” cable and that the tablet will power the 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. At best you can send power to the connected device, reducing the drain on the battery in the Nexus 7, but you cannot send power back into the Nexus 7 simultaneously, even though you can charge the Nexus 7 while you are using it if the charger is the only thing you have connected.

There is a way around this but it involves “rooting” the device. If you don’t know what “rooting” a device means, or the implications of it, you’ve come to the wrong place because we’ve never done it – the mere thought of turning our Nexus 7 into an expensive brick is enough to dissuade us from trying it. However, in the course of trying to research this, we came you with links that might be useful to Nexus 7 owners that are braver (or maybe bigger gamblers) than we are.

The key to this is “Timur’s Kernel” – if you remember nothing else from this article, remember “Timur’s Kernel”. As we searched for information on this, time and again, we were sent back to this message thread:

Timur’s Kernel – USB ROM – USB Host Power Management – USB Audio (RootzWiki)

SOMEWHERE in that thread, which as of today is 358 pages long and still growing, is the information you need. Actually, the meat of it is in the very first post on page 1, with additional explanation on page 7. If you don’t feel like wading through all of that (seriously, who reads a thread that long?), the following page pretty well summarizes what you need to know. Just keep in mind that you probably don’t have to make your own cable if you don’t want to; there is almost certainly a cable available at eBay or Amazon that would serve the purpose, although you might need to search that long thread to figure out which one(s) will work:

USB host mode power management extension for Nexus 7 (mehrvarz.github.io)

Oh, and if you have ever wondered why you need a special “OTG” cable to connect an external device, it’s because pins 4 and 5 must be shorted together at the micro USB connector — some folks have made their own (also see here), though we DO NOT recommend that because they are fairly inexpensive to purchase, and if you do it wrong you could damage your device. On some other devices, you can use a particular value resistor (which varies depending on the model) instead of a direct short, and that indicates that the device should both send data and allow charging simultaneously, but that doesn’t work with a Nexus 7. That’s why you need “Timur’s Kernel” — as we understand it, it basically bypasses the (non-existent in the Nexus 7) circuitry that detects the resistor, and acts as if the resistor were present, thereby allowing the Nexus 7 USB port to be used for charging and transferring data simultaneously.

We are not recommending you do this, nor are we attempting to discourage you, but if you don’t understand the implications of rooting your device then we suggest you don’t do this until you have read up on the subject of rooting an Android device, and fully understand and accept the risks of rooting. And if you decide to proceed, do so at your own risk, realizing that there is a very real chance you could turn your Nexus 7 into an expensive paperweight. If that should happen, don’t come crying to us, because we warned you!

If you actually do this and get it to work, please feel free to post a comment. If possible, please mention which cables or Y-adapters, etc. you used. Also, if you find any other particularly informative pages in that much too long thread, please feel free to post the links and mention why they are significant.

The Linux equivalent of Little Snitch, ZoneAlarm, and similar per-application firewalls?

Important
This is an edited version of a post that originally appeared on a blog called The Michigan Telephone Blog, which was written by a friend before he decided to stop blogging. It is reposted with his permission. Comments dated before the year 2013 were originally posted to his blog.

EDIT: This article is very old and outdated. For more current information, see OpenSnitch: The Little Snitch application like firewall tool for Linux.

If you are a Mac user, you’ve probably heard of Little Snitch.  It’s a commercial (as in, not free) program that lets you allow or deny connections to the Internet from individual applications.  One reason for using such a program is to detect software that should have no reason to connect to the Internet nevertheless attempting to do so.  For example, you download a free screensaver (dumb move to start with) and it sends all the personal information it can find on you to some group of hackers on the other side of the world.  A program like Little Snitch would let you know that the screensaver  is trying to connect to the Internet, and allow you to deny that connection.  In the Windows world, I believe that ZoneAlarm has a similar capability, and it’s also a commercial (as in, not free) program.

Leopard Flower personal firewall for Linux OS screenshot
Leopard Flower personal firewall for Linux OS screenshot

It appears that these is a similar program for Linux users, and it IS free!  It’s called Leopard Flower and it’s described as a “Personal firewall for Linux OS (based on libnetfilter_queue) which allows to allow or deny Internet access on a per-application basis rather than on a port/protocol basis.”

Looking at the screenshot it appears to have very much the same per-application blocking functionality you’d get in one of those other programs.  I have not personally tried it yet, but I wanted to create a post about it so if someday in the future I am trying to remember the name of this program, I’ll know where to find it (yes, this blog does sort of serve as my long-term memory!).  🙂

Since this article was originally published, I have been made aware of another similar application called Douane: Linux personal firewall with per application rule controls – here are a couple of screenshots:

Douane personal firewall for GNU/Linux screenshot
Douane personal firewall for GNU/Linux screenshot
Duane configurator screenshot
Duane configurator screenshot

The only downside to this one is that as of this writing the only available package is for Arch Linux but if you want to try to build it for a Ubuntu or Debian system, they provide a page showing the needed dependencies.

There is an older similar program called TuxGuardian but apparently is hasn’t been updated since 2006, so I have no idea if it will even work with current versions of Linux. And as for you Android users, try the NoRoot Firewall app.