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?
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?
When I wrote "occasionally" I actually meant, "I can't remember the last time I powered it up".
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!
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.
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.
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
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:
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% /
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
and here is the build configuration I've used:
# CONFIG_BUSYBOX_CONFIG_FEATURE_IPV6 is not set
# 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_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_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_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-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-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_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