The Toshiba Portégé R100 is a very nice and compact laptop. Take a look at my photos of it. I decided to run FreeBSD on it and stumbled upon a few things that needed further research.
If you have a pcmcia cdrom drive, you can boot on it by holding down the "C" button during boot. The FreeBSD installer shouldn't have any problems installing from the pcmcia drive.
I don't have a cd burner, so I chose to install via PXE. I will not go into much detail about the process, but the highlights are:
dhcpd
give out a lease with filename "pxeboot
".pxeboot
executable offered by your tftp server
is built to use tftp and not nfs. ("LOADER_TFTP_SUPPORT=YES
" in
/etc/make.conf
./boot
from it and
place it under your tftp rootunset boot.nfsroot.server
unset boot.nfsroot.path
boot
ufs:/dev/md0
The acpi_toshiba
module makes some of the FN+Fx button combinations
work, most notably FN+F6 and FN+F7 to adjust the brightness and FN+F8 to turn off
the backlight (I wonder why that function is not on FN+F1 as the symbols would
indicate).
Add the following line to /boot/loader.conf
to load it at boot time:
acpi_toshiba_load="YES"
Intel Pentium M processors have circuitry for changing their clock frequency and input voltage on-the-fly. In addition to providing a large range of frequencies - typically between 5 and 7, in contrast to earlier processors from Intel, which only had "fast" and "slow" speeds
Taking advantage of this is very easy. Install /usr/ports/sysutils/estctrl
and add the following two lines to your rc.conf
:
est_enable="YES"
estctrl_enable="YES"
With FreeBSD 6.0 and later estctrl
has been deprecated and it is recommended
to use powerd
instead which is included in the base system. Just add the
following line to your rc.conf
:
powerd_enable="YES"
The driver for the builtin wireless card is part of the main FreeBSD tree from FreeBSD 6.0, but you still have to install the iwi-firmware from ports.
The firmware is located in /usr/ports/net/iwi-firmware
. After
installing it, add the following line to rc.conf
to load the
firmware at boot:
iwi_enable="YES"
From FreeBSD 6.2 you need the /usr/ports/net/iwi-firmware-kmod
port
instead of the one mentioned above. The following line in /boot/loader.conf
should be enough to load both the if_iwi
module and the neccesary firmware
at boot:
if_iwi_load="YES"
At the time of this writing something goes horribly wrong when resuming from S3 suspend.
If I unload the if_iwi
kernel module before suspending it seems to be a bit
better, but then the filesystems have problems with disk access.
I hope to find a solution to that.
A little more investigation points to ata being the problem. The laptop has survived a suspend once when boot_verbose was enabled, so it could be a timing problem. I haven't been able to reproduce the success yet though.
I have now enabled the vesa console and is running it in 1024x768. Combined with boot_verbose, this makes resume work almost every time if I manually change to vt1 before suspending. However something goes wrong if I close the lid before the suspend is complete.
The Trident CyberbladeXP4 is supported by X.org 6.8.2 but there is no hardware acceleration.
Furthermore the xorg.conf
file needed some tweaking in order to get 1024x768 pixels
in 24bit.
My xorg.conf
is here.
The video resolution gets strange after the lid has been closed but is easily restored by switching to vt1 and back to X. I made a small script that does that which gets called by devd.
Insert the following into /etc/devd.conf
:
notify 5 {
match "system" "ACPI";
match "subsystem" "Lid";
action "/root/bin/notify_lid $notify";
};
The notify_lid
script is here.
I now tried changing to the "vesa" driver in xorg.conf. When X starts up the colors are strange but a change to vt1 and back makes them normal. The devd hack is not neccesary with the vesa driver. Furthermore there is now acceleration.
I got a mail about this issue a while ago:
By the way, X.Org works just fine with trident driver if there is an
option:
Section "Device"
...
Driver "trident"
...
Option "ShadowFB" "on" # here it is
...
EndSection
I have tested this and it works, but unfortunately it starts acting strange if you switch to an external monitor. If you don't need to do that, everything should be fine with the trident driver.