Remove Security Issues From Untrusted USB Connections

USB has become pretty “universal” nowadays, handling everything from high-speed data transfer to charging phones. There are even USB-powered lava lamps. This ubiquity doesn’t come without some costs, though. There have been many attacks on smartphones and computers which exploit the fact that USB is found pretty much everywhere, and if you want to avoid these attacks you can either give up using USB or do what [Jason] did and block the data lines on the USB port.

USB typically uses four wires: two for power and two for data. If you simply disconnect the data lines, though, the peripheral can’t negotiate with the host for more power and will limp along at 0.5 watts. However, [Jason] discovered that this negotiation takes place at a much lower data rate than normal data transfer, and was able to put a type of filter in between the host and the peripheral. The filter allows the low-frequency data transfer pass through but when a high-frequency data transfer occurs the filter blocks the communication.

[Jason] now has a device that can allow his peripherals to charge at the increased rate without having to worry about untrusted USB ports (at an airport or coffee shop, for example). This simple device could stop things like BadUSB from doing their dirty work, although whether or not it could stop something this nasty is still up in the air.

Hackaday links: July 25, 2010

Radio Receiver

If you never got the chance to build one as a kid [JoOngle] takes you through the steps to build your own radio receiver. Details are a bit scarce but it’s nothing your friend Google can’t help you out with.

Fixing a Blackberry trackball

If your Blackberry trackball stops working well you can try this non-technical fix. Remember when mice used to have a ball in them and you would need to clean out the gunk from time to time? Forcefully skidding your Blackberry across a piece of paper does a similar service.

Linux time lapse

Open source can be a great help to small businesses. Here’s a way to use a Linux machine to make time-lapse movies from┬ásurveillance┬ácamera feeds. We especially enjoy the use of a desktop wallpaper that has the terminal commands necessary to start recording.

Host a webpage with Dropbox

Here’s a way to host a simple webpage using Dropbox. It’s one of those easy ideas that you wouldn’t come up with yourself. When you place an HTML file in your Dropbox you can get a public URL which will be built as a webpage when visited with a browser.

Inline splicing

To round out the weekend here’s [Osgeld’s] tips on inline wire splicing. We laughed as he recounted spearing himself with stray strands. This is pretty simple stuff but he’s explained it well and who’s to pass up a good tip?

Mouse controlled manipulator arm

[Oleg] worked out a way to use his USB mouse to control this manipulator arm. Using a Lynxmotion AL5D (we’ve seen the AL5A previously) he drives the six servos with an Arduino servo shield. A USB host shield handles the HID end for connecting the mouse. The video after the break says it all, [Oleg] has no problem picking up that figurine quickly and accurately. Sliding the mouse controls horizontal movement in all directions. The scroll wheel moves the claw up and down. And holding the left or right buttons what using the control wheel closes or rotates the claw. All we can say is: Bigger, BIGGER!

Continue reading “Mouse controlled manipulator arm”

USB host for Propeller micros

[Micah Dowty] has implemented full speed USB host control on a Propeller microcontroller. He’s motivated by the thought of using USB based WiFi and Bluetooth dongles in his projects as ready-made solutions.We’ve seen USB host control with the Arduino and it really opens up the flood gates for advancing your projects through storage, wireless connectivity, and user interface.

So far his work is fairly preliminary but the results seen from other participants in the Parallax forums are very positive. Check out his code from the subversion repository and lend a hand with the development.

[Thanks Stefan via Adafruit]