Search:  
Gentoo Wiki

Motion_Computing_LE1600

This article is part of the Hardware series.
Laptops TV Tuner Cards Wireless Servers Storage Other Hardware Motherboards Related

Contents

About the LE1600

The Motion Computing LE1600 is a slate tablet PC, meaning it has no "build-in" keybaord.

There is a so-called "convertible keyboard" available which you can use to put the LE1600 onto and use it nearly as a normal laptop. Works fine with Linux, right out of the box.

The LE1600 is available with Intel Pentium M or Celeron, with Intel PRO/Wireless 2200BG or Atheros Super AG 802.11 wireless LAN adapter.

I have got the Pentium M version and Intel PRO/Wireless 2200BG, so as long as noone else with different system configuration participates on this article, all information is based on that system configuration.

Furthermore, I got the sunlight optimized display option (Motion Computing calls it "ViewAnywhere"-display). Great thing. So if someone with normal display notices display-related differences between these descriptions and his system, please add that information to the wiki.

Installing Linux on LE1600

Before starting the installation (while you still have Windows installed, if not dual-booting), it is recommend to print out the Windows System Overview first. To do so, open the Device Manager (in German, it is the "Gerätemanager"), select the first item of the tree (your computer ...) and click the printer button in the tollbar. As report type ("Berichtstyp") select "All devices and system summary" ("Geräte- und Systemübersicht") and print.

Getting a shell to install from

There are a few methods to get the LE1600 booted up into a Linux shell, none of which is the standard way from the handbook, as the LE1600 does not have a CD-ROM drive.

USB CD-ROM Drive

If you can acquire or borrow a USB CD drive, you can use that to boot from the standard Gentoo Minimal Installation CD. You will also need a USB Keyboard to type into the terminal, as there will be no on-screen keyboard.

Tip: You may want to try gentoo doscsi scandelay debug boot method from TIP Installing Gentoo using USB-CDROM if the standard boot command doesn't work for you

You can also use an alternate Linux LiveCD (tested with a Mandriva Linux 2005 mini CD).

Note: Bear in mind that if the LiveCD uses a GUI interface, you will likely also need a USB mouse, and since the LE1600 only has two USB ports, you'll need a USB-hub to get a CD drive, keyboard, and mouse connected to it, unless your USB keyboard has an extra USB port on it for the USB mouse.

To get the LE1600 to boot off the CD, restart the tablet, and while it's still on the white "Motion" boot screen, hit the "spinning arrows" button on the device to enter the BIOS, or tap and hold on the screen with the stylus and choose to enter Setup.

Once in the BIOS, go to the Boot menu and make sure the CD drive is located above the HDD entry. Save and exit to reboot using the CD drive.

PXE boot

The LE1600 does support PXE booting, so if you have another Linux box laying around, you can follow the instructions for a Diskless install using PXE boot, though instead of creating a whole Gentoo installation at /diskless/eta, you only need some minimum image. You can copy the contents of the Gentoo Minimal Installation CD to that location, or any other LiveCD. Follow the instructions to get the LE1600 to boot off the network image, and from there you can progress to downloading the Stage3 tarballs to install onto the LE1600.

To get the LE1600 to do a PXE boot, restart the tablet, and while it's still on the white "Motion" boot screen, hit the "spinning arrows" button on the device to enter the BIOS, or tap and hold on the screen with the stylus and choose to enter Setup.

Once in the BIOS, go to the Boot menu and make sure the PXE entry is located above the HDD entry. Save and exit to reboot. If an ethernet cable is attached to the LE1600, it will attempt to get a DHCP address and will prompt for a PXE boot. You will need a USB keyboard attached to hit F12 in order to accept the PXE boot.

LiveUSB

Just like a LiveCD, you the LE1600 allows booting off the USB port, so if you follow the official Gentoo instructions on making a LiveUSB device, you can use that to boot off of.

The minimal Gentoo installation CD requires about 90 MB of space, so if you have a 128 MB USB thumbdrive laying around (installation has been tested with a Lexar-brand USB drive), that would be the optimum size for this install. If you only have a 64 MB drive, you can instead try DSL Knoppix booted from a memory stick. That site has a download of a pre-configured DSL Knoppix image that's about 50 MB, and ready to copy to a USB device.

