I have a couple of old routers that have been replaced by more advanced ones. So it is time to hack them for other use. A wireless router is an embedded computer with wireless connection; so it is good for IoT applications. A lot of old inexpensive routers have 32MB RAM and 4MB Flash, which is rather limited for more advanced router application. OpenWRT no longer supports this type routers. It'll be good to branch off OpenWRT to support this type of routers for IoT. We looked at one such router earlier.
Here we take a look at TP-Link TL-WR841N, Ver 9.2. 300Mbps wireless N router, with 4x 100Mbps ethernet ports. The main components are
- Qualcomm Atheros QCA9533-AL3A SoC
- 24Kc MIPS processor with 64KB I-Cache and 32KB D-Cache at up to 650MHz
- 25MHz clock input
- 1.2V switching regulator for core voltage. 2.62V LDO for DDR1 and GPIO.
- RF 20/40MHz band 2.4GHz OFDM for 802.11b/g/n, 2x RX/TX
- Zentel A3S56D40GTP-50L
- 256Mb (16Mx16) 2.5v DDR400 200MHz @CL3xTSOPII-66.
- Spansion S25FL032P
- 32-Mb 3V Flash memory QUAD I/O 80MHz clock 40MB/s.
- BCD's AP3502E
- 340KHz fixed frequency 2A synchronous buck converter
- 3.3V output
J3 is a 4-pin UART connector,
- TX (2.6V)
- RX
- GND
- 3.3V
The last OpenWRT version for this router is openwrt-18.06.8. We get the boot message from the UART,
U-Boot 1.1.4 (Build from LSDK-9.5.3.16 at Nov 29 2013 - 10:46:36)
ap143 - Honey Bee 1.1
DRAM: 32 MB
Flash Manuf Id 0x1, DeviceId0 0x2, DeviceId1 0x15
Flash: 4 MB
Using default environment
## Booting image at 9f020000 ...
Uncompressing Kernel Image ... OK Starting kernel ... [ 0.000000] Linux version 4.9.214 (buildbot@0d27b924961c) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r7989-82fbd85747) ) #0 Thu Feb 27 21:25:59 2020 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 00019374 (MIPS 24Kc) [ 0.000000] SoC: Qualcomm Atheros QCA9533 ver 1 rev 1
BusyBox v1.28.4 () built-in shell (ash)
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
OpenWrt 18.06.8, r7989-82fbd85747
-----------------------------------------------------
We can interact with it through the ash shell. Next we'll try to rebuild the firmware from the source and start to tweak.