Ubuntu on an Acer Ferrari - Breezy
Last updated November 19th, 2005.
These are older instructions, and do not apply if you use the newer driver supplied by ATI: 8.19.10. If you're still using the breezy supplied driver, then this will apply, so I'll leave it here.
The graphics subsystem is one of the biggest problems with the laptop. Ubuntu correctly identifies the graphics card, and sets up the appropriate xorg.conf file. However, somewhere along the technology chain, something switches the primary display to the vga-out and the secondary display to the laptop's LCD. Because it's not being told to clone the display, it switches off the secondary display (the LCD) when starting X.org. The end result is a black screen after X.org starts. The quick and easy fix to this is to add the following to your Section "Device":
Option "CRT2Position" "clone" Option "MonitorLayout" "LVDS,CRT"
This allowed me to use the laptop with the full 1680x1050 resolution in order to debug and set up everything else. I'm not sure where the bug exists, (Module, Ubuntu Configuration, etc) but I will inform the ubuntu developers and hopefully they will track down where the bug exists for breezy.
Breezy Users: If you are having a problem with HW accel, then please look at bug # 17614 - Thursday October 20th, 2005.
The wired networking was working out of the box using the tg3 module.
Wireless worked well using ndiswrapper as per the following sites:
http://www.triplenet.dk/~xerne/linux/Ferrari.htm,
http://www.detla.de/index_ferrari.html
First, I installed ndiswrapper using synaptic, then I downloaded the:
ftp://ftp.support.acer-euro.com/notebook/ferrari_4000/driver/winxp64bit/80211g.zip
and installed it using:
sudo ndiswrapper -i bcmwl5.inf sudo modprobe ndiswrapper
Then I tried using one of the 5 unprotected networks surrounding my apartment using the gnome-networking tool which is found in System -> Administration -> Networking.
DVD Playback had me worried, as I kept seeing the following in my logs:
[ 637.266077] hdc: command error: status=0x51 { DriveReady SeekComplete Error }
[ 637.266081] hdc: command error: error=0x50 { LastFailedSense=0x05 }
[ 637.266084] ide: failed opcode was: unknown
[ 637.266086] end_request: I/O error, dev hdc, sector 12126124
In the end, I'm fairly certain this was simply due to the region not being set on my DVD drive, which is easily solved by installing the regionset application through synaptic, and then running it with sudo. Remember, you can only change your region on your DVD drive a specified number of times, so be careful with this utility.
sudo apt-get install regionset sudo regionset
You should then install libdvdcss. I leave this exercise up to you. Totem still refused to play the DVD, due to some codec issues:
** Message: don't know how to handle video/mpeg, mpegversion=(int)2, systemstrea m=(boolean)false ** Message: don't know how to handle audio/x-ac3
which was solved by installing all of the gstreamer-plugins:
sudo apt-get install gstreamer0.8-pluginsI'm sure that this is overkill to solve the problem, but in my case, I figured that extra media plugins was probably a good thing. Gnome even autostarts the totem when the DVD is inserted into the drive.
After installing the machine, you can look at the output of dmesg and notice the following error messages:
Aug 9 15:15:04 localhost kernel: ACPI: Subsystem revision 20050211 Aug 9 15:15:04 localhost kernel: ACPI-0352: *** Error: Looking up [Z00I] in namespace, AE_NOT_FOUND Aug 9 15:15:04 localhost kernel: search_node 000001003fadc2c0 start_node 000001003fadc2c0 return_node 0000000000000000
These are specifically due to a buggy ACPI implementation shipped with the computer. I spent a long time figuring out how to fix this and if it wasn't for these pages, I would have had NO clue:
http://acpi.sourceforge.net/download.html,
http://gaugusch.at/kernel.shtml
The essential idea behind this method is that you should make a copy of the buggy acpi implementation (dsdt.asl) from the bios, then you fix a number of typos and errors in it, and you can then recompile it. Once you have a compiled version without the errors, you should instruct your kernel to use this new version instead of the version found in the BIOS.
I have some reports that Bluetooth isn't working with the DSDT.aml that I am providing, I have confirmed that there seems to be some problems with bluetooth, but am unsure as to why. Additionally, the current DSDT does allow the battery information to be read from /proc/acpi/battery/BAT1/*, but the battery applet in gnome isn't properly reporting anything other than whether the battery is plugged in or not. I will be looking at this during the holidays, after Dec. 20th. If you have more information on this and would like to help, feel free to contact me.
I have uploaded a number of files to this website for this process. If you have the exact same laptop and BIOS version(S3A21) as I do, then you can use the DSDT.aml file directly and just create a new initrd package. On the other hand, if you have a different laptop and are looking for tidbits of information on how I fixed mine, you can use the instructions in the old hoary page as well as the dsdt.asl, dsdt-fixed.asl and dsdt.diff files to get an idea of what you can do to fix yours.
Once you have a fixed DSDT.aml file compiled, you can create a new initrd file by:
lakin@zedd:~$ sudo cp DSDT.aml /etc/mkinitramfs/ lakin@zedd:~$ sudo mkinitramfs -o initrd.img-2.6.12-9-amd64-k8.fixed lakin@zedd:~$ sudo cp initrd.img-2.6.12-9-amd64-k8.fixed /boot/initrd.img-2.6.12-9-amd64-k8.fixedAnd then you can edit your /boot/grub/menu.lst and make sure that the initrd image that you are using is the fixed one, rather than the old one. Once you've rebooted look in your /var/log/messages for the following lines to indicate that you've succesfully installed it:
Nov 19 07:19:00 localhost kernel: [ 11.301523] ACPI: Looking for DSDT in initramfs... found /DSDT.aml ... successfully read 23286 bytes from /DSDT.aml Nov 19 07:19:00 localhost kernel: [ 11.301543] ACPI: Using customized DSDT Nov 19 07:19:00 localhost kernel: [ 11.301608] ACPI-0306: *** Info: Table [DSDT] replaced by host OSMany thanks go out to Cláudio F. Gil for supplying me with this method.
Once this was working, I had to restart dbus in order for the battery state to be read: sudo /etc/init.d/dbus restart.
Ubuntu mostly configured this out of the box, but it didn't install some of the necessary packages:
sudo apt-get install bluez-pin bluez-utils
After installing these packages turn on the hidd server by editing /etc/default/bluez-utils and changing the following line:
HIDD_ENABLED=0
to:
HIDD_ENABLED=1
Make sure the button for the bluetooth is on in the front (it should be glowing blue). Then restart the bluez-utils package:
sudo /etc/init.d/bluez-utils restart
After this I think it should be working, move your mouse around, click some buttons and/or use the button on the bottom of the mouse to initiate the connection. I should mention that I did not get it to work very well until after I used the gnome-bluetooth-manager package to discover the address of my device and then I ran:
sudo hidd --connect XX:XX:XX:XX:XX:XX
Since then blue tooth has been working upon boot with no extra work. I simply make sure that bluetooth is "on" and move the mouse.
This is not completely working. To start, you should edit the /etc/default/acpi-support and turn on sleep support. Then I ran /etc/acpi/sleep.sh
This succesfully puts the laptop to sleep. However, I cannot yet succesfully get it back from sleep mode. The screen does not come back on.
Here are some of my working configuration files. I am providing this so that users of other distributions/laptops have a reference point. These files are not necessarily perfectly configured, and there are many issues I should still work out.
If you do use these files as a reference and you find any problems that I can fix, I would appreciate knowing about them.
