Jimmy's weblog


Using the Linksys 54 Mbit PCMCIA card WPC54G

Filed under: — jimmy @ 5:17 pm

I had two versions of this card: v2 and v3. v2 has a Texas Instruments ACX111 chip, v3 a broadcom. For v2 you can use the acx kernel module (included in grml), which you can get from the ACX100/ACX111 driver prject. Works stable, but no WPA since WPA supplicant doesn’t support that chip.
For v3 you need the drivers from the bcm43xx project. Follow the instructions there. Drivers will be included in grml soon. In the meantime you have to fetch them from the grml repository via apt:

apt-get install bcm43xx-modules-2.6.15-grml

I’m not sure if WPA supplicant supports this driver, too (ran out of time, again). BTW: Tested this driver with the WPC54GS (speedbooster), too. Worked perfectly.

WRT54GS in client mode, cont’d

Filed under: — jimmy @ 4:38 pm

In the last posting I described how to use a wrt54gs in client mode with WEP. This posting describes how to use it with WPA, based on a HowTo in the openwrt wiki.

To enable WPA we have to set a few nvram values:

nvram set wl0_akm=psk
nvram set wl0_crypto=aes
nvram set wl0_wpa_psk=test1234
nvram commit

Install some packages:

ipkg update
ipkg install wl

Reboot the router and check if everything works.


  • This setup only works with WPA1
  • You don’t need nas for WPA1

In fact I wanted to test WPA2 but then I found out that WPA is rather simple. WPA2 didn’t work for me because nas didn’t work. Have to spend more time to find out what was going wrong

WRT54GS in client mode

Filed under: — jimmy @ 4:24 am

I installed a wrt54gs for some relatives. There was also a computer in the cellar which should be able to connect to the router. But all tested cards didn’t get a signal so I decided to install a second wrt54gs in client mode. It worked really good, better than expected. I used the ClientModeHowto as reference.
The router to the internet (master router) had ip address, so I setup the client router with ip address I also set the mode to “wet” and disabled the dhcp server on the client as described in the Howto.

nvram set wl0_mode=wet
nvram set lan_ipaddr=
nvram commit
rm /etc/init.d/S50dnsmasq

For the first test I didn’t touch the wlan settings because the factory defaults were ok (Both had the same SSID and security disabled).

Turning on security options
First, I enabled the MAC filter on the master router and disabled the SSID broadcast (It’s the MAC address of eth1 on the client router). Next, I changed the SSIDs on both routers and enabled WEP encyption:

nvram set wl0_ssid=jimmy
nvram set wl0_wep=enabled
nvram set wl0_key1=9ECAABBDCD6C20103CAE62B38A
nvram commit

There’s also a Howto for configuring WPA2, which makes more sense than WEP. Have to try it ASAP


WRT54GS V4 and openwrt

Filed under: — jimmy @ 5:01 am

You might have read my posting about the WRT54G and openwrt. Today I tested a brandnew WRT54GS. It was shipped with firmware version 1.03. I don’t know why Linksys starts again at 1.x version numbers but it’s definitely a linux router. All series 4 should be still linux. If you wonder why I say “still”, checkout this article. In short words: series 5 will use VxWorks, but Linksys will ship a new device, called WRT54GL, which will be running Linux.
Unfortunately the ping hack didn’t work, tftp neither (maybe I did something wrong, but I think it can’t work without boot_wait). Someone on the irc channel told me that the upload with the web interface worked for him… For me too, but I don’t know how dangerous it is.
Openwrt RC4 has now a web interface, too. So after rebooting I took a look at the new interface… Great :-) I set boot_wait so that I can use tftp which I used afterwards to restore the original firmware. My browser (opera) had some problems with the page reload and I thought that I crashed the router. But after restarting opera I saw the original web interface again :-)


Linksys WRT54G and OpenWRT

Filed under: — jimmy @ 9:23 pm

Today it was time to install openwrt on my wlan router. There’s enough of good documentation there, nevertheless I will describe the most important steps here for my router (WRT54G V2, running firmware 4.20.7).

You first need to know how to access the router. You might have heard of the ping hack. Well, depending on your hardware and firmware revisions there are different tricks to exploit it. I used a modified html file for that purpose, which I found in the openwrt wiki.
There’s a line which defines the command:

<input maxLength=128 name=ping_times size=128 value="'/sbin/ifconfig > /tmp/ping.log 2>&1'">

Simply replace the command and its output will be displayed in the box. This works only if your router has the ip address You could change it but if you want to upload the firmware later you have to configure you computer to be in the 192.168.1.x subnet. During boot the router always has the ip address!
According to all documentation I’ve read the WAN port must be setup, which means it must have an ip address.

I then enabled boot_wait by executing the commands:

`/usr/sbin/nvram set boot_wait=on`
`/usr/sbin/nvram commit`
`/usr/sbin/nvram show > /tmp/ping.log`

I was lazy, so I downloaded the binary firmware white russian rc3.
Next step: Get a tftp client and upload the firmware:

reptile:~$ apt-get install atftp
jimmy@reptile:~$ atftp
tftp> mode       
Current mode is octet.
tftp> timeout 2
tftp> trace
Trace mode on.
tftp> put openwrt-wrt54g-squashfs.bin

After hitting enter you have to immediately plug in your router again.

Finally: telnet to the router and read Using OpenWrt for the first time