Mandriva Linux 2006 Download Edition

This page documents how to install and configure Mandriva Linux 2006 Download edition on the Acer Ferrari 4005WLMi

Contents

Disclaimer

I assume no responsibility for what you do with this information. It is in no way official, or supported. It may break your computer, or delete your data. What you do with these instructions, you do at your own risk. Having said that, I created these instructions from doing it myself, and I don’t have any problems with my Ferrari :)

Installation

To be completed.

Networking

The Wired LAN adapter should be detected at install, if not it uses the tg3 module.
You can load this module on boot by putting it on a new line in /etc/modprobe.preload

grep "^tg3$" /etc/modprobe.preload || echo "tg3" >> /etc/modprobe.preload

The Wireless LAN adapter is supported by using ndiswrapper

urpmi ndiswrapper
# You did leave Windows XP installed, right?
ndiswrapper -i /mnt/win_c/windows/80211bg/bcmwl5.inf
modprobe ndiswrapper

If you didn’t leave Windows XP installed, you can download the wireless drivers here and use

ndiswrapper -i /path/to/80211/BG/bcmwl5.inf

There is a bug with the wireless - all iwconfig (and possibly other wireless commands) need to be issued twice and commited after each issue in order to be accepted by the wireless adapter. I have written a simple iwconfig wrapper in bash which overcomes this bug, you can download it here and install it like so

wget http://www.omgwtfbbq.com.au/ferrari/files/mandriva/iwconfig-wrapper.sh
mv /sbin/iwconfig /sbin/iwconfig-real
mv iwconfig-wrapper.sh /sbin/iwconfig
chmod +x /sbin/iwconfig

You can now use one of the many console or gui methods to configure your wireless adapter, below I will demonstrate how to configure it through mandriva’s network scripts to start on boot.

To make sure the ndiswrapper module is loading on boot, put an entry in /etc/modprobe.preload for it:

grep "^ndiswrapper$" /etc/modprobe.preload || echo "ndiswrapper" >> /etc/modprobe.preload

Then edit /etc/sysconfig/network-scripts/ifcfg-wlan0 to look something like the following, where WIRELESS_IWCONFIG is the arguments to give the iwconfig wrapper.
In my example, I want to connect to essid “YourApSSID” using infrastructure(managed) mode on channel 6 with an ascii WEP encryption key of “12345”.
Full documentation & examples can be found in man iwconfig

DEVICE=wlan0
BOOTPROTO=dhcp
IPADDR="No IP"
NETMASK="No Mask"
BROADCAST=255
ONBOOT=no
MII_NOT_SUPPORTED=yes
WIRELESS_IWCONFIG="mode managed essid YourApSSID channel 6 enc s:12345"
PEERDNS=yes
NETMASK="No Mask"
IPADDR="No IP"
DHCP_CLIENT=dhclient
NEEDHOSTNAME=yes
PEERDNS=yes
PEERYP=no
PEERNTPD=no

To start the adapter, press the wireless button on the front of the notebook and watch /var/log/syslog for the corresponding setkeycodes message.
Once its enabled, type ifup wlan0 and your settings will be applied.

/var/log/syslog:

Wireless Adapter Disabled:
Dec 15 22:05:58 Ferrari kernel: atkbd.c: Use 'setkeycodes e056 <keycode>' to make it known.
Dec 15 22:05:58 Ferrari kernel: atkbd.c: Unknown key released (translated set 2, code 0xd6 on isa0060/serio0).
Dec 15 22:05:58 Ferrari kernel: atkbd.c: Use 'setkeycodes e056 <keycode>' to make it known.
Dec 15 22:06:04 Ferrari kernel: atkbd.c: Unknown key pressed (translated set 2, code 0xd5 on isa0060/serio0).

Wireless Adapter Enabled:
Dec 15 22:06:04 Ferrari kernel: atkbd.c: Use 'setkeycodes e055 <keycode>' to make it known.
Dec 15 22:06:04 Ferrari kernel: atkbd.c: Unknown key released (translated set 2, code 0xd5 on isa0060/serio0).
Dec 15 22:06:04 Ferrari kernel: atkbd.c: Use 'setkeycodes e055 <keycode>' to make it known.

Note: The wireless LED will not light up until there is wireless traffic.

APIC Clock Speed Patch

There is a bug with the shipped kernel 2.6.12-12mdk (and possibly all 2.6 kernels) which causes the clock to run twice as fast as it should, but is easily fixed by a one line patch created by Akira Tsukamoto akira-t@s9.dion.ne.jp to the kernels io_apic.c

Original Linux Kernel Mailing List Message

--- linux-2.6.12-12mdk/arch/i386/kernel/io_apic.c       2005-12-12 09:12:35.618819736 +0800
+++ linux-2.6.12-12mdk/arch/i386/kernel/io_apic.c       2005-12-14 21:47:03.761509224 +0800
@@ -1787,7 +1787,7 @@
         * might have cached one ExtINT interrupt.  Finally, at
         * least one tick may be lost due to delays.
         */
