Acer Aspire One A110L
From Gentoo Linux Wiki
Contents |
[edit] Hardware status
| Device | Works? | Note |
| Intel 82801G RTL8101E PCI-E Ethernet | Yes | No RTL8101E support at installation time! |
| Intel 82801G Atheros AR5006EG Wireless | Yes | Works with Kernel >=2.6.27_rc6, but Wireless LEDs not supported yet |
| X11 | Yes | Hardware 3D acceleration requires Xorg 7.4 and mesa 7.2 |
| Intel 82801G High Definition Audio | Yes | Works with Kernel >=2.6.27_rc6 |
| Internal SD card reader | Yes | Needs PCI express hotplug module |
| Webcam | Yes | |
| Suspend to RAM/Disk | Yes | Requires UNSAFE_RESUME in MMC driver kernel settings if using left-side slot for permanent storage |
[edit] Hardware
| Code: lspci |
00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03) 00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03) 00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03) 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02) 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02) 00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02) 00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02) 00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02) 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02) 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02) 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02) 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02) 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2) 00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02) 00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02) 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E PCI Express Fast Ethernet controller (rev 02) 03:00.0 Ethernet controller: Atheros Communications, Inc. AR5006EG 802.11 b/g Wireless PCI Express Adapter (rev 01) |
If however you see this:
| Code: lspci |
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E PCI Express Fast Ethernet controller (rev ff) |
Then you need the driver from here as it's not in the stock kernel yet:
[edit] Intro: Pre-installation notes
Since the RTL8101E NIC is unsupported by the 2008.0 LiveCD/USB, and there is no optical drive, you have several options:
- Use the SystemRescueCD installed to a usb drive. (tested with v. 1.0.4). - but see discussion
- Create a Gentoo LiveUSB installer using the LiveUSB HOWTO (linux) or using the pendrive guide (windows) and perform a stage3 install (Note: wired and wireless will not be recognized, just use sneakernet to download the files needed for installation)
- Create a Gentoo LiveUSB installer as above, but use the latest minimal install iso instead of the LiveCD iso, specify gentoo-nofb, and your ethernet connection will be recognized, allowing you to do a normal minimal install. (tested on /releases/x86/current/install-x86-minimal-20090609.iso)
- Connect an external optical drive, and perform a networkless install,
- Connect a supported external USB Ethernet NIC with either of the above and perform a network enabled install, or
- Use a different distro whose LiveCD/USB supports the RTL8101E NIC. (Debian Testing works)
Once you are ready to install, follow the normal installation process as described in the Gentoo Installation Handbook.
[edit] CFlags for Intel Atom
The Aspire One comes with the new Intel Atom Diamondville CPU. This means that you need to set the correct CFLAGS in /etc/make.conf, or GCC won't compile stuff and you won't install Gentoo (I used a 32 bit i686 stage3 tarball). Note that GCC as of 4.2 supports the -march=native cflag, this will automatically set the correct flags for your CPU. For older versions of GCC, use -march=prescott
| Code: /etc/make.conf |
CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"
|
[edit] Kernel Config
| Linux Kernel Configuration: Aspire One |
General setup --->
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
(/usr/share/v86d/initramfs) Initramfs source file(s)
[*]Enable loadable module support --->
[*] Automatic kernel module loading.
-*- Enable the block layer -->
IO Schedulers --->
Default I/O scheduler (No-op)
Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
[*] PCI support
[*] PCI Express support
<*> PCI Express Hotplug driver (This option is available after you enabled "Support for PCI Hotplug")
<*> Support for PCI Hotplug --->
PCCARD (PCMCIA/CardBus) support --->
< > PCCard (PCMCIA/CardBus) support
Networking --->
Wireless --->
<*> Improved wireless configuration API
<*> Generic IEEE 802.11 Networking Stack
Device Drivers --->
< > ATA/ATAPI/MFM/RLL Support
<*> Serial ATA (prod) and Parallel ATA (experimental) drivers --->
<*> AHCI SATA support
<*> Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support
<*> Generic ATA support
<*> Intel PATA MPIIX support
<*> Intel PATA old PIIX support
[*] Network device support --->
[*] Ethernet (1000 Mbit) --->
<*> Realtek 8169 gigabit ethernet support
Wireless LAN --->
[*] Wireless LAN (IEEE 802.11)
<*> Atheros 5xxx wireless cards support
[ ] PCMCIA network device support --->
Multimedia devices --->
<*> Video For Linux
<*> DAB adapters
Character devices --->
<*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
<*> Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver) --->
Graphics support --->
<*> Support for frame buffer devices
<*> Userspace VESA VGA graphics support
<*> VESA VGA graphics support
<*> Intel 830M/845G/852GM/855GM/865G/915G/945G support (EXPERIMENTAL)
Console display driver support --->
<*> Framebuffer Console support
[*] Map the console to the primary display device
Sound --->
<*> Sound card support
< > Advanced Linux Sound Architecture
< > Open Sound System
<*> MMC/SD card support --->
<*> Secure Digital Host Controller Interface support (EXPERIMENTAL)
<*> TI Flash Media MMC/SD Interface support (EXPERIMENTAL)
Device Drivers --->
[*] Block devices
< > Normal floppy disk support
|
[edit] Kernel notes
- "Automatic kernel module loading" is needed for Wifi drivers to install.
- If Intel 82801G RTL8101E PCI-E Ethernet doesn't work after you boot your freshly compiled kernel, then remove "<*> Realtek 8169 gigabit ethernet support" from above and get the driver as written in the Hardware section above.
- if you copy the SystemRescueCD kernel across it has no sound compiled in it. You will need Device Drivers->PCI->Sound->Intel HD.
[edit] Video
[edit] Installing X.org
To install X.org with everything you need, edit /etc/make.conf, and add VIDEO_CARDS and INPUT_DEVICES:
| Code: Editing: /etc/make.conf |
VIDEO_CARDS="intel" INPUT_DEVICES="keyboard synaptics mouse" |
This will keep your settings, and supply support for the keyboard, touchpad, and external mice.
Now install xorg-x11:
Now go get a cup of coffee, or two, because this will take about two hours and 15 minutes to complete.
[edit] Configure X
After xorg-x11 is installed, configure it by running xorgcfg. Once the configuration program is loaded (we only need it to see if X window system works and for a raw config file), hit Ctl + Alt + Backspace to go back to the command line prompt. Copy the ~/xorg.conf.new to /etc/X11/xorg.conf.
Now fire up your favourite text editor (ex.: nano) to add the following to /etc/X11/xorg.conf:
To configure the graphics card:
| Code: Editing: /etc/X11/xorg.conf |
Section "Device"
Identifier "Card0"
Driver "intel"
VendorName "Intel Corporation"
BoardName "Mobile 915GM/GMS/910GML Express Graphics Controller"
BusID "PCI:0:2:0"
Option "NoDDC" # You need this to set correct DPI (HUGE font issue).
EndSection
...
Section "Monitor"
...
DisplaySize 195 113 # This whill set correct DPI (96 x 96)
...
EndSection
...
Section "Screen"
...
SubSection "Display"
Viewport 0 0
Modes "1024x600"
Depth 24
EndSubSection
EndSection
|
NOTE: - I believe that xorgcfg will select the driver "intel" for the graphics card. YMMV.
To configure the touch pad:
| Code: Editing: /etc/X11/xorg.conf |
Section "InputDevice" Identifier "Mouse0" Driver "synaptics" # This will enable scrolling, etc... Option "Protocol" "auto" Option "Device" "/dev/input/mouse0" # Touchpad. Option "ZAxisMapping" "4 5 6 7" Option "CorePointer" EndSection |
My touchpad was identified by
| Code: Editing:cat /proc/bus/input/devices |
I: Bus=0011 Vendor=0002 Product=0007 Version=01b1 N: Name="SynPS/2 Synaptics TouchPad" P: Phys=isa0060/serio2/input0 S: Sysfs=/devices/platform/i8042/serio2/input/input2 U: Uniq= H: Handlers=mouse1 event2 B: EV=b B: KEY=6420 0 70000 0 0 0 0 0 0 0 0 B: ABS=11000003 |
and so the touchpad was configured with
Section "InputDevice"
Identifier "Mouse0"
Driver "synaptics"
Option "Protocol" "auto"
Option "Device" "/dev/input/event2"
Option "ZAxisMapping" "4 5 6 7"
EndSection
To configure an external USB mouse:
| Code: Editing: /etc/X11/xorg.conf |
Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Device" "/dev/input/mouse1"
Option "Protocol" "auto"
Option "ZAxisMapping" "4 5"
Option "Buttons" "5"
Option "SendCoreEvents" # '''DON'T FORGET THIS'''
EndSection
|
[edit] 3D acceleration/Direct Rendering
Direct rendering with the Intel video card requires a newer Intel video driver, Xorg 7.4 and Mesa 7.2. Unless you do this, any attempts to run GL applications will crash X. A number of packages must be unmasked for this to occur, and some packages must be emerged again (as well as Xorg) to support the upgraded Xorg installation.
~x11-base/xorg-x11-7.4 ~x11-base/xorg-server-1.4.2 ~x11-libs/libXrender-0.9.4 ~media-libs/mesa-7.2 ~x11-libs/xtrans-1.0.4 ~x11-proto/renderproto-0.9.3 ~x11-libs/libdrm-2.3.1 ~x11-proto/xextproto-7.0.3 ~x11-libs/libXext-1.0.4 ~x11-proto/inputproto-1.4.4 ~x11-libs/libX11-1.1.5 ~x11-proto/xf86driproto-2.0.4 ~x11-libs/libXxf86vm-1.0.2 ~x11-apps/mesa-progs-7.1 ~x11-drivers/xf86-video-intel-2.5.1 ~x11-libs/libdrm-2.4.1 ~x11-apps/x11perf-1.5 ~x11-apps/xev-1.0.3 ~x11-apps/mkfontdir-1.0.4 ~x11-apps/xprop-1.0.4 ~x11-libs/libXau-1.0.4 ~x11-libs/libXrandr-1.2.3 ~media-fonts/font-xfree86-type1-1.0.1 ~x11-libs/libpciaccess-0.10.3 ~x11-apps/xkbcomp-1.0.5 ~x11-apps/sessreg-1.0.4 ~x11-apps/xset-1.0.4 ~x11-apps/mkfontscale-1.0.5 ~x11-libs/xtrans-1.2.2 ~x11-apps/xdpyinfo-1.0.3 ~x11-libs/libXinerama-1.0.3 ~x11-libs/libXmu-1.0.4 ~x11-apps/xrdb-1.0.5 ~x11-libs/libFS-1.0.1 ~x11-apps/xwininfo-1.0.4 ~x11-apps/xauth-1.0.3 ~x11-apps/luit-1.0.3 ~x11-misc/util-macros-1.1.6-r1 ~x11-misc/xinput-1.3.0 ~x11-libs/libSM-1.1.0 ~x11-libs/libXfont-1.3.3 ~x11-libs/libXv-1.0.4 ~x11-apps/xrandr-1.2.3 ~x11-libs/libXScrnSaver-1.1.3 ~x11-libs/libxkbfile-1.0.5 ~x11-libs/libXft-2.1.13 ~x11-base/xorg-server-1.5.2 ~x11-apps/xwd-1.0.2 ~x11-libs/pixman-0.12.0 ~x11-proto/xproto-7.0.13 ~x11-misc/xkeyboard-config-1.3 ~x11-apps/rgb-1.0.3 ~x11-apps/xinit-1.0.8-r3 ~x11-proto/randrproto-1.2.2 ~x11-drivers/xf86-input-keyboard-1.3.1 ~x11-drivers/xf86-video-vesa-2.0.0 ~x11-drivers/xf86-input-evdev-2.0.6 ~x11-drivers/xf86-input-mouse-1.3.0 ~x11-drivers/xf86-input-joystick-1.3.2 ~x11-drivers/xf86-input-synaptics-0.99.3
Following these entries in the package.keywords file, you need to emerge Xorg, mesa, and your input drivers again.
| Code: Emerging Xorg again |
emerge xorg-x11 && emerge mesa && emerge xf86-video-intel xf86-input-mouse xf86-input-keyboard xf86-input-synaptics |
[edit] WLAN
See the Atheros 5xxx article. Configure your card as described at Wireless/Configuration.
If you get the WLAN device up and working but can't list or associate with any access points, try flipping the wireless switch on the front-right of the laptop; this switch is connected directly to the wireless card and activates/deactivates the radio.
[edit] Sound
Sound works ok with alsa driver 1.0.18a (which is built in the 2.6.28 kernel). So, you should use either >=2.6.28 linux kernel or alsa-driver 1.0.18a (if you are using the older kernel). Switching of built-in speakers and headphones seems to be hardware.
You should emerge alsa-utils. After that just run alsaconf and voila: you have you sound card configured. Use alsamixer to adjust volume (the sound level is *very* low by default). And don't forget:
- Works perfectly with Kernel 2.6.27_rc6 and newer
- note* if you set ALSA_CARDS="hda-intel" on /etc/make.conf emerge will compile just the hda-intel driver and do not fails, probably the problem in the ebuild is for some other driver. It should work =)
- Be sure that you are part of the group "audio", or you will get helpful errors like "card 0 cannot be found"
[edit] Webcam
Check if your webcam is detected by running:
Look for:
uvcvideo: Found UVC 1.00 device USB 2.0 Camera (0c45:62c0)
It seems everything is okay. However to be sure, we need to emerge luvcview and record some movies.
[edit] SDCard Reader
The SD Card Reader has two slots; in order to get them both functioning fully you will need to include PCI Express Hotplug support in your kernel, and use a kernel version >=2.6.28 (2.6.26-r7 and later are also known to work).
Without PCIe hotplug support, the SD card reader will only function when a card is inserted at boot time and the remaining SD card slot will not recognise the insertion of cards.
Ergo, a supported kernel and PCIe hotplug is imperative. It can be compiled into the kernel or as a module; both will work.
You should see a message similar to this if the machine has successfully detected a card in either slot:
| Code: dmesg grep mmc |
mmc0: new SD card at address 1234 mmcblk0: mmc0:1234 SD01G 995328KiB mmcblk0: p1 |
It shows that it found a 1GB card with a single partition, p1.
You can use the following device node to mount the card. /dev/mmcblk0 is the node of the whole card, like /dev/hda, and /dev/mmcblk0p1 is a partition on the card.
[edit] Using your SD reader for additional permanent storage
It is well known that the internal 8GB SSD drive in the Aspire One has poor write speeds. Using a fast SDHC card to provide additional storage can allow you to place I/O intensive paths on this additional storage *. Using the left-side slot makes the most sense as the cards fully insert, making it difficult to accidentally eject the card whilst Gentoo is running.
{{Comment from a long-term user of this solution (over a year): the SSDPAMM0008G1 with firmware Ver2.I0K (use hdparm -i /dev/sda) is actually pretty fast compared to even the fastest SD card you can get (133x). It only lags about 30% in write performance. No SD card will ever be as fast as the SSD for read performance, so do not get your hopes up in that department. If you RAID0 both the SD cards, you can outperform the SSD and even outperform a WD VelociRaptor for many of Bonnie++'s benchmarks. With that RH card hanging out of the slot like that, chances are very good you will corrupt it with a little bump, so unless you're gluing that card in I do not suggest it for mobility!}}
[edit] SD Cards and suspend
If you are using your left-side SD card slot as additional storage which you are mounting at boot time, you will have major problems when trying to go into suspend (S3) power state unless you select the UNSAFE_RESUME option for the kernel MMC device driver.
By default, the kernel always unmounts all MMC/SD cards before suspend and re-mounts them at resume. This causes the left-side SD card reader to re-mount as a different device name & number, which will increment by one each time you suspend and resume the system. If your SD card has been formatted with ext2 or ext3, it will be worse, as the unmount will not succeed and you will see quite a few seg faults in dmesg. At this point, if you then attempt to shut down your machine it will hang and you will have to force the power off, which in turn can/will corrupt data on your SSD. Since you are highly likely to be running ext2 on your partitions to avoid excessive writes to the SSD, this is a bad thing.
Enabling UNSAFE_RESUME in the kernel options for MMC device drivers will stop the kernel from unmounting SD/MMC cards before suspend. Upon resume, the SD cards will still be using the same device ID they used when the system was suspended.
This makes it relatively safe to use of the SD reader for permanent additional storage; however any SD cards you have inserted into the right-side slot will not unmount before suspend, so if you suspend and then eject an SD card before resume it could be corrupted if there were pending writes.
[edit] See also
Several other distributions have their own installation guides for the Aspire One: