Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
TC1000 How-To
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
run4flat
n00b
n00b


Joined: 11 Dec 2008
Posts: 9

PostPosted: Thu Dec 18, 2008 7:20 am    Post subject: TC1000 How-To Reply with quote

This is my humble attempt at a how-to for the Compaq TC1000. Feel free to expand as you see fit. First, here are a number of links which may prove more or less useful to you:
Highly Recommended: http://www.razdva.cz/vencik/TC1000_And_Linux/
Useful for some specs: http://h18000.www1.hp.com/products/quickspecs/11429_na/11429_na.HTML
Great list of apps: http://www.zacharywhitley.com/linux/installation/Compaq_TC-1000.php
Less useful, seems dated: http://levine.sscnet.ucla.edu/general/software/tc1000/configure-fedora.htm

0) You should use distcc. Gentoo of course has documentation on how to use it: http://www.gentoo.org/doc/en/distcc.xml. I would recommend getting it working after you build your kernel (to keep things simple) but before you install X (because that's where you'll really want it).

1) To install gentoo, use the Handbook (http://www.gentoo.org/doc/en/handbook/handbook-x86.xml), of course. :] I have some advice in the following post for selecting good kernel options, but it is far from complete. The most important item is that you select Crusoe for your processor. Also, I based my cflags off of information from this post: http://www.handhelds.org/hypermail/tc1000-linux/3/0389.html.

2) I found the following use flags useful for various reasons:
Code:
# These are meant to be modifications of the desktop profile, fyi.
# After googling around, I don't believe that I need these:
USE="${USE} -miknod -emboss"
# See gentoo bug 217861; this was keeping my X from installing:
USE="${USE} -fam"


3) The handbook will tell you how to setup your network. This is good, but don't bother with the wireless; that will come later. [EDIT: I worked hard on this the first time I did this and got little results, only to have everything work well when I got X installed. On my second go-round, I didn't work hard on this step and subsequently couldn't get wireless working without a drawn-out fight.]

4) Setup your X by following along the xorg config guide: http://www.gentoo.org/doc/en/xorg-config.xml. Hopefully, with fam disabled, this will run smoothly for you. When you're done with that, install a window manager.

5) [This is inaccurate; I will repost when I've tested and found how this works.] <del>To get your wireless up and running, install wicd. Note! Portage will give you instructions on how modify your rc scripts. Follow these instructions!</del>

6) At this point, if you haven't already done so, you should install a browser such as dillo or kazehakase. I strongly recommend against firefox because it is simply too heavy for the poor TC1000 and runs too slow.

7) Pen/stylus support is where I will stop for now.

7a) Grab the fpi2002 init.d and conf.d files from vencik's page (first link on this post). Find the part of the handbook about working with Initscripts to finalize this part.

7b) Check that the serial device is working:
Code:
# if you haven't already, start the serial device:
/etc/init.d/fpi2002
# Now, check that it's working; press [ctrl-C] when you're convinced
cat /dev/ttyS0

That's a capital 's' and a zero on the end there. You should have seen a bunch of funny characters show up on your screen. If the test works, then you know Linux is listening to your digitizer.

7c) Grab the X driverf for the pen: xf86-input-tc1kpen, also from vencik's page, and unziptar it somewhere sensible. (I did all of this in root, out of my root's home directory.)

7d) Read the README file, which will tell you how to install the X driver and cover the options for xorg.conf. We'll return to those in the next step because we will need to modify xorg.conf to get it to work. For now, perform the basic compilation steps outlined.

7e) Run the calibration on your pen. This won't actually change any files for you, but it will give you the numbers you need to use in the xorg.conf. This is covered in the README, which states that you'll need to install the perl Device::SerialPort, and which also states you should run the calibration not in X. Check out "man perlmodinstall" if you run into trouble with the semi-automated approach for setting up the uncommon perl module.

7f) Edit /etc/X11/xorg.conf. Given below is my bare-bones (uncalibrated) rendition. You can find various examples from the links listed above, but vencik's is the only one tailored to the X driver we're using. Be sure to use the numbers that you obtained from the calibration tool. Here's the bare minimum you'll need:
Code:
...
Section "ServerLayout"
...
   InputDevice    "Stylus"
