|
> Running FreeBSD 5.x on a Toshiba Satellite Pro 6000 laptop <
In this article, I will share my experiences related to installing and running FreeBSD 5.4/i386 on
a Toshiba Satellite Pro 6000 laptop. FreeBSD runs fine on this particular Toshiba model, after some
configuration adjustments and tweaking.
I bought this laptop on Ebay in April 2004. Although being 2 years old, it arrived in perfect condition and came
with all the goodies : an USB external floppy drive, AC-adapter and power cord, a brand new laptop bag, all manuals and CD's.
The battery life is a good 2 Hrs (full power).
This article is submitted on The FreeBSD Laptop Compatibility List.
I also installed Linux Slackware 10 on this laptop. The article about Slackware on this laptop can be found here.
As of October 2006, my trusty Toshiba found a new owner on Ebay. This most likely also marks the end of updates for this article.
Technical overview
| CPU type |
Intel Celeron |
| CPU speed |
1.06 GHz |
| BIOS |
version 1.60 |
| Memory |
384 MB PC-133 SDRAM (1x128 + 1x256) |
| Harddisk |
Toshiba MK2018GAP, 20.0 GB, 4200 rpm |
| CDROM |
Teac CD-224E-BA, 24x |
| Display |
14" Color TFT, 1024x768, 16M colors |
| Video card |
Trident Cyberblade XPAi1, AGP, 16 MB (shared) |
| Network card #1 |
Intel EtherExpress Pro/100 (onboard) |
| Network card #2 |
SMC 2835W V2, 54 Mbps Wifi Cardbus adapter |
| Network card #3 |
LevelOne WPC-0300, 54/108 Mbps Wifi Cardbus adapter |
| Network card #4 |
Benq AWL100, 11 Mbps Wifi PCMCIA adapter |
| Network card #5 |
3Com 3C589D, 10 Mbps PCMCIA Ethernet adapter |
| Sound Card |
Ali M5451 Audio Accelerator |
| Keyboard |
full size Qwerty with Euro symbol |
| Pointing device |
"joystick" in keyboard + 4 buttons |
| I/O ports |
1 x serial, 1 x parallel, VGA, TV-out, 2 x USB, 1 x PS/2,
RJ-45, RJ-11, 2 x PCMCIA/Cardbus, Mic in, Line out, Ir,
SD-Card reader |
The 3 wireless cards and the 3C589D obviously did not come with the laptop.
Pictures
Installation
When I decided to install FreeBSD on my Toshiba SP6000, it already had Slackware 10 and Win2K installed.
I resized my Linux /home parttition from 11GB to 6GB in order to free up some diskspace for a FreeBSD slice.
Here is what the partition table, on Linux, looks like now:
Filesystem Type Size Used Avail Use% Mounted on
/dev/hda1 ext3 183M 89M 84M 52% /
/dev/hda5 ext3 31M 5.2M 24M 18% /boot
/dev/hda6 ext3 228M 15M 202M 7% /var
/dev/hda7 ext3 1019M 41M 926M 5% /tmp
/dev/hda8 ext3 4.1G 2.2G 1.8G 56% /usr
/dev/hda9 ext3 5.7G 205M 5.2G 4% /home
/dev/hda3 vfat 2.0G 1.2G 856M 58% /win
FreeBSD lives in /dev/ad0s4, that is /dev/hda4 as far as Linux knows.
Here is what the FreeBSD partition table looks like :
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s4a 248M 35M 193M 15% /
/dev/ad0s4f 1.2G 11M 1.1G 1% /home
/dev/ad0s4e 193M 18K 178M 0% /tmp
/dev/ad0s4g 2.8G 939M 1.6G 36% /usr
/dev/ad0s4d 193M 2.6M 175M 1% /var
Initially, the FreeBSD installation CD failed to boot : kernel loading halted after about 1 second and the laptop
just sat there, doing nothing !? With or without ACPI, it didn't matter, the installation kernel failed to boot every time.
The solution is to modify a BIOS option: the option "Device Config." was set to "Setup by OS", which seems to
be fine for Slackware Linux and Win2k, but not for FreeBSD. Change it to "All Devices" and FreeBSD 5.4 will boot happily.
Apparently, FreeBSD requires the BIOS to initialize all devices before FreeBSD can handle them ? Anyway,
changing the BIOS option solved the problem and, equally important, did not affect the behavior of Linux and Win2k,
both of which seem indifferent towards whatever option is selected in the BIOS.
To get in the BIOS setup, at boot press ESC immediately (be very fast), then F1. Once in the setup screen,
press PgDn to select the 2nd screen of options. There you can change the Device Config option. Save by pressing End.
The FreeBSD setup application completed the installation without any further problem. After the initial installation, it was
necessary to configure Xorg manually. Being a long time Linux user, I also installed Bash and MC (Midnight Commander) and
XFCE 4 as my desktop environment.
Update: Since August 2005, the laptops runs FreeBSD 6.0-BETA. I needed 6.0 because the ath driver from 5.4
is too old for the LevelOne Wifi card. I simply cvsupped from 5.4 to RELENG_6. The laptop functions at least as good under 6.0
as it did under 5.4.
Harddisk/IDE controller
The IDE controller is an Ali Corporation M5229 rev c3 (195). It is supported since a long time by
FreeBSD 4.x/5.x. The ATA-100 compliant harddisk is enabled by this controller at UDMA66, whereas the
Linux driver sticks to a more conservative UDMA33. Anyway, disk access "feels" very fast.
BTW, the CDROM drive works fine too.
X11/Framebuffer
The video controller is a Trident Cyberblade XPAi1. It is supported by Xorg 6.8.x, using the
trident driver. It is connected to the AGP bus and uses 16MB of the main memory. This amount of memory is not
configurable, that is, there is no BIOS option of any kind that would allow to do so.
Performance is good for 2D, fast enough for MPlayer anyway, but really pathetic for 3D stuff.
I run X11 in 1024x768, the native resolution of the LCD panel, in 16bit colordepth. The quality of the LCD panel is
very good : very bright, good contrast and rich colors.
Contrary to Linux, in X11, the keyboard suffers from the infamous "Toshiba bounce keys" syndrome. It means
that keystrokes are rrepppeaaateeedd pretty often, which is very annoying. To get rid of the problem, I disabled
the Xkb option in my xorg.conf, like this:
Section "ServerFlags"
Option "XkbDisable" "True"
EndSection
Here is my xorg.conf, so you can use it too.
Updates by Worldi (from Germany):
If you need the XkbLayout option, most likely because you are using a non-us keyboard layout,
there is another solution for the toshiba bouce key problem :
- Install accessx (/usr/ports/x11/)
- Add the following to your ~/.xinitrc :
/usr/X11R6/bin/ax +bouncekeys bouncedelay 25 -timeout &
If your kernel is compiled with 'options SC_PIXEL_MODE' and VESA is enabled,
you can set your console resolution to 1024x768 pixel by adding 'allscreens_flags="MODE_278"' to your /etc/rc.conf.
This mode seems to be undocumented, though. (Worldi discovered this by accident while playing around with vidcontrol)
Sound
The sound controller is an Ali Corporation M5451 PCI Audio Device. This sound controller
gives you full duplex sound, so you don't need Esound or Arts. It is supported by the snd_t4dwave driver
and works just fine so far.
To have the sound driver loaded at boot, add the following to /boot/loader.conf:
snd_t4dwave_load="YES"
When the module is loaded succesfully, this is what /dev/sndstat looks like:
[david@porty ~]$ cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: at io 0xed00 irq 11 kld snd_t4dwave (4p/1r/0v channels duplex default)
Networking
The onboard Ethernet controller is an Intel Corporation 82557, better known as an Intel Pro/100.
This controller gives you 10/100Mbps full duplex networking. The connector is a regular RJ-45.
It is supported by the fxp driver. No problems at all, it just works fine.
The 3C589D is an older PCMCIA card, providing 10baseT Ethernet. The card needs a 3Com cable, with a proprietary
connector on the card end and a regular RJ-45 on the other end. The card is supported since long time by
the ep driver. No problems detected, it works fine. Performance is surprisingly good, it reaches 1080 KB/sec Tx.
My older Wifi card is a Benq AWL100 PCMCIA adapter, a Prism 2.5 based 11Mbps adapter.
It is supported out-of-the-box by the wi driver. Tx rate reaches roughly 670 KB/sec, without WEP.
That's very good for an 11 Mbps card, and in general fast enough, but it is kind of slow when transfering large files.
OTOH, enabling WEP on the Benq proved to be a real PITA: after assembling a more or less working
/etc/start_if.wi0, I couldn't get the card to associate when the WAP was
configured to use Shared key authentication. It turns out ifconfig failed with a weird error message
when trying to set authmode. Only after switching to Open authentication on the WAP, was it finally possible
to associate the Benq, using WEP. After that, the Benq worked fine and was very stable.
I also tried to use the SMC2835W on FreeBSD, but in vain. Contrary to Ndiswrapper on Linux, Ndisulator was unable
to activate the SMC. Loading the if_ndis module, I got an ndis0 device, but with a strange error message,
and it refused to associate with my WAP.
Update: To replace the aging 11 Mbps Benq, I obtained myself a LevelOne WPC-0300 54/108 Mbps Wifi adapter.
It is based on an Atheros 5212 chip, supported by the ath driver from 6.0 (but not 5.4). It works quite well,
speed is very good, and I had no trouble using WEP encryption.
Stability of the link however could be much better.
When placed further away from the WAP, the card tends to loose connection often and link speed fluctuates a lot.
Seems like there is a lot of room for improvement in that area.
USB
The USB controller is an Ali Corporation USB 1.1 controller rev 03. This controller powers
2 USB ports. It is supported by the OHCI USB driver and works fine.
Currently, I have used 2 USB devices when running FreeBSD on this laptop:
a Microsoft Optical WheelMouse (Microsoft makes great hw ;-).
a Canon Powershot A75 digital camera
Cardbus/PCMCIA controller
The Cardbus controller is a Toshiba ToPIC 95 PCI to Cardbus bridge. This controller powers
2 slots. It is supported by the FreeBSD 5 kernel Cardbus driver and works fine with all the PCMCIA or
Cardbus adapters I have at my disposal. No problems detected.
Mouse/Pointing Device
I use 2 mice on this laptop : an external Microsoft Optical USB WheelMouse and the built-in joystick thingie.
They are both recognised as a regular PS/2 Mouse. Both mice also work fine simulteanously, both in
console (moused) and X11.
For Xorg, here is the relevant part of xorg.conf:
Section "InputDevice"
Identifier "Mouse"
Driver "mouse"
Option "Protocol" "Auto"
Option "Device" "/dev/sysmouse"
Option "ZAxisMapping" "4 5"
EndSection
APM/ACPI
The laptop supports both APM and ACPI. That's nice but you can use only 1 of them.
APM
This laptop supports APM pretty well : it suspends and resumes nicely when in console mode, it powers off
and reports battery status correctly. It also suspends in X11, but then has troubles on resume (screen shows garbage).
ACPI
ACPI support is pretty good too. All devices seem to be initialized properly and status reporting of the
batteries is correct. The kernel also enumerates all ACPI devices properly (Batteries, Lid, PwrButton, Thermal Zone, AC adapter).
Suspending to sleep state S3 seems OK but resuming fails horribly : total freeze of the machine.
Other hardware
internal modem : never used it, so I can't say if it works
SD-Card reader : idem as above
Ir receiver : idem as above
serial port : OK, tested with a serial mouse
parallel port : OK, tested with a printer
Some files
|