FreeUnix.Dyndns.Org Sat, 21 November 2009 - 10:28:06 CET
Home ·  AcpiTool ·  Howto ? ·  Links ·  Hardware ·  FTP Archive ·  Search ·  Contact ·  About
>  Running FreeBSD 5.x on a Toshiba Satellite Pro 6000 laptop   <
Intro
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 Top

 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 Top

Toshiba SP6000 Toshiba SP6000
Installation Top
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 Top
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 Top
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 Top
    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 Top
    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 Top
    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 Top
    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 Top
    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 Top
    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 Top
  • 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 Top
    Top