USB Wrapper project

in open source by DP | 11 comments

TKIfRdl

scasagrande has designed this USB wrapper project, that is available at Github:

Have you ever wanted to charge your smartphone by using your computer, but you didn’t want all of your sync software to load? Maybe you want to use a friend’s computer but you don’t really want Windows to start trying to install drivers and for your device to open in USB transfer mode. Or maybe the power source is simply untrusted and you want to avoid a potential attack.
Inspired by the USB Condom, the USB Wrapper helps with the above by severing the USB data lines and only allowing the power lines to connect through. This ensures that no data information can be transfered between the power source and your device. This helps against known attacks such as  juice jacking

This entry was posted in open source and tagged , .

Comments

  1. Tarmo says:

    Could it just be simpler if you take a simple USB cable, cut into the rubber sleeve by not damaging the wires inside, cut the data wires and later simply patch up the sleeve and voila, you have USB wrapper ready in ~10 min for free when used scrap USB cable.

    • arhi says:

      not really as number of devices will not charge if D+ D- are open. They either require a communication or they need to know they are on the charger (indicated by some resistance between D+ D- or D+/D- to Vdd/Vss .. different for different devices)

      what is problematic with this project is that most devices when they are in the “charger” mode (that this project simulate with resistors and you chose device type with switches) have no current limiting so they can pull 1A or some even 3A from the USB so if there’s no protection on your usb port it can burn out

      • Its true, there is no current limiting on my board. I decided it was best to leave it up to the user and the devices to manage this themselves. Different fuses for each setting would have only increased the BOM and not helped against the user selecting an incorrect setting. I could include detection for when the 5V line sags too much, but many devices already do this.

      • arhi says:

        If I was making this device I would not add current limiting myself too, I just would never connect this to my computer but use it to charge devices that don’t want to charge from only Vss-Vdd from a DC source… What I’d do differently is
        – instead of input USB port I’d put a DC barrel port
        – after DC barrel port I’d add some buck boost dcdc 5V 3A regulator so that I can charge my device from 1V to 12V input

      • It’s mostly targeted towards untrusted USB power sources, not for plugging it into PCs. Naturally if you connect an iPad to this and your PC with the switches set to Apple 2.5A you’re asking for trouble. That said, PC ports are *suppose* to limit current draw to 100mA unless an enumerated device asks for full power.

        I like the suggestion of the barrel jack so I may add the footprint for it. However I am keeping the USB port as USB power sources is the entire point of this project.

      • arhi says:

        ah I did not suggest your device is no good :D just what I would do (’cause what I need is obviously different from what you need) :D

        as for the limiting, I’m yet to see one that actually limits it … few just can’t give more then 500mA so they “crash”, the 100mA limiting I’m yet to see… 100% of asus and gigabyte motherboards I tested so far don’t limit 100mA, some do have limit to 500mA and some have a switch to override the 500mA limit but none has the 100mA limit. Few laptops (one asus) I seen the power off limit, so they don’t limit 100mA but measure consumption and if you go over 100mA (or 500mA) they power off the port. Not a single desktop I tested does that.

        As for the “adding barrel”, yes that might be the very useful device, have both usb and barrel (with dcdc on the barrel) .. might be interesting

      • Haha, fair enough. And yeah its true, I’m pretty sure very few motherboards actually correctly limit the current draw.

        I might have to save the DCDC converter bit for a future revision. I’m also thinking about making an “advanced” version which can include stuff like that. That way I can have 2 versions: the simple one for people looking for the basics, and the advanced one with things like USB enumeration, current draw monitoring (via a bar graph or something), DCDC converter, etc…

    • As already mentioned, a lot of devices will simply refuse to charge if you do that. And, if they do, they will only draw 500mA.

      The feature that sets this project apart (which was missed in the blog post here) is those selector switches and resistors.

    • Tarmo says:

      Well yes, for iPads and powerful tablets, they use much more juice to charge. Asus TF101 used something around 18V (don’t have it anymore, can’t remember) and used special two row USB plug.
      This just proves that Apple want’s to make people’s lives more difficult.
      I understand if this is necessary for devices to use D+/- to request more juice.
      I stand corrected

  2. Philip says:

    Hi There! ive made one these myself – i designed a board and tried it with eagle up. Never had the chance to send it to fab :( the eagle up attemp can be found here http://labratsgonewild.com/blog/eagle-up-the-first-attempt/

    can my files be hosted on the same git as another version? im just hinking of throwing it out there before it becomes lost in my drive :)

    It can charge moto/samsung and apple :)

  3. mossmann says:

    Has anyone tried leaving D+/D- connected but low-pass filtering them to eliminate data transmission?

Leave a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notify me of followup comments via e-mail. You can also subscribe without commenting.