This device is NOT RECOMMENDED for future use with OpenWrt due to low flash/ram.
DO NOT BUY DEVICES WITH 4MB FLASH / 32MB RAM if you intend to flash an up-to-date and secure OpenWrt version onto it! See 4/32 warning for details.

1) This device does not have sufficient resources (flash and/or RAM) to provide secure and reliable operation.
This means that even setting a password or changing simple network settings might not be possible any more, rendering the device effectively useless. See OpenWrt on 4/32 devices what you can do now.

2) OpenWrt support for this device has ended in 2022.
19.07.10 was the last official build for 4/32 devices.

Devices with Broadcom WiFi chipsets have limited OpenWrt supportability (due to limited FLOSS driver availability for Broadcom chips). Consider this when choosing a device to buy, or when deciding to flash OpenWrt on your device because it is listed as supported. See Broadcom WiFi for details.

Wireless-N150 Router with USB port.
RT-N10U B seems the same router but just black cover.

Please include only model specific information, omit bla,bla and put everything generic into separate articles
docs if you have no time to write certain stuff link to this
checks_and_troubleshooting should lead the way, do not explain this again
DO NOT provide a complete howto here! Instead groom the general HowTos.

You can also check out flash.layout article. It contains an example and a couple of explanations.

FIXME The instructions below are for Broadcom devices and only serve as an example. Don't leave them in place if they do not apply to a particular device!

This section deals with how you install OpenWrt from a device freshly opened. Plus the steps required such as reset to factory defaults if the device has already been configured

Note: Reset router to factory defaults if it has been previously configured.

  1. Install tftp (E.g. on Debian and derivatives it can be done with apt install tftp).
  2. Unplug all Ethernet cables, except one that connected to machine with tftp installed.
  3. Configure (on machine with tftp) network as follows: IP / NETMASK / GATEWAY
  4. Power off router by either unpressing power button or plugging out power cable.
  5. Push and hold reset button (Reset, not WPS one!)
  6. While holding reset button, power on router and wait until power led will start to blink slowly. Then release reset button.
  7. Launch tftp and issue following commands:
    mode binary
    put name_of_rom.trx
  8. Wait 5 minutes (Five! Not 2, not 3, not 4 and 30 seconds)
  9. Power off router, wait about 15 seconds, then power on. It will take a little time to boot OpenWrt, but then you should be done.


If you have already installed OpenWrt and like to reflash for e.g. upgrading to a new OpenWrt version you can upgrade using the mtd command line tool. It is important that you put the firmware image into the ramdisk (/tmp) before you start flashing.

LuCI Web Upgrade Process

Terminal Upgrade Process

  • Login as root via SSH on
  • Use the following commands to upgrade.
cd /tmp/
sysupgrade /tmp/
  • If sysupgrade does not support this router, use the following commands.
cd /tmp/
mtd write /tmp/ linux && reboot

Basic configuration After flashing, proceed with this.
Set up your Internet connection, configure wireless, configure USB port, etc.

The default network configuration is:

Interface Name Description Default configuration
br-lan LAN & WiFi
vlan0 (eth0.0) LAN ports (1 to 4) None
vlan1 (eth0.1) WAN port DHCP
wl0 WiFi Disabled

Numbers 0-3 are Ports 1-4 as labeled on the unit, number 4 is the Internet (WAN) on the unit, 5 is the internal connection to the router itself. Don't be fooled: Port 1 on the unit is number 3 when configuring VLANs. vlan0 = eth0.0, vlan1 = eth0.1 and so on.

Port Switch port
Internet (WAN) 4
LAN 1 3
LAN 2 2
LAN 3 1
LAN 4 0

hardware.button on howto use and configure the hardware button(s).

The Linksys WRT54GL has two buttons. They are Reset and Secure Easy Setup. Here, we merely name the buttons, so we can use them in the above Howto:

