home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd2.bin / docu / ascii / suselxen / slxen-11.txt < prev    next >
Text File  |  2000-03-11  |  39KB  |  757 lines

  1.                                                                            Chapter 11
  2.  Notebooks ¡ PCMCIA, APM, IrDA
  3.  
  4. Notebooks, in particular, have special components and requirements, among
  5. these are "Advanced Power Management" (APM), Infra-red ports (IrDA) and
  6. PC cards (PCMCIA). Occasionally these components can also be found in
  7. desktop computers. Because the differences between the two types are non-
  8. essential the use and configuration of both will be described in this chapter.
  9. Those interested in specific notebooks should definitely visit the "Linux Lap-
  10. top Homepage" at http://www.cs.utexas.edu/users/kharker/
  11. linux-laptop. Another good source of information is the "LiLAC"
  12. Homepage under http://home.snafu.de/wehe/index_li.html.
  13. There you can find an interesting Laptop Howto as well as an IrDA Howto.
  14.  
  15. 11.1 PCMCIA
  16.  
  17. 11.1.1 Hardware
  18. PCMCIA stands for "Personal Computer Memory Card International Asso-
  19. ciation" (not, as commonly supposed, People Can't Memorize Computer In-
  20. dustry Acronyms ;-) ) although it is commonly used as a collective term
  21. for both the hardware and the associated software. The essential part is the
  22. PCMCIAcard, of which two types exist:
  23.  
  24. PC cards: This is the most common type. With a 16-bit bus bandwidth, most
  25.    are relatively inexpensive and are usually trouble-free and stable.
  26. CardBus cards: This is a new standard. They have a 32-bit bus bandwidth
  27.    and are quicker, although also more expensive. Due to the fact that the
  28.    data transfer rate is often limited at other points in the system the increase
  29.    in bandwidth is often unjustified. In the meantime there are quite a few
  30.    drivers for these cards as well, although they are often unstable - depend-
  31.    ing on the PCMCIA controller.
  32.  
  33. When the PCMCIA service is active the card type can be found with the
  34. command cardctl ident. A list of supported cards can be found in
  35. SUPPORTED_CARDS in /usr/doc/packages/pcmcia. There you'll
  36. also find the actualized version of the PCMCIA-HOWTO.
  37. The second important component is the PCMCIA controller, or the PC
  38. card/CardBus-bridge. This creates a connection between the card itself and
  39. the PCI bus, or in older devices to the ISA bus. These controllers are most
  40.  
  41.                                                                                      279
  42.  
  43.  
  44.  
  45. 11. Notebooks ¡ PCMCIA, APM, IrDA
  46.  
  47.               often compatible to the i82365 chip from Intel; of which all models are
  48.               supported. The type of controller can be found with the command probe.
  49.               In the case of PCI devices the command lspci -vt also offers interesting
  50.               information.
  51.  
  52.               11.1.2 Software
  53.               All necessary drivers and programs can be found, as long as they are not al-
  54.               ready integrated into the kernel, in package PCMCIA, series a1. The modules
  55.               pcmcia_core, i82365 (or tcic, less often) and ds form the basis and
  56.               are normally automatically started when booting. They initialize the PCM-
  57.               CIA controller and supply basic functions.
  58.               Because PCMCIA cards can be added or removed at run time a  Daemon
  59.               is needed to check the activities of the slots. This is done by the Cardman-
  60.               ager (cardmgr), which is automatically started after loading the base mod-
  61.               ules. When a card is inserted into a slot Cardmanager determines the type
  62.               and function and loads the necessary module. You can check which modules
  63.               are loaded with the command lsmod. If all modules are successfully loaded
  64.               Cardmanager, depending on the function of the card, starts predetermined ini-
  65.               tialization scripts that build the necessary network connections or mount the
  66.               necessary external SCSI drives. When the card is removed Cardmanager, us-
  67.               ing the same scripts, ends the diverse card activities, after which the modules
  68.               that are no longer needed are unloaded.
  69.               Theoretically, you can simply remove the card. This works very well with
  70.               network, modem, or ISDN cards as long as there is no active network con-
  71.               nection. It does not work with mounted partitions, external drives, or NFS
  72.               directories. For this you need to be certain that the devices are synchronized
  73.               and cleanly unmounted. If in doubt the following command can be of help
  74.                  earth: # cardctl eject
  75.               This command deactivates the card, as long as it is still in the notebook.
  76.  
  77.               11.1.3 Configuration
  78.               When the PCMCIA package is installed four PCMCIA variables will be
  79.               found in /etc/rc.config. START PCMCIA determines whether the ser-
  80.               vice should be started when booting. It can be started with the command
  81.               rcpcmcia start even when START PCMCIA is set to no. PCMCIA de-
  82.               termines the type of PCMCIA controller. This value is automatically set at in-
  83.               stallation and almost always has the value i82365. The other two variables,
  84.               PCMCIA PCIC OPTS and PCMCIA CORE OPTS involve options for the ba-
  85.               sis modules and can normally be left empty. The default value of do pnp=0
  86.               for PCMCIA CORE OPTS is only important for Compaq notebooks. Because
  87.               the selection of driver modules is taken care of by Cardmanager (cardmgr)
  88.               no other hardware related settings are necessary.
  89.  
  90.               Ethernet and Token Ring
  91.               Ethernet or Token Ring connections can be easily configured using YaST. In
  92.               the menu item `System administration'   `Network config-
  93.               uration' these devices can be configured in the same manner as normal
  94.  
  95. 280
  96.  
  97.  
  98.  
  99.                                                                                     11.1. PCMCIA
  100.  
  101. hardware devices with the exception that the device must be marked as a
  102.                             
  103. PCMCIA device with  F9  
  104.                            ; see also Section 3.6.3 page 95. The following
  105. points should be taken into consideration:
  106.  
  107.  * When more than one Ethernet or Token Ring devices are marked as PCM-
  108.    CIA only the first device configuration is used.
  109.  * The settings, in contrast to normal network cards, are immediately acti-
  110.                   
  111.    vated with  F10  
  112.                     .
  113.  * The device names shown (eth0, eth1, tr0. . . ) should only be seen as
  114.    information relating to the type of device due to the fact that the numera-
  115.    tion of PCMCIA devices is determined dynamically.
  116.                                                       
  117.  * When a non-active device is reactivated with  F4  the device must also be
  118.                                            
  119.    marked as a PCMCIA device with  F9  again.
  120. ISDN
  121. ISDN-PC cards are configured in much the same manner as other cards; see
  122. also Section 6.2 page 150, the only difference being that the device must be
  123. marked as a PCMCIA device under the menu items `System adminis-
  124.                                                               
  125. tration'   `Network configuration' with  F9  
  126.                                                                . In the `Con-
  127. figuration of ISDN hardware' dialog neither IRQ nor IO port nor
  128. the ISDN protocol (Euro-ISDN or 1TR6) should be changed.
  129. So-called ISDN modems are also available as PCMCIA cards. They are
  130. modem or multi-functional cards with an additional "ISDN-Connection-Kit"
  131. and are handled as modems.
  132.  
  133. Modems
  134. Modem PC cards normally have no specific settings. After insertion the card
  135. is available in /dev/modem. The configuration of the device with wvdial
  136. (wvdial) follows that of a normal modem; see also Section 6.6 page 163.
  137.  
  138. SCSI and IDE
  139. The necessary driver modules are loaded by Cardmanager. After insertion
  140. the device is ready for use. The  Device name is determined dynami-
  141. cally. Information about available SCSI or IDE devices can be found under
  142. /proc/scsi or /proc/ide.
  143.  
  144.  Before inserting external hard drives, CD-ROM drives and similar devices
  145.  be sure that the device is on. SCSI devices must be actively terminated.
  146.  Important: Before a SCSI or IDE device is removed from the slot the
  147.  partitions and/or device must be unmounted. If this step is left out the
  148.  device can only be accessed after rebooting although the system is still
  149.  stable.
  150.  
  151. It is possible to install Linux entirely on such an external drive, but the boot
  152. process is somewhat more complicated. A "boot disk" will be needed which
  153. includes the kernel and an Init-Ramdisk (initrd); more information on this
  154. can be found in Section 16.2 page 377. The initrd includes a virtual file
  155.  
  156.                                                                                              281
  157.  
  158.  
  159.  
  160. 11. Notebooks ¡ PCMCIA, APM, IrDA
  161.  
  162.               system with all the necessary PCMCIA modules and programs. The SuSE
  163.               Linux "boot disk" and boot disk images include these, which means that
  164.               with these you can boot your external installation. It is, however, somewhat
  165.               uncomfortable having to load the PCMCIA support every time you boot your
  166.               system; advanced users can create their own boot disks that are tailored to
  167.               their systems1.
  168.  
  169.               11.1.4 Configurations for Changing ¡ "Schemes"
  170.               Mobile computers often have different configurations. For example, one for
  171.               work and one for home. For PCMCIA devices this proves to be quite easy,
  172.               although the configuration files need to be edited by hand; YaST cannot yet
  173.               handle this task.2.
  174.               Singular configuration profiles for PCMCIA are known as "Schemes". The
  175.               configuration files found in /etc/pcmcia/*.opts can include more than
  176.               one scheme. The data for a specific scheme are included in configuration
  177.               blocks and are selected with an "address". The addresses are comma sep-
  178.               arated words. The first word is the name of the scheme. The other words
  179.               contain information such as slot in which the card is inserted or the number
  180.               of a hard drive partition. Detailed information can be found at the beginning
  181.               of the /etc/pcmcia/*.opts files as well as in the PCMCIA-HOWTO.
  182.               The standard scheme used by SuSE Linux has the name SuSE. The SuSE
  183.               scheme is edited with SuSEconfig, when the network connection is config-
  184.               ured with YaST. Due to this, manual alterations to this scheme will be lost by
  185.               using SuSEconfig.
  186.               We'll use an ethernet card configuration as an example scheme configuration,
  187.               making two schemes, named work and home. The file /etc/pcmcia/
  188.               network.opts (see file 11.1.1 on the facing page) will have several con-
  189.               figuration blocks with the following addresses:
  190.  
  191.                * SuSE,*,*,*: This block already exists and should be left as is, in case
  192.                   you'd like to use YaST for future configurations.
  193.                * work,*,*,*: This block is for the network configuration on the job.
  194.                * home,*,*,*: The configuration for home.
  195.                * *,*,*,*: This block already exists as well and should be left as is for
  196.                   use in future configurations.
  197.  
  198.               It is easiest to use YaST to configure a scheme and then change the name,
  199.               after running SuSEconfig, from SuSE to work or home. Those who wish
  200.               to edit everything themselves can find more information about terms such as
  201.               NETMASK, BROADCAST etc. in Table 5.1 page 135, and all specific values
  202.               in PCMCIA-HOWTO (in /usr/doc/packages/pcmcia you'll find the
  203.               current version).
  204.               Scheme changes can be made a boot or run time. The active scheme
  205.               is defined by the command cardctl scheme. Changes in schemes
  206.               1 Tips can be found in the PCMCIA-HOWTO in Section 5.3 "Booting from a PCMCIA device."
  207.               2 Several ISDN devices, with the same network address and the same default route, can be
  208.               configured. These are not started automatically, but selectively. ¡ In the case of modems, several
  209.               different profiles can be configured with the wvdial
  210.  
  211. 282
  212.  
  213.  
  214.  
  215.                                                                         11.1. PCMCIA
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222. # The address format is "scheme,socket,instance,hwaddr" .
  223. case "$ADDRESS" in
  224. SuSE,*,*,*)
  225.         INFO="This scheme is to be configured by YaST/SuSEconfig"
  226. # [... abbreviated ...]
  227.         ;;
  228. work,*,*,*)
  229.         INFO="Network configuration for the company via DHCP"
  230.         IF_PORT=""
  231.         BOOTP="n"
  232.         DHCP="y"
  233.         IPADDR=""
  234.         NETMASK=""
  235.         NETWORK=""
  236.         BROADCAST=""
  237.         GATEWAY=""
  238.         DOMAIN=""
  239.         SEARCH=""
  240.         DNS_1=""
  241.         MOUNTS=""
  242.         start_fn () { return; }
  243.         stop_fn () { return; }
  244.         ;;
  245. home,*,*,*)
  246.         INFO="Network configuration for home, using a fixed address"
  247.         IF_PORT=""
  248.         BOOTP="n"
  249.         DHCP="n"
  250.         IPADDR="10.0.1.23"
  251.         NETMASK="255.255.255.0"
  252.         NETWORK="10.0.1.0"
  253.         BROADCAST="10.0.1.255"
  254.         GATEWAY="10.0.1.1"
  255.         DOMAIN="home.de"
  256.         SEARCH="home.de work.de"
  257.         DNS_1="10.0.1.1"
  258.         MOUNTS=""
  259.         start_fn () { return; }
  260.         stop_fn () { return; }
  261.         ;;
  262. *,*,*,*)
  263.         INFO="Sample private network setup"
  264. # [... abbreviated ...]
  265.         ;;
  266. esac
  267.  
  268.                     File contents 11.1.1: /etc/pcmcia/network.opts
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.                                                                                  283
  276.  
  277.  
  278.  
  279. 11. Notebooks ¡ PCMCIA, APM, IrDA
  280.  
  281.               image        = /boot/vmlinuz
  282.                  root      = /dev/hda7
  283.                  label = work
  284.                  alias = w
  285.                  append = xzx SCHEME=work xzx
  286.               #image = /boot/vmlinuz
  287.                  root      = /dev/hda7
  288.                  label = home
  289.                  alias = h
  290.                  append = xzx SCHEME=home xzx
  291.               #image = /boot/vmlinuz
  292.                  root      = /dev/hda7
  293.                  label = suseconf
  294.                  alias = s
  295.                  append = xzx SCHEME=SuSE xzx
  296.  
  297.                          File contents 11.1.2: PCMCIA: example from lilo.conf
  298.  
  299.               can be made at run time with the same command using the syntax
  300.               cardctl scheme <Scheme name>. These settings are not lost when
  301.               restarting the system which means that the last selected scheme is still ac-
  302.               tive at the next boot unless specifically changed. This is done at the boot
  303.               prompt (LILO:) by adding the parameter SCHEME=<Scheme name>;
  304.               more information on giving parameters at the boot prompt can be found in
  305.               Section 14.3.2 page 327.
  306.               You can configure LILO to create one or more boot schemes. The append
  307.               parameter in /etc/lilo.conf is used for this (and other) purposes as can
  308.               be seen in File 11.1.2. After reconfiguring /etc/lilo.conf the command
  309.               lilo needs to be called. Using the example configuration in File 11.1.2 by
  310.               simply adding w, h or s when booting a specific scheme can be started.
  311.  
  312.               APM-Support
  313.               The PCMCIA package in SuSE Linux is compiled without APM support due
  314.               to the fact that this does not function properly on all systems. You can use
  315.               apmd to simulate APM support (see Section 11.2.3 page 289) or recompile
  316.               the kernel, which is actually not very difficult. It is important that the correct
  317.               kernel is running when re-compiling, because certain information is taken
  318.               from it. The PCMCIA package should already be installed but not started;
  319.               if in doubt run the command rcpcmcia stop. Next install the PCMCIA
  320.               source package with YaST and finally call:
  321.                   earth: # rpm -ba /usr/src/packages/SPECS/pcmcia.spec
  322.               That's it! A new binary package should exist as well under /usr/src/
  323.               packages/RPMS in case you'd like to use the same kernel for other sys-
  324.               tems.
  325.  
  326.               11.1.5 If Things Still Don't Work
  327.               Some notebooks have problems with specific PCMCIA cards. Most can be
  328.               easily solved when you look at the matter systematically. First check to see
  329.  
  330. 284
  331.  
  332.  
  333.  
  334.                                                                                 11.1. PCMCIA
  335.  
  336. if the problem lies with the card or the PCMCIA base system. To do this,
  337. boot the computer without any cards inserted. Only after the base system
  338. functions correctly should you insert a card. All important messages can
  339. be found in /var/log/messages. Therefore this information should be
  340. observed with
  341.    earth: # tail -f /var/log/messages
  342. while the necessary tests are running. Doing so you can reduce the problem
  343. to one of the following two errors.
  344.  
  345. The PCMCIA Base System Does Not Function Properly
  346. If the system hangs when booting, after you receive the message "PCM-
  347. CIA: Starting services:" or other strange things happen you
  348. should reboot, giving the parameter NOPCMCIA=yes at the boot prompt
  349. (LILO:). After the system is running you should load the modules, one
  350. after the other, manually, with the commands modprobe pcmcia core,
  351. modprobe i82365 or ¡ in very rare circumstances ¡ modprobe tcic
  352. and modprobe ds. The critical modules are, in each case, the first ones.
  353. If the problem occurs when loading pcmcia_core help can be found in
  354. manpage for pcmcia core (man pcmcia core). The options described
  355. in this can be tested in conjunction with the modprobe command. We'll
  356. use the example where, due to activated P'n'P support ("Plug-and-Play") the
  357. system hangs when loading pcmcia_core. In this case the P'n'P support
  358. needs to be deactivated with the command do pnp=0. To test this add this
  359. module option to the modprobe as follows:
  360.    earth: # modprobe pcmcia core do pnp=0
  361. If this helps you should set the variable PCMCIA CORE OPTS in /etc/rc.
  362. config to:
  363. PCMCIA CORE OPTS="do pnp=0"
  364. After this the P'n'P support is no longer automatically loaded. From now on,
  365. if you need P'n'P support, you should change the option to 1. To set more
  366. than one option, separate each with an empty space as follows:
  367. PCMCIA CORE OPTS="do pnp=0 probe io=0"
  368. If the problem occurs when loading i82365 help can be found in man-
  369. page for i82365 (man i82365). This error is the result of a resource
  370. conflict, which means that either an interrupt, an IO port or a memory area
  371. is being shared by two devices. This module checks for such sharing but
  372. sometimes this check itself leads to problems. In this case the parameter
  373. irq list=<List of IRQs> helps. This list should include all interrupts
  374. to be used by the base system and has the following syntax:
  375.    earth: # modprobe i82365 irq list=5,7,9,10
  376. or longterm in /etc/rc.config:
  377. PCMCIA PCIC OPTS="irq list=5,7,9,10"
  378. In addition to this there are the files /etc/pcmcia/config and /etc/
  379. pcmcia/config.opts which are used by Cardmanager. The settings
  380. in these files are used for the loading of driver modules for the PCMCIA
  381.  
  382.                                                                                          285
  383.  
  384.  
  385.  
  386. 11. Notebooks ¡ PCMCIA, APM, IrDA
  387.  
  388.               cards. IRQs, IO-Ports and memory areas can be assigned or unassigned in
  389.               the file /etc/pcmcia/config.opts as well. The difference between
  390.               this and the above option is that when resources are unassigned in this file the
  391.               PCMCIA card does not use them, but the base system module i82365 still
  392.               checks them.
  393.  
  394.               The PCMCIA Card Doesn't Function (Correctly)
  395.               There are three possibilities for errors: The card is not correctly detected, the
  396.               card causes a resource conflict, or the card is not supported.
  397.               If the card is not properly detected the message "unsupported card
  398.               in Slot x" will appear in /var/log/messages. This message only
  399.               means that Cardmanager cannot correctly assign a driver. /etc/pcmcia/
  400.               config is used for this purpose, it is, so to speak, a "driver database".
  401.               You can add entries to the "driver database" using existing entries as an
  402.               example. Using the command cardctl ident you can determine the
  403.               identification information for the card. More information on this topic can
  404.               be found in the PCMCIA-HOWTO, section 6 ("Dealing with unsupported
  405.               cards") as well as the manpage for pcmcia (man pcmcia). After changing
  406.               /etc/pcmcia/config be sure to reload it with rcpcmcia reload.
  407.               Generally speaking, it doesn't matter which IRQ or IO port a PCMCIA card
  408.               uses as long as these are not shared by another device (CD-ROM on 2. IDE-
  409.               Controller: IRQ 15; serial or IrDA Port: IRQ 3, IRQ 4; sound, printer: IRQ 5,
  410.               IRQ 7). In cases of resource conflicts these should be specifically defined in
  411.               /etc/pcmcia/config.opts. If the problem still exists these settings
  412.               can be further specified as a module option in config.opts. For example
  413.               if the module pcnet_cs should use IRQ 5 the following entry would be
  414.               made:
  415.               module "pcnet cs" opts "irq list=5"
  416.               Most available options are described in the manpages3. If the manpage does
  417.               not include the information needed there are several options available in man-
  418.               page for i82365 (man i82365) or the answer lies in the source code of
  419.               the module. . .
  420.               One common problem with 10/100 Mbit-Network cards: the transfer rate is
  421.               not correctly detected. In this case the command ifport can be of help.
  422.               With this the transfer rate can be shown and changed; see also manpage for
  423.               ifport (man ifport). The correct setting can be entered in the variable
  424.               IFPORT in /etc/pcmcia/network.opts.
  425.  
  426.               11.1.6 Installation via PCMCIA
  427.               In some cases PCMCIA support is necessary to install SuSE Linux. For
  428.               this you should choose `Load PCMCIA Module' from the menu item
  429.               `Kernel-Module (Hardware Drivers)' in linuxrc. At first two
  430.               entry fields will appear. here you can specify options for the modules
  431.               pcmcia_core and i82365. Normally these can be left empty. The man-
  432.               pages for pcmcia_core and i82365 can be found as text files on the first
  433.               3 Tip: rpm -ql pcmcia | grep man gives a list all package pcmcia manpages.
  434.  
  435. 286
  436.  
  437.  
  438.  
  439.                                                                  11.2. APM ¡ Power Management
  440.  
  441. CD in the directory docu. During installation system messages are displayed
  442.                                                                           
  443. on several virtual consoles and can be viewed using  Alt  +  F<x>  
  444.                                                                          .4
  445. After the first part of the installation the system is partially or totally rebooted.
  446. In rare cases the system hangs when starting the PCMCIA system. The instal-
  447. lation is far enough along that you can use the boot option NOPCMCIA=yes
  448. to boot Linux without PCMCIA support, at least in text mode. More infor-
  449. mation on this can be found in Section 11.1.5 page 284.
  450.  
  451. 11.1.7 Other Help Programs
  452.  
  453. The program cardctl has already been mentioned several times. cardctl is
  454. an important tool for finding information about PCMCIA devices and/or
  455. taking specific actions. Details can be found in manpage for cardctl
  456. (man cardctl); or simply give the command cardctl ot receive a list of
  457. command options.
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.                        Figure 11.1: PCMCIA ¡ Cardinfo
  473.  
  474. This program has a graphical front-end as well which can be started with the
  475. command cardinfo (See Figure 11.1). Most options can be controlled with
  476. this although, unfortunately, you cannot change between "schemes" using this
  477. tool.
  478. Friends of KDE can also use the program kardinfo. This tool is basically the
  479. same as cardinfo.
  480. More help can be found in package pcmcia with ifport, ifuser,
  481. probe and rcpcmcia although they are not often needed in day to day
  482. problems. To discover everything that exists in package pcmcia, use the
  483. command rpm -ql pcmcia.
  484.  
  485. 11.2 APM ¡ Power Management
  486.                                                 
  487. 4 In YaST2 you must use  Ctrl  + Alt  + F<x>  because YaST2 runs under the X Window
  488. System.
  489.  
  490.                                                                                           287
  491.  
  492.  
  493.  
  494. 11. Notebooks ¡ PCMCIA, APM, IrDA
  495.  
  496.               11.2.1 Fundamentals
  497.               Power management can be used, assuming that the necessary hardware and
  498.               BIOS routines exist. Most notebooks and desktops include these ¡ the diverse
  499.               energy saving functions are usually only important for mobile computers.
  500.               These functions are described below:
  501.               Standby ¡ In this operating mode the display is turned off and, by some
  502.                  machines, the processor power is reduced.
  503.               Suspend (to memory) ¡ In this mode all system information is written to
  504.                  RAM and the entire system is then suspended. Here the computer uses
  505.                  very little energy; so little, in fact, that the computer can run in this mode
  506.                  from between 12 hours to several days on one battery. The advantage
  507.                  of this is that within seconds you can resume working at the same point
  508.                  at which you left, without rebooting or restarting any programs. This is
  509.                  where using Linux becomes interesting ¡ you never need to turn the com-
  510.                  puter off ¡ other operating systems become unstable in time. With most
  511.                  modern notebooks you only need to close the lid, therefore suspending
  512.                  the system, and later simply opening it again to resume working.
  513.               Hibernation (Suspend to disk) ¡ In this operating mode the computer can
  514.                  run right through the winter. That is, all information is saved to the hard
  515.                  drive and the system is turned off. Resuming operation takes about 30 -
  516.                  90 seconds and the system is back to the same point where you left off.
  517.                  Some manufacturers offer interesting mixes of suspend and hibernation.
  518.               Battery Control ¡ Very interesting.
  519.               Automatic Shutdown ¡ Interesting for desktops. After a "shutdown" the
  520.                  computer is completely turned off.
  521.               Hard drive power off ¡ This function saves not only energy but, for those
  522.                  with a loud hard drive, also stress. Problems can occur, however, with, for
  523.                  example, an editor that automatically saves changes, causing the drive to
  524.                  turn back on, again and again.
  525.               Some of these functions are implemented by the BIOS alone. Standby and
  526.               suspend can be invoked, on many notebooks with a combination of keys or
  527.               by simply closing the lid. The operating system has nothing do with these
  528.               functions although with the correct kernel and packages installed these can
  529.               also be invoked with a command. This is helpful if you like to perform certain
  530.               actions every time the mode is invoked.
  531.  
  532.               11.2.2 The Correct Kernel
  533.               For advanced APM functionality a kernel which suports this is needed.
  534.               Several of the SuSE standard kernel includes this functionality. You can
  535.               check to see whether these functions are supported with the command
  536.               cat /proc/apm. If a line appears with diverse numbers everything is
  537.               okay and the command shutdown -h should turn the computer off. Due
  538.               to the fact that some BIOS's do not correctly support the standards strange
  539.               things can sometimes happen. Some of these problems can be solved by
  540.               using a special kernel configurations. More information can be found in our
  541.               Support Database at http://sdb.suse.de/sdb/en/html or on the
  542.  
  543. 288
  544.  
  545.  
  546.  
  547.                                                                 11.2. APM ¡ Power Management
  548.  
  549. "Linux Laptop Homepage" at http://www.cs.utexas.edu/users/
  550. kharker/linux-laptop.
  551.  
  552. 11.2.3 The APM-Daemon
  553. The  Daemon apmd, found in package apmd, series ap serves to watch the
  554. battery and can take specific actions when "standby" or "suspend" is started.
  555. This package is not always necessary but can often be of use. In order to start
  556. this at boot the variable START APMD in /etc/rc.config should be set
  557. to yes. You can also start this with the command rcapmd start.
  558. Several variables can be configured in /etc/rc.config.d/apmd.rc.
  559. config. Because this file contains comments as to the settings of these
  560. variables we won't go into detail here.
  561.  * PCMCIA in SuSE Linux is compiled without APM support. Those who
  562.    do not wish to recompile the PCMCIA package can set the variable
  563.    PCMCIA SUSPEND ON SUSPEND to yes. Some cards, however, loose
  564.    function after a suspend. In this case you should use the harder method of
  565.    setting the variable PCMCIA EJECT ON SUSPEND=yes.
  566.  * If the time is incorrect after a suspend set the variable
  567.    SET CLOCK ON RESUME to yes.
  568.  * If problems occur with the X Window System when the system wakes
  569.    help can be found by setting the variable LEAVE X BEFORE SUSPEND=yes.
  570. In addition you can set the "spindown" behavior of the hard drive differently
  571. for the battery mode or even tell the computer to shutdown when the battery
  572. reaches a critically low level. Advanced users can add functionalities them-
  573. selves in the file /usr/sbin/apmd_proxy.
  574.  
  575. 11.2.4 More Commands
  576. package apmd has a few other useful programs. With apm you can check the
  577. actual battery capacity and put the system into standby (apm -S) or suspend
  578. (apm -s mode; see also manpage for apm (man apm).
  579. The command apmsleep suspends the system for a certain amount of time;
  580. see also manpage for apmsleep (man apmsleep).
  581. To observe a log file without having the hard drive continuously running use
  582. the command tailf instead of tail -f.
  583. There are also tools for the X Window System as well as the command xapm
  584. which shows a graphic representation of the battery status. If you're using
  585. KDE or at least kpanel ¡ the program kbatmon shows battery status and can
  586. suspend or put the system to sleep.
  587.  
  588. 11.2.5 Pause for the Hard Drive
  589. The hard drive can be turned off when not needed with the program hdparm.
  590. This program also has other useful hard drive functions. The drive can be
  591. placed in standby mode with the command option -y or completely turned
  592. off with -Y. The drive will automatically turn off after 30 seconds with the
  593. option hdparm -S 6. The number in this command is the number of 5
  594.  
  595.                                                                                          289
  596.  
  597.  
  598.  
  599. 11. Notebooks ¡ PCMCIA, APM, IrDA
  600.  
  601.               second intervals (in this case 6, so 6   5 = 30). This function is turned off
  602.               with a value of 0. With larger numbers the interval is also increased, more
  603.               information can be found in the manpages for this program.
  604.               You can set the standby behavior to be dependent on whether the computer
  605.               is plugged in or in battery mode by configuring /etc/rc.config.d/
  606.               apmd.rc.config but if you do so be sure to set the variable CHECK TIME
  607.               to 0.
  608.               Due to the fact that the hard drive is often needed the sleep function is
  609.               often useless because many programs, for example text editors, regularly
  610.               write temporary data to the drive. Programs intended to help, such as
  611.               tail -f <logfile> often cause this as well. Replacing this command
  612.               with tailf <logfile> solves this problem. Even when none of these
  613.               programs are in use there are processes that cause the hard drive to be waked
  614.               from its' sleep. It is important to know that the data is not actually written
  615.               to the hard drive, rather in a buffer supplied by the kernel. With this write
  616.               operation speeds are increased. There exists an Update-Daemon which, in
  617.               regular time intervals, synchronizes the drive and takes care of the buffer.
  618.               This daemon has been integrated into the kernel since Kernel 2.2.11 and
  619.               cannot, without other changes, be turned off or replaced with the "mobile
  620.               update daemon". You can, however, change this behavior with the /proc
  621.               file system. The command
  622.               earth: # cat /proc/sys/vm/bdflush
  623.  
  624.               shows the actual configuration and with
  625.               earth: # echo "60 500 64 256 6000 60000 3000 1884 2" >
  626.                 /proc/sys/vm/bdflush
  627.  
  628.               you can actualize the settings. If you'd like to change this be sure to check
  629.               /usr/src/linux/Documentation/proc.txt for the meanings of
  630.               the individual numbers. You can manually synchronize the hard drive with
  631.               the command sync.
  632.  
  633.  
  634.               11.3 IrDA ¡ Infra-red Data Association
  635.  
  636.               IrDA (Infra-red Data Association) is an industry standard for wireless com-
  637.               munications that uses light in the infra-red spectrum. Many laptops delivered
  638.               today have an IrDA compatible sender/receiver that enables the communi-
  639.               cation with other devices, such as printers, modems, LANs, or even other
  640.               laptops. The transfer rate varies from 2400 bps up to 4 Mbps.
  641.  
  642.                Support for this protocol in the Linux kernel is not yet complete. The
  643.                project is still seen as "experimental" (beta status). Therefore this funtion-
  644.                ality is not included in the Standard-Kernel. This implies that the driver
  645.                has not been fully tested yet and may not be as stable as other parts of the
  646.                kernel.
  647.  
  648. 290
  649.  
  650.  
  651.  
  652.                                                      11.3. IrDA ¡ Infra-red Data Association
  653.  
  654. Software
  655. The package irda supplies support for infra-red ports as well as the IrDA
  656. Protocol itself. After installation of this package you can find the documen-
  657. tation under /usr/doc/packages/irda/README.
  658. From the package howto you can install the IR-HOWTO. After installation
  659. it can be found under /usr/doc/howto/en/IR-HOWTO.gz. For more
  660. information on the Linux IrDA-Project visit the URL http://www.cs.
  661. uit.no/linux-irda/.
  662.  
  663. Configuration
  664. By a normal installation the variables START IRDA, IRDA PORT and
  665. IRDA IRQ are set in the file /etc/rc.config . Normally the use of
  666. IrDA is deactivated; with the command
  667.     earth: # rcirda start
  668. you can manually activate the port. You can deactivate it with the parameter
  669. stop. When activated the necessary kernel modules are loaded.
  670. With IRDA PORT (Default /dev/ttyS1) and IRDA IRQ (Default 3)
  671. you can configure the IrDA port; they are set by the script /etc/irda/
  672. drivers when support for the infra-red port is activated.
  673. If you give START IRDA a value of yes support for the infra-red port will
  674. be activated at boot. Unfortunatly IrDA uses noticeably more electricity due
  675. to the so-called "discovery" packets that are broadcast every few seconds,
  676. which look for other devices with IrDA communication ports with which to
  677. communicate.
  678.  
  679. Application
  680. In order to print using the infra-red port you need to send the print data to
  681. the device file /dev/irlpt0. This device file has the same attributes as
  682. the normal "wired" port /dev/lp0, the only difference being the wireless
  683. transmission per infra-red light.
  684. You can configure a printer to use this port in the same manner as a parallel
  685. port or serial port printer using YaST (see Section 3.6.1 page 90). When
  686. printing be sure that the printer is in sight of the computer and that the IrDA
  687. support is started.
  688. If you want to communicate with other computers, mobile telephones or the
  689. like you can address the device using the device file /dev/ircomm0. With
  690. the Siemens S25 mobile telephone, for instance, you can use the program
  691. wvdial to access the internet.
  692.  
  693. Troubleshooting
  694. If devices do not respond when using the Infra-red port you can check to see
  695. if the device is found by the computer using the command irdadump as
  696. `root':
  697.     earth: # irdadump
  698.  
  699.                                                                                         291
  700.  
  701.  
  702.  
  703. 11. Notebooks ¡ PCMCIA, APM, IrDA
  704.  
  705.               21:41:38.435239 xid:cmd 5b62bed5 > ffffffff S=6 s=0 (14)
  706.               21:41:38.525167 xid:cmd 5b62bed5 > ffffffff S=6 s=1 (14)
  707.               21:41:38.615159 xid:cmd 5b62bed5 > ffffffff S=6 s=2 (14)
  708.               21:41:38.705178 xid:cmd 5b62bed5 > ffffffff S=6 s=3 (14)
  709.               21:41:38.795198 xid:cmd 5b62bed5 > ffffffff S=6 s=4 (14)
  710.               21:41:38.885163 xid:cmd 5b62bed5 > ffffffff S=6 s=5 (14)
  711.               21:41:38.965133 xid:rsp 5b62bed5 < 6cac38dc S=6 s=5 BJC-80 \
  712.                                                hint=8804 [ Printer IrCOMM ] (23)
  713.               21:41:38.975176 xid:cmd 5b62bed5 > ffffffff S=6 s=* erde \
  714.                                                hint=0500 [ PnP Computer ] (21)
  715.  
  716.                                 Screen output 11.3.1: IrDA: irdadump
  717.  
  718.               In the case of a Canon BJC-80 printer in "sight" of the computer earthyou'll
  719.               receive the following output in regular intervals (see Output 11.3.1).
  720.               If you receive no output or the device does not respond check the configu-
  721.               ration of the port. Are you using the correct port? Sometimes the infra-red
  722.               port can be found under the device file /dev/ttyS2 or /dev/ttyS3 or
  723.               the device is not being assigned to Interupt 3. These settings can be changed
  724.               on nearly every laptop in the BIOS setup.
  725.               It is important to note that you can only communicate with devices using
  726.               IrDA if the device you wish to communicate with supports the protocols
  727.               Printer or IrCOMM. With the help of special programs (irobex palm3
  728.               or irobex receive, please make note of the descriptions in IR-HOWTO)
  729.               you can communicate with devices that use the IROBEX Protocol (e. g.3Com
  730.               Palm Pilot). Which protocol your device supports can be taken from the
  731.               output of irdadump, in brackets after the device name. Support for the
  732.               IrLAN Protocol is still a "Work in progress" and will be included in future
  733.               versions of Linux.
  734.               You can check to see if the IrDA port is actually emitting light with a normal
  735.               video camera...in contrast to humans most video cameras can "see" infra-red
  736.               light.
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753. 292
  754.  
  755.  
  756.  
  757.