Patrick Audley // ECS G551 Linux Laptop Review

URI
Last Modifed (approximate)
Sun, 10 Jun 2012 12:00:00 -0700
Author
Publisher
Blackcat Systems
Language
en-GB

ECS G551 Linux Laptop Review

Review of the ECS G551 Laptop with an eye to running Linux smoothly on it.

TuxMobil - Linux on Laptops, PDAs and mobile Phones

Table of Contents


Introduction

I purchased this laptop because I wanted a lighter Centrino-based laptop to replace my aging Sony Vaio. I decided to by a white-label laptop (one that is sold to be rebranded by retailers) because it was cheaper, user serviceable and contained no proprietary parts. Having a laptop that I can upgrade the cpu without any special tools or costly vists to the vendor (or in the case of my Vaio – buy a new laptop) – is very important to me. ECS USA is the main distributor for ECS though you will probably have to find them through a local reseller unless you have a wholesale account with one of the big distributors. I had no problem finding three shops that sold them in Vancouver.

So how well does it work with Linux? The short answer is very well! Read on for some specifics.


Images

ECS G551 Front Image


Hardware Specifications and Status

CPU IntelĀ® Banias processor from 1.3GHz to 1.7GHz with SpeedStep technology, uFCPGA2 package (478pin)
Mine has a 1.7Ghz Banias
Working, Enhanced SpeedStep is very nice.
Chipset IntelĀ® ODEM + ICH4-M (aka Intel 855PM) Working
Memory 1GB DDR (dual simms) Working
LCD 15.0" SXGA+ (1400×1050 resolution) Working, absolutely beautiful display. Very wide viewing angle.
Video Card ATI Mobility M9P-CSP64, AGP 4X
64MB DDR Video RAM (on VGA chip)
Working but the ATI fglrx drivers are VERY flaky. Stock Xorg 4.3+ drivers are fine.
HDD 2.5" 9.5mm height, ATA 100/66 supported, up to 5400 rpm
I bought a 5400rpm 60GB Fujitsu MHT2060AH
Working
Optical Drive 5.25"/12.7mm CD-ROM/DVD-ROM/Combo Drive (DVD-ROM+CD-RW), DVD-RW (Multi)
I bought a Slimtype COMBO LSC-24081 DVD+CD/RW
Working including burning at 24x
Touch Pad Synaptics w/ scrolling button (4 ways) Working, to get all the functions use the Synaptics X11 Driver.
Keyboard 88 keys with 12 function keys and 3 Windows keys Working, keyboard has a nice tactile feel and is easy to clean/replace if needed.
I/O Ports 2 x USB2.0 ports, parallel port, VGA port, RJ-11, RJ-45, FIR, 1394a, TV-Out , head phone(SPDIF), Mic_in I have not tested the FIR, 1394a, TV-Out or parallel yet. The USB works fine as v2.0 and the headphones and microphone work as expected. The 1394a is detected by Linux I just do not have any firewire devices.
PCMCIA Type II PCMCIA slot, support CardBus Working
Audio AC97 2.1compliant, , 5.1 channel support, built-in two stereo speakers The sound card is an Intel810 integrated (or at least that driver works). Sound quality is great but the speakers are nothing special. Ok for casual use, audiophile be warned though.
Modem ICH4 soft modem (Agere)
(See the modem section below)
Does not work under Linux. It detects but try though I might, I cannot get dailtone. If anyone fixes this, let me know, eh?
AC Adapter 65Watts, Universal Working
Battery Li-Ion battery @ 53 Whrs (8 cells) Working
Battery Life More than 4.0 hrs
The most I’ve had is around 3hrs… it’s still very nice. I can play a full DVD and then some which is what I wanted.
Working
Battery Charge 3 hrs charge time while system off
4 hrs charge time while system on
Working
BIOS AMI Supports PnP, password Working, see the BIOS section below.
LAN Realtek RTL8139 100baseT NIC Working
Wifi Standard MiniPCI slot
I have a Realtek 8180 802.11b wifi card which works under ndiswrapper(see below)
Working with ndiswrapper and the windows driver, see the Wifi section below.
Power Management ACPI 2.0 supported Working, see the ACPI section below.
Size 326x258x32 mm A nice size.
Weight 2.6kg Quite a bit lighter than my last laptop.

