Jan192008

Getting suspend to work on a Toshiba Tecra M3

Filed under: fc8 tecra m3 suspend linux 

Tonight I decided two things would happen: I would upgrade to Fedora 8 and I would get my damn suspend to work (it hasn't worked since FC5).

The upgrade to FC8 went smoothly as expected (I was on FC7). I decided to dump my GNOME settings in order to not interfere with any new goodness that might get bestowed on me. More or less it was a fresh install, but like any sane person, I keep /home on a separate partition so no backup/restore was required. All in all it was about an hour from start to finish (that included reinstalling any missing apps and basically getting it back into working shape). Pretty acceptable.

After the novelty of the newish looking desktop had worn off a bit, I decided to delve in and make my suspend work (suspend-to-RAM that is, I consider hibernate or suspend-to-disk to be a waste of time).

First thing was to assess what the current state of affairs was. So without further ado, I selected "Suspend" from the GNOME power icon. They system suspended properly down to a single little blinking light on the front. So far so good. Next comes resuming. I press the power button, things come back to life, I get a tiny bit of text that says "Linu" and... nothing. Black screen. I try switching virtual terminals, ctrl-alt-backspace, etc, all to no avail. The system isn't locked up (I can see disk light activity when I killed X) but there's no screen. Ctrl-alt-F1 and ctrl-alt-del reboots me. I do some research and finally come upon this page. I've seen it before but felt daunted by the absolute denial that my configuration was supported (binary nVidia driver) and that my laptop model invoked pages of not mentioning. I decide to forge ahead anyway.

My process is going to basically be trial-and-error. There are only so many quirks to try. Because I don't want to screw up my brand new GNOME settings (Gconf has a tendency to bork your settings if you kill it enough), I create a user called "pm" for testing with. I begin trying the most promising settings first (--quirk-vbe-post, etc). Nothing, nothing... nothing. Lots of reboots and little to show for it.

But then. Finally:

$ pm-suspend --quirk-vbe-post --quirk-dpms-on

and voila. I'm right back in GNOME where I left off. Joy.

Next step is to make this permanent. Following the docs, I edit:

/usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-toshiba.fdi

and add the following section:

<!-- Toshiba Tecra M3 -->
<match key="system.hardware.product" string="TECRA M3">
  <merge key="power_management.quirk.vbe_post" type="bool">true</merge>
  <merge key="power_management.quirk.dpms_on" type="bool">true</merge>
</match>

Next I restart HAL with:

# service haldaemon restart

and finally the grand final test: select Suspend from the GNOME power icon.

Works perfectly.

Anyway, I hope this helps someone else. I'll post on the nVidia forums and Fedora forums.



3 comments Leave a comment


Jan232008

Getting LCD brightness to work on Toshiba Tecra M3

Filed under: toshiba tecra m3 lcd backlight fc8 fedora 

After all the work I'd put into getting suspend to work, I thought I was done at last. However, in grand fresh-Linux-install tradition, I discovered that my backlight dimming was no longer working. This seemed odd as it's always worked without any special attention from me.

Lots of googling later, I found a solution, even if it wasn't exactly what was working before:

# smart install fnfx
# service fnfxd start
# chkconfig --levels 345 fnfxd on

Not only does this let me use the Toshiba function keys, it also allows me to reprogram them =)

You can read the fine manual for fnfx here.

In FC7 and earlier, it appeared that HAL/pm-utils was managing the LCD backlight (GNOME brightness-applet worked, Toshiba function keys caused a little dialog to appear showing the brightness level, etc). This is no longer the case (applet doesn't do anything, no info dialog, etc), but it works, so I'm not going to complain too much.

As an aside, it appears to me that what has changed since FC7 is that HAL no longer recognizes my display (it shows up as "generic LCD" rather than the specific model and "lshal" doesn't list it at all). Not sure how to fix this. I may look into it more later, since having it properly supported would be good. For now just working is satisfactory. Still, if you have any hints, please feel free to drop them here =)

UPDATE: I did an update tonight, and after a reboot things are back to normal. Not sure which package it was that fixed it. I do notice that HAL is once again seeing my lcd though:

# lshal | grep panel
info.capabilities = {'laptop_panel'} (string list)
info.category = 'laptop_panel'  (string)
laptop_panel.access_method = 'general'  (string)
laptop_panel.num_levels = 8  (0x8)  (int)


0 comments Leave a comment


Copyright © 2007, Cliff Wells