It turns out that the brouhaha over certain manufacturers’ reactions to the FCC ruling to prevent 3rd-party software from taking wireless routers out of their approved emissions range is valid. I bought a TP-Link WR1043ND v3 router to compliment the existing v2 router I bought several years ago. I have a point-to-point setup with OpenWRT on both ends. It turns out that TP Link has indeed started locking down their routers to prevent third-party firmware installations. (I had hoped that buying the older V3 would get around this, but apparently not so.) Setting up OpenWRT is now a little bit (but not much) more difficult than it was on these routers.
Fortunately, it seems that TP-Link has only locked down the web interface to prevent third-party firmware installation and downgrading factory firmware. You’ll get an error 18005 if you try this. TFTP still works. In the end, the steps to flash were the following, based on the information at the OpenWRT wiki. You’ll need a Linux machine with DNSMasq installed.
- Download the factory OpenWRT trunk image for the WR1043ND v3. Currently as of July 7, 2016: https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/openwrt-ar71xx-generic-tl-wr1043nd-v3-squashfs-factory.bin
- Rename the OpenWRT file to wr1043v3_tp_recovery.bin
- Move the file to /tmp
- Set your NIC’s address to 192.168.0.66 and hook up the router, but don’t power it on yet.
- Use DNSMasq as a quick tftp server with the following command: dnsmasq -d –enable-tftp –tftp-root=/tmp
- In another terminal window, use tcpdump to view traffic on your NIC.
- Hold down the router’s reset button and power it on.
- Hold the reset button until tcpdump shows the file transfer.
- Wait 5 minutes
The OpenWRT build doesn’t have the web GUI installed. Fortunately, that’s easy to fix:
- Use SSH to log into email@example.com
- Hook the router’s WAN port to a LAN switch (to give it Internet access)
- Run opkg update && opkg install luci on the router
- Run reboot on the router
- Visit 192.168.1.1 and enjoy
Enough ranting. Here’s the cool part: OpenWRT didn’t support it at the time. No, wait, that’s not the cool part. The cool part is, I accidentally got a custom build of OpenWRT onto the thing after investing in a USB TTL serial adapter and flailing around with OpenWRT’s source code. Wait, that’s still not the cool part.
I don’t remember how I got it working. It was towards the end of last semester, and last semester was two forevers ago in computer years. I posted on the OpenWRT forum but didn’t get any response, and I didn’t know enough about OpenWRT’s internals to submit a patch, so I slapped my hackish build onto the device and immediately forgot about it.
But! A hardworking developer who goes by the handle SaltwaterC took the time to figure out this pesky little device and made some nice builds and patches. That’s the cool part. Thanks, SaltwaterC!
If you have one of these, don’t throw it out! They actually work great with OpenWRT, especially if you can rescue one from the bargain bin at your local thrift store.
The ailing Routerboard 411 in one of my previous posts has been sitting in a plastic tub under my bed awaiting replacement capacitors, a sudden level-up in my soldering ability, and a dramatic increase in my level of confidence in not destroying things by jabbing at them with a giant heating element. I still have none of the three; however, one of my friends donated his time and effort and replaced the four dead capacitors for me. (Thanks, Will! I owe you a gift card.)
Now that the capacitors have been replaced, I’ve put OpenWRT on the device for good. The instructions here are dubious. I did things the manual way according to this blog post, starting from the point after I had booted into OpenWRT’s ramdisk image as detailed in my previous post about this router.
My father uses a WISP for his Internet access. His equipment malfunctioned recently and a technician came out to examine the antenna. He discovered that the circuitry inside it had failed; instead of throwing it away, he offered it to me.
Meet the MicroTik Routerboard 411.