FreeBSD-Current (2003-09-07) on Toshiba Tecra S1 (Centrino)

Benedikt Stockebrand me at benedikt-stockebrand.de
Tue Sep 9 02:41:11 PDT 2003


Hello freebsd-mobile,

during the last couple weeks I've been struggling with FreeBSD on a
Centrino-based Toshiba Tecra S1.

I knew that the Centrino gear is too new to expect a straightforward
setup but at advertised seven hours on the primary battery, an
optional battery for the drive bay available and a decent price tag
anything else would've been plain stupid at least for my purposes.

Now I've got some problems sorted out, I am stuck with some others, I
still have to try out a few not so essential things and I have a few
questions.  I attach my current status list below.  The two most
important open problems are how to get reliable battery state
information and how to suspend the system.

Any comments, hints and suggestions are highly welcome.  Feel free to
send as private e-mail, I'll summarize (and update the list
periodically as long as it keeps changing).

If anybody wants me to try some patches I am perfectly willing to do
so.


Cheers,

    Ben

PS: Sorry if this list is a bit long, but I intend to turn this into a
mini FAQ as soon as things stabilize.



(Un-)Supported FreeBSD Versions
-------------------------------
CURRENT (as of Sunday 2003-09-07) works so far.  That's what I am
using right now.

4.7-Release basically works.  The X11 vesa driver is no much fun on an
external CRT, though, so I didn't test things any further.

4.8, 5.0, 5.1 Releases do have more or less crippling problems either
with ACPI or X11.


Suspending the System: Open Problem
-----------------------------------
S5 shuts the system down properly.  So does /sbin/shutdown -p.

With text mode, S4 works except that on resume there's an additional
blinking cursor at approx. (40,0) that I can't get rid of.

With X11 the system hangs after resuming from S4.  It shows the
previous X display contents except for some noise in the top
approx. 60 lines but doesn't do anything.  If I manually switch to a
vty before suspending this happens as well.

Apparently my external USB trackball doesn't revive after suspending
to S4.  I'll check that in more detail as soon as S4 works otherwise.

S[123] don't work at all.  (S4 only is ok with me.)


Battery Status: Open Problem
----------------------------
wmapm/apm battery status only occasionally work.  Sometimes they do
show a reasonable battery status but most of the time they don't. I
haven't figured out how to stabilize this problem, but I'd definitely
like to be able to keep an eye on the remaining battery power.

I have a strong suspicion that the system will simply crash when I run
out of battery juice.  Without reliable battery status information
there is nothing I can do about it...

Right now, on AC power and with apm showing nonsense, I get this via
sysctl:

$ sysctl -a | grep acpi
    acpicmbat     1     1K      1K        1  16
      acpisem    18     3K      3K       18  64,128
     acpitask     0     0K      1K    24842  16,32
       acpica  1656    89K     90K    18486  16,32,64,128,256,512,1024
     acpibatt     2     1K      1K        2  16
      acpipwr     4     1K      1K        5  32,64
      acpidev    71     2K      2K       71  16,32
debug.acpi_debug_layer: 16383
debug.acpi_debug_level: 15
debug.acpi_ca_version: 537069081
debug.acpi_semaphore_debug: 0
hw.acpi.supported_sleep_state: S3 S4 S5 
hw.acpi.power_button_state: S5
hw.acpi.sleep_button_state: S1
hw.acpi.lid_switch_state: S1
hw.acpi.standby_state: S1
hw.acpi.suspend_state: S3
hw.acpi.sleep_delay: 5
hw.acpi.s4bios: 1
hw.acpi.verbose: 1
hw.acpi.disable_on_poweroff: 1
hw.acpi.cpu.max_speed: 8
hw.acpi.cpu.current_speed: 8
hw.acpi.cpu.performance_speed: 8
hw.acpi.cpu.economy_speed: 4
hw.acpi.thermal.min_runtime: 0
hw.acpi.thermal.polling_rate: 30
hw.acpi.thermal.tz0.temperature: 3222
hw.acpi.thermal.tz0.active: 1
hw.acpi.thermal.tz0.thermal_flags: 0
hw.acpi.thermal.tz0._PSV: -1
hw.acpi.thermal.tz0._HOT: -1
hw.acpi.thermal.tz0._CRT: 3722
hw.acpi.thermal.tz0._ACx: 3650 3180 -1 -1 -1 -1 -1 -1 -1 -1
hw.acpi.acline: 1
hw.acpi.battery.life: -1
hw.acpi.battery.time: -1
hw.acpi.battery.state: 7
hw.acpi.battery.units: 2
hw.acpi.battery.info_expire: 5
machdep.acpi_timer_freq: 3579545
machdep.acpi_root: 942096

I do get 

        acpi_cmbat1: battery initialization failed, giving up
        acpi_cmbat0: battery initialization failed, giving up