...
EndSection
...
Section "InputDevice"
   Identifier   "Stylus"
   Driver      "tc1kpen"
   Option      "SendCoreEvents"
#   Additional configuration options go here; read vencik's README for details
EndSection
...

Notice that line about SendCoreEvents? It won't work without that.

That's all I've got for now. I'll be working on rotation at some point and I'll update this post when I've got it. Feel free to post anything else y'all find, and good luck!


Last edited by run4flat on Mon Feb 16, 2009 3:19 pm; edited 3 times in total
Back to top
View user's profile Send private message
bunder
Bodhisattva
Bodhisattva


Joined: 10 Apr 2004
Posts: 5213

PostPosted: Thu Dec 18, 2008 1:48 pm    Post subject: Reply with quote

Moved from Kernel & Hardware to Documentation, Tips & Tricks.
_________________
goodbye fgo. it was nice knowing you.
Back to top
View user's profile Send private message
run4flat
n00b
n00b


Joined: 11 Dec 2008
Posts: 9

PostPosted: Sun Dec 21, 2008 9:04 pm    Post subject: Kernel Config Reply with quote

I'm going through the kernel configuration now. If you've never configured your kernel it can be quite a pain. Some day, after you've done it a handful of times, I'm sure it will be nothing. But for your first time, this should help. After you've got this set up, you can always come back later and tweak to your heart's content.

NOTE: This how-to is meant to help IN ADDITION to the guidelines given in the handbook. Be sure to follow those guidelines, then work with this how-to.

For reference, my lspci and lsmod listings are given at the bottom of this posting.

I'll step through how to configure everything essential, but it would be good practice to poke around and see if you can find how to enable kernel options yourself. From each menu, you can read the Help message, which will tell you how to enable options, or set options to be compiled as modules, etc. In particular, you'll need to know how to search for things (press the / key) and you'll do well to read the brief explanations of each component before you enable (press the ? key, i.e. shift+/). Here's a brief exercise before we get started:
E1) Find the Transmeta Longrun support by typing '/' and then 'longrun'.
E2) Go to and enable longrun support by finding it through the menu system. If you have trouble, see the solution below.

OK, so here we go with the full setup howto (hopefully).

1) Set the processor to Crusoe:
Main Menu -> Processor type and features -> Processor family -> Crusoe
By this I mean:
1a) From the main menu (should read 'Linux Kernel Configuration' near the top), select 'Processor type and features', which is the third or fourth item from the top and enter the sub-menu by pressing enter.
1b) Find 'Processor family', which is the sixth item in this submenu. Press enter.
1c) Scroll down or up until you find Crusoe, and then press enter.

2) Enable longrun support:
Main Menu -> Power management options -> CPU Frequency scaling -> CPU Frequency scaling (enable this)
Main Menu -> Power management options -> CPU Frequency scaling -> Transmeta Longrun

3) Don't worry about ram support because as of the time of writing it should work without extra tweaking.

4) nVidia VGA:
4a) Enable support for fram buffer devices:
Main Menu -> Device Drivers -> Graphics support -> Support for frame buffer devices (Y)
4b) Enable nVidia framebuffer support:
Main Menu -> Device Drivers -> Graphics support -> Support for frame buffer devices -> nVidia Framebuffer Support
4c) Tweak nVidia options, which will show up when you enable the framebuffer support. You can read more about the options by selecting "Help" at the bottom of the screen (pressing the left/right arrow keys to move the selection down there) or by pressing '?'

5) ISA/IDE Stuff:
I'm not sure what needs to be done here; I suspect that the default settings are fine.

6) Sound (not confirmed, yet; this probably needs to be cleaned up):
6a) Enable ALSA:
Main Menu -> Device Drivers -> Sound -> Advanced Linux Sound Architecture -> Advanced Linux Sound Architecture (Y)
All of the rest that follows starts from the ALSA menu (... Sound -> Advanced ...):
6b) Enable the AC97 system:
-> PCI devices -> VIA 82C686A/B, 8233/8235 AC97 Controller (Y)
To enable your modem, you should also enable the option just below that, or at least compile it as a module so you don't have to recompile later.
6c) ALSA sequencer support:
-> Sequencer support
6d) Having enabled ALSA, you can enable the dummy sequencer, which I compiled as a module:
-> Sequencer Dummy Client
6e) You'll want a few generic devices enabled:
-> Generic devices -> Generic MPU-401 UART driver
-> Generic devices -> Dummy (/dev/null) soundcard
6f) Enabling the OSS emulation apis are probably wise; I had them compiled as kernel modules in case I ever end up using software that needs it.

