18.06.1 on WRT54GL?

Hi,

I have an old router that I want to put OpenWRT on, but checking this page:
https://openwrt.org/toh/linksys/wrt54g
I see that it only supports 10.03.1, which is ancient if I'm not mistaken.
Does this device have too little flash memory for the current release?
If I run 10.03.1, won't that be a mistake, since it will be running a really old kernel with tons of unfixed vulnerabilities?
Is there a way to stay current on this router?
I see that 18.06.1 works on some variation of the WRT54G, why does it work there and not on the GL?

1 Like

Not enough flash, not enough RAM. See https://openwrt.org/supported_devices/432_warning

I occasionally run Tomato on my WRT54GL, but only if I want to tinker with something specific.

1 Like

I have tomato on it right now, but it the original tomato, which has not been updated since 2010, I'm very concerned to be very hackable due to this. I understand that Tomato was forked many times, is there a current version that is still developed?
Can DD-WRT better deal with these low ram / flash devices?

Yes, big mistake.

No.

If your horse is dead, step off.
Do yourself a favor, invest $20..$40 and get a decent device with sufficient RAM and sufficient flash.

Suggested reading:
https://openwrt.org/toh/views/toh_available_864


1 Like

When I wrote "occasionally" I actually meant, "I can't remember the last time I powered it up". :wink:

I've no idea what the current state of Tomato is. As for DD-WRT, I don't know, but my guess would be, probably not. As is the nature of these things, newer versions offer more features, which require more RAM and storage.

I haven't investigated, but it might be possible to compile your own custom build of OpenWRT for the WRT54GL... maybe. It would involve leaving a lot of stuff out to strip it down enough to fit on the WRT54GL, assuming it's even possible in the first place. It'd be a learning exercise, that's for sure!

1 Like

Past unresolvable security vulnerabilities in the kernel and the wireless protocols, the long-obsolete 802.11 protocols can significantly slow down any wireless client associated with the station, or vice versa.

Given that you can buy single-board computers with wireless chips on them for US $10 or less, the old WRT54s aren't even much good for hardware hacking anymore.

1 Like

I have a GL, v18 won't fit.

Issue is the 4MB flash.

It's a damn shame, I used it now for over 10 years, with tomato on it (ancient version from 2010) and it served, not lightning fast, but usable. I totally get that 4 MB is very small and that it probably does not make sense to put effort into openWRT to support such ancient devices. It has just worked so well so far and I would not have any special requirements for it besides running a newer kernel and just well, being a wifi router, nothing more. That I won't be able to fit any more software in that is obvious. And thanks to the open firmware movement, it has seen about 7 years more life than it would have otherwise.

1 Like

Tomato, even the newer releases use Kernel 2.6 on these boxes, which makes it 100% useless. I might consider compiling OpenWRT myself, maybe I can fit 18.x on it, stripping some software away.

The devices in the series that included 8MB continue to work (I also have a WRT54GSv2 and a WRTSL54GS). But I can only use it as a wireless client. Using them as a normal router crashes them every time under full 100 Mbps load.

You can try 17.04.5. I had success installing it on a Cisco Valet M10/Linksys E1000 (4MB flash). It had about 114 KB to spare

Get a new router!

1 Like

Oh I got other routers, I just installed OpenWRT on a Netgear WNDR3700V4 that has plenty of ram and flash. I just don't want this seemingly still useful device to be trash.

1 Like

You can fit it into 4 MB flash with some tinkering, but I think 16 MB RAM makes it hopeless. I've never seen more than 3 or 4 MB free RAM on the 4/32 builds.

1 Like

Hi,

I've been playing with those routers some time ago, so I'm familiar with OpenWrt's SDK, and therefore I can confirm WRT54G is able to fit and boot OpenWrt 18.x if you are able to build your own custom firmware.

Below some info on the build I'm testing right now:

root@192.168.1.1's password: 


BusyBox v1.31.0 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r10356-1ffca55456
 -----------------------------------------------------

