Sharedwww / t42p / :Open in CoCalc
Author: William A. Stein
1
<html>
2
<title>Debian GNU/Linux on a Thinkpad T42p</title>
3
</html>
4
5
<body>
6
<h1><font color="#990101">Debian GNU/Linux on a Thinkpad T42p</font></h1>
7
<h2><a href="/">William Stein</a></h2>
8
9
<h3>Configuration</h3>
10
I purchased a Thinkpad T42p for $2389 through Harvard's
11
educational discount program:
12
<br><br>
13
<table align=center width=70% border=1 cellpadding=10 bgcolor="#FFFFDD">
14
<tr><td>
15
<ul>
16
<li> Thinkpad T42p 2373
17
<li> 15 inch 1600x1200 flexview display
18
<li> 1.8Ghz "Dothan" Pentium-M 745 processor
19
<li> 1GB RAM internal (leaving one slot free)
20
<li> 128MB ATI Mobility FireGL T2
21
<li> 802.11 a/b/g
22
<li> Two USB 2.0 ports
23
<li> Gigabit ethernet
24
<li> 60GB 7200RPM drive
25
<li> Nine-cell long-life battery
26
</ul>
27
</td>
28
</tr>
29
</table>
30
<br>
31
I've owned a 2Ghz Thinkpad T30, a 1.6Ghz T40, and now this T42p. The
32
T42 weighs less than the T30, and in size is somewhere between the T40
33
and T30. It's thinner than the T30, but wider. The T42p is definitely
34
noticeably larger than the T40, but not much heavier (I think it's
35
just over a half pound heavier).
36
37
<p>This page records some of my thoughts and experiences using the T42p with
38
Linux. It is not supposed to be a systematic Debian installation guide.
39
40
<p>My T42p is currently running Linux Kernel 2.6.6, which I downloaded from www.kernel.org, and was the only kernel version in which I could
41
get everything working that I need.
42
Here is <a href="config">my configure file.</a>
43
44
<h3>Other Pages</h3>
45
There are several other pages on installing Linux on the T42p:
46
<ul>
47
<li><a href="http://toys.lerdorf.com/archives/22_IBM_Thinkpad_T42p.html">Lerdorf's page</a> is a short diary about installing <i>Debian</i> on his T42p.
48
<li> <a href="http://www.icemark.net/beh/misc/T42P/">Heinen's page</a> is
49
about installing and configuring <i>Debian</i> on the T42p.
50
<li> <a href="http://pmw.org/~gardnerj/Thinkpad/Install.html">Gardner's page</a> is a fairly complete discussion of installing <i>Fedora Core 2</i> on a T42p. He emphasizes fixes for a major bug.
51
<li> <a href="http://www.flaminglunchbox.net/articles/GentooOnT42P.html">This</a> was an article on installing <i>Gentoo</i> on the T42p, but it disappeared, so
52
here is a <a href="gentoo.html">local copy of the google cache of that page</a>.
53
<li> <a href="http://www.stanford.edu/~sanjiv/thinkpad/thinkpad.html">Sanjiv's page</a> is a systematic discussion of installing
54
<i>Fedora</i> on a T42 (not the T42p).
55
</ul>
56
57
58
<h3>Unresolved Problems</h3>
59
If you have any idea how to solve one of these problems, or you do
60
not have the same problem with whatever Linux distribution you are
61
using, <a href="mailto:[email protected]">please send me an email</a>.
62
<ul>
63
64
<li> After swsusp2 hibernate the e1000 ethernet card doesn't work. Removing
65
(by using "modprobe -r e1000") first sometimes fixes the problem, but
66
<i>sometimes it doesn't</i>.
67
68
69
<li> The built-in mouse doesn't work at all if I boot the computer
70
up with the USB mouse plugged in. The problem vanished
71
when I tried [other guy's] kernel config, so perhaps
72
it's an ACPI vs apm issue. It might also have gone away
73
now that I've switched to fglrx?
74
75
<li> Printing graphics is very slow. (This means nothing to
76
anyone but me, since you don't know what printer I have, etc.)
77
78
</ul>
79
80
<h3>Swapping the Hard Drive</h3>
81
The first thing I did when I got the T42 was physically swap its 60GB 7200RPM drive
82
with the 80GB 4800RPM drive in my old T40. I did this by removing one screw that
83
holds each hard drive in place, flipping the laptops upright, sliding the drives out, swapping
84
the mounting brackets, and reinserting. Note that the mounting brackets <i>look</i>
85
like they are screwed on, but are not; you just pop them on and off.
86
I swapped the drives because I had Debian Linux already installed on the 80GB drive,
87
and I prefer 80GB to 60GB. The output of hdparm says that the 80GB drive is plenty fast
88
<pre>
89
sh-3.00# /sbin/hdparm -t /dev/hda1
90
/dev/hda1:
91
Timing buffered disk reads: 92 MB in 3.06 seconds = 30.08 MB/sec
92
</pre>
93
94
<h3>Very Informal Benchmarks</h3>
95
96
I ran some benchmarks that matter to <i>me</i> with the computer
97
algebra system MAGMA doing the sort of calculations I do in my
98
research. The 1.8Ghz T42p is currently the fastest single processor
99
machine I have at this benchmark, just barely beating any single processor of
100
<a href="/meccah">my Athlon 2800MP cluster</a>. The Athlon 2800MP's are
101
clocked at just over 2.1Ghz, so that's not bad.
102
103
<h3>Battery</h3>
104
105
Using the 9-cell battery, with the video brightness set at minimum and
106
"normal usage", gives me about 4 hours battery life (at least when I
107
boot up on battery power, so the processor is at its slowest speed).
108
This is about an hour less than my 1.6Ghz T40 would get with exactly
109
the same battery. I get just over one hour from 10-month-old my old
110
6-cell battery, which suggests the 6-cell battery is "worn out".
111
112
<h3>Speedstep</h3>
113
Michael Clark created <a href="cupfreq-speedstep-dothan-1.patch">a
114
patch</a> against kernel 2.6.7 that adds speedstep support for
115
Pentium-M Dothan processors (it also depends on <a href="http://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.7/2.6.7-mm6/broken-out/bk-cpufreq.patch">bk-cpufreq.patch</a>.
116
(Michael has also "ported it to 2.6.8-rc3 on top of the 2.6.8-rc3-mm1 cpufreq
117
patch (these are probably the preferred ones to link too):"
118
<a href="http://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.8-rc3/2.6.8-rc3-mm1/broken-out/bk-cpufreq.patch">bk-cpufreq.patch</a> and
119
<a href="http://gort.metaparadigm.com/cpufreq/cpufreq-speedstep-dothan-3.patch">cpufreq-speedstep-dothan-3.patch</a>.
120
121
<p>Before Michael's patch came out,
122
I read some of the code of <pre>
123
/usr/src/linux-2.6.6/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c
124
</pre>
125
and rewrote it so that it would work with my processor. After Michael
126
sent his patch (which is only to 2.6.7), I corrected the voltages in
127
<a href="speedstep-centrino.c-version_2.6.6">my 2.6.6 version
128
of speedstep-centrino.c</a>. My 2.6.6 version only adds support
129
for 1.8GHz Dothan, and nothing else.
130
131
<p>For whatever reason cpufreqd
132
doesn't seem to work for me. However, directly echo'ing speeds into
133
<tt>/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq</tt> and
134
<tt>/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq</tt>
135
<i>does</i> work for me, and that's enough because it means
136
I have control (I can make a command or icon that speeds up or
137
slows down my computer).
138
For example, to set the computer at maximum:
139
<pre>
140
echo 1800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
141
echo 1800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
142
echo 1800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
143
</pre>
144
And, to set it at minimum speed:
145
<pre>
146
echo 600000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
147
echo 600000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
148
echo 600000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
149
</pre>
150
151
<b>Here are some earlier remarks I had about issues with using speedstep.</b>
152
153
<p>So far I have not been able to get speedstep_centrino working at
154
all. If I start the T42p not plugged in, then it runs at 600Mhz, and
155
will not change speed not matter what unless it is rebooted (or
156
hibernated). If I start it up plugged in, then it runs at 1.8Ghz no
157
matter what, even if I subsequently unplug it.
158
159
This is the error I get when trying to use speedstep-centrino:
160
<pre>
161
modprobe -v speedstep-centrino
162
insmod /lib/modules/2.6.6/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.ko
163
FATAL: Error inserting speedstep_centrino (/lib/modules/2.6.6/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.ko): No such device
164
</pre>
165
166
<a href="http://www.ccd.uab.es/~jordicj/linux/inspiron510m.php3">This web
167
page</a> discusses a fix. Here's a verbatim copy of the relevant section
168
of that web page:
169
<table align=center width=70% bgcolor="#EEEEEE" cellspacing=20 cellpadding=5><tr><td>
170
With the kernel 2.6.6 provided by Fedora Core 2 the
171
"speedstep-centrino" module exits with error "Found unsupported
172
speedstep CPU". I downloaded the last kernel from Fedora and too
173
downloaded the last sources (2.6.7) from <a
174
href="http://www.kernel.org"> kernel.org </a> but I had same
175
results. Next I email to people that contribute to do this module, but
176
they didn't give me any immediatly solution. The problem was that
177
without this module is impossible to throttle the CPU frequency, an
178
important feature on a mobile system.
179
180
<p>
181
A month later, googling, I found a message in a forum about a person
182
that had the same problem and that had correct it changing from the
183
file speedstep-centrino.c of the linux kernel the ".x86mask" assigned
184
for Dothan CPU. In this file the mask assigned is 1, but according to
185
the information of /proc/cpuinfo the mask would be 6. This is my CPU
186
info:
187
188
<p>
189
<font face="Courier">
190
processor : 0<br>
191
vendor_id : GenuineIntel<br>
192
cpu family : 6<br>
193
model : 13<br>
194
model name : Intel(R) Pentium(R) M processor 1.70GHz<br>
195
stepping : 6<br>
196
cpu MHz : 1698.751<br>
197
cache size : 64 KB<br>
198
fdiv_bug : no<br>
199
hlt_bug : no<br>
200
f00f_bug : no<br>
201
coma_bug : no<br>
202
fpu : yes<br>
203
fpu_exception : yes<br>
204
cpuid level : 2<br>
205
wp : yes<br>
206
flags : fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush<br>
207
dts acpi mmx fxsr sse sse2 ss tm pbe tm2 est
208
bogomips : 3375.10<br>
209
</font>
210
211
<p>
212
Using 2.6.7 kernel sources I modified the "speedstep-centrino.c". This
213
is the original code:
214
215
<p>
216
<font face="Courier">
217
static const struct cpu_id cpu_id_dothan_a1 = {<br>
218
.x86_vendor = X86_VENDOR_INTEL,<br>
219
.x86 = 6,<br>
220
.x86_model = 13,<br>
221
.x86_mask = 1,<br>
222
};<br>
223
</font>
224
<p>
225
And the modified code:
226
<p>
227
<font face="Courier">
228
static const struct cpu_id cpu_id_dothan_a1 = {<br>
229
.x86_vendor = X86_VENDOR_INTEL,<br>
230
.x86 = 6,<br>
231
.x86_model = 13,<br>
232
.x86_mask = 6,<br>
233
};<br>
234
</font>
235
236
<p>
237
Then I recompiled the linux kernel and the "speedstep-centrino"
238
recognized my CPU and permits to throttle it's frequency, and
239
therefore saves up battery and reduce temperature.
240
</td></tr></table>
241
242
<h3>Video</h3>
243
I had a huge amount of trouble getting the fglrx modules working!
244
This seems to work for me:
245
<ol>
246
<li> Download <a href="fglrx-4.3.0-3.9.0.i386.rpm">this RPM</a>
247
directly from ATI for XFree 4.3.0.
248
<li> Use alien to make <a href="fglrx_4.3.0-4.9_i386.deb">this deb package</a>.
249
<li> Install the deb.
250
<li> Build the tainted kernel modules:
251
<pre>
252
cd /lib/modules/fglrx/build_mod
253
source make.sh
254
cd ..
255
source make_install.sh
256
</pre>
257
This works perfectly for me with kernel 2.6.x...
258
259
<li> But here's where it was really complicated for me personally. I
260
had install the xfree86 dri trunk, which makes copies of all the
261
modules and puts them in /usr/X11R6/lib/modules-dri-trunk/... instead
262
of /usr/X11R6/lib/modules, which is where the the ATI package puts
263
them. Also, for some reason I had fglrx modules in my dri-trunk
264
version, but those were too old and didn't support my laptop's very
265
new display. Not knowing all this, I kept getting tons of errors when
266
trying to start X (no device found). So I moved modules-dri-trunk to
267
modules-dri-trunk.orig and made a symlink from modules to
268
modules-dri-trunk. Really I should track down the config file that
269
points to modules-dri-trunk
270
271
<li> Run fglrxconfig to get an XF86Config file.
272
<li> It works wonderfully. I have very very very fast 3d graphics, etc.
273
<li><b>However,</b> swsusp or changing to a text console freeze the
274
computer when 3d acceleration is enable. I commented out the
275
following lines in XF86Config-4 and swsusp works again, but
276
of course I have no 3d graphics. Until this is resolved, if I need
277
3d graphics, I'll restart X with these extensions enabled.
278
<pre>
279
# Load "dbe" # Double buffer extension
280
# Load "glx" # libglx.a
281
</pre>
282
(Note: I don't know if turning off dbe was necessary.)
283
</ol>
284
<b>**BIG WARNING**:</b> The free open source radeon driver "works" with
285
this laptop. However, while using it I had literally dozens of
286
"random" complete freezes of my laptop. It cost me many hours
287
to determine the source of the freezes, since there were almost
288
no clues.
289
290
291
292
<h3>Power Management</h3>
293
I am using APM instead of ACPI. I would like to use ACPI since APM
294
is quickly becoming legacy, but I've had serious issues I couldn't
295
resolve with swsusp2 and ACPI. For example, removing the usb_uhci
296
module during swsusp2 suspend crashes the system. Etc.
297
298
Pressing Fn-F4, which is for apm suspend, causes the laptop
299
to sort of suspend. However, the moon light blinks and the laptop
300
sort of just sits there. I wish there were a way to disable
301
suspend on Fn-F4, since I might accidently hit it.
302
303
Pressing Fn-F3 to blank the screen works perfectly (as long as I
304
don't accidently bump Fn-F4).
305
306
<h3>Linux Suspend to Disk (Hibernate): swsusp2</h3>
307
308
I have APM and swsusp2 working well, and am able to suspend and resume
309
even under X11 while using the ATI drivers (but only with 3d
310
acceleration support off, by removing the glx option from XF86Config).
311
I have 1GB RAM and a smallish 1GB swap partition, so I'm happy this
312
actually works, but it does work, and well.
313
314
<ol>
315
<li> Installed plain vanilla kernel 2.6.6, so I could
316
patch it, since the swsusp2 patch didn't work for
317
me with Debian kernel 2.6.6.
318
<li> I installed swsusp2 for kernel 2.6.6
319
<li> I had to remove the CONFIG_REGPARM from kernel config file,
320
so my <tt>.config</tt> now says
321
<pre>
322
# CONFIG_REGPARM is not set
323
</pre>
324
If I didn't do this, then I got errors about stuff not matching on
325
resume from hibernate. I also had this problem:
326
<pre>
327
5.16 I've suspended and resumed and now I can't open new X
328
applications and my /tmp directory is empty (on Debian)
329
330
A recent version of the initscripts package decided to blow
331
away temporary directories when calling mountnfs.sh (See Bug
332
#227112). The simple solution is to remove mountnfs.sh from your
333
SWSUSP_STOP_SERVICES_BEFORE_SUSPEND in /etc/suspend.conf and add your
334
extra NFS mounts into SWSUSP_UMOUNTS.
335
</pre>
336
</ol>
337
338
<h3>Getting Software to suspend to work with kernel 2.6.7</h3>
339
So far I haven't succeeded. Here are some notes about my attempts.
340
341
<p>I patched kernel 2.6.7 with
342
<pre>
343
<a href="software-suspend-2.0.0.102-for-linux-2.6.7.tar.bz2">software-suspend-2.0.0.102-for-linux-2.6.7.tar.bz2</a>
344
</pre>
345
When I first tried to compile, I had configured the swsusp2 to
346
not include debugging print support, since I thought I didn't
347
want that. I could <i>not</i> get the kernel to compile; there
348
were many small problems I fixed, but they all were related to
349
avoiding the debug output. So I included debug support (by
350
setting that option in "make xconfig"), and the kernel compiled.
351
352
<p>All that said, I still had problems trying to compile.
353
There was an error compiling
354
<pre>
355
/usr/src/linux/arch/i386/power/suspend2.c
356
</pre>
357
but I was able to fix it by putting
358
<pre>
359
#ifdef CONFIG_SMP
360
</pre>
361
at the beginning of <tt>smp_suspend2_lowlevel(void* info)</tt>
362
and #endif at the end of that function. I don't understand why
363
smp_suspend2_lowlevel has to be defined if CONFIG_SMP is not set.
364
365
<p>Anyway I can compile as modules, but it cancels suspend.
366
If I use an initrd (as instructed), then it fails on boot.
367
If I compile swsusp2 into the kernel (not as a module), then
368
the kernel crashes on boot.
369
370
<h3>Wireless Networking</h3>
371
I installed the madwifi drivers from CVS source:
372
<pre>
373
cvs -z3 -d:pserver:[email protected]:/cvsroot/madwifi co madwifi
374
cd <a href="madwifi">madwifi</a>
375
make
376
(as root) make install
377
</pre>
378
379
These don't work for me, in sense that freezes at ifconfig ath0 up.
380
However, I got it to work by using
381
<a href="http://sourceforge.net/mailarchive/forum.php?thread_id=4384086&forum_id=33958">this remark</a>.
382
The ifplugd was causing a kernel fault! So I had to turn of ifplugd
383
for the ath0 interface:
384
<pre>
385
form:~# more /etc/default/ifplugd (after I edited it!)
386
INTERFACES="eth0"
387
#HOTPLUG_INTERFACES="all"
388
HOTPLUG_INTERFACES=""
389
ARGS="-q -f -u0 -d10 -w -I"
390
SUSPEND_ACTION="stop"
391
</pre>
392
Notice that now I'll need to explicitly add any hotplug interfaces
393
I might use.
394
395
<h3>Thinkpad Buttons</h3>
396
I installed the tpb package:
397
<pre>
398
apt-get install tpb
399
chmod a+rw /dev/nvram
400
</pre>
401
To start it I use this script:
402
<pre>
403
#!/bin/bash
404
exec tpb --osd=on --verbose --thinkpad="/usr/bin/konqueror" --wireless="/usr/bin/konsole -e /home/was/bin/hibernate" &
405
</pre>
406
I have a script with those lines in my <tt>.kde/Autostart</tt> folder.
407
408
<h3>Miscellaneous Software</h3>
409
<ul>
410
<li> mplayer: I installed mplayer using debs <a href="http://hpisi.nerim.net/">from here</a>.
411
I also changed vo to vo=xv in /etc/mplayer/mplayer.conf
412
since xv rendering is *vastly* faster.
413
414
<li>kismet:
415
I installed it using
416
<pre>
417
apt-get install kismet
418
</pre>
419
I also installed
420
<pre>
421
apt-get install festival
422
apt-get install ethereal
423
</pre>
424
in order to get nice things and libwiretap, which kismet needs.
425
426
In /etc/kismet/kismet.conf I put
427
<pre>
428
#source=cisco,eth0,ciscosource
429
#source=madwifi_b,ath0,athsource
430
</pre>
431
I created an application on the desktop that launches kismet as root.
432
433
I also had problems with excessive loging by wireless drivers.
434
Solution: I commented out line 4028 of
435
<pre>
436
/usr/src/modules/linux-wlan-ng-0.2.1pre21/src/prism2/driver/
437
438
/* WLAN_LOG_WARNING("Implement me.\n"); */
439
</pre>
440
441
<li>Correct DPI with KDM. I changed /etc/kde3/kdm/Xservers as follows:
442
<pre>
443
::0 [email protected] /usr/X11R6/bin/X -nolisten tcp vt7 -dpi 120
444
</pre>
445
Note the added dpi option.
446
447
<li>VMware.
448
449
swap caps and ctrl in windows xp (under vmware, though not relevant):
450
451
To do this requires some registry hacking. Run regedit and burrow down to
452
453
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
454
455
Here you need to add a binary entry called Scancode Map with a value of 00000000 00000000 03000000 3A001D00 1D003A00 00000000.
456
457
</ul>
458
459
<h3>Freezing ssh shells</h3>
460
I have a comcast cable modem, and my ssh shells freeze regularly, without
461
lots of network activity. This is extremely annoying. Anyway, the
462
following is a workaround for an openssh2 client. Add to
463
/etc/ssh/ssh_config
464
<pre>
465
ServerAliveInterval 20
466
ForwardX11 yes #also useful
467
</pre>
468
469
<h3>My Sprint USB Sanyo 4900 Phone</h3>
470
<ol>
471
<li> Compiled CONFIG_USB_ACM=m the acm.o module.
472
(Selected this in the USB section, near the middle.)
473
<li> modprobe acm
474
<li> Plugin phone:
475
<pre>
476
May 29 16:40:01 localhost kernel: Product: SANYO USB Phone
477
May 29 16:40:01 localhost kernel: SerialNumber: Serial Number
478
May 29 16:40:01 localhost kernel: ttyACM0: USB ACM device
479
May 29 16:40:01 localhost default.hotplug[3190]: arguments (usb) env (DEVFS=/proc/bus/usb OLDPWD=/ PATH=/bin:/sbin:/usr/sbin:/usr/bin ACTION=add PWD=/etc/hotplug HOME=/ SHLVL=2 DEVICE=/proc/bus/usb/003/003 PRODUCT=474/701/0 TYPE=2/0/0 DEBUG=kernel _=/usr/bin/env)
480
May 29 16:40:01 localhost default.hotplug[3190]: invoke /etc/hotplug/usb.agent ()
481
May 29 16:40:01 localhost default.hotplug[3191]: arguments (usb) env (DEVFS=/proc/bus/usb OLDPWD=/ PATH=/bin:/sbin:/usr/sbin:/usr/bin ACTION=add PWD=/etc/hotplug HOME=/ SHLVL=2 DEVICE=/proc/bus/usb/003/003 PRODUCT=474/701/0 TYPE=2/0/0 DEBUG=kernel _=/usr/bin/env)
482
May 29 16:40:01 localhost default.hotplug[3191]: invoke /etc/hotplug/usb.agent ()
483
May 29 16:40:05 localhost usb.agent[3190]: Setup acm for USB product 474/701/0
484
May 29 16:40:05 localhost usb.agent[3191]: Setup acm for USB product 474/701/0
485
May 29 16:40:05 localhost usb.agent[3190]: acm: already loaded
486
May 29 16:40:05 localhost usb.agent[3191]: acm: already loaded
487
</pre>
488
The following configuration steps are copied
489
<a href="http://www.natecarlson.com/linux/sanyo-4900.php">this web page</a>,
490
and they work perfectly for me.
491
<table align=center width=70% border=1 cellpadding=10 bgcolor="#FFFFDD">
492
Now that you've got an ACM device, you just need to create a dialup
493
connection. Note that the ACM device name may vary - just search
494
through /dev for the proper device. On my (default) Debian install,
495
it's /dev/ttyACM0. On RedHat 7.3, it's /dev/input/ttyACM0. Once
496
you've found that, the number to dial to get a connection to the
497
Vision network is '#777' (which is #PPP on the keypad). So, use
498
whatever method you prefer to create a dialer that will dial #777. On
499
my Debian box, I'm using the standard 'pon' scripts. Here are the
500
config files I use:
501
<pre>
502
/etc/ppp/peers/sprint:
503
504
# You usually need this if there is no PAP authentication
505
noauth
506
# The chat script (be sure to edit that file, too!)
507
connect "/usr/sbin/chat -v -f /etc/chatscripts/sprint"
508
# Set up routing to go through this PPP link
509
defaultroute
510
# Use remote DNS
511
usepeerdns
512
# Default modem
513
/dev/ttyACM0
514
# Connect at high speed
515
230400
516
local
517
novj
518
519
520
/etc/chatscripts/sprint:
521
522
TIMEOUT 5
523
ABORT '\nBUSY\r'
524
ABORT '\nERROR\r'
525
ABORT '\nNO ANSWER\r'
526
ABORT '\nNO CARRIER\r'
527
ABORT '\nNO DIALTONE\r'
528
ABORT '\nRINGING\r\n\r\nRINGING\r'
529
'' \rAT
530
TIMEOUT 12
531
OK ATD#777
532
TIMEOUT 22
533
CONNECT ""
534
535
</pre>
536
</td></tr></table>
537
</ol>
538
539
<h3>Canon USB 2.0 LIDE 20 CanoScan scanner</h3>
540
It worked in about one minute.
541
<ol>
542
<li> apt-get install sane xsane
543
<li> Run xsane as root.
544
<li> It just works!
545
</ol>
546
<a href="http://toykeeper.net/reviews/canon_lide_30.php">This page</a> was helpful.
547
I added was to the scanner group (changed /etc/group). That should
548
fix the permissions problems.
549
550
<h3>PCMCIA</h3>
551
<li> After swsusp2 hibernate the pcmcia system doesn't work. Restarting it
552
with
553
<pre>
554
/etc/init.d/pcmcia restart
555
</pre>
556
as root fixes the problem.
557
558
<h3>Writing CD's and DVD</h3>
559
Writing CD-R's and DVD's works, but I can't erase DVD's from K3B.
560
I have only tried writing data DVD's, not DVD's to play on a DVD
561
player. It takes over 20 minutes to write a full 4.3GB data
562
DVD.
563
<ol>
564
<li> I followed this advice: "To get CD burning working all you need in
565
kernel 2.6.x is to have IDE-CD (CONFIG_BLK_DEV_IDECD) enabled and
566
edit /etc/cdrecord/cdrecord to say ?CDR_DEVICE=/dev/cdrom?."
567
568
<li> Install k3b and cdrdao:
569
<pre>
570
apt-get install k3b
571
apt-get install cdrdao
572
</pre>
573
574
<li> modprobe ide-cd
575
576
<li> Run k3b (which will fix necessary permissions)
577
578
<li> Burned and verified a sample CD-RW while compiling kernel...
579
580
<li> Created desktop shortcut:
581
modprobe ide-cd; k3b
582
583
<li> When I started k3b with a DVD writer, it asked me to
584
install a few other packages and I did (using apt-get).
585
Unfortunately, I don't remember exactly what their names
586
were. They were standard dvd authoring packages.
587
</ol>
588
589
<!--
590
<hr>
591
<hr>
592
<h2>The Stuff Below is a Mess</h2>
593
594
<h3>No Speedstep</h3>
595
* No speedstep_centrino working at all, and starting up on battery
596
makes machine very slow, even after plugged in.
597
598
Attempt: Enabled the "Relaxed speedstep capability check module
599
option under Power management -> Cpu Freq .
600
Effect:
601
Nothing, still get this error:
602
603
modprobe -v speedstep-centrino
604
insmod /lib/modules/2.6.6/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.ko
605
FATAL: Error inserting speedstep_centrino (/lib/modules/2.6.6/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.ko): No such device
606
607
this means that speedstep is not detected because my processor is too new.
608
609
610
<h3>Random hangs</h3>
611
(I think switching to the proprietary ATI fglrx drivers fixed
612
this problem.)
613
<ul>
614
<li> I had repeatable hangs when using vmware in full screen mode.
615
Now I just have random hangs, that seem to coincide with a disk access,
616
and have nothing to do with my screen.
617
<li>
618
The T42 just had a random crash after about 15 minutes:
619
<lu>
620
<li> *not* using madwifi at the time, but the madwifi
621
modules were loaded...
622
<li> straight boot, not resume from hibernate
623
<li> I was listening to music.
624
<li> no vmware involved anywhere.
625
<li> The freeze occured when I was paging through a kernel
626
documentation file in an emacs window.
627
<li> I'm using radeon driver.
628
</ul>
629
630
<li> As a possible remedy I did this in the BIOS:
631
<ul>
632
<li> turned off PCI power management
633
<li> turned off the other power management option at the bottom of the
634
Power page (?)
635
<li> turned off disk dma (which is in the Network section of BIOS).
636
Note that the disk is still fricking fast, even with "DMA off",
637
i.e.,
638
sh<li>3.00# /sbin/hdparm -t /dev/hda1
639
/dev/hda1:
640
Timing buffered disk reads: 92 MB in 3.06 seconds = 30.08 MB/sec
641
<li> I manually removed the madwifi drivers after reboot (they'll
642
of course return after suspend or reboot).
643
</ul>
644
645
<li> After all the above "remedies" and booting into acpi mode, it
646
still totally fails.
647
648
<li> I recompiled the whole kernel with somebody else's T42p config
649
and it still almost immediately froze. I'm thinking the latest
650
freezes have something to do with my ext3 journaled filing
651
system. Hopefully after one or two very clean reboots with
652
653
654
</ul
655
656
<h3>APM vs ACPI</h3>
657
658
I should switch to ACPI, since apm is dead and laptop support
659
for it is getting buggier and buggier.
660
661
Try: compile the acpi modules:
662
<ul>
663
<li> Turn off the Sleep States experimental option.
664
<li> Need to look at /proc/acpi stuff
665
<li> It sort of works, but swsusp2 crashes hard on the usb stuff,
666
or so it seems. Maybe not removing usb modules from kernel
667
on suspend (option in /etc/suspend.conf) would help.
668
</ul>
669
670
This was a problem with acpi when I used the T40. Let's
671
see what happens with the T42p.
672
<pre>
673
* suspend/resume sometimes fails, though it's generally OK.
674
Maybe try using ACPI again?
675
676
ACPI seems to seriously conflict with my internal madwifi wireless
677
card. I get tons of hardware resets. Yuck! Also, resuming
678
from ACPI messes up the middle mouse button on the Thinkpad T40
679
Synaptics touchpad. So, I'm sticking with APM.
680
</pre>
681
682
<h3>Mouse problems</h3>
683
684
Built-in mouse doesn't work if boot up with USB mouse in.
685
Problem vanishes when I use other guy's config, so I'm betting
686
it's an ACPI vs apm issue.
687
688
689
690
<h3>GL direct rendering</h3>
691
It doesn't work at all yet, at least with the open source radeon drivers.
692
693
For example,
694
<pre>
695
[email protected]:~$ glxinfo |more
696
name of display: :0.0
697
display: :0 screen: 0
698
direct rendering: No
699
</pre>
700
701
702
703
704
<h3> Missing spell in emacs. Install.</h3>
705
Fix:
706
apt-get install spell
707
708
<h3> Stupid font error messages</h3> whenever I start programs in KDE.
709
They should be get-rid-able.
710
711
Solution:
712
These are caused by bad directories under /usr/share/icons.
713
So I just tar-balled and deleted the ones causing problems.
714
Since I only use noia_kde_100, which doesn't cause problems,
715
this fixed the problem for me.
716
717
718
<li> Mouse too fast under kernel 2.6.6:
719
720
Solution:
721
http://kerneltrap.org/node/view/2199
722
723
<p>"You probably have two "mouse" entries there, one pointing to /dev/psaux and
724
the other to /dev/input/mice, so that you can get both your PS/2 and USB
725
mouse working on 2.4.
726
727
<p>2.6 uses the input subsystem for both PS2 and USB, and thus both devices
728
will report events from both mice, resulting in doubled events.
729
730
<p>Remove either the /dev/psaux or /dev/input/mice entry, depending what suits
731
you better for 2.4 compatibility should you ever need go back to 2.4."
732
733
<p>This fixed the problem for me! And, strangely enough, the middle mouse
734
button works now too!
735
736
<li> External Display for presentations:
737
738
<ol>
739
<li> works fine, as it is always on. Do *not* hit Fn-F7,
740
as that kills the screen dead.
741
<li> Use Control Center -> Peripherals -> Display to
742
set the resolution to one that the external display
743
can use. Resolution switching works fine "on the fly"!
744
(Which is pretty cool, by the way.)
745
746
747
<li> installed xhkeys:
748
<pre>
749
http://www.geocities.com/wmalms/xhkeys_manual.html#Using_xhkeys
750
http://www.geocities.com/wmalms/#XHKEYS
751
752
-- i don't think this works at all
753
</pre>
754
755
To start it, I use the following command, and it works!:
756
<pre>
757
tpb --osd=on --verbose --thinkpad="/usr/bin/X11/xterm -T ntpctl -e ntpctl"
758
</pre>
759
760
(The nvram module is automatically loaded.)
761
762
Since I always want this going, I created a command called mytpb in bin,
763
and added a link to it in the Autostart folder.
764
765
<li> USB hard drives: work fine
766
767
768
<li> USB keyboard, USB mouse --
769
I removed the ehci_hcd module and the uhci_hcd module
770
then inserted ONLY the uhci_hcd module, and the
771
USB mouse and keyboard both worked perfectly, and
772
I could even just plug and unplug the mouse during
773
an X-session without having to restart and it worked
774
perfectly. WOW.
775
<p>Subsequently inserting the ehci_hcd module does not break this.
776
I might have to just make sure they are insmod'ed
777
in the right order.
778
779
PROBLEM: Here's how I got my USB mouse to work with X:
780
<pre>
781
Section "InputDevice"
782
Identifier "Configured Mouse"
783
Driver "mouse"
784
Option "CorePointer"
785
Option "SendCoreEvents" "true"
786
Option "Device" "/dev/psaux"
787
Option "Protocol" "PS/2"
788
Option "Emulate3Buttons" "true"
789
Option "ZAxisMapping" "4 5"
790
EndSection
791
792
Section "InputDevice"
793
Identifier "Generic Mouse"
794
Driver "mouse"
795
Option "Device" "/dev/input/mice"
796
Option "CorePointer"
797
Option "SendCoreEvents" "true"
798
Option "Protocol" "ImPS/2"
799
Option "Emulate3Buttons" "false"
800
Option "ZAxisMapping" "4 5"
801
EndSection
802
Section "ServerLayout"
803
Identifier "Default Layout"
804
Screen "Default Screen"
805
InputDevice "Generic Keyboard"
806
InputDevice "Configured Mouse" "CorePointer"
807
InputDevice "Generic Mouse"
808
# InputDevice "Generic Mouse" "AlwaysCore"
809
EndSection
810
</pre>
811
812
When I had AlwaysCore there, X would hang on resume.
813
814
I also used the APM script from
815
http://www.newt.com/debian/thinkpad-t40p/#mice
816
817
818
<li> 3D GL screen savers -- had to
819
apt-get install xscreensaver-gl
820
821
<li> writing CD-R and DVD's works, but I can't erase DVD's from k3b, maybe.
822
<ol>
823
<li> I followed this advice: "To get CD burning working all you need in
824
kernel 2.6.x is to have IDE-CD (CONFIG_BLK_DEV_IDECD) enabled and
825
edit /etc/cdrecord/cdrecord to say ?CDR_DEVICE=/dev/cdrom?."
826
827
<li> Install k3b and cdrdao:
828
<pre>
829
apt-get install k3b
830
apt-get install cdrdao
831
</pre>
832
833
<li> modprobe ide-cd
834
835
<li> Run k3b (which will fix necessary permissions)
836
837
<li> Burned and verified a sample CD-RW while compiling kernel...
838
839
<li> Created desktop shortcut:
840
modprobe ide-cd; k3b
841
</ol>
842
</ol>
843
</ol>
844
845
<h3>SOUND</h3>
846
<pre>
847
A trick with sound was that it was muted, as always with ALSA.
848
I created this script and put it in Autostart:
849
850
[email protected]:~$ more bin/set_volume
851
#!/bin/bash
852
853
amixer sset PCM 23 >/dev/null
854
amixer sset Master 100 >/dev/null
855
amixer sset Mic 0 >/dev/null # mute
856
857
-- However, this really isn't very good sound support. Only
858
one thing can use the soundcard at once, and if more than one
859
does than it gets completely messed up!!
860
861
-- I just installed ALSA, but it doesn't seem to work, after
862
inserting the right module. I think I need a reboot. Will
863
come back to this.
864
865
I'm not going to use this ALSA install, since it just doesn't work.
866
867
868
* The mouse didn't work after using kernel of
869
http://www.digriz.org.uk/t40p-linux/#kernel-2.6
870
and that was because he compiled the psmouse support
871
as a module, which wasn't loaded by default.
872
873
874
# You usually need this if there is no PAP authentication
875
noauth
876
# The chat script (be sure to edit that file, too!)
877
connect "/usr/sbin/chat -v -f /etc/chatscripts/sprint"
878
# Set up routing to go through this PPP link
879
defaultroute
880
# Use remote DNS
881
usepeerdns
882
# Default modem
883
/dev/ttyACM0
884
# Connect at high speed
885
230400
886
local
887
novj
888
889
890
/etc/chatscripts/sprint:
891
892
TIMEOUT 5
893
ABORT '\nBUSY\r'
894
ABORT '\nERROR\r'
895
ABORT '\nNO ANSWER\r'
896
ABORT '\nNO CARRIER\r'
897
ABORT '\nNO DIALTONE\r'
898
ABORT '\nRINGING\r\n\r\nRINGING\r'
899
'' \rAT
900
TIMEOUT 12
901
OK ATD#777
902
TIMEOUT 22
903
CONNECT ""
904
----------------------------------------------
905
906
* GPS crashes VMware Win xp when run under kernel 2.6.6
907
908
GPS mapping software for Linux:
909
http://www.kraftvoll.at/software/
910
911
GPS driver for Earthmate GPS:
912
http://trans.civil.nwu.edu/~jay/gpsd.html
913
914
-- also GPS crashes vmware whenever accessed w/ kernel 2.4.26 as
915
well, even when just using serial interface.
916
917
PLAN: * Buy USB -> Serial convert.
918
* Config for linux
919
* Try to use my Garmin GPS under vmware -- in ms streets or Street atlas
920
* Or Try under Linux
921
922
* PCMCIA doesn't work at all in 2.6. Need this for my memory cards.
923
It works fine in kernel 2.4.26.
924
925
I use cardinfo to correctly remove cards. I made a desktop shortcut
926
to this that runs it as root.
927
928
* DVD playing:
929
Installed ogle, but it is insanely slow. Hmm.
930
Rebooted and DMA worked (with correct kernel 2.6.6, and
931
OGLE was also fast.)
932
apt-get install ogle ogle-gui
933
934
* VMware USB devices !?
935
- gps
936
XX - ipaq XXX
937
938
* Nicely automated networking :
939
These scripts
940
941
hecke:/home/was/bin# more eth
942
943
su -c '/sbin/ifconfig ath0 down; modprobe -r ath_pci;\
944
/sbin/ifup eth0; /sbin/route'
945
946
947
hecke:/home/was/bin# more wlan
948
949
su -c '/sbin/ifdown eth0; \
950
modprobe wlan; \
951
modprobe ath_hal; \
952
modprobe ath_pci; \
953
ifconfig ath0 up; \
954
iwlist ath0 scanning; \
955
dhclient ath0; \
956
/sbin/route'
957
958
959
* All my files from old disk, and old debian linux install:
960
- be very careful here!!
961
962
* ACPI:
963
1. Manually modprobed:
964
button battery ac fan thermal processor
965
2. installed acpi and acpid unstable package:
966
apt-get install acpi
967
apt-get install acpid
968
These will autoload the above modules...
969
ick ... no suspend-to-ram...
970
971
* Shared files between Linux and Windows
972
973
* Delete old debian from hard drive
974
975
* Install Adobe suite in Windows and have it work.
976
* Copy photos from USB hard drive (progress)
977
978
979
980
Kernel-bound:
981
* Laser printer:
982
1. Installed printtool, a redhat tool for setting up printers.
983
2. Using printtool, I deleted lp, and set up
984
Name: lp0
985
Spool: /var/spool/lpd/lp0
986
Printer device: /dev/usb/lp0
987
Input Filter: latex Samsung one.
988
3. Install apsfilter, since it's "better".
989
Note that apsfilter uninstalls printtool
990
It sucked -- so I went back to printtool.
991
4. I also installed lprng:
992
apt-get install lprng
993
and this ...
994
5. lprng seems good, so I'm installing lprngtool (GUI)
995
and some things it requests:
996
apt-get install lprngtool ncpfs recode djtools ifhp ipx xpdf-utils
997
6. Waste of time. .. I just installed printtool again,
998
and used my old python script to filter stuff.
999
1000
* Speedstep -- slow down, speed up, etc. as it should
1001
Seems like maybe unpluging slows it down and a reboot is needed
1002
to speed it up again, which is horrible!
1003
1. I have something called tpctl installed "thinkpad control"
1004
1005
Now using kernel 2.6.6
1006
- note that /sys/... is there
1007
in particular,
1008
/sys/devices/system/cpu/cpu0/cpufreq/
1009
- apt-get install cpufreqd
1010
- I then edited /etc/cpufeqd.conf
1011
This really works well. Edit this file and restart cpufreqd
1012
if I want hi-speed even when on batteries...
1013
1014
* kismet:
1015
-- works only for built-in card. can't get it to work for
1016
the linksys pcmcia card. BUMMER.
1017
I think builtin card just doesn't support it!
1018
-- form:/usr/share/doc/kismet# zless README.gz
1019
* XD Memory cards don't work in kernel 2.6.6, microdrive?
1020
Fix -- I kept STUPIDLY missing the PCMCIA IDE support option
1021
under Device Drivers -> ATA/ATAPI... -> Enhanced ... support
1022
1023
* 3D VIDEO:
1024
1. Downloaded and installed debs from
1025
http://xoomer.virgilio.it/flavio.stanchina/debian/fglrx-installer.html 2.
1026
cd /usr/src/
1027
tar zxvf fglrx-4.3.0-3.9.0.tar.gz
1028
fakeroot make-kpkg --added-modules fglrx-4.3.0-3.9.0 modules_image
1029
dpkg -i fglrx-4.3.0-kernel-2.6.6_3.9.0-3+Custom.1_i386.deb
1030
3. Quit X, unload radeon driver, insert fglrx driver:
1031
modprobe -r radeon
1032
modprobe fglrx
1033
4. Modified XF86Config as suggested at above italian web site.
1034
It was crucial to set the AGPGART option to yes!!
1035
Option "UseInternalAGPGART" "yes"
1036
1037
Please bear in mind, whenever you ?apt-get upgrade? your system and
1038
the X-libraries are touched even in the slightest, you will find that
1039
mplayer begins to winge like a tart along the lines of ?Unable to find
1040
XF86GetVidModeLine? or something. This is your cue to re-run the
1041
?./install.sh? script in the DRI package folder; there is no need to
1042
restart X though fortunately.
1043
1044
---
1045
This was total crap, since suspend/resume broke.
1046
Instead I:
1047
1. Followed directions at
1048
http://www.digriz.org.uk/t40p-linux/#xfree86
1049
2. Nothing worked until I finally compiled the following modules into my kernel:
1050
intel_mch_agp 10256 0
1051
intel_agp 17308 1
1052
agpgart 32808 3 intel_mch_agp,intel_agp
1053
1054
---
1055
* Excessive LOG of wifi card:
1056
Modified
1057
emacs src/prism2/driver/hfa384x.c
1058
1059
1060
* Suspend with juk playing screws up audio drivers. Bummer.
1061
Fortunately
1062
dcop juk Player
1063
gives list of dcop commands and
1064
dcop juk Player pause
1065
pauses playback.
1066
So just add dcop juk Player pause to my "off" script.
1067
1068
Suspend/Resume freezes machine in text console. No solution.
1069
1070
**
1071
* win-Modem:
1072
Works easily, using drivers and README got here!!!
1073
ftp://ftp.smlink.com/linux/unsupported
1074
1075
* Good backup system -- mirror /home to pocketec using rsync
1076
+ Need to exclude something (some media) and backup / as well.
1077
+ For now just backup /home.
1078
1079
* Setup Orinoco math department card:
1080
- make sure orinoco_cs.ko module compiled
1081
- try to use and fail.
1082
- Modify end of /etc/pcmcia/wlan-ng.conf
1083
card "I-Gate 11M PC Card"
1084
# version "INTERSIL", "I-GATE 11M PC Card / PC Card Plus", "Version 01.02"
1085
manfid 0x0156, 0x0002
1086
bind "orinoco_cs"
1087
1088
- /etc/init.d/pcmcia restart
1089
- iwconfig eth1 up
1090
- dhclient eth1
1091
- unfortunately kernel driver doesn't support monitor mode
1092
so I downloaded latest driver from CVS and built it:
1093
export CVS_RSH="ssh"
1094
cvs -z3 -d:ext:[email protected]:/cvsroot/orinoco co orinoco
1095
1096
* How to get tar file from dpkg:
1097
1098
dpkg --fsys-tarfile ssh2_2.0.13-7_i386.deb > a.tar
1099
1100
I had to do this to install both ssh and ssh2 at the same time.
1101
1102
TODO:
1103
1104
* Firewire and downloading of DV
1105
* GPS -- either get it to work, or buy a serial adapter and hope to
1106
get serial adapter to work!
1107
1108
</pre>
1109
-->
1110
</body>
1111
</html>
1112