Configure RedHat Linux Fedora Core 1 for the
TC1000
by David K. Levine (modified from earlier information on Severn)
Download the zip file containing the configuration
and other files.
- Note that the kernel loads very
slowly and will appear to hang during and after "Finding module
dependencies." Ignore all the kernel errors regarding the (nonexistent)
floppy drive. Fedora Core running on a wide variety of machines will
show the mysqld daemon as failing to start due to a timeout. However,
it has started and works fine.
Modem NEW: Download the 2.96
beta smartlink
drivers (the release version of the drivers compile and run, but do
not dial the modem correctly). Follow the instructions. Hat tip to Andy
Schofield for discovering the the smartlink drivers work with the
TC1100.
ACPI: Make sure to install
the acpi rpm from the iso. Use the kernel parameter acpi=on to enable
the ac,
processor, button, and battery modules. The cpuid, msr and longrun
modules must be loaded using modprobe. All of the modules are shipped
with the Fedora Core.
- Using >echo
1>/proc/acpi/sleep only works if the longrun module is loaded. It
wakes up when you jog the power button, but the system will be frozen
until then. Unfortunately when the system wake up, the side buttons and
jog dial do not. You will probably need to restart the wifi after
sleeping.
- The
default script in /etc/acpi/events shuts the system down if you jog the
power button. You will probably want to remove this if you are planning
on putting the system do sleep: when you use the power button to wake
up the system, you will also be shutting it down. Do man acpid for
information in writing scripts.
- Various methods of turning the screen off
blank the screen but do not turn off the backlight.
- There
is a longrun utility that can be installed from an iso rpm. This should
be able to change the system from "economy" to "performance" mode. In
addition to loading the longrun modules, you will also need to load the
cpuid and msr modules. However, the longrun utility still does not work
giving the error message "longrun:
error reading /dev/cpu/0/cpuid: Invalid argument." Possibly the kernel
needs to be compiled explicitly for crusoe for this utility to work.
Certainly using the other arch/i386/kernel modules compiled with
longrun.o does not help.
Wifi: Unpack the directory atmelwlandriver
and make the module. Since the module is already compiled, you should
be
able to do make install as root. Copy ifcfg-eth1 to
/etc/sysconfig/network-scripts and edit it to provide the wireless and
tcpip options relevant to your setup. The driver works fine with WEP.
Do not load eth1 during boot, since the wlan driver isn't yet loaded.
If you /sbin/modprobe pcifvnet this will load the driver and bring up
eth1. The script radioon does this, and is suitable for adding to
toolbars.
- This is the 5-17-2003 version of the driver, because it was
reported to work with the TC1000. Likely more recent versions do to. If
you download a different version, make sure to change depmod in the
Makefile to /sbin/depmod.
- >/sbin/ifdown
eth1; /sbin/rmmod pcifvnet removes the pcifvnet module - but the radio
light on the front panel remains on, so it probably doesn't turn the
radio off.
Touch
keyboard: Install xvkbd
from the rpm. Replace the existing /etc/X11/xdm/Xsetup_0 with the
version in the zip file. This adds a line to the end of the script that
will load xvkbd at the logon screen. You will also likely want to put a
button for xvkbd on a toolbar. This setup will leave the keyboard on
the screen after login.
- For obscure reasons if you create a script file #!/bin/bash; exec
xvkbd and run the script (with &) from Xsetup_0 you will get the
keyboard during login, but it will be gone when gnome is finished
initializing.
Screen and Pen: Three
drivers are used: the XFree86 nv and vesa drivers and the tc1000 xvesa
driver from kdrive. The instructions below install both and scripts for
switching between them.
- Make sure you know how to use grub to boot into run level 3 in
case you make a mistake.
- Unpack
the directory fpi2002-0.1 and make the module. This program is from Michael Rolig. Since the
module is
already compiled, you should be able to do make install as root.
- Copy
XFConfig.land, XFConfig.port, XFConfig.dual to /etc/X11.
- Copy myxinit to /etc/init.d and make a symbolic link to it named
S30myxinit in /etc/rc5.d. This makes it possible to choose the video
mode at bootup by setting kernel parameters myorient=xvesa for the
xvesa driver, myorient=port for the nv driver in portrait (sideways)
orientation, myorient=dual to clone the lcd screen to the vga
connection
using the vesa driver. The default is to use XFConfig.land, which uses
the nv driver in landscape mode. The myxinit script also loads the
fpi2002 module, configures the serial port used by the pen, and loads
the needed the acpi modules.
- Make sure in /boot/grub/grub.conf to set the kernel parameter
nogui or the pen won't work. You can look at the included grub.conf for
a sample of how to set up grub properly.
- Copy Xmodmap to .Xmodmap
in your home directory. I have it set so the scroll wheel does page up
and page down; you may wish to change this, and set other options found
in Michael Rolig's xmodmaprc
file.
Note that the pen works differently than under Windows XP - under XP
holding down the pen for a short time is equivalent to the right mouse
button; under Linux, holding down the pen and clicking the pen button
is equivalent to the right mouse button.
- Copy
tck1_drv.o to /usr/X11R6/lib/modules/input. This program is from Michael Rolig.
- Copy Xvesa and runXvesa to /usr/X11R6/bin. The Xvesa
file is from Matthew
Allum, the scripts adapted from Jamey Hicks
- For both files chown root:root, chmod 711, chmod u+s
- mv XFree86 to XFree86.sve
- The
script tab-switch-screen, which must be run as root (for example using
sudo) will switch between portrait and landscape modes. If you are
using the xvesa driver the switch is immediate. If you are using the nv
drivers it will bring up the gnome logout screen. If you logout and log
backin, the orientation will be switched. I suggest creating a button
for it on a toolbar. If you are courageous, you can use the autologin
feature and /usr/sbin/gdm-restart. This will speed things up and switch
orientation without having to intervene. It will also kill any data you
are working on if you forget to save first.
Screen and Pen Comments:
- The fpi2002 Makefile had to be
tweaked a bit to get it to work on Fedora.
- I haven't been able to build
the nvidia driver,
and I cannot get the nv driver to support two heads. However, the vesa
and Xvesa drivers nicely clone the lcd display to the vga - and the pen
works
fine in this mode.
- If you do not set the kernel
parameter nogui Fedora Core will by default load an Xwindows startup
screen
in the boot process before fpi2002 has loaded. This makes it impossible
to configure /dev/ttyS0 later. If you want to keep the graphical boot,
it should be possible to modify the script /etc/rc.init/rc.sysinit to
load fpi2002 prior to the beginning of the graphical boot.
- If you are using xvesa you may
switch modes by using the command line utility xrandr or the gnome
applet grandr
to switch video modes. Or you may use the provided script.
- Don't copy Rolig's XFConfig files - they
do not work with RedHat installations.
- In rolling your own configuration
files to use with the nv drivers - make sure in portrait mode you turn
off the xrandr extensions
explicitly, and make sure that you puta reference to the pen driver in
the ServerLayout section.
- Xvesa
does not generate any events for any of the side-buttons or the scroll
wheel, except that depressing the scroll wheel is equivalent to the
enter key. Running xev shows that the three "pen" buttons generate from
left to right the
keydown/keyup events 121, 122 and 125. The CVS version of Xvesa may now
support the mouse wheel, but this has not been tested.
- Also
from xev, using nv/vesa with the tc1k driver scroll wheel left 134,
right 135, down 36 (enter), escape button 133, tab button 132, Q button
131, "schedule" button 130, red ctrl-alt-del 107 (ctrl-alt-del), the
three "pen" buttons do not generate any events, regardless of how the
"KeyEvent" driver option is specified.
- Calibrating the pen in the BIOS has
no effect whatsoever on the pen in Linux.
- The Xvesa driver is reported to be
slow, but I haven't noticed this.
driver
|
switch
orientation
|
clone
external display
|
mouse
wheel
|
scroll wheel
|
dpms
|
pen
calibration
|
view
console
|
nv
|
log
in and out of X
|
no
|
yes |
yes
|
can't
turn off backlight
|
awkward
|
no
|
Xvesa
|
yes
|
yes
|
no
|
no
|
no
|
no
|
yes
|
vesa
|
no,
landscape only
|
yes
|
yes |
yes |
can't
turn off backlight |
awkward
|
yes
|
NTFS: Don't mess with the module. Use captive -
this will give read/write access and is easy to install. Be sure to
install from the rpm - it works fine under Fedora Core. The targz
install does not work under Fedora Core, even when the install program
is patched to eliminate the obvious shell errors. Warning: rm -fR does not work particularly
well on ntfs directories, rm fails on very large files, and the
creation of symbolic links isn't
supported, so you can't do massive file management on the ntfs
partition. You cannot create large files one the ntfs partition and
mount them using the loopback device. When you upgrade the
kernel you will want to run /usr/share/lufs/prepmod
to rebuild the lufs kernel module.
If you give up: Neither
captive nor the ntfs module are useful for large scale file management
or management of large files, so I gave up and converted the ntfs
partition to ext3. You do this in two steps. First, you need to make
grub the bootloader /sbin/grub-install
/dev/hda. It is a good idea to test that this worked by
rebooting before proceeding - if it worked you will see the grub boot
screen first, rather than the Windows XP boot screen. If it didn't work
and you proceed to the next step, you have rendered your computer
unbootable. The second step is to convert the ntfs partition
using /sbin/mkfs.ext3 /dev/hda1. You
may also want to assign a label to your new partition /sbin/e2label /dev/hda1 my_new_label and
enable the new partition to be mounted on bootup by creating an entry
in /etc/fstab such as
LABEL=my_new_label
/where_I_want_to_mount_my_partition defaults ext3 1 2
Wayv: wayv
is a gesture recognition program. This version is modified so that it
can also be used to annotate the screen during presentations (using the
vesa or Xvesa configurations). Unpack the wayv directory and make the
program. Because it is already compiled, you should be able to do make
install as root. Copy the wayv.conf and DEFAULT.wkey files to some
convenient directory such as your home directory (both in the same
directory). To run >wayv /path/to/wayv.conf mandatory-option. If
mandatory-option is annotate it opens in annotation mode; if it
anything else (except blank) it will open in gesture recognition mode.
- The setup.h file needed some fixing to compile under Fedora; the
backend.c file was modified to support annotation, and the command line
convention changed.
- There are two other gesture recognition programs, xstroke and xscribble,
but I couldn't manage to build either of them.
Vmware: You will have to
recompile the modules of course. You must use the gcc32 compiler,
rather than the default gcc compiler. Install the gcc32 from the rpm if
necessary. Use
>CC=gcc32; export CC; vmware-config-tool.pl
Crossover Office: Use version
2.1.
Notetaking Program: use Jarnal.
Kernel Upgrade Reminder List:
Fedora now seems to be releasing a new kernel about once a week. Here
are the reminders of what you have to do each time you upgrade the
kernel:
- CC=/usr/bin/gcc32; export CC; /usr/bin/vmware-config.pl
- /usr/share/lufs/prepmod
- cd tc1000/atmelwlandriver
make realclean
make configure <build only the minipci module>
make clean
make
make install
- cd tc1000/fpi2002-0.1
rm fpi2002.o
ls /usr/src <to find out where the new source tree is located>
pico Makefile <modify the makefile to point to the correct source
tree>
make
locate fpi2002.o <to find out where you need to copy the fpi2002.o
file: you copy into the same place in the new module true as it was in
the old module tree; note that you will have to reboot before the
module can enable the pen>
Wishlist:
- Fix the suspend. Top priority - get the side buttons to
work. Second priority - get the backlight off.
- A way to bring up the keyboard when the screen is locked.
- A decent pen calibration tool.
- Good handwriting recognition.