HOME
René Tschirley · Resources

Switch to German 
Debian GNU/Linux on the Acer Ferrari 3400 LMi

The page is primarily designed for the Linux on Laptops project and is my second contribution to the project.

This text gives some hints how you can get your Acer Ferrari 3400 LMi to host Debian GNU/Linux. By now, I did not have enough time to get every component running, but I guess, that this text could be of some assistance to you at your first steps. If you are new very new to Linux and especially to Linux on laptops, you probably should read the Laptop-HOWTO first. It is quite old, but gives an overview on other HOWTOs.

Work is in progress. Suggestions are welcome. I'm currently extending this document from time to time as I have time to spend and get some things to work (see bottom line how long I have been too busy for an update).

Whenever I refer to packages, I actually refer to the Debian packages if not otherwise mentioned. Debian packages can be downloaded from the Debian website.

 General Hardware Specifications

Hardware Components

Status Under Linux

Notes

Mobile AMD Athlon 64 Processor 3000+ (2005 MHz), 64kB L1 Cache, 1MB L2 Cache

Works

No special procedure required during installation. See below for frequency scaling. Use MK8 for extended instructions and gcc option flags.

Via ProSavage K8T800 Chipset

Works

No special procedure required during installation

15" SXGA+ (1400x1050) TFT Display

Works

Select No special procedure required during installation.

ATI Mobility Radeon 9700 [RV350 M10], 128MByte, 8x AGP

Works

Download ATI Linux driver (see below).

512 MB DRAM, 2SoDIMMs

Works

No special procedure required during installation. See below for RAM replacement.

80GB Ultra ATA 100 Hard Drive C25N080ATMR04-0, 4200 rpm

Works

No special procedure required during installation

Broadcom Tigon 3 Network Card

Works

No special procedure required during installation. See below for kernel configuration.

56k Modem

Doesn't Work

In progress

Broadcom BCM4306 W-LAN

Doesn't Work

In progress

Slot-in Matshita DVD-RAM UJ-825S (DVD[+-[[R]W] / CD[-R[W]] / DVD-RAM

Works

No special procedure required during installation. See below for note on writing CDs/DVDs.

Sound VIA 686a/8233/8235

Works

No special procedure required if using Kernel 2.6.x. See below for kernel config.

Synaptics SynPS/2 Touchpad at /dev/psaux with 4 multi-buttons

Works as normal touchpad (no multibutton)

In progress

Special buttons

Works

See below for configuration.

IEEE 1394 FireWire

No idea

I have no FireWire device, so I couldn't try.

Bluetooth

No idea

I have no Bluetooth device, so I couldn't try.

Type II PC-Card

No idea

I have no card, so I couldn't try.

Infrared

Doesn't work

In progress

4x USB 2.0, recognized as /dev/sdb if connected

Works

No special procedure required during installation. See below for tips and kernel configuration.

5-in-1 Card Reader (MMC, SD, SM, MemoryStick [Pro])

Works

No special procedure required during installation. See below for tips.

The laptop is operating at least under kernel versions 2.4.25, 2.6.[7-9].

 Debian System Installation

Basic installation with Debian 3.0 r1 CD (testing, aka "woody") runs very well, no device drivers will be needed. I've taken the i386 installation. No idea if ia64 works as well. You should install some kernel sources and build your own kernel (don't be afraid, it's quite simple if you are patient enough to read the help pages, I'd suggest to have 2 free hours for an unexperienced user).

 Custom Configuration

I configured the system with a 2.6.9 kernel and recent "woody" packages. In the following sections I assume you are configuring a 2.6 kernel.

 (1) APM

not done yet

 (2) CPU frequency scaling

Ricardo Galli's 'cpudyn' package does a great job. You really should install it. It reduces CPU frequency whenever CPU power is not realli needed. At least with a 2.6.[9-11] kernel, you won't need the cpufreq patch. Just activate kernel options 'CPU Frequency scaling' (CPU_FREQ), 'userspace governor for userspace frequency scaling' (CPU_FREQ_GOV_USERSPACE), 'Performance Governor' (CPU_FREQ_GOV_PERFORMANCE) and set this to be the default governor, 'Powersave governor' (CPU_FREQ_GOV_POWERSAVE), enable the 'CPU frequency table helpers' (CPU_FREQ_TABLE) and activate 'AMD Opteron/Athlon64 PowerNow!' (X86_POWERNOW_K8) as you are told in kernel documentation file 'Documentation/cpu-freq/user-guide.txt'. At the end, there will be a daemon which reduces CPU time whenever appropriate and you'll be able to read current CPU frequency with 'cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq'. Anyone who has a gkrellm applet for this?

If you have ACPI switched on, you can manually change the processor mode using the command 'echo number > /proc/acpi/processor/CPU0/profile' where number is the mode of the following table:

Mode Frequency Power consumption
0 2.0 GHz 57 W
1 1,8 GHz 51 W
2 1,6 GHz 49 W
3 800 MHz 40 W

 (3) Synaptics TouchPad

No problem for normal use (is used as /dev/psaux), but I didn't try to make any use of the multi-buttons.

 (4) Buttons

The four custom buttons can be used to invoke any command you like. Use the Debian package 'xbindkeys' for easy configuration. Keycode for 'mail' button is 236, 'internet' button is 178. To enable the 'P1' and 'P2' buttons, you first have to assign a keycode. Use these commands to set the keycode to 122 and 123 when X is started or at boot time (as superuser):

setkeycodes e073 122    # "P1"
setkeycodes e074 121    # "P2"
	  
After this, configure the commands in your ~/.xbindkeysrc file. The command 'xbindkeys -k' waits for a single key press and prints out the text you have to insert into the resource file, e. g.
"mozilla"
  m:0x0 + c:178
	  
Start a new X sesstion and you're finished.

 (5) Wired Network Interface

Enable 'Network device support' (NETDEVICES), 'Ethernet (1000Mbit)' (NET_ETHERNET), and 'Broadcom Tigon 3 support' (TIGON3). Hardware will be detected eth0:

Tigon3 [partno(BCM95788A50) rev 3003 PHY(5705)] (PCI:33MHz:32-bit) 10/100/1000BaseT Ethernet 
RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] Split[0] WireSpeed[0] TSOcap[0]
	    

