HARDWARE Motion Computing M1400
From Gentoo Linux Wiki
| Laptops • TV Tuner Cards • Wireless • Servers • Storage • Other Hardware • Motherboards • Related |
Contents |
[edit] Motion Computing M1400
The Motion Computing M1400 is a so called "Slate" TabletPC. It doesn't have a keyboard attached like normal laptops do.
[edit] Hardware Facts
- 1024x768 LCD, "ViewAnywhere" (high contrast screen) upgraded.
- Wacom digitizer built into the display, compatible with pressure sensitive digitizer pens. Very Responsive
- 1.1GHz Intel(R) Pentium(R) M (ULV) 2MB cache
- 512MB - 2GB RAM (While the Motherboard will technically support 2GB of RAM, it has only been tested by Motion Computing with a 1.5 GB configuration, therefore that is all they will support.)
- 60GB Hard disk (20GB Factory default, but can be upgraded to anything 2.5")
- Intel i855 Chipset
- Intel i855GM Chipset Graphics Controller
- Battery life: 4.5 - 6 hours (4hrs with laptop-mode-tools and dimming backlight)
- Intel 2200 b/g WiFi
- 2x speakers
- 2x microphones
- 1x Microphone connector
- 1x Headphone connector
- 2x USB 2.0 ports
- 1x Firewire port
- 1x PCMCIA slot
- 1x External VGA
- 1x RJ-45 Ethernet
- 1x Modem connection
- 1x docking connector
[edit] lspci output
| Code: lspci |
00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02) 00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02) 00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02) 00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02) 00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02) 00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03) 00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03) 00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03) 00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83) 00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03) 00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03) 00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03) 00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03) 00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03) 02:00.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) 02:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10) 02:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05) 02:04.0 CardBus bridge: ENE Technology Inc CB1410 Cardbus Controller (rev 01) |
[edit] Sound
Works out of the box on any recent kernel with ALSA, but besides unmuting the channels and setting volume You have to set-up the 'LineIn Jack' to 'Mixer Output' and turn off the 'External Amplifier' to get an output from the speakers. The driver is i810 and You can put:
ALSA_CARDS="intel8x0 intel8x0m"
in Your /etc/make.conf to compile only the i8x0 drivers.
[edit] Ethernet
Works out of the box. (8139too driver)
[edit] USB
Works out of the box.
[edit] Wifi
Wifi works fine with the ipw2200 driver.
[edit] PC Card
See this guide.
[edit] Modem
Untested..
[edit] Kernel
The hardware in the M1400 has a quirk and the current kernel versions (now 2.6.18) need a patch to reboot/halt properly (and the lavg is at least 1.0 always so I recommend patching). The patch can be found here
[edit] X11
X works normally with the i810 driver.
A working setup can be generated from the commandline either with (XFree86)
# Xfree86 -configure
X.org autoconfigure fails with "Missing output drivers. Configuration failed."
# Xorg -configure
Follow the instructions you see on the commandline to test your configuration. If X works you can copy the generated file to /etc/X11/XF86Config-4 (XFree86 and X.org) or /etc/X11/xorg.conf (X.org only, has priority over the previous file).
[edit] Digitizer Pen
The serial port of the digitizer is automatically detected on kernels after ~2.6.17, and it has /dev/ttyS0 assigned, so you can skip the following serial.conf details in newer kernels.
Simply put the following in your serial.conf and add serial to the default runlevel.
| Code: /etc/serial.conf |
|
/dev/ttyS0 port 0x238 irq 4 autoconfig |
Now add the following to your X configuration file or use the example config files below:
| File: /etc/X11/xorg.conf or /etc/X11/XF86Config-4 |
|
Now add the following to your X configuration file or use the example config files below: # Here we define the Tablet/Pen devices, you need to
# "emerge linuxwacom" to add the appropriate driver
# ("wacom") to your system.
# The tablet is connected via an internal serial port
# which needs to be initialized with setserial at
# boot time.
# Please "emerge setserial" and add the following line
# to /etc/serial.conf:
# /dev/ttyS0 port 0x0238 irq 4 autoconfig
Section "InputDevice"
Identifier "stylus"
Driver "wacom"
Option "Device" "/dev/ttyS0"
Option "Type" "stylus"
Option "ForceDevice" "ISDV4"
Option "SendCoreEvents"
EndSection
Section "InputDevice"
Identifier "cursor"
Driver "wacom"
Option "Device" "/dev/ttyS0"
Option "Type" "cursor"
Option "ForceDevice" "ISDV4"
Option "SendCoreEvents"
EndSection
Follow the instructions as described in the newly added config data. And add this in your ServerLayout section: InputDevice "stylus" "SendCoreEvents" InputDevice "cursor" "SendCoreEvents" |
[edit] On the fly Rotation
The x11-drivers/linuxwacom in portage does not support it, but luckily there is a patch and I made a ebuild for handling it.
emerge gentoolkit-dev
| File: /etc/gensync/tabletpc.syncsource |
|
TabletPC Gensync configuration # This id must be unique among all the ids in /etc/gensync/*.syncsource id="tabletpc" # This is a human-readable description of the source description="TabletPC Overlay" # The rsync url rsync="rsync://rsync.burazin.net/tabletpc" |
Now fetch the ebuilds:
gensync tabletpc
and install the patched linuwacom
emerge "=x11-drivers/linuxwacom-0.7.4_p3-r1"
restart X
/etc/init.d/xdm restart
| File: /usr/bin/rotate |
|
and use the following script for rotating
#!/bin/bash
STATUS_FILE=~/.rotate-status
function rotate() {
case "$1" in
3|right) N=3; T=cw ;;
1|left) N=1; T=ccw ;;
2|inverted) N=2; T=half ;;
0|normal) N=0; T=none ;;
*)
echo -e "Useage:\n $(basename $0) [left|right|inverted|normal]\n\nIf no option is given, rotates the screen 90 degrees to the right.\n";
exit 1
;;
esac
xrandr -o $N & \
xsetwacom set stylus Rotate $T & \
echo $N > $STATUS_FILE
}
if [ "$#" == "0" ]; then
rotate $(((3+0$(cat $STATUS_FILE 2>/dev/null))%4))
else
rotate $1
fi
|
[edit] Working XF86Config-4
| File: /etc/X11/XF86Config-4 |
Section "ServerLayout"
Identifier "XFree86 Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "cursor" "SendCoreEvents"
InputDevice "stylus" "SendCoreEvents"
# InputDevice "eraser" "SendCoreEvents"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
ModulePath "/usr/X11R6/lib/modules"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/CID/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
EndSection
Section "Module"
Load "dbe"
Load "dri"
Load "extmod"
Load "glx"
Load "record"
Load "xtrap"
Load "speedo"
Load "type1"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
EndSection
# Here we define the Tablet/Pen devices, you need to
# "emerge linuxwacom" to add the appropriate driver
# ("wacom") to your system.
# The tablet is connected via an internal serial port
# which needs to be initialized with setserial at
# boot time.
# Please "emerge setserial" and add the following line
# to /etc/serial.conf:
# /dev/ttyS3 port 0x0238 irq 4 autoconfig
Section "InputDevice"
Identifier "stylus"
Driver "wacom"
Option "Device" "/dev/ttyS3"
Option "Type" "stylus"
Option "ForceDevice" "ISDV4"
Option "SendCoreEvents"
EndSection
Section "InputDevice"
Identifier "cursor"
Driver "wacom"
Option "Device" "/dev/ttyS3"
Option "Type" "cursor"
Option "ForceDevice" "ISDV4"
Option "SendCoreEvents"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Device"
Identifier "Card0"
# VideoRam 16384
VideoRam 32768
Driver "i810"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1024x768 800x600"
EndSubSection
SubSection "Display"
Depth 4
Modes "1024x768 800x600"
EndSubSection
SubSection "Display"
Depth 8
Modes "1024x768 800x600"
EndSubSection
SubSection "Display"
Depth 15
Modes "1024x768 800x600"
EndSubSection
SubSection "Display"
Depth 16
Modes "1024x768 800x600"
EndSubSection
SubSection "Display"
Depth 24
Modes "1024x768 800x600"
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection
|
[edit] Working xorg.conf
With DRI using the i915 kernel module:
| File: /etc/X11/xorg.conf |
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
InputDevice "stylus" "SendCoreEvents"
InputDevice "eraser" "SendCoreEvents"
Option "BlankTime" "9"
Option "OffTime" "10"
EndSection
Section "Files"
RgbPath "/usr/share/X11/rgb"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/misc"
FontPath "/usr/share/fonts/75dpi"
FontPath "/usr/share/fonts/100dpi"
FontPath "/usr/share/fonts/TTF"
FontPath "/usr/share/fonts/Type1"
EndSection
Section "Module"
Load "record"
Load "dbe"
Load "xtrap"
Load "dri"
Load "extmod"
Load "glx"
Load "freetype"
Load "type1"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "ButtonNumber" "5"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5 6 7"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Device"
### Available Driver options are:-
### Values: : integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
### [arg]: arg optional
#Option "NoAccel" # [<bool>]
#Option "SWcursor" # [<bool>]
#Option "ColorKey" # <i>
#Option "CacheLines" # <i>
#Option "Dac6Bit" # [<bool>]
#Option "DRI" # [<bool>]
#Option "NoDDC" # [<bool>]
#Option "ShowCache" # [<bool>]
#Option "XvMCSurfaces" # <i>
#Option "PageFlip" # [<bool>]
Identifier "Card0"
Driver "i810"
VendorName "Intel Corporation"
BoardName "82852/855GM Integrated Graphics Device"
BusID "PCI:0:2:0"
Option "DPMS"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "InputDevice"
Identifier "stylus"
Driver "wacom"
Option "type" "stylus"
Option "Device" "/dev/ttyS3"
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/ttyS3"
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 "DRI"
Mode 0666
EndSection
</div> |
[edit] Dimming the backlight
As root:
echo N > /proc/acpi/video/GRFX/LCD/brightness
Where N is a number between 0 (very dark) and 15 (very bright)
[edit] ACPI
Standby and wakeup works from X:
# echo -n "standby" > /sys/power/state
The pen stops working when the TabletPC wakes up from standby.
'mem' seems to cause a kernel hang. The 'disk' methode is not tested. There are some handy scripts standby/suspend related available:
emerge -av hibernate-scripts nano -w /etc/hibernate/hibernate.conf
With suspend2-sources and supplied hibernate script everything works fine.
[edit] Battery monitoring
Needs the appropriate modules modprobed, these can be found in /lib/modules/<kernelname>/kernel/drivers/acpi/
[edit] Links
- This guide is listed at the TuxMobil Linux laptop and notebook installation survey.
- A nice application for working with the pen is gournal, unfortunately there is no ebuild at this time so you have to do it manually.
