Debian GNU/Linux on the Asus R2H UMPC

Hardware

PCI

00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 04)
00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04)
00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04)
00:1b.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 04)
00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 04)
00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 04)
00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 04)
00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 04)
00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 04)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d4)
00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 04)
00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 04)
01:01.0 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 01)

USB

Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 003: ID 04d9:1606 Holtek Semiconductor, Inc.
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 0b05:1712 ASUSTek Computer, Inc. BT-183 Bluetooth 2.0+EDR adapter
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 009: ID 134c:0005
Bus 001 Device 008: ID 08ff:1600 AuthenTec, Inc. AES1600
Bus 001 Device 006: ID 0424:2502 Standard Microsystems Corp.
Bus 001 Device 005: ID 0b05:171b ASUSTek Computer, Inc. A9T wireless 802.11bg
Bus 001 Device 002: ID 174f:a311 Syntek 1.3MPixel Web Cam - Asus A3A, A6J, A6K, A6M, A6R, A6T, A6V, A7T, A7sv, A7U
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

CPU

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 13
model name      : Intel(R) Celeron(R) M processor          900MHz
stepping        : 6
cpu MHz         : 897.721
cache size      : 512 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr mce cx8 apic sep mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss tm pbe up bts
bogomips        : 1795.44
clflush size    : 64
cache_alignment : 64
address sizes   : 32 bits physical, 32 bits virtual
power management:

Software

I’m using Debian GNU/Linux “squeeze” (testing).

Things that work out-of-the-box

  • Audio (snd_hda_intel)
  • USB (uhci_hcd, ehci_hcd)
  • Card reader (sdhci)

Things that I haven’t tried

  • Bluetooth
  • Fingerprint reader (AuthenTec, Inc. AES1600) – should work according to this

Things that I have no idea what they are

  • USB device 04d9:1606 Holtek Semiconductor, Inc. (GPS?)

Graphics

Make sure to disable i915 modesetting (see Debian bug #570364) by appending i915.modeset=0 to your kernel command line. Also, have a look at my xorg.conf.

To have the grub menu displayed in the right resolution, modify /etc/default/grub:

GRUB_GFXMODE=800x480

Then run update-grub.

Network

The integrated Ethernet chip is supported by the r8169 driver.

When installing / upgrading to the latest Debian kernel package versions, you will get a warning about missing firmware. It’s safe to ignore that, because the R2H’s chip doesn’t need that firmware.

Also, there is an interesting bug where the chip’s EEPROM gets corrupted (you’ll notice that the card can’t seem to send/receive any data and that ifconfig shows a completely wrong MAC address). To fix that, run

ifconfig ethX hw ether XX:XX:XX:XX:XX:XX

where XX:XX:XX:XX:XX:XX is your original MAC address (you should be able to find the address in /etc/udev/rules.d/70-persistent-net.rules).

Touch screen

Works fine. To calibrate the screen, use this program or just try the values from my xorg.conf

Web Cam

The integrated Syntek 1.3MPixel web cam might work but so far I’ve been unable to use it with any of the available open source apps. Skype sort-of works, though.

WLAN

The R2H uses an Asus A9T 802.11bg wifi chip, supported by the zd1211rw driver (make sure to install the zd1211-firmware package). Since I’m using the R2H for adhoc networking, I had to set the rate control algorithm to amrr in order to prevent frequent kernel crashes (in /etc/modprobe.d/local.conf):

options mac80211 ieee80211_default_rc_algo=amrr

Configuration files

/etc/X11/xorg.conf:

# xorg.conf for Asus R2H UMPC / Debian squeeze
#
# Written by Stefan Ott
# See http://www.ott.net/knowledge/r2hdebian/

Section "InputDevice"
	Identifier	"touchscreen"
	Driver		"evtouch"
	Option		"Device" "/dev/input/event4"
	Option		"DeviceName" "touchscreen"
	Option		"ReportingMode" "Raw"
	Option		"Emulate3Buttons" "True"
	Option		"Emulate3Timeout" "50"
	Option		"SendCoreEvents" "On"
	Option		"CorePointer"
        Option        "MinX"        "122"
        Option        "MinY"        "152"
        Option        "MaxX"        "3983"
        Option        "MaxY"        "3872"
        Option        "x0"        "-2"
        Option        "y0"        "-6"
        Option        "x1"        "-2"
        Option        "y1"        "-6"
        Option        "x2"        "-2"
        Option        "y2"        "-6"
        Option        "x3"        "-1"
        Option        "y3"        "9"
        Option        "x4"        "-5"
        Option        "y4"        "9"
        Option        "x5"        "-5"
        Option        "y5"        "9"
        Option        "x6"        "-1"
        Option        "y6"        "0"
        Option        "x7"        "1"
        Option        "y7"        "0"
        Option        "x8"        "-4"
        Option        "y8"        "0"
EndSection

# Disable the TV output (current kernels)
# Leaving this one enabled causes the internal LCD to misbehave
Section "Monitor"
	Identifier      "TV"
	Option          "Ignore" "True"
EndSection 

# Disable the VGA output (because we can)
Section "Monitor"
	Identifier      "VGA"
	Option          "Ignore" "True"
EndSection

# The rest of the file could be omitted and is only needed if you want to
# prevent xorg from blanking your screen
Section "ServerFlags"
	Option		"BlankTime" "0"
EndSection

Section "Monitor"
	Identifier	"LVDS"
	Option		"DPMS" "False"
EndSection

Section "Screen"
	Identifier	"Default Screen"
	Device		"Configured Video Device"
	Monitor		"LVDS"

	DefaultDepth	24

	SubSection "Display"
		Depth 24
		Modes "800x480"
	EndSubSection
EndSection

Section "ServerLayout"
	Identifier	"main"
	Screen		"Default Screen"
	InputDevice	"touchscreen" "CorePointer"
EndSection
  1. Alex FEfilov
    May 20th, 2010 at 09:42 | #1

    USB device 04d9:1606 Holtek Semiconductor, Inc. (GPS?) — is not GPS. This is controller of Keyboard.
    GPS attached to COM1, model Sirf, speed 4800.
    sorry for my ughly english

  1. No trackbacks yet.