To get the LE1600 to boot off the USB, restart the tablet, and while it's still on the white "Motion" boot screen, hit the "spinning arrows" button on the device to enter the BIOS, or tap and hold on the screen with the stylus and choose to enter Setup.

Once in the BIOS, go to the Boot menu and select the HDD option. If you expand that menu option, both the internal hard drive of the LE1600 and your USB drive should show up there. Reorder them so the USB drive is topmost, and if you have a USB keyboard attached, type SHIFT+1, with the internal hard drive selected to put an exclamation mark before it in the list, indicating that it will not be used to boot from. This will guarantee that the USB device will be used, or the system won't boot. Just remember to come back here and hit SHIFT+1 again to re-enable the hard drive once you have completed your Gentoo installation.

Doing the Install

The ethernet card will likely not be auto-detected if you are booting off the minimal Gentoo installation CD. But a net-setup eth0 should set it up just fine.

In step 5.e of the Installation Handbook, add the following lines to the end of your make.conf file:

File: /mnt/gentoo/etc/make.conf
INPUT_DEVICES="kbd mouse wacom"
VIDEO_CARDS="i810 vesa"

You might also want to have a look at the Gentoo alternative installation method howto, Installing Gentoo from an existing Linux distribution.

Kernel configuration

Before doing the kernel configuration, follow the instructions in step 7.c. of the x86 Installation Guide and emerge pciutils to run lspci. Shown here are the results of one configuration of the LE1600 and the associated modules that must be turned on in the Kernel to enable their use:

Graphic Card: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller
(to use DRI/DRM/... in X11, you need these kernel features:)

Linux Kernel Configuration: Graphic Card
Device Drivers --->
  Character devices  --->
    /dev/agpgart (AGP Support) 
       Intel 440LX/BX/GX, I8xx and E7x05 chipset support
    Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
       Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver)  --->
         i915 driver

USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI, and USB2 EHCI Controller

Linux Kernel Configuration: USB Controller
Device Drivers --->
  USB support --->
    EHCI HCD (USB 2.0) support
    UHCI HCD (most Intel and VIA) support

PCI Bridge: Intel Corporation 82801 Mobile PCI Bridge

No specific kernel module available; use generic PCI module


Audio Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller

Linux Kernel Configuration: Audio Controller
Device Drivers --->
  Sound --->
    Advanced Linux Sound Architecture --->
      PCI Devices --->
        Intel/SiS/nVidia/AMD/Ali AC97 Controller

Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet
Wireless controller: Atheros Communications, Inc. AR5212 802.11abg NIC
or Intel Corporation PRO/Wireless 2200BG Network Connection

Linux Kernel Configuration: Network Devices
Device Drivers --->
  Network device support --->
    Ethernet (1000 Mbit) --->
      Realtek 8169 gigabit ethernet support
    Wireless LAN (non-hamradio) --->
      Wireless LAN drivers (non-hamradio) & Wireless Extensions
        Intel PRO/Wireless 2200BG and 2915ABG Network Connection

PC Card Bridge: ENE Technology Inc CB-710/2/4 CardBus Controller See this guide. The socket is yenta-compatible.


In addition, the following settings should be made to enable generic support of various tablet features:

Linux Kernel Configuration: Other settings
Processor type and features --->
  Processor family --->
    Pentium M
Bus options --->
  PCI Support
  ISA Support

Boot Manager

Warning: This section proposes a method of setting up the Boot Manager that is not valid at this point in time. If you have tested this method or have a modification to this script to make it work, please update this section

The goal of this config was to be able to switch between Linux and Windows without a keyboard attached.

I wanted to use grub's savedefault command for that, booting the two systems always in turn. Every reboot would switch to the other operating system. The config-file I had in mind would look something like this:

File: Config
# Boot automatically after 2 seconds
timeout 2

# boot the entry we saved as default last time
default saved

# Fallback
fallback 0 1 2

