Не пей из копытца, козленочком станешь!
| Страница ДКД (Страница провайдера) | Линукс-Чайник (Оглавление) |
pnpdump
и
isapnp
3. Настройка файла isapnp.conf
Согласно документации (/usr/doc/isapnptools/INSTALL), запускаем утилиту
pnpdump
pnpdump>/etc/isapnp.conf
После этого читаем man isapnp.conf и редактируем конфигурационный файл.
4. Проверка файла isapnp.conf
Для проверки запускаем isapnp, указав конфигурационный файл в качестве
параметра: isapnp /etc/isapnp.conf isapnp проверит синтаксис вашего
конфигурационного файла. В этом файле - настройки вашего устройства
(устройств). Но все строки настройки закомментированны. Надо внимательно
прочитать файл и раскомментировать нужные строки. Поскольку для разных
устройств настройки разные тут надо читать инструкцию вашего устройства и
man isapnp.conf.
5. Перекомпиляция кернеля.
Если драйвер вашего устройства скомпилирован в как модуль, то вам ничего не
надо делать. Но если у вас, как и у меня драйвер статически встроен в
кернель, надо перекомпилировать его как модуль. Это нужно для того, чтобы
можно было запустить конфигурационную утилиту до тог, как драйвер устройства
начнет его тестировать и все перемешает. Итак компилируем кернель и
устанавливаем модули. Мне еще пришлось вписать свои модули в файл
/etc/modules. Не знаю, должно так быть, или нет, в модулях я не силен.
6. Настройка конфигурации при загрузке.
Для настройки мне пришлось вставить в файл /etc/init.d/boot строки:
if [ -x /etc/init.d/isapnp ] then /etc/init.d/isapnp start fi
Вставлять их надо перед загрузкой модулей. Строки взяты из
/usr/doc/isapnptools/README.debian (Я пользую Дебиан). Для других
дистрибутивов возможно все по другому.
7. Приложение. Файл /etc/isapnp.conf
# $Id: pnpdump.c,v 1.8 1997/01/14 21:05:35 fox Exp $ # This is free software, see the sources for details. # This software has NO WARRANTY, use at your OWN RISK # # For details of this file format, see isapnp.conf(5) # # Compiler flags: -DREALTIME -DNEEDSETSCHEDULER # # Trying port address 0203 # Board 1 has serial identifier 27 ff ff ff ff 68 18 73 16 # (DEBUG) (READPORT 0x0203) (ISOLATE) (IDENTIFY *) # Card 1: (serial identifier 27 ff ff ff ff 68 18 73 16) # ESS1868 Serial No -1 [checksum 27] # Version 1.0, Vendor version 1.0 # ANSI string -->ESS ES1868 Plug and Play AudioDrive<-- # # Logical device id ESS0000 # # Edit the entries below to uncomment out the configuration required. # Note that only the first value of any range is given, this may be changed if required # Dont forget to uncomment the activate (ACT Y) when happy (CONFIGURE ESS1868/-1 (LD 0 # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0800 # Maximum IO base address 0x0ff8 # IO base alignment 8 bytes # Number of IO addresses required: 8 # (IO 0 (BASE 0x0800)) (ACT N) )) # # Logical device id ESS1868 # # Edit the entries below to uncomment out the configuration required. # Note that only the first value of any range is given, this may be changed if required # Don't forget to uncomment the activate (ACT Y) when happy (CONFIGURE ESS1868/-1 (LD 1 # Multiple choice time, choose one only ! # Start dependent functions: priority preferred # First DMA channel 1. # 8 bit DMA only # Logical device is not a bus master # DMA may execute in count by byte mode # DMA may not execute in count by word mode # DMA channel speed in compatible mode (DMA 0 (CHANNEL 1)) # Next DMA channel 0 or 3. # 8 bit DMA only # Logical device is not a bus master # DMA may execute in count by byte mode # DMA may not execute in count by word mode # DMA channel speed in compatible mode #(DMA 1 (CHANNEL 0)) # IRQ 5. # High true, edge sensitive interrupt (by default) (INT 0 (IRQ 5 (MODE +E))) # Fixed IO base address 0x0220 # Number of IO addresses required: 16 (IO 0 (BASE 0x0220)) # Fixed IO base address 0x0388 # Number of IO addresses required: 4 (IO 1 (BASE 0x0388)) # Fixed IO base address 0x0330 # Number of IO addresses required: 2 (IO 2 (BASE 0x0330)) # Start dependent functions: priority acceptable # First DMA channel 1. # 8 bit DMA only # Logical device is not a bus master # DMA may execute in count by byte mode # DMA may not execute in count by word mode # DMA channel speed in compatible mode # (DMA 0 (CHANNEL 1)) # Next DMA channel 0 or 3. # 8 bit DMA only # Logical device is not a bus master # DMA may execute in count by byte mode # DMA may not execute in count by word mode # DMA channel speed in compatible mode (DMA 1 (CHANNEL 0)) # IRQ 5, 7, 9 or 10. # High true, edge sensitive interrupt (by default) (INT 0 (IRQ 5 (MODE +E))) # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0220 # Maximum IO base address 0x0240 # IO base alignment 32 bytes # Number of IO addresses required: 16 (IO 0 (BASE 0x0220)) # Fixed IO base address 0x0388 # Number of IO addresses required: 4 (IO 1 (BASE 0x0388)) # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0300 # Maximum IO base address 0x0330 # IO base alignment 48 bytes # Number of IO addresses required: 2 # (IO 2 (BASE 0x0300)) # Start dependent functions: priority acceptable # First DMA channel 0, 1 or 3. # 8 bit DMA only # Logical device is not a bus master # DMA may execute in count by byte mode # DMA may not execute in count by word mode # DMA channel speed in compatible mode # (DMA 0 (CHANNEL 0)) # Next DMA channel 0, 1 or 3. # 8 bit DMA only # Logical device is not a bus master # DMA may execute in count by byte mode # DMA may not execute in count by word mode # DMA channel speed in compatible mode # (DMA 1 (CHANNEL 0)) # IRQ 5, 7, 9, 10, 11 or 12. # High true, edge sensitive interrupt (by default) # (INT 0 (IRQ 5 (MODE +E))) # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0220 # Maximum IO base address 0x0280 # IO base alignment 32 bytes # Number of IO addresses required: 16 # (IO 0 (BASE 0x0220)) # Fixed IO base address 0x0388 # Number of IO addresses required: 4 # (IO 1 (BASE 0x0388)) # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0300 # Maximum IO base address 0x0330 # IO base alignment 48 bytes # Number of IO addresses required: 2 # (IO 2 (BASE 0x0300)) # Start dependent functions: priority acceptable # First DMA channel 0, 1 or 3. # 8 bit DMA only # Logical device is not a bus master # DMA may execute in count by byte mode # DMA may not execute in count by word mode # DMA channel speed in compatible mode # (DMA 0 (CHANNEL 0)) # Next DMA channel 0, 1 or 3. # 8 bit DMA only # Logical device is not a bus master # DMA may execute in count by byte mode # DMA may not execute in count by word mode # DMA channel speed in compatible mode # (DMA 1 (CHANNEL 0)) # IRQ 5, 7, 9, 10, 11 or 12. # High true, edge sensitive interrupt (by default) # (INT 0 (IRQ 5 (MODE +E))) # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0220 # Maximum IO base address 0x0280 # IO base alignment 32 bytes # Number of IO addresses required: 16 # (IO 0 (BASE 0x0220)) # Fixed IO base address 0x0388 # Number of IO addresses required: 4 # (IO 1 (BASE 0x0388)) # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0800 # Maximum IO base address 0x0ffe # IO base alignment 2 bytes # Number of IO addresses required: 2 # (IO 2 (BASE 0x0800)) # Start dependent functions: priority functional # First DMA channel 0, 1 or 3. # 8 bit DMA only # Logical device is not a bus master # DMA may execute in count by byte mode # DMA may not execute in count by word mode # DMA channel speed in compatible mode # (DMA 0 (CHANNEL 0)) # Next DMA channel 0, 1 or 3. # 8 bit DMA only # Logical device is not a bus master # DMA may execute in count by byte mode # DMA may not execute in count by word mode # DMA channel speed in compatible mode # (DMA 1 (CHANNEL 0)) # IRQ 5, 7, 9, 10, 11 or 12. # High true, edge sensitive interrupt (by default) # (INT 0 (IRQ 5 (MODE +E))) # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0220 # Maximum IO base address 0x0280 # IO base alignment 32 bytes # Number of IO addresses required: 16 # (IO 0 (BASE 0x0220)) # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0800 # Maximum IO base address 0x0ffc # IO base alignment 4 bytes # Number of IO addresses required: 4 # (IO 1 (BASE 0x0800)) # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0800 # Maximum IO base address 0x0ffe # IO base alignment 2 bytes # Number of IO addresses required: 2 # (IO 2 (BASE 0x0800)) # End dependent functions (ACT Y) )) # # Logical device id ESS0001 # # Edit the entries below to uncomment out the configuration required. # Note that only the first value of any range is given, this may be changed if required # Don't forget to uncomment the activate (ACT Y) when happy (CONFIGURE ESS1868/-1 (LD 2 # Multiple choice time, choose one only ! # Start dependent functions: priority preferred # Fixed IO base address 0x0201 # Number of IO addresses required: 1 # (IO 0 (BASE 0x0201)) # Start dependent functions: priority acceptable # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0200 # Maximum IO base address 0x020f # IO base alignment 1 bytes # Number of IO addresses required: 1 # (IO 0 (BASE 0x0200)) # End dependent functions # Compatible device id PNPb02f (ACT N) )) # # Logical device id ESS0002 # # Edit the entries below to uncomment out the configuration required. # Note that only the first value of any range is given, this may be changed if required # Don't forget to uncomment the activate (ACT Y) when happy (CONFIGURE ESS1868/-1 (LD 3 # Multiple choice time, choose one only ! # Start dependent functions: priority preferred # IRQ 12. # High true, edge sensitive interrupt (by default) # (INT 0 (IRQ 12 (MODE +E))) # Fixed IO base address 0x0168 # Number of IO addresses required: 8 # (IO 0 (BASE 0x0168)) # Fixed IO base address 0x036e # Number of IO addresses required: 2 # (IO 1 (BASE 0x036e)) # Start dependent functions: priority acceptable # IRQ 10 or 11. # High true, edge sensitive interrupt (by default) # (INT 0 (IRQ 10 (MODE +E))) # Fixed IO base address 0x0168 # Number of IO addresses required: 8 # (IO 0 (BASE 0x0168)) # Fixed IO base address 0x036e # Number of IO addresses required: 2 # (IO 1 (BASE 0x036e)) # Start dependent functions: priority acceptable # IRQ 10, 11 or 12. # High true, edge sensitive interrupt (by default) # (INT 0 (IRQ 10 (MODE +E))) # Fixed IO base address 0x01e8 # Number of IO addresses required: 8 # (IO 0 (BASE 0x01e8)) # Fixed IO base address 0x03ee # Number of IO addresses required: 2 # (IO 1 (BASE 0x03ee)) # Start dependent functions: priority functional # IRQ 10, 11 or 12. # High true, edge sensitive interrupt (by default) # (INT 0 (IRQ 10 (MODE +E))) # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0100 # Maximum IO base address 0x01f8 # IO base alignment 8 bytes # Number of IO addresses required: 8 # (IO 0 (BASE 0x0100)) # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0300 # Maximum IO base address 0x03fe # IO base alignment 2 bytes # Number of IO addresses required: 2 # (IO 1 (BASE 0x0300)) # End dependent functions # Compatible device id PNP0600 (ACT N) )) # End tag... Checksum 0x00 (OK) '
8.
Литература)
/usr/doc/isapnptools/* man isapnp man isapnp.conf
9. От автора
Комментарии и пожелания присылайте по адресу:
Казанов Евгений evgeny@dkd.ot.lt