In general all the hardware works. The only thing to really note is the battery life is not what’s advertised – even running under XP. In term of compatibility this laptop is beautiful. There were no hardware workarounds other than the wifi card though I could have bought a different miniPCI card so that is not really the laptop’s fault.

lspci output

0000:00:00.0 Host bridge: Intel Corp. 82855PM Processor to I/O Controller (rev 03)
0000:00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP Controller (rev 03)
0000:00:1d.0 USB Controller: Intel Corp. 82801DB (ICH4) USB UHCI #1 (rev 03)
0000:00:1d.1 USB Controller: Intel Corp. 82801DB (ICH4) USB UHCI #2 (rev 03)
0000:00:1d.2 USB Controller: Intel Corp. 82801DB (ICH4) USB UHCI #3 (rev 03)
0000:00:1d.7 USB Controller: Intel Corp. 82801DB (ICH4) USB2 EHCI Controller (rev 03)
0000:00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 83)
0000:00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 03)
0000:00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller (rev 03)
0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB (ICH4) AC'97 Audio Controller (rev 03)
0000:00:1f.6 Modem: Intel Corp. 82801DB (ICH4) AC'97 Modem Controller (rev 03)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R250 Lf [Radeon Mobility 9000 M9] (rev 02)
0000:02:02.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8180L 802.11b MAC (rev 20)
0000:02:03.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
0000:02:04.0 CardBus bridge: Ricoh Co Ltd RL5c475 (rev b8)
0000:02:04.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C551 IEEE 1394 Controller


BIOS and ACPI

The AMI bios was that shipped with the laptop worked well but the fan was a little excessive. I’ve since upgraded to the 20040419 AMI BIOS from the Taiwanese ECS site. I made a boot cd with a FreeDOS boot image and the DOS executable from the ECS site. Everything went well though it took ages to update the BIOS. The only changes that I noticed were LCD auto-dimming on battery and a change in the fan – it used to blow constantly at various speeds, now it tends to go off completely at low loads but burst occasionally. I think it’s better but your mileage might vary so think carefully before upgrading.

DMI Decode Output

ACPI

The DSDT is fine as shipped though it does have Microsoft OS detection in the AML. I’ve patched it to remove that and several other errors that Intel’s IASL Compiler found but I haven’t really noticed a difference. If you’re curious here’s the AML and the two ASL files as well as the diff. If you want to patch your DSDT please check out The Linux ACPI Project before you do.

Here’s the battery information:

inanna:~$ cat /proc/acpi/battery/BAT0/info
present:                 yes
design capacity:         3600 mAh
last full capacity:      3486 mAh
battery technology:      rechargeable
design voltage:          14800 mV
design capacity warning: 1630 mAh
design capacity low:     100 mAh
capacity granularity 1:  1 mAh
capacity granularity 2:  1 mAh
model number:            Batt
serial number:           1
battery type:            LION
OEM info:                Note Book

inanna:~$ cat /proc/acpi/battery/BAT0/state
present:                 yes
capacity state:          ok
charging state:          discharging
present rate:            1145 mA
remaining capacity:      1796 mAh
present voltage:         14856 mV
Original DSDT AML Image
Original DSDT ASL Script
New DSDT AML Image
New DSDT ASL Script

ASL Patch

--- dsdt_original.asl	2004-05-24 19:01:06.839658672 -0700
+++ dsdt_new.asl	2004-05-24 18:52:41.000000000 -0700
@@ -301,12 +301,7 @@

     Method (OSFL, 0, NotSerialized)
     {
-        Store (0x01, Local0)
-        If (MCTH (_OS, "Microsoft Windows NT"))
-        {
             Store (0x00, Local0)
-        }
-
         Return (Local0)
     }

@@ -794,7 +789,7 @@
                             DMA (Compatibility, NotBusMaster, Transfer8) {}
                             IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
                         }
