I use a lot of free and open-source software. This page lists a few of the things I did to get GNU-Linux and OpenBSD running on the computers I use.
At school, I use a IBM ThinkPad i1482 (2621-482). Celeron 500MHz/128MB/10G/CD-DVD/56k Lucent WinModem/Xircom 10/100 CardBus Ethernet. It's the SCI 2000 model, so students of the Princeton Class of 2004 that sprang for the CIT (now OIT) SCI laptop will find this useful. (You may also be interested in the Princeton Unix Group.)
I use the Red Hat 7.0 distribution of GNU-Linux. Out of the box, it autodetected nearly everything. Exceptions are the easy launch buttons (which were useful), and the exterior CD controls (which were not)). The amazingly useful volume control dial still works; apparently it interfaces directly with the hardware.
I've since upgraded to Linux 2.4.17. Once again, sound, Ethernet, and the like are all supported by in-kernel options.
I recently purchased a USB mouse, an IBM Optical Navigator (model MO27FO). After some fiddling, I got it to work alongside the built-in TrackPoint. Greg Wierzchowski's Second Mouse in X mini-HOWTO came in handy, as did the Linux USB FAQ.. I'm using this XF86Config.
Thanks to the Colas Nahaboo X mouse wheel scroll page, and the Documentation/input/input.txt file from the latest (when I wrote this, it was something in the ~2.4.16 range) Linux tarball, I put together the necessary configuration files. You'll need the following entry for the mouse in /etc/X11/XF86Config (or wherever your X server keeps its config file: it was called /etc/X11/XF86Config-4 on my RedHat 7.0 system -- looking in /var/log/XFree86.0.log should reveal the config file's name.)
Section "InputDevice"
Identifier "Mouse1" #<-- may be Mouse0 in your case*
# Modified by mouseconfig
Driver "mouse"
Option "Device" "/dev/input/mice"
Option "Protocol" "explorerps/2"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "5 6"
Option "Buttons" "6"
EndSection
|
Mouse1 may be Mouse0 -- look for the lines related to your mouse in XF86Config, and change those. A line like the one below this paragraph indicates the core input device.
InputDevice "Mouse1" "CorePointer"
To make the wheel work, you'll have to tell X to consider the wheel to be buttons 4 and 5. Trouble is, the configuration above maps button 4 to the side button. The trick (from Colas Nahaboo) is to add a line to your ~/.login file (or somewhere like the .login file -- I'm not sure of the best place to put X initialization commands. (I also added "bash .login" and "/etc/X11/xinit/xinitrc" to my ~/.xinitrc -- eventually, I have to learn what gets executed and when. In any event, add it to something that gets executed when the X server starts):
xmodmap -e "pointer = 1 2 3 6 4 5"
This renumbers the buttons. Note that if you're using two mice (or, with an IBM laptop, a USB mouse and the internal TrackPoint), the xmodmap command above will only work on the CorePointer device. I used these lines in XF86Config, where Mouse1 is the Optical Navigator and Mouse0 is the internal TrackPoint:
InputDevice "Mouse1" "CorePointer" InputDevice "Mouse0" "AlwaysCore"
See the XF86Config file and the websites linked above for details.
If you'd rather have both the side button and the button under the wheel map to button 2 (may be convenient, if you use button 2 as `paste' in X), don't add the xmodmap line to .login, and use this XF86Config entry:
Section "InputDevice"
Identifier "Mouse1" #<-- may be Mouse0 in your case
# Modified by mouseconfig
Driver "mouse"
Option "Device" "/dev/input/mice"
Option "Protocol" "imps/2" #<--protocol changes
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
Option "Buttons" "5" #<---buttons change
EndSection
|
Taylor Robison (trobis at speakeasy dot net) reports that on Red Hat 7.3, one must also change the
/etc/sysconfig/mouseline
XMOUSETYPE="PS/2"to
XMOUSETYPE="explorerps/2"in . He reports that a working
/etc/sysconfig/mouselooks like:
MOUSETYPE="ps/2" XMOUSETYPE="explorerps/2" FULLNAME="Generic 3 Button Mouse (PS/2)" XEMU3=no DEVICE=/dev/mouse...and notes that
/dev/mousewould be
/dev/input/micewith the XFree86-4 configuration above. I've switched from Red Hat to Debian since I wrote the original howto, so I can only report, not verify, this intel.
Early in June 2002, the laptop's backlight started to flicker. The problems persisted after I replaced the inverter. To IBM's credit, their tech-support people were eager to help. To their further credit, all of their hardware manuals are online, which is more than I can say for vendors like Apple, which regard such things as a trade secret.
Shortly after, the sporadic boot failures I had been having manifested themselves into full-blown hardware failure. The computer absolutely, positively failed to display more than residual life: hitting the power button would spin up the hard disk and CD-ROM drive -- and that's it. No display, no memory test, no IBM logo. Not even a backlight. The machine would sit there, hard drive spinning idly, and nothing happening.
After tearing the beast to pieces (down to the motherboard, on the off chance that it was just a mis-seated connector that was at fault), I called IBM support again, and asked if they would confirm my suspicion that it was a motherboard problem. Nothing else, in my estimation, could produce those symptoms. They agreed --- and informed me that the price of a new one would be about $993, or $997 including shipping and labor if they installed it. That wouldn't be such a bad deal, if the laptop weren't already two years old, and cost only twice that sum (plus a handful of trimmings, like a spare battery, extra memory, and a carrying case) brand new.
I let it sit for a week, when I hit on the idea of popping out the CMOS backup battery and letting the motherboard sit for a few hours. No other ideas (besides re-purposing the LCD panel as a makeshift monitor, which my web-searches confirmed to be an exercise only for hardcore electrical engineers) seemed appealing, so I did. To my utter, utter joy, the overrated hunk of plastic actually worked when I switched it back on. For those listening from home: if things seem desperate, give the battery-removal a try. That is, of course, if your warranty is expired (this will assuredly void it), and you know what you're doing, and you take all of the proper precautions in regards grounding and the like. Disconnect all sources of power. And be sure to read the hardware manual.
I suspected the battery-reset might work based on the way in which the failure presented itself. I switched off a working computer, and when I tried to reboot, I had a plastic brick. This (in a hand-waving sort of way) meant that the problem was confined to the bootstraping code.
I wouldn't have been in (and may still be, if this doesn't hold out) this silly mess if I had sprung for the three-year warranty. In hindsight, purchasing a warranty that lasts until the machine is obsolete is probably a Good Idea. Especially when the machine is a laptop, and parts-swapping is non-trivial.
Update: 6 July 2002. The backlight is dead, which is unfortunate because the rest of the LCD works perfectly. IBM won't sell a replacement. (They offered to sell a new screen, for $475 or so.) I opted to buy an external monitor, in anticipation of this computer's impending death. Perhaps I'll buy a replacement backlight lamp, but the one site that appeared to sell them had the WWW equivalent of the Malden, Massachusetts-look. It's not easy to build a site that conjures up visions of decaying retail storefronts, but this place managed to do it.
I use an ancient IBM Aptiva as a firewall. It runs OpenBSD and has a pair of NICs, like the Compaq. Unlike the Compaq, it's quite flaky -- and displays a disturbing tendency to not reboot without a power-cycle. But it does the filtering I need.
My family uses a Compaq Presario 8702 which took to Linux, but less pleasantly. My first mistake was deleting the disk partition that enables BIOS editing (I'm used to machines that kept the BIOS setup program in ROM.) Fortunately, it detects new hardware (like RAM) properly when it's inserted.
The sound card worked best with ALSA, but compiling it was a headache until I upgraded to the 2.4.5 kernel. (For some reason, the first time I compiled, my indication that the computer had only one CPU didn't stick, screwing up the header files to no end.) Try the ALSA module snd-card-interwave-stb if you have the Presario 8702.
Sound support on the Compaq remains spotty, though some editing in the rc.sysinit and init.d/halt files helped get it to recognize its sound devices at boot and load the appropriate mixer settings. ALSA is running in OSS emulation mode, but the emulation isn't perfect -- compared to the ThinkPad, which does everything sound-related but run IBM ViaVoice for Linux and play MIDIs right out of the box. The necessary configuration tricks (I assume they're configuration tricks) to get MIDI and ViaVoice voice recognition to work, I have yet to embark upon.
In a fit of retro-computing, I attacked a Wyse wy50 serial terminal to the Compaq, which provides a convenient place to log in if I crash my laptop at home. If you have such a terminal, you can learn how to disable the irritating keyclick here.