from the kernel even after I've set 

        hw.acpi.ec.poll_timeout="200"

in /boot/loader.conf (which got rid of some complaints that the EC
doesn't respond).

Not that I understand exactly what to look for.  But it seems like the
system doesn't recognize the battery at all.  Which doesn't leave me a
chance to write an apm/wmapm/whatever style tool to keep an eye on
this.


Power Management:  Open Question, Request for Suggestions
---------------------------------------------------------
Apparently the system powers down to half speed when on battery.  This
is not exactly what I had expected.  Is there something that keeps the
power consumption low if the system is idle?  If not, could this be
done setting hw.acpi.cpu.economy_speed dynamically?  If so, has
anybody done that?  If not, do I have to know about anything
particular doing so?  (I don't know about driver programming, but
using the KVM interface to get cpu activity data and sysctl to set a
variable from userland are well within my skill set.)

I bought this thing because it should run for a whole working day
without external power, so I am *really* interested in sorting this
out.  And since I occasionally need full power I'd consider it worth a
try to do something about it dynamically.


X11 Configuration: Solved/To Do Item
------------------------------------
The radeon driver works.  To use an external CRT (1600x1200x24 at 85Hz) I
do this in myXF86Config:

        ...
        Section "Device"
            # Turn of internal panel when on CRT
            Option "PanelOff" "True"
            # My CRT specs
            Option "CloneHSync"  "30-130"
            Option "CloneVRefresh" "50-160"
            Identifier "Card0"
            Driver "ati"
        EndSection
        Section "Screen"
            Identifier "Screen0"
            Device     "Card0"
            Monitor    "Monitor1"
            DefaultDepth 24
            SubSection "Display"
                Depth     24
                Modes     "1600x1200" "1024x768"
            EndSubSection
        EndSection
        ...

I still need to do an alternative config to use 1024x768 on both the
internal an external display, both for external CRT and beamer, both
with the same display and xinerama.  I don't expect serious problems
there, though.


ACPI Side Effects on psm0 and atkbd: Solved
-------------------------------------------
With ACPI neither the touchpad nor the keyboard nor an external PS/2
keyboard worked.  Disabling the device initialization on boot is a
reasonable workaround, so I put

             hint.atkbd.0.flags="0x3"
             hint.psm.0.flags="0x6400"

in /boot/device.hints.  This is probably not the ultimate solution but
it works.


Keyboard Problem: Open Problem/Possibly Solution Available
----------------------------------------------------------
The keyboard sometimes seems somewhat bad.  It sometimes loses key
presses and at other times it bounces.  I first thought it was simply
a bad keyboard but I've seen some Toshiba-related fix for X11/xkb
somewhere that suggests another cause.  I'll try that fix sometime.


Display Brightness: Open Problem/Possibly Solution Available
------------------------------------------------------------
I can't adjust the display brightness

I tried the atkbd flags mentioned at the PS/2 kbd w/ APCI issue but
they don't have an effect.

I have got a patch from somewhere that wants to be tried but haven't
had time to do so yet.


Reboot Issue (after running XP): Open Problem/Minor Issue
---------------------------------------------------------
After running Win XP booting FreeBSD fails.  I have to power off
first.  No big issue, just to keep the list complete.


Non-Working FreeBSD Versions
----------------------------
4.8-Release, 5.0-Release, 5.1-Release all don't work or at least
have serious problems with ACPI and/or X11.


External CDRW (Cardbus Interface): Open Problem/No Support
----------------------------------------------------------
This thing came with an external CDRW connected via Cardbus
(apparently a Freecom thingy) in addition to the internal DVD (which
works).  

The NEWCARD variant doesn't do anything about it (maybe I just haven't
figured out how to use it...).

OLDCARD complains about "pcic1: Card type 32-bit cardbus is
unsupported".


Internal WLAN Interface:  Open Problem/No Support
-------------------------------------------------
WLAN doesn't work (just to keep the list complete)

Apparently Intel doesn't want to hand out the specs because they
intend to implement national radio regulations through the drivers,
not the hardware.  We'll see, and there are PCCARD based alternatives
available.


CF Card:  Open Problem/No Support
---------------------------------
Apparently the CF Card slot is unsupported(?).  I don't have any use
or ways to test it, though.


132*y Text Mode: Impossible(?)
------------------------------
Text modes at 132*y resolutions don't work properly with the internal
TFT panel.  They do work with an external CRT, though.


-- 
Dipl. Inform.                  Tel.:  +49 (0) 6151 - 971 823            
Benedikt Stockebrand	       Mobil: +49 (0) 177 - 41 73 985           
Am Karlshof 1a		       Mail:  me at benedikt-stockebrand.de        
D-64287 Darmstadt	       WWW:   http://www.benedikt-stockebrand.de



More information about the freebsd-mobile mailing list