====== Preface, Warnings, don't try this at home ====== I do very limited tested beforehand. I currently have a couple helpful users that give me constant feedback, but I post builds after I change something I find worthwhile. I need **YOUR FEEDBACK** I do not actually run this router on my network, because it's always connected to my laptop getting hacked. Maybe someone should send me one or two more. The original hacker router, Linksys WRT54G, runs a TFTP server upon bootup. Our bootloader, an ancient U-boot, has a TFTP client. It can be set to attempt TFTP download from a server. I found a good way to do this by settings to environment variables. I hope to incorporate this into a future build. I would still like to replace/chainload our bootloader so a serial cable is never needed. There is a NETCONSOLE feature, but it is not enabled in the build flashed to our router. See [[wrtu54g-tm:uboot|U-Boot]] for more details. **RECOMMENDED BUILD FOR USE IS BACKFIRE** The 2.6 kernel lacks USB and the wifi driver will run your CPU hot and leave you disappointed. ===== Contributors ===== I must give a shoutout to those who have been so generous with their feedback. I hope to add to this list. * Mayckel (a guy from Curacao) - has tons of these routers and is certainly #1 with feedback. He hacked together a serial cable to help me out (well, and himself with the dozen bricks I helped make). ====== X-WRT Preconfigured ====== This is something I would actually finally send to end-users... binary: http://wrt.scottn.us/wrtu54g-tm-xwrt-b3.bin ([[wrtu54g-tm:changelog|ChangeLog]]) Simply connect to LAN port or wifi and configure from http://192.168.1.1 the username is 'root' and the default password is blank. **brick alert** If you want to use the 'system upgrade' function from previous backfire build, elect not to save your config. the position in flash of the config can change between binaries, so your config might overwrite your filesystem! i've only tested installing this from factory firmware and from bootloader. if you've been testing my other firmwares and don't have a serial cable, please email me and i'll load and test for you. :\ or try enabling [[wrtu54g-tm:uboot|U-Boot failsafe]] ====== OpenWRT Backfire (10.03, r23044, kernel 2.4.37) ====== Basic openwrt build. Last updated 13Nov2010. I think I'll only make X-WRT build now... binary: http://wrt.scottn.us/wrtu54g-tm-backfire-b3.bin ([[wrtu54g-tm:changelog|ChangeLog]]) source: http://wrt.scottn.us/openwrt-backfire-adm8668-r1.tar.gz FIXME needs updated bad. ===== Recommended setup ===== - Flash the router from Linksys web interface. - Telnet to 192.168.1.1 - Set password to enable ssh and disable telnet: **passwd** - SSH to root@192.168.1.1 - Update opkg: **opkg update** - Install X-WRT: **opkg install webif** - Make web daemon start on bootup: **/etc/init.d/uhttpd enable** - Reboot: **reboot** ===== Bugs and workarounds ===== ==== USB storage ==== At least from my experience, USB1.1 is reliable, while USB2.0 storage just ... breaks/corrupts stuff. Also, since EHCI is made in the kernel, we must override dependency of kmod-usb-core. I did this: root@OpenWrt:~# opkg install kmod-scsi-core root@OpenWrt:~# opkg install --nodeps kmod-usb-storage Installing kmod-usb-storage (2.4.37.9-1) to root... Downloading http://downloads.openwrt.org/backfire/10.03/brcm-2.4/packages/kmod-usb-storage_2.4.37.9-1_brcm-2.4.ipk. Configuring kmod-usb-storage. Initializing USB Mass Storage driver... usb.c: registered new driver usb-storage scsi0 : SCSI emulation for USB Mass Storage devices Vendor: Generic Model: STORAGE DEVICE Rev: 9451 Type: Direct-Access ANSI SCSI revision: 02 Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0 There it is! Just make sure it's a USB1.1-only hub for great success. I found a Belkin F5U021 after *much* searching on eBay/interwebs. They are hard to come by nowadays. :( ==== fat/vfat/ntfs filesystems ==== These require nls_base which should have been made in the kernel but was not due to incorrect kernel config by default. I will fix this in next build, but the workaround is to install it as a module. That module is at http://wrt.scottn.us/nls_base.o and you can place it manually in /lib/modules/ and create a file in /etc/modules.d to autoload it for now. ====== Building from source ====== We use r23044 because directly after is when the 2.4 kernel went away. $ svn co -r 23044 svn://svn.openwrt.org/openwrt/branches/backfire $ cd backfire $ wget http://wrt.scottn.us/openwrt-backfire-adm8668-r1.tar.gz $ tar vfxz openwrt-backfire-adm8668-r1.tar.gz $ rm target/linux/generic-2.4/patches/100-wireless-extension.patch $ cp toolchain/uClibc/config-0.9.30.1/mipsel.brcm-2.4 toolchain/uClibc/config-0.9.30.1/mipsel.adm8668 $ make menuconfig Here you select 'adm8668' and that should be all that's required. $ make Take a nap.