# booting Linux
title  Gentoo Linux, Kernel 2.6.15-gentoo-r1, 21.04.2006-1
root (hd0,1)
kernel /2.6.15-gentoo-r1_20060421_1 root=/dev/hda5 video=vesafb:1024x768-16@60 splash=verbose,theme:Gentoo-Hornet
initrd /initrd.img
# boot Windows next time
savedefault 1

# booting Windows
title Windows XP Tablet Edition
rootnoverify (hd0,0)
makeactive
chainloader  +1
# boot Linux next time
savedefault 0

# just in case the above kernel would not boot
title  Gentoo Linux, Kernel 2.6.15-gentoo-r1, 11.04.2006-1
root (hd0,1)
kernel /2.6.15-gentoo-r1_20060414_1 root=/dev/hda5

Sadly savedefault did not work in any versions of grub (<= 0.97-r2) I have tried. Think it is a bug in Gentoo (and few other distributions) which break this grub-command, but not sure.

I also tried the yet marked "not tested" grub-1.9.2. To be able to emerge, I had to put sys-boot/grub -* in /etc/portage/package.keywords. But I could not find any savedefault-command in that version of grub, and it is not very well documented today. But I think little time from now one will be able to configure grub the way I described above.

X11

As the LE1600 has no built-in keyboard, odds are that you'll be wanting to get a graphical interface running on your Gentoo installation, so as not to have to rely on an external keyboard as much. The i810 module we compiled into the kernel should give you the support needed to utilize the LCD panel effectively. Now, you must choose some sort of Windows manager and accessories for yourself...

Modular Xorg-X11

If you have an older version of Gentoo that is upgrading to the newer xorg-x11 setup, you'll need to transition to the new modular xorg setup.

The LE1600 is shipped with a Intel 915[...] graphic chipset - so the i810 driver would be the right one for the X-system. I did not manage to get i810-support with xorg-x11-6.8.2-r6 (which is the latest stable release as I am writing this) so I switched to version 7.0-r1. It is a little tricky when you have choosen a stable gentoo system - see this howto for details.

