Thursday, March 5, 2009

Lagwifi

For a while now, I've been dissatisfied with the performance of my laptop, a Macbook Pro running x86_64 Arch Linux. Everything worked great most of the time, but every now and then, the laptop would go nuts and become horribly unresponsive.

When in this weird condition, the laptop had trouble even keeping up with keyboard and mouse input. I could hold down a key and I'd get "kkkk (long pause) kkkk (long pause) kkkk...". It was so bad I couldn't use the laptop at all once it hit this snag, and I'd usually have to reboot, because I couldn't work out what was causing the problem (no userspace CPU usage, no I/O activity).

Finally, several days back, I accidentally happened on the cause of the problem - my Madwifi wireless drivers. I caught the laptop in the throes of another fit of lag and did an rmmod -f of the ath* modules, and bingo! Input was smooth as silk again. I blacklisted the ath* modules, and I haven't run into the spastic-laptop syndrome since, so I'm reasonably sure that madwifi was the culprit.

Amusingly, I wasn't even _using_ my wireless connection at the time - I prefer cabled ethernet where available.

The question: how do you troubleshoot such problems, in general? I have no good material for a bug report to the madwifi folks and I'm not sure how to go about gathering evidence for this. syslog[*] had nothing to say about madwifi's woes.

[*] I've recently moved to Arch, and it took me a while to figure that /var/log/everything.log had the stuff I might look for in /var/log/syslog on Debian.

No comments: