I've just started setting up Linux on my new Acer laptop. All the usual disclaimers apply: this is just my own experience with one setup on one machine. No guarantees that it won't destroy anything or result in data loss if you try it on yours.
This model is a dual-core AMD E350 chip with Radeo Hd 6310 graphics. I have Debian installed and am using it to create this page. Here's a list of features I care about and current status.
X Windows graphics | AMD/ATI Radeon HD 6310 | Y |
Wireless Lan | Atheros AR9287 | Y |
Wired Ethernet | Atheros PCI 1969:1083 | Y |
Audio | Partial | |
Camera | Y | |
USB | Y | |
SD/MMC slot | Realtek USB 0bda:0138 | Y* |
Function keys | Partial | |
Monitoring (Battery, temperature, etc) | Partial |
I'm using a Debian Unstable AMD64 installation disk that I downloaded March 18,2011. I tried Debian Stable, but the installer did not find the Ethernet device; it would load the wireless drivers, but I did not figure out how to activate the wireless network. Unstable still did not find Ethernet but it did automatically enable the wireless, so I was able to complete the install.
Wireless network is working fine. The only problem is the enable/disable hotkey(Fn-F3). Pressing this hotkey combination will shut off the wireless, but pressing it again does not enable it. I need to power-down the PC and restart to re-enable.
The commands ifup wlan0
and ifdown wlan0
do work. The little antenna LED
goes on and off as expected. Turning off with the hotkey and back on with ifup
still
doesn't work.
Using the Debian drivers, the LCD panel comes up in 1024x768 mode instead of the native 1366x768 mode, and resolution cannot be changed. The HDMI output is a copy of the LCD display. If an external VGA monitor is connected a power-up, the external monitor is used instead of the LCD panel. I was not able to switch between LCD and external monitor.
Things work a lot better with the AMD driver. I found a post at
forums.amd.com/forum/messageview.cfm?catid=390&threadid=145785 that explains how to get
the driver and install it (see the post by fmuelle2 01/26/2011 10:44 PM). That post led to
ati-driver-installer-11-2-x86.x86_64.run
on the AMD website: Go to
support.amd.com, in the Download Drivers
box select
Desktop Graphics ⇒ Radeon HD Series ⇒ Radeon HD 6xxx Series PCIe ⇒ Linux x86_64.
With the AMD binary blob driver, the LCD panel comes up in native 1366x768 resolution,
xrandr
shows multiple possible resolutions, and it also shows DFP1
and
CRT1
as disconnected devices. The supplied
aticonfig
program prints 619 lines of possible settings to try. Essential functions
are working now; I'll play with those settings in my spare time.
May 2011: I upgraded to the 2.6.38-2-amd64
Linux kernel, and had to update to
the 11-5
version of the ati driver: 11-2 and 11-4 wouldn't compile with the new kernel.
Using aticonfig I was able to set up dual-head operation using an external monitor connected to the HDMI
output: the HDMI monitor becomes a second screen that is effectively a continuation of the laptop's
screen, so I can slide back and forth between them using the mouse.
The Debian kernel includes the atl1e
driver, but it does not find the ethernet device.
Source code for another driver is available at
partner.atheros.com/Drivers.aspx. I downloaded
AR81Family-linux-v1.0.1.14.tar.gz
, did a make install
as root,
and it creates and installs a new version of the atl1e
driver, overwriting the one supplied
with the Debian kernel package. (You will need the
appropriate Debian packages for building kernel modules - linux-headers-2.6-amd64
and
possibly others).
Now, sudo ifconfig -a
shows that eth0
exists, and it can be set up normally.
May 2011: the driver in the 2.6.38-2-amd64
Linux kernel seems to work ok, so probably
don't need to install the replacement driver.
The camera works using the Debian out-of-the-box setup with no tweaking. It shows up in the list of USB
devices as "1.3M WebCam" by "XPACJ1PLG" Vendor=0402 ProdID=9665. I used the command
mplayer tv://
to display the camera output.
Two sound devices show up in /proc/asound
: card0 is the HDMI bus and card1 is the analog
audio (speakers, microphone, etc). I haven't tried card0. Card1 follows the new HD audio standard:
in /proc/asound/card1/codec#0
it reports a Conexant CX20584
codec
and seems to support only sampling rates of 44100 Hz and above. Based on info at
www.kernel.org/doc/Documentation/sound/alsa/HD-Audio.txt I downloaded
hda-analyzer (www.alsa-project.org/main/index.php/HDA_Analyzer and was able to see the various functions
of the device. As of now, I can get sound to play through the left channel only, and
sound only comes through the built-in speakers, even when headphones are plugged in. Still
working on getting the settings right, but at least it's showing signs of life.
Update April 2013: Audio is working within the limitations of the hardware.
arecord -vv -c 2 -f S16_LE -r 44100 /tmp/x.wav
. Record
functionality needs to be turned on: using alsamixer
, hit the space bar when the
"Capture" slider is selected.
/proc/asound/card1/codec#0
contains a line: Pin-ctls: 0x40: OUT
which changes to 0x00
when headphones are plugged in. Similarly, there's a line 0x1a* 0x1b 0x1d 0x1e
which changes to 0x1a 0x1b* 0x1d 0x1e
when an external microphone is plugged in.
(Thanks to
unix.stackexchange.com/questions/25776/detecting-headphone-connection-disconnection-in-linux for
pointing me in the right direction.)
CAUTION: There is a standard-size SD/MMC slot on the front below the keyboard. It shows up as a USB
device with VendorID:ProductID 0bda:0138. It works, except that it doesn't seem to detect
insertion and removal of a memory card correctly. I was able to work around the problem by
forcing Linux to reread the partition table for the memory card. These things worked for me, but
I can think of several things that could go wrong. For example, if you remove the SD/MMC card
and insert another one without rereading the partition table, if might be possible to trash
the contents of the card. If you are willing to risk the loss of data, you might want to try
these things.
The first workaround that I found is to unload and reload the kernel module (as root):
rmmod usb_storage
modprobe usb_storage
# Corrected 5/30/2011.
mount /dev/sdb1 /my-mount-point
dmesg
to see what happened.Later, I found that it's possible to just tell Linux to re-read the partition table on the device. There are at least 3 possible ways to do that, so you can try one of these instead of the rmmod/modprobe command sequence.
hdparm -z /dev/sdb
partprobe /dev/sdb
# Part of the parted
package on Debian.blockdev --rereadpt /dev/sdb
/dev/sdb1
should exist),
(3) mount. When done, I (4)umount the partition, (5) remove the card, (6) try to reread the
partition table: the read fails and therefore the /dev/sdb1
device disappears.
I used /dev/sdb as the device name in these examples, so /dev/sdb1 is the corresponding
mountable partition. It might actually come up as sdc, sdd, etc. On my system, there is a symlink
/dev/disk/by-id/usb-Generic-_Multi-Card_***-0:0
(where ***
looks like
the serial number of the card reader). This symlink which currently points
to /dev/sdb
so that looks like the easiest way to figure out what device to use in the
commands.
Fn-F3 | Enable/disable wireless | Disables; does not re-enable |
Fn-F4 | Hibernate | Locks up the PC; I have to disconnect power and remove the battery to get working again. |
Fn-F5 | Switch between LCD and external monitor | Did not work with original driver; not tried yet with AMD driver. |
Fn-F6 | Enable/disable screen | Works with both original and AMD drivers |
Fn-F7 | Enable/disable touchpad | Works |
Fn-F8 | Enable/disable audio | Not working |
Fn-F12 | Scr Lk | Not tried |
Fn-Home | Media Play/Pause | Not tried |
Fn-PgUp | Media Stop | Not tried |
Fn-PgDn | Media Rewind | Not tried |
Fn-End | Media Fast Forward | Not tried |
Fn-Left Arrow | Screen darker | Works |
Fn-Right Arrow | Screen Brighter | Works |
Fn-Up Arrow | Volume Up | Does nothing |
Fn-Down Arrow | Volume Down | Does nothing |
When running the 2.6.38-2-amd64
kernel
the acpi -V
command shows battery status, Adapter 0 status (whatever that is),
and Cooling device status. When I was running the 2.6.32-5-amd64
kernel it would
also show the CPU temperature, but that seems to be broken in the current kernel.
April 2013 Temperature update: the sensors-detect
command from the
lm-sensors
package finds
Then the
South/CPU/mem:
AMD Family 12h and 14h thermal sensors... Success! (driver `k10temp')
sensors
command prints some temperature info. Not sure what it's measuring, though.
Comments can be posted to my blog entry at
blog.sensicomm.com/2011/05/acer-laptop-and-linux.html