[ltp] Thinkpad 600x, kernel 2.6-test9 notes and questions

Adam Olsen linux-thinkpad@linux-thinkpad.org
Wed, 12 Nov 2003 13:02:18 -0700


Hello,

I've looked through the archives and have only seen a few questions 
regarding this particular model of Thinkpad, but no answers.

I have some answers, and some questions.  I hope I'm not repeating anything.

I am running Debian/unstable and have compiled 2.6-test9.  Here are the 
problems I have run into and their solutions:

1. APM and suspend don't work the way they should.  It appears as though 
it might suspend (ie. the suspend light starts blinking), but it 
eventually bails out and doesn't suspend.

The i8042 keyboard driver is for some reason making it so you can't 
suspend (found this out by sifting through mailing list archives - I 
don't know if it partains to any other thinkpad/laptops).

The solution to this for now is to make the i8042 keyboard driver a 
module in the kernel (you'll have to enable "Remove Kernel features" in 
order to be able to do this - the module can be found in "Input Device 
Support").  Once it's a module, you can use apmd to unload  it before 
suspend and reload it after.  Kinda scary, huh?

2. ALSA - same as ever.  If you use alsa and you want to suspend, you 
have to reload the alsa drivers after you resume or they won't work.  
Can easily be done with apmd.

3. USB Mouse - will not work if you resume from suspend. You can unload 
the uhci-hcd module before suspend and reload it on resume with apmd.

I had some other problems with the Xircom tulip drivers, but they too 
were solved with apmd scripts.

The last thing is a question about something I can't figure out.  I 
cannot enable DMA in 2.6.  I have it selected in the kernel 
configuration (Use DMA by default), but hdparm shows that it's not 
enabled.  I cannot enable it with hdparm, either - it says it's not 
supported by the device.

Does hdparm work differently for 2.6? Does anyone have a solution to this?

Thanks,

Adam Olsen (synic)
Visit me at irc.chatjunkies.org / #linuxhelp (shameless plug)!