Reset reset
Secure Easy Setup ses
Architecture: MIPS
Vendor: Broadcom
bootloader: CFE version
System-On-Chip: Broadcom BCM5356U
CPU/Speed MIPS 74K V4.9 300MHz
Flash-Chip: Winbond model: W25Q64BVSIG
Flash size: 8192 KiB
RAM: 32 MiB
Wireless: Broadcom BCM5356U 2.4ghz 802.11bgn
Ethernet: Broadcom BCM5356U 10/100MB swconfig
USB: Yes 1 x 2.0
Serial: ??
JTAG: ??

Decompressing...done CFE version based on BBP 1.0.37 for BCM947XX (32bit,SP,LE) Build Date: 四 10月 6 14:20:18 CST 2011 (root@vm-gitserver) Copyright (C) 2000-2008 Broadcom Corporation. Init Arena Init Devs. Boot partition size = 131072(0x20000) Found a 8MB ST compatible serial flash et0: Broadcom BCM47XX 10/100/1000 Mbps Ethernet Controller CPU type 0x19749: 300MHz Tot mem: 32768 KBytes CFE mem: 0x80700000 - 0x8079BC00 (637952) Data: 0x80731B10 - 0x80734C80 (12656) BSS: 0x80734C80 - 0x80735C00 (3968) Heap: 0x80735C00 - 0x80799C00 (409600) Stack: 0x80799C00 - 0x8079BC00 (8192) Text: 0x80700000 - 0x80731B04 (203524) Device eth0: hwaddr C8-60-00-72-67-68, ipaddr, mask gateway not set, nameserver not set Null Rescue Flag. Loader:raw Filesys:tftp Dev:eth0 File:: Options:(null) Loading: TFTP Server. Failed. Could not load :: Timeout occured Loader:raw Filesys:raw Dev:flash0.os File: Options:(null) Loading: .. 5100 bytes read Entry at 0x80001000 Closing network. Starting program at 0x80001000 Linux version (root@asus) (gcc version 4.2.4) #1 Tue Aug 6 22:32:32 CST 2013 CPU revision is: 00019749 Found an ST compatible serial flash with 128 64KB blocks; total size 8MB Determined physical RAM map: memory: 02000000 @ 00000000 (usable) Built 1 zonelists. Total pages: 8128 Kernel command line: root=/dev/mtdblock2 noinitrd console=ttyS0,115200 Primary instruction cache 32kB, physically tagged, 4-way, linesize 32 bytes. Primary data cache 32kB, 4-way, linesize 32 bytes. Synthesized TLB refill handler (20 instructions). Synthesized TLB load handler fastpath (32 instructions). Synthesized TLB store handler fastpath (32 instructions). Synthesized TLB modify handler fastpath (31 instructions). PID hash table entries: 128 (order: 7, 512 bytes) CPU: BCM5357 rev 2 pkg 8 at 300 MHz Using 150.000 MHz high precision timer. console [ttyS0] enabled Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) Memory: 28924k/32768k available (2453k kernel code, 3844k reserved, 494k data, 160k init, 0k highmem) Mount-cache hash table entries: 512 NET: Registered protocol family 16 PCI: no core PCI: no core PCI: Fixing up bus 0 NET: Registered protocol family 2 Time: MIPS clocksource has been installed. IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 1024 (order: 1, 8192 bytes) TCP bind hash table entries: 1024 (order: 0, 4096 bytes) TCP: Hash tables configured (established 1024 bind 1024) TCP reno registered squashfs: version 3.2-r2 (2007/01/15) Phillip Lougher io scheduler noop registered (default) HDLC line discipline: version $Revision: 4.8 $, maxframe=4096 N_HDLC line discipline registered. Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled serial8250: ttyS0 at MMIO 0xb8000300 (irq = 8) is a 16550A PPP generic driver version 2.4.2 MPPE/MPPC encryption/compression module registered NET: Registered protocol family 24 PPPoL2TP kernel driver, V0.18.3 PPTP driver version 0.8.5 pflash: found no supported devices Creating 5 MTD partitions on "sflash": 0x00000000-0x00020000 : "pmon" 0x00020000-0x007f0000 : "linux" 0x00149548-0x007e0000 : "rootfs" 0x007f0000-0x00800000 : "nvram" 0x007e0000-0x007f0000 : "jffs2" dev_nvram_init: _nvram_init _nvram_init: allocat header: 2151579648, size= 32768 sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman u32 classifier OLD policer on Netfilter messages via NETLINK v0.30. nf_conntrack version 0.5.0 (512 buckets, 4096 max) ipt_time loading ip_tables: (C) 2000-2006 Netfilter Core Team net/ipv4/netfilter/tomato_ct.c [Aug 6 2013 22:31:57] NET: Registered protocol family 1 NET: Registered protocol family 10 ip6_tables: (C) 2000-2006 Netfilter Core Team NET: Registered protocol family 17 802.1Q VLAN Support v1.8 Ben Greear <> All bugs added by David S. Miller <> VFS: Mounted root (squashfs filesystem) readonly. Freeing unused kernel memory: 160k freed Warning: unable to open an initial console. set_action 0 [1 init:init_nvram +5] init_nvram for 26 RT-N10U: swmode: router repeater apnum_of_mssid_support(0x005f): [mssid] support [3] mssid ctf: module license 'Proprietary' taints kernel. et_module_init: passivemode set to 0x0 eth0: Broadcom BCM47XX 10/100/1000 Mbps Ethernet Controller hotplug net INTERFACE=eth0 ACTION=add wl_module_init: passivemode set to 0x0 eth1: Broadcom BCM4329 802.11 Wireless Controller hotplug net INTERFACE=eth1 ACTION=add [1 init:init_main +8] main loop signal/state=17 start_logger: Algorithmics/MIPS FPU Emulator v1.5 / # start_usb _ifconfig: name=eth0 flags=1043 IFUP addr=(null) netmask=(null) hotplug net INTERFACE=vlan0 ACTION=add start_lan 1028 update_lan_state(lan_, 0, 0) start_lan: setting up the bridge br0 hotplug net INTERFACE=br0 ACTION=add vlan0: cmd=14: Operation not supported _ifconfig: name=vlan0 flags=1043 IFUP addr=(null) netmask=(null) start_lan: setting MAC of br0 bridge to C8:60:00:72:67:68 hotplug net INTERFACE=vlan1 ACTION=add _ifconfig: name=eth1 flags=1043 IFUP addr=(null) netmask=(null) generate_wl_para(0x0a16): unit 0 subunit -1 num_of_mssid_support(0x005f): [mssid] support [3] mssid generate_wl_para(0x0c1c): bw: 1 generate_wl_para(0x0c21): channel: 0 generate_wl_para(0x0c22): nbw_cap: 1 generate_wl_para(0x0c23): nctrlsb: lower generate_wl_para(0x0c25): obss_coex: 1 generate_wl_para(0x0a16): unit 0 subunit 1 generate_wl_para(0x0a16): unit 0 subunit 2 generate_wl_para(0x0a16): unit 0 subunit 3 wlconf(0x0136): unit: 0, txpower: 80 _ifconfig: name=br0 flags=1043 IFUP addr= netmask= _ifconfig: name=lo flags=1043 IFUP addr= netmask= route_manip: cmd=ADD name=lo addr= netmask= gateway= metric=0 update_lan_state(lan_, 2, 0) stop_nat_rules: apply the redirect_rules! start_lan 1426 start_services 2635 # wanduck: nvram changed: x_Setting=1, link_modem=0. # wanduck: Got LAN(-1) information: # Enable direct rule [1 init:start_dnsmasq +14] begin [1 init:start_dnsmasq +14] end start_lan_port(0) 1 decomp: fname=/var/lib/misc/rstats-speed.gz TZ watchdog decomp: gzip -dc /var/lib/misc/rstats-speed.gz > /var/tmp/rstats-uncomp != 0 load: speed_count = 0 load: read source= save_path= load_history: fname=/var/lib/misc/rstats-history.gz decomp: fname=/var/lib/misc/rstats-history.gz decomp: gzip -dc /var/lib/misc/rstats-history.gz > /var/tmp/rstats-uncomp != 0 decomp: fname=/var/lib/misc/rstats-history.gz decomp: gzip -dc /var/lib/misc/rstats-history.gz > /var/tmp/rstats-uncomp != 0 load_history: load failed [1 init:start_upnp +15] config 5 start_pptpd: getpid= 1 sh: can't open '/opt/etc/init.d/S50aicloud' start_wan_if(0) update_wan_state(wan0_, 0, 0) convert_wan_nvram(wan0_) start_auth:: done update_wan_state(wan0_, 1, 0) start_wan_if(): End. vlan0: cmd=14: Operation not supported eth1: WLC_GET_VAR(psta_if): Operation not supported udhcpc_wan:: deconfig _ifconfig: name=eth0 flags=1043 IFUP addr= netmask=(null) wan_down(eth0) wan_down(eth0): . stop_auth:: done route_manip: cmd=DEL name=eth0 addr= netmask= gateway=(null) metric=0 update_wan_state(wan0_, 3, 0) update_wan_state(wan0_, 4, 3) udhcpc:: deconfig done U2EC starting ... [1 init:init_main +16] main loop signal/state=14 udhcpc_wan:: leasefail / # cat /proc/mtd dev: size erasesize name mtd0: 00020000 00010000 "pmon" mtd1: 007d0000 00010000 "linux" mtd2: 00696ab8 00010000 "rootfs" mtd3: 00010000 00010000 "nvram" mtd4: 00010000 00010000 "jffs2" / # cat /proc/meminfo MemTotal: 29084 kB MemFree: 3596 kB Buffers: 2992 kB Cached: 9092 kB SwapCached: 0 kB Active: 4748 kB Inactive: 9728 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 29084 kB LowFree: 3596 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 2404 kB Mapped: 1924 kB Slab: 6288 kB SReclaimable: 740 kB SUnreclaim: 5548 kB PageTables: 340 kB NFS_Unstable: 0 kB Bounce: 0 kB CommitLimit: 29084 kB Committed_AS: 7956 kB VmallocTotal: 1015800 kB VmallocUsed: 4288 kB VmallocChunk: 1009124 kB / # busybox BusyBox v1.17.4 (2013-08-06 22:29:47 CST) multi-call binary. Copyright (C) 1998-2009 Erik Andersen, Rob Landley, Denys Vlasenko and others. Licensed under GPLv2. See source distribution for full notice. Usage: busybox [function] [arguments]... or: function [arguments]... BusyBox is a multi-call binary that combines many common Unix utilities into a single executable. Most people will create a link to busybox for each function they wish to use and BusyBox will act like whatever it was invoked as. Currently defined functions: [, [[, arp, ash, awk, cat, chmod, chown, chpasswd, clear, cmp, cp, crond, cut, date, dd, df, dirname, dmesg, e2fsck, echo, egrep, env, ether-wake, expr, fdisk, fgrep, find, flock, free, fsck.ext2, fsck.ext3, fsck.minix, fsync, grep, gunzip, ifconfig, insmod, ionice, kill, killall, klogd, ln, logger, login, ls, lsmod, lsusb, md5sum, mdev, mkdir, mkdosfs, mke2fs, mkfs.ext2, mkfs.ext3, mkfs.vfat, mknod, mkswap, modprobe, more, mount, mv, netstat, nice, nohup, nslookup, pidof, ping, ping6, printf, ps, pwd, readlink, renice, rm, rmdir, rmmod, route, sed, setconsole, sh, sleep, sort, strings, swapoff, swapon, sync, syslogd, tar, telnetd, test, top, touch, tr, traceroute, traceroute6, true, tune2fs, udhcpc, umount, uname, unzip, uptime, usleep, vconfig, vi, watch, wc, wget, which, zcat, zcip / # [tab][tab] ls ATE lsmod [ lsusb md5sum add_account mdev add_folder miniupnpd add_multi_routes mkdir mkdosfs mke2fs mkfs.ext2 mkfs.ext3 mkfs.vfat mknod mkswap mod_account mod_folder modify_if_exist_new_folder modprobe more mount mount.ntfs mount.ntfs-3g mtd-erase mtd-unlock mtd-write arp mv arpstorm nas ash netstat asus_lp netstat-nat asus_sd networkmap asus_sg nice asus_sr nmbd asus_tty nohup asus_usb_interface asus_usbbcm auto_macclone nslookup autodet ntfs-3g awk ntp bcrelay ntpclient brctl nvram busybox ots cat pc chat pidof ping chmod ping6 chown pppd chpasswd pppoe-relay pptpctrl clear pptpd cmp printf comgt ps console pwd cp radio create_if_no_var_files radvd crond rc cru rcheck cut read_sms date readlink dd reboot ddns_updated renice del_account restart_wireless del_folder rm df rmdir dhcp6c rmmod dhcp6c-state robocfg dhcp6s route dirname rstats disk_remove run_pptpd dmesg run_telnetd dnsmasq scsi-start dosfsck scsi-stop e2fsck sdparm eapd sed ebtables send_sms echo service ecmh set_permission egrep setconsole ejusb setup_dnsmq emf sh env sigmon et sleep ether-wake smbd expr smbpasswd ez-ipupdate sort fdisk strings fgrep swapoff find swapon firmware_check sync flock sysinfo free syslogd free_caches tar fsck.ext2 tc fsck.ext3 tcpcheck fsck.minix telnetd fsck.msdos test fsck.vfat test_disk1 fsync test_disk2 get_account_list test_if_exist_account get_all_folder test_if_exist_share get_apps_name test_of_var_files get_folder_list test_share get_permission top get_phy_speed touch get_phy_status tr get_var_file_name traceroute grep traceroute6 gunzip true halt tune2fs hotplug u2ec hotplug2 udevtrigger how_many_layer udhcpc httpd udpxy hub-ctrl umount icon.ico uname icon.large.ico unzip ifconfig uptime igmpproxy usb_modeswitch igs usb_notify infosvr usbled init usleep initial_all_var_file vconfig initial_folder_list vi initial_var_file vsftpd insmod wanduck ionice watch ip watchdog ip6tables wc ip6tables-restore ip6tables-save iptables wget iptables-restore which iptables-save wl ipv6aide wlcconnect kill wlconf killall wlcscan klogd wpa_cli l2tp-control wpa_supplicant l2tpd wps_monitor led_ctrl wpsaide lld2d wpsfix lld2d.conf write_smb_conf ln zcat logger zcip login lpd / # ifconfig br0 Link encap:Ethernet HWaddr C8:60:00:72:67:68 inet addr: Bcast: Mask: UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:27 errors:0 dropped:0 overruns:0 frame:0 TX packets:283 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3577 (3.4 KiB) TX bytes:25401 (24.8 KiB) eth0 Link encap:Ethernet HWaddr C8:60:00:72:67:68 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:386 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:41913 (40.9 KiB) Interrupt:4 Base address:0x2000 eth1 Link encap:Ethernet HWaddr C8:60:00:72:67:68 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:4454 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:3 Base address:0x1000 lo Link encap:Local Loopback inet addr: Mask: UP LOOPBACK RUNNING MULTICAST MTU:16436 Metric:1 RX packets:27 errors:0 dropped:0 overruns:0 frame:0 TX packets:27 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5143 (5.0 KiB) TX bytes:5143 (5.0 KiB) vlan0 Link encap:Ethernet HWaddr C8:60:00:72:67:68 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:368 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:31293 (30.5 KiB)

Model Number

Photo of front of the casing

Photo of back of the casing

Note: This will void your warranty!

  • To remove the cover do a/b/c

Main PCB:
Photo of PCB

port.serial general information about the serial port, serial port cable, etc.

How to connect to the Serial Port of this specific device:

4 pins pin header is available, need to replace R59 and R61 with 0R resister to make serial work.

  • 1 -→ 3V3
  • 2 -→ GND
  • 3 -→ TX
  • 4 -→ RX

Serial Configuration: 115200,8,n,1

Photo of PCB with markings

port.jtag general information about the JTAG port, JTAG cable, etc.

How to connect to the JTAG Port of this specific device:

Photo of PCB with markings

  • Turn off power to the router
  • Push-and-hold the WPS button
  • Turn on power - while still pushing the WPS button (i.e. 10 seconds)
  • Release the WPS button, and the unit will reboot with “default/factory” settings
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2024/02/12 08:58
  • by