Page suivante Page précédente Table des matières

5. Hardware In Detail

5.1 PCMCIA Controller

Linux Compatibility Check

With the probe command, which is included in the PCMCIA-CS package by David Hinds you can get the type of the PCMCIA controller. Often this shows also up with cat /proc/pci .

Related HOWTOs

  1. PCMCIA-HOWTO

PCMCIA Configuration - Survey

In 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

  1. Read the PCMCIA HOWTO, usually included in the PCMCIA-CS package.
  2. Install the newest available PCMCIA-CS package, if you take a rpm or deb package it is quite easy.
  3. If necessary, install a new kernel. Note: With 2.2.x kernels PCMCIA kernel support seems no longer necessary. I had no time to look this up yet. Please read the according documents.
  4. Make sure your kernel has module support and PCMCIA support enabled (and often APM support)
  5. Make sure your kernel also includes support for the cards you want to use, e.g. network support for a NIC card, serial support for a modem card, SCSI support for a SCSI card and so on.

PCMCIA Controller

  1. Use the probe command to get information whether your PCMCIA controller is detected or not.
  2. Edit the file /etc/sysconfig/pcmcia. It should include PCMCIA=y and the type of your PCMCIA controller, e.g. PCIC=i82365.
  3. Start the PCMCIA services typically via /etc/init.d/pcmcia start. If you get two high beeps, everything should be fine.
  4. If something doesn't work, check the messages in /var/log/messages .

PCMCIA Card

  1. Check your card with cardctl ident .
  2. If your card is not in /etc/pcmcia/config, edit this file accordingly.
  3. If you use X, you can use cardinfo to insert, suspend, or restart a PCMCIA card via a nice graphical interface.

5.2 Infrared Port

Linux Compatibility Check

To get the IrDA port of your laptop working with Linux/IrDA you may use StandardInfraRed (SIR) or FastInfraRed (FIR).

SIR

Up 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

FIR