For downloading the package list without the X-system (and webbrowser) running, use wget (wget http://www.gentoo.org/proj/en/desktop/x/x11/modular-x-packages.txt). Adding entries to /etc/portage/packages.keywords is much easier without an editor by command cat modular-x-packages.txt >> /etc/portage/packages.keywords. I also needed to add

sys-apps/portage,
sys-apps/man,
app-admin/eselect and 
dev-python/pycrypto
to packages.keywords.

I added

INPUT_DEVICES="kbd mouse wacom"
VIDEO_CARDS="i810 vesa"

to my /etc/make.conf (don't know if wacom has to be listed there).

I enabled the useflag dlloader.

Fluxbox

Fluxbox is a lighter-end display manager, compared to KDE or Gnome, though still feature rich. Gentoo has a guide for getting started with Fluxbox here. You can follow its instructions to emerge Fluxbox, and get set up with a login manager. Since the LE1600 is a keyboard-less setup, likely you'll want to emerge idesk to enable desktop icons and either gentoo (the file manager) or Rox to navigate through folders easier.

The most important addon you'll need will likely be an on-screen keyboard. emerge xvkbd to take care of that. xvkbd's homepage has more information on configuring xvkbd.

Need information on setting up xvkbd to be available during login

KDE

Gentoo KDE installation guide

Guide needs to be written

Gnome

Gentoo Gnome installation guide

Guide needs to be written

Rotating the screen

There are two options for rotating the screen. The first one is setting the "Rotate"-option in /etc/X11/xorg.conf. This work with all X11 i810 drivers (as far as I know ...), but you got to restart your xserver for changes to take effect.

With xf86-video-i810 version >= 1.6 you can also rotate on the fly using the xrandr command.

/etc/X11/xorg.conf

i810-driver gives support for rotating the screen 90 degree clockwise ("Rotate" "CW") or anti-clockwise ("Rotate" "CCW"). Your device-sction in /etc/X11/xorg.conf could look like this:

File: /etc/X11/xorg.conf
 Section "Device"
         Identifier  "Card0"
         Driver      "i810"
         ChipSet     "915G"
         Card        "i810 915G"
 #       Option      "Rotate" "CW"
         Option      "Rotate" "CCW"
         Option      "SWCursor" "yes"
 EndSection

Comment/uncomment rotate-options to change rotation. Do not forget to change rotation of the digitizer accordingly.

When rotating screen, software cursor is recommanded ("SWCursor" "yes"). Otherwise cursor will not rotate.

You got to restart X11 for changes to take effect.

xrandr

By now, xf86-video-i810 version >= 1.6 is in stage testing, so you got to have x11-drivers/xf86-video-i810 in your /etc/portage/package.keywords (which you will have when using modular X - see beginning of this section).

When version >= 1.6 is installed, simply calling xrandr -o orientation should rotate the screen, where orientation can be one of "normal inverted left right 0 1 2 3".

Here you can find a link to a nice bash script which does screen roation - rotating orientation of display using xrandr and of the digitizer using xsetwacom - at once. Make sure you know about rotation feature of linuxwacom driver.

Devices

Digitizer

Simply emerge linuxwacom. You need some of the useflags gtk, tcl, tk to get wacomcpl built; as I am not sure which of these is strictly needed for wacomcpl, it might be best to emerge with all these useflags active. According to Wacom Tablet xorg must have been compiled with sdk (but this info might be deprecated). wacomcpl is the program to calibrate your pen with.

You've got to initialize (hope this is the right term...) one serial port /dev/ttyS? for usage of the digitizer. Use a program called setserial for this task, maybe you got to emerge setserial.

I call setserial /dev/ttyS0 port 0x0238 irq 5 autoconfig (If this does not work, try /dev/ttyS3 instead of /dev/ttyS0 or irq5 instead of irq 5.)

Portnumber and irq are the values that are used in windows for the digitizer (remember the printout). I must confess I do not really know what I am doing with this command and if the parameters are the best possible ones. But it works quite fine.

You got to add these InputDevice sections to your /etc/X11/xorg.conf:

File: /etc/X11/xorg.conf
 Section "InputDevice"
         Identifier  "stylus"
         Driver      "wacom"
         Option      "type" "stylus"
         Option      "Device" "/dev/ttyS0"
         Option      "ForceDevice" "ISDV4"
 # in standard configuration, holding the extra button on the side of the pen and clicking
 # will produce a mouse click of the "middle" mouse button.
 # make it a click of the right mouse button:
         Option      "Button2" "3"
 # when rotating the screen, uncomment according
 #       Option      "Rotate" "CW"
 #       Option      "Rotate" "CCW"
 EndSection
 
 Section "InputDevice"
         Identifier  "eraser"
         Driver      "wacom"
         Option      "type" "eraser"
         Option      "Device" "/dev/ttyS0"
         Option      "ForceDevice" "ISDV4"
 # in standard configuration, eraser will cause a normal mouse click.
 # make it a click of the middle mouse button:
         Option      "Button1" "2"
 # when rotating the screen, uncomment according
 #       Option      "Rotate" "CW"
 #       Option      "Rotate" "CCW"
 EndSection

 Section "ServerLayout"
         Identifier     "Layout0"
         Screen      0  "Screen0" 0 0
         InputDevice    "Keyboard0" "CoreKeyboard"
         InputDevice    "Mouse0" "CorePointer"
         InputDevice    "stylus" "SendCoreEvents"
         InputDevice    "eraser" "SendCoreEvents"
 EndSection

Screen rotation

You can rotate the orientation of the digitizer using xsetwacom set stylus Rotate orientation where orientation is one of none, cw, ccw, half.

Here you can find a link to a nice bash script which does screen rotation - rotating orientation of display using xrandr and of the digitizer using xsetwacom - at once.

Troubleshooting

Digitizer does not work on the first startup of X11

I am using kdm to start up the X-Server when booting the system (added kdm to default-runlevel). There was a probelm that digitizer did not work just after booting, I always had to restart the X-Server (Ctrl-Alt-Backspace) to get the digitizer working.

It seems the problem only occurs when the X-Server starts up to early during boot process.

Putting

XSTATICVT="no"

into /etc/conf.d/xdm helped.

Wireless LAN

See this guide.

Sound

I had some difficulties in getting the internal speakers working. Sound worked fine when I used a headphone or an active speaker in the headphone jack, but the LE would not make sounds by itself.

I think I just found the mixer settings that will make internal speakers work (as long as no plug is put into the headphone jack, of course):

- Disable "External Amplifier"

- Set "LineIn Jack" to "Front Output" (or to "Mixer Output", but the latter one does not make a clear sound...)

- When "LineIn Jack" is set to "Front Output", you can control the volume using the "Front" channel. You got to unmute this channel and turn it up to get sound from the internal speakers.

ACPI

Suspend-to-disk

You got to do the suspend-to-disk by operating system. There is no BIOS-ACPI-support for suspend-to-disk, as you can see on the fact that windows does not use an extra partition to write the RAM-image to.

Linux kernel offers Software Suspend, which worked out of the box. Remember that you will need a swap-partition to use Software Suspend.

Suspend-to-RAM

Suspend-to-RAM generally works with kernels ACPI-drivers, but you will have to do little extra work to get it running correctly.

The computer goes into suspend without problems. But taking it back to operating mode leads you to two problems.

First problem is that the on-off-switch is the button to use to wake up the tablet. Using the on-off-button in running system will also cause acpi-deamon to shutdown. So your PC will wake up and immediatly begin to shut down (meaning go to runlevel 0).

Avoiding this unwanted shutdown is simple. In files /etc/acpi/events/default and /etc/acpi/default.sh you can configure the reaction of acpi-deamon on acpi-events (like pushing the power-button is one).

The other problem is that LCD background light is turned off after resume. If you are faced to this sitation, using a bright lamp will help you reading the LCD.

I found that you can configure brightness of LCD by writing numbers from 0 to 15 to /proc/acpi/video/GFX0/LCD/brightness. Setting the brightness this way will activate the LCD backlight.

I use this in /etc/acpi/default.sh:

case "$group" in
        button)
                case "$action" in
                        power)  #/sbin/init 0
                                /etc/acpi/powerbtn.sh
                                ;;
                        *)      logger "ACPI action $action is not defined"
                                ;;
                esac
                ;;

        *)
                logger "ACPI group $group / action $action is not defined"
                ;;
