Saturday, 23 June 2012

WiFi bargain hunting

I recently had occasion to buy a TP-Link TL-WR702N from ebay.
The transaction itself went smoothly enough, but when I tried to use the thing, that's when the problems started.

The box it came in had a lot of Chinese writing on it - I could still see the product name, the company name, and TP-LINK in English.

I was slightly concerned when the documentation included were all in Chinese - I've upgraded the firmware for routers before, and I could download the English manuals from TP-Links web site, so I figured I could "upgrade" it with an English firmware file.

That's where the fun began.

To help you, dear reader, to appreciate the following content, let's talk probabilities. Imagine that each customer, having received the router, considers it 100% likely that they can use the router. For each hurdle some will fail.

Chance for success: 1.0

TP-Links own documentation mentioned that uploading firmware required selecting a ".bin" file from the routers web interface - a file upload - simple enough, I thought - that's how most routers do it.

Unfortunately I couldn't access the routers web interface, from Debian Linux or Windows 7 (I added Debian and Ubuntu to my Samsung laptop).

By chance I happened across another blog that told me how - by using a network cable and setting the ethernet port on my PC to

That hurdle would probably have caused 90% of customers to fail, or 1 in 10 to pass.

Chance for success: 0.1

Then I discovered that the web pages were in Chinese too.

It took a bit of trial and error network wizardry to be able to connect to the internet using WiFi and to the router via the ethernet cable, so that I could translate the web pages to English with Google translate.

That's where the fun really began.

The web pages the router served told me that I had to set up a TFTP server to provide the firmware upgrade.

Since setting up a TFTP server to deliver a file isn't a trivial undertaking, and since the TFTP server configuration varies widely depending on who/what you're serving files to, that's another severe hurdle, causing 90% of customers to fail at this step.

Chance for success: 0.01

The (translated) router web page indicated that there were 5 ways to use the router - the "repeater" mode seemed the best.

In repeater mode, the router acts as a repeater for your "main" router, plus you can connect equipment to the same network using it and and an ethernet cable.

Unfortunately, I couldn't get it to work.

Chance for success: 0.001

It was only after deciding to send it back, telling others about the problems I had, and the delay involved in trying to raise this problem with ebay, trying to cancel the transaction in Paypal (causing a server error, no less) that I tried to set up the router as a client - the way wifi dongles work, but with a network cable instead of a USB port.

It worked, as long as you remembered to set the IP address of whatever device you connect to it.

Chance for success: 0.0001

When I contacted the seller about this I was told that I didn't need a TFTP server. Incorrect.

When I contacted TP-Link about this, I was told that I could only upgrade/convert the router to English if its web pages showed traditional Chinese - routers showing simplified Chinese couldn't be "converted" to English.

Guess which one I had.

I even managed to upload updated (Chinese) firmware to it, using tftpd-hpa-5.2-2 in Debian by running the server in the same directory as the firmware upgrade.
Here's the command you need to run as root to serve that file (bye bye Windows users)
in.tftpd -4 -L -v -s --permissive $PWD
If this command completes straight away it means that it couldn't start (no error message).

You have to stop the running tftpd with

        /etc/init.d/tftpd-hpa stop


Chance for success: 0.000001

The upgraded firmware still needs a TFTP server to work, and no, it wouldn't accept the English firmware file from TP-Links web site.

I considered that a lot of customers (almost including myself) might find that the time and trouble required to enjoy this product may be more than most are willing to commit, and that ebay should take some steps to prevent this happening to other unsuspecting English speaking users, maybe by getting someone fluent in Chinese to talk to TP-Link about this.

They recommended I follow the steps they gave me to get the sellers telephone number to try speaking to him, so that we might come to some amicable arrangement.

Chance for success: 0.0000001

The sweetest thing about all this is that if I'd bought a TL-WR703N I could have just installed OpenWrt!

Some disorganized notes

There's no point trying to lay these out - I'd need to know all the possible failure routes.


Configuration changes sometimes don't take effect right away.

Try (as root) "ip neigh show", and "ip route list cache"

You can also try to see if "ip route flush cache" and "ip neigh flush dev eth0" can unwedge the system.

After a flush, "ip neigh show" and "ip route list cache" should return very few, if any, entries.

Web pages translated
See my separate blog post.

Error codes translated

Error code: 18000
Upgrade is unsuccessful, please check if you open the TFTP server and upload files in the appropriate directory.

Error code: 18001
Upload the file length error, please check the file and try again.
Error code: 18005
Version of the uploaded file does not match with the models.