If 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:

  1. Read the specification of the machine, though it is very rare that you will find enough and reliable information there.
  2. Try to find out wether the FIR chip is a PCI device. Do a cat /proc/pci . The according files for 2.2.x kernels are in /proc/bus/pci . Though often the PCI information is incomplete. You may find the latest information about PCI devices and vendor numbers in the kernel documentation usually in /usr/src/linux/Documentation or at the page of Craig Hart http://members.hyperlink.net.au/~chart . From kernel 2.1.82 on, you may use lspci from the pci-utils package, too.
  3. Use the DOS tool CTPCI330.EXE provided in ZIP format by the German computer magazine CT http://www.heise.de/ct/ftp/pci.shtml . The information provided by this program is sometimes better than that provided by the Linux tools.
  4. Try to get information about Plug-and-Play (PnP) devices. Though I didn't use them for this purpose yet, the isapnp tools, could be useful.
  5. If you have installed the Linux/IrDA software load the FIR modules and watch the output of dmesg, whether FIR is detected or not.
  6. Another way how to figure it out explained by Thomas Davis (modified by WH): "Dig through the FTP site of the vendor, find the Windows9x FIR drivers, and they have (for a SMC chip):
    -rw-rw-r--   1 ratbert  ratbert       743 Apr  3  1997 smcirlap.inf 
    -rw-rw-r--   1 ratbert  ratbert     17021 Mar 24  1997 smcirlap.vxd 
    -rw-rw-r--   1 ratbert  ratbert      1903 Jul 18  1997 smcser.inf 
    -rw-rw-r--   1 ratbert  ratbert     31350 Jun  7  1997 smcser.vxd 
    

    If in doubt, always look for the .inf/.vxd drivers for Windows95. Windows95 doesn't ship with _ANY_ FIR drivers. (they are all third party, mostly from Counterpoint, who was assimilated by ESI)."
  7. Also Thomas Davis found a package of small DOS utilities made by SMC. Look at http://www.smsc.com/ftppub/chips/appnote/ir_utils.zip . The package contains FINDCHIP.EXE. And includes a FIRSETUP.EXE utility that is supposed to be able to set all values except the chip address. Furthermore it contains BIOSDUMP.EXE, which produces this output:

    Example 1 (from a COMPAQ Armada 1592DT)


         In current devNode:
               Size      = 78
               Handle    = 14
               ID        = 0x1105D041 = 'PNP0511' -- Generic IrDA SIR
               Types:  Base = 0x07, Sub = 0x00,  Interface = 0x02
                    Comm. Device, RS-232, 16550-compatible
               Attribute = 0x80
                    CAN be disabled
                    CAN be configured
                    BOTH Static & Dynamic configuration
          Allocated Resource Descriptor Block TAG's:
               TAG=0x47, Length=7 I/O Tag, 16-bit Decode
                                       Min=0x03E8, Max=0x03E8
                                       Align=0x00, Range=0x08
               TAG=0x22, Length=2 IRQ Tag, Mask=0x0010
               TAG=0x79, Length=1 END Tag, Data=0x2F
    

    Result 1:

    Irq Tag, Mask (bit mapped - ) = 0x0010 = 0000 0000 0000 0001 0000 so, it's IRQ 4. (start at 0, count up ..), so this is a SIR only device, at IRQ=4, IO=x03e8.

    Example 2 (from an unknown machine)


         In current devNode:
              Size      = 529
              Handle    = 14
              ID        = 0x10F0A34D = 'SMCF010' -- SMC IrCC
              Types:  Base = 0x07, Sub = 0x00,  Interface = 0x02
                   Comm. Device, RS-232, 16550-compatible
              Attribute = 0x80
                   CAN be disabled
                   CAN be configured
                   BOTH Static & Dynamic configuration 
    
         Allocated Resource Descriptor Block TAG's:
              TAG=0x47, Length=7 I/O Tag, 16-bit Decode
                                      Min=0x02F8, Max=0x02F8
                                      Align=0x00, Range=0x08
              TAG=0x22, Length=2 IRQ Tag, Mask=0x0008
              TAG=0x47, Length=7 I/O Tag, 16-bit Decode
                                      Min=0x02E8, Max=0x02E8
                                      Align=0x00, Range=0x08
              TAG=0x2A, Length=2 DMA Tag, Mask=0x02, Info=0x08
              TAG=0x79, Length=1 END Tag, Data=0x00
    

    Result 2:

    a) it's a SMC IrCC chip

    b) one portion is at 0x02f8, has an io-extent of 8 bytes; irq = 3

    c) another portion is at 0x02e8, io-extent of 8 bytes; dma = 1 (0x02 =0000 0010)

    Thomas Davis has placed some device information at http://www.jps.net/tadavis/irda/devids.txt .

    WARNING: The package is not intended for the end user, and some of the utilities could be harmful. The only documentation in the package is in M$ Word format. Linux users may read this with catdoc, available at http://www.fe.msk.ru/~vitus/catdoc/ .

  8. Use the Device Manager of Windows9x/NT.
  9. You may also use the hardware surveys mentioned below.
  10. And as a last ressort, you may even open the laptop and look at the writings at the chipsets themselfs.

Hardware Survey

I 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

  1. Linux/IR-HOWTO

IrDA Configuration - Survey

IrDA

The 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 http://www.snafu.de/~wehe/index_li.html for detailed information.

Kernel

  1. Get a 2.2.x kernel.
  2. Compile it with all IrDA options enabled.
  3. Also enable experimental, sysctl, serial and network support.

Software

  1. Get the Linux/IrDA software irda-utils at The Linux IrDA Project .
  2. Untar the package.
  3. Do a make depend; make all; make install

Hardware

  1. Enable the IrDA support in the BIOS.
  2. Check for SIR or FIR support, as described above.
  3. Start the Linux/IrDA service with irmanager -d 1 .
  4. Watch the kernel output with dmesg .

Linux Remote Control - LiRC

Linux 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.

5.3 Graphic Chip

Linux Compatibility Check

Video Mode

The tool SuperProbe is part of XFree86 and is able to check many graphic chips. Please read the documentation carefully, because it might crash your hardware. From man SuperProbe:

"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 -no_bios option). This is an error-prone process, especially on Unix (which usually has a lot more esoteric hardware installed than MS-DOS system do), so SuperProbe may likely need help from the user.

