|
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).
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.
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 |
No problem for normal use (is used as /dev/psaux), but I
didn't try to make any use of the multi-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)
to do
to do. Maybe. If I've really too much free time to
spend. Perhaps never :-)
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
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.
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
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
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.
to do
to do
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.
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.
Close the lid and remove the four screws from the lid
joint.
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.
Remove three screws from the rear edge of the keyboard.
Remove the keyboard and you're ready to replace the memory
bank.
|