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

  1.       Part IV
  2.  
  3. Linux and Hardware
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                       253
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.                                                                           Chapter 10
  22.                                          Linux and Hardware
  23.  
  24. 10.1 Preliminary Notes
  25. It is now possible to integrate almost all hardware components into a Linux
  26. system with little (or more) trouble. How this is achieved in individual cases
  27. and which software is available, is the subject of this chapter. For problems
  28. involving printing, see Chapter 12 page 293, for problems concerning faxing
  29. see Section 6.10 page 181 and for using ISDN devices, see Section 6.2
  30. page 150. PCMCIA hardware is described in Chapter 11 page 279.
  31.  
  32. 10.2 Cards
  33. In a standard PC, normally either ISA ("Industry Standard Architecture") or
  34. PCI ("Peripheral Component Interconnect") bus-based cards are used.
  35. The AGP ("Accelerated Graphics Port") is an exception to this, as devices
  36. on this port are also visible on the PCI bus. They are treated logically in
  37. exactly the same way as PCI bus cards. ¡ PCMCIA bus cards are found
  38. above all in portable computers, such as laptops and notebooks. These cards
  39. are described in Chapter 11 page 279.
  40.  
  41. 10.2.1 ISA and PCI Cards
  42. We shall now take a closer look at ISA and PCI bus cards. The configuration
  43. of these cards will then be explained using sound cards as an example.
  44.  
  45. ISA Cards
  46. The ISA card is the oldest form of PC-compatible card. The bus is 8 or 16 bits
  47. wide, and has a maximum frequency of 8 MHz. Many mainboards provide
  48. the option of increasing the frequency of the ISA bus ¡ but this often leads to
  49. problems. ISA bus cards can be divided into three categories:
  50.  
  51. Legacy cards: These cards must be configured entirely by hand. Resources
  52.    such as I/O addresses, interrupts and DMA channels must be set yourself
  53.    through jumpers or microswitches on the cards themselves. You must also
  54.    ensure that resources such as IRQ or DMA channels are not used by two
  55.    or even more cards simultaneously. Therefore the configuration of such
  56.    cards often turns out to be somewhat difficult.
  57.  
  58.                                                                                    255
  59.  
  60.  
  61.  
  62. 10. Linux and Hardware
  63.  
  64.                Jumperless cards: Jumperless cards, compared to the first generation of
  65.                   ISA cards, have the advantage that the setting of resources is no longer
  66.                   made via jumpers, but via a special configuration program. These pro-
  67.                   grams, however, are usually only available for DOS, and can thus not be
  68.                   used in Linux.
  69.                P'n'P cards: Plug and Play cards are the logical progression from jumper-
  70.                   less cards. These cards contain data on their configuration and a list of
  71.                   possible configurations. A special program or a driver can now query the
  72.                   P'n'P cards in the system and configure all cards so they do not conflict
  73.                   with each other.
  74.                   If a card has not been configured, then in practice it is not available to the
  75.                   system. To configure P'n'P cards in Linux, the package isapnp from
  76.                   the series series ap is used. This package contains the two programs,
  77.                   pnpdump and isapnp.
  78.  
  79.                How Are P'n'P Cards Activated With isapnp Tools?
  80.                Proceed as follows:
  81.  
  82.                 * Change to the user `root'.
  83.                 * If the file isapnp.conf already exists in the directory /etc, you
  84.                   should first make a backup copy, by changing its name.
  85.                   earth:/ # mv /etc/isapnp.conf /etc/isapnp.conf.bak
  86.                 * By entering
  87.                   earth:/ # pnpdump -c > /etc/isapnp.conf,
  88.                   you will create the file /etc/isapnp.conf. The parameter -c en-
  89.                   sures that pnpdump prepares the output file in such a way that the P'n'P
  90.                   devices are activated immediately.
  91.                 * If you enter
  92.                   earth:/ # isapnp /etc/isapnp.conf,
  93.                   the P'n'P cards in your computer will be activated. ¡ In SuSE Linux this
  94.                   is activated automatically each time the system is booted.
  95.  
  96.                Possible Sources of Error
  97.                Symptom: pnpdump gives the output: "No boards found". It may
  98.                   also be the case that one or more of the installed ISA P'n'P cards cannot
  99.                   be recognized.
  100.                Possible Explanations:
  101.                    * There are no P'n'P cards installed on your system: check which cards
  102.                      are installed on your system and read the documentation about them. If
  103.                      necessary, ask the dealer from whom you bought your computer which
  104.                      cards are installed on it.
  105.                    * The card(s) is/are defective: check if the cards are correctly positioned
  106.                      in the slots. See if the cards work correctly under a different operating
  107.                      system.
  108.                    * There are certain cards which can either be run as ISA P'n'P cards,
  109.                      or which can be allocated fixed resources, for example: (Example:
  110.  
  111. 256
  112.  
  113.  
  114.  
  115.                                                                                     10.2. Cards
  116.  
  117.       a number of 10 MBit NE2000 ISA ethernet cards). Usually you can
  118.       switch between the two modes using a DOS program. Depending on
  119.       the configuration of such cards, these do not appear in the output of
  120.       pnpdump.
  121.     * There are a few ISA P'n'P cards which will not work together with
  122.       other ISA P'n'P cards in the same system. In such cases only one of
  123.       the cards is visible in the output of pnpdump. It is possible that one
  124.       of the cards can be configured so that it is no longer driven as an ISA
  125.       P'n'P card (for example, with a jumper directly on the card so that it
  126.       uses fixed resources).
  127.     * There seem to be (in very few cases) cards which perform a reset after
  128.       pnpdump is run. If this involves a SCSI card, for example a controller
  129.       on which the root partition is dependent, this can cause the computer
  130.       to hang. If this problem occurs then you must try and configure the
  131.       card in such a way that it no longer functions as an ISA P'n'P card.
  132.       Or you can do away with initializing the card in Linux completely, and
  133.       boot the system with the help of loadlin; in this case the card is already
  134.       initialized.
  135.  
  136. Symptom: When running the command isapnp or when booting, you will
  137.    see an error message like this:
  138.    * LD setting failed, this may not be a problem.
  139.    * Try adding (VERIFYLD N) to the top of your script
  140.    ** Error occurred requested `LD2` on or around line 319
  141.    * --- further action aborted
  142. Solution: Follow the advice of the error message, and at the beginning of the
  143.    file /etc/isapnp.conf, insert the line
  144.    (VERIFYLD N)
  145.  
  146.    that is:
  147.    # [...]
  148.    # (DEBUG)
  149.    (VERIFYLD N)
  150.    (READPORT 0x0203)
  151.    (ISOLATE)
  152.    (IDENTIFY *)
  153.    # [...]
  154. Symptom: When running the command isapnp or when booting, you will
  155.    see an error message like this:
  156.    [...]
  157.    /etc/isapnp.conf:66 --
  158.       Fatal - resource conflict allocating 16 bytes
  159.       of IO at 220 (see /etc/isapnp.conf)
  160.    /etc/isapnp.conf:66 -- Fatal - IO range check
  161.       attempted while device activated
  162.    /etc/isapnp.conf:66 -- Fatal - Error occurred
  163.       executing request '<IORESCHECK> ' --- further
  164.       action aborted
  165.  
  166.                                                                                            257
  167.  
  168.  
  169.  
  170. 10. Linux and Hardware
  171.  
  172.                Solution: You probably have a conflict between the values selected in the
  173.                   file /etc/isapnp.conf and those resources already being used in
  174.                   your system. You should compare your /etc/isapnp.conf with the
  175.                   information on the resources in question, which can be found in /proc;
  176.                   this should not be necessary if you allow pnpdump to undertake this
  177.                   allocation itself, by using the option -c.
  178.  
  179.                 In many cases difficulties can arise if, in the setup of the computer, the
  180.                 automatic configuration of ISA P'n'P resources is switched on through the
  181.                 BIOS. You should switch this off if this is the case. Since the configura-
  182.                 tion is performed by means of pnpdump/isapnp, this setup option is not
  183.                 necessary.
  184.  
  185.                In case of problems which go deeper than this, you should consult the exten-
  186.                sive documentation on the package package isapnp. This can be found on
  187.                your system in the directory /usr/doc/packages/isapnp. At the end
  188.                of this subsection we will take a closer look at configuring a P'n'P card, using
  189.                the example of a sound card.
  190.  
  191.  
  192.                PCI Cards
  193.  
  194.                PCI bus cards normally don't need to be configured at all by the user. The
  195.                agreement on the PCI bus standard was an attempt to remove many restric-
  196.                tions of the old bus system. In this respect, a sensible automatic configuration
  197.                of the cards was planned. Each PCI card is activated by the computer's BIOS
  198.                when booting. In many cases you can influence the distribution of the inter-
  199.                rupts through settings in the computer BIOS. When Linux starts, it reads the
  200.                configuration of the PCI devices directly from the PCI BIOS, and from this
  201.                point onwards, uses this data for all information about the PCI subsystem.
  202.                With the command
  203.                earth:/ # lspci -tv
  204.                you can be shown a list of all the devices on the PCI bus recognized by Linux:
  205.  
  206.                -[00]-+-00.0 Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge
  207.                           +-01.0-[01]----00.0 Nvidia Corporation Riva TNT
  208.                           +-04.0 Intel Corporation 82371AB PIIX4 ISA
  209.                           +-04.1 Intel Corporation 82371AB PIIX4 IDE
  210.                           +-04.2 Intel Corporation 82371AB PIIX4 USB
  211.                           +-04.3 Intel Corporation 82371AB PIIX4 ACPI
  212.                           +-06.0 Adaptec 7890
  213.                           09.0 Digital Equipment Corporation DECchip 21140 [FasterNet]
  214.  
  215.                        Screen output 10.2.1: Output of the command lspci -tv
  216.  
  217.                In the following subsection we shall also configure a PCI sound card.
  218.  
  219. 258
  220.  
  221.  
  222.  
  223.                                                                            10.3. Sound Cards
  224.  
  225. 10.3 Sound Cards
  226. In general, there are currently two types of sound cards available on the
  227. market today, ISA and PCI sound cards, whereby ISA cards are slowly dying
  228. out. It looks as if ISA cards will soon no longer be produced.
  229. In SuSE Linux there are currently two methods of supporting sound cards. On
  230. the one hand, you can install the package opso or the package opsod up
  231. (a demo), and for multi-processor systems there is package opso smp and
  232. package opsodsmp (demo) from the series pay.
  233. Alternatively you could use the kernel-based modules for sound support.
  234.  
  235. 10.3.1 OSS / OSSdemo
  236. These packages are ideally suited for configuring ISA and ISA-P'n'P sound
  237. cards. The package opso and package opso smp have already been reg-
  238. istered for SuSE customers and are thus fully functional. The package
  239. opsod up and package opsod smp on the other hand have not yet been
  240. licensed and are limited to 20 minutes running time.
  241. In order to use the OSS or OSSdemo sound driver, please proceed as follows:
  242.  
  243.  * Install one of the above-mentioned packages in the series pay, using
  244.    YaST.
  245.  * Change, as the user `root', to the corresponding installation directory
  246.    in /tmp and start the program oss-install located there:
  247.    earth:/ # cd /tmp/opso-3.8.1z
  248.    earth:/tmp/opso-3.8.1z # ./oss-install
  249.  * The program guides you through the installation of the driver.
  250.  * When the program is finished, you can, with the command
  251.    earth:/tmp/opso-3.8.1z # soundon
  252.    load and use the OSS driver (s).
  253.  
  254. If you would prefer to use the kernel modules for sound support, you should
  255. read the following subsection.
  256.  
  257. 10.3.2 How Are Sound Cards Configured in Linux?
  258. To use a sound card in Linux, the following steps are necessary:
  259.  
  260.  * Identification of hardware:
  261.     ¡ Which cards need to be configured (manufacturer, what kind of chip
  262.       on the card)?
  263.     ¡ What kind of hardware (ISA, ISA-P'n'P, PCI) is used?
  264.  * Configuration of hardware:
  265.     ¡ Setting jumpers, or configuration using isapnp tools.
  266.  * Installing/loading the driver:
  267.     ¡ Loading the kernel modules, or starting the OSS sound driver.
  268.  
  269. Let's examine each of these steps.
  270.  
  271.                                                                                         259
  272.  
  273.  
  274.  
  275. 10. Linux and Hardware
  276.  
  277.                 * Identifying hardware:
  278.                   ¡ ISA bus-based Legacy sound cards
  279.                      These cards are still widely used and can be found above all in older
  280.                      computer configurations. The configuration is performed by setting
  281.                      jumpers on the card itself. This assigns the different resources (IO
  282.                      addresses, IRQ's and DMA's).
  283.                   ¡ ISA bus-based P'n'P sound cards
  284.                      Cards of this type are similar to Legacy cards, except that resources
  285.                      (IO addresses, IRQ's and DMA's) are configured by software interface.
  286.                      Thus you no longer need to set any jumpers on the cards.
  287.                   ¡ PCI bus-based sound cards
  288.                      PCI sound cards are the easiest ones to configure. All slot cards on
  289.                      the bus are automatically configured by the computer. Via software
  290.                      interfaces the drivers can now check the resources of the card.
  291.                 * Configuration of the hardware:
  292.                   ¡ ISA bus-based Legacy sound cards:
  293.                      Depending on th capabilities of your sound card, you need to configure
  294.                      various resources. In the following example a Creative Soundblaster
  295.                      16 is configured:
  296.                      I/O addresses
  297.                      The following I/O addresses are valid for this card:
  298.                        Audio I/O
  299.                        Game Port
  300.                        MPU-401
  301.                        FM-Synthesis
  302.                      Only the addresses for audio I/O (0x220, 0x240, 0x260 or 0x280) and
  303.                      MPU-401 (0x300 or 0x330) can be changed. The addresses for the
  304.                      game port (0x200) and FM synthesis (0x388) are fixed by default.
  305.                      Interrupts (IRQs)
  306.                      The cards need their own interrupt. This can be set to 2, 5, 7 or 10.
  307.                      DMA Channels
  308.                      Options here are the channels 0, 1, 3, 5, 6 or 7. The default here is
  309.                      DMA 1 for 8 bit, and DMA 5 for 16 bit data transfer.
  310.                      You should change the jumpers on the sound card in such a way that
  311.                      the card does not cause any resource conflicts with other cards on the
  312.                      computer. Make a note of these settings.
  313.                   ¡ ISA bus-based P'n'P sound cards:
  314.                      The resources of these cards must be activated by special software.
  315.                      Using OSS makes the configuration of these cards considerably eas-
  316.                      ier, because this program automatically searches for these cards and
  317.                      configures them immediately.       P'n'P cards can also be used with
  318.                      kernel-based drivers. Although in this case the card must be activated
  319.                      before the kernel modules are loaded. In Linux you will find the pro-
  320.                      gram package isapnp of use. The program pnpdump creates a con-
  321.                      figuration file listing all the resources of P'n'P cards available in the
  322.  
  323. 260
  324.  
  325.  
  326.  
  327.                                                                         10.3. Sound Cards
  328.  
  329. system. Afterwards this list can still be edited by hand to distribute the
  330. cards' resources differently.
  331. By entering
  332. earth:/ # pnpdump -c > /etc/isapnp.conf
  333. the file /etc/isapnp.conf is created.
  334. The following describes how a Creative Soundblaster AWE64 is acti-
  335. vated:
  336. # This is free software, see the sources for details.
  337. # This software has NO WARRANTY, use at your OWN RISK
  338. ## For details of this file format, see isapnp.conf(5)
  339. ## For latest information and FAQ on isapnp and pnpdump see:
  340. # http://www.roestock.demon.co.uk/isapnptools/
  341. ## Compiler flags: -DREALTIME -DNEEDSETSCHEDULER -DABORT_ONRESERR
  342. ## Trying port address 0203
  343. # Trying port address 020b
  344. # Board 1 has serial identifier 54 17 0e db 74 9e 00 8c 0e
  345.  
  346. # (DEBUG)
  347. (READPORT 0x020b)
  348. (ISOLATE PRESERVE)
  349. (IDENTIFY *)
  350. (VERBOSITY 2)
  351. (CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING
  352.  
  353. # Card 1: (serial identifier 54 17 0e db 74 9e 00 8c 0e)
  354. # Vendor Id CTL009e, Serial Number 386849652, checksum 0x54.
  355. # Version 1.0, Vendor version 2.0
  356. # ANSI string -->Creative SB AWE64 Gold<--
  357. ## Logical device id CTL0044
  358. #         Device supports vendor reserved register @ 0x38
  359. #         Device supports vendor reserved register @ 0x3a
  360. #         Device supports vendor reserved register @ 0x3b
  361. #         Device supports vendor reserved register @ 0x3c
  362. #         Device supports vendor reserved register @ 0x3d
  363. ## Edit the entries below to uncomment out the configuration required.
  364. # Note that only the first value of any range is given, this may be changed if
  365. # required
  366. # Don't forget to uncomment the activate (ACT Y) when happy
  367.  
  368. (CONFIGURE CTL009e/386849652 (LD 0
  369. #         ANSI string -->Audio<--
  370.  
  371. # Multiple choice time, choose one only !
  372.  
  373. #         Start dependent functions: priority preferred
  374. #          IRQ 5.
  375. #                    High true, edge sensitive interrupt (by default)
  376.      (INT 0 (IRQ 5 (MODE +E)))
  377. #          First DMA channel 1.
  378. #                    8 bit DMA only
  379. #                    Logical device is not a bus master
  380. #                    DMA may execute in count by byte mode
  381. #                    DMA may not execute in count by word mode
  382.  
  383.                                                                                      261
  384.  
  385.  
  386.  
  387. 10. Linux and Hardware
  388.  
  389.                     #                 DMA channel speed in compatible mode
  390.                           (DMA 0 (CHANNEL 1))
  391.                     #           Next DMA channel 5.
  392.                     #                 16 bit DMA only
  393.                     #                 Logical device is not a bus master
  394.                     #                 DMA may not execute in count by byte mode
  395.                     #                 DMA may execute in count by word mode
  396.                     #                 DMA channel speed in compatible mode
  397.                           (DMA 1 (CHANNEL 5))
  398.                     #           Logical device decodes 16 bit IO address lines
  399.                     #                 Minimum IO base address 0x0220
  400.                     #                 Maximum IO base address 0x0220
  401.                     #                 IO base alignment 1 bytes
  402.                     #                 Number of IO addresses required: 16
  403.                           (IO 0 (SIZE 16) (BASE 0x0220))
  404.                     #           Logical device decodes 16 bit IO address lines
  405.                     #                 Minimum IO base address 0x0330
  406.                     #                 Maximum IO base address 0x0330
  407.                     #                 IO base alignment 1 bytes
  408.                     #                 Number of IO addresses required: 2
  409.                           (IO 1 (SIZE 2) (BASE 0x0330))
  410.                     #           Logical device decodes 16 bit IO address lines
  411.                     #                 Minimum IO base address 0x0388
  412.                     #                 Maximum IO base address 0x0388
  413.                     #                 IO base alignment 1 bytes
  414.                     #                 Number of IO addresses required: 4
  415.                           (IO 2 (SIZE 4) (BASE 0x0388))
  416.  
  417.                     #         End dependent functions
  418.                          (NAME "CTL009e/386849652[0]{Audio                  }")
  419.                           (ACT Y)
  420.                     ))
  421.                     ## Logical device id CTL7002
  422.                     #         Device supports vendor reserved register @ 0x39
  423.                     #         Device supports vendor reserved register @ 0x3a
  424.                     #         Device supports vendor reserved register @ 0x3b
  425.                     #         Device supports vendor reserved register @ 0x3c
  426.                     #         Device supports vendor reserved register @ 0x3d
  427.                     ## Edit the entries below to uncomment out the configuration required.
  428.                     # Note that only the first value of any range is given, this may be changed if
  429.                     # required
  430.                     # Don't forget to uncomment the activate (ACT Y) when happy
  431.  
  432.                     (CONFIGURE CTL009e/386849652 (LD 1
  433.                     #         Compatible device id PNPb02f
  434.                     #         ANSI string -->Game<--
  435.  
  436.                     # Multiple choice time, choose one only !
  437.  
  438.                     #         Start dependent functions: priority preferred
  439.                     #           Logical device decodes 16 bit IO address lines
  440.                     #                 Minimum IO base address 0x0200
  441.                     #                 Maximum IO base address 0x0200
  442.                     #                 IO base alignment 1 bytes
  443.                     #                 Number of IO addresses required: 8
  444.                           (IO 0 (SIZE 8) (BASE 0x0200))
  445.  
  446.                     #         End dependent functions
  447.                          (NAME "CTL009e/386849652[1]{Game                   }")
  448.  
  449.  
  450. 262
  451.  
  452.  
  453.  
  454.                                                                           10.3. Sound Cards
  455.  
  456.            (ACT Y)
  457.      ))
  458.      ## Logical device id CTL0023
  459.      #         Device supports vendor reserved register @ 0x38
  460.      #         Device supports vendor reserved register @ 0x3a
  461.      #         Device supports vendor reserved register @ 0x3b
  462.      #         Device supports vendor reserved register @ 0x3c
  463.      #         Device supports vendor reserved register @ 0x3d
  464.      ## Edit the entries below to uncomment out the configuration required.
  465.      # Note that only the first value of any range is given, this may be changed if
  466.      # required
  467.      # Don't forget to uncomment the activate (ACT Y) when happy
  468.  
  469.      (CONFIGURE CTL009e/386849652 (LD 2
  470.      #         ANSI string -->WaveTable<--
  471.  
  472.      # Multiple choice time, choose one only !
  473.  
  474.      #         Start dependent functions: priority preferred
  475.      #           Logical device decodes 16 bit IO address lines
  476.      #                 Minimum IO base address 0x0620
  477.      #                 Maximum IO base address 0x0620
  478.      #                 IO base alignment 1 bytes
  479.      #                 Number of IO addresses required: 4
  480.            (IO 0 (SIZE 4) (BASE 0x0620))
  481.            (IO 1 (BASE 0x0a20))
  482.            (IO 2 (BASE 0x0e20))
  483.  
  484.      #         End dependent functions
  485.           (NAME "CTL009e/386849652[2]{WaveTable                 }")
  486.            (ACT Y)
  487.      ))
  488.      # End tag... Checksum 0x00 (OK)
  489.  
  490.      # Returns all cards to the "Wait for Key" state
  491.      (WAITFORKEY)
  492.    ¡ PCI bus-based sound cards:
  493.      PCI sound cards are very easy to configure. The PCI bus is automati-
  494.      cally configured by the computer and thus distributes the resources of
  495.      individual cards. Via defined software interfaces the drivers can query
  496.      the resources of the card.
  497. * Installing/loading the driver:
  498.   In the final configuration step the driver modules must be informed about
  499.   the hardware configuration. This takes place through corresponding en-
  500.   tries in the file /etc/modules.conf.
  501.    ¡ ISA and P'n'P cards:
  502.      Pre-compiled modules for the card types supported by the kernel
  503.      are supplied with (package kernmod). After you have installed the
  504.      kernel sources, you will find detailed documentation in the package
  505.      sources (package lx suse)in the directory /usr/src/linux/
  506.      Documentation/sound.
  507.      You should verify that in the file /etc/modules.conf the aliases
  508.      for sound are not set to off; if necessary, you should comment these
  509.  
  510.                                                                                        263
  511.  
  512.  
  513.  
  514. 10. Linux and Hardware
  515.  
  516.                      alises out by putting a `#' sign as can be seen in file File con-
  517.                      tents 10.3.1 page 266.
  518.                      If you have a card from the Soundblaster 16 family, for instance, then
  519.                      you can load the drivers for the functions contained on the card (audio,
  520.                      MPU401 and synthesizer) with the following command, for example:
  521.                      earth:/ # modprobe sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330
  522.                      With this command the actual driver for the Soundblaster 16 is loaded.
  523.                      The same module, incidentally, is needed for the AWE64. The driver
  524.                      for the MPU401 is contained in the Soundblaster driver. The drivers
  525.                      needed for the proper functioning of the sound card, uart401,
  526.                      sound, soundlow and soundcore, are loaded automatically.
  527.                      These modules make a number of low-level as well as functions
  528.                      common to all sound modules. With the command
  529.                      earth:/ # lsmod
  530.                      you can verify if these modules really were loaded.
  531.                      earth:/ # modprobe adlib_card io=0x388
  532.                      This command loads the module for the synthesizer contained on the
  533.                      card.
  534.                      The drivers listed in Table 10.1 page 276 are currently available.
  535.                      A list of possible parameters for specific modules can be found in the
  536.                      chapter on kernel parameters (Section 14.3.4 page 339).
  537.                 * PCI Cards
  538.                   There now follows a step-by-step guide to the configuration of sound
  539.                   cards, using as an example the Creative Soundblaster PCI 64/128:
  540.                   The sound cards Soundblaster PCI 64/128 contain sound chips of the type
  541.                   ES1370 or ES1371.
  542.                   1. Check the label on the sound chip to see if it is type ES1370 or ES1371.
  543.                      Then install the card . . .
  544.                   2. Modify the file /etc/modules.conf. At about line 38 you will
  545.                      find the following entries:
  546.                      alias char-major-14 off
  547.                      alias sound off
  548.                      alias midi off
  549.                      Change these as follows:
  550.                      # alias char-major-14 off
  551.                      # alias sound off
  552.                      # alias midi off
  553.                      From about line 100 the configuration of sound card modules begins.
  554.                      Change
  555.                      # alias char-major-14 es1370
  556.  
  557.                      to
  558.                      alias char-major-14 es1370
  559.  
  560.                      by removing the comment symbol, "#".
  561.                      If you have the ES1371 chip on your card, you should proceed as
  562.                      above, but use the next entry for the module es1371.o.
  563.  
  564. 264
  565.  
  566.  
  567.  
  568.                                                                             10.3. Sound Cards
  569.  
  570.    3. Start the mixer.
  571.        An lsmod should produce the following output:
  572.  
  573. Module                                   Size Used by
  574. es1370                                   21748        1 (autoclean)
  575. soundcore                                  2084       4 (autoclean) [es1370]
  576. ...
  577.            Screen output 10.3.1: Output of the command lsmod
  578.  
  579.    4. If this does not work immediately, try again, using depmod -a
  580.    5. Try to get some sounds from your computer with kscd, x11amp, or
  581.        similar programs.
  582.        Make sure that you check the settings of the mixer (if all the channels
  583.        are turned down, even the best of sound drivers won't be any use ;-))
  584.    Please note that cards which need the modules es1370.o or es1371.o
  585.    are not automatically recognized by KDE, because these modules are
  586.    not available to the device file, /dev/sndstat. ¡ To still be able to
  587.    enjoy system sounds in KDE, you must change the file /opt/kde/
  588.    bin/startkde in the following way:
  589.    Look for the lines
  590.    startifaudio kaudioserver
  591.    startifaudio kwmsound
  592.  
  593.    and modify these to
  594.    kaudioserver &
  595.    kwmsound &
  596.  
  597.    The Creative Soundblaster Live! sound card is supported by an adapter
  598.    specially developed by Creative Labs themselves. You should install
  599.    the package emu10k1 in the series snd, using YaST. Further informa-
  600.    tion on how to install this driver can be found in the file /usr/doc/
  601.    packages/emu10k1/README.SuSE.
  602.  
  603. Check to See If It Worked:
  604. You have now loaded all of the necessary modules and want to see if you can
  605. really get sound out of this thing. Execute the following command:
  606.    earth:/ # cat /dev/sndstat
  607. This should ¡ in the case of a Sound Blaster 16 ¡ result in an output similar
  608. to the one shown in Output 10.3.2 on the following page.
  609. If this command resulted in the desired output, you can try and play an audio
  610. file (which can be found in the series snd, in the package snd au, pack-
  611. age snd wav and package snd mod): you will need to have the package
  612. package sox from the series series snd installed:
  613.    earth:/ # cat /usr/share/sounds/au/swedish.au > /dev/audio
  614.    earth:/ # cat /usr/share/sounds/wav/applause.wav > /dev/dsp
  615.    earth:/ # tracker /usr/share/sounds/mod/rebels.mod
  616. Midi files can can be easily played with the KDE programs kmid, as long as
  617. your card supports this function.
  618.  
  619.                                                                                          265
  620.  
  621.  
  622.  
  623. 10. Linux and Hardware
  624.  
  625.                [...]
  626.                Audio devices:
  627.                0: Sound Blaster 16 (4.13) (DUPLEX)
  628.                Synth devices:
  629.                0: Yamaha OPL3
  630.                Midi devices:
  631.                0: Sound Blaster 16
  632.                Timers:
  633.                0: System clock
  634.                Mixers:
  635.                0: Sound Blaster
  636.                 Screen output 10.3.2: Output from the command cat /dev/sndstat
  637.  
  638.                If the results from cat /dev/sndstat are as desired and the command
  639.                cat mysong.au > /dev/audio does not produce any error messages,
  640.                but you still have no sound, you should try to start the audiomixer in the KDE
  641.                panel. It is possible that the volume is simply not turned up high enough.
  642.  
  643.                Automatically Loading the Kernel Module
  644.                If you are sure that your sound card is fully supported by the existing drivers,
  645.                you can have the corresponding module(s) automatically loaded by editing
  646.                the appropriate line in the file /etc/modules.conf. For the Soundblaster
  647.                16 card, an example of this file is shown in File contents 10.3.1.
  648.  
  649.                # alias char-major-14 off
  650.                # alias sound off
  651.                # alias midi off
  652.  
  653.                alias char-major-14 sb
  654.                post-install sb /sbin/modprobe "-k" "adlib_card"
  655.                options sb io=0x0220 irq=7 dma=1 dma16=5 mpu_io=0x0330
  656.                options adlib_card io=0x0388                          # FM synthesizer
  657.  
  658.                File contents 10.3.1: /etc/modules.conf: Options for sound modules
  659.  
  660.                A general rule as to what functionality is provided by which sound card,
  661.                does not exist. You therefore need to find out yourself, using the doc-
  662.                umentation of the card, as well as information in /usr/src/linux/
  663.                Documentation/sound, which modules you still need to load. Many tips
  664.                can also be found in the source files of the drivers in /usr/src/linux/
  665.                drivers/sound. However, there are some pre-defined entries in the file
  666.                /etc/modules.conf which you can adapt accordingly.
  667.                Instead of loading via /etc/modules.conf it is also possible to load
  668.                them by entering one of the above-mentioned modprobe commands in the
  669.                file /sbin/init.d/boot.local (see Section 17.4 page 397 pp.).
  670.  
  671.                10.4 Ports on a Computer
  672.  
  673. 266
  674.  
  675.  
  676.  
  677.                                                                      10.4. Ports on a Computer
  678.  
  679. 10.4.1 PS/2 Ports
  680.  
  681. PS/2 ports were developed by IBM for the PS/2 platform. The ATX Standard,
  682. in which this type of port is included, has found widespread use in the last few
  683. years. You can attach a mouse and a keyboard on the PS/2 port.
  684. Configuring the PS/2 port is not necessary under Linux because it is supported
  685. by the kernel. The system automatically detects existing PS/2 ports and can
  686. control the devices attached to them. The ports can be found and addressed
  687. under the device name /dev/kbd and /dev/psaux .
  688.  
  689. 10.4.2 Serial Ports
  690.  
  691. The Serial port (RS232) of your computer is often used for external modems.
  692. You can also attach a mouse with an RS232 plug on this port.
  693. For the support of this port in Linux, installation of the kernel module
  694. serial.o is required. This module is automatically loaded when the port
  695. is addressed by certain software. For instance, supposing you've configured
  696. your Internet access such that a modem on COM1 is used, the module is auto-
  697. matically post-installed before the connection to your provider is established.
  698. You can change your serial port configuration using the program setserial.
  699. This program is run at every system start by the script/sbin/init.d.
  700. For more information on setserial see the manpage for this program. Serial
  701. ports can be found and addressed under the device file(s) /dev/ttyS0,
  702. /dev/ttyS1 ... etc.
  703.  
  704. 10.4.3 Parallel Ports
  705.  
  706. The parallel port of your computer is primarily used to connect printers. Many
  707. other devices such as ZIP-Drives and CD-ROM/RAM Drives can also be
  708. connected to this port.
  709. The "parport" subsystem of the current Linux-kernels 2.2.xx is designed to
  710. operate a number of devices on the parallel port simultaneously.1 As an ex-
  711. ample, you can have a printer attached to a zip drive the ZIP-drive connected
  712. to the parallel port.
  713.  
  714. Initializing parport
  715.  
  716. The parport and parport pc kernel support are required for this,2,
  717. whereby parport is the actual subsystem of the kernel, and parport pc
  718. takes care of the hardware connections of the PC port, and also for those of
  719. some AXP computers. With the command
  720.     earth: # modprobe parport pc
  721. you can attach the modules manually. Check if the ports could be found
  722. and configured by entering the command lsmod; the parport and
  723. parport pc ought to appear in the list of modules. You can also look
  724. in the file /var/log/messages to check which values were used to
  725. initialize parport (cf. File contents 10.4.1 on the next page).
  726.  
  727.                                                                                           267
  728.  
  729.  
  730.  
  731. 10. Linux and Hardware
  732.  
  733.                Jun 3 09:15:53 tux kernel: parport0: PC-style at 0x378 [SPP,
  734.                                                                                                               ECP]
  735.  
  736.                  File contents 10.4.1: /var/log/messages: parport initialization
  737.  
  738.                alias parport_lowlevel                         parport_pc
  739.                options parport_pc io=0x378 irq=none
  740.  
  741.                # If you have multiple parallel ports, specify them this way:
  742.                # options parport_pc io=0x378,0x278 irq=none,none
  743.  
  744.                  File contents 10.4.2: /etc/modules.conf: parport configuration
  745.  
  746.  
  747.                File contents 10.4.2 is responsible for the configuration of this port; the un-
  748.                commented entries give tips on how to configure a second parallel port.
  749.  
  750.                 In case of problems, you should first check in the BIOS of the computer
  751.                 how the port in question is specified there. The port should have its own
  752.                 explicit address (if possible, 0x378) and its own interrupt. "Automatic"
  753.                 settings should be avoided.
  754.  
  755.                Sometimes it is also necessary to switch on the devices in the correct se-
  756.                quence; please look in the appropriate handbooks! One recommended
  757.                method is to first switch on the computer, and then ¡ before booting has
  758.                commenced ¡ to immediately switch on the external devices!
  759.  
  760.                Using parport: Printers, ZIP Drives, PLIP, etc.
  761.                If one parallel port device is to be used, its relevant module must also be
  762.                loaded; in the case of a printer, this is the lp-module:
  763.                      earth: # modprobe lp
  764.                lsmod ought to show us, amongst other things:
  765.  
  766.                parport_pc                              5568        1 (autoclean)
  767.                parport                                 6884        1 [parport_pc lp]
  768.                lp                                      5116        0 (unused)
  769.  
  770.                As with other cases, further details are supplied in the file /var/log/
  771.                messages and also in the proc file system in /proc/parport. If ev-
  772.                erything is running correctly, you won't need to load the modules manually
  773.                ¡ Kmod will do this for you automatically (cf. Section 13.2 page 319) if, for
  774.                example, a printer job is sent.
  775.                ZIP-drives are not served either by ppa or by imm ¡ cf. below, Section 10.5.3
  776.                on the facing page.
  777.  
  778.                1 For the "old" kernel 2.0.xx only one device can be used exclusively on a port; as a rule
  779.                "multiple" connections also cannot be used!
  780.                2 You don't need to compile your own kernel; the necessary modules are pre-compiled and are
  781.                included in SuSE Linux!
  782.  
  783. 268
  784.  
  785.  
  786.  
  787.                                                                        10.5. Removable Drives
  788.  
  789. Further Suggestions
  790. Look in the kernel sources, in the directory /usr/src/linux/Documentation,
  791. at the files parport.txt and paride.txt.
  792. Information on the current status of parport-programming can be found
  793. in the WWW at http://www.torque.net/linux-pp.html and
  794. http://www.torque.net/parport/.
  795.  
  796. 10.4.4 USB ¡ Universal Serial Bus
  797. The Universal Serial Bus has been one of the most important innovations on
  798. the PC market in the last few years. With the assistance of a USB port you
  799. can easily attach a variety of devices; mouse, keyboard, printer or scanner, to
  800. the computer. All of these devices have the same plug and cable type so the
  801. current variety of cables such as RS232 or Centronic are no longer needed.
  802. With this Bus you can connect and disconnect devices whilst the system is
  803. running. For instance, it is possible to connect and/or disconnect the printer
  804. without having to reboot.
  805. The support of this bus system in Linux is unfortunately not complete. For
  806. this reason devices on the bus port will not yet function in Linux. More
  807. details on USB in Linux can be found on the Internet at the address: http:
  808. //www.linux-usb.org/.
  809.  
  810. 10.5 Removable Drives
  811. A variety of removable drives can be used under Linux: Floppy Disk Drives,
  812. ZIP-, JAZ- or SyQuest Drives. Magnetic Optical drives can also be used in
  813. Linux.
  814.  
  815. 10.5.1 Floppy Disk Drives
  816. The package package mtools was developed for easy access of MS-DOS
  817. formatted floppy disks. Detailed information on the posibilities and use of
  818. these programs can be found in Section 19.12 page 445.
  819. You can also read and write to disks formatted with non-MS-DOS filesystems
  820. (e.g. ext2 or minix). Many other filesystems area also available. In order
  821. to accomplish this, however, you'll first need to use the command mount to
  822. access the medium; Section 19.11 page 442 offers detailed information.
  823.  
  824. 10.5.2 LS-120 Drives
  825. LS-120 drives are connected at the (E)IDE port of the computer and are seen
  826. by the system as hard drives which means that they, too, need to be accessed
  827. first with the command mount.
  828.  
  829. 10.5.3 ZIP Drives
  830. There are ZIP drives for different interfaces; parallel, ATAPI and SCSI, as
  831. well as USB (although it is not currently supported).
  832.  
  833.                                                                                          269
  834.  
  835.  
  836.  
  837. 10. Linux and Hardware
  838.  
  839.                The ATAPI and SCSI ZIP drives need no additional device driver. They can
  840.                be connected on the bus and addressed without extra configuration using the
  841.                bus's device driver (IDE or SCSI).The devices are addressed by the device
  842.                names,
  843.                /dev/hda - /dev/hdd for ATAPI
  844.  
  845.                and
  846.                /dev/sda - /dev/sdm for SCSI
  847.  
  848.                The device needs to be tied into the directory tree with the command mount).
  849.                The installation of the parallel port version proves to be somewhat more com-
  850.                plicated; you'll need SCSI hard drive support, parport- , parport pc
  851.                support (see Section 10.4.3 page 267) as well as ppa or the imm driver of
  852.                the kernel 3; imm is needed for more modern drives (e. g. for the ZIP 250).
  853.                Furthermore you should make sure that in the BIOS of the computer the EPP
  854.                mode for the parallel port is set. If you are unsure as to which kind of drive
  855.                you have, try loading imm:
  856.                   earth: # modprobe imm
  857.                If this doesn't work try the same with ppa:
  858.                   earth: # modprobe ppa
  859.                With this, the parport subsystem will be automatically initialized; If this
  860.                does not function, look at Section 62 page 267 pp.).
  861.                Sometimes an entry in /etc/modules.conf can help matters (cf. File
  862.                contents 10.5.1). The alias scsi hostadapter may only be used if
  863.                you don't have a standard SCSI host adapter in your system! An alternative
  864.                is to write the necessary modprobe commands into the boot-script /sbin/
  865.                init.d/boot.local; For more information on this file, see Section 17.4
  866.                page 397 pp.
  867.  
  868.                # alias scsi_hostadapter ppa
  869.                pre-install ppa modprobe "-k" parport_pc
  870.  
  871.                       File contents 10.5.1: /etc/modules.conf: ppa-Konfiguration
  872.  
  873.                After this ZIP disks can be accessed in the same manner as SCSI hard
  874.                drives; it is also necessary to "mount" the medium. (see also Section 19.11.2
  875.                page 444)
  876.  
  877.                10.6 Modems
  878.  
  879.                10.6.1 External Modems
  880.                External modems are normally attached directly to the serial port of the
  881.                computer. Programs can address them via device files with the name(s)
  882.                3 ppa- and/or the imm driver are contained in the "SCSI low-level drivers" ¡ but you don't need
  883.                to compile your own kernel; the necessary modules are pre-compiled and included with SuSE
  884.                Linux
  885.  
  886. 270
  887.  
  888.  
  889.  
  890.                                                                                     10.6. Modems
  891.  
  892. /dev/ttyS0, /dev/ttyS1. etc. For further information on configuring
  893. a modem for an Internet connection, see Section 6.5 page 162.
  894.  
  895. 10.6.2 Internal Modems
  896.  
  897. Internal modems in desktop machines are either PCI or ISA devices. Please
  898. see Section 10.2 page 255 for information about these devices.
  899. Since modems are accessed through serial ports, internal modems must make
  900. these ports available for themselves.
  901. Table 10.2 page 277 gives you a list of standard resources for serial ports.
  902.  
  903. PCI Modems
  904.  
  905. If you have a PCI modem, it is most likely a "Winmodem". Winmodems
  906. are not modems. They are hardware devices which need a special driver that
  907. allows them to emulate a real modem. This driver is generally written by the
  908. makers of the Winmodem and currently only runs on Microsoft Windows.
  909. You can obtain current information about Linux compatible modems
  910. and development of Winmodem drivers at: http://www.o2.net/
  911.  gromitkc/winmodem.html.
  912.  
  913. ISA Modems
  914.  
  915. With ISA modems, there are two main considerations:
  916.  
  917.  * The modem itself needs to be configured (IRQ and IO Addresses for the
  918.    port).
  919.  * The kernel needs to know what IRQ and port the card is using.
  920.  
  921. Initialising the Modem
  922.  
  923. As described in Section 10.2 page 255, ISA cards can be jumpered, jumper-
  924. less or Plug and Play. Also described in that section is the initializing of PNP
  925. cards.
  926. Some suggestions about settings:
  927. Setting your modem to use /dev/ttyS1 (COM2) with an IRQ of 3 will
  928. usually present the least number of problems. /dev/ttyS3 (IRQ 4) can
  929. also be used, though you may have a conflict if you are also using ttyS0
  930. (COM1), as this port also normally uses IRQ 4. So if you have mouse on
  931. /dev/ttyS0 you should not use /dev/ttyS0 or /dev/ttyS2.
  932. Generally, you do not want to use IRQ 5 because of possible conflicts with
  933. soundcards. In fact, if you are going to use a sound card, you should configure
  934. it first, as it wants to claim many resources.
  935. Finally, if you have a PNP sound card, and are using OSS for sound, make
  936. sure that the sound card configuration items in /etc/isapnp.conf are
  937. NOT activated (the line(s) with ACT Y associated with the sound card should
  938. be commented out).
  939.  
  940.                                                                                              271
  941.  
  942.  
  943.  
  944. 10. Linux and Hardware
  945.  
  946.                Passing Parameters to the Kernel
  947.  
  948.                After you have established the port and IRQ for your modem, you need to
  949.                tell the kernel what values the card is using. If you have used a standard port
  950.                and IRQ (/dev/ttyS0 or /dev/ttyS1), your card will be automatically
  951.                recognized the next time you reboot.
  952.                If you are using other IO-port/IRQ combinations, you can manually tell the
  953.                kernel the device's IRQ, using setserial:
  954.                earth:/ # setserial /dev/ttyS3 irq 10
  955.                You can now configure the modem for Internet connection ¡ as described in
  956.                Section 6.5 page 162.
  957.                If the modem is recognized, you can automate the setserial command by
  958.                modifying the appropriate line in the file /sbin/init.d/serial:
  959.                Change the line:
  960.                # run_setserial /dev/ttyS3 $AUTO_IRQ autoconfig
  961.                to:
  962.                run_setserial /dev/ttyS3 irq 10
  963.  
  964.                10.7 Scanners
  965.                In order to use a scanner in Linux, as well as any other operating system, a
  966.                collection of special drivers and programs is needed. The package package
  967.                sane (series gra) offers such a collection. With the help of SANE you can,
  968.                in Linux, use a scanner that is connected to a kernel-supported SCSI adapter.
  969.                Scanners that are connected to the parallel port (printer port) of the computer
  970.                are not yet supported although device drivers are in development, the same as
  971.                for USB.
  972.                Because SANE is in continual development the list of supported scanners are
  973.                growing. For a list of the latest supported scanners go to http://www.
  974.                mostang.com/sane/sane-backends.html.
  975.  
  976.                How Do You Configure a Scanner In Linux?
  977.  
  978.                Scanners are addressed as "generic scsi devices" in Linux. The respective
  979.                device names are: /dev/sg0, /dev/sg1 ...etc.
  980.                You can check your systems device names with the program sgcheck :
  981.                earth:/ # sgcheck
  982.                You should receive the following output:
  983.                Assignment of generic SCSI devices,
  984.                device host/channel/ID/LUN type(numeric type) vendor model:
  985.  
  986.                            /dev/sg0 0/0/0/0 Direct-Access(0) SEAGATE ST32550N
  987.                            /dev/sg1 0/0/1/0 CD-ROM(5) PIONEER CD-ROM DR-U10X
  988.                            /dev/sg2 0/0/5/0 Processor(3) HP C2500A
  989.  
  990.  
  991. 272
  992.  
  993.  
  994.  
  995.                                                                                  10.8. Tape Drives
  996.  
  997. Scanners have a device description like Processor or SCANNER. In the
  998. example above you could address the scanner with the device name /dev/
  999. sg2.
  1000. You need to make a symbolic link to the device to /dev/scanner:
  1001. earth:/ # ln -s /dev/sg2 /dev/scanner
  1002. Lastly, you need to change the permissions for the generic SCSI device.
  1003. SANE needs read as well as write permissions for the device (it sends com-
  1004. mands to the scanner as well as receiving information):
  1005. earth:/ # chmod 777 /dev/sg2
  1006.  
  1007. Problems
  1008. If SANE doesn't find your scanner you should check first to make sure that
  1009. your SCSI controller is found and correctly configured:
  1010. earth:/ # cat /proc/scsi/scsi
  1011. You should receive output that resembles the following:
  1012. Attached devices:
  1013.  Host: scsi0 Channel: 00 Id: 00 Lun: 00
  1014.     Vendor: SEAGATE Model: ST32550N                            Rev: 0016
  1015.     Type:      Direct Access                                   ANSI SCSI revision: 02
  1016.  Host: scsi0 Channel: 00 Id: 01 Lun: 00
  1017.     Vendor: PIONEER Model: CD-ROM DR-U10X                      Rev: 1.07
  1018.     Type:      CD-ROM                                          ANSI SCSI revision: 02
  1019.  Host: scsi0 Channel: 00 Id: 02 Lun: 00
  1020.     Vendor: QUANTUM Model: FIREBALL TM3200S Rev: 1.07
  1021.     Type:      Direct-Access                                   ANSI SCSI revision: 02
  1022.  Host: scsi0 Channel: 00 Id: 06 Lun: 00
  1023.     Vendor: SCANNER Model:                                     Rev: 2.00
  1024.     Type:      Scanner                                         ANSI SCSI revision: 01 CCS
  1025. If you can't find an entry like "SCANNER" or "PROCESSOR" , then your
  1026. scanner hasn't been identified by the SCSI controller. Check to see that the
  1027. scanner is on and that it, as well as the SCSI bus itself, are correctly attached.
  1028.  
  1029. 10.8 Tape Drives
  1030. Tape drives, also known as streamers, are mainly used for higher capacity
  1031. backup purposes. There are tape drives on the market for a variety of ports.
  1032.  
  1033. SCSI Tape Drives
  1034. Tape Drives that attach to the SCSI bus are the most widely spread. Primarily,
  1035. you can assume that all devices that are attached to a Linux supported SCSI
  1036. controller can also be used, although if your device has extra functions you
  1037. will need special software to access these.
  1038. A SCSI tape drive is controlled in the following way:
  1039.  
  1040.  * The first tape drive in the system is controlled using the device files
  1041.     /dev/st0 and /dev/nst0, the next with /dev/st1 and /dev/
  1042.     nst1 etc. /dev/stX stands for a drive that automatically rewinds after
  1043.  
  1044.                                                                                               273
  1045.  
  1046.  
  1047.  
  1048. 10. Linux and Hardware
  1049.  
  1050.                   use. /dev/nstX on the other hand stands for a tape drive that leaves the
  1051.                   tape in the current position after use.
  1052.                   We suggest using /dev/nstX, because, using mt, you have exact con-
  1053.                   trol of the drive.
  1054.                 * Using the program mt to control a tape drive:
  1055.                   earth:/ # mt -f /dev/nst0 retension
  1056.                   Adjusts the tape-tension by rewinding and then fast-forwarding the tape.
  1057.                   earth:/ # mt -f /dev/nst0 rewind
  1058.                   Moves the tape to a point just after the last recorded information. Used to
  1059.                   add information to a partially used tape.
  1060.                   earth:/ # mt -f /dev/nst0 eof
  1061.                   Moves the tape to a point just after the last recorded information. Used to
  1062.                   add information to a partially used tape.
  1063.                   earth:/ # mt -f /dev/nst0 erase
  1064.                   Erases all information on a tape. Be careful, there is no way to recover
  1065.                   erased information!
  1066.  
  1067.                IDE Tape Drives
  1068.  
  1069.                IDE tape drives are connected to the IDE bus of the computer. The drive is
  1070.                found automatically by Linux. You can address the device under the device
  1071.                files /dev/ht0 or /dev/nht0.
  1072.                You can control the device using the command mt, as given in Section 10.8
  1073.                on the page before.
  1074.  
  1075.                Floppy Tape Drives
  1076.  
  1077.                Floppy tape drives are simply attached to the floppy disk port of your com-
  1078.                puter (almost every computer has a floppy port).
  1079.                Because these devices need to be controlled with precise timing, errors often
  1080.                occur while saving and writing backups.
  1081.                To use these devices in Linux you'll need a a special driver, the ftape driver.
  1082.                This driver is included in the kernel. Read the documentation in /usr/src/
  1083.                linux/Documentation/ftape.txt for more information on the con-
  1084.                figuration of this device. The entire documentation for the ftape subsystem
  1085.                can be found on the device driver developers' homepage: http://www.
  1086.                math1.rwth-aachen.de/ heine/ftape/.
  1087.  
  1088.  
  1089.                10.9 TV Cards
  1090.  
  1091.                One recent development in Linux is the ability, with the help of a TV card,
  1092.                to watch TV in the graphical interface (X Window System). This is pos-
  1093.                sible with the use of a number of kernel modules, as well as the necessary
  1094.                programs.
  1095.  
  1096. 274
  1097.  
  1098.  
  1099.  
  1100.                                                                                   10.9. TV Cards
  1101.  
  1102. Which TV Cards Are Supported?
  1103. Essentially, support for a card is based upon which chip the card uses. The
  1104. most widely used chips in the last few years have been the grabber chips
  1105. from the company Brooktree. In Linux you can use the BT848 and "BT878"
  1106. chips. Support for the BT878 are not quite finished although it is already
  1107. seen as stable.
  1108. Typical cards using this chip are the Hauppauge WIN/TV or Miro PC/TV.
  1109.  
  1110. How to Enable Support
  1111.  * Log in as user `root'.
  1112.  * Install the package bttv in the series gra with YaST.
  1113.  * Change to the directory /usr/doc/packages/bttv/tools and
  1114.    start the program update:
  1115.    earth:/ # cd /usr/doc/packages/bttv/tools
  1116.    earth:/usr/doc/packages/bttv/tools # ./update
  1117.    This script prepares your computer for the use of a TV card. It determines
  1118.    which card is in your system and loads the necessary modules.
  1119. If problems occur pay close attention to the documentation found in the direc-
  1120. tory /usr/doc/packages/bttv/doc. Additional information is avail-
  1121. able in our Support Database at http://sdb.suse.de/en/html/.
  1122. (keyword: tv).
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148.                                                                                             275
  1149.  
  1150.  
  1151.  
  1152. 10. Linux and Hardware
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.                 ad1816.o               AD1816 Chip (e. g. TerraTec Base1/64)
  1160.                 ad1848.o               AD1848 Chip (MSS)
  1161.                 adlib_card.o           Generic OPLx driver
  1162.                 cmipci.o               CMI8338, experimental (?)
  1163.                 cs4232.o               Crystal 423x chipsets
  1164.                 es1370.o               Ensoniq 1370 chipsets (see PCI64/128)
  1165.                 es1371.o               Creative Ensoniq 1371 chipsets (see
  1166.                                        PCI64/128)
  1167.                 esssolo1.o             Solo1 ES1938/ES1969
  1168.                 gus.o                  Gravis Ultrasound
  1169.                 mad16.o                MAD16
  1170.                 maui.o                 Turtle Beach Maui and Tropez
  1171.                 mpu401.o               MPU401
  1172.                 msnd.o                 Turtle Beach MultiSound
  1173.                 msnd_classic.o         Turtle Beach Classic/Monterey/Tahiti
  1174.                 msnd_pinnacle.o        Turtle Beach Pinnacle/Fiji
  1175.                 msnd_pinnacle.o        Turtle Beach Pinnacle/Fiji
  1176.                 nm256.o                Neo Magic
  1177.                 opl3.o                 OPL3
  1178.                 opl3sa.o               OPL3-SA1
  1179.                 opl3sa2.o              YMF711, YMF715, YMF719, OPL3-SA2,
  1180.                                        OPL3-SA3, OPL3-SAx
  1181.                 pas2.o                 Pro Audio Spectrum
  1182.                 pss.o                  Personal Sound System (ECHO ESC614)
  1183.                 sb.o                   Sound Blaster and clones
  1184.                 sgalaxy.o              Aztech Sound Galaxy
  1185.                 softoss2.o             Software-MIDI-Synthesizer driver
  1186.                 sonicvibes.o           S3 Sonic Vibes
  1187.                 sound.o                contains the functions needed by all modules
  1188.                                        Functions
  1189.                 soundlow.o             Lowlevel-Sound Driver
  1190.                 soundcore.o            Top Level handler for sound system
  1191.                 sscape.o               Ensoniq SoundScape
  1192.                 trix.o                 MediaTrix AudioTrix Pro
  1193.                 uart401.o              UART401
  1194.                 uart6850.o             UART6850
  1195.                 v_midi.o               Sound Blaster DSP chips
  1196.                 wavefront.o            Turtle Beach Maui, Tropez, Tropez Plus
  1197.  
  1198.                                Table 10.1: List of sound card drivers
  1199.  
  1200.  
  1201.  
  1202.  
  1203. 276
  1204.  
  1205.  
  1206.  
  1207.                                                               10.9. TV Cards
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228. Ger¿atedatei     Name Interrupt IO-Adresse
  1229. /dev/ttyS0 COM1 4                      0x3f8
  1230. /dev/ttyS1 COM2 3                      0x2f8
  1231. /dev/ttyS2 COM3 4                      0x3e8
  1232. /dev/ttyS3 COM4 3                      0x2e8
  1233.  
  1234.            Table 10.2: Standard resources for serial ports
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.                                                                         277
  1256.  
  1257.  
  1258.  
  1259. 10. Linux and Hardware
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307. 278
  1308.  
  1309.  
  1310.  
  1311.