root@OpenWrt:/# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 1.1M      1.1M         0 100% /rom
tmpfs                     6.2M     32.0K      6.1M   1% /tmp
tmpfs                     6.2M     36.0K      6.1M   1% /tmp/root
tmpfs                   512.0K         0    512.0K   0% /dev
/dev/mtdblock5            1.5M    216.0K      1.3M  14% /overlay
overlayfs:/overlay        1.5M    216.0K      1.3M  14% /

root@OpenWrt:/# ps
  PID USER       VSZ STAT COMMAND
    1 root      1612 S    /sbin/procd
    2 root         0 SW   [kthreadd]
    3 root         0 IW   [kworker/0:0]
    4 root         0 IW<  [kworker/0:0H]
    5 root         0 IW   [kworker/u2:0]
    6 root         0 IW<  [mm_percpu_wq]
    7 root         0 SW   [ksoftirqd/0]
    8 root         0 SW   [oom_reaper]
   57 root         0 IW   [kworker/u2:5]
   63 root         0 IW<  [writeback]
   65 root         0 SW   [kcompactd0]
   66 root         0 IW<  [crypto]
   68 root         0 IW<  [kblockd]
   76 root         0 IW<  [watchdogd]
   79 root         0 IW   [kworker/0:1]
  113 root         0 SW   [kswapd0]
  246 root         0 IW<  [kworker/0:1H]
  281 root         0 SW   [irq/12-gpio-key]
  282 root         0 SW   [irq/14-gpio-key]
  445 root      1256 S    /sbin/ubusd
  456 root      1324 S    /bin/ash --login
  488 root      1040 S    /sbin/urngd
  709 root      1764 S    /sbin/netifd
  990 root      1080 S    /usr/sbin/dropbear -F -P /var/run/dropbear.1.pid -p
 1033 root         0 SWN  [jffs2_gcd_mtd5]
 1078 root      1316 S<   /usr/sbin/ntpd -n -N -S /usr/sbin/ntpd-hotplug -p nt
 1114 root      1316 R    ps

root@OpenWrt:~# cat /tmp/sysinfo/model
Linksys WRT54G/GS/GL

and here is the build configuration I've used:

