welcome to 1998

welcome to 1998

My PCMCIA wireless card was flaking out today, after I got my IrDA port working; I’d reconfigued the port in the BIOS to use IRQ 3. After some time I found that the wireless card was also choosing IRQ 3, thanks to the output from dmesg. Pushing the IrDA port to IRQ 4 fixed that little conflict. I’m still left wondering why in this day and age I’m editing IRQ settings on a laptop that’s barely a year old.

I started out trying to get photos off of my phone, which I’ve successfully done in the past but always forget how; today the phone and laptop just refused to connect. The cause of the problem was that the serial8250 driver was grabbing the IO ports and IRQ first, and preventing the nsc-ircc driver from getting it later in the boot process. I think the fix for that was to put nsc-ircc at the top of /etc/modules; at least, it’s working now.

As I was rolling on my “fix things that are pissing me off” rampage, I decided to crack at the “why the hell isn’t DMA working” one. The X40 has an ICH4-M chipset, handled by the piix driver. The driver was loading, but hdparm was always getting this:

# hdparm -d 1 /dev/hda
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 using_dma    =  0 (off)

After spending way too long following threads full of erroneous opinion on the ubuntu forums, debian-user mailing list archives, and other useful tomes, I discovered this clue in dmesg:

ICH4: port 0x01f0 already claimed by ide0

which led me to this post, cluing me to the fact that the ide-generic driver was being greedy. Again, a driver conflict, but to fix this one, I had to put piix at the top of /etc/mkinitramfs/modules and then rebuild the initrd (running dpkg-reconfigure on your kernel package will take care of this). So, thanks Christophe, for your bug report that finally helped solve this one, and now holy shit my computer is fast.

Datarock programmed Rage tonight, too, which was an awesome soundtrack to fix things to ;-) They and I have such similar tastes in music.