7) LAN support - the Intel PRO/100 P Mobile Combo Adapter (from HP's site)
7a) Disable the 1000 and 10000 Mbit ethernet support in
Main Menu -> Device Drivers -> Network Device Support
For what follows, I will be working out of
Main Menu -> Device Drivers -> Network Device Support -> Ethernet (10 or 100Mbit)
7b) Disable everything except (and enable if necessary)
-> EISA, VLB, PCI and on board controllers
7c) The previous 'enable' will add many menu options. Be sure that only the Intel PRO/100+ is enabled (disable all the others):
-> Intel PRO/100+ support
7d) I also enabled the Generic Media Independent Interface, just in case, though it may be unnecessary

8) Enabling wireless
8a) Enable Wireless LAN generally:
Main Menu -> Device Drivers -> Network device support -> Wireless LAN (IEEE 802.11)
8b) Enable the Atmel chipset:
Main Menu -> Device Drivers -> Network device support -> Atmel at76c50x chipset 802.11b support

9) If you plan on using the PCI cardbus, you'll need to enable that:
Main Menu -> Bus Options (PCI, etc) -> PCCard (PCMCIA/CardBus) support
It wouldn't be a bad idea to compile the module for yenta-compatible bridge support (though I'm not sure if it's necessary):
Main Menu -> Bus Options (PCI, etc) -> PCCard (PCMCIA/CardBus) support
-> CardBus yenta-compatible bridge support (NEW)

10) Finally, poke around the configuration a bit and see if anything else looks important to you. For example, you may want to include NTFS support (look under Main Menu -> File systems) if you work with any old windows partitions. You should probably enable FUSE (Filesystem in Userspace, in the same menu) as well. As always, if in doubt, you can always compile a module and load it at runtime if you need it. It really is an amazing system.

For reference, this is my ouput from lspci and lsmod when I booted into my machine using Xubuntu:
Code:
$ lspci
00:00.0 Host bridge: Transmeta Corporation LongRun Northbridge (rev 03)
00:00.1 RAM memory: Transmeta Corporation SDRAM controller
00:00.2 RAM memory: Transmeta Corporation BIOS scratchpad
00:05.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 Go] (rev b2)
00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 40)
00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:07.4 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 40)
00:07.5 Multimedia audio controller: VIA Technologies, Inc. VT82C686 AC97 Audio Controller (rev 50)
00:07.6 Communication controller: VIA Technologies, Inc. AC'97 Modem Controller (rev 30)
00:08.0 Ethernet controller: Intel Corporation 82551QM Ethernet Controller (rev 10)
00:0a.0 Ethernet controller: Atmel Corporation at76c506 802.11b Wireless Network Adaptor (rev 11)
00:0b.0 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus Controller (rev 01)
00:0b.1 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus Controller (rev 01)
00:0c.0 USB Controller: NEC Corporation USB (rev 41)
00:0c.1 USB Controller: NEC Corporation USB (rev 41)
00:0c.2 USB Controller: NEC Corporation USB 2.0 (rev 02)

