sensicomm LLC logo

Sensicomm LLC - DSP design services.

Algorithms, software and hardware for sensors, signal processing, and communications.
Home About Contact Publications Projects Downloads Sitemap Blog


Installing Debian Linux on an Acer Aspire 5253-BZ602 laptop

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 graphicsAMD/ATI Radeon HD 6310Y
Wireless LanAtheros AR9287Y
Wired EthernetAtheros PCI 1969:1083Y
AudioPartial
CameraY
USBY
SD/MMC slotRealtek USB 0bda:0138Y*
Function keysPartial
Monitoring (Battery, temperature, etc)Partial

Debian

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.

Atheros AR9287 Wireless

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.

X Windows graphics on HD6310

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.

Atheros Wired Ethernet

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.

Built-in camera

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.

Audio

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.

SD/MMC slot

Exclamation point 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):

This works as long as there's no other USB storage device connected to the computer.

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.

So, the steps are (1) insert the card, (2) reread the partiton table (at this point /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.

Function keys

Fn-F3Enable/disable wirelessDisables; does not re-enable
Fn-F4HibernateLocks up the PC; I have to disconnect power and remove the battery to get working again.
Fn-F5Switch between LCD and external monitor Did not work with original driver; not tried yet with AMD driver.
Fn-F6Enable/disable screenWorks with both original and AMD drivers
Fn-F7Enable/disable touchpadWorks
Fn-F8Enable/disable audioNot working
Fn-F12Scr LkNot tried
Fn-HomeMedia Play/PauseNot tried
Fn-PgUpMedia StopNot tried
Fn-PgDnMedia RewindNot tried
Fn-EndMedia Fast ForwardNot tried
Fn-Left ArrowScreen darkerWorks
Fn-Right ArrowScreen BrighterWorks
Fn-Up ArrowVolume UpDoes nothing
Fn-Down ArrowVolume DownDoes nothing

ACPI Status Monitoring

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
South/CPU/mem:
AMD Family 12h and 14h thermal sensors... Success! (driver `k10temp')
Then the sensors command prints some temperature info. Not sure what it's measuring, though.

Comments

Comments can be posted to my blog entry at blog.sensicomm.com/2011/05/acer-laptop-and-linux.html



$Date: 2016/02/16 12:27:02 $