https://www.thinkwiki.org/w/api.php?action=feedcontributions&user=Yevar&feedformat=atomThinkWiki - User contributions [en]2024-03-29T11:31:59ZUser contributionsMediaWiki 1.31.12https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_6.10_on_a_ThinkPad_X41_Tablet&diff=24569Installing Ubuntu 6.10 on a ThinkPad X41 Tablet2006-09-09T16:42:39Z<p>Yevar: /* Booting With NetBOOT */</p>
<hr />
<div>This document describes the process of (installing and?) configuring [https://wiki.ubuntu.com/EdgyEft Ubuntu Edgy Eft] (final release expected October 2006) on a Lenovo ThinkPad X41 Tablet. With whatever relevance it may have, the particular model number used in testing was an 1869CSU. Keep in mind that at this document's inception 6.10 is a development version of the Ubuntu Linux OS.<br />
<br />
== Success Chart ==<br />
<br />
{| border="1" cellpadding="5" cellspacing="0"<br />
|-<br />
|colspan=2| '''Item''' || '''Working'''<br />
|-<br />
|rowspan=2|Installation <br />
| Network Installation ||class="diff-addedline"| Yes<br />
|-<br />
| USB Installation ||class="diff-addedline"| Yes (CD)<br />
|- <br />
|rowspan=4|Display<br />
| Laptop Screen ||class="diff-addedline"| Yes<br />
|-<br />
| CRT / Projector ||class="diff-context"| Unknown<br />
|-<br />
| Screen Rotation ||class="diff-addedline"| Yes<br />
|-<br />
| Stylus ||class="diff-addedline"| Yes<br />
|-<br />
|rowspan=2|Power Management<br />
| Software Suspend (hibernate) ||class="diff-context"| Unknown<br />
|-<br />
| Suspend to Memory (ACPI sleep) ||class="diff-addedline"| Yes<br />
|-<br />
|colspan=2| Audio ||class="diff-addedline"| Yes<br />
|-<br />
|rowspan=2| Wireless || 802.11b/g ||class="diff-addedline"| Yes<br />
|-<br />
| Bluetooth ||class="diff-context"| Unknown<br />
|-<br />
|rowspan=2|Extra Buttons || Keyboard Section ||class="diff-context"| Unknown<br />
|-<br />
| Tablet buttons ||class="diff-context"| Unknown<br />
|-<br />
|colspan=2| Fingerprint Scanner ||class="diff-context"| Unknown<br />
|-<br />
|colspan=2| Harddisk Active Protection ||class="diff-addedline"| Yes<br />
|}<br />
<br />
= Pre-Installation Notes =<br />
<br />
== Booting With NetBOOT ==<br />
<br />
To boot over NetBOOT I fisrt went into the BIOS and change the boot settings so that PXE was first on the list. Then I set my desktop to be a DHCP server (dhcp3-server) and configured it using this site [http://wiki.koeln.ccc.de/index.php/Ubuntu_PXE_Install Ubuntu_PXE_Install] and installed tftpd-hpa<br />
<br />
Then I downloaded the [http://archive.ubuntu.com/ubuntu/dists/dapper/main/installer-i386/current/images/netboot/netboot.tar.gz Dapper netboot archive] (I tried the testing edgy but it would not run on my X41 as of 9/9/06)<br />
<br />
Then I assigned my desktop a static IP in the range I set my DHCP server up for and plugged my laptop into it with a cross over cable and rebooted. <br />
<br />
The X41 received an IP and then connected to lftp and the same screen as the Ubuntu netboot CD has came up and I followed the instructions.<br />
<br />
Once it was intstalled and up-to-date I ran (leave in all quotes, they are important)<br />
<br />
<br />
<tt>sudo aptitiude update && sudo aptitude upgrade <br />
<br />
<br />
gksudo "update-manager -c -d" </tt><br />
<br />
To upgrade to edgy eft<br />
<br />
== Tablet Screen Rotation (updated i810 drivers) ==<br />
<br />
This edition of Ubuntu (Edgy) has XRandR enabled i810 drivers, which allow you to rotate your screen orientation on the fly. The command <tt>xrandr -o [orientation]</tt> will rotate your screen to your liking. For more information about the <tt>xrandr</tt> command, refer to the man file (<tt>man xrandr</tt>).<br />
<br />
== Wireless Support ==<br />
<br />
Wireless seems to be supported flawlessly in terms of drivers, though I'm not sure how well the built-in Network Manager works. I use the <tt>iwconfig</tt> command to manage my wireless, as I have a need to create pseudo-"profiles", and in this document I will describe this alternative process.<br />
<br />
== Fingerprint Reader Support ==<br />
<br />
Honestly, I care very little about the fingerprint functionality. Its only real use seems to be for gksu-type logins while the tablet is swiveled down, which doesn't occur often in my setup. If someone wants to explore/expound, please do, but I won't include any details about the fingerprint reader in this document.<br />
<br />
== Terminology Used ==<br />
<br />
For those of you new to Linux, I'll try to detail a few terms I use with little explanation:<br />
* Xorg configuration -- the display configuration file, residing in <tt>/etc/X11/xorg.conf</tt><br />
* Execute a command -- press Alt-F2, then type <tt>gnome-terminal</tt> into the prompt and press enter -- this is a terminal into which you input said commands<br />
<br />
= Installation Notes =<br />
<br />
The installation process didn't require anything exceptional. Feel free to fill in the blanks if it could be useful.<br />
<br />
= Post-Installation Notes =<br />
<br />
== Configuring Xorg ==<br />
<br />
=== TrackPoint ===<br />
<br />
Like in all ThinkPad Xorg configurations, add the following under the "Configured Mouse" device to enable TrackPoint scrolling:<br />
<br />
Option "EmulateWheel" "true"<br />
Option "EmulateWheelButton" "2"<br />
<br />
=== Wacom Stylus ===<br />
<br />
First install the wacom drivers with the following command:<br />
sudo apt-get install wacom-kernel-source xserver-xorg-input-wacom wacom-tools<br />
<br />
After doing this, I strongly suggest that you reboot your computer; however, if you're one of those people whose uptime is on the order of four years, I'm sure you'll figure out an alternative that I won't be describing here.<br />
<br />
Next step is to check to see if <tt>/dev/wacom</tt> exists. A '<tt>ls -al /dev | grep wacom</tt>' should do the trick quite nicely. If it <strong>does</strong> exist, add the following to your Xorg configuration.<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "stylus"<br />
Option "Device" "/dev/wacom"<br />
Option "Type" "stylus"<br />
Option "ForceDevice" "ISDV4"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "eraser"<br />
Option "Device" "/dev/wacom"<br />
Option "Type" "eraser"<br />
Option "ForceDevice" "ISDV4"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "cursor"<br />
Option "Device" "/dev/wacom"<br />
Option "Type" "cursor"<br />
Option "ForceDevice" "ISDV4"<br />
EndSection<br />
<br />
And under the ServerLayout section add:<br />
<br />
InputDevice "stylus" "SendCoreEvents"<br />
InputDevice "cursor" "SendCoreEvents"<br />
InputDevice "eraser" "SendCoreEvents"<br />
<br />
Some people seem to have slightly different configurations (potentially due to model differences). At any rate, if you're looking to find what serial device your stylus is, a simple '<tt>dmesg | grep ttyS</tt>' should do the trick. Be sure to append to this article if the procedure varies from model to model.<br />
<br />
=== ACPI Swivel Events ===<br />
<br />
When you swivel your tablet's LCD down or up your computer triggers what's called an ACPI event. This is an event similar to pushing the power or sleep buttons -- it's telling the OS about something that's going on with the hardware.<br />
<br />
In Linux, ACPI event handling is bundled into a nice neat little package. First, to make sure you can hear the ACPI event when it happens, run the command '<tt>acpi_listen</tt>'. The command line will hang there until it picks up on an ACPI event that's occuring, and then it will dump it to the screen. After running acpi_listen, while it's hanging there, swivel your screen down, and then back up. You should get a result similar to this:<br />
<br />
$ acpi_listen<br />
ibm/hotkey HKEY 00000080 00005009<br />
ibm/hotkey HKEY 00000080 0000500a<br />
<br />
The first HKEY entry is your swivel-down-event identifier and the second is your swivel up. If your values differ from those displayed here, be sure to use your values instead.<br />
<br />
Next, what we do is create new ACPI handler entries for the specified events, which we operate on in <tt>/etc/acpi/</tt>. <br />
<br />
The <tt>/etc/acpi/</tt> folder generally contains shell files to be executed when events occur. Since there's no shell files to handle swivel events yet, we're gonna go ahead and create some. Yeah, that'd be great.<br />
<br />
I don't know what all the rave is about these so called "text editors". I do all my "text editing" from the command line. Actually, I'd just rather not confuse newbies by teaching them vi in this article. Therefore, run the following commands:<br />
<br />
sudo cat <<EOF > /etc/acpi/x41tsdown.sh<br />
#!/bin/sh<br />
/usr/bin/xrandr -o right<br />
/usr/bin/xsetwacom set stylus rotate 1<br />
/usr/bin/xvkbd&<br />
EOF<br />
<br />
sudo cat << EOF > /etc/acpi/x41tsup.sh<br />
#!/bin/sh<br />
/usr/bin/xrandr -o normal<br />
/usr/bin/xsetwacom set stylus rotate 0<br />
killall xvkbd<br />
EOF<br />
<br />
sudo chown root.root /etc/acpi/x41tsdown.sh<br />
sudo chmod 755 /etc/acpi/x41tsdown.sh<br />
sudo chown root.root /etc/acpi/x41tsup.sh<br />
sudo chmod 755 /etc/acpi/x41tsup.sh<br />
<br />
If you'd like to edit these scripts with your favorite text editor (which, I realize, is most likely [http://www.gnu.org/fun/jokes/ed.msg.html ed]), it's fairly obvious that they're located in <tt>/etc/acpi/</tt> as <tt>x41tsdown.sh</tt> and <tt>x41tsup.sh</tt>. These commands make the shell scripts that handle the events... once we register the events. Let's do that now.<br />
<br />
sudo cat <<EOF > /etc/acpi/events/x41t-swivel-down<br />
# /etc/acpi/events/x41t-swivel-down<br />
# called when tablet head swivels down<br />
event=ibm/hotkey HKEY 00000080 00005009<br />
action=/etc/acpi/x41tsdown.sh<br />
EOF<br />
<br />
sudo cat <<EOF > /etc/acpi/events/x41t-swivel-up<br />
# /etc/acpi/events/x41t-swivel-up<br />
# called when tablet head swivels up<br />
event=ibm/hotkey HKEY 00000080 0000500a<br />
action=/etc/acpi/x41tsup.sh<br />
EOF<br />
<br />
Now, awaken your inner ACPI daemon with the following commands:<br />
<br />
sudo /etc/init.d/acpid force-reload <br />
sudo /etc/init.d/acpid restart<br />
<br />
And swivel down your LCD to make sure it works.<br />
<br />
To be continued...</div>Yevarhttps://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_6.10_on_a_ThinkPad_X41_Tablet&diff=24568Installing Ubuntu 6.10 on a ThinkPad X41 Tablet2006-09-09T16:41:35Z<p>Yevar: /* Pre-Installation Notes */</p>
<hr />
<div>This document describes the process of (installing and?) configuring [https://wiki.ubuntu.com/EdgyEft Ubuntu Edgy Eft] (final release expected October 2006) on a Lenovo ThinkPad X41 Tablet. With whatever relevance it may have, the particular model number used in testing was an 1869CSU. Keep in mind that at this document's inception 6.10 is a development version of the Ubuntu Linux OS.<br />
<br />
== Success Chart ==<br />
<br />
{| border="1" cellpadding="5" cellspacing="0"<br />
|-<br />
|colspan=2| '''Item''' || '''Working'''<br />
|-<br />
|rowspan=2|Installation <br />
| Network Installation ||class="diff-addedline"| Yes<br />
|-<br />
| USB Installation ||class="diff-addedline"| Yes (CD)<br />
|- <br />
|rowspan=4|Display<br />
| Laptop Screen ||class="diff-addedline"| Yes<br />
|-<br />
| CRT / Projector ||class="diff-context"| Unknown<br />
|-<br />
| Screen Rotation ||class="diff-addedline"| Yes<br />
|-<br />
| Stylus ||class="diff-addedline"| Yes<br />
|-<br />
|rowspan=2|Power Management<br />
| Software Suspend (hibernate) ||class="diff-context"| Unknown<br />
|-<br />
| Suspend to Memory (ACPI sleep) ||class="diff-addedline"| Yes<br />
|-<br />
|colspan=2| Audio ||class="diff-addedline"| Yes<br />
|-<br />
|rowspan=2| Wireless || 802.11b/g ||class="diff-addedline"| Yes<br />
|-<br />
| Bluetooth ||class="diff-context"| Unknown<br />
|-<br />
|rowspan=2|Extra Buttons || Keyboard Section ||class="diff-context"| Unknown<br />
|-<br />
| Tablet buttons ||class="diff-context"| Unknown<br />
|-<br />
|colspan=2| Fingerprint Scanner ||class="diff-context"| Unknown<br />
|-<br />
|colspan=2| Harddisk Active Protection ||class="diff-addedline"| Yes<br />
|}<br />
<br />
= Pre-Installation Notes =<br />
<br />
== Booting With NetBOOT ==<br />
<br />
To boot over NetBOOT I fisrt went into the BIOS and change the boot settings so that PXE was first on the list. Then I set my desktop to be a DHCP server (dhcp3-server) and configured it using this site [http://wiki.koeln.ccc.de/index.php/Ubuntu_PXE_Install Ubuntu_PXE_Install] and installed tftpd-hpa<br />
<br />
Then I downloaded the [http://archive.ubuntu.com/ubuntu/dists/dapper/main/installer-i386/current/images/netboot/netboot.tar.gz Dapper netboot archive] (I tried the testing edgy but it would not run on my X41 as of 9/9/06)<br />
<br />
Then I assigned my desktop a static IP in the range I set my DHCP server up for and plugged my laptop into it with a cross over cable and rebooted. <br />
<br />
The X41 received an IP and then connected to lftp and the same screen as the Ubuntu netboot CD has came up and I followed the instructions.<br />
<br />
Once it was intstalled and up-to-date I ran (leave in all quotes, they are important)<br />
<br />
<br />
<tt>sudo aptitiude update && sudo aptitude upgrade <br />
<br />
<br />
gksudo "update-manager -c -d" </tt><br />
<br />
== Tablet Screen Rotation (updated i810 drivers) ==<br />
<br />
This edition of Ubuntu (Edgy) has XRandR enabled i810 drivers, which allow you to rotate your screen orientation on the fly. The command <tt>xrandr -o [orientation]</tt> will rotate your screen to your liking. For more information about the <tt>xrandr</tt> command, refer to the man file (<tt>man xrandr</tt>).<br />
<br />
== Wireless Support ==<br />
<br />
Wireless seems to be supported flawlessly in terms of drivers, though I'm not sure how well the built-in Network Manager works. I use the <tt>iwconfig</tt> command to manage my wireless, as I have a need to create pseudo-"profiles", and in this document I will describe this alternative process.<br />
<br />
== Fingerprint Reader Support ==<br />
<br />
Honestly, I care very little about the fingerprint functionality. Its only real use seems to be for gksu-type logins while the tablet is swiveled down, which doesn't occur often in my setup. If someone wants to explore/expound, please do, but I won't include any details about the fingerprint reader in this document.<br />
<br />
== Terminology Used ==<br />
<br />
For those of you new to Linux, I'll try to detail a few terms I use with little explanation:<br />
* Xorg configuration -- the display configuration file, residing in <tt>/etc/X11/xorg.conf</tt><br />
* Execute a command -- press Alt-F2, then type <tt>gnome-terminal</tt> into the prompt and press enter -- this is a terminal into which you input said commands<br />
<br />
= Installation Notes =<br />
<br />
The installation process didn't require anything exceptional. Feel free to fill in the blanks if it could be useful.<br />
<br />
= Post-Installation Notes =<br />
<br />
== Configuring Xorg ==<br />
<br />
=== TrackPoint ===<br />
<br />
Like in all ThinkPad Xorg configurations, add the following under the "Configured Mouse" device to enable TrackPoint scrolling:<br />
<br />
Option "EmulateWheel" "true"<br />
Option "EmulateWheelButton" "2"<br />
<br />
=== Wacom Stylus ===<br />
<br />
First install the wacom drivers with the following command:<br />
sudo apt-get install wacom-kernel-source xserver-xorg-input-wacom wacom-tools<br />
<br />
After doing this, I strongly suggest that you reboot your computer; however, if you're one of those people whose uptime is on the order of four years, I'm sure you'll figure out an alternative that I won't be describing here.<br />
<br />
Next step is to check to see if <tt>/dev/wacom</tt> exists. A '<tt>ls -al /dev | grep wacom</tt>' should do the trick quite nicely. If it <strong>does</strong> exist, add the following to your Xorg configuration.<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "stylus"<br />
Option "Device" "/dev/wacom"<br />
Option "Type" "stylus"<br />
Option "ForceDevice" "ISDV4"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "eraser"<br />
Option "Device" "/dev/wacom"<br />
Option "Type" "eraser"<br />
Option "ForceDevice" "ISDV4"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "cursor"<br />
Option "Device" "/dev/wacom"<br />
Option "Type" "cursor"<br />
Option "ForceDevice" "ISDV4"<br />
EndSection<br />
<br />
And under the ServerLayout section add:<br />
<br />
InputDevice "stylus" "SendCoreEvents"<br />
InputDevice "cursor" "SendCoreEvents"<br />
InputDevice "eraser" "SendCoreEvents"<br />
<br />
Some people seem to have slightly different configurations (potentially due to model differences). At any rate, if you're looking to find what serial device your stylus is, a simple '<tt>dmesg | grep ttyS</tt>' should do the trick. Be sure to append to this article if the procedure varies from model to model.<br />
<br />
=== ACPI Swivel Events ===<br />
<br />
When you swivel your tablet's LCD down or up your computer triggers what's called an ACPI event. This is an event similar to pushing the power or sleep buttons -- it's telling the OS about something that's going on with the hardware.<br />
<br />
In Linux, ACPI event handling is bundled into a nice neat little package. First, to make sure you can hear the ACPI event when it happens, run the command '<tt>acpi_listen</tt>'. The command line will hang there until it picks up on an ACPI event that's occuring, and then it will dump it to the screen. After running acpi_listen, while it's hanging there, swivel your screen down, and then back up. You should get a result similar to this:<br />
<br />
$ acpi_listen<br />
ibm/hotkey HKEY 00000080 00005009<br />
ibm/hotkey HKEY 00000080 0000500a<br />
<br />
The first HKEY entry is your swivel-down-event identifier and the second is your swivel up. If your values differ from those displayed here, be sure to use your values instead.<br />
<br />
Next, what we do is create new ACPI handler entries for the specified events, which we operate on in <tt>/etc/acpi/</tt>. <br />
<br />
The <tt>/etc/acpi/</tt> folder generally contains shell files to be executed when events occur. Since there's no shell files to handle swivel events yet, we're gonna go ahead and create some. Yeah, that'd be great.<br />
<br />
I don't know what all the rave is about these so called "text editors". I do all my "text editing" from the command line. Actually, I'd just rather not confuse newbies by teaching them vi in this article. Therefore, run the following commands:<br />
<br />
sudo cat <<EOF > /etc/acpi/x41tsdown.sh<br />
#!/bin/sh<br />
/usr/bin/xrandr -o right<br />
/usr/bin/xsetwacom set stylus rotate 1<br />
/usr/bin/xvkbd&<br />
EOF<br />
<br />
sudo cat << EOF > /etc/acpi/x41tsup.sh<br />
#!/bin/sh<br />
/usr/bin/xrandr -o normal<br />
/usr/bin/xsetwacom set stylus rotate 0<br />
killall xvkbd<br />
EOF<br />
<br />
sudo chown root.root /etc/acpi/x41tsdown.sh<br />
sudo chmod 755 /etc/acpi/x41tsdown.sh<br />
sudo chown root.root /etc/acpi/x41tsup.sh<br />
sudo chmod 755 /etc/acpi/x41tsup.sh<br />
<br />
If you'd like to edit these scripts with your favorite text editor (which, I realize, is most likely [http://www.gnu.org/fun/jokes/ed.msg.html ed]), it's fairly obvious that they're located in <tt>/etc/acpi/</tt> as <tt>x41tsdown.sh</tt> and <tt>x41tsup.sh</tt>. These commands make the shell scripts that handle the events... once we register the events. Let's do that now.<br />
<br />
sudo cat <<EOF > /etc/acpi/events/x41t-swivel-down<br />
# /etc/acpi/events/x41t-swivel-down<br />
# called when tablet head swivels down<br />
event=ibm/hotkey HKEY 00000080 00005009<br />
action=/etc/acpi/x41tsdown.sh<br />
EOF<br />
<br />
sudo cat <<EOF > /etc/acpi/events/x41t-swivel-up<br />
# /etc/acpi/events/x41t-swivel-up<br />
# called when tablet head swivels up<br />
event=ibm/hotkey HKEY 00000080 0000500a<br />
action=/etc/acpi/x41tsup.sh<br />
EOF<br />
<br />
Now, awaken your inner ACPI daemon with the following commands:<br />
<br />
sudo /etc/init.d/acpid force-reload <br />
sudo /etc/init.d/acpid restart<br />
<br />
And swivel down your LCD to make sure it works.<br />
<br />
To be continued...</div>Yevarhttps://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_6.10_on_a_ThinkPad_X41_Tablet&diff=24567Installing Ubuntu 6.10 on a ThinkPad X41 Tablet2006-09-09T16:41:10Z<p>Yevar: /* Booting With NetBOOT */</p>
<hr />
<div>This document describes the process of (installing and?) configuring [https://wiki.ubuntu.com/EdgyEft Ubuntu Edgy Eft] (final release expected October 2006) on a Lenovo ThinkPad X41 Tablet. With whatever relevance it may have, the particular model number used in testing was an 1869CSU. Keep in mind that at this document's inception 6.10 is a development version of the Ubuntu Linux OS.<br />
<br />
== Success Chart ==<br />
<br />
{| border="1" cellpadding="5" cellspacing="0"<br />
|-<br />
|colspan=2| '''Item''' || '''Working'''<br />
|-<br />
|rowspan=2|Installation <br />
| Network Installation ||class="diff-addedline"| Yes<br />
|-<br />
| USB Installation ||class="diff-addedline"| Yes (CD)<br />
|- <br />
|rowspan=4|Display<br />
| Laptop Screen ||class="diff-addedline"| Yes<br />
|-<br />
| CRT / Projector ||class="diff-context"| Unknown<br />
|-<br />
| Screen Rotation ||class="diff-addedline"| Yes<br />
|-<br />
| Stylus ||class="diff-addedline"| Yes<br />
|-<br />
|rowspan=2|Power Management<br />
| Software Suspend (hibernate) ||class="diff-context"| Unknown<br />
|-<br />
| Suspend to Memory (ACPI sleep) ||class="diff-addedline"| Yes<br />
|-<br />
|colspan=2| Audio ||class="diff-addedline"| Yes<br />
|-<br />
|rowspan=2| Wireless || 802.11b/g ||class="diff-addedline"| Yes<br />
|-<br />
| Bluetooth ||class="diff-context"| Unknown<br />
|-<br />
|rowspan=2|Extra Buttons || Keyboard Section ||class="diff-context"| Unknown<br />
|-<br />
| Tablet buttons ||class="diff-context"| Unknown<br />
|-<br />
|colspan=2| Fingerprint Scanner ||class="diff-context"| Unknown<br />
|-<br />
|colspan=2| Harddisk Active Protection ||class="diff-addedline"| Yes<br />
|}<br />
<br />
= Pre-Installation Notes =<br />
<br />
== Booting With NetBOOT ==<br />
<br />
To boot over NetBOOT I fisrt went into the BIOS and change the boot settings so that PXE was first on the list. Then I set my desktop to be a DHCP server (dhcp3-server) and configured it using this site [http://wiki.koeln.ccc.de/index.php/Ubuntu_PXE_Install Ubuntu_PXE_Install] and installed tftpd-hpa<br />
<br />
Then I downloaded the [http://archive.ubuntu.com/ubuntu/dists/dapper/main/installer-i386/current/images/netboot/netboot.tar.gz Dapper netboot archive] (I tried the testing edgy but it would not run on my X41 as of 9/9/06)<br />
<br />
Then I assigned my desktop a static IP in the range I set my DHCP server up for and plugged my laptop into it with a cross over cable and rebooted. <br />
<br />
The X41 received an IP and then connected to lftp and the same screen as the Ubuntu netboot CD has came up and I followed the instructions.<br />
<br />
Once it was intstalled and up-to-date I ran (leave in all quotes, they are important)<br />
<br />
<br />
<tt>sudo aptitiude update && sudo aptitude upgrade <br />
<br />
<br />
gksudo "update-manager -c -d" <\tt><br />
<br />
== Tablet Screen Rotation (updated i810 drivers) ==<br />
<br />
This edition of Ubuntu (Edgy) has XRandR enabled i810 drivers, which allow you to rotate your screen orientation on the fly. The command <tt>xrandr -o [orientation]</tt> will rotate your screen to your liking. For more information about the <tt>xrandr</tt> command, refer to the man file (<tt>man xrandr</tt>).<br />
<br />
== Wireless Support ==<br />
<br />
Wireless seems to be supported flawlessly in terms of drivers, though I'm not sure how well the built-in Network Manager works. I use the <tt>iwconfig</tt> command to manage my wireless, as I have a need to create pseudo-"profiles", and in this document I will describe this alternative process.<br />
<br />
== Fingerprint Reader Support ==<br />
<br />
Honestly, I care very little about the fingerprint functionality. Its only real use seems to be for gksu-type logins while the tablet is swiveled down, which doesn't occur often in my setup. If someone wants to explore/expound, please do, but I won't include any details about the fingerprint reader in this document.<br />
<br />
== Terminology Used ==<br />
<br />
For those of you new to Linux, I'll try to detail a few terms I use with little explanation:<br />
* Xorg configuration -- the display configuration file, residing in <tt>/etc/X11/xorg.conf</tt><br />
* Execute a command -- press Alt-F2, then type <tt>gnome-terminal</tt> into the prompt and press enter -- this is a terminal into which you input said commands<br />
<br />
= Installation Notes =<br />
<br />
The installation process didn't require anything exceptional. Feel free to fill in the blanks if it could be useful.<br />
<br />
= Post-Installation Notes =<br />
<br />
== Configuring Xorg ==<br />
<br />
=== TrackPoint ===<br />
<br />
Like in all ThinkPad Xorg configurations, add the following under the "Configured Mouse" device to enable TrackPoint scrolling:<br />
<br />
Option "EmulateWheel" "true"<br />
Option "EmulateWheelButton" "2"<br />
<br />
=== Wacom Stylus ===<br />
<br />
First install the wacom drivers with the following command:<br />
sudo apt-get install wacom-kernel-source xserver-xorg-input-wacom wacom-tools<br />
<br />
After doing this, I strongly suggest that you reboot your computer; however, if you're one of those people whose uptime is on the order of four years, I'm sure you'll figure out an alternative that I won't be describing here.<br />
<br />
Next step is to check to see if <tt>/dev/wacom</tt> exists. A '<tt>ls -al /dev | grep wacom</tt>' should do the trick quite nicely. If it <strong>does</strong> exist, add the following to your Xorg configuration.<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "stylus"<br />
Option "Device" "/dev/wacom"<br />
Option "Type" "stylus"<br />
Option "ForceDevice" "ISDV4"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "eraser"<br />
Option "Device" "/dev/wacom"<br />
Option "Type" "eraser"<br />
Option "ForceDevice" "ISDV4"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "cursor"<br />
Option "Device" "/dev/wacom"<br />
Option "Type" "cursor"<br />
Option "ForceDevice" "ISDV4"<br />
EndSection<br />
<br />
And under the ServerLayout section add:<br />
<br />
InputDevice "stylus" "SendCoreEvents"<br />
InputDevice "cursor" "SendCoreEvents"<br />
InputDevice "eraser" "SendCoreEvents"<br />
<br />
Some people seem to have slightly different configurations (potentially due to model differences). At any rate, if you're looking to find what serial device your stylus is, a simple '<tt>dmesg | grep ttyS</tt>' should do the trick. Be sure to append to this article if the procedure varies from model to model.<br />
<br />
=== ACPI Swivel Events ===<br />
<br />
When you swivel your tablet's LCD down or up your computer triggers what's called an ACPI event. This is an event similar to pushing the power or sleep buttons -- it's telling the OS about something that's going on with the hardware.<br />
<br />
In Linux, ACPI event handling is bundled into a nice neat little package. First, to make sure you can hear the ACPI event when it happens, run the command '<tt>acpi_listen</tt>'. The command line will hang there until it picks up on an ACPI event that's occuring, and then it will dump it to the screen. After running acpi_listen, while it's hanging there, swivel your screen down, and then back up. You should get a result similar to this:<br />
<br />
$ acpi_listen<br />
ibm/hotkey HKEY 00000080 00005009<br />
ibm/hotkey HKEY 00000080 0000500a<br />
<br />
The first HKEY entry is your swivel-down-event identifier and the second is your swivel up. If your values differ from those displayed here, be sure to use your values instead.<br />
<br />
Next, what we do is create new ACPI handler entries for the specified events, which we operate on in <tt>/etc/acpi/</tt>. <br />
<br />
The <tt>/etc/acpi/</tt> folder generally contains shell files to be executed when events occur. Since there's no shell files to handle swivel events yet, we're gonna go ahead and create some. Yeah, that'd be great.<br />
<br />
I don't know what all the rave is about these so called "text editors". I do all my "text editing" from the command line. Actually, I'd just rather not confuse newbies by teaching them vi in this article. Therefore, run the following commands:<br />
<br />
sudo cat <<EOF > /etc/acpi/x41tsdown.sh<br />
#!/bin/sh<br />
/usr/bin/xrandr -o right<br />
/usr/bin/xsetwacom set stylus rotate 1<br />
/usr/bin/xvkbd&<br />
EOF<br />
<br />
sudo cat << EOF > /etc/acpi/x41tsup.sh<br />
#!/bin/sh<br />
/usr/bin/xrandr -o normal<br />
/usr/bin/xsetwacom set stylus rotate 0<br />
killall xvkbd<br />
EOF<br />
<br />
sudo chown root.root /etc/acpi/x41tsdown.sh<br />
sudo chmod 755 /etc/acpi/x41tsdown.sh<br />
sudo chown root.root /etc/acpi/x41tsup.sh<br />
sudo chmod 755 /etc/acpi/x41tsup.sh<br />
<br />
If you'd like to edit these scripts with your favorite text editor (which, I realize, is most likely [http://www.gnu.org/fun/jokes/ed.msg.html ed]), it's fairly obvious that they're located in <tt>/etc/acpi/</tt> as <tt>x41tsdown.sh</tt> and <tt>x41tsup.sh</tt>. These commands make the shell scripts that handle the events... once we register the events. Let's do that now.<br />
<br />
sudo cat <<EOF > /etc/acpi/events/x41t-swivel-down<br />
# /etc/acpi/events/x41t-swivel-down<br />
# called when tablet head swivels down<br />
event=ibm/hotkey HKEY 00000080 00005009<br />
action=/etc/acpi/x41tsdown.sh<br />
EOF<br />
<br />
sudo cat <<EOF > /etc/acpi/events/x41t-swivel-up<br />
# /etc/acpi/events/x41t-swivel-up<br />
# called when tablet head swivels up<br />
event=ibm/hotkey HKEY 00000080 0000500a<br />
action=/etc/acpi/x41tsup.sh<br />
EOF<br />
<br />
Now, awaken your inner ACPI daemon with the following commands:<br />
<br />
sudo /etc/init.d/acpid force-reload <br />
sudo /etc/init.d/acpid restart<br />
<br />
And swivel down your LCD to make sure it works.<br />
<br />
To be continued...</div>Yevarhttps://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_6.10_on_a_ThinkPad_X41_Tablet&diff=24566Installing Ubuntu 6.10 on a ThinkPad X41 Tablet2006-09-09T16:40:19Z<p>Yevar: /* Pre-Installation Notes */</p>
<hr />
<div>This document describes the process of (installing and?) configuring [https://wiki.ubuntu.com/EdgyEft Ubuntu Edgy Eft] (final release expected October 2006) on a Lenovo ThinkPad X41 Tablet. With whatever relevance it may have, the particular model number used in testing was an 1869CSU. Keep in mind that at this document's inception 6.10 is a development version of the Ubuntu Linux OS.<br />
<br />
== Success Chart ==<br />
<br />
{| border="1" cellpadding="5" cellspacing="0"<br />
|-<br />
|colspan=2| '''Item''' || '''Working'''<br />
|-<br />
|rowspan=2|Installation <br />
| Network Installation ||class="diff-addedline"| Yes<br />
|-<br />
| USB Installation ||class="diff-addedline"| Yes (CD)<br />
|- <br />
|rowspan=4|Display<br />
| Laptop Screen ||class="diff-addedline"| Yes<br />
|-<br />
| CRT / Projector ||class="diff-context"| Unknown<br />
|-<br />
| Screen Rotation ||class="diff-addedline"| Yes<br />
|-<br />
| Stylus ||class="diff-addedline"| Yes<br />
|-<br />
|rowspan=2|Power Management<br />
| Software Suspend (hibernate) ||class="diff-context"| Unknown<br />
|-<br />
| Suspend to Memory (ACPI sleep) ||class="diff-addedline"| Yes<br />
|-<br />
|colspan=2| Audio ||class="diff-addedline"| Yes<br />
|-<br />
|rowspan=2| Wireless || 802.11b/g ||class="diff-addedline"| Yes<br />
|-<br />
| Bluetooth ||class="diff-context"| Unknown<br />
|-<br />
|rowspan=2|Extra Buttons || Keyboard Section ||class="diff-context"| Unknown<br />
|-<br />
| Tablet buttons ||class="diff-context"| Unknown<br />
|-<br />
|colspan=2| Fingerprint Scanner ||class="diff-context"| Unknown<br />
|-<br />
|colspan=2| Harddisk Active Protection ||class="diff-addedline"| Yes<br />
|}<br />
<br />
= Pre-Installation Notes =<br />
<br />
== Booting With NetBOOT ==<br />
<br />
To boot over NetBOOT I fisrt went into the BIOS and change the boot settings so that PXE was first on the list. Then I set my desktop to be a DHCP server (dhcp3-server) and configured it using this site [http://wiki.koeln.ccc.de/index.php/Ubuntu_PXE_Install Ubuntu_PXE_Install] and installed tftpd-hpa<br />
<br />
Then I downloaded the [http://archive.ubuntu.com/ubuntu/dists/dapper/main/installer-i386/current/images/netboot/netboot.tar.gz Dapper netboot archive] (I tried the testing edgy but it would not run on my X41 as of 9/9/06)<br />
<br />
Then I assigned my desktop a static IP in the range I set my DHCP server up for and plugged my laptop into it with a cross over cable and rebooted. <br />
<br />
The X41 received an IP and then connected to lftp and the same screen as the Ubuntu netboot CD has came up and I followed the instructions.<br />
<br />
Once it was intstalled and up-to-date I ran (leave in all quotes, they are important)<br />
\\<br />
<tt>sudo aptitiude update && sudo aptitude upgrade \\<br />
gksudo "update-manager -c -d"<\tt> <br />
<br />
<br />
<br />
== Tablet Screen Rotation (updated i810 drivers) ==<br />
<br />
This edition of Ubuntu (Edgy) has XRandR enabled i810 drivers, which allow you to rotate your screen orientation on the fly. The command <tt>xrandr -o [orientation]</tt> will rotate your screen to your liking. For more information about the <tt>xrandr</tt> command, refer to the man file (<tt>man xrandr</tt>).<br />
<br />
== Wireless Support ==<br />
<br />
Wireless seems to be supported flawlessly in terms of drivers, though I'm not sure how well the built-in Network Manager works. I use the <tt>iwconfig</tt> command to manage my wireless, as I have a need to create pseudo-"profiles", and in this document I will describe this alternative process.<br />
<br />
== Fingerprint Reader Support ==<br />
<br />
Honestly, I care very little about the fingerprint functionality. Its only real use seems to be for gksu-type logins while the tablet is swiveled down, which doesn't occur often in my setup. If someone wants to explore/expound, please do, but I won't include any details about the fingerprint reader in this document.<br />
<br />
== Terminology Used ==<br />
<br />
For those of you new to Linux, I'll try to detail a few terms I use with little explanation:<br />
* Xorg configuration -- the display configuration file, residing in <tt>/etc/X11/xorg.conf</tt><br />
* Execute a command -- press Alt-F2, then type <tt>gnome-terminal</tt> into the prompt and press enter -- this is a terminal into which you input said commands<br />
<br />
= Installation Notes =<br />
<br />
The installation process didn't require anything exceptional. Feel free to fill in the blanks if it could be useful.<br />
<br />
= Post-Installation Notes =<br />
<br />
== Configuring Xorg ==<br />
<br />
=== TrackPoint ===<br />
<br />
Like in all ThinkPad Xorg configurations, add the following under the "Configured Mouse" device to enable TrackPoint scrolling:<br />
<br />
Option "EmulateWheel" "true"<br />
Option "EmulateWheelButton" "2"<br />
<br />
=== Wacom Stylus ===<br />
<br />
First install the wacom drivers with the following command:<br />
sudo apt-get install wacom-kernel-source xserver-xorg-input-wacom wacom-tools<br />
<br />
After doing this, I strongly suggest that you reboot your computer; however, if you're one of those people whose uptime is on the order of four years, I'm sure you'll figure out an alternative that I won't be describing here.<br />
<br />
Next step is to check to see if <tt>/dev/wacom</tt> exists. A '<tt>ls -al /dev | grep wacom</tt>' should do the trick quite nicely. If it <strong>does</strong> exist, add the following to your Xorg configuration.<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "stylus"<br />
Option "Device" "/dev/wacom"<br />
Option "Type" "stylus"<br />
Option "ForceDevice" "ISDV4"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "eraser"<br />
Option "Device" "/dev/wacom"<br />
Option "Type" "eraser"<br />
Option "ForceDevice" "ISDV4"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "cursor"<br />
Option "Device" "/dev/wacom"<br />
Option "Type" "cursor"<br />
Option "ForceDevice" "ISDV4"<br />
EndSection<br />
<br />
And under the ServerLayout section add:<br />
<br />
InputDevice "stylus" "SendCoreEvents"<br />
InputDevice "cursor" "SendCoreEvents"<br />
InputDevice "eraser" "SendCoreEvents"<br />
<br />
Some people seem to have slightly different configurations (potentially due to model differences). At any rate, if you're looking to find what serial device your stylus is, a simple '<tt>dmesg | grep ttyS</tt>' should do the trick. Be sure to append to this article if the procedure varies from model to model.<br />
<br />
=== ACPI Swivel Events ===<br />
<br />
When you swivel your tablet's LCD down or up your computer triggers what's called an ACPI event. This is an event similar to pushing the power or sleep buttons -- it's telling the OS about something that's going on with the hardware.<br />
<br />
In Linux, ACPI event handling is bundled into a nice neat little package. First, to make sure you can hear the ACPI event when it happens, run the command '<tt>acpi_listen</tt>'. The command line will hang there until it picks up on an ACPI event that's occuring, and then it will dump it to the screen. After running acpi_listen, while it's hanging there, swivel your screen down, and then back up. You should get a result similar to this:<br />
<br />
$ acpi_listen<br />
ibm/hotkey HKEY 00000080 00005009<br />
ibm/hotkey HKEY 00000080 0000500a<br />
<br />
The first HKEY entry is your swivel-down-event identifier and the second is your swivel up. If your values differ from those displayed here, be sure to use your values instead.<br />
<br />
Next, what we do is create new ACPI handler entries for the specified events, which we operate on in <tt>/etc/acpi/</tt>. <br />
<br />
The <tt>/etc/acpi/</tt> folder generally contains shell files to be executed when events occur. Since there's no shell files to handle swivel events yet, we're gonna go ahead and create some. Yeah, that'd be great.<br />
<br />
I don't know what all the rave is about these so called "text editors". I do all my "text editing" from the command line. Actually, I'd just rather not confuse newbies by teaching them vi in this article. Therefore, run the following commands:<br />
<br />
sudo cat <<EOF > /etc/acpi/x41tsdown.sh<br />
#!/bin/sh<br />
/usr/bin/xrandr -o right<br />
/usr/bin/xsetwacom set stylus rotate 1<br />
/usr/bin/xvkbd&<br />
EOF<br />
<br />
sudo cat << EOF > /etc/acpi/x41tsup.sh<br />
#!/bin/sh<br />
/usr/bin/xrandr -o normal<br />
/usr/bin/xsetwacom set stylus rotate 0<br />
killall xvkbd<br />
EOF<br />
<br />
sudo chown root.root /etc/acpi/x41tsdown.sh<br />
sudo chmod 755 /etc/acpi/x41tsdown.sh<br />
sudo chown root.root /etc/acpi/x41tsup.sh<br />
sudo chmod 755 /etc/acpi/x41tsup.sh<br />
<br />
If you'd like to edit these scripts with your favorite text editor (which, I realize, is most likely [http://www.gnu.org/fun/jokes/ed.msg.html ed]), it's fairly obvious that they're located in <tt>/etc/acpi/</tt> as <tt>x41tsdown.sh</tt> and <tt>x41tsup.sh</tt>. These commands make the shell scripts that handle the events... once we register the events. Let's do that now.<br />
<br />
sudo cat <<EOF > /etc/acpi/events/x41t-swivel-down<br />
# /etc/acpi/events/x41t-swivel-down<br />
# called when tablet head swivels down<br />
event=ibm/hotkey HKEY 00000080 00005009<br />
action=/etc/acpi/x41tsdown.sh<br />
EOF<br />
<br />
sudo cat <<EOF > /etc/acpi/events/x41t-swivel-up<br />
# /etc/acpi/events/x41t-swivel-up<br />
# called when tablet head swivels up<br />
event=ibm/hotkey HKEY 00000080 0000500a<br />
action=/etc/acpi/x41tsup.sh<br />
EOF<br />
<br />
Now, awaken your inner ACPI daemon with the following commands:<br />
<br />
sudo /etc/init.d/acpid force-reload <br />
sudo /etc/init.d/acpid restart<br />
<br />
And swivel down your LCD to make sure it works.<br />
<br />
To be continued...</div>Yevar