$ lsmod
Module                  Size  Used by
ipv6                  263972  8
af_packet              25728  4
sco                    18308  2
bridge                 56980  0
stp                    10628  1 bridge
bnep                   20480  2
rfcomm                 44432  0
l2cap                  30464  6 bnep,rfcomm
bluetooth              61924  6 sco,bnep,rfcomm,l2cap
ppdev                  15620  0
longrun                10376  0
cpufreq_stats          13188  0
cpufreq_conservative    14600  0
cpufreq_powersave       9856  0
cpufreq_ondemand       14988  0
freq_table             12672  2 cpufreq_stats,cpufreq_ondemand
cpufreq_userspace      11396  0
sbs                    19464  0
sbshc                  13440  1 sbs
pci_slot               12552  0
container              11520  0
iptable_filter         10752  0
ip_tables              19600  1 iptable_filter
x_tables               22916  1 ip_tables
ext2                   72584  2
lp                     17156  0
pcmcia                 43052  0
snd_via82xx            32536  5
gameport               19468  1 snd_via82xx
snd_via82xx_modem      19464  0
evdev                  17696  12
snd_ac97_codec        111652  2 snd_via82xx,snd_via82xx_modem
ac97_bus                9856  1 snd_ac97_codec
snd_pcm_oss            46848  0
snd_mixer_oss          22784  1 snd_pcm_oss
snd_pcm                83204  5 snd_via82xx,snd_via82xx_modem,snd_ac97_codec,snd_pcm_oss
snd_mpu401_uart        15360  1 snd_via82xx
psmouse                45200  0
serio_raw              13444  0
video                  25104  0
output                 11008  1 video
snd_seq_dummy          10884  0
snd_seq_oss            38528  0
snd_seq_midi           14336  0
pcspkr                 10624  0
snd_rawmidi            29824  2 snd_mpu401_uart,snd_seq_midi
wmi                    14504  0
battery                18436  0
snd_seq_midi_event     15232  2 snd_seq_oss,snd_seq_midi
ac                     12292  0
snd_seq                57776  6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
button                 14224  0
i2c_viapro             15764  0
snd_timer              29960  3 snd_pcm,snd_seq
snd_seq_device         15116  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
i2c_core               31892  1 i2c_viapro
atmel_pci              10112  0
yenta_socket           31756  2
rsrc_nonstatic         19072  1 yenta_socket
atmel                  44420  1 atmel_pci
snd                    63268  20 snd_via82xx,snd_via82xx_modem,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_mpu401_uart,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
parport_pc             39204  0
pcmcia_core            43412  3 pcmcia,yenta_socket,rsrc_nonstatic
via686a                21004  0
efficeon_agp           14624  0
parport                42604  3 ppdev,lp,parport_pc
snd_page_alloc         16136  3 snd_via82xx,snd_via82xx_modem,snd_pcm
soundcore              15328  1 snd
agpgart                42184  1 efficeon_agp
sr_mod                 22212  0
cdrom                  43168  1 sr_mod
ext3                  133384  2
jbd                    55444  1 ext3
mbcache                16004  2 ext2,ext3
usbhid                 35840  0
hid                    50560  1 usbhid
usb_storage            81728  0
libusual               27156  1 usb_storage
sd_mod                 42264  6
crc_t10dif              9984  1 sd_mod
sg                     39732  0
ata_generic            12932  0
ohci_hcd               31888  0
ehci_hcd               43276  0
pata_via               16132  5
e100                   41356  0
mii                    13440  1 e100
pata_acpi              12160  0
usbcore               148848  6 usbhid,usb_storage,libusual,ohci_hcd,ehci_hcd
libata                177312  3 ata_generic,pata_via,pata_acpi
scsi_mod              155212  5 sr_mod,usb_storage,sd_mod,sg,libata
dock                   16656  1 libata
thermal                23708  0
processor              42156  2 thermal
fan                    12548  0
fbcon                  47648  0
tileblit               10880  1 fbcon
font                   16512  1 fbcon
bitblit                13824  1 fbcon
softcursor              9984  1 bitblit
fuse                   60828  1
Back to top
View user's profile Send private message
ToadMan8
Tux's lil' helper
Tux's lil' helper


Joined: 03 Dec 2003
Posts: 81

PostPosted: Thu Jan 29, 2009 11:50 pm    Post subject: Re: TC1000 How-To Reply with quote

run4flat wrote:
7) Pen/stylus support is where I will stop for now.

7a) Grab the fpi2002 init.d and conf.d files from vencik's page (first link on this post). Find the part of the handbook about working with Initscripts to finalize this part.


I lost you right here. I'm a gentoo veteran, but am trying this with Ubuntu due to the lazier auto-detection at install time (sound, video, xwindows, wireless, etc., working right out of the box).

Can you be more specific about building the fpi2002 module? When I follow the readme included, it has me run make, which errors out - "linux/config.h: No such file or directory"

Ideas?

Thanks much!! Very excited to get this pen working.

