Last update: September 21th, 2008
This page is about installing Linux on a laptop Acer Aspire 1511LMi. As installing Linux on laptops can sometimes be tricky, I wrote this page for people who want to know if Linux supports this kind of hardware and for other owners of an Aspire. I bought this laptop in June, 2004 (more than 4 years ago therefore).
The Aspire 1511LMi uses an AMD 64 processor and therefore can run 32 and 64 bits operating systems. I kept using 32 bit Linux for a while, but now all softwares seem to be 64 bits ready and bullet proof. I therefore installed the Slackware (http://www.slackware.com) based distribution Bluewhite64 12.1 (http://www.bluewhite64.com). Of course, 32 bits distributions can still be used, but I do not see any point to keep with those as 64 versions work exactly the same and use the whole capabilities of the processor. 64 bits version gives 10% more performance, at least in disk I/O on my tests.
Simply put, this laptop can be made working with Linux. However, some glitches can prevent normal users from getting all of their hardware working.
Here are the problems to deplore:
the lid seems to be a little weak (for me at least it broke in less that two months of normal opening / closing);
the free nv driver doesn't support 32bpp video mode, and the flat panel seems to work only in 16bpp (65K colors) with the driver 24bpp mode (this does not work either with NVidia driver);
PCMCIA's PCI bridge doesn't appear on the PCI bridge without fixing its configuration manually.
I installed a Bluewhite64 12.1 on this laptop, and switched to vanilla 2.6.27 kernel.
Device |
Reference |
Status |
Comment |
---|---|---|---|
BIOS |
Phoenix |
OK |
Boot on HD and CD, cannot boot on USB drive |
Power management |
ACPI |
OK |
Used to be quite difficult with previous versions of the kernel, but now works reliably. Suspend to disk (swsusp) and suspend to memory work, however the graphic card must be reset when suspend to memory is used (see below). Sometimes, 2.6.27 fails to resume, however 2.6.26 works fine. Of course, you'll have to reset the system time from hardware clock on resume. |
Battery |
Lithium |
OK |
2h 15mn in powersave mode. After three years of use, it lasts roughly 1h15 now. Needs ACPI table fix to get status (see below). Refilled in 1h 40mn while using the laptop. Battery lifetime is not infinite: my original battery was dead after 3 years 6 months of use. But I use this laptop as a desktop replacement and this is not a problem for me. You can buy another battery on the Web, I found one recently. Kernels 2.6.24 and before used to crash at boot if the battery is dead, but this issue has been fixed. |
CPU |
AMD Athlon64 3000+ |
OK |
Works perfectly in 32 and 64 bits mode. 64 bits mode supports 32 bits software. OpenOffice 64bits is not officially available, but the coming 3.0 version will certainly. Meanwhile, I use a french build found on a site, Bluewhite64 also has packages for English locale (OpenOffice package is not included in the official distribution however). CPU frequencies available: 800MHz, 1000MHz, 1600 Mhz. Quite quiet at 800 and 1000MHz, but a little noisy at 1600 MHz. |
Memory |
512Mo, DDR333, two slots dual channel, extensible to 2Go |
OK |
The two slots are used. Upgrade requires therefore replacement of existing memory. However, you must know that, even if not advertised as such, this computer is dual channel capable! So you really should replace both memory with the same memory amount and the same model to get optimal performances. I upgraded to raise memory to 1G compatible memory plus 256 original MB. It wasn't supposed to be dual channel, but I ended with a memory throughput divided by two: hdparm -T /dev/hda:
I don't think I'll upgrade to 2GB to solve this problem, given the age of the laptop now and the increasing risk of failure now. Moreover, even with this configuration, it took me more than year to notice the performance decrease (to be fair, I detected it while updating this page!). The limiting factor of laptops is definitively the hard disk drive, and having more memory always helps... Please also note you'll have to reset the BIOS after upgrading, with the switch at the rear of the laptop. Otherwise ACPI will give wrong memory layout info to Linux and it will crash. Rebooting the computer is not enough! |
Hard drive |
ATA/100, 60Go, unknown model |
OK |
Not Serial ATA, 5400rpm. hdparm -t /dev/hda : 25.89 MB/s max. That is: slow as a laptop disk. |
DVD+/-RW |
MATSHITA DVD-RAM |
OK |
Seems to be a 2x DVD writer. |
Graphics |
GeForce FX Go5700, 64Mo |
Partial |
32 bpp and 3D acceleration don't work with X.org free driver. NVidia driver gives you 3D acceleration, but still not 32 bpp graphic mode (see below for the limitations). |
Display |
15'' XGA TFT LCD, 1024x768 16M, 85Hz |
Partial |
Requires 32 or 16 bits/pixel. Uses 16 bits/pixel in 24 bpp modes. Due to drivers limitations, only 16 bits/pixel modes are usable. |
External display |
1280 x 1024, 75 Hz with both display, 2048 x 1536, 75 Hz alone |
Partial |
Depends on BIOS configuration: - “Auto-select” mode will display on external by default and disable laptop display. - “Both” mode will display on both, but switch to console from X11 doesn't work on the external display with the free nv driver. Everything works nicely with the VESA X11 driver however. Function key to commute displays generates a video bus event to the kernel. That used to crash X.org 6.9.0 but does not anymore in 7.1 version. Console display driver and former X drivers seem to ignore it. Therefore, this key is useless for now. |
Keyboard |
Integrated |
OK |
Standard keyboard mapping (at least for the French layout), therefore really easy to use (I consider this very important, some laptops keyboards are really stupid). RF/Switch, display light, touchpad switch, screen brightness are hardware keys and work out of the box. Other keys are usable with recent kernels. Some keys, such as sound volume, mail and browser keys are known and generates keycodes. Other must be assigned keycodes first with setkeycodes. The scan code to use can be seen in kernel log with dmesg. All keys can afterwards be used to do specific tasks. |
Touchpad |
Synaptic, with scroll buttons |
OK |
Special GPM and synaptic drivers not tested. Standard kernel driver, works fine but scroll buttons are not available. |
Ethernet |
Broadcom Corporation NetXtreme BCM5788, 10/100/1000 Mbits/s |
OK |
Use Tigon 3 driver. Tested in 100Mbits/s, works fine. |
Wireless |
Broadcom Corporation BCM94306 802.11g |
OK |
Supported by the b43 kernel driver, however ad-hoc mode doesn't work. WEP is not supported, but WPA works and is very stable. 802.11b and g are supported. Using ndiswrapper if a fallback if you want to use WEP or ad-hoc mode, but this requires a Windows driver. Moreover, you really should avoid WEP. With Ndiswrapper, the link is not very stable so you really should use the b43 driver. If you still want to keep the Windows driver, Acer provides 32 bits windows driver that works nice, but to get a 64 bits driver you'll have to do some magics on a compatible driver (see below). Tested and works fine in a 802.11g environment (with WPA and WEP). |
Modem |
nForce3 integrated modem |
OK |
nForce3 integrated winmodem. Seems there have been different hardware versions around here. Some people reported it works with Linuxant HSF driver (this driver is shareware and offers only 14K speed and no fax support without license, which costs 15$). However, this driver doesn't work on my laptop, and this is definitively the integrated nForce3 modem. There is an ALSA driver for the nForce3 pseudo modem (the same as the one for Intel 8x0m integrated modem). This driver can be used with the user mode driver slmodem from SmartLink. Not supported by NVidia platform driver (which is useless btw). |
PCMCIA |
Texas Instruments PCI4510, accepts 1 Type III or 1 Type II card |
No |
Not working out of the box. CardBus cards need to fix the PCI configuration manually (see below). Didn't managed to get a test PCMCIA card working, but some others may work. I do not have hardware for further testing. |
Card reader |
SGS Thomson Microelectronics |
OK |
Appears as a USB mass storage device. Must use blockdev to re-read the partition table after media change. Supposed to read SD/MMC, SmartMedia, and Memory stick. Tested with a SD card, works fine. Beware that this device is limited to 2GiB cards (and it does not read SDHC cards at all), I discovered that problem recently. |
USB |
nForce3 |
OK |
4 USB2 ports. USB1 available, uses OHCI controller. The four ports are quite close to each other and therefore requires extension cables do connect more than one USB key. |
Parallel port |
nForce3 |
OK |
Tested with an old printer. |
Firewire |
Texas Instruments PCI4510 |
OK |
Tested with a IEEE1394 network connection and a digital video device. |
S-Video out |
NTSC/PAL |
Unknown |
Not tested. |
Infrared |
NS16550A |
Partial |
Will certainly work in SIR mode. Not tested. |
Sound |
nForce3 |
OK |
MIDI doesn't work (no sound bank on this kind of hardware). |
Microphone/Line-in |
Common jack for both |
OK |
Works with microphone, appears as “Mic2” ALSA device. |
Headphone/Line-out |
Common jack for both |
OK |
Works with headphones. |
OS |
Windows XP Home |
Unknown |
Not tested. Will certainly not work. |
Softs |
Works 7.0, NTI CD & DVD-Maker |
Unknown |
Not tested. Will certainly be useless. |
You can get here results of dmesg, lspci and lsusb for the 2.6.18.1 kernel in 64bits mode.
The Slackware/Bluewhite64 installation was straightfull. Migrating to newer Linux kernel was straightforward.
You really should consider using recent distributions and recent kernels (later than 2.6.18 or later than 2.6.24 for Wifi) to get all your hardware working. Previous kernels had problems with USB (no boot with USB, unless the "usb-handoff" boot option was used) and ACPI (no battery, no ACPI sleep), and eventually with the integrated modem driver (some warnings).
Menu “Processor type and features”
Subarchitecture Type (PC compatible)
Processor family (AMD-Opteron/Athlon4)
Menu “Power management options (ACPI, APM)”
Power Management support
ACPI Support
AC Adapter
Battery
Button
Video
Fan
Processor
Thermal Zone
CPU Frequency scaling
'powersave' governor
ACPI Processor P-States driver
AMD Opteron/Athlon64 PowerNow!
Menu Bus options (PCI, PCMCIA, EISA, MCA, ISA)
PCCard (PCMCIA/CardBus) support
CardBus yenta-compatible bridge support
Menu “Device Drivers”
Parallel port support
PC-style hardware
Use FIFO/DMA if available (EXPERIMENTAL)
IEEE 1284 transfer modes
ATA/ATAPI/MFM/RLL support
Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
Use multi-mode by default
Include IDE/ATAPI CDROM support
generic/default IDE chipset support
PCI IDE chipset support
Sharing PCI IDE interrupts support
Generic PCI IDE Chipset Support
Generic PCI bus-master DMA support
Use PCI DMA by default when available
AMD and nVidia IDE support
SCSI device support
legacy /proc/scsi/ support
SCSI disk support
SCSI generic support
Probe all LUNs on each SCSI device
IEEE 1394 (FireWire) support
OHCI-1394 support
OHCI-1394 Video support
SBP-2 support (Harddisks etc.)
Ethernet over 1394
Raw IEEE1394 I/O support
Network device support
Network device support
Broadcom Tigon3 support
Wireless LAN (IEEE 802.11)
Broadcom 43xx data transfer mode (DMA + PIO)
Input device support
Provide legacy /dev/psaux device
Event interface
Mice
PS/2 mouse
Misc
PC Speaker support
Character devices
Enhanced Real Time Clock Support
/dev/agpgart (AGP Support)
AMD Opteron/Athlon64 on-CPU GART support
I2C device interface
I2C bit-banging interfaces
Nvidia nForce2, nForce3 and nForce4
EEPROM reader
Power supply class supportHardware monitoring support
Hardware Monitoring support
AMD Athlon64/FX or Opteron temperature sensor
Sound card support
Advanced Linux Sound Architecture
Sequencer support
OSS Mixer API
OSS PCM (digital audio) API
OSS Sequencer API
RTC Timer support
PCI devices
Intel/SiS/nVidia/AMD/ALi AC97 Controller
Intel/SiS/nVidia/AMD/ALi MC97 Modem
USB support
Support for Host-side USB
USB device filesystem
EHCI HCD (USB 2.0) support
OHCI HCD support
USB Printer support
USB Mass Storage support
USB Human Interface Device (full HID) support
HID input layer support
/dev/hiddev raw HID device support
This makes everything work, except the wireless card and the PCMCIA card reader. You can find my .config file here.
The wireless card is a broadcom BCM 4306 802.11b/g (PCID 14E4:4320), for which a Linux driver is now available since 2.6.17, but you really should use the more stable and efficient b43 driver available in 2.6.27. Both require extracting firmware from any compatible windows driver with the tool b43-fwcutter, and putting all them in the firmware directory /lib/firmware.
If you want (but this is not advised to do so because the link stability with the Windows driver is not perfect), you can stick with ndiswrapper. This tool can load Windows network drivers under Linux, and works straightfully if you have a Windows driver for your card.
The 32 bits driver is available from Acer support site.
Sadly, Acer doesn't provide 64 bits compatible Wifi driver for this laptop. Some other manufacturers had used the same hardware, but I didn't managed to find any working official driver with this card (the best results I got were seeing some access points, but none of my Wireless networks).
However, I noticed the Acer Ferrari 4000 noteboot uses a broadcom wireless chip with PCI ID of 14E4:4318, for which a 64 bits driver is indeed available from Acer support site. I suspected this was another revision of my hardware, and tried it. Of course, this driver didn't recognized my chip, so I tried to help it a little by editing the file bcmwl5.inf and replacing the 4318 ID with 4320. As I suspected, the driver works perfectly with my chip and ndiswrapper, and I can now enjoy wireless networking with the 64 bits kernel.
The 64 bits driver I used is available on the Acer support site. You can find my modified bcmwl5.inf file here. Just replace the original one by my version and use "ndiswrapper -i bcmwl5.inf" to install it.
ulimit -l 65536
This will raise the limit for every graphical software, including graphical front-ends to recording tools such as K3b.
Former Linux kernels had problems with the buggy ACPI BIOS this laptop ships with. That could prevent Linux to get the battery power state, which is finally quite annoying. The ACPI tables could be fixed and the kernel could use your custom tables, but this was difficult to do.
Now, this is useless, and everything works nice, at least since kernel 2.6.20.
However, "Suspend to RAM" has a glitch on this laptop: at resume the screen is blank and cannot be brought back... So you will have to use vbetool to ask the BIOS to reset the graphic card. Apart this small problem, everything works (even with Windows NDIS driver loaded and connected). Let's see how to fix this.
First you'll have to build vbetool (available at http://www.srcf.ucam.org/~mjg59/vbetool/). It is not very difficult, but if you are with a 64bits distribution, you should use the configure option "--with-x86emu" otherwise it won't find x86 register structure and build will fail:
configure --with-x86emu --prefix=/usr
make
make install
Then you will have to write the "hibernate.sh" script and put it in /etc/acpi:
#!/bin/sh
# Switch to console terminal to avoid graphics corruption in X:
chvt 1
# Flush all data to disk (just in case...):
sync
# Save the system time:
hwclock --systohc --utc
# Suspend:
echo -n "mem" > /sys/power/state
# Now we are sleeping...
# Reset the graphic card at resume:
vbetool post
# Restore the system time:
hwclock --hctosys --utc
# Switch back to X:
chvt 7
Now if you want to modify the power button to hibernate instead of shutting down the system, modify the script /etc/acpi/acpi_handler.sh:
case "$2" in
# power) /sbin/init 0
power) /etc/acpi/hibernate.sh
;;
Several people reported problems with nForce3 based computers and the PCMCIA bridge. It seems that no CardBus card can be made working without fixing the PCI configuration of Linux.
The problem is the PCMCIA bridge is not correctly configured and 32-bits cards do not appear on the PCI Bus after plugging them in. The solution is to fix the configuration manually for now, a fix may be added later.
The “lspci -v” command shows the following for the PCI bridge:
00:0a.0 PCI bridge: nVidia Corporation nForce3 PCI Bridge (rev a2) (prog-if 00 [Normal decode])
Flags: bus master, 66Mhz, fast devsel, latency 0
Bus: primary=00, secondary=02, subordinate=06, sec-latency=128
I/O behind bridge: 00003000-00003fff
Memory behind bridge: d0100000-d04fffff
Prefetchable memory behind bridge: 30000000-21ffffff
and it seems the “subordinate” field should be 0A, not 06 (previous kernels reported it with number 02). This can be fixed by overwriting the wrong value with the setpci command:
setpci -s 0:a.0 SUBORDINATE_BUS=0A
Indeed, I do not know if the value used by recent kernels is wrong, it may be true and everything may work nicely now, but I do not have hardware to test this further and update this section correctly.
After that, all CardBus cards should appear on the PCI bus and work, if you have the right driver of course. This command should be placed in startup scripts. I give you this fix as I found on other website, it may not work at all for you, I can't help you further in that case.
Classic (16 bits) PCMCIA cards are supposed to require another fix in /etc/pcmcia/config.opts to work. It seems the address range for the CardBus bridge must be declared in this file. On the 1511 laptop, lspci says:
02:07.0 CardBus bridge: Texas Instruments PCI4510 PC card Cardbus Controller (rev 02)
Subsystem: Acer Incorporated [ALI]: Unknown device 0059
Flags: bus master, medium devsel, latency 168, IRQ 16
Memory at d0116000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=02, secondary=03, subordinate=06, sec-latency=176
Memory window 0: 30000000-31fff000 (prefetchable)
Memory window 1: d0200000-d02ff000
I/O window 0: 00003400-000037ff
I/O window 1: 00003000-000033ff
16-bit legacy interface ports at 0001
therefore the following lines are supposed to be required in config.opts:
include port 0x3400-0x37ff, memory 0x30000000-0x31fff000
include port 0x3000-0x33ff, memory 0xd0200000-0xd02ff000
However, I didn't manage to get the only PCMCIA card I could find, and as previously said, I cannot investigate this problem further. It may work for other cards. If you have success, let me know so I could update this page for other users.
The modem is the nForce3 integrated modem, which should be used as hw:1 with slmodemd launched with ALSA support. slmodemd is a software linmodem made by smarklink, and which can be found at http://www.smlink.com/main/down/slmodem-2.9.10.tar.gz.
Two months after reception of the laptop, I noticed my screen had a dead pixel, and, far more critical, the lid was splitting into two parts at the rear of the laptop. I considered this as a serious defect. I kept my laptop however, not willing to send it back for an unknown time.
Meanwhile, somebody told me that Acer replaces the lid of the laptop under the warranty quite quickly however. Other people told me they had the same problem.
One month before the end of the warranty, the second edge of the lid got the same problem. I decided to get the lid replaced, and called Acer support. They were kind, and told me to send the laptop back (for free, through their transporter).
As they are located near from me, I went to their support center directly. They were kind enough to tell me I should keep the laptop while they get a new lid, since they had none at that time. They told me they would call me when they receive it.
However, one month later, they hadn't called me, and I had to phone them. They told me they had a lid and took it apart for me. I went back then, and they replaced it immediately.
I could keep the laptop meanwhile and I'm happy, but if I had sent it through their transporter, I would have wait for my laptop for at least three weeks I think. Therefore, the warranty works, however I'll advise people to ask how long this will take, as they may have long delay.
Absolutely no Linux support from Acer, but this computer works really well with recent kernels. Very good machine, works reliably, still there after 4 years, and nearly totally Linux compliant. One certainly can make some other functions work, but I do not need them and hasn't tested them.