Check out the new blog at , this one will no longer be updated

mercoledì 15 luglio 2015

Installing OpenWRT on SITECOM WL-326

The SITECOM WL-326 is an ethernet+3g router featuring 300 Mbps wireless and an usb port to connect a 3G modem.

This device is not officially supported by OpenWRT and not very common, so there's basically zero info on it at the moment.

First thing is to find out which SoC it uses, since it is covered by an heat spreader, best idea that does not involve the risk of destroying the board is connecting an USB-TTL adapter to the serial port which is visible on the photos.

Luckly contrary to most cases, the PCB has already written on it which pins are RX,TX,GND, so it's just matter of soldering a female o male strip header, and connect it to the adapter.

Serial port settings are 57600 8N1, and when connecting the power to the device, it's immediately visible that it is a rebrand of another device, the ESR-6670
Still no luck, it's not supported either, but at least now we know what SoC it uses, which is Ralink 3052.

Now the tricky part, bootloader only shows one option, contrary to most supported routers

Board: Ralink APSoC DRAM:  32 MB  1*32 MB
ASIC 3052_MP2 (Port5<->None)
Product Name: ESR-6670
SDRAM CAS = 3(d1835272) 

Please choose the operation: 
   1: Load system code to SDRAM via TFTP. 

So the only option is just to try it, worst case scenario if it goes wrong we'll have to reverse engineer the (likely) jtag connector visible on the photo.

This command will ask you some parameters, first one is the router IP, just hit enter ( leaving it as it is )
second one is the TFTP server IP, a default one will be shown.

Board: Ralink APSoC DRAM:  32 MB  1*32 MB
ASIC 3052_MP2 (Port5<->None)
Product Name: ESR-6670
SDRAM CAS = 3(d1835272)

Please choose the operation:
   1: Load system code to SDRAM via TFTP.

1: System Load Linux to SDRAM via TFTP.
 Please Input new ones /or Ctrl-C to discard
        Input device IP ( ==:

        Input server IP ( ==:

        Input Linux Kernel filename (40.7z) ==:rd.bin
Using Eth0  device
TFTP from server; our IP address is
Filename 'a.dlf'.
Loading: *
Got ARP REPLY, set server/gtwy eth addr (54:42:49:5f:d3:1b)
Got it
T #
 first block received

Now connect an ethernet cable between a LAN port and your machine and ifconfig it to the router ip address

ifconfig eth0 up

or something like that.

Now you can hit enter, and then it will ask the linux kernel filename, which is WRONG, that's not the linux kernel filename but the uImage filename.

Now the hard choice, finding a similiar enough device to flash this one with, and cross finger that it does not blow up, i've choosen the wr512 because it has too an usb port and an ethernet so, it's worth trying.

So download and rename it to something sane, like /home/dev/rd.bin

Now, start a tftp server, quickiest way without spending 15 mins configuring with xinetd or crap like that is

dnsmasq --enable-tftp --tftp-root=/home/dev -d

If it fails because of port already in use, append -p 3244

If it started succesfully, enter the choosen filename ( rd.bin or whatever it is ) on the serial console and hit enter, now it should flash it and reboot, but you are not done yet, because this is an image designed to work only on RAM , so any config change will NOT be saved.

But since you should have an openwrt console now and the LAN ports configured to, ifconfig your machine's interface to


Notice that now the downloaded file has "sysupgrade" in it and not initramfs-uImage.

Now from the serial console do

scp yourmachineuser@ /tmp/

Once done ( and completed succesfully of course ), do

sysupgrade -v /tmp/openwrt-15.05-rc2-ramips-rt305x-wr512-3ng-4M-squashfs-sysupgrade.bin

It will take like a min or two and then reboot automatically, after the reboot you will have the router at again.

Now login to LuCI interface, go to Network->Switch and you should see two vlans configured , vlan1 which is lan configured with the first port untagged and vlan2 which is wan configured to some other port untagged.

Now change on vlan1 the first port ( left to right ) , to off , and on vlan2 the first port ( same as vlan1 ) to untagged, and click save & apply.
That's because the router of which we flashed the firmware has the switch connected differently.

That's it now you are done , you can configure wireless and other stuff, just forget about 3G unless you replace flash memory, because it is likely that there's not enough space on flash ( unless you build a version without LuCI and with 3g and then configure with CLI ).

Update: It's possible to install 3g packages and still have 52 kbytes free, not tested because i don't have an USB 3g modem handy

Nessun commento:

Posta un commento