... but eventually I got OpenWrt installed.
(1) the catch 22 was that I needed ppp working to connect with the internet, and ppp was not part of the initial firmware trx. The instructions assumed an internet connection independent of the router. The instructions say to install ppp stuff by doing 'ipkg install ...' but of course you can't do that if your internet connection is via ppp. I solved this one by downloading all of the ppp-related ipkg files directly (using another computer) and placing the .ipk files on a USB stick.
(2) I recommend using the install root to USB ... with a caveat that the swap file should be made some place on the hdd instead of on the USB stick. I actually moved all of the /var/ directory on to the hdd. If you do this you can get away with a USB stick of only 256MB capacity, and they can be had very cheaply.
(3) I had a lot of false starts. About 6 times I managed to crash it to the point the router would not re-boot. At one point I had to use the failsafe. Eventually I figured a way to get it back again without a full panic and a lot of typing.
(4) samba 3 actually works now ... at least for Windows clients and cifs on linux clients. I can't get nfs to work, and smbfs chokes over file permissions.
(5) I had a lot of trouble configuring dnsmasq. I wanted to have IP addresses assigned to machines according to the mac addresses. Eventually I did a 'logread' and saw that the dnsmasq start-up could not read the /etc/ethers file I had created. I made /etc/ethers and /etc/hosts files readable by all (chmod a+r /etc/hosts) and I placed the mac address and IP address of each machine per line in /etc/ethers, and the IP address and hostname I wanted for each machine per line in /etc/hosts. After that dnsmasq did what I wanted.
(6) I haven't got appweb working yet, so for the moment I am using lighttpd. I still have yet to get xmail and dovecot running.
Once you get it running and stable, OpenWrt is a lot faster than anything based on ASUS firmware (although this might be due to the fact that OpenWrt is running from a USB drive and it doesn't have to spin up the disk to run something, and the swap file may also help a great deal). The trick is to get it running. OpenWrt is a lot more open and flexible, but it also is a lot harder to install and it is far less user-friendly to configure and manage.
The X-wrt web interface sort-of works, but it is incomplete.
System Information
Firmware OpenWrt Kamikaze - With X-Wrt Extensions r6772
Kernel Linux 2.4.34 #23 Thu Mar 29 20:27:18 CEST 2007
MAC <redacted>
Device ASUS WL-700gE
Board Broadcom BCM4704 chip rev 8
Username root
Web mgt. console Webif2
Version r2801
Not recommended for beginners, but a far better performer if you are an advanced user who is familiar with the Linux command line and you are prepared to take a bit of a risk.
Code:
root@OpenWrt:~# mount
rootfs on / type rootfs (rw)
/dev/root on /rom type squashfs (ro)
none on /dev type devfs (rw)
none on /proc type proc (rw)
none on /tmp type tmpfs (rw)
none on /dev/pts type devpts (rw)
/dev/scsi/host0/bus0/target0/lun0/part1 on / type ext3 (rw)
/dev/ide/host0/bus0/target0/lun0/part1 on /hdd type ext3 (rw)
root@OpenWrt:~# ls -l /
drwxr-xr-x 2 root root 1024 Jan 1 00:08 bin
drwxr-xr-x 1 root root 0 Jan 1 1970 dev
drwxr-xr-x 13 root root 1024 Jan 1 00:08 etc
drwxr-xr-x 15 root root 1024 Jan 1 00:07 hdd
lrwxrwxrwx 1 root root 10 Jan 1 2000 home -> /hdd/home/
drwxr-xr-x 6 root root 1024 Jan 1 00:08 lib
drwx------ 2 root root 12288 Jan 1 00:01 lost+found
drwxr-xr-x 3 root root 1024 Jan 1 00:03 mnt
drwxr-xr-x 15 root root 1024 Jan 1 2000 opt
dr-xr-xr-x 52 root root 0 Jan 1 00:00 proc
drwxr-xr-x 15 root root 136 Mar 29 2007 rom
drwxr-xr-x 2 root root 1024 Jan 1 00:10 root
drwxr-xr-x 2 root root 1024 Jan 1 00:08 sbin
drwxrwxrwt 2 root root 220 Jan 1 01:35 tmp
drwxr-xr-x 6 root root 1024 Jun 30 2007 usr
lrwxrwxrwx 1 root root 8 Jan 1 2000 var -> /hdd/var
drwxr-xr-x 7 root root 1024 Jan 1 00:08 www
root@OpenWrt:~#