CONFIG_TARGET_brcm47xx=y
CONFIG_TARGET_brcm47xx_legacy=y
CONFIG_TARGET_MULTI_PROFILE=y
CONFIG_TARGET_DEVICE_brcm47xx_legacy_DEVICE_linksys-wrt54g=y
CONFIG_BUSYBOX_CUSTOM=y
CONFIG_BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
# CONFIG_BUSYBOX_CONFIG_FEATURE_IPV6 is not set
CONFIG_BUSYBOX_CONFIG_FEATURE_KLOGD_KLOGCTL=y
# CONFIG_BUSYBOX_CONFIG_FEATURE_NTPD_SERVER is not set
# CONFIG_BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION is not set
# CONFIG_BUSYBOX_CONFIG_INCLUDE_SUSv2 is not set
CONFIG_BUSYBOX_CONFIG_KLOGD=y
# CONFIG_BUSYBOX_CONFIG_LOGGER is not set
# CONFIG_BUSYBOX_CONFIG_SHOW_USAGE is not set
# CONFIG_BUSYBOX_CONFIG_UDHCPC is not set
# CONFIG_BUSYBOX_DEFAULT_FEATURE_IPV6 is not set
CONFIG_CLEAN_IPKG=y
# CONFIG_FEED_hass is not set
# CONFIG_FEED_luci is not set
# CONFIG_FEED_packages is not set
# CONFIG_FEED_routing is not set
# CONFIG_FEED_telephony is not set
# CONFIG_IPV6 is not set
# CONFIG_KERNEL_CRASHLOG is not set
# CONFIG_KERNEL_DEBUG_FS is not set
# CONFIG_KERNEL_IPV6 is not set
# CONFIG_KERNEL_MAGIC_SYSRQ is not set
# CONFIG_KERNEL_PRINTK_TIME is not set
CONFIG_PACKAGE_block-mount=y
# CONFIG_PACKAGE_dnsmasq is not set
# CONFIG_PACKAGE_firewall is not set
# CONFIG_PACKAGE_hostapd-common is not set
# CONFIG_PACKAGE_iptables is not set
# CONFIG_PACKAGE_iw is not set
# CONFIG_PACKAGE_iwinfo is not set
# CONFIG_PACKAGE_kmod-b43 is not set
# CONFIG_PACKAGE_kmod-b43legacy is not set
# CONFIG_PACKAGE_kmod-cfg80211 is not set
CONFIG_PACKAGE_kmod-crypto-acompress=y
CONFIG_PACKAGE_kmod-crypto-crc32c=y
CONFIG_PACKAGE_kmod-crypto-hash=y
CONFIG_PACKAGE_kmod-fs-ext4=y
# CONFIG_PACKAGE_kmod-ipt-conntrack is not set
# CONFIG_PACKAGE_kmod-ipt-core is not set
# CONFIG_PACKAGE_kmod-ipt-nat is not set
# CONFIG_PACKAGE_kmod-ipt-offload is not set
CONFIG_PACKAGE_kmod-lib-crc16=y
CONFIG_PACKAGE_kmod-lib-lz4=y
CONFIG_PACKAGE_kmod-lib-lzo=y
# CONFIG_PACKAGE_kmod-mac80211 is not set
# CONFIG_PACKAGE_kmod-nf-conntrack is not set
# CONFIG_PACKAGE_kmod-nf-flow is not set
# CONFIG_PACKAGE_kmod-nf-ipt is not set
# CONFIG_PACKAGE_kmod-nf-ipt6 is not set
# CONFIG_PACKAGE_kmod-nf-nat is not set
# CONFIG_PACKAGE_kmod-nf-reject is not set
# CONFIG_PACKAGE_kmod-ppp is not set
CONFIG_PACKAGE_kmod-zram=y
# CONFIG_PACKAGE_libip4tc is not set
# CONFIG_PACKAGE_libip6tc is not set
# CONFIG_PACKAGE_libxtables is not set
# CONFIG_PACKAGE_logd is not set
# CONFIG_PACKAGE_opkg is not set
# CONFIG_PACKAGE_ppp is not set
# CONFIG_PACKAGE_wpad-mini is not set
CONFIG_PACKAGE_zram-swap=y
CONFIG_PROCD_ZRAM_TMPFS=y
CONFIG_STRIP_KERNEL_EXPORTS=y
CONFIG_USE_MKLIBS=y
CONFIG_B43LEGACY_FW_SQUASH=y
CONFIG_B43LEGACY_FW_SQUASH_COREREVS="1,2,3,4"
CONFIG_PACKAGE_b43legacy-firmware=y
CONFIG_PACKAGE_kmod-lib-crc-ccitt=y
CONFIG_PACKAGE_libiwinfo=y
CONFIG_PACKAGE_libpthread=y
CONFIG_PACKAGE_wireless-regdb=y

I've not tested the Wireless network that much, but it does not work, and it might be related to reasons already mentioned here:
https://openwrt.org/toh/linksys/wrt54g#linksys_wrt54g_wrt54gl_and_wrt54gs

However, the router works fine so far, and if this is useful or not depends on what you wanted this old device to do. I'm going to use the gpio.

Hope this helps anybody else trying to make use of those old blue linux routers.

Best regards,
Hernán.-

2 Likes

I have a GL with 64MB RAM built in.

Do you know if i could try upgrading?
I just bought 4 of those to build a small streaming LAN and am still configuring them.

I succeeded making 3 of them receivers, AP sharing was tricky and i bricked 2 devices already (could recover them!) and now i was thinking about a newer version.

somehow i am in need of that 'relayd' Package, but maybe a simple gateway can also solve my problems (?) lol

i will know soon!