Upgrade to 2.6.20

After several months’ waiting, kernel 2.6.20 with suspend2 patch finally come into x86 branch. The upgrade is quite smooth except some bumps.

According to the experience of building the poor man’s wireless network, some exotic errors may happen if the .config is copied direct from kernel 2.6.18, so I went though all the configuration using make menuconfig.

First, the ipw2200 does not work fully, well, you may say it work partially if you are a optimist: WEP encryption just does not work. According to the log:

Jun 21 13:24:35 tiger ieee80211_crypt_wep: could not allocate crypto API arc4
Jun 21 13:24:35 tiger wlan0: could not initialize WEP: load module ieee80211_crypt_wep

OK, let’s build the ARC4 cryptographic module into the kernel. Still no luck? According to the Wiki, it is supposed to OK to leave all IEEE80211_* package into modules instead of the monolithic kernel. Once the following are built into kernel, done.

Networking --->
  Generic IEEE 802.11 Networking Stack
 --- IEEE 802.11 WEP encryption (802.1x)
  IEEE 802.11i CCMP support
  IEEE 802.11i TKIP encryption
  Software MAC add-on to the IEEE 802.11 networking stack

Device Drivers --->
 Generic Driver Options --->
 [*] Hotplug firmware loading support
 Network Device support --->
 Wireless LAN (non-hamradio) --->
 [*] Wireless LAN drivers (non-hamradio) & Wireless Extensions

Cryptographic options --->
 [*] Cryptographic API
  AES cipher algorithms (i586)
  ARC4 cipher algorithm
  Michael MIC keyed digest algorithm
  CRC32c CRC algorithm
20060608

The DRM support is more dramatical. I use x11-drm instead of the kernel modules, module-rebuild is suppose to handle this, so let’s leave it be. First, x11-drm-20060608 failed to compile, and I had to unmask the ~X86 branch 20070314 to get it built. Then the server kept complaining that:

Jun 21 15:55:25 tiger [drm:drm_agp_init_ttm] *ERROR* Wrong agpgart version 0.101
Jun 21 15:55:25 tiger You need at least version 0.102.

It took me a little while to search in the forum, and eventually found one of the solution is to upgrade xf86-video-x11 to 2.0. It worked although the window manager(FVWM and KWin) only consider the full screen as 1152x800 while the real resolution is 1280x800. And I did not gain 1 FPS enhancement using the cutting-edge driver. OK, let’s get rid of x11-drm, and downgrade to xf86-video-x11 stable, using the built-in DRM modules inside kernel. Now everything works. Lesion: never ever take the formal approach if there is a shortcut.

Unfortunately, the MMC/SD card reader still does not work.