EDIT: The appropriate .h files referenced in the fpi2002 source weren't in the places it was looking. I hard-pointed them to the files in the kernel headers and kernel source. I don't have a concept of what I am actually doing with kernel and drivers, but I know enough programming to know how to point the includes to files that exist. This allowed make to complete, which is a step (perhaps?) in the right direction...
Back to top
View user's profile Send private message
ToadMan8
Tux's lil' helper
Tux's lil' helper


Joined: 03 Dec 2003
Posts: 81

PostPosted: Fri Jan 30, 2009 1:22 am    Post subject: Reply with quote

Bah - stuck again.

When running ./configure --prefix=/usr I get:
checking for XORG... configure: error: Package requirements (xorg-server >= 1.2.00.000 xproto ) were not met:

No package 'xorg-server' found
No package 'xproto' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.

Alternatively, you may set the environment variables XORG_CFLAGS and XORG_LIBS to avoid the need to call pkg-config.

WTF??!

EDIT: OK, I ran an apt-get install xorg-dev in a way lucky guess, so configure ran properly. Now for make...
Back to top
View user's profile Send private message
machinelou
Apprentice
Apprentice


Joined: 05 Apr 2003
Posts: 267

PostPosted: Mon Feb 16, 2009 2:33 am    Post subject: Reply with quote

Holy cow, I can't believe anyone still has a TC1000. I have one but the motherboard died two or three years ago. It was an awesome machine. I wish it still worked. Good luck getting gentoo on it.
Back to top
View user's profile Send private message
run4flat
n00b
n00b


Joined: 11 Dec 2008
Posts: 9

PostPosted: Mon Feb 16, 2009 3:12 pm    Post subject: Reply with quote

@machinelou - They're beautiful little machines. It turns out that HP has deep repair instructions on their website, so if you ever felt like getting your tablet working again, you could buy a defunct tablet off ebay for the spare parts and try rebuilding it.

@ToadMan - I'm sorry I have been so delayed in responding to your question. I tried to keep somewhat detailed notes of my installation on Ubuntu, so here goes. (I hope the Gentoo folks don't mind that these instructions are Ubuntu/Debian directed. However, Vencik's instructions were specific to Gentoo, so...).

Getting the pen serial device to work, on Xubuntu:
1. Download fpi2002-0.5.tar.gz. I had trouble getting David Kuehling's shell script to work so I reverted to the kernel module. Vencik has a copy of v0.5 on his website; the link is given in my first post.
2. Untar it. (For those new to working with source that you must retrieve manually, I recommend putting this in a subdirectory of /usr/local/src)
For what follows, if you're working in /usr/local/src, you'll need superuser privileges, so prepend 'sudo' to each of these commands.
3. mv Makefile Makefile-2.4
4. cp Makefile-2.6 Makefile
5. edit fpi2002.c and remove the line:
#include <linux/config.h>
config.h has apparently been obseleted, and AFAIK it doesn't damage the compilation so simply remove it.
6. make
7. make install
8. modprobe fpi2002
9. If you don't have setserial, you'll need to install that:
apt-get install setserial
10. Now setup ttyS0:
setserial /dev/ttyS0 autoconfig
11. Test that it works (second part of 7b above)
cat /dev/ttyS0
12. Continue from above with 7c

I have more notes about getting stuff to work - I got it working to about 90% functionality for my tastes, including screen rotation. If you would like more info, start a thread at Ubuntu Forums and let me know.
Back to top
View user's profile Send private message
run4flat
n00b
n00b


Joined: 11 Dec 2008
Posts: 9

PostPosted: Mon Feb 16, 2009 3:13 pm    Post subject: Reply with quote

To those of you interested in getting Gentoo working on the TC1000, well, I got it working by following the Handbook to the letter. Then I decided to document my experience, so I started over and apparently skipped a few steps. As a result, things that worked the first time around don't work now and after spending some time trying to get stuff to work I just threw my hands up and left for Xubuntu. I know that my machine would be happier with Gentoo, if I could get it to work, but the fixed cost of getting everything working is not something I can spend right now.

A major nuisance (part of that fixed cost) was compiling time for big projects such as Xorg and Firefox, which I typically ran overnight while I slept. I HIGHLY recommend that anybody who tries to get gentoo working on the TC1000 or a comparably slow computer look into distributed compiling. Check out distcc at http://code.google.com/p/distcc/ for more details. I will modify my instructions above to include this recommendation.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum