Acer Aspire 502x(WLMi)

From SlackWiki
Revision as of 02:59, 2 June 2009 by Erik (talk | contribs) (Copy from old)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Slackware on an Acer Aspire 5020 series

This article is based on an Aspire 5021WLMi. The 5021WLMi is an an AMD Turion 64 based laptop - it mainly differs from other laptops of the 5020 series only in the specific processor model and some other models come with built in bluetooth - the 5021 has an ML-28 and no bluetooth, I believe the 5024 uses an ML-34 and does have built in bluetooth, so most of this should apply to the 502x series as well. (This is a work in progress, and therefore far from finished).

I have installed my own bluetooth module into the 5021 - this is not very difficult to do (just rather fiddly), but the instructions for operating the bluetooth apply to any 5020 series laptop with bluetooth installed.

Also, this was done using Slamd64 - where anything differs from a normal Slackware install, it will be prefixed with 'Slamd64'.

Hardware

Output of lspci:

00:00.0 Host bridge: ATI Technologies Inc RS480 Host Bridge (rev 01)
00:02.0 PCI bridge: ATI Technologies Inc RS480 PCI-X Root Port
00:07.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge
00:13.0 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller
00:13.1 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller
00:13.2 USB Controller: ATI Technologies Inc IXP SB400 USB2 Host Controller
00:14.0 SMBus: ATI Technologies Inc IXP SB400 SMBus Controller (rev 11)
00:14.1 IDE interface: ATI Technologies Inc Standard Dual Channel PCI IDE Controller ATI
00:14.3 ISA bridge: ATI Technologies Inc IXP SB400 PCI-ISA Bridge
00:14.4 PCI bridge: ATI Technologies Inc IXP SB400 PCI-PCI Bridge
00:14.5 Multimedia audio controller: ATI Technologies Inc IXP SB400 AC'97 Audio Controller (rev 02)
00:14.6 Modem: ATI Technologies Inc ATI SB400 - AC'97 Modem Controller (rev 02)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility X700 (PCIE)
06:05.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)
06:06.0 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller
06:06.2 FireWire (IEEE 1394): Texas Instruments OHCI Compliant IEEE 1394 Host Controller
06:06.3 Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller
06:06.4 Class 0805: Texas Instruments PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller
06:07.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10)

Overview

  • AMD Turion 64 ML-28 at 1.6 GHz with 128 KB L1 cache and 512 KB L2 cache
  • 512 MB of DDR333 memory
  • 15.4" Samsung LTN154X3-L01 WXGA LCD panel (1280 x 800)
  • ATi Mobility Radeon X700 (128MB dedicated memory)
  • 80GB (4200 RPM) (P)ATA Hard Drive (Seagate Momentus 4200.2 - ST9808210A)
  • Slot DVD Writer (DVD-R/RW, DVD+R/RW, DVD+R Dual Layer)
  • Texas Instruments (TI7421) 6-in-1 card reader
  • Gigabit Ethernet (Realtek RTL-8169 chipset?)
  • 802.11 b/g Wireless LAN (Broadcom AirForce One 54g (BCM4318))
  • ATi SB400 AC'97 Soundcard + Modem
  • 1 x IR port
  • 1 x IEEE-1394 (Firewire) port
  • 4 x USB ports
  • 1 x S-Video port
  • 1 x VGA port
  • 1 x PCMCIA slot