Speed will be set according to link capabilities:

tg3: eth0: Link is up at 100 Mbps, half duplex.
tg3: eth0: Flow control is off for TX and off for RX.
	    
 (6) Wireless Network Interface

Laptop: Acer Ferrari 3400LMi Chipset: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03) Other: Much like all the other Broadcom/Acer cards, but won't scan/work right unless you set the boot options "apm=off acpi=noirq" in /boot/grub/menu.lst so that the kernel starts up that way. Tested with SuSE 9.1 (with SuSE 9.2 2.6.8 kernel security fix rpm as an easy way to upgrade to more recent kernel) and ndiswrapper 1.1rc2, using Acer broadcom driver. The "apm=off" allows the proprietary driver to exit without hanging the unit, too =O)

 (7) IrDA

to do

 (8) Modem

to do. Maybe. If I've really too much free time to spend. Perhaps never :-)

 (9) USB

Activate 'Support for Host-side USB' (USB) and maybe the debug option (tends to be quite verbose). Say yes to 'EHCI HCD (USB 2.0) support (USB_EHCI_HCD) and 'UHCI HCD (most Intel and VIA)' support (USB_UHCI_HCD).

USB Memory Sticks

The use of memory sticks is rather comfortable. If you're new to that topic, you should probably have a look at Niko Sauer's Flash-Memory-HOWTO. Nico explains in detail what to do to get it working. Tough I think, it's very good written and worth reading, here's a shortcut.

Enable the kernel option '/proc filesystem' (PROC_FS) and add the line "/dev/sdb1 /mnt/memstick vfat defaults,user,noauto,umask=000,codepage=850" to the file '/etc/fstab' (yes, memory sticks are usually not divided in several partitions, though this is possible). Create the directory /mnt/memstick. Useful are kernel options 'USB device filesystem (USB_DEVICEFS) and 'USB Mass Storage support' (USB_STORAGE) if you want to use for example USB Memory Sticks. I use a SanDisc Cruzer Micro. Add the line "none /proc/bus/usb usbdevfs defaults 0 0" to the file '/etc/fstab'. Either reboot or execute 'mount /proc/bus/usb'. If the directory '/proc/bus/usb' exists, everything is ok.

As these devices are handled using the SCSI emulation API, you'll need to activate 'SCSI device support' (SCSI), 'SCSI disk support' (BLK_DEV_SD), 'SCSI generic support' (CHR_DEV_SG) and maybe 'Verbose SCSI error reporting (kernel size +=12K)' (SCSI_CONSTANTS).

Here's what syslog tells me if I then insert it to the 2nd port:

usb 1-2: new high speed USB device using address 10
scsi4 : SCSI emulation for USB Mass Storage devices
  Vendor: SanDisk   Model: Cruzer Micro      Rev: 2033
  Type:   Direct-Access                      ANSI SCSI revision: 02
