The ipw2200 device driver limited me to use only 11 channels for wireless LAN, even though I bought my notebook in Germany, where channels 1 to 13 may be used. Although other people on the net faced the same problem, nobody came up with a simple and permanent solution like writing the country code to the card’s EEPROM with just a few commands.

If you want to set the country code to ZZD, which is suitable for 802.11bg in Europe, then first rebuild the ipw2200 driver with the patch above. Afterwards execute the following command:

echo -n ZZD | hd

This tells you the hexadecimal representation of the ASCII characters ZZD (5a 5a 44). If your wireless LAN card is eth1, then follow these additional steps:

# load the patched driver
modprobe ipw2200
# make a backup of the original EEPROM
ethtool -e eth1 raw on > ~/ipw2200_eeprom.bin
# change the three country code letters
ethtool -E eth1 magic 0x2200 offset 0x4c value 0x5a
ethtool -E eth1 magic 0x2200 offset 0x4d value 0x5a
ethtool -E eth1 magic 0x2200 offset 0x4e value 0x44
# reload the driver and repair the checksum
rmmod ipw2200
modprobe ipw2200 repair_eeprom=1

Remember, this is a permanent change. You can render your card unusable. Don’t do this if you don’t know exactly what you’re doing. There is no guarantee that the above steps will work with every card.

For other valid country codes take a look at ipw2200.c included in the driver tarball.

Linux framebuffer driver for ATI Rage128 M3/M4

For some time I used a notebook, which was equipped with an M4 mobile graphics chipset. Unfortunately the framebuffer driver of Linux refused to work with it. Instead, funny color shapes appeared on the screen every time the notebook booted. Knowing that the XFree86 driver worked, I started to compare both drivers. It turned out that the driver included in Linux 2.4 didn’t have support for flat panels at all. So, with kind help from Andi, who wanted to use it on his Mac and who is an experienced DirectFB developer, I wrote this new framebuffer driver for Linux 2.4. Be warned, it has probably never been tested on something different than M3 and M4 chipsets using flat panels.