Linux on ECS A530 TuxMobil - Linux on Laptops, PDAs and mobile Phones

Manufacturer site: here
Relevant site: here

Spec:

IMPORTANT
My disk was just crashed. I suspect overheating problem is the culprit. Situation was like this: The notebook was used to play several movies using mplayer, while sitting over my bed. (Very bad move: no air flow below notebook). I think it was running overheated for around one hour. (FYI, I live in a rather cool part of Indonesia, but not cool enough for PC; average temperature is around 20-28 C). So, please activate your temperature monitor and watch it closely. I used to force my box run while its CPU temp around 65-85 C, then reduce CPU frequency using longrun -s 0 33 if temp stays over 85.




General info


Works

  • Processor
  • A530 is based on Transmeta's Crusoe TM5600. It has an interesting feature: Longrun. I install wmlongrun to display near realtime CPU speed, which can be one of 300, 400, 500, or 600 MHz. To enable this cute utility, you need to load 2 kernel modules, or compile it into kernel: cpuid (CONFIG_X86_CPUID) and msr(CONFIG_X86_MSR).

    One thing you should know about this feature is, that you can prevent CPU overheating by controlling CPU operating frequency using longrun. This should be done in combination with temperature monitor discussed below. Normally, processor is set to run on performance window range 0 to 100. Try to check this setting using longrun -p. Default output is:

    # longrun -p
    LongRun: enabled
    LongRun Thermal Extensions (LTX): inactive
    Current performance window: 0 to 100
    Current performance level: 33
    LongRun flags: economy
    When temperature is higher than desired, force it down by reducing maximum value of performance window using longrun -s 0 max_value where max_value is any of 0, 33, 66, 100. I almost worried about my CPU temperature. On normal operation, I got 60-70 C, while on high load it can reach 95 C. I'd like to know your experience on this.

    Here is my self-compile 2.4.26 and its configuration.

    To enable longrun indicator in gkrellm, install this plugin, too.

    Update: option -t in longrun can give more fine-grained power/ performance (and maybe in the end, max temperature) control.

    # longrun -t 7
    # longrun -p
    LongRun: enabled
    LongRun Thermal Extensions (LTX): active
    LTX setting: 12.5% reduction
    Current performance window: 0 to 100
    Current performance level: 66
    LongRun flags: economy

  • Display
  • Using xfree86 version 4.3.0 and choosing sis driver, everything is fine. Display resolution is 1024x768, 24bpp. Here is my XF86Config-4.

    Update: Display toggle (LCD, LCD+external, external) using sisctrl is smooth.

  • Ethernet
  • Nothing special. Use 8139too kernel module.

  • Sound
  • Interesting situation. Using vanilla or debian's kernel up to 2.4.24, you can use trident kernel module, but you don't have volume control. If you use this driver instead, then you can have normal volume control. Thanks for Brian Hinz for this tip:
    To be able to use CMedia's driver, just enable CONFIG_SOUND in your kernel config, but do not select any standard sound driver. Compile cmaudio.o separately. Complete documentation can be read in that tarball file.

    Update: Volume control works, but volume level is way too low, even after every related setting in aumix are maxed out.

    Update: I think CMedia driver is buggy somewhat, mplayer is slow but movie is smooth when sound is disabled.

  • WiFi
  • Need additional driver (this is needed for kernel 2.4.x or 2.6.x) linux-wlan-ng-0.2.1-pre14.tar.gz. Then hotplug will do the rest. I will try 0.2.1-pre20 soon.

    Update: v0.2.1-pre20 works. I have an access point which use WEP and provide DHCP service. Related configuration files are /etc/network/interfaces, /etc/wlan/wlan.conf, /etc/wlan/wlancfg-FOO (new file), and /etc/modutils/wifi (new file).

    I can feel the urge to create a better WiFi antenna replacement as noted in this site. Compared to other WiFi equipped notebooks, mine always show lesser signal strength. Sometime, changing LCD's tilt angle to be more horizontal can help increasing signal strength. Maybe LCD's bottom side covers too much internal WiFi antenna's area when tilted vertically.

    I tried kwifimanager's feature: accoustic scanning. Nice utility for war-driving. It will give you beeps which frequency changes proportionally to signal strength.

  • USB
  • hotplug knows it need to use 3 kernel USB-host drivers: ehci_hcd, usb-ohci, and usb-uhci automatically. Nothing special here. Afterward, I try to plug Nikon Coolpix 2000 digital camera, 128MB flash disk, all works flawlessly. USB to serial converter used to be ok, but I have not tested it in my latest kernel configuration, which doesn't include serial driver. I will talk about this later in modem section.

    Update: In several occassions, my USB mouse and/or WiFi suddenly stopped working after I plugged/unplugged AC adapter connector. Maybe we should follow suggestion not to plug/unplug AC adapter connector while notebook is running? But what if you starts working without AC, then battery depleted and you want to continue working uninterrupted? Maybe it's time to really test suspend.

  • ACPI
  • Load ACPI kernel modules to enable poweroff.

  • Pointing Device
  • Works flawlessly, you can tap on touchpad to do click or double-click, but of course you have to use the button to do a right-click :( ; only the 4-direction button function not tested yet

    Thorsten Becker gave me his tip regarding this:
    You need the Synaptics Driver Maintained by Peter ?sterlund: http://w1.894.telia.com/~u89404340/touchpad/index.html I succeeded with Version 0.12.3 (actually the first version I tried), followed the install-instructions and it worked. I only had to add the following configuration Section in the XF86Config-File:

    Section "InputDevice"
            Identifier  "Mouse0"
            Driver      "synaptics"
            Option      "Protocol"		"auto-dev"
            Option      "RightEdge"		"5400"
            Option      "TopEdge"		"1900"
            Option      "BottomEdge"	"4000"
            Option      "FingerLow"		"25"
            Option      "FingerHigh"	"30"
            Option      "MaxTapTime"	"180"
            Option      "MaxTapMove"	"220"
            Option      "VertScrollDelta"	"100"
            Option      "MinSpeed"		"0.02"
            Option      "MaxSpeed"		"0.18"
            Option      "AccelFactor"	"0.0010"
            Option      "SHMConfig"		"on"
    	Option      "ZAxis Mapping"	"4 5 6 7"
    EndSection

    Another thing I finally found regarding simultaneous use of USB mouse and Synaptics touchpad. Initially my X configuration didn't support both pointing device at the same time. Simple tweak on XF86Config-4 enable both:

       ... on first mouse's InputDevice ...
      Options "CorePointer"
       ... and on other mouse's InputDevice section ...
      Options "SendCoreEvents" "true"
       without Options "CorePointer" line
    

  • Special Keys Handling
  • Use xev to get keycodes, then run hotkeys to handle those keys. Here is xev result. I configure some of those keys to run my favorite browser (Mozilla Firebird), and MUA (Mutt). Here is hotkeys specific configuration and hotkeys.conf. Note: brightness control keys, Fn+F7 for up and Fn+F8 for down, are handled properly by BIOS(?) even when Linux is running, and xev doesn't detect those events.

  • Thermal Sensor
  • Needs lm-sensors, i2c-source and lm-sensors-source packages; sensors-detect run told me to add i2c-ali1535 and adm1021 into /etc/modules. Edit /etc/sensors.conf then run sensors -s to set new sensor limits. Afterward gkrellm can be configured to show two new parameters: board temperature and CPU temperature!. BTW, those two source packages will put a .gz file in /usr/src. You need to tar xfz it, which will extract to /usr/src/module/pkgname. Then go to your kernel-source root directory, run fakeroot make-kpkg modules-image

    Ignore kernel warnings i2c-ali1535.o: Error: command never completed kernel warnings. EEPROM driver also works. Precompiled debs for i2c and lm-sensors are here.

  • kernel 2.6.4
  • Using 2.6.4, Benq model M101 USB mouse doesn't work in X. Probably a kernel bug, since on 2.4.x it works fine. See this for very similar problem with no solution (yet). Using other USB mouse (USB id 0f62:1001) I found no problem.
    Need to recompile kernel (again) to test other peripherals on kernel 2.6.x

    Update: I configure kernel with CONFIG_USB_MOUSE=m, then my Benq works fine!

  • Suspend
  • I have just testing first case of suspend: triggered by lid. Several modifications needed. /etc/acpi/powerbtn.sh, /etc/acpi/lidbtn.sh, and /etc/acpi/events/lid. (Thanks to Marcus Gustafsson for the hints, he tried on kernel 2.6.5, while I am on kernel 2.4.26). Try to close your monitor, it will trigger lid switch, and put system into sleep mode (as indicated by half-moon icon LED on lowest left, near power-is-on and battery-is-being-charged indicators). To resume, open lid and press power button. I don't think it is perfect yet. LCD isn't turned off, and maybe so many other components. I need to test whether this sleep state power usage is low enough to survive for several hours, when my battery gave beep warning and I have to stop working for a while. I need to promptly continue working after finding electric outlet to let my battery recharged.

    I also plan to test second case of suspend, i.e. suspend to disk, which need no power to preserve state. But later. Maybe in a couple of weeks.

    Update: Suspend-to-RAM works reliably and repeatable on kernel 2.4.26. But I can only have 1 chance of suspend in kernel 2.6.5. Further lid events will be discarded, no tracks at all. Why?

    Update: Rename lidbtn_sh to lidbtn.sh, and powerbtn_sh to powerbtn.sh after downloading them, current setup of my webserver were trying to execute those files instead of serving as-is.

  • Modem
  • A very promising tip from Brian Hinz (again!):
    The modem is fully functional if you use the version 2.7.10 of the SmartLink driver AND make sure that you do not compile serial port support into your kernel, either statically or as a module. There is no serial port on this machine but for some reason the serial port module will bind to the modem and prevent it from working. Versions of slmdm > 2.7.10 do not seem to work either. The driver can be downloaded at: ftp://ftp.smlink.com/linux/unsupported/slmdm-2.7.10.tar.gz

    Compile and module loading is ok now. Just need to find a little time to connect to phone line ...

    Update: Using slmodem-2.9.7, at last I have time to really try dialup. No problem. One important think I got from running scanModem and reading its results are: add "Carrier Check = no" on /etc/wvdial.conf

    These are steps to activate that driver:


    In-progress/Doesn't work (yet)

  • Low-power Mode
  • I did some test running A530 in very low power mode using kernel 2.6, it seems worked. But I miss one crucial thing: no more warning (beep) when battery almost empty. Also, I prefer to use 2.4 kernel now, so I need to modify the script.

    Miscellaneous

  • Precompiled binaries for ECS-A530
  • dmesg, lspci -v, lspci -nv, lsusb, lsusb -v, lsmod
  • Not ECS A-530 specific, but one of a few things I try first time using this cute box:
  • Harddisk: install and configure smartmontools. Lesson learned from hard disk crash in office's server: activate S.M.A.R.T and related Linux daemon/utilities, it will warn you in advance about hard disk problem. Hopefully you will be able to do backup before real problem appears.

    Quirks


    Todo (unsorted)


    Update history


    discuss your experience using this box with me via andika at research dot indocisc dot com
    start hacking: Nov 4th, 2003; revision $Id: index.html,v 2.20 2004/06/19 07:39:25 andika Exp andika $