SCSI device sdb: 512000 512-byte hdwr sectors (262 MB)
sdb: assuming Write Enabled
sdb: assuming drive cache: write through
 /dev/scsi/host4/bus0/target0/lun0: p1
Attached scsi removable disk sdb at scsi4, channel 0, id 0, lun 0
Attached scsi generic sg2 at scsi4, channel 0, id 0, lun 0,  type 0
USB Mass Storage device found at 10
93]: configured rule in '/etc/udev/rules.d/z_hal-plugdev.rules' at line 2 applied, 'sdb' becomes '%k'
93]: creating device node '/dev/sdb'
01]: configured rule in '/etc/udev/rules.d/z_hal-plugdev.rules' at line 2 applied, 'sdb1' becomes '%k'
01]: creating device node '/dev/sdb1'
15]: creating device node '/dev/sg2'
After this, you should be able to mount the memstick with 'mount /mnt/memstick'. Of course, you have enable the desired filesystem support, I guess 'DOS FAT fs support' (FAT_FS), 'MSDOS fs support' (MSDOS_FS), 'VFAT (Windows 95) fs support' (VFAT_FS) and maybe 'Second extended fs support (ext2fs)' (EXT2_FS).

USB Mouse

I have no idea which option makes the USB mouse to work that perfect. No special XFree86 configuration was needed. The mouse is accessed via /dev/psaux as well as the touch pad. According to syslog output, you should activate 'USB Human Interface Device (full HID)' support (USB_HID) and 'HID input layer support' (USB_HIDINPUT) as I did. Works parallel. With all USB ports.

Here's the syslog output:

kernel: usb 1-1.1: new low speed USB device using address 11
hal.hotplug[15373]: DEVPATH is not set
udev[15353]: configured rule in '/etc/udev/rules.d/udev.rules' at line 55 applied, 'mouse1' becomes 'input/%k'
udev[15353]: creating device node '/dev/input/mouse1'
kernel: input: USB HID v1.10 Mouse [Genius NetScroll + Mini Traveler] on usb-0000:00:10.3-1.1
input.agent[15355]:      evbug: blacklisted
udev[15370]: configured rule in '/etc/udev/rules.d/udev.rules' at line 57 applied, 'event3' becomes 'input/%k'
udev[15370]: creating device node '/dev/input/event3'
input.agent[15374]:      evbug: blacklisted
input.agent[15364]:      evbug: blacklisted
and here's the part from my '/etc/X11/XF86Config-4':
Section "InputDevice"
    Identifier  "Mouse1"
    Driver "mouse"
    Option "Protocol"   "ImPS/2"
    Option "ZAxisMapping"   "4 5"
    Option "Device"     "/dev/psaux"
EndSection

 (10) Card Reader

The Ferrari has a built-in 5-in-1 card reader which is able to read MMC, SD, SM and MemoryStick [Pro] cards. I've tried with SM cards which worked very well. If you've set your Ferrari up for USB memory sticks, you've all the kernel options required for the card reader. Simply insert a card and see it being recognized as SCSI device in the syslog.

 (11) X11

Use ATI's binary Mobile FireGL driver 'fglrx'. The 'ati' driver provides basic support for the Mobile Radeon 9700, but no 3D hardware acceleration and it would be a pity if you can't enjoy the performance. I fetched the driver package file 'fglrx-4.3.0-3.14.6.i386.rpm' from ATI's support website. Don't worry if the driver is not listed with other OS' notebook drivers and the web form refuses to supply a Linux notebook driver. Just let it know you want to have a Radeon Linux driver. Afaik they've got only this one package. After getting it, I converted it to a Debian package with alien. Runs smoothly and creates the file 'fglrx_4.3.0-3.14_i386.deb' which can be installed with 'dpkg'. This includes '/usr/X11R6/lib/modules/drivers/fglrx_drv.o' which is the XFree86 driver file.

The time when I first wrote this, my system ran a 2.6.7 kernel. Some time, as kernel development went on, the function pci_find_class has vanished. Older ATI driver seem to complain about this and won't give hardware acceleration without it. With my 2.6.10 kernel and driver 8.12.10, everything seems to be well.

