Problems with /proc/acpi/ibm on Thinkpad X40

Bug #164471 reported by January
6
Affects Status Importance Assigned to Milestone
Ubuntu
Fix Released
Undecided
Unassigned

Bug Description

This is a bug similar to bug #53606 and bug #68734. I have it in Ubuntu Gutsy on Thinkpad X40.

However, in my case, the special function keys *do* work, at least most of them.

What does not work, however, is the key for switching between external monitor and LCD. The external monitor is switched on.

I looked into /proc/acpi/ibm, which you can use to manually set different laptop options. In a previous version of Ubuntu, the problem was that you could only switch between the options "LCD only" and "CRT only", to have them both, you needed to
echo crt_enable > /proc/acpi/ibm/video

The following special function keys work:
- brightness up/down (however, the brightness applet does not work, shows a little red crossed circle on the applet icon)
- lcd light (the tiny light in the lcd bezel) on/off
- sound up/down/mute (the respective applet works as well)
- sleep
- screen blank

The following do not work:
- switch between external crt/ laptop lcd. Both are normally on.

Not tested:
- hibernate
- dock

I took a look into /proc/acpi/ibm.

It is populated almost as it should (beep, brightness, cmos, driver, ecdump, fan, hotkey, led, light, thermal, video, volume, but not dock, which I think should be there as well?). Any case, thinkpad_acpi module is loaded as it should be.

I tried to use the trick that worked fine in previous Ubuntu versions:
echo on > light
cool, the little light in the lcd bezel turn on. So, the acpi proc system works.
volume works as well (echo up > volume etc.)
lets try with what worked so well:
echo crt_disable > video
no error message, but the crt is still on. same for other commands for the video - no error, but also no effect. dmesg does not tell me anything interesting.

Interestingly: I did a typo while playing with these commands, and from then on until the next reboot I got the messages "write error: Incorrect argument" when trying to do anything.

When I boot with acpi=off, following works:
- suspend button (but suspend itself does not work properly, the screen is not correctly restored, at least when the 3D is not on)
- blank screen button
- brightness button
- lcd light button (the tiny light on top of the lcd bezel)

Following does not work:
- wireless on/off
- sound up/down/mute
- switch between external screen and LCD

Not tested:

- docking button
- hibernate button

Further thing observed: when I boot with the external monitor switched on, (and with acpi), then going to a text console does not work (blank screen)

Feel free to ask me for just any log / listing / configuration. I am really annoyed by this problem and considering to downgrade to a previous Ubuntu version. I need to regularly give presentations and I must have a convenient way of controlling which of the two screens is on.

Revision history for this message
January (january-weiner) wrote :

P.S. The behaviour of the other screen is quite unpredictable. Sometimes it stays off no matter what you do unless you restart gdm. (but then I get a virtual desktop on my computer larger than the lcd). Sometimes it is on. I am not able to get any reproducible behavior.
Makes my laptop fairly useless for the presentations. &/"§$***!!!, I never should have upgraded!!!! (but I was annoyed by this "could not start hal daemon" bug and by the fact that if any of the programs started ghostscript, the gs was filling up the memory, then the swap, and then the system was on its knees.... bug #114866, which affected EVERYTHING that had to deal with ps, including imagemagick e.g. convert smth.eps smth.png and gv).

Revision history for this message
January (january-weiner) wrote :

I will not be able to provide any further information on this bug. I need my laptop to work, so I am switching to another system. Installation of Ubuntu on the old X40 Thinkpad was a failure for me.

Revision history for this message
January (january-weiner) wrote :

OK, looks that this is more of a misunderstanding than a bug. Apparently the external screen management is now taken over by the XrandR extension of Xorg. There is a detailed description here:

http://www.thinkwiki.org/wiki/Installing_Ubuntu_6.06.1_on_a_ThinkPad_R60e#Using_xrandr_with_Ubuntu_7.10

I found this command to be particularily useful:

xrandr --output VGA --mode 1024x768

Revision history for this message
Wouter Stomp (wouterstomp-deactivatedaccount) wrote :

Does that mean this bug can be closed now?

Revision history for this message
Sébastien Chaumat (schaumat-free) wrote :

I don't think this bug should be closed until the "CRT/LCD" hotkey does its jobs.

If the external display is to be handled by xrandr then the bug is maybe a lack of assignation of the
ibm/hotkey HKEY 00000080 00001007 to a script in /etc/acpi.

(see bug #159185)

The fix could be something like creating /etc/acpi/events/thinkpad-crtlcd :

 # Turn on/off the external display
event=ibm/hotkey HKEY 00000080 00001007
action=/etc/acpi/external-display.sh

and creating /etc/acpi/external-display.sh

This last script should :
 - detect the screen resolution of the display of the laptop (LCD)
 - detect the capabilities of the external display (CRT)
 - use xrandr to cycle between : LCD alone, CRT+LCD, CRT alone
   with the CRT resolution beeing :
    - the LCD resolution if the CRT supports it
    - the highest CRT resolution available if the LCD resolution is not supported by the CRT

xrandr tips located at :
 http://www.thinkwiki.org/wiki/Installing_Ubuntu_6.06.1_on_a_ThinkPad_R60e#Using_xrandr_with_Ubuntu_7.10
should do the job.

Alternatively the hotkey could be masked away in /proc/acpi/ibm/hotkey and the display toggling could maybe be handled by the ibm firmware.

Revision history for this message
davidguigui (david-guigui) wrote :

Hello,

when I'm working, the screen lose some brightness and when I increase it, I must wait about 10 second for the computer to set the new brightness. So when I'm using the Gnome applet, the computer freeze after ...the computer freeze when I change the value of the scroolbar (the whole interface is no more responding)

Regards

Revision history for this message
Przemek K. (azrael) wrote :

This bug hasn't seen any activity for over 10 months. Gutsy is now EOL. Please check if this bug still appears in the latest Ubuntu version: 9.10 (Karmic). If it's still present, please change the status of this bug to Confimed.

Changed in ubuntu:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.