Friday, April 30, 2021

Wireless Router

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
The PCB date code is 1434, about 2014 August time frame.  QCA9553 is more powerful and more integrated than AR9130 used on the other router.


J3 is a 4-pin UART connector,

  1. TX (2.6V)
  2. RX
  3. GND
  4. 3.3V
Note the I/Os are 2.6V.  TX has no problem driving 3.3V UART receiver; there appears to be a few resistors in series with the RX pin, so it could be driven with a 3.3V input, but it may be prudent to add another 1K resistor in series.

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.


No comments:

Post a Comment