...

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 X 2> <error.msg>. And try to change the resolution by typing <CTL><ALT><+> or <CTL><ALT><->. Note: the + or - sign have to be taken from the numeric pad, which can be emulated at the letter pad by some laptops.

Text Mode

Just 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

  1. XFree86-HOWTO
  2. XFree86-Video-Timings-HOWTO
  3. XFree86-XInside-HOWTO
  4. X-Big-Cursor-mini-HOWTO (useful when running X on a notebook with low contrast LCD)
  5. Keyboard-and-Console-HOWTO
  6. vesafb-mini-HOWTO

Survey X-Servers

You might discover that some features of your laptop are not supported by XFree86, e.g. high resolutions, accelerated X or an external monitor. Therefor I give a survey of available X servers.

  1. XFree86 http://www.xfree86.org
  2. Xinside aka AcceleratedX http://www.xig.com , commercial
  3. SciTech http://www.scitechsoft.com , commercial
  4. VESA Frame-Buffer-Device, available with 2.2.x kernels and XFree86 3.3.2

Resources

You may find a survey about X windows resources at Kenneth E. Harker's page http://www.cs.utexas.edu/users/kharker/linux-laptop/.

External Monitor

There are several different methods to activate support for an external monitor: as a BIOS option or during runtime with a keystroke e.g. <Fn>+<F4>. Maybe you have to edit /etc/XF86Config by configuring int_disp and ext_disp. If you can't get this to work with XFree, try a demo version of the commercial X servers mentioned above. Also check with the RedHat and SuSE WWW sites as they may have new, binary-only, X servers that may work with your laptop.

Miscellaneous

Sometimes 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.

5.4 Sound

Linux Compatibility Check

The 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

  1. Sound-HOWTO
  2. Visual-Bell-mini-HOWTO

Survey Sound Drivers