-                        /*** Missing EndDependentFunctions descriptor */                    })
+ 		        EndDependentFn()})
                     Name (EPPR, ResourceTemplate ()
                     {
                         IRQNoFlags () {3,4,5,6,7,10,11,12}
@@ -3190,29 +3185,18 @@
         }
     }

-    If (SS1)
-    {
         Name (_SB.PCI0._S1D, 0x02)
         Name (_SB.PCI0.P0P1._S1D, 0x02)
         Name (_SB.PCI0.USB1._S1D, 0x02)
         Name (_SB.PCI0.USB2._S1D, 0x02)
         Name (_SB.PCI0.USB3._S1D, 0x02)
-    }
-
-    If (SS3)
-    {
         Name (_SB.PCI0._S3D, 0x02)
         Name (_SB.PCI0.P0P1._S3D, 0x02)
         Name (_SB.PCI0.USB1._S3D, 0x02)
         Name (_SB.PCI0.USB2._S3D, 0x02)
         Name (_SB.PCI0.USB3._S3D, 0x02)
-    }
-
-    If (SS4)
-    {
         Name (_SB.PCI0._S4D, 0x02)
         Name (_SB.PCI0.P0P1._S4D, 0x02)
-    }

     Name (IOXB, 0x05C0)
     Name (IOXL, 0x10)
@@ -3291,8 +3275,6 @@
         0x00,
         0x00
     })