esac

As /etc/acpi/powerbtn.sh I normally have

/sbin/init 0

but for suspending I use the following script which changes /etc/acpi/powerbtn.sh before going to suspend mode:

# map power button to to nothing, so you can use it to resume
# and it will not cause a shutdown
echo 'logger "ACPI power button pressed. Used to return form Suspend-to-RAM, will not shutdown."' > /etc/acpi/powerbtn.sh

# get brightness of display and save it's value
LCD_BRIGHTNESS="`cat /proc/acpi/video/GFX0/LCD/brightness | grep 'current:' | cut --delimiter=\  --fields=2`"

# suspend to RAM
echo mem > /sys/power/state

# on my system, display light was normally turned of after resuming.
# setting brightness turns LCD-light on again
echo $LCD_BRIGHTNESS > /proc/acpi/video/GFX0/LCD/brightness

# wait a short time (to make sure acpi has already done handling
# of power button event
# in most cases, sleep 1 should work, but 5 seems reliable for any
# bizzare situation.
sleep 5
# remap power button to shutting down the mashine
echo "/sbin/init 0" > /etc/acpi/powerbtn.sh

Should say that by default value of "current"-field in /proc/acpi/video/GFX0/LCD/brightness has value 0 after booting, while display brightness is at a level of 10, so if brightness has not been set before suspend, one will suspend with display brightness of 0, which is the darkest one.

To avoid this, I store the value of the disply brighness in a file when shutting down and set it to this value again on bootup using the /etc/init.d/local service.

Standby

Not really tried yet. Not very important to me.

Battery states

Text files containing all the needed battery information (and more) can be found in /proc/acpi/battery/.

When booting with extended battery attached, extended battery is not found. After taking it off and attaching it again, everything is fine. I am still looking for a better solution than taking of the battery and attaching again. Any ideas?

Appendix A: Software

Some Linux software for tablets:

Appendix B: Links

Retrieved from "http://www.gentoo-wiki.info/Motion_Computing_LE1600"

Last modified: Sat, 27 Sep 2008 14:16:00 +0000 Hits: 1,636