Many 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 pcsnd, which tries to emulate a soundcard.

  1. Kernel Sound Driver by Hannu Savolainen
  2. ALSA Advanced Linux Sound Architecture , commercial or at least non-GPL (since I found a Debian/GNU Linux package I'm not sure anymore, about the commercial status)
  3. OSS UNIX Sound System Lite / OSS, commercial or at least non-GPL (since the 2.2.x kernels I'm not sure about the commercial status), also available from http://www.opensound.com .

5.5 Keyboard

Linux Compatibility Check

Usually there are no problems with Linux and the keyboard. Though there are two minor caveats: First the setleds program might not work. Second the key mapping might not fit your needs. Some Unix users and vi users expect to find the <CONTROL> key to the left of the <A> key. Many PC-type keyboards have the <CAPS-LOCK> key there. You may use xmodmap or loadkeys to re-map the keyboard. Some laptops (e.g., Toshiba) allow you to swap the <CAPS-LOCK> and <CONTROL> keys. Mark Alexander offered this solution in the linux-laptop mailing list: On RedHat, it's a one-line patch to /usr/lib/kbd/keytables/us.map , or whatever file is referenced in /etc/sysconfig/keyboard:


*** 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       

Second Keyboard

A second keyboard can be attached using the PS/2 port (I don't know whether this is possible via 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.

5.6 Mice and their Relatives

Linux Compatibility Check

You may check your mouse with the mev command from the GPM package.

Related HOWTOs

  1. 3-Button-Mouse-mini-HOWTO for serial mice
  2. Bus-Mouse-HOWTO
  3. Kernel-HOWTO

Mice Species

  1. Trackpad, Touchpad, used with the majority of current laptops
  2. Trackball, e.g. COMPAQ LTE
  3. Pop-up-Mouse, e.g. HP OmniBook 800
  4. Trackpoint, Mouse-Pin, e.g. IBM ThinkPad and Toshiba
  5. 3 Button Mice, e.g. IBM Thinkpads at least the 600s. I have heard rumor about a 3 button mouse for Texas Instruments Travelmates, but couldn't verify this yet.
Most 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.

Resources

Synaptics Touchpad Linux Driver The Synaptics touchpad is a pointing device used in notebooks by Acer, Compaq, Dell, Gateway, Olivetti, Texas Instruments, Winbook, and others.

Linux Compaq Concerto Pen Driver The latest version of the Linux Compaq Concerto Pen Driver is available from its author's home page.

External Mouse

For 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.

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.

5.7 Advanced Power Managment (APM)

Linux Compatibility Check

From 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 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 dmesg command and in the /proc/apm file.

Introduction

APM support consists of two parts: kernel support and user-land support.

For kernel support, enable the parameters in the corresponding kernel section. AFAIK not all features work with laptops. AFAIK the feature CONFIG_APM_POWER_OFF works with most laptops.

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 Hanno Mueller <hanno@lava.de> http://www.lava.de/~hanno/ and the page of Kenneth E. Harker http://www.cs.utexas.edu/users/kharker/linux-laptop/ for detailed information.

Richard Gooch wrote: I'have had a look at the beta version of apmd, and I still don't like it, because:

Though this topic was discussed controversly Richard Gooch has put together a package suspendd at http://www.atnf.csiro.au/~rgooch/linux/ .

Also, have a look at apmcd (apm based crontab) at ftp.binary9.net/pub/linux/apmcd-1.15.tar.gz . A tool made by Nicolas J. Leon <nicholas@binary9.net> http://mrnick.binary9.net/.

Note: I didn't check wether this features are merged into one package (apmd eventually) already.

Caveats

If 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.

Troubleshooting

If 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 halt and change it to halt -p or poweroff. See man halt , if you don't have this option you need a newer version of halt." You may find it in the SysVinit package.

PCMCIA 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 cardctl suspend before suspending your laptop, and cardctl resume after resuming, to cleanly shut down and restart your PCMCIA cards. This will not work with a modem that is in use, because the serial driver isn't able to save and restore the modem operating parameters. APM seems to be unstable on some systems. If you experience trouble with APM and PCMCIA on your system, try to narrow down the problem to one package or the other before reporting a bug. Some drivers, notably the PCMCIA SCSI drivers, cannot recover from a suspend/resume cycle. When using a PCMCIA SCSI card, always use cardctl eject prior to suspending the system."

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 apm -s. Folks with this affliction might want switch to the console virtual terminal then suspend chvt 1; apm -s as root, or, more appropiately.sudo chvt 1; sudo apm -s. I have these commands in a script, say, my-suspend and then do xapmload --click-command my-suspend .

On some new machines (for instance HP Omnibook 4150 - 366 MHz model) when accessing /proc/apm, you may get a kernel fault: general protection fault: f000. Stephen Rothwell <Stephen.Rothwell@canb.auug.org.au> http://www.canb.auug.org.au/~sfr/ explaines: "This is your APM BIOS attempting to use a real mode segment while in protected mode, i.e. it is a bug in your BIOS. .. We have seen a few of these recently, except all the others are in the power off code in the BIOS wher we can work around it by returning to real mode before attempting to power off. Here we cannot do this."

apmd-rhcn-2.4phil-1 by RedHat ftp://rhcn.redhat.com/pub/rhcn/ contains an unofficial patch for shutting down the PCMCIA sockets before a suspend and patches for multiple batteries.

5.8 Batteries

For information about available battery types, take a look at the Hardware Features chapter above.

Please see Battery Powered Linux Mini-HOWTO by Hanno Mueller <hanno@lava.de> http://www.lava.de/~hanno/ for detailed 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 mobile-update page (modified by WH): Discharge the battery. If your battery runs only for about 20 minutes, you probably suffer from memory effects. Most laptops do not discharge the battery properly. With low powered devices like old computer fans they can be discharged completely. This removes memory effects. You should do so even with LiIon batteries, though they don't suffer much from memory effext (the manual of an IBM Thinkpad says to cycle the batteries through a full charge/discharge cycle 3 times every few months or so).

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.

5.9 USB

Newer laptops come with the UniversalSerialBus. I haven't tried it on any of my systems because I don't have any USB devices.

Visit http://peloncho.fis.ucm.es/~inaky/uusbd-www/ for the USB Linux home page.

5.10 Memory

Unfortenately most laptops come with a proprietary memory chips. So they are not interchangeable between different models.

5.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 .

5.12 Docking Station / Port Replicator

Definitions

First 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 Solutions

I 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 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 Methods

AFAIK there are three solutions to connect a laptop to a docking station:

  1. SCSI port
  2. parallel port
  3. (proprietary) docking port

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:

  1. Either build support for the SCSI card into the kernel or build it as a module.
  2. Put the mount points into /etc/fstab but use the "noauto" flag to prevent them from being mounted automatically with the mount -a flag. In this way, when you are docked you can explicitly mount the partitions off any disk connected to the docking station SCSI card.

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

5.13 Network Connections

Related HOWTOs

  1. PLIP-mini-HOWTO
  2. NET-3-HOWTO
  3. Ethernet-HOWTO
  4. Term-Firewall-mini-HOWTO

Connection Methods

PCMCIA Network Card

If 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 Cable

Probably 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 Cable

Offers more speed than a serial connection. Some laptops use chipsets that will not work with PLIP. Please see PLIP-HOWTO for details.

Docking Station NIC

I don't have experience with a NIC in a docking station yet.

5.14 Modem

There 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."

WARNING: 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 pppstats. Or pload this provides a graphical view of the traffic (in and out) of the PPP connection. It is based on athena widgets hence is very portable. It also uses very little CPU time. The home of pload is http://www.engr.utk.edu/~mdsmith/pload/ .

5.15 SCSI

Hardware Compatibility Check

If 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

  1. SCSI-HOWTO

Survey

AFAIK 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. 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.

5.16 Floppy Drive

Linux Compatibility Check

Usually 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 superformat command (from the fdutils package) couldn't format more than 1.44MB with my HP OmniBook 800. You may also have difficulty when the the floppy drive and CD drive are mutually exclusive, or when the floppy drive is a PCMCIA device (as with the Toshiba Libretto 100). With older laptops, there might be a minor problem if they use a 720K drive. AFAIK all distributions come with support for 1.44M (and sometimes 1.2M) floppies only. Though it's possible to install Linux anyway. Please see Installation chapter. Please see kernel documentation for boot time parameters concerning certain laptop floppy drives, for instance IBM ThinkPad. Or man bootparam .

5.17 CD Drive

Most 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.

5.18 Harddisk

Linux Compatibility Check

Useful programms are hdparm, dmesg, fsck and fdisk .

Miscellaneaous

Be 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.

5.19 ZV Port

Some laptops come with a ZV port. Since I don't have a laptop with a ZV 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). Alternatively to the ZV port you might use the USB port.

5.20 Accessories

PCMCIA Cards

Card Families

  1. Ethernet adapter
  2. Token Ring adapter
  3. Ethernet + Modem / GSM
  4. Fax-Modem / GSM adapter
  5. SCSI adapter
  6. I/O cards: RS232, LPT, RS422, RS485, GamePort, IrDA, Radio, Video
  7. SmartCard reader, see Project Muscle - "Movement for the Use of Smart Cards in a Linux Environment" http://www.linuxnet.com/smartcard/index.html
  8. Memory cards
  9. harddisks
  10. 2.5" harddisk adapters

For desktops there are PCMCIA slots for ISA and PCI bus available.

Source: http://www.lapshop.de

Linux Compatibility Check

With the command cardctl ident you may get information about your card. Put this information into /etc/pcmcia/config if necessary. But this may not be enough to get the card to work, but works sometimes for no-name network cards or modem cards. If you get a card to work please don't forget to announce this to the developer of the PCMCIA-CS package David Hinds http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html .

Printers

Survey about small mobile printers:

  1. CANON: BJC-80
  2. CANON: BJ-30
  3. HP: DeskJet 340Cbi. This is a small, portable, low-duty-cycle printer. It prints either black, or color (3 color). I have had some problems with it loading paper. Overall, the small size and portability make it a nice unit for use with laptops. I use the HP 500/500C driver with Linux.
  4. Olivetti: JP-90

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

Power and Phone Plugs, Power Supply

When 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 might be even power supplies for 12V batteries from cars.

Bags and Suitcases

You 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.


Page suivante Page précédente Table des matières