The driver installs some useful documents in '/usr/share/doc/fglrx'. Maybe you want to have a look. In short, you have to change to '/lib/modules/fglrx/build_mod' and do a './make.sh' (after you've modified the permission to let the shell execute the file), then change to '/lib/modules/fglrx' and run './make_install.sh' (after changing the permissions).

Now you might run 'fglrxconfig' which came with the driver and sets up the XF86-Config for you.

That's it. Restart X11. XFree now says on startup:

XFree86 Version 4.3.0.1 (Debian 4.3.0.dfsg.1-10 20041215174925 fabbione@fabbione.net)
[...]
(II) LoadModule: "fglrx"
(II) Loading /usr/X11R6/lib/modules/drivers/fglrx_drv.o
(II) Module fglrx: vendor="Fire GL - ATI Research GmbH, Germany"
        compiled for 4.3.0.1, module version = 3.14.6
        Module class: XFree86 Video Driver
        ABI class: XFree86 Video Driver, version 0.6
[...]
(--) Chipset ATI RV350 NP (M10) found

ATI has included some handy utilities: 'fglrxinfo' which produces the following output if everything was installed well:

display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: MOBILITY RADEON 9700 Generic
OpenGL version string: 1.3.4641 (X4.3.0-3.14.6)
and 'fgl_glxgears' which opens a OpenGL window showing the well-known gears and prints FPS statistics to stdout (about 300 fps).

Here's the parts of my '/etc/X11/XF86Config-4':

Section "dri"
    Mode 0666
EndSection

Section "Module"
    Load        "dbe"   # Double buffer extension
    SubSection  "extmod"
      Option    "omit xfree86-dga"   # don't initialise the DGA extension
    EndSubSection
    Load        "type1"
    Load        "freetype"
    Load        "glx"   # libglx.a
    Load        "dri"   # libdri.a
EndSection
Section "Device"
    Identifier                          "ATI Graphics Adapter"
    Driver                              "fglrx"
# ### generic DRI settings ###
# === disable PnP Monitor  ===
    #Option                              "NoDDC"
# === disable/enable XAA/DRI ===
    Option "no_accel"                   "no"
    Option "no_dri"                     "no"
# === misc DRI settings ===
    Option "mtrr"                       "off" # disable DRI mtrr mapper, driver has its own code for mtrr
# ### FireGL DDX driver module specific settings ###
# === Screen Management ===
    Option "DesktopSetup"               "0x00000100"
    Option "MonitorLayout"              "AUTO, NONE"
    Option "IgnoreEDID"                 "off"
    Option "HSync2"                     "unspecified"
    Option "VRefresh2"                  "unspecified"
    Option "ScreenOverlap"              "0"
# === TV-out Management ===
    Option "NoTV"                       "yes"
    Option "TVStandard"                 "NTSC-M"
    Option "TVHSizeAdj"                 "0"
    Option "TVVSizeAdj"                 "0"
    Option "TVHPosAdj"                  "0"
    Option "TVVPosAdj"                  "0"
    Option "TVHStartAdj"                "0"
    Option "TVColorAdj"                 "0"
    Option "GammaCorrectionI"           "0x00000000"
    Option "GammaCorrectionII"          "0x00000000"
# === OpenGL specific profiles/settings ===
    Option "Capabilities"               "0x00000000"
# === Video Overlay for the Xv extension ===
    Option "VideoOverlay"               "on"
# === OpenGL Overlay ===
# Note: When OpenGL Overlay is enabled, Video Overlay
#       will be disabled automatically
    Option "OpenGLOverlay"              "off"
# === Center Mode (Laptops only) ===
    Option "CenterMode"                 "off"
# === Pseudo Color Visuals (8-bit visuals) ===
    Option "PseudoColorVisuals"         "off"
# === QBS Management ===
    Option "Stereo"                     "off"
    Option "StereoSyncEnable"           "1"
# === FSAA Management ===
    Option "FSAAEnable"                 "no"
    Option "FSAAScale"                  "1"
    Option "FSAADisableGamma"           "no"
    Option "FSAACustomizeMSPos"         "no"
    Option "FSAAMSPosX0"                "0.000000"
    Option "FSAAMSPosY0"                "0.000000"
    Option "FSAAMSPosX1"                "0.000000"
    Option "FSAAMSPosY1"                "0.000000"
    Option "FSAAMSPosX2"                "0.000000"
    Option "FSAAMSPosY2"                "0.000000"
    Option "FSAAMSPosX3"                "0.000000"
    Option "FSAAMSPosY3"                "0.000000"
    Option "FSAAMSPosX4"                "0.000000"
    Option "FSAAMSPosY4"                "0.000000"
    Option "FSAAMSPosX5"                "0.000000"
    Option "FSAAMSPosY5"                "0.000000"
# === Misc Options ===
    Option "UseFastTLS"                 "0"
    Option "BlockSignalsOnLock"         "on"
    Option "UseInternalAGPGART"         "yes"
    Option "ForceGenericCPU"            "no"
    BusID "PCI:1:0:0"    # vendor=1002, device=4e50
    Screen 0
EndSection

 (12) Sound

Enable 'Sound card support' (SOUND) and 'VIA 82C686A/B, 8233 South Bridge (SND_VIA82XX)'. After that, you should be able to read this from syslog:

ac97_codec: AC97 Audio codec, id: ALG64 (Unknown)
via82cxxx: board #1 at 0x1000, IRQ 11
ALSA sound support is not required.

 (13) Playing DVD and TV out

to do

 (14) CD/DVD writing

The main HOWTO for this section is the CD-Writing-HOWTO. However, it doesn't cover writing DVDs.

If you didn't include SCSI subsystem support to be able to use USB memory sticks, you have to include it if you want to write CDs/DVDs. The Atapi burner is are handled using the SCSI emulation API, so activate 'SCSI device support' (SCSI), 'SCSI CDROM support' (BLK_DEV_SR), 'SCSI generic support' (CHR_DEV_SG) and maybe 'Verbose SCSI error reporting (kernel size +=12K)' (SCSI_CONSTANTS). Maybe you want to read the SCSI-Howto.

Install the Debian packages 'mkisofs' and a package which includes a CD writing utility, e.g. 'xcdroast' which is very useful and is able to scan for usable devices, so you'll know if you have installed everything well.

The current version of 'cdrecord' (a well-known lowend writing utility which is used by xcdroast and gets automatically installed by the xcdroast Debian package) doesn't support DVD writing. If think you want to write DVDs, you have to get the 'cdrecord-ProDVD' utility, which is written by the same author, Jörg Schilling. This tool is closed source. You may get it for free and get a required protection key (xcdroast lets you enter the key in the Settings menu) which will enable you to use cdrecord-ProDVD for about one year. After the key expires, you have to get the next key.

 (15) Suspend to Disk

to do

 (16) Sensors

to do

 (17) RAM Replacement

The notebook is equiped with two memory banks. The first is placed at the notebook's downside and very easy to replace. Just remove the two screws from the cover plate and the plate.

memory bank photo

The second memory bank is placed at the notebook's topside, below the keyboard. You have to remove the keyboard before you can replace the RAM:

  • Remove the two screws marked with a 'K' at the bottom side.

    memory bank photo

  • Close the lid and remove the four screws from the lid joint.

    memory bank photo

  • Open the lid as wide as possible. Remove the carbon colored plastic plate above the keyboard. There are HALTENASEN on to the front, to the left and to the right.

    memory bank photo memory bank photo memory bank photo

  • Remove three screws from the rear edge of the keyboard.

    memory bank photo

  • Remove the keyboard and you're ready to replace the memory bank.

    memory bank photo

  •  (16) Personal Notes

    Many people who read this page ask me for a personal note. They want to know if I could recommend the Acer Ferrari 3400.

    Certainly, it depends on your needs. If you want to buy a silent notebook, don't buy the Ferrari. You'd never expect a Ferrari to be a silent machine, eh? If you use Ricardo Garri's cpudyn package as described above, the Ferrari is not so very loud as one might expect. If you write some text with your favorite editor, the CPU idles at 800MHz for almost all the time. Even with a hot machine after a long busy day, the fan is running about 70% in silent mode which is absolutely allright and almost unhearable. Other time goes to 'fan off' (very few) and 'fan at high speed' first, then to 'fan at very high speed', which doesn't increase the volume, but pitches the sound to a higher tone. If you need full CPU power, you can bet on that the fan goes to full speed within less than a minute. If you tend to hear loud music, you won't recognize this, but if music is at low or moderate level, you'll surely hear it.

    Computation power is good, as it can be expected from the processor. Battery time depends on the usage, but if I write documentation, memos or do some easy software developing, it's about two hours with new batteries. Don't know how the capacity drops down if they are getting old.

    The display is somewhat disappointing, but I must admit, that I'm used to quite good displays as they come with a Dell Inspiron or with medical viewing workstations.

    As on many notebooks, the harddisk is somewhat misplaced. It resides under your left hand if you put the hands on the keyboard. With normal usage, my HD temperature hardly exceeds 50 C. But if you start gaming or something like that, the heat becomes really uncomfortable. Almost as uncomfortable as placing the notebook at your lap for working on hot days. You'll become roasted.

     (17) Linux Kernel Configuration

    You can download my kernel configuration to apply all proposals. It's currently for kernel 2.6.10.


    22. Jun 2007 / 15:59:16