Working

  • Video Card: ATI Mobility X700 (1280x800 - fglrx and radeon & r300)
  • Broadcom Wireless LAN Card (acer_acpi + ndiswrapper with bcmwl564.sys driver, available as 80211g.zip from Acer driver download area. Slamd64 - need Windows XP 64 driver).
  • Soundcard (snd-atiixp as of alsa-driver-1.0.9b or kernel)
  • Function/Hot Keys (have not tried all though; extra configuration required for 'multimedia' keys)
  • Touchpad (Doesn't need a driver for basic functions)
  • USB
  • CD/RW, DVD+/-RW
  • Ethernet card (works with Realtek 8169 driver)
  • Battery Status
  • PCMCIA
  • 6-in-1 card reader (SD/ MMC & MemoryStick/ Pro only at the moment - driver in progress)
  • Bluetooth

Not Tested, but probably works

  • Firewire
  • Infra Red
  • VGA out

Kernel Configuration

You will need to use a 2.6.19 or newer kernel to get this laptop to work properly in Linux without any extra kernel patching (see Troubleshooting for more information).

I would *strongly* recommend you always use the latest stable 2.6.x kernel with this laptop, since there are a lot of fixes going in that relate to this laptop (ATI chipset, apic, yenta socket, wireless drivers (b43), etc).

This should be very similar to any other AMD64 laptop with an ATi chipset (like the Acer Ferrari 4000 series- enable anything with 'ATI IXP', plus the relevant ACPI options. I'll put up more here about any necessary specific options later. However, I have *disabled* the framebuffer, as it doesn't play well with the X video drivers.

When building a new kernel make sure that you use the following options, if you want to use the ATI/fglrx driver:
use '/dev/agpgart' as module
turn off, the 'Direct Render Manager'
(so you dont select 'radeon'..)

Hardware Package and Software Dependencies

Graphics

Follow the instructions here on the SlackWiki ATI Graphics Chip to install and set up your video driver, using either radeon & r300 or fglrx (both work fine on this laptop). It is also recommended that you enable the powersaving features of the driver of your choice, to reduce power consumption (particularly important when running from battery).

Note: These options do not work when you use dual-head (CRT+LCD)

fglrx

Use the latest versions, as these have support for ATi's "PowerPlay", allowing you to switch to low power modes (these modes trade off speed for reduced power consumption). The Mobility X700 has three; state 1 is the most energy efficient, state 3 the least efficient but best performing.

You can list the available and currently selected powerstate modes with (while running X):

aticonfig --list-powerstates

and change the powestate with (again, while running X):

aticonfig --set-powerstate=2 --effective=now

Generally, state 2 should be adequate for most of your needs (a lower state also helps keep the heat down on the laptop), state 1 for running off battery.

Be aware that you cannot set the powerstate dynamically with fglrx - ATI recommend you change it instead using ACPI events and shell scripts (Working examples required).

radeon

Edit /etc/X11/xorg.conf, add this to your radeon device section and restart X:

Option      "DynamicClocks" "on"

Unfortunately, DynamicClocks is not as good at saving power as fglrx, and you have no control over the power states.

Mouse

To get advanced features, you will need to install the Synaptics Mousepad driver for X and change your mouse driver in xorg.conf to use 'synaptics'. (I use the Synaptics driver mostly to disable 'Tap-to-Click')

To ensure the touchpad always has the same device name, create /etc/udev/rules.d/local.rules (if it doesn't exist) and add the following:

BUS=="serio", SYSFS{description}=="i8042 Aux-3 Port", KERNEL=="mouse*", NAME="input/%k",SYMLINK+="input/touchpad"

You can now point xorg.conf towards /dev/input/touchpad for the touchpad (/dev/input/touchpad will always be a symlink to whichever device the touchpad is - this can vary depending on whether you plug another mouse into the system before or after booting).

xorg.conf

TBA

Modem

This is a Conexant HSF modem - it is incompatible with slmodemd (you therefore do _not_ need snd-atiixp-modem). The only drivers available for this modem are from Linuxant (the free-of-charge drivers are limited to 14.4K, you will need to pay if you want full 56.6K speeds and fax).

Wireless

To use the built in wireless, you need to firstly switch on the wireless, then load the b43 driver. You will also need to obtain the firmware for this card - see Linux Wireless on where to get it from.

1. Enable Wireless

2.6.24:

  • Download, build and install acer_acpi
  • Load acer_acpi: modprobe acer_acpi wireless=1

2.6.25 or newer:

  • echo 1 > /sys/devices/platform/acer-wmi/wireless
  • Or create /etc/modprobe.d/acer-wmi and add "options acer-wmi wireless=1" to do this at boot time

2. Install b43 firmware

  • Download, build and install b43-fwcutter - use the SlackBuilds.org Slackbuild for thos
  • Follow the instructions on Linux Wireless for your kernel version to extract the firmware and install it to /lib/firmware

(The orange light for the wireless at the front should turn on now)

3. Configure the wireless in /etc/rc.d/rc.inet1.conf

Note: I deleted rc.wireless.conf as it is unecessary and keeps trying to override rc.inet1.conf (besides, configuring wireless in rc.inet1.conf is the future).

Bluetooth

The bluetooth is an internal USB dongle. To turn it on:

2.6.24:

  • Download, build and install acer_acpi
  • Load acer_acpi: modprobe acer_acpi bluetooth=1

2.6.25 or newer:

  • echo 1 > /sys/devices/platform/acer-wmi/bluetooth
  • Or create /etc/modprobe.d/acer-wmi and add "options acer-wmi bluetooth=1" to do this at boot time

The bluetooth device can now be seen with lsusb (it is not visible when bluetooth if you don't enable it through acer_acpi/ acer-wmi).

Special Keys

There is a keymap for the special keys available here.

However, I have had problems with it on my UK layout keyboard so would not recommend using it at the moment.

Special Keys with X

HAL

You will need, at a minimum, HAL 0.5.10 and hal-info 20070725. The Aspire 5020 has been submitted to HAL as part of their keyboard quirk project, so the extra keys which generated dmesg messages, will now generate proper keycodes.

X

There is now a generic acer_laptop keyboard layout in upstream xkeyboard-config (which works in tandem with HAL to map the extra keys). This will be in the next xkeyboard-config release after 1.0 (it is therefore unlikely to make the next X.Org release).

You can also use the evdev layout instead.

Hardware Monitoring

Unfortunately, the extent of 'hardware monitoring' on this system comes through 3 thermal zones provided by ACPI.

You can play around with using I2C to access the SMBus, but the hardware on the other end of it appears to be a National Semiconductors chip of sorts that is not supported under Linux (and based on comments on the lm_sensors mailing list, due to various problems, is not very likely to be either).

Suspend

Suspend does work on this laptop (assuming you don't have any funny PCMCIA, USB or Firewire devices attached that will break it).

In a terminal

You will need either vbetool or a 2.6.17-rc (or newer) kernel with s2ram (found in suspend).

Using s2ram:

s2ram -f -p

Using swusp (run this command after resuming):

 vbetool post

In X

Works with either radeon or fglrx (you don't need to run s2ram if you suspend from X).

Card Reader

This card reader is not fully supported in Linux yet. There is an in development driver, tifmxx, that currently supports MMC/ SD, and Memory Stick/ Pro. If you want to help out the project, hardware donations are welcome for unsupported hardware (be aware that the developer's card reader can not physically support SmartMedia cards).

Troubleshooting

HPET

Not available on this laptop - locks hard with hpet=force (I suspect HPET's are only available on the newer SB480 chipsets).

DVDs will not play back

You need to set the DVD region before you can play any DVDs. The 'regionset' tool for Linux will let you do this (otherwise you will have lots of strange error messages in dmesg).

Suspend/ Resume does not work

Please be aware that kernel updates can break this. If that's the case, I will try and update this page to reflect that.

Otherwise, go back and make sure you have applied the necessary patch specified earlier in "Suspend" to your kernel. Also, try unplugging any devices attached to the laptop, rebooting (some drivers can be a bit funny otherwise) and then try suspend/ resume. If it now works, then one of your devices or a driver somewhere is breaking suspend - in which case, you should report the bug to the relevant person/ place.

Contributors

External Links/ References