-    If (SS1)
-    {
         Name (_S1, Package (0x04)
         {
             0x02,
@@ -3300,10 +3282,6 @@
             0x00,
             0x00
         })
-    }
-
-    If (SS3)
-    {
         Name (_S3, Package (0x04)
         {
             0x05,
@@ -3311,10 +3289,6 @@
             0x00,
             0x00
         })
-    }
-
-    If (SS4)
-    {
         Name (_S4, Package (0x04)
         {
             0x06,
@@ -3322,8 +3296,6 @@
             0x00,
             0x00
         })
-    }
-
     Name (_S5, Package (0x04)
     {
         0x07,


Linux Installationpowered by gentoo linux

Because I’m an anti-authoritarian speed hungry control-freak when it comes to my OS, I picked Gentoo for my Linux distribution. It’s a little tricker to install – buy hey, if I wanted a GUI install I’d be using Windows. Besides the documentation for Gentoo is incredible and I’ve used it as a teaching platform before to teach Linux – it’s that good. Kudos to the Gentoo team for putting together a great distribution. The information below is Gentoo-centric but I’m sure any linux 2.6 based distribution would work with small changes. If you get stuck drop me an email and I’ll do my best to help you out.

I used a rather old Gentoo Live CD to boot up with and installed everything over the net. Installation worked without a hitch.

make.conf settings

Setting up your CFLAGS is dependent upon which version of GCC you are using so I’ve included the conservative GCC 3.3 settings as well as the GCC 3.4.1(snapshot) settings that I actually used. I’ve verifed a working install with both though and encounted no problems.

Compiler Version CFLAGS
GCC 3.3 -march=pentium3 -O2 -pipe -ffast-math -fomit-frame-pointer
GCC 3.4.1 20040514 (prerelease) -g0 -O2 -s -pipe -msse2 -momit-leaf-frame-pointer -mmmx -mfpmath=sse -march=pentium-m
-maccumulate-outgoing-args -fweb -funit-at-a-time -ftracer -fprefetch-loop-arrays
-fomit-frame-pointer -ffast-math -falign-functions=64 -D__NO_MATH_INLINES

For USE flags I have the following:

USE="aac acl acpi acpi4linux adns aim apache2 artswrappersuid audiofile
     autofs bluetooth caps curl dga distribution doc dv dvb dvd ethereal
     evo faad fbcon ffmpeg fftw flac flash gb gcj gd geoip gimp gimpprint
     glade gmp gnomedb gstreamer gtkhtml icc-pgo icq idea ieee1394
     imagemagick imap imlib2 innodb irda jabber java javascript jbig
     jdepend junit lcms libcaca libgda lufsusermount lzw-tiff maildir mcal
     md5sum mmx mng mono mozcalendar mozp3p mozsvg mpeg4 msn nptl odbc
     offensive ofx ooo-kde openal operanom2 optional-tasks oscar pcmcia
     pcre php pic plotutils pnp ppds radeon samba slp snmp sox speex
     sqlite sse sse2 svg theora tiff transcode trusted type1 usb v4l v4l2
     videos wifi wmf X509 xemacs xface xfs xine xinerama xml xosd xvid
     yahoo yv12"

Packages that are handy

emerge
  acpid
  cpufreqd
  hddtemp
  hotplug
  pcmcia-cs
  smartmontools
  synaptics


Kernel Options

I decided to run a 2.6 kernel and have had no real problems with it at all. I’m currently running 2.6.6-mm5 which seems to feel a little nicer under interactive use than the stock 2.6.6. Below are my dmesg output and the kernel config. I generally compile my kernels with GCC 3.4 though you can’t use the above mentioned -march=pentium-m flag (the kernel uses -march=pentium3 anyways) as it generates non-bootable kernels.

dmesg output
.config for 2.6.6-mm5 + acpi_dsdt_initrd

Some things to note:

  • make sure you enable ACPI
  • cpufreqd is your friend – remember to select "Enhanced Speedstep" in your kernel.
  • the ALSA sound card is the “Intel 810″
  • other i810 features like the hardware random generator don’t work so leave them off
  • the IDE driver is the Intel PIIX


Network Setup

LAN Setup (RTL8139)

There isn’t really any setup to do, the kernel Realtek 8139too
driver works perfectly.

Wifi Setup (RTL8180)

Realtek says that they will be releasing a 2.6 driver for the 8180 but I"ve not seen it and repeated emails to Realtek net either morons ("We don’t support Windows 2.6, please use XP.") or just no response. Luckily, Pontus Fuchs and Giridhar Pemmasani’s excellent NdisWrapper loads the RTL8180 windows driver and works very well. The only hitch is the lack of signal strength indication. I’ve used the CVS and the 0.6 version in Gentoo portage with success.


Modem Setup

If you use 2.6.6-mm5 or greater there is support for the ICH4 AC97 soft modem in the ALSA drivers. In order to use this you will also need the slmodem package. Make sure you compile in ALSA support (see the slmodem’s README).

It looks like support for this will be present soon as the vendor also puts out the slmodem program. The current support is very beta and in my case I couldn’t get the modem to dial. All I get is “NO DAILTONE”. It does work from Windows though, so I think for the meantime I’ll just wait until the good folks at SMlink finish the support.


X11 Configuration

Using the latest X.org X11 snapshot I had no problems at all getting everything up and running quickly. If you want to run games though you will probably be a little disappointed with ATI’ FGLRX driver. It runs for me the first time I fire up X11 after a boot and gives great frame rates and beautiful play on UT2004. But woe be unto he who switches to a VT or restarts his X server. I fiddled for a whole day trying all the driver settings and even went back to GCC 3.3 and a 2.4 kernel to no avail. I like being able to switch to the console or log out so this was too sucky for me and I just use the standard radeon drivers now. In the xorg.conf below I have the fglrx driver as "Card1" so if you want to use it just switch the card in the "Screen" section. Hopefully this situation will improve…

xorg.conf


Software Suspend

The stock kernel suspend-to-disk (S4) drivers don’t work on this laptop. At all. Unless you like reading kernel oopses. But that’s OK because Nigel Cunningham has been working on a replacement called <drum roll please>… Software Suspend 2.

Using a stock 2.6.5 (as well as the 2.6.5-gentoo-r1 kernel) and the 2.0.0.66 swsusp patch from the sourceforge download page I’ve managed over 50 suspend and resume cycles without problems.


Update 2004 November: New BIOS available

There is a new BIOS from ECS that fixes some odd display problems that people have reported to me as well as adds support for the new Dothan chips. You can grab it here:

2004 November G551 Bios Download

If you can’t get a copy of it, let me know and I’ll send you one that I’ve archived.