-       if (jiffies - t1 > 4)
+       if (jiffies - t1 > 4 && jiffies - t1 < 16)
                return 1;

        return 0;

To Apply the patch and recompile your kernel do the following

urpmi kernel-source-2.6
cd /usr/src
wget http://www.omgwtfbbq.com.au/ferrari/files/mandriva/io_apic.patch
patch -p0 < io_apic.patch
cd linux
make && make modules_install && make install

You may then want to edit /etc/lilo.conf and make 2612-12mdkcustom your default boot image.

ACPI Patch

After installation, you can look at the output of dmesg and notice the following error messages:

Dec 12 01:09:30 Ferrari kernel: APIC error on CPU0: 00(40)
Dec 12 01:09:34 Ferrari kernel:     ACPI-0352: *** Error: Looking up [Z00I] in namespace, AE_NOT_FOUND
Dec 12 01:09:34 Ferrari kernel: search_node c20f6e20 start_node c20f6e20 return_node 00000000
Dec 12 01:09:34 Ferrari kernel:     ACPI-1138: *** Error: Method execution failed [\_SB_.BAT1._BST] (Node c20f6d20), AE_NOT_FOUND

These are specifically due to a buggy ACPI implementation shipped with the computer. Luckily for me Lakin Wecker had already figured out how to patch BIOS version S3A21 for his Ubuntu 64bit HOWTO however it broke bluetooth & wireless when used on S3A23, so I made one which can be found at the ACPI4Linux Project Page or locally here

The information below applies only to BIOS version S3A23, if you do not have this version I strongly recommend you do NOT follow these instructions

Using the ASL that I made for S3A23, I compiled it using the Intel IASL Compiler and then performed two commands to patch it into my existing mdkcustom initrd that was created from the apic clock patch.

wget http://www.omgwtfbbq.com.au/ferrari/files/mandriva/Acer-Ferrari-4005WLMi-S3A23.asl.gz
gunzip Acer-Ferrari-4005WLMi-S3A23.asl.gz
iasl -on dsdt.asl
echo -n "INITRDDSDT123DSDT123" >> /boot/initrd-2.6.12-12mdkcustom.img 
cat DSDT.aml >> /boot/initrd-2.6.12-12mdkcustom.img 
lilo -v && rebootin 2612-12custom

Once you’ve rebooted look in your /var/log/syslog for the following lines to indicate that you’ve succesfully installed it:

Dec 14 21:44:27 Ferrari kernel: ACPI: Looking for DSDT in initrd... found (at offset 0x7376a).
Dec 14 21:44:27 Ferrari kernel:     ACPI-0294: *** Info: Table [DSDT] replaced by host OS

You should now be able to use `acpi -V` to read battery status, or read files from /proc/acpi respectively

[root@Ferrari ~]# acpi -V 
    Battery 1: charged, 100% 
    Thermal 1: ok, 44.0 degrees C 
 AC Adapter 1: on-line 

*** after pulling out the power cord ***

[root@Ferrari ~]# acpi -V 
    Battery 1: discharging, 99%, 02:36:22 remaining 
    Thermal 1: ok, 44.0 degrees C 
 AC Adapter 1: off-line 

Xorg Configuration

To be completed.

Bluetooth

Bluetooth works extremely well, I havn’t had a problem with it yet.
First we install the necessary packages

urpmi bluez-utils bluez-pin libbluez1

After installing these packages, set a unique bluetooth PIN by editing /etc/bluetooth/pin
Note: Some devices can handle upto 5 or 6 digits, while most only handle 4 digits

echo "1234" > /etc/bluetooth/pin

Since then bluetooth has been working upon boot with no extra work. I simply make sure that the bluetooth button is “on” and move the mouse.
Note: You may need to hit the “Connect” button underneath the mouse after you turn on bluetooth for the first time.

Suspend To RAM

Works out of the box by hitting Fn + F4 HOWEVER you can NOT return from suspended mode.
When you turn the power back on, you will be presented with a black screen and are forced to do a hard power off
This can’t be very good for the filesystem, so I recommend you don’t do it.

6in1 Card Reader

The Texas Instruments FlashMedia 6in1 Card Reader does not work under linux
TI have made it as difficult as possible for anyone to create an open source driver
however there is a project underway which can be found at http://tifm21.berlios.de

Files

Credits

This guide was written by “Jordan T” jordant@blue-ferret.com.au

A big “Thank You” to:


I wish cancer upon:

  • Texas Instruments - For creating a broken binary-only driver for the FlashMedia card reader (which contains GPL‘d code!)
 
mandriva/download.txt · Last modified: 2005/12/21 20:15 by jordant
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki