We’ve seen this small, cheap, and powerful WiFi router before. But this time it’s up to no good. [Andy] used a TP-Link WR703N to build an upgraded WiFi Pineapple hacking tool.
A WiFi Pineapple is a device spawned years ago by the Hak5 team (here’s a clip showing off the device). It uses a WiFi router that will answer to any SSID request. Basically if your computer or smart phone has an AP SSID saved and broadcasts a request to connect the pineapple will pretend to be that device and start the handshake. This provides the chance to sniff all the data passing through in a classic man-in-the-middle attack.
[Andy] is recreating the device but at a rock bottom price. He picked up this router for about $20 and added an $8 USB drive to it. The only other thing you would need is a power source and a way to hide the hardware. The code used in the Hak5 version is available for download and that’s what he worked on after flashing OpenWrt to the device.
[Necromant] recently acquired a router that was nearly free. Looking his gift horse in the mouth, he hooked up a serial port to see if it could run some updated firmware such as OpenWRT. The initial findings were promising; it used the same CPU as the very popular WR703N, but this free router only had 2 MiB of Flash and 8 MiB of RAM – barely enough to do anything. His solution to this problem is in the true hacker tradition: just solder some more chips onto the router.
Upgrading the RAM was comparatively easy; [Necromant] found an old stick of RAM, desoldered one of the chips, and replaced the measly 8 MiB chip with a new 64 Megabyte chip.
The Flash, though, proved more difficult. Without the right code in the Flash for the radio test, the router wouldn’t be useful at all. The solution was to read the original 2 MiB chip, read the Flash from a WR703, and combined the two with a simple dd command. This was written to a new SPI flash chip with a buspirate and a home etched board.
[David] is serving up files on his home network thanks to this Frankenstein’s monster of a Network Attached Storage device. It looks like he raided all the good bits from his parts bin to bring it all together.
The case is a tin box which may have been for a card/board game or some holiday treats. The hardware started with an NS-K330 server which he picked up from Deal Extreme. It has a NIC and a couple of USB ports but it tends to run really hot so he added a heat sinks to the board’s main chips. The hard drives are both 2.5″ form factor from old laptops. He uses some 2.5″ to 3.5″ mounting adapters to attach them to the tin box. A pair of USB to IDE adapters shed their cases and were solder directly to the wires which make a connection with the server’s USB ports.
There is a Linux distro specifically for this hardware but [David] wasn’t impressed with it. He ended up compiling OpenWRT for it and is satisfied with the functionality that provides.
This 3d printed case houses the already small [TP-Link TL-WR703N] but also makes room for a custom expansion board. The expansion board is designed to make the device more hacker friendly, and who doesn’t need a nice case to hold it?
Since the router board already has a USB port (intended for use with USB 3G modems) the add-on acts as a USB hub. The stock USB connector is replaced by a pin header which mates with a DIL socket on the underside of the expansion board. Through the use of an FTDI chip the expander offers three USB ports and a 2×10 pin header to break out the GPIO pins from the router’s processor. Only two USB ports are visible in the image above. That’s because the third is recessed, and an opening has not been added to the enclosure. This struck us as odd until we read that the port is meant to be used with a low-profile thumb drive, essentially adding internal storage for the device.
Like many hackers of late, [Rick] has been experimenting with connecting Arduinos to the Internet with a disused WiFi router and an installation of OpenWRT. Unlike his fellow makers, [Rick] thought it would be wasteful to dedicate a single router to one Arduino project, so he used a small, low power wireless module to connect up to 30 Arduinos to the Internet.
Just as in a few recent builds (1, 2), [Rick] found an old Fonera router sitting in a box at his local hackerspace. After installing OpenWRT, [Rick] connected a very small wireless module to the router’s GPIO pins and patched the firmware to put an SPI bus on the router.
Now, whenever [Rick] wants to connect an Arduino project to the Internet, all he needs is a $4 radio module. This radio module connects to the router, and the router handles the networking requirements of up to 30 DIY projects.
If you’re looking to build an Internet-enable sensor network, we honestly can’t think of a better or cheaper way of going about it. Nice job, [Rick].
This setup is used to control a model railroad. Well, not entirely this setup. [Gerhard Bertelsmann] already has a proper railroad controller, and it just happens to offer CAN bus communications. He’s using OpenWRT and a cheap router to connect the bus to the network.
Originally he wanted to use a Raspberry Pi board for the project, but the incredible backorder situation with that hardware led him to grab an old router. After loading OpenWRT he started working out how to connect a couple of ICs (MCP2515 and MCP2551) that will take care of the CAN bus communications. The hardware connections end up being pretty simple, with five data lines (and their pull-up resistors) connecting to the router’s serial header. From there it was a matter of mapping the device in software so that the hardware can be controlled over the network.
We like this example since CAN is used is a lot of other applications.
[Andy] needed a cheap Internet connection between a data-gathering Arduino and his home server. An Ethernet shield would suffice, but he couldn’t run CAT5 to the Arduino’s location. Wireless shields are hideously expensive, and after looking over the popular Zigbee modules, [Andy] had a few concerns about range and build complexity.
The obvious solution to this problem was getting a cheap WiFi router, flashing OpenWRT firmware on the device, and piping sensor data through the Arduino’s USB port, through the router, and over a WiFi connection to the server.
[Andy] used a TP-Link TL-WR703N wireless ‘travel router’ available on eBay £15 (~$30 USD when we checked). After flashing the router with OpenWRT, [Andy] had a wireless connection from a remote data-collecting Arduino directly to his server.
Attentive Hack a Day readers will note this is the third ‘wireless router + OpenWRT as a dev board’ build this week (first one, second one) . No, we don’t know what’s going on, or why the collective unconscious of makers around the globe decided to latch onto this type of build so suddenly. OpenWRT is available for hundreds of different routers, and anything that keeps disused routers out of the landfill (with the bonus of doing something useful) is alright in our book, so if you have another similar build, send it in and we’ll get around to it sometime.