![]() | ![]() |
|
Linux Laptop-HOWTOWerner Heuser <wehe@tuxmobil.org>v2.2b, 27 February 2003Laptops are different from desktops/towers. They use certain hardware such as PCMCIA cards, infrared ports, batteries, docking stations. Often their hardware is more limited (e.g. disk space, CPU speed), though the performance gap is becoming smaller. In many instances, laptops can become a desktop replacement. Hardware support for Linux (and other operating systems) on laptops is sometimes more limited (e.g. graphic chips, internal modems). Laptops often use specialized hardware, hence finding a driver can be more difficult. Laptops are often used in changing environments, so there is a need for multiple configurations and additional security strategies. Though there are laptop related HOWTOs available already, this HOWTO contains a concise survey of laptop related documents. Also, laptop related Linux features, such as installation methods for laptops (via PCMCIA, without CD drive, etc.), laptop hardware features and configurations for different (network) environments are described. Besides there are some notes on PDAs, Handheld PCs and other mobile computer devices (digital cameras, cellular phones, calculators). And though some caveats Linux is a better choice for laptops, than most other operating systems. Because it supports numerous installation methods, works in many heterogenoues environments and needs smaller resources.
1. Preface
2. Copyright, Disclaimer and Trademarks
3. Which Laptop to Buy?
4. Laptop Distribution
5. Installation
6. Hardware In Detail
7. Palmtops, Personal Digital Assistants - PDAs, Handheld PCs - HPCs
8. Cellular Phones, Pagers, Calculators, Digital Cameras, Wearable Computing
9. Accessories
10. Different Environments - On the Road
11. Other Resources
12. Repairing the Hardware
13. Solutions with Laptops
14. Other Operating Systems
15. ToDo
16. Revision History
17. Credits
18. Appendix A - Survey about Micro Linuxes
19. Appendix B - Dealing with Limited Resources or Tuning the System
20. Appendix C - NeoMagic Chip NM20xx
21. Appendix D - Annotated Bibliography
22. Appendix E - Resources for Specific Laptops1. PrefaceLife is the first gift, love is the second, and understanding is the third. -- Marge Piercy
1.1 About the AuthorPeople like either laptops or desktops. I like to work with laptops rather than with desktops. I like Linux too. My first HOWTO was the Linux/IR-HOWTO about infrared support for Linux. My second is this one and my third the Ecology-HOWTO, about some ways to use Linux in an ecology aware manner. Also I have written some pages about Linux with certain laptops: Olivetti Echos 133 DM (German) (together with Kurt Saetzler), HP OmniBook 800CT, HP OmniBook 3100 (together with Friedhelm Kueck) COMPAQ Armada 1592 DT and COMMODORE C286LT. During the work with the Laptop-HOWTO I have collected some surveys about laptop related hardware: graphic chips, unofficially supported PCMCIA cards, internal modems and infrared chips. But I don't claim to be a laptop guru, I just had the opportunity to install Linux on some laptops and I simply want to share the information I collected. Since I don't own a non-Intel based machine, this HOWTO might not contain all the details for non-Intel systems or may contain inaccuracies. Sorry.
1.2 SponsoringThis HOWTO is free of charge and free in the sense of the General Public Licence - GPL. Though it requires much work and could gain more quality if I would have some more hardware. So if you have a spare laptop, even an old one or one which requires repair, please let me know. Especially I need one with infrared port, USB port, DVD drive, WinModem and a non Intel machine. The according chapters need a major rewrite. For the curious, this HOWTO is written on a HP OmniBook 800CT 5/100. Or sponsor a banner ad at my WWW pages TuxMobil. You can hire me for readings or workshops on Linux with Laptops, Repairing of Laptops and other Linux topics, too.
1.3 About the Document (Mirrors, Translations, Versions, Formats, URLs)Many times I have mentioned MetaLab formerly known as SunSite. This site carries a heavy load, so do yourself a favor, use one of the MetaLab mirrors . For Debian/GNU Linux the mirror URLs are organized in this scheme This text is included in the LINUX DOCUMENTATION PROJECT - LDP . Richard Worwood mirrors this HOWTO at http://www.felch01.demon.co.uk/laptop-howto.html . Lionel, "trollhunter" Bouchpan-Lerust-Juery, <trollhunter@linuxfr.org> provides a translation into French. You can download or browse it at http://infonomade.linuxfr.org/portables/ressourcesfr.html#howto . And he mirrors the English version at http://infonomade.linuxfr.org/portables/ressourcesen.html#howto He has also written a HOWTO about portables and wearables, please look at his pages http://infonomade.linuxfr.org/index.html (French version) http://infonomade.linuxfr.org/indexen.html (English version). Translations into Japanese (Ryoichi Sato <rsato@ipf.de>), Italian (Alessandro Grillo <Alessandro_Grillo@tivoli.com>), Portuguese (Gledson Evers <pulga_linux@bol.com.br> the translation will be announced at LinuxALL) and Greek (Vassilis Rizopoulos <mscyvr@scs.leeds.ac.uk>) are under construction. Please contact me before starting a translation to avoid double work. Since a translation is a great amount of work, I recommend to do this work as a group. Nearly all of the programms I mention are available as Debian/GNU Linux packages, or as RPM packages, look up your favorite RPM server, for instance RUFUS . The latest version of this document is available in different formats at TuxMobil .
1.4 ContactThis document isn't ready yet. If you like to write a chapter or even a smaller part by yourself, please feel free to contact me. Also your suggestions and recommendations and critics are welcome. But please don't expect me to solve your laptop related problems if the solution is already documented. Please read all according manual pages, HOWTOs and WWW sites first, than you may consider to contact me or the other resources mentioned below. Since I want to write much more stuff about mobile computing and Linux I'm thinking about turning this HOWTO into a book. Werner Heuser <wehe@tuxmobil.org>
2. Copyright, Disclaimer and TrademarksCopyright © 1999 by Werner Heuser. This document may be distributed under the terms set forth in the LDP license . This is free documentation. It is distributed in the hope that it will be useful, but without any warranty. The information in this document is correct to the best of my knowledge, but there's a always a chance I've made some mistakes, so don't follow everything too blindly, especially if it seems wrong. Nothing here should have a detrimental effect on your computer, but just in case I take no responsibility for any damages incurred from the use of the information contained herein. Some laptop manufacturers don't like to see a broken laptop with an operating system other than the one shipped with it, and may reload MS-Windows if you complain of a hardware problem. They may even declare the warranty void. Though IMHO this isn't legal or at least not fair. Always have a backup of both the original configuration and your Linux installation if you have to get your laptop repaired. Though I hope trademarks will be superfluous sometimes (you may see what I mean at Open Source Definition) : If certain words are trademarks, the context should make it clear to whom they belong. For example "MS Windows NT" implies that "Windows NT" belongs to Microsoft (MS). Mac is a trademark by Apple Computer. All trademarks belong to their respective owners.
3. Which Laptop to Buy?
3.1 IntroductionPortable computers may be divided into different categories. This is a subjective decision, but I try to do so. My groupings roughly follow the generally accepted marketing categories. The criteria could be:
3.2 Portables, Laptops/Notebooks, Sub/Mini-Notebooks, Palmtops, PDAs/HPCs
PortablesWeight greater than 4.0 kg (9 lbs). Features like a PC, but in a smaller box and with LCD display. Examples: lunchbox or ruggedized laptops (e.g., http://www.bsicomputer.com/)
Laptops/NotebooksWeight between 1.7 and 4.0 kg (4 to 9 lbs). Features custom hardware and usually a special CPU. Examples: HP OmniBook 3100, COMPAQ Armada 1592DT. The terms laptop and notebook seem equivalent to me.
Sub-Notebooks/Mini-NotebooksWeight between 1.3 and 1.7 kg (3 to 4 lbs). Features: external floppy drive, external CD drive. Examples: HP OmniBook 800CT, Toshiba Libretto 100, COMPAQ Aero, SONY VAIO 505.
PalmtopsWeight between 0.7 and 1.3 kg (1.5 to 3 lbs). Features: proprietary commercial operating systems. Examples: HP200LX.
Personal Digital Assistants (PDAs)/Handheld PCs (HPCs)Weight below 0.7 kg (1.5 lbs). Features: proprietary commercial operating systems and often non-Intel CPU with commercial operating systems like PalmOS, EPOC32, GEOS, Windows CE. Examples: Newton Message Pad, Palm III (former Pilot), Psion Series 3 and 5, CASIO Z-7000.
WearablesWatches, digital pens, calculators, digital cameras, cellular phones and other wearables.
3.3 Linux FeaturesDue to a lack of support by some hardware manufacturers, not every feature of a laptop is always supported or fully operational. The main devices which may cause trouble are: graphic chip, IrDA port, sound card, PCMCIA controller , PnP devices and internal modem. Please try to get as much information about these topics before buying a laptop. But often it isn't quite easy to get the necessary information. Sometimes even the specifications or the hotline of the manufacturer aren't able to provide the information. Therefore I have included a Linux Compatibility Check chapter in the Hardware In Detail sections below. Depending on your needs, you might investigate one of the vendors that provide laptops pre-loaded with Linux. By purchasing a pre-loaded Linux laptop, much of the guesswork and time spent downloading additional packages could be avoided. See the Linux Laptop Manufacturer Survey.
3.4 Main Hardware FeaturesBesides its Linux features, there often are some main features which have to be considered when buying a laptop. For Linux features please see the Hardware In Detail section below.
WeightDon't underestimate the weight of a laptop. This weight is mainly influenced by:
DisplayLaptops come with one of two types of displays: active matrix (TFT) and passive matrix (DSTN). Active matrix displays have better color and contrast, but usually cost more and use more power. Also consider the screen size. Laptops may be purchased with screens up to 15". A bigger screen weighs more, costs more, and is harder to carry, but is good for a portable desktop replacement.
BatteriesThe available battery types are Lithium Ion (LiIon), Nickel Metal Hydride ( NiMH) and Nickel Cadmium (NiCd). LiIon batteries are the most expensive ones but a lot lighter than NiCd for the same energy content, and have minimal -- but present -- memory effects. NiMH is better than NiCd, but still rather heavy and does suffer some (although less than NiCd) memory effects. Unfortenately most laptops come with a proprietary battery size. So they are not interchangeable between different models.
CPU
Supported CPU FamiliesFor details about systems which are supported by the Linux Kernel, see the Linux FAQ . See also Current ports of Linux OS
MiscellaneousAt higher speed, a CPU consumes more power and generates more heat. Therefore, in many laptops a special low-power CMOS CPU is used. Usually, this special CPU doesn't use as much power as a similar processor used in a desktop. These special CPUs are also more expensive. As a side effect you may find that laptops with a desktop CPU often have a fan which seems quite loud.
CoolingAn enormously important issue. Anything based on PPC or Pentium will generate enormous amounts of heat which must be dissipated.Generally, this means either a fan, or a heat sink the size of the case.If it's a fan, the air path had better not ever get blocked, or it will overhead and burn out.This means machines with a fan mounted in the bottom are a big, big mistake: you can't use them on a soft surface.
Keyboard QualityThough you might use your desktop computer to do longer writings, a good keyboard can save you some headaches and finger-aches. Look especially for the location of special keys like:
PriceLaptops are quite expensive if you compare them with desktops. So you may decide between a brand or no-name product. Though I would like to encourage you to take a no-name product, there are some caveats. I have experienced that laptops break often, so you are better off, when you have an after sales warranty, which is usually only offered with brand products. Or you may decide to take a second hand machine. When I tried this, I discovered that the laptop market is changing quite often. A new generation is released approximately every three months (compared by CPU speed, harddisk capacity, screen size etc.). So laptops become old very quick. But this scheme often isn't followed by the prices for second hand laptops. They seem too expensive to me. Anyway if you plan on purchasing a second hand machine, review my recommendations on checking the machine. For German readers there is an online market place at http://www.hardware.de, which offers a good survey about current prices for second hand machines.
Power SupplyIf you travel abroad pay attention to the voltage levels which are supported by the power supply. Also the power supply is often one of the heavier parts of a laptop.
3.5 Sources of More InformationSpecifications, manuals and manufacturer support often are not helpful. Therefore you should retrieve information from other sources too:
3.6 Linux Compatibility Check
Related HOWTOs
Check Methods in GeneralIf you can't find the necessary information through the above mentioned sources, you are on your own. Luckily, Linux provides many means to help. For details see the Hardware on Detail section below. In general you may use:
If you don't want to install a complete Linux you may retrieve this information by using a micro Linux ( see appendix A). The package If your laptop came with Windows, you may determine a lot of hardware settings from the installation. Boot into DOS or Windows to get the information you need. Using Windows9x/NT to get hardware settings, basically boot Windows, then Using MS-DOS and Windows3.1x you can use the command Sometimes it's difficult to know what manufacturer has built the machine or parts of it actually. The FCC "Federal Communications Commission On-line Equipment Authorization Database may be used, if you are having problems identifying the manufacturer of a laptop or notebook computer (or other electronic device,) this site lets you search the FCC database based on the FCC ID number you can usually find on the equipment if it was marketed in the United States of America." The Lothar Project is a Mandrake-related project to provide a GUIed interface to get at hardware configuration information on Linux-based systems. It provides a library for different system informations, too. Many laptops are no more compatible with Windows than Linux. David Hinds, author of the PCMCIA drivers, points out that Toshiba notebooks use a proprietary Toshiba PCMCIA bridge chip that exhibits the same bugs under Windows as under Linux. IBM Thinkpads have serious BIOS problems that affect delivery of events to the power management daemon Some incompatibilities are temporary, for instance laptops that have Intel's USB chip will probably get full USB support, eventually.
3.7 Writing a Device DriverIf you encounter a device which is not yet supported by Linux, don't forget it's also possible to write a driver by yourself. You may look at the book from Alessandro Rubini, Andy Oram: Linux Device Drivers.
3.8 Buying a Second Hand LaptopSome recommendations to check an used laptop, before buying it:
AFAIK there is no Linux tool like the DOS tools CHECK-IT, DR. HARD, SYSDIAG and others. These tools include many of the tests in one integrated suite. One of the best IMHO is the tool Please note this quotation from the disclaimer: "This program is written with the target audience being a trained, experienced technician. It is NOT designed to be used by those ignorant of computer servicing. Displays are not pretty but functional. Information is not explained since we are not trying to educate. This software should be considered to be just like any other tool in a tech's toolbox. It is to be applied with care, in the right situation, in order to find answers to specific problems. If you are an end user who is less than confident of dealing with computer hardware, this is probably not a program for you." Laptop computers, unlike desktop machines, really do get used up. Lithium batteries are good for no more than 400 recharge cycles, sometimes much fewer. Keyboards wear out. LCD screen backlighting grows dim. Mouse buttons fail. Worst of all, connectors get loose as a result of vibration, causing intermittent failures (e.g. only when you hit the <Enter> key). We have heard of a machine used on the table in a train being shaken to unusability in one trip.
3.9 No Hardware RecommendationsIt's difficult to give any recommendations for a certain laptop model in general. Your personal needs have to be taken into account. Also the market is changing very quickly. I guess every three months a new generation of laptops (according to harddisk space, CPU speed, display size, etc.) comes into the market. So I don't give any model or brand specific recommendations.
4. Laptop Distribution
4.1 RequirementsFrom the Battery-HOWTO I got this recommendation (modified by WH): A Message to Linux Distributors If you happen to be a Linux distributor, thank you for reading all this. Laptops are becoming more and more popular, but still most Linux distributions are not very well prepared for portable computing. Please make this section of this document obsolete, and make a few changes in your distribution. The installation routine should include a configuration, optimized for laptops. The minimal install is often not lean enough. There are a lot of things that a laptop user does not need on the road. Just a few examples. There is no need for three different versions of vi (as found in Suse Linux). Most portable systems do not need printing support (they will never be connected to a printer, printing is usually done with the desktop system at home). Quite a few laptops do not need any network support at all. Don't forget to describe laptop-specific installation problems, e. g. how to install your distribution without a cd-rom drive or how to setup the plip network driver. Add better power management and seamless PCMCIA support to your distribution. Add a recompiled kernel and an alternative set of PCMCIA drivers with apm support that the user can install on demand. Include a precompiled apmd package with your distribution. Add support for dynamically switching network configurations. Most Linux laptops travel between locations with different network settings (e. g. the network at home, the network at the office and the network at the university) and have to change the network ID very often. Changing a Linux system's network ID is a pain with most distributions. Add a convenient PPP dialer with an address book, that does not try to start multiple copies of the PPP daemon if you click on the button twice (e.g., the RedHat
4.2 RecommendationThe Debian/GNU Linux has most of the desired features for a laptop installation. The distribution has a quite flexible installation tool. The installation process is well documented, especially concerning the methods which are useful at laptops. All the binaries are tiny, because they are stripped. A mailing list debian-laptop including a searchable archiv is provided. And Debian/GNU Linux is free. At the end of August 1999 the Debian Laptop Distribution - Proposal was issued. And some more laptop related packages and a Debian meta-package dedicated to laptops are on the way. Note: I know other Linux distributions work well with laptops, too. I even tried some of them, see my pages about certain laptops mentioned above.
5. Installation
5.1 Related HOWTOs
5.2 Prerequisites - PartitioningPartitioning can be done in a very sophisticated way. Currently I have only some first thoughts. I assume that with laptops there are still some reasons (e.g. updating the firmware of PCMCIA cards and BIOS) to share Linux and Windows9x/NT. Depending on your needs and the features of your laptop you could create the following partitions:
Note this chapter isn't ready yet. Please read the according HOWTOs first.
5.3 Linux Tools to Repartition a Hard Disk
GNU parted
GNU parted allows you to create, destroy, resize and copy partitions. It currently supports ext2 and fat (fat16 and fat32) filesystems, and MS-DOS disklabels. This program can destroy data, and is not yet safe for general use.
ext2resize
ext2resize is a program capable of resizing (shrinking and growing) ext2 filesystems. Checks whether the new size the user gave is feasible (i.e. whether the fs isn't too occupied to shrink it), connected to the
fixdisktableSomething was recently published on the <linux-kernel@vger.kernel.org> mailing list about a partition recovery program. I have not used this, nor examined it, nor read much about it (except for the HTML page.) It may be useful to some of you if you have problems with FIPS, Ranish Partition Manager/Utility or Partition Magic destroying your partition information. You can find information on this partition-fixer named "fixdisktable" at http://bmrc.berkeley.edu/people/chaffee/fat32.html . It is quite a ways down in that page. Or look for it via ftp in ftp://bmrc.berkeley.edu/pub/linux/rescue/ and locate the latest "fixdisktable" in that ftp directory. (Source and binary dist should be available.)
CaveatsBefore repartitioning your harddisk take care about the disk layout. Especially look for hidden disk space or certain partitions used for suspend to disk or hibernation mode. Some laptops come with a partition which contains some BIOS programs (e.g. COMPAQ Armada 1592DT). Search the manual carefully for tools like Please see chapter DOS Tools to Repartition a Hard Disk, too. By Nathan Myers from LL - LinuxLaptops: "I partitioned a 10G Thinkpad drive last week and then none of fdisk, cfdisk, or sfdisk would read the partition table any more. It turns out I had created a partition that started on cylinder 1024, and there's a bug common to all three programs that makes them fail in that case. (I didn't try Disk Druid.) So, maybe you should add some advice about not starting partitions on that cylinder."
Multi BootPlease see the Different Environments chapter, for information about booting different operating systems from the same harddisk.
5.4 Installation MethodsFrom the Battery-HOWTO:"Installing and using Linux on a laptop is usually no problem at all, so go ahead and give it a try. Unlike some other operating systems, Linux still supports and runs well on even very old hardware, so you might give your outdated portable a new purpose in life by installing Linux on it." One of the great benefits of Linux are its numerous and flexible installation features, which I don't want to describe in detail. Instead I try to focus on laptop specific methods, which are necessary only in certain circumstances. Most current distributions support installation methods which are useful for laptops, including installation from CD-ROM, via PCMCIA and NFS (or maybe SMB). Please see the documents which are provided with these distributions for further details or take a look at the above mentioned manuals and HOWTOs.
5.5 From a Boot Floppy plus CD-ROM - The Usual WayWith modern laptops, the usual Linux installation (one Boot Floppy, one Support Floppy, one Packages CD-ROM) should be no problem, if there is are floppy drive and a CD-ROM drive available. Though with certain laptops you might get trouble if you can not simultaneously use the floppy drive and CD-ROM drive , or if the floppy drive is only available as a PCMCIA device, as with the Toshiba Libretto 100. Some laptops support also booting and therefore installation completely from a CD drive, as reported for the SONY VAIO in the VAIO-HOWTO. Note: Check the BIOS for the CD boot option and make sure your Linux distribution comes on a bootable CD. Certain laptops will only boot zImage kernels. bzImage kernels won't work. This is a known problem with the IBM Thinkpad 600 and Toshiba Tecra series, for instance. Some distributions provide certain boot floppies for these machines or for machines with limited memory resources, Debian/GNU Linux http://www.debian.org for instance.
5.6 From a DOS or Windows Partition at the Same MachineThis is a short description of how to install from a CD-ROM under DOS without using boot or supplemental floppy diskettes. This is especially useful for notebooks with swappable floppy and CD-ROM components (if both are mutually exclusive) or if they are only available as PCMCIA devices. I have taken this method from "Installing Debian GNU/Linux 2.1 For Intel x86 - Chapter 5 Methods for Installing Debian" http://www.debian.org :
This should work for other distributions with similar changes. For RedHat see How to Install from CD-ROM without Boot and Supplemental Disks . Some new laptops may be able to boot a Linux distribution on a bootable CD-ROM (e.g., RedHat). This would allow installation without a floppy disk drive.
5.7 From a Second Machine With a Micro Linux On a Floppy
IntroductionBecause of their small or non-existent footprint, micro-Linuxes are especially suited to run on laptops, particularly if you use a company-provided laptop running Windows9x/NT. Or for installation purposes using another non Linux machine. There are several micro Linux distributions out there that boot from one or two floppies and run off a ramdisk. See appendix A for a listing of distributions. I tried the following with I have described how to copy an already existing partition, but it might be also possible to achieve a customized installation. Note: Usually you would try to achieve an installation via NFS, which is supported by many distributions. Or if your sources are not at a Linux machine you might try the SMB protocol with SAMBA, which is also supported by
PrerequisitesYou need two machines equipped with Linux. With the laptop (client/destination) on which you want to install Linux use the muLinux floppy. The other machine (server/source) may be a usual Linux box or also using muLinux. Though its low transfer rate I use a serial null modem cable because its cheap. You may apply the according method using a PCMCIA network card and a crossover network cable or a HUB, or a parallel "null modem" cable and PLIP. As the basic protocol I used PPP, but you may also use SLIP. For the data-transfer I used Basic requirements are:
Source MachineAt your source machine issue the following commands (attention: IP address, port number, partition and tty are just examples!):
Destination MachineAt the destination machine issue:
Configuration of the Destination Machine after the Transfer
Miscellaneous
5.8 From a Second Machine With a 2.5" Hard Disk AdapterFrom Adam Sulmicki adam@cfar.unc.edu I got this hint: Most but not all harddisks in laptops are removable, but this might be not an easy task. You could just buy one of those cheap 2.5" IDE converters/adapters which allow you to connect this harddisk temporarily to a PC with IDE subsystem, and install Linux as usual using that PC. You may do so using the harddisk as the first IDE drive or besides as the second IDE drive. But than you need to be sure that lilo writes to the right partition. Also you have to make sure that you use the same translation style as your laptop is going to use (i.e. LBA vs. LARGE vs. CHS ). You find additional information in the Hard-Disk-Upgrade-mini-HOWTO. You might copy an existing partition, but it is also possible to achieve a customized installation.
5.9 From a PCMCIA DeviceSince I don't have a laptop which comes with a PCMCIA floppy drive (for instance Toshiba Libretto 100), I couldn't check this method. Please see the chapter Booting from a PCMCIA Device in the PCMCIA-HOWTO. Also I couldn't check whether booting from a PCMCIA harddisk is possible. Anyway, when you are able to boot from a floppy and the laptop provides a PCMCIA slot, it should be possible to use different PCMCIA cards to connect to another machine, to an external SCSI device, different external CD and ZIP drives and others. Usually these methods are described in the documentation which is provided with the distribution.
5.10 From a Parallel Port Device (ZIP Drive, CD Drive)I couldn't check this method by myself, because I don't have such a device. Please check the according Install-From-Zip-mini-HOWTO and CD-HOWTO. Also I don't know how much these installation methods are supported by the Linux distributions or the micro Linuxes. I suppose you have to fiddle around a bit to get this working.
5.11 From a Second Machine Using the Parallel Port - PLIP Network InstallI got this courtesy by Nathan Myers <ncm@cantrip.org>: "Many distributions support installing via a network, using FTP, HTTP, or NFS. It is increasingly common for laptops to have only a single PCMCIA slot, already occupied by the boot floppy drive. Usually the boot floppy image has drivers for neither the floppy drive itself, nor the PCMCIA subsystem. Thus, the only network interface available may be the parallel port. Installation via the parallel port using the PLIP protocol has been demonstrated on, at least, Red Hat. All you need is a Laplink parallel cable, cheap at any computer store. See the PLIP-mini-HOWTO for details on setting up the connection. Note that (uniquely) the RedHat installation requires that the other end of the PLIP connection be configured to use ARP (apparently because RedHat uses the DOS driver in their installer). On the host, either The PLIP Install HOWTO by Gilles Lamiral describes how to install the Debian GNU-Linux distribution on a computer without ethernet card, nor cdrom, but just a local floppy drive and a remote nfs server attached by a Null-Modem parallel cable. The nfs server has a cdrom drive mounted and exported.
5.12 Installing Linux on Small MachinesIf you have less than 8MB memory and want to install via NFS you may get the message "fork: out of memory". To handle this problem, use
6. Hardware In Detail
6.1 PCMCIA Controller
Linux Compatibility CheckWith the
Related HOWTOs
PCMCIA Configuration - SurveyIn the mailing lists where I'm a member, the question "How can I set up PCMCIA support, after the Linux installation?" comes up sometimes. Therefore I try to give a short survey. But the authoritative source for the latest information about the PCMCIA Card Services for Linux, including documentation, files, and generic PCMCIA information is the Linux PCMCIA Information Page . For problems with PCMCIA and APM see the APM chapter.
Software
PCMCIA Controller
PCMCIA Card
6.2 Infrared Port
Linux Compatibility CheckTo get the IrDA port of your laptop working with Linux/IrDA you may use StandardInfraRed (SIR) or FastInfraRed (FIR).
SIRUp to 115.200bps, the infrared port emulates a serial port like the 16550A UART. This will be detected by the kernel serial driver at boot time, or when you load the serial module. If infrared support is enabled in the BIOS, for most laptops you will get a kernel message like:
Serial driver version 4.25 with no serial options enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A #first serial port /dev/ttyS0 ttyS01 at 0x3000 (irq = 10) is a 16550A #e.g. infrared port ttyS02 at 0x0300 (irq = 3) is a 16550A #e.g. PCMCIA modem port
FIRIf you want to use up to 4Mbps, your machine has to be equipped with a certain FIR chip. You need a certain Linux/IrDA driver to support this chip. Therefore you need exact information about the FIR chip. You may get this information in one of the following ways:
Hardware SurveyI have made a hardware survey at http:/www.snafu.de/~wehe/ir_misc.html. This list also contains information about infrared capable devices which are not mentioned here (mice, printers, remote control, transceivers, etc.). To make this list more valuable, it is necessary to collect more information about the infrared devices in different hardware. You can help by sending me a short e-mail containing the exact name of the hardware you have and which type of infrared controller is used. Please let me know also how well Linux/IrDA worked (at which tty, port and interrupt it works and the corresponding infrared device, e.g. printer, cellular phone). Also you can help by contributing detailed technological information about some infrared devices, which is necessary for the development of drivers for Linux.
Related HOWTOs
IrDA Configuration - Survey
IrDAThe Linux infrared support is still experimental, but rapidly improving. I try to describe the installation in a short survey. Please read my Linux/IR-HOWTO for detailed information.
Kernel
Software
Hardware
Linux Remote Control - LiRCLinux Remote Control http://fsinfo.cs.uni-sb.de/~columbus/lirc/ is maintained by Christoph Bartelmus. "Lirc is a package that supports receiving and sending IR signals of the most common IR remote controls. It contains a device driver for hardware connected to the serial port, a daemon that decodes and sends IR signals using this device driver, a mouse daemon that translates IR signals to mouse movements and a couple of user programs that allow to control your computer with a remote control." I don't have valid information about how much infrared remote control is working with laptop infrared devices.
6.3 Graphic Chip
Linux Compatibility Check
Video ModeThe tool "SuperProbe is a a program that will attempt to determine the type of video hardware installed in an EISA/ISA/VLB-bus system by checking for known registers in various combinations at various locations (MicroChannel and PCI machines may not be fully supported; many work with the use of the ... At this time, SuperProbe can identify MDA, Hercules, CGA, MCGA, EGA, VGA, and an entire horde of SVGA chipsets (see the -info option, below). It can also identify several HiColor/True-color RAMDACs in use on SVGA boards, and the amount of video memory installed (for many chipsets). It can identify 8514/A and some derivatives, but not XGA, or PGC (although the author intends to add those capabilities). Nor can it identify other esoteric video hardware (like Targa, TIGA, or Microfield boards).": For testing reasons start the X server with
Text ModeJust watch the display and determine if it works properly. If not, try to enable different video modes at startup time. Setting up X can sometimes be an exercise in trial and error.
Related HOWTOs
Survey X-ServersYou might discover that some features of your laptop are not supported by XFree86, e.g. high resolutions, accelerated X or an external monitor. Therefore I give a survey of available X servers.
If you can't get an appropriate X server working, but don't want to effort a commercial X server you may try the VGA16 or the mono server included in XFree86.
ResourcesYou may find a survey about X windows resources at Kenneth E. Harker's page Linux on Laptops and a survey about current graphic chips used in laptops at TuxMobil.
External MonitorThere are several different methods to activate support for an external monitor: as a BIOS option or during runtime with a keystroke e.g.
MiscellaneousSometimes you may encounter a display not working properly in text mode. Currently I don't have any recommendations, please see Keyboard-Console-HOWTO. Take care of the backlight AFAIK this device can only bear a limited number of uptime circles. So avoid using screensavers too much. For problems with X windows and APM please see the APM chapter.
6.4 Sound
Linux Compatibility CheckThe only way I know to check this, is to compile the different sound drivers into the kernel and check whether they are detected or not. The best way to do so, is to compile them as modules because it's easier to load different parameters such as interrupts and IO ports than. For the new 2.2.x kernels, read the /usr/src/linux/Documentation/sound/Introduction document by Wade Hampton. This document may help you get started with sound. Also, you might try one of the commercial sound drivers mentionend below. Related HOWTOs
Survey Sound DriversMany new laptops come with 16-bit sound. But MWave and some other sound technologies won't work or are very hard to get working, e.g. booting to DOS, loading a driver, then using the soundcard as a standard SB-PRO. So you might need a commercial sound driver. With the recent announcement of Linux support by IBM, it would be GREAT if IBM supported the MWave under Linux (hint, hint...). As a last ressort you may try the speaker module
6.5 Keyboard
Linux Compatibility CheckUsually there are no problems with Linux and the keyboard. Though there are two minor caveats: First the
*** us.map~ Tue Oct 31 14:00:07 1995 --- us.map Thu Aug 28 13:36:03 1997 *************** *** 113,119 **** keycode 57 = space space control keycode 57 = nul alt keycode 57 = Meta_space ! keycode 58 = Caps_Lock keycode 59 = F1 F11 Console_13 control keycode 59 = F1 alt keycode 59 = Console_1 --- 113,119 ---- keycode 57 = space space control keycode 57 = nul alt keycode 57 = Meta_space ! keycode 58 = Control keycode 59 = F1 F11 Console_13 control keycode 59 = F1 alt keycode 59 = Console_1
External (Second) KeyboardA second (or external) keyboard can be attached using the PS/2 port (I suppose this is not possible via the serial port, since there is no keyboard controller for the serial port). Also there is one laptop with a detachable keyboard the Siemens Scenic Mobile 800. This machine uses an infrared connection to the keyboard, but I don't know whether this works with Linux. WARNING: Don't plug the external keyboard in while the laptop is booted, or plug the mouse in the keyboard port and the keyboard in the mouse port. On a Toshiba, this caused one user to have to completely shutdown the laptop, remove the keyboard/mouse, and do a cold reboot. For PS/2 ports there are so called Y-Cable available, which make it possible to use external mouse and external keyboard at the same time if your laptop supports this feature.
Parport to AUX port adapter In some cases one kbd port and one aux port is not enough and you may want to add another keyboard or mouse. You can use this adapter, together with the On some laptops a splitter works to allow both mouse and keyboard to be plugged in; on others it doesn't work at all.If you might want to use both you had better check that it works, or you may find yourself waiting anxiously for USB support. Sun keyboard to PC serial port adapter: Many people have dreamed having their Sun Type 5 keyboard attached to their Linux box up to now. And with this adapter, it is finally possible. Because the standard Sun keyboards use TTL RS232 at 1200 bps to talk to the Suns, it's very easy to make them talk to any non-Sun computer by converting this to true RS232. All what you need is a MAX232 chip that'll take care about the correct voltage levels, and also some chip to invert the signals (CD4049 in the pic, I've used a 7400 quad-nand myself), since the MAX232 inverts them as well, and we don't need this. This all easily fits into a 25-pin serial connector.
6.6 Pointing Devices - Mice and Their Relatives
Linux Compatibility CheckYou may check your mouse with the Related HOWTOs
Mice Species
PS/2 MiceMost of the mice used in laptops are PS/2 mice (actually I don't know one with another mouse protocol). You may communicate with the PS/2 mouse through /dev/psaux or /dev/psmouse. If you use X windows this device and the protocol has to be set in /etc/XF86Config, too. In earlier releases, sometimes the GPM mouse manager and X windows had trouble sharing a mouse when enabled at the same time. But AFAIK this is no problem anymore for the latest versions. Speaking of Emulate3Buttons, 100ms is usually better than the 50ms allowed in most default setups of /etc/X11/XF86Config. Section "Pointer" Protocol "PS/2" Device "/dev/psaux" Emulate3Buttons Emulate3Timeout 100 EndSection
TouchpadUsually a touchpad works with the PS/2 mouse driver. A tip: I've heard that tipping with one , two or three fingers on the touchpad simultaneously results in pressing the left, middle and respectively the right mouse-button (by Martin Hoffmann <mh@rrz.uni-hamburg.de> for an IPC-Radiance 900). There is also a dedicated touchpad driver available. The Synaptics Touchpad Linux Driver supports pointing devices used in notebooks by Acer, Compaq, Dell, Gateway, Olivetti, Texas Instruments, Winbook, and others. Other URL N.N.. The recent In addition to translating finger motion into mouse motion and supporting the buttons, this support currently has several features (from the README):
These features can be enabled/disabled and many of them have time and speed parameters which can be adjusted to the taste of the user. It seems
Tapping with two fingers simultaneously to simulate a middle mouse button works on Logitech touchpads used in a few machines. Thanks to Geert Van der Plas for most of the touchpad chapter.
TouchscreenThe only laptop I know which includes a touchscreen is the Fujitsu Biblo 112. It may work in PS/2 or serial mouse compatibility mode. But I couldn't check this yet.
COMPAQ Concerto PenThe latest version of the Linux Compaq Concerto Pen Driver is available from Joe Pfeiffer's home page.
External MouseFor better handling, e.g. with a 3 button mouse you may use an external mouse. This usually a serial mouse or a PS/2 mouse, according to the port your laptop offers. Usually this is no problem. For PS/2 ports there are so called Y-Cable available, which make it possible to use external mouse and external keyboard at the same time if your laptop supports this feature. WARNING: Don't plug in the external mouse while powered up. If you have separate mouse and keyboard ports, make sure you plug the mouse in the mouse port and the keyboard in the keyboard port. If you don't, you may have to do a hard reboot of the laptop to get it to recover.
6.7 Advanced Power Management - APM
Linux Compatibility CheckFrom the Battery-Powered-mini-HOWTO " .. for APM to work on any notebook or energy-conscious desktop, the system BIOS ROM in the machine must support the APM Specification standard. Furthermore, for APM to work with the Linux operating system, the system BIOS ROM must support either the 1.0 or 1.1 version of the APM standard, and it must also support 32-bit protected mode connections. A system that supports APM 1.1 is preferred, as it provides more features that the device driver and supporting utilities can take advantage of." You may get information about the APM version with the
IntroductionFeatures of APM according to Documentation/Configure.help: "The system time will be reset after a USER RESUME operation, the /proc/apm device will provide battery status information, and user-space programs will receive notification of APM events (e.g., battery status change). " APM support consists of two parts: kernel support and user-land support.
Kernel LandFor kernel support, enable the parameters in the corresponding kernel section. Some features need special tweaking with certain machines (e.g. IBM ThinkPad) or even don't work, ("TI 4000M TravelMate and the ACER 486/DX4/75 because they don't have compliant BIOSes"). Currently all distributions I know don't provide a kernel with APM support enabled. So you usually have to compile your custom kernel. Please see Kernel-HOWTO or distribution manual for details. The available APM options are (please see Documentation/Configure.help in the kernel source tree for more details):
Joey Hess <joey@kitenet.net> wrote at debian-laptop@lists.debian.org
"I just installed kernel 2.2.12 on my laptop, and was having some trouble
getting apm working. it said apm disabled on user request at boot time.
Well, some grepping the kernel sources found that passing
User Land
The utilities for userland support may be found at http://worldvisions.ca/~apenwarr/apmd/. APMD is a set of programs that control the Advanced Power Management system found in most modern laptop computers. If you run a 2.2.x kernel and want to experiment, Gabor Kuti <seasons@falcon.sch.bme.hu> has made a kernel patch that allows you to hibernate any Linux system to disk, even if your computers APM BIOS doesn't support it directly. IMHO you don't need this features if your laptop provides a function key to invoke suspend mode directly. When you first install Linux, you will probably have to recompile the kernel. The kernel that came with your distribution probably does not have APM enabled. Please see the Battery Powered Linux Mini-HOWTO by <kontakt@hanno.de> Hanno Mueller and the page of Kenneth E. Harker for detailed information.
README Rik Faith <faith@acm.org> has transferred maintenance of the Linux apmd package over to me, Avery Pennarun <apenwarr@worldvisions.ca> and I'm finally getting around to making a release with the many updates we've collected since the last release back in 1996. Here's what
Richard Gooch wrote: I'have had a look at the beta version of
Though this topic was discussed controversly Richard Gooch has put together a package Also, have a look at Note: I didn't check wether this features are merged into one package (
CaveatsIf you have another operating system preinstalled or use another operating system at the same disk, make sure there is no "hibernation" or "suspend" tool installed, which could severely interfere with Linux, e.g. it might use disk space which is occupied by Linux or vice versa.
TroubleshootingIf your machine worked with 2.0.x kernels but not with the 2.2.x series, take this advice from Klaus Franken kfr@klaus.franken.de : "The default changed in 2.2. Search in the init-scripts for On some new machines (for instance HP Omnibook 4150 - 366 MHz model) when accessing /proc/apm, you may get a kernel fault
According to Documentation/Configure.help: "Some other things you should try when experiencing seemingly random, weird problems:
APM and PCMCIAPCMCIA Card Services and Advanced Power Management (from the PCMCIA-HOWTO): "Card Services can be compiled with support for APM (Advanced Power Management) if you've configured your kernel with APM support. ... The PCMCIA modules will automatically be configured for APM if a compatible version is detected on your system. Whether or not APM is configured, you can use
APM and Resuming X Windows"Many (most?) BIOSes fail to save and restore display controller chip registers, and X has no protocol to be notified of resume events, so on many systems suspend/resume is more-or-less incompatible with X." Linux Laptops has created a fix for this problem. Sometimes X windows and APM don't work smoothly together, the machine might even hang. A recommendation from Steve Rader: Some linux systems have their X server hang when doing
Modularization of APMAs far as I remember this is controversly discussed, but I don't remember the URL. It isn't a kernel feature yet.
APM Resume OptionsThe new 3.0beta versions add a new feature to apmd: it can run arbitrary
commands (like
APM and SoundLots of BIOSes fail to restore sound chip registers, so you may get
a squeal of feedback when you wake up the machine. A script in
/etc/apm/event.d can use
Software SuspendSoftware suspend enables the possibilty of suspendig machine. It doesn't need APM. You may suspend your machine by either pressing Sysrq-d or with 'swsusp' or 'shutdown -z (patch for sysvinit needed). It creates an image which is saved in your active swaps. By the next booting the kernel detects the saved image, restores the memory from it and then it continues to run as before you've suspended. If you don't want the previous state to continue use the 'noresume' kernel option.
6.8 ACPIACPI stands for Advanced Configuration and Power Interface. This is a specification by Toshiba, Intel and Microsoft. Besides many other things it also defines power management. This is why it is often compared to APM. The ACPI4Linux project has started at the beginning of 1999. The ACPI4Linux project is a kernel driver project aimed at implementing full ACPI support for Linux, including fan control, dock/undock detection and a WindowMaker dockable temperature meter. You may reach it at ACPI4Linux.
6.9 BatteriesFor information about available battery types, take a look at the Hardware Features chapter above. Please see Battery Powered Linux Mini-HOWTO by Hanno Mueller <kontakt@hanno.de> http://www.hanno.de Power Supplies for Laptops - (Draft) for further information. Stephen Rothwell http://www.canb.auug.org.au/~sfr/ is currently integrating a patch that will add multiple battery support to the kernel APM. From the WARNING: Try this at your own risk! Make sure the voltage of the fans is compatible to your battery. It works for me. In the US, this company has most batteries for anything and can rebuild many that are no longer manufactured: Batteries Plus, 2045 Pleasant Hill Road, Duluth, GA 30096 +1 770 495 1644.
6.10 MemoryUnfortenately most laptops come with a proprietary memory chips. So they are not interchangeable between different models. But this seems changing.
6.11 Plug-and-Play Devices (PnP)The Plug and Play driver project for Linux is a project to create support within the Linux kernel (see Linux.Org for more information) for handling Plug and Play (and other semi-PnP) devices in a clean, consistent way. It aims to allow a driver of any type of hardware to have this hardware configured by the PnP driver in the kernel. This driver is then notified when the device is reconfigured, or even removed from the system, so as to allow for graceful action in these circumstances http://www.io.com/~cdb/mirrors/lpsg/pnp-linux.html . ISA PnP tools is another useful package. And there is a project at RedHat http://www.redhat.com/pnp/overview.html . The latest PCMCIA driver package (>>3.1.0) has utilities -#ifdef __GLIBC__ +#if 0 /* def __GLIBC__ */ #include <byteswap.h> #else
6.12 Docking Station / Port Replicator
DefinitionsFirst some definitions. There is a difference between docking station and port replicator. I use the term docking station for a box which contains slots to put some interface cards in, and space to put a harddisk, etc. in. This box can be permanently connected to a PC. A port replicator is just a copy of the laptop ports which may be connected permanently to a PC.
Other SolutionsI don't use a docking station. They seem really expensive and I can't see any usefulness. OK you have to mess up with some more cables, but is it worth so much money? Docking stations are useful in an office environment when you have a permanent network connection, or need the docking station's SCSI adaptor (e.g., for a CD-R). Also all docking stations I know are proprietary models, so if you change your laptop you have to change this device, too. I just found one exception a docking station which connects to your laptop via IrDA the IRDocking IR-660 by Tekram http://www.tekram.com/Hot_Products.asp?Product=IR-660 . It supports these connectors: 10Base-T (RJ-45); PS/2 Keyboard; PS/2 Mouse; 25-Pin Printer Port (LPT); IR Transceiver; Power (6 VDC). So it seems that a VGA port and a port to connect a desktop PC directly are missing. This device should work with Linux/IrDA, though I couldn't check it out. I would prefer to buy a PC instead and connect it via network to the laptop. Or use an external display, which usually works well as described above, and an external keyboard and mouse. If your laptop supports an extra PS/2 port you may use a cheap solution a Y cable, which connects the PS/2 port to an external keyboard and an external monitor. Note: Your laptop probably has support for the Y cable feature, e.g. the COMPAQ Armada 1592DT.
Connection MethodsAFAIK there are three solutions to connect a laptop to a docking station:
From Martin J. Evans martin@mjedev.demon.co.uk "The main problem with docking stations is getting the operating system to detect you are docked. Fortunately, if you configure your kernel with the /proc file system (does anyone not do this?) you can examine the devices available and thus detect a docked state. With this in mind a few simple scripts is all you need to get your machine configured correctly in a docked state. You may want to build support for the docking station hardware as modules instead of putting it directly into the kernel. This will save space in your kernel but your choice probably largely depends on how often you are docked. 1) Supporting additional disks on the docking station SCSI card To my mind the best way of doing this is to:
2) Supporting additional network adaptors in the docking station You can use a similar method to that outlined above for the graphics card. Check the /proc filesystem in your rc scripts to see if you are docked and then set up your network connections appropriately. " Once you determine this information, you may use a script, similar to the following example, to configure the connection to your docking station at startup. The script is provided by Friedhelm Kueck:
# check, if Laptop is in docking-station (4 PCMCIA slots available) # or if it is standalone (2 slots available) # Start after cardmgr has started # # Friedhelm Kueck mailto:fk@impress.de # 08-Sep-1998 # # Find No. of Sockets SOCKETS=`tail -1 /var/run/stab | cut -d ":" -f 1` case "$SOCKETS" in "Socket 3") echo Laptop is in Dockingstation ... echo Disabeling internal LCD Display for X11 echo cp /etc/XF86Config_extern /etc/XF86Config # # Setup of PCMCIA Network Interface after start of cardmge # echo echo "Setting up eth0 for use at Network ..." echo /sbin/ifconfig eth0 10.1.9.5 netmask 255.255.0.0 broadcast 10.1.255.255 /sbin/route add -net 10.1.0.0 gw 10.1.9.5 /sbin/route add default gw 10.1.10.1 ;; "Socket 1") echo Laptop is standalone echo Disabling external Monitor for X11 cp /etc/XF86Config_intern /etc/XF86Config echo echo Network device NOT setup ;; esac
6.13 Network Connections
Related HOWTOs
Connection Methods
PCMCIA Network CardIf your laptop supports PCMCIA this is the easiest and fastest way to get network support. Make sure your card is supported before buying one.
Serial Null Modem CableProbably the cheapest way to connect your laptop to another computer, but quite slow. You may use PPP or SLIP to start the connection.
Parallel Port NIC (Pocket Adaptor)Accton Pocket Ethernet and Linux This ethernet adaptor uses a parallel port and delivers approximately 110k Bytes/s throughput for those notebooks that do not have PCMCIA slots. Linux and Linksys Ethernet Adaptors A short note on the use of the Linksys parallel-port ethernet adaptor under Linux. This is a widely available networking adaptor that doesn't require a PCMCIA slot.
Parallel "Null" Modem CableOffers more speed than a serial connection. Some laptops use chipsets that will not work with PLIP. Please see PLIP-HOWTO for details.
Docking Station NICI don't have experience with a NIC in a docking station yet.
6.14 Modem
Modem TypesThere are three kinds of modems available: internal, PCMCIA card or external serial port modems. But some internal modems will NOT work with Linux such as the MWave modems (IBM) or if the laptop has a WinModem. This is caused by non-standard hardware. So you have to use either a PCMCIA card modem or an external modem. Quotation from the Kernel-FAQ: "9.Why aren't WinModems supported? (REG, quoting Edward S. Marshall) The problem is the lack of specifications for this hardware. Most companies producing so-called WinModems refuse to provide specifications which would allow non-Microsoft operating systems to use them. The basic issue is that they don't work like a traditional modem; they don't have a DSP, and make the CPU do all the work. Hence, you can't talk to them like a traditional modem, and you -need- to run the modem driver as a realtime task, or you'll have serious data loss issues under any kind of load. They're simply a poor design." "Win modems are lobotomized modems which expect Windows to do some of their thinking for them. If you do not have Windows, you do not have a connection. " Anyway, I have set up a page collecting information on laptops with internal modems at
http://tuxmobil.org/ . Maybe it's possible to run such modems with MS-Windows9x/NT emulators like Recently there is a driver for Lucent WinModems (alpha) available at SuSE - Labs and LTModem diagnostic tool.
CaveatsWARNING: Pay attention to the different kinds of phone lines: analog and ISDN. You can't connect an analog modem to an ISDN port and vice versa. Though there might be hybrid modems available. Connecting to the wrong port may even destroy your modem. Trick: If you are looking for an analog phone port in an office building which is usually wired with ISDN, take a look at the fax lines, they are often analog lines. For tracking the packets on PPP you may use
6.15 SCSI
Hardware Compatibility CheckIf unsure about the right SCSI support, compile a kernel with all available SCSI drivers as modules. Load each module step by step until you get the right one.
Related HOWTOs
SurveyAFAIK there is no laptop yet with a SCSI harddisk. Though there are two models with a built in SCSI port: Texas Instruments TI 4000 and HP OmniBook 800. Maybe the PowerBook G3 has a SCSI disk, but I didn't check this yet. The old Apple Powerbook Duo models had a SCSI hard disk. For other models, if you need SCSI support you may get it by using a SCSI-PCMCIA card or via a SCSI adapter in a docking station.
6.16 Universal Serial Bus - USB
Linux Compatibility CheckYou should get information about the USB controller with
MiscelleaneousNewer laptops come with the Universal Serial Bus (USB). I haven't tried it on any of my systems because I don't have any USB devices. Visit http://www.linux-usb.org for the USB Linux home page. Also I have set up a page collecting information about laptops and USB at TuxMobil .
6.17 Floppy Drive
Linux Compatibility CheckUsually there are no problems connecting a floppy drive to a Linux laptop. But with a laptop floppy drive you may sometimes not be able to use every feature. I encountered the
6.18 CD DriveMost notebooks today come with CD drives. If floppy and CD drive are swappable they are usually mutually exclusive. Sometimes they come as PCMCIA devices. Or as SCSI device (HP OmniBook 800). AFAIK there are discmans available which have a port to connect them to a computer or even a SCSI port. I found an article published by Ziff-Davis Publishing Company (September 1996 issue, but missed to note the URL) written by Mitt Jones: "Portable PC Card CD-ROM drives transform laptops into mobile multimedia machines", which listed: Altec Lansing AMC2000 Portable Multimedia CD-ROM Center; Axonix ProMedia 6XR; CMS PlatinumPortable; EXP CDS420 Multimedia Kit; H45 QuickPCMCIA CD; Liberty 115CD; Panasonic KXL-D740; Sony PRD-250WN CD-ROM Discman.
6.19 DVD DriveThe Linux Video and DVD Project has made great headway since its start last February. They have just released the source code ( http://livid.on.openprojects.net/css.tgz) so that a DVD decoder card can unlock and read the DVD. Also provided on the site are links to various documents discussing DVD chipset specifications. The Linux Video and DVD Project is avidly seeking help from the opensource community for development. Universal Disk Format (UDF) Driver: "UDF is a newer CDROM filesystem standard that's required for DVD roms. It's meant to be a replacement for the ISO9660 filesystem used on today's CDROMs, but the immediate impact for most will be DVD. DVD multimedia cdroms use the UDF filesystem to contain MPEG audio and video streams. To access DVD cdroms you would need a DVD cdrom drive, the kernel driver for the cdrom drive, some kind of MPEG video support, and a UDF filesystem driver (like this one). Some DVD cdroms may contain both UDF filesystems and ISO9660 filesystems. In that case, you could get by without UDF support."
6.20 Harddisk
Linux Compatibility CheckUseful programms are
MiscellaneousBe careful when using your laptop abroad. I have heard about some destroyed harddisks due to a magnetic field emitted from the magnetic-holds at the backresttable of the seats in a german railway waggon. Though I am quite satisfied with the quality of the harddisk in my laptop, when I removed it from the case I unintendedly dropped it, I recommend to be very careful.
Form FactorsAFAIK there is only one form factor for harddisks used in laptops the 2.5" format. This format seems to be available in different heights (Please note I couldn't verify this information yet):
It might be possible to use a hard disk wich doesn't fit with some case modifications. Some laptops come with a removable hard disk in a tray, for instance the KAPOK 9600D. There seem to be no SCSI drives for laptops available.
6.21 Video Port / ZV PortSome high end laptops come with a video or ZV port (NTSC/PAL). Since I don't have a laptop with a ZV or video port yet, I can provide only some URLs http://www.thp.uni-koeln.de/~rjkm/linux/bttv.html (driver) http://www.mathematik.uni-kl.de/~wenk/xwintv.html (tvviewer). For further information see video4linux at http://roadrunner.swansea.uk.linux.org/v4l.shtml. To collect information about laptops with video port I have setup a page at http://tuxmobil.org/ . Alternatively to the ZV port you might use the USB port.
7. Palmtops, Personal Digital Assistants - PDAs, Handheld PCs - HPCsPalmtops and PDAs are currently not much covered in this HOWTO. Anyway it may be useful therefore, too. I just include some links, most of them are from Kenneth E. Harker's page :
8. Cellular Phones, Pagers, Calculators, Digital Cameras, Wearable ComputingThough in my opinion related to the topic, these devices are not much covered in this text, yet. For general information about Embedded Systems, see http://www.embedded.com . For Linux information, see ELKS and the uCLinux project. See news:comp.arch.embedded
8.1 Cellular PhonesFor NOKIA cellular phones see GNOKII project . And Linux Nserver. This project aim is to produce a GPL replacement for Nokia's Windows Nserver, and maybe improve upon it along the way. Initially it will emulate the Windows 3.1 version (ie. allow backup, restore and install). openWAP is an open source project for the implementation of the Wireless Application Protocol (WAP) for use with browsers, servers and tools. WAP is used by PDA devices, cell phones, pagers and other wireless devices to transmit internet content to these devices. The project is still in its early stages and nothing can be downloaded yet. GSMLIB is a library to access GSM mobile phones through GSM modems. Features include: modification of phonebooks stored in the mobile phone or on the SIM card, reading and writing of SMS messages stored in the mobile phone, sending and reception of SMS messages. Additionally, some simple command line programs are provided to use these features.
8.2 Pagers - SMS MessagesQuickPage is a client/server software package that enables you to send messages to an alphanumeric pager. The client accepts a message from the user and forwards it to a server using SNPP. The server uses a modem to transmit the message to the recipient's paging service using the TAP protocol (also known as the IXO protocol). mail2sms converts a (MIME) mail to a short message, allowing search/replace, conditional rules, date/time dependent actions, customizing the output format, etc. The output defaults to 160 characters, which is perfectly suitable for sending the text to a GSM telephone as an SMS message. This software does not include any code for actually sending the text to anything else but another program or stdout. email2sms is a filter written in Perl which converts an e-mail into a form suitable for sending as an SMS message. Its main advantage over the alternatives is that it uses the CPAN module Lingua::EN::Squeeze to compress the text down to as little as 40% of its original size, so you can get much more of your e-mail into the 160 character limit imposed by SMS. It is fully MIME compatible, and has many configurable options, including removal of quoted text. Ideal for use with procmail. A Perl script for sending the output to a typical e-mail to SMS web gateway is included.
SMSLink implements a client/server gateway to the SMS protocol (short messages on the mobile phones). It requires the use of dedicated hardware though (a serial GSM module). Both SMS emission and reception are supported. The server only runs under Linux at the present time and also supports interactive mode via nmsms is a very simple program to announce incoming email to an SMS address (email address) defined at compile time. The original From: and Subject: header are included in each mail announced. mepl is a software for 3COM/USRobotics Messagemodems to control the self-employed-mode. This program can be used for downloading the messages and saving or mailing them in gsm or fax-format.
8.3 Digital CamerasFor information about cellular phones and digital cameras see some links at my page about Linux with Infrared Devices and my IR-HOWTO. Newsgroup: rec.photo.digital . The Flashpath adapter is a diskette like device which is used to transfer data from a digital camera to a computer. See Flashpath for Linux and James Radley's flashpath homepage.
8.4 CalculatorsInformation about calculators e.g. HP-48 is at HP-Calculator.Org and Keith's HP-48 Page. HP-48 Kermit Hints and Tips shows how to talk to the HP48 via its serial-line Kermit protocol. The HP-48 may also be used as a Linux terminal. See also at my page about Linux with Infrared Devices. Backup utility for the CASIO diary. It is a package ported from DOS to allow communication to the CASIO series of hand-held organizers. It allows backup from CASIO to your computer and restore a backup file from your computer to the CASIO. It can also output human readable file from CASIO. Currently supports: phone, calendar, schedule, memo, and reminder. See also http://www.aloha.net/ alank/ http://www.casioworld.com , http://home.t-online.de/home/Milan.Urosevic/ and http://sunsite.unc.edu/pub/Linux/apps/ GtkTiLink is a program which allows you to transfer data between a Texas Instruments calculator and a computer. It works with all cables (parallel, serial, Black and Gray TI Graph Link). It supports the TI82, TI89, TI92 and TI92+ calculators. It can send/receive data and backups, make a capture of the calculator screen and do remote control.
8.5 Wearable ComputingAlso related to this topic but not covered yet seems wearable computing, see http://lcs.www.media.mit.edu/projects/wearables/ , the page of Lionel, "trollhunter" Bouchpan-Lerust-Juery, http://infonomade.linuxfr.org/indexen.html for further information and http://wearables.blu.org and http://www.wearcomp.org/. Sulawesi was developed due to the problems running a desktop GUI on a wearable computer. It has been designed and implemented to tackle what has been considered to be important challenges in a wearable user interface, the ability to accept input from any number of input devices, such as machine vision, speech recognition, portable keyboards, GPS devices, infra-red, etc. and to allow services to manipulate the information and generate a suitable output such as speech generation, graphics using a headmounted display, vibrotactile stimuli, etc. The Gili user interface has been updated, more documentation has been added, and the Spatial Reminder has been introduced.
8.6 WatchesThe datalink library allows sending information to the Timex DataLink watches. The original datalink library supports the model 150 and possibly the model 70 watch. This version has been extended to work with the DataLink Ironman Triathlon watch. It has been tested with the SVGA output on the Ironman watch only, other output devices and other watches may or may not work, I have no reports either way. The display must be a CRT display (not a LCD).
9. Accessories
9.1 PCMCIA Cards
Card Families
For desktops there are PCMCIA slots for ISA and PCI bus available. Source: http://www.lapshop.de
Linux Compatibility CheckWith the command Since there are not all cards mentioned I have set up a page PCMCIA Cards "Unofficially" Supported by Linux .
9.2 SmartCardsSmartCard reader, see Project Muscle - Movement for the Use of Smart Cards in a Linux Environment
9.3 Memory Technology Devices - RAM and Flash CardsThe Linux Memory Technology Device project aims to provide a unified subsystem for handling RAM and Flash cards (Memory Technology Devices). It is intended to be compatible with the Linux PCMCIA code, to prevent duplication of code and effort, yet its main target is small embedded systems, so it will be possible to compile the drivers into the kernel for use as a root filesystem, and a close eye will be kept on the memory footprint.
9.4 PrintersSurvey about small mobile printers:
AFAIK only the HP and the BJC-80 machine have an infrared port. Pay attention to the supplied voltage of the power supply if you plan to travel abroad. Source: http://www.lapshop.de
9.5 Power and Phone Plugs, Power SupplyWhen travelling abroad you might consider to take a set of different power and phone plugs with you. Also, it's useful if you can change the input voltage of the power supply, for instance from 110V in the US to 220V in Germany. There also power supplies for 12V batteries from cars. Some models of power plugs: ____ / () \ _ _ _ frontal view: |() ()| (_)=(_) (_) N.N. ------ abbrevation.: C13 C8 ?? PS/2 symbol......: ?? ?? -O)- N.N. Caveats: Though some -O)- plug may seem to be compatible to your laptop, because of the according physical size, take extremely care it uses the same plus-minus voltage scheme, for instance plus for the inner ring and minus for the outer one. Often but not always there are the according symbols near the plug.
9.6 Bags and SuitcasesYou probably wonder, why I include this topic here. But shortly after using my COMPAQ Armada 1592DT I recognized that the rear side of the machine (where the ports are arranged) was slightly damaged. Though I have taken much care when transporting the laptop, this was caused by putting the bag on the floor. It seems that the laptop has so much weight, that it bounces inside the bag on its own rear side. So I decided to put a soft pad into the bag before loading the laptop. A good bag is highly recommended if you take your laptop on trips, or take it home every night. Laptops computers are frequently demolished in their carrying bag. The two main causes of demolition are poking the LC display and banging the edges.A good case has very stiff sides to spread out pokes, and lots of energy-absorbent padding around the edges to help when you whack it on the door jamb.Few cases actually have either of these features. More laptops are lost to theft than damage, so camouflage is a wise too. Emerson, Tom # El Monte <TOMEMERSON@ms.globalpay.com> wrote: "I use for a laptop travelling bag: a Pyrex casserole carrier bag. Yup, you might think it odd to use a casserole bag for a laptop, but it turns out it has several advantages:
10. Different Environments - On the Road
10.1 Related HOWTOs
10.2 Configuration Tools
NetEnvDo you use your laptop in different network environments? At home? In the office? At a customers site? If yes, the small package "netenv" might be useful for you. When booting your laptop it provides you with a simple interface from which you can choose the current network environment. The first time in a new environment, you can enter the basic data and save it for later reuse. Netenv sets up a file containing variable assignments which describe the current environment. This can be used by the PCMCIA setup scheme, e.g. like the one that comes with Debian/GNU Linux and perhaps others. The netenv data can be used for things like:
Netenv is available as Debian/GNU Linux package as well as tarball. It depends on
divinedivine is an utility for people who use their machines in different networks all the time. "The idea is this:
The point about
Mobile IPFrom the NET3-4-HOWTO: "The term IP Mobility describes the ability of a host that is able to move its network connection from one point on the Internet to another without changing its IP address or losing connectivity. Usually when an IP host changes its point of connectivity it must also change its IP address. IP Mobility overcomes this problem by allocating a fixed IP address to the mobile host and using IP encapsulation (tunneling) with automatic routing to ensure that datagrams destined for it are routed to the actual IP address it is currently using." HUT Mobile IP is a dynamical, hierarchical Mobile IP system for Linux operating system. The implementation enables a hierarchical model for IP mobility, thus decreasing the location update times as a mobile host moves. Dynamics system has been designed Wireless LAN technology in mind, and the system has optimized functionality for mobility in WLAN. There is now a mailing list available. You can join it by sending subscribe on the subject line to <dynamics-user-request@cs.hut.fi> - or you can simply check the mail archive.
Resources
Sources: Kenneth E. Harker and Dag Brattli
DHCP/BootPDHCP and BootP are also useful for working in different environments. Please see the DHCP-HOWTO and BootP-HOWTO.
PPPD OptionsThe
/etc/init.dYou may even choose to do your configuration by editing the /etc/init.d files manually.
PCMCIA - SchemesHow can I have separate PCMCIA device setups for home and work? This is fairly easy using PCMCIA scheme support. Use two configuration schemes, called
Bootloaders
LILOFrom
http://www.mjedev.demon.co.uk/index.html <Martin J. Evans martin@mjedev.demon.co.uk> I have taken this recommendation: The first point to note is that LILO: linux LOCATION=home Or LILO: linux LOCATION=work Or simply LILO: linux where failing to set LOCATION means the same as LOCATION=home (i.e. my default). Instead of typing LOCATION=place each time you boot you can add an entry to your /etc/lilo.conf file and use the append instruction. e.g.
# Linux bootable partition for booting Linux at home # image = /vmlinuz root = /dev/hda3 label = linux read-only # Linux bootable partition config ends # # Linux bootable partition for booting Linux at work # image = /vmlinuz root = /dev/hda3 label = work read-only append="LOCATION=work" # Linux bootable partition config ends With the example above you can use "linux" for booting at home and "work" for booting at work. Armed with the facility above, you can now edit the relevant rc scripts to test ENVIRONMENT before running
Other BootloadersThere are several other bootloaders which are often overlooked. Besides LILO, have a look at loadlin, CHooseOS (CHOS) (not GPL), GRand Unified Bootloader (GRUB), System Commander and take a look at ftp://metalab.unc.edu/pub/Linux/system/boot/loaders/. The NT boot loader or OS/2 boot loader may even be used.
X-WindowsFrom Steve <steve@cygnet.co.uk> I got a configuration for X windows with an external monitor: Note that I have introduced a neat trick! For my nice 17" monitor I start X with no options and get the default 16-bit 1152x864 display - but when using the LCD screen I specify a 15-bit display (
A short introduction about how to setup email on a laptop used at home (dial-up) and work (ethernet) by Peter Englmaier <ppe@pa.uky.edu>:
FeaturesAs a laptop user, I have special demands for my email setup. The setup described below, enables me to:
The configuration is based on
Configuration of sendmailThis is the most complicated part. Having installed the
divert(-1) include(`../m4/cf.m4') define(`confDEF_USER_ID',''8:12'') define(`confBIND_OPTS',`-DNSRCH -DEFNAMES') define(`confDOMAIN_NAME',''pa.uky.edu'') <---- here you define your domain OSTYPE(`linux') undefine(`UUCP_RELAY') undefine(`BITNET_RELAY') define(`SMART_HOST',`server1.pa.uky.edu') <---- there we send outgoing email define(`LUSER_RELAY',`server1.pa.uky.edu') <---- there we send mail to users my laptop does not know MASQUERADE_AS(pa.uky.edu) <---- again the domain, we want to be seen as FEATURE(allmasquerade) FEATURE(nouucp) FEATURE(nodns) FEATURE(nocanonify) FEATURE(redirect) FEATURE(always_add_domain) FEATURE(use_cw_file) FEATURE(local_procmail) MAILER(procmail) MAILER(smtp) HACK(check_mail3,`hash -a@JUNK /etc/mail/deny') HACK(use_ip,`/etc/mail/ip_allow') HACK(use_names,`/etc/mail/name_allow') HACK(use_relayto,`/etc/mail/relay_allow') HACK(check_rcpt4) HACK(check_relay3) This looks more complicated as it is. All it does is, that it redirectes outbound mail to server1 (SMART_HOST) and also mail for local users which are not known (LUSER_RELAY). That way, I can write email to my colleques without using their full email address. More important: the From line in my email points back to my MASQUARADE_AS domain and not directly to my laptop. If this where not the case, email returned with the reply button might not reach me. You must restart Now, all what is needed is to generate the /etc/sendmail.cf file
# sendmail.cw - include all aliases for your machine here. laptop laptop.pa.uky.edu 128.17.18.30 guest1 guest1.somewhere.org It is important to have all aliases in this file, otherwise
Configuration for fetchmail on LaptopOne method to get the email into your machine is through
set postmaster "myusername" set daemon 900 poll pop.uky.edu with proto POP3 user "mypopusername" there with password "mypoppassword" is mylaptopusername here Fetchmail will just get the the email and send it to
Forward E-Mail to the LaptopOn my work station I have the following .forward file:
me@pop.acount.edu,me@server1 Here server1 is the machine where I keep my mailbox. All email is send to the pop account to be picked up later by my laptop (using
me@laptop,me@server1 In both cases, a backup of my email is send to server1 (where I also can read it, in case I cannot get my laptop). I keep/store all email on the laptop. Switching is done by three script files and a crontab file (on the workstation): forward_pop
#!/bin/sh echo "me@pop.acount.edu,me@server1" > ${HOME}/.forward forward_laptop
#!/bin/sh echo "ppe@laptop,ppe@server1" > ${HOME}/.forward crontab ${HOME}/mycrontab ${HOME}/utl/check_laptop check_laptop
#!/bin/sh if /usr/sbin/ping -c 1 laptop >/dev/null 2>&1 ; then : else # redirect mail to pop ${HOME}/utl/forward_pop sleep 10 if /usr/sbin/ping -c 1 laptop >/dev/null 2>&1 ; then # back to normal ${HOME}/utl/forward_laptop else # deactivate crontab check /bin/crontab -l | grep -v check_laptop >${HOME}/tmp/mycrontab.tmp /bin/crontab ${HOME}/tmp/mycrontab.tmp rm -f ${HOME}/tmp/mycrontab.tmp fi fi mycrontab
# mycrontab 0,10,20,30,40,50 * * * * ${HOME}/utl/check_laptop Each time I connect the laptop to the ethernet, I have to run /sbin/ifdown (this script runs, whenever a network device is stopped, new stuff between BEGIN and END)
... fi # BEGIN new stuff # turn off forwarding email mail ppe <<EOF turning off forwarding email device = ${DEVICE} hostname = `hostname` EOF if [ "${DEVICE}" = "eth0" -a "`hostname`" = "laptop" ]; then su -lc "ssh -l myusername server1 utl/forward_pop" myusername >& /dev/null fi # END new stuff ifconfig ${DEVICE} down exec /etc/sysconfig/network-scripts/ifdown-post $CONFIG Note, that the script checks for the value of hostname. In case, I am connected to a foreign ethernet, my hostname and ip-address will be something else, e.g. guest1. /etc/sysconfig/network-scripts/ifup-post (this script is run, whenever a network device is started)
# Notify programs that have requested notification do_netreport # BEGIN new stuff # check for email -- I'm using fetchmail for this if [ "${DEVICE}" = "eth0" -o "${DEVICE}" = "ppp0" ]; then su -lc fetchmail myusername >& /dev/null & fi # set clock if connected to ethernet, redirect email if [ "${DEVICE}" = "eth0" -a dquot;`hostname`" = "zaphod" ]; then ( rdate -s server1 ; hwclock --systohc --utc ) >& /dev/null & # forward email su -lc "ssh -l myusername gradj utl/forward_laptop" myusername >& /dev/null & fi # END new stuff exit 0
Processing Incomming E-Mail with procmailThis step is completely optional. The above described sendmail configuration calls You need to setup a
# -- mail filtering -- procmail is called by sendmail -- PATH=/bin:/usr/bin MAILDIR=$HOME/Mail LOGFILE=$MAILDIR/from # keep in mind: # use ":0:" when writing to a file # use ":0" when writing to a device, e.g. /dev/null, or send email # - make first a backup of *all* incomming email (but ignore mail tagged below) - :0 c: *! ^Sissa-Repro backup # - keep only last 50 messages :0 ic | cd backup && rm -f dummy `ls -t msg.* | sed -e 1,50d` # - delete email comming through the 'postdocs' email list, when # it is not of any interest :0 * ^From.*postdocs * ^From.*Ernst Richter /dev/null :0 * ^From.*postdocs * ^Subject.*card charge /dev/null # Split mailing list from the sissa preprint server into individual emails # - this is quite complicated :( I can flip through the list much # faster and ignore preprints which have uninteresting titles. Instead of # having to browse through the whole list, my mailer will just present a # list of papers. # 1. split it in individual messages :0 * ^From no-reply@xxx.lanl.gov | formail +1 -de -A "Sissa-Repro: true" -s procmail # 2. reformat messages a bit # 2.1. extract 'Title:' from email-Body and add to email-header as 'Subject:' :0 b * ^Sissa-Repro *! ^Subject TITLE=| formail -xTitle: :0 a |formail -A "Subject: $TITLE " -s procmail # 2.2. store in my incomming sissa-email folder. Here, we could # also reject (and thereafter delete) uninteresting 'Subjects' # we could also mark more interesting subjects as urgend or send a copy # to regular mail box. :0: * ^Sissa-Repro * ^Subject *! ^replaced with sissa BTW, there is a
Email with UUCPAnother possible solution for Email is to use UUCP. This software was made for disconnected machines, and is by far the easiest solution if you have several users on your laptop (we are talking about Unix, remember?), each with his/her own account. Unlike what most people think, UUCP does not need a serial connection: it works fine over TCP/IP, so your UUCP partner can be any machine on the Internet, if it is reachable from your network attachment point. Here is the UUCP sys for a typical laptop:
More InfoUsing a Laptop in Different Environments by Gerd Bavendiek . This article appeared in the August, 1997 issue of the Linux Gazette. This is an excellent, short technical article describing an easy way to setup your Linux notebook to boot into different network and printing configurations, especially useful for those who use their machines at home as well as other locations such as in the office, at school, or at a customer site.
10.3 Data Transport Between Different MachinesI don't have experience with this topic yet. So just a survey about some means of data transport and maintaining data consistency between different machines.
Hardware
Wade Hampton wrote: "You may use MS-DOS formatted ZIP and floppy discs for data transfer. You may be able to also use LS120. If you have SCSI, you could use JAZ, MO or possibly DVD-RAM (any SCSI disc that you could write to). I have the internal ZIP for my Toshiba 700CT. It works great (I use
Software
Version Management SoftwareAlthough it is certainly not their main aim, version management software like CVS (Concurrent Version System) are a perfect tool when you work on several machines and you have trouble keeping them in sync (something which is often called "disconnected filesystems" in the computer science literature). Unlike programs like rsync, which are assymetric (one side is the master and its files override those of the slave), CVS accept that you make changes on several machines, and try afterwards to merge them. Assymetric tools are good only when you can respect a strict discipline, when you switch from one machine to another. On the contrary, tools like CVS are more forgetful. To synchronize two or more machines (typically a desktop and a laptop), just choose a CVS repository somewhere on the network. It can be on one of the machines you want to synchronize or on a third host. Anyway, this machine should be easily reachable via the network and have good disks. Then, The typical limits of this solution: CVS does not deal well with binary files, so this solution is more for users of vi or emacs than for GIMP fans. CVS has trouble with some Unix goodies like symbolic links. For more information on CVS, see the Web page. The CVS documentation is excellent (in info format).
CODA FilesystemThe Coda File System is a descendant of the Andrew File System. Like AFS, Coda offers location-transparent access to a shared Unix file name-space that is mapped on to a collection of dedicated file servers. But Coda represents a substantial improvement over AFS because it offers considerably higher availability in the face of server and network failures. The improvement in availability is achieved using the complementary techniques of server replication and disconnected operation. Disconnected operation proven especially valuable in supporting portable computers http://www.coda.cs.cmu.edu/ .
WWWsyncThis is a program written in Perl that will update your web pages by ftp from your local pages. This was originally written for updating Demon home-pages, but will work with other providers which provide direct FTP access to your web pages. I didn't check this for laptop purposes yet. You may get the program at http://www.alfie.demon.co.uk/wwwsync/ .
rsync
Xfiles - file tree synchronization and cross-validationXfiles is an interactive utility for comparing and merging one file tree with another over a network. It supports freeform work on several machines (no need to keep track of what files are changed on which machine). Xfiles can also be used as a cross-validating disk <-gt; disk backup strategy (portions of a disk may go bad at any time, with no simple indication of which files were affected. Cross-validate against a second disk before backup to make sure you aren't backing up bad data). A client/server program (GUI on the client) traverses a file tree and reports any files that are missing on the server machine, missing on the client machine, or different. For each such file, the file size/sizes and modification date(s) are shown, and a comparison (using Unix diff) can be obtained. For files that are missing from one tree, similarly named files in that tree are reported. Inconsistent files can then be copied in either direction or deleted on either machine. The file trees do not need to be accessible via nfs. Files checksums are computed in parallel, so largely similar trees can be compared over a slow network link. The client and server processes can also be run on the same machine. File selection and interaction with a revision control system such as RCS can be handled by scripting using jpython. Requirements Java1.1 or later and JFC/Swing1.1 are needed. Xfiles.
sitecopySitecopy is for copying locally stored websites to remote web servers. The program will upload files to the server which have changed locally, and delete files from the server which have been removed locally, to keep the remote site synchronized with the local site, with a single command. The aim is to remove the hassle of uploading and deleting individual files using an FTP client. sitecopy .
KBriefcaseThe KDE tool Kbriefcase tries to achieve a similar goal as the Windows briefcase, but in a different way. Rather than pulling your files from the desktop, they are pushed to the laptop. You drag a file from the local location to the briefcase. You are then asked for the remote path to copy it to. It will then copy the file to the remote location and make the original read-only. When you restore and remove, the file is copied back and write permissions are given back. The read-only status, of course, makes sure you don't start editing the file again before you've brought your changes back from the remote location.
10.4 Security in Different Environments
IntroductionI am not a computer security expert. Please read the Security-HOWTO for more information. I just collected some information below. Note, these means are just small steps to additional security, though I recommend that you use them.
LASG Please read Linux Administrator's Security Guide (LASG) - FAQ by Kurt Seifried.
Means of Security
10.5 Dealing with Down Times (Cron Jobs)A cron-like program that doesn't go by time:
10.6 Noise ReductionDue to the proliferation of cellular phones and walkmans it's not quite common in our days to take care of a quiet environment. Anyway I want to give some recommendations for the polite ones.
Console (Shell) and XFor the console
PCMCIAWhen starting your laptop with PCMCIA-CS configured correctly, this will be shown by two high beeps. If you want to avoid this put To avoid the dialtones during the modem dialing add
module "serial_cs" opts "do_sound=0" to /etc/pcmcia/config.opts (from
Miscellaneous ApplicationsYou may configure For at least one laptop series, the Toshiba models, there seems to be a Linux package available to control the fan and other features.
11. Other ResourcesKenneth E. Harker maintains a quite valuable database at http://www.linux-on-laptops.com/ . Please have a look at his site to get current information about laptop related mailing lists, newsgroups, magazines and newsletters, WWW sites and a big database about many different laptop pages. To join the linux-laptop@tuxmobil.org mailing list visit the subsription page at http://tuxmobil.org/mobilix_ml.html. There you may also find the list archiv. To join the other Linux-Laptop-Mailing-List write a mail to <majordomo@vger.kernel.org> with There is now a debian-laptop mailing list. Any questions or discussions concerning running the Debian/GNU Linux operating system(s) on laptops are welcome. Send mail to <debian-laptop-request@lists.debian.org> with a subject of Also recently founded was Running Linux on IBM ThinkPads, to join send an email to Lionel, "trollhunter" Bouchpan-Lerust-Juery, <trollhunter@linuxfr.org> has written a similar HOWTO, please look at his laptop pages http://infonomade.linuxfr.org/index.html (French version) http://infonomade.linuxfr.org/indexen.html (English version). Newsgroups are comp.os.linux.portable, comp.sys.laptops .
12. Repairing the HardwareThere are several different reasons that could make it necessary to open the case of a laptop.
Repairing a laptop can be quite expensive if you don't have a manufacturer's warranty. Sometimes professional support is bad. But opening a laptop case can be difficult. Often the procedures to upgrade the memory and the harddisk are described in the manual. For further details, you should try to get the maintainance/technical manual. Just be extremely careful and make notes as to where each screw goes. You must get most of them back in the right hole or you could ruin the machine by damaging the system board. Also after you get all the screws to an assembly out (some will be hidden) the parts are usually held together with plastic clips molded in, so you still must exercise care to separate them. Sometimes you need certain tools, for instance TORX screw drivers or a solder kit. Good luck. WARNING: Usually laptop manufacturers declare the warranty to be void if the case was opened by people other than their own staff.
13. Solutions with Laptops
13.1 IntroductionThe power and capabilities of laptops are sometimes limited as described above. But in turn, they have a feature which desktops don't have, their mobility. I try to give a survey about applications which make sense in connection with laptops. Since I couldn't try all of them, there is currently little documentation. If you can provide further material, please contact me.
13.2 Mobile Network AnalyzerI'm not an expert in this field, so I just mention the tools I know. Please check also for other applications. Besides the usual tools The Multi Router Traffic Grapher (MRTG) is a tool to monitor the traffic load on network-links. MRTG generates HTML pages containing GIF images which provide a LIVE visual representation of this traffic. Check http://www.ee.ethz.ch/stats/mrtg/ for an example. MRTG is based on Perl and C and works under UNIX and Windows NT. Network Top -
13.3 Mobile RouterThough designed to work from a single floppy, the Linux Router Project (LRP) , seems useful in combination with a laptop, too.
13.4 Hacking and Cracking NetworksWhen thinking about the powers of laptops, hacking and cracking networks may come into mind. Though I don't want to handle this topic here, but instead recommend the Security-HOWTO.
13.5 LecturesIf you are giving lectures, readings or presentations in different places, a laptop might suit your needs. You can combine it with an overhead display, a beamer or a second monitor. For a second monitor or a beamer make sure it is supported by your laptop. Though Microsoft's PowerPoint is often used for such things, there are also Linux solutions:
13.6 Mobile Data Collecting
Related HOWTOs
ApplicationsA Linux laptop can be used to collect data outside an office, e.g. geodesy data, sales data, network checks, patient data in a hospital and others. There is support for wireless data connections via cellular phone modems and amateur radio. I am not sure whether PCMCIA radio cards are supported, see Aironet Wireless Communications http://www.aironet.com/.
Specific EnvironmentsThere are laptops available with cases build for a rugged environment (even waterproof laptops). In some environments, for instance in hospitals, take care of the Electro-Magnetic-Compatibility of the laptop. This is influenced by many factors, for instance by the material used to build the case. Usually magnesium cases shield better than the ones made of plastics.
13.7 Mobile OfficeWith KDE http://www.kde.org (K-Office), GNOME, http://www.gnome.org/ and the commercial products WordPerfect, Staroffice and Applixware http://www.applix.com/ Linux has more and more business software applications. With the corresponding hardware, e.g. a portable printer and a cellular phone which connects to your laptop, you will have a very nice mobile office.
13.8 Connection to Digital CameraAFAIK there are currently three methods to connect a digital camera to a laptop: the infrared port (IrDA), serial port and maybe USB. There are also some auxiliary programs for conversion of pictures, etc. Eric <dago@tkg.att.ne.jp> wrote: "I finally succeeded in downloading pictures from my digital camera, but not exactly the way I expected, i.e. not through USB port but using pcmcia card port and memory stick device, part of digital camera hardware. Anyway, some interesting things to mention: Sony (pretending using a standard) uses the msdos format to store images as JPEG files ; so the best way to have your OS recognizing them is to mount the raw device like a msdos filesystem; using mount directly doesn't work (don't know why) but an entry in the /etc/fstab file allows you to mount the device correctly. i.e.: /dev/hde1 /mnt/camera msdos user,noauto,ro 0 0 Of course, newfs before mount works too, but there is nothing to see at all ;-) I think both noauto and ro are important flags; I tried without it and it didn't work. Somehow the mount I got seems buggy . And if ro is missing, the camera doesn't recognize back the memory stick and it needs to be msdos-formatted.
According to the camera documentation , both pcmcia and USB port behave the same (for Mac and Windoze - i.e. you see a file system auto mounted) - I deduce for Linux it should be the same thing too, as long as the USB driver is installed. I think now that mounting USB raw device the way I did with pcmcia should work, but I still couldn't find which device to use."
OpenDiS (Open Digita Support) is a library and utility program for cameras such as the Kodak DC-220, DC-260, DC-265, and DC-280, that run Flashpoint's Digita operating system. The library is a unix implementation of the Digita Host Interface Specification, intended for embedding Digita support in other products such as
gPhoto enables you to take a photo from any digital camera, load it onto your PC running a free operating system like GNU/Linux, print it, email it, put it on your web site, save it on your storage media in popular graphics formats or just view it on your monitor.
photopc is is a library and a command-line frontend to manipulate digital still cameras based on Fujitsu chipset and Siarra Imaging firmware. The program is known to work with Agfa, Epson and Olympus cameras. Should also work with Sanyo, but this is untested. The cameras typically come with software for Windows and for Mac, and no description of the protocol. With this tool, they are manageable from a UNIX box. Bruce D. Lightner <lightner@metaflow.com> has added support for Win32 and DOS platforms. Note that the program does not have any GUI, it is plain command-line even on Windows. For a GUI, check out the
13.9 Connection to QuickCam (Video)AFAIK there are currently two methods to connect a video camera to a laptop: a ZV port and maybe USB, but I don't know how this works with Linux. I have heard rumors about using a sound card for video data transfer to a Linux box, see
http://worldvisions.ca/~apenwarr/ . I have heard rumors about a Linux-QuickCam-mini-HOWTO, but couldn't find a reliable URL yet. Check the kmc_remote provides a graphical interface for controlling Kodak Motion Corder fast digital cameras over a serial connection. kmc_remote is built on the kmc_serial library, part of the kmc_utils package. kmc_remote provides a virtual button panel and simple one-touch commands for changing system variables which would involve multiple button operations on the real camera button console. Buttons, record settings (image size, record rate, shutter speed, trigger mode, burst mode), and playback rate control should be fully functional. All camera models are supported, as well as both PAL and NTSC video. Intel PC Camera Pro Pack is one of the first webcams with USB ports. Also SONY has announced a webcam with USB port. See a survey at Steve's Digicams.
13.10 Connection to Television SetIf you have a ZV port in the laptop, it should be easy to connect it to a TV set, using either NSCA or PAL, but I don't know whether either works with Linux.
13.11 Connection to Cellular PhoneAFAIK there are two methods to connect a cellular phone to a laptop: via the infrared port (IrDA) or via the serial port. See the Linux/IrDA project for the current status of IrDA connections. AFAIK only the Ericsson SH888, the Nokia 8110 and the Siemens S25 provide infrared support.
13.12 Connection to Global Positioning System (GPS)From the Hardware-HOWTO I know there is Trimble Mobile GPS available. You may also connect a GPS via a serial port. Most GPS receivers have a data port and can connect to a PC with a special serial cable.
13.13 Connection via Amateur Radio (HAM)AFAIK laptops are used in HAM contests. Please see HAM-HOWTO by Terry Dawson, VK2KTJ, <terry@perf.no.itg.telstra.com.au> .
13.14 Satellite WatchingTogether with an antenna and software like
13.15 AviationMany people are using laptops for aviation related topics. The Aviation HOWTO is an FAQ, HOWTO like document that provides pointers to software packages that run under the Linux operating system and are useful to private, commercial, or military pilots. The ultimate goal is to enable pilots to use the Linux operating system for all their aviation related computing needs.
13.16 Blind or Visually Impaired UsersThere are some groups of which could gain a specific profit by using laptops. For instance blind or visually impaired people (I explicitly avoid to say handicapped people). See ACCESS-HOWTO and
Blinux - Linux for blind people for more information.
14. Other Operating Systems
14.1 DOS/Windows9x/NT
IntroductionUnfortunately, there are a few reasons which might make it necessary to put DOS/Windows and Linux together on one laptop. Often the support for the flash ROM of PCMCIA cards and modems is not available for Linux, or you have to retrieve hardware information, which is not visible with Linux, due to a lack of support by some hardware manufacturers. I'm not sure wether this tasks can be achieved under an emulation like DOS-EMU or WINE. If you want Linux with X, Netscape, etc., and Windows95, things will be tight in a 1GB harddisk. Though I do so with a 810MB disk.
DOS Tools to Repartition a Hard DiskOften you get a preinstalled version of Windows on your laptop. If you just want to shrink the Windows partition, you need a tool to resize the partition. Or you can remove the partition first, repartition, then reinstall. Most of the following information I found at the page of Michael Egan <Michael.Egan@sonoma.edu> at http://libweb.sonoma.edu/mike/fujitsu/ . A well known and reliable, but commercial product is Partition Magic http://www.powerquest.com/product/pm/index.html from Power Quest. Many people have used FIPS 15c (which may support FAT-32) http://bmrc.berkeley.edu/people/chaffee/fips/fips.html for repartitioning FAT partition sizes.) Also, another version from a different source is FIPS 2.0 (claims to support FAT-32) http://www.igd.fhg.de/~aschaefe/fips/ for repartitioning FAT partition sizes.) One more "newer" utility for repartitioning and resizing FAT partitions is Ranish Partition Manager/Utility (FAT-32 support is claimed for this as well, Linux support is taken into account.) http://www.users.intercom.com/~ranish/part/ .
Partition SharingYou may share your swap space between Linux and Windows. Please see "Dealing with Limited Resources" section. Also with Linux you can mount any kind of DOS/Windows partition. The other way round there are also some tools, for instance at http://uranus.it.swin.edu.au/~jn/linux/ , which provides a tool to read and write ext2 partitions from Windows9x/NT. Also you can mount DOS drives of the type
/dev/hda8 /dos/d vfat user,exec,nosuid,nodev,conv=auto 0 2
Installation without CD DriveYou may use the CD drive of a desktop (or copy the content of the CD to the hard disk) and connect both machines with a nullmodem cable. Than use a DOS boot floppy and the program
MiscellaneousWindows/NT offers: RAS - Remote Access Service Windows/9x/NT offers the PPTP protocol to connect to remote sites via a TCP/IP tunnel. This protocol is also supported by Linux. PoPToP is the PPTP server solution for Linux allowing Linux servers to function seamlessly in the PPTP VPN environment. This enables administrators to leverage the considerable benefits of both Microsoft clients and Linux servers. The current pre-release version supports Windows 95/98/NT PPTP clients and PPTP Linux clients. The PoPToP pre-release server is not yet fully optimised. On release, PoPToP will be fully compliant with IETF PPTP Internet Draft and it will seamlessly support Windows PPTP clients with the full range of encryption and authentication features.
14.2 BSD Unix
14.3 OS/2At The Notebook/2 Site by Dr. Martinus you may find information about different notebooks and PCMCIA cards working with OS/2.
14.4 NOVELL NetwareThe client side with DOS/Windows9x style operating systems seems to be no problem, since there are many PCMCIA cards with drivers for Netware available. For Linux connections see the I hadn't time to build a Netware server on a laptop yet and couldn't check wether there are network connections possible (PCMCIA driver for Netware server).
14.5 Debian GNU/Hurd (hurd-i386)The GNU Hurd is a totally new operating system being put together by the GNU group. In fact, the GNU Hurd is the final component which makes it possible to built an entirely GNU OS -- and Debian GNU/Hurd is going to be one such (possibly even the first) GNU OS. The current project is founded on the i386 architecture, but expect the others to follow soon. The GNU Hurd Hardware Compatibility Guide states that Hurd should work on laptops, but PCMCIA support isn't ready yet.
15. ToDo
16. Revision Historyv0.1 13 January 1999, first draft v0.2 15 January 1999, minor changes v0.3 28 January 1999, APM chapter started, minor changes v0.4 8 February, APM chapter rewritten, removed some lint v0.5 17 February 1999, added small USB chapter, added Dealing with Limited Resources chapter, added Solutions with Laptops chapter, minor editorial changes, released draft to the public v1.0 19 February 1999, added Sound and Keyboard chapter, minor changes, release to the LDP v1.1 28 February 1999, spelling, grammar, style checked and many additional information added by W. Wade Hampton, added CD Drive, Harddisk and Kernel chapters, many minor changes v1.2 5 March 1999, added Debian-Laptop-Mailing-List, added information about v1.3 8 March 1999, minor changes v1.4 25 March 1999, added ACPI information, added chapters Appendix C - NeoMagic Chip NM20xx by Cedric Adjih and Appendix D - Annotated Bibliography , minor changes v1.5 4 April 1999, added chapters about setting up E-Mail by Peter Englmaier and Noise Reduction, minor changes v1.6 26 June 1999, rewrite of APM chapter, added install method via LapLink cable, URLs changed or added, spell checking, minor changes v1.7 28 September 1999, changed <htmlurl ..> SGML tags to <url ..>, ACPI chapter separated, touchpad chapter separated and improved, preface rewritten, added information about v2.0 2 October 1999, added information about v2.1 2 November 1999, added information about email with UUCP, the use of CVS and other tools to synchronize two machines, the v2.2 2 December 1999, reorganized the chapters about Cellular Phones, Pagers, Calculators, Digital Cameras, Wearable Computing and Noise Reduction, many minor changes and bug fixes
v2.2a 3 November 2000, links updated
v2.2b 27 February 2003, links updated (TuxMobil.org, tldp.org, linux-on-laptops.com)
17. CreditsI would like to thank the many people who assisted with corrections and suggestions. Their contributions have made this work far better than I could ever have done alone. Especially I would like to thank, in order of appearance:
18. Appendix A - Survey about Micro LinuxesBecause of their small or non-existent footprint, micro-Linuxes are especially suited to run on laptops -- particularly if you use a company-provided laptop running Windows9x/NT. Or for installation purposes using another non Linux machine. There are several micro Linux distributions out there that boot from one or two floppies and run off a ramdisk. See http://www.linuxhq.com or http://www.txdirect.net/users/mdfranz/tinux.html for details. You may find a FAQ and a mailing list about boot-floppies at http://os.inf.tu-dresden.de/~sr1/boot-floppies/faq.html . Also a BootDisk-HOWTO is available. Thanks to Matthew D. Franz maintainer of Trinux for this tips and collecting most of the following URLs. See also the content of Console/Mini Distributions at FreshMeat.
19. Appendix B - Dealing with Limited Resources or Tuning the System
19.1 Related HOWTOs
19.2 IntroductionAs mentioned in the introduction laptops sometimes have less resources if you compare them to desktops. To deal with limited space, memory, CPU speed and battery power, I have written this chapter.
19.3 Small Space
IntroductionThere are different types of techniques to gain more disk space, such as sharing of space, freeing unused or redundant space, filesystem tuning and compression. Note: some of these techniques use memory instead of space. As you will see, there are many small steps necessary to free some space.
Techniques
19.4 Harddisk SpeedUse the tool See UNIX and LINUX Computing Journal: Tunable Filesystem Parameters in /proc How to increase, decrease and reconfigure filsystem behavior from within /proc.
19.5 Small Memory
Related HOWTOs
TechniquesCheck the memory usage with
Mergemem Project . Many programs contain memory areas of the same content that remain undetected by the operating system. Typically, these areas contain data that have been generated on startup and remain unchanged for longer periods. With You may also reduce the kernel size as much as possible by removing any feature which is not necessary for your needs and by modularizing the kernel as much as possible. Also you may shutdown every service or daemon which is not needed, e.g. And of coarse use swap space, when possible. If possible you use the resources of another machine, for instance with X, VNC or even
19.6 Low CPU SpeedYou may want to overdrive the CPU speed but this can damage your hardware and I don't have experience with it. For some examples look at Adorable Toshiba Libretto - Overclocking http://www.cerfnet.com/~adorable/libretto.html.
19.7 Power Saving Techniques
19.8 Kernel
Related HOWTOs
Many kernel features are related to laptops. For instance APM, IrDA, PCMCIA and some options for certain laptops, e.g. IBM ThinkPads. In some distributions they not configured. And the kernel is usually bigger than necessary. So it's seems a good idea to customize the kernel. Though this task might seem difficult for the beginner it is highly recommended. Since this involves dangerous operations you need to be careful. But, if you can install a better kernel successfully, you've earned your intermediate Linux sysadmin merit badge. - Since this topic is already covered in other documents I want handle this here.
19.9 Tiny Applications and DistributionsA small collection yet, but I'm looking for more information.
19.10 Hardware UpgradeYou may also take into account to upgrade the hardware itself, though this may have some caveats, see chapter Open a Laptop Case above. If you need a survey about the possibilities, you can take a look at http://www.upgrade.de, this page is also available in French and English.
20. Appendix C - NeoMagic Chip NM20xx
20.1 IntroductionHence the NeoMagic chipset series NM20xx is one of the most used graphic chips in laptops in our times, I will spent a few words on them. Though a long time this chip was only supported by commercial X servers, since the middle of 1998 RedHat provided a binary X server manufactured by PrecisionInsight. Since version 3.3.3 this X server is also available by XFree86.
20.2 Textmode 100x37This chapter is a courtesy of Cedric Adjih < cedric.adjih@inria.fr >. I changed some minor parts. An apparently little known fact about the Neomagic chipset NM20xx is that you can run text mode in 100x37 (i.e. 800x600). This text mode is very nice (as opposed to the 80x25 which is ugly). I tried this with a HP OmniBook 800 and suppose it might work with other laptops using the NeoMagic chip, too. The following that I wrote was much longer than I expected so I wrote it as a kind of mini-howto :-) : The main problem is that is a bit difficult to set up, and if you're going wrong with SVGATextMode/restoretextmode some results on the LCD might be frightening. Although I didn't manage to break my LCD with many many attempts going wrong, DISCLAMER: THIS MIGHT DAMAGE YOUR HARDWARE. YOU HAVE BEEN WARNED. FOLLOW THE FOLLOWING INSTRUCTIONS AT YOUR OWN RISKS. I'M NOT RESPONSIBLE IF SOMETHING BAD HAPPENS.
SurveyYou need to do three main steps:
More DetailsAll the files I have modified, are available for now at http://starship.python.net/crew/adjih/data/cda-omni-trick.tar.gz
Enabling Linux to Boot in 800x600Recent kernels (2.2.x) need to be compiled with CONFIG_VIDEO_GFX_HACK defined. Default is off. (look in /usr/src/linux-2.2.x/arch/i386/boot/video.S) This is done by passing the parameter
image=/boot/bzImage-modif label=22 append="svgatextmode=100x37x8_SVGA" #explained later vga=7 read-only
Running
|
![]() |