OpenWrt
See also Single board computers
At home I use this router from Newegg ($66)
BUFFALO WZR-HP-G300NH 802.11b/g/n Nfiniti Wireless High Power Gigabit Router up to 300Mbps/ Open Source DD-WRT Support
I just got a BUFFALO WZR-HP-G300NH2 to use at work as a firewall.
I have also used the classic Linksys WRT54G routers and a RouterBoard with OpenWRT.
Buffalo notes
I have one minor problem, it won't start OpenVPN for me after reboots, I worked around this by simply adding a line to start it in /etc/rc.local
openvpn /etc/openvpn/alseageo.conf &
Interesting things about this router:
- It has a USB port to which you can connect an external drive.
- It has an internal TTL level serial port. Have not tried it yet.
- It has some buttons that you can access programmatically.
- It has some LEDs that you can control
There is bug in the WZR-HP-G300NH where it holds onto a WAN IP address even when the cable modem is swapped out. See the end of this page. http://wiki.openwrt.org/toh/buffalo/wzr-hp-g300h#supported.versions
Which version?
G300NH has an Atheros AR9132 SoC OpenWRT page
G300NH2 has an Atheros AR7242 OpenWRT page
They are MIPS processors
3/8/2012 I used this image: http://downloads.openwrt.org/backfire/10.03.1/ar71xx/openwrt-ar71xx-wzr-hp-g300nh-squashfs-tftp.bin
That was the wrong image. Now I have to try to unbrick the device with this one. http://downloads.openwrt.org/attitude_adjustment/12.09-rc2/ar71xx/generic/openwrt-ar71xx-generic-wzr-hp-g300nh-squashfs-tftp.bin
Flashing
http://g300nh.blogspot.com/2010/06/firmware-flash-and-brick-recovery.html
Set up
FAQ page: http://wiki.openwrt.org/Faq
Configuration page: http://wiki.openwrt.org/OpenWrtDocs/KamikazeConfiguration
Services running
- dropbear (ssh) server
- httpd server
- telnet server
- dhcp client
- dnsmasq (dns cache, server, dhcp server)
Available tools
iptables (netfilter)
The usual plethora of busybox tools.
[, [[, arping, ash, awk, awx, basename, bunzip2, bzcat, cat, chgrp, chmod, chown, chroot, clear, cp, crond, crontab, cut, date, dd, df, dirname, dmesg, du, echo, egrep, env, expr, false, fgrep, find, free, grep, gunzip, gzip, halt, head, hexdump, hostid, httpd, id, ifconfig, init, insmod, ipkg, kill, killall, killall5, klogd, length, less, ln, lock, logger, logread, ls, lsmod, md5sum, mesg, mkdir, mkfifo, mknod, mktemp, mount, mv, nc, netmsg, netstat, nslookup, passwd, pidof, ping, ping6, pivot_root, poweroff, printf, ps, pwd, rdate, reboot, reset, rm, rmdir, rmmod, route, sed, seq, sh, sleep, sort, strings, switch_root, sync, sysctl, syslogd, tail, tar, tee, telnet, telnetd, test, time, top, touch, tr, traceroute, true, udhcpc, umount, uname, uniq, uptime, vconfig, vi, watchdog, wc, wget, which, xargs, yes, zcat