ISA-PnP: ISA-PnP card 환경설정

고객지원 지식기반 (rb_isapnp)

General Overview:

PnP 하드웨어("Plug and Play"; 어떤 사람들은 실제의 의미가 "Plug and Pray"라고 확신한 다. ;-)는 꽤 오래 전부터 상당히 널리 사용되어지고 있다. 시스템 스타트업 동안 시스템 리 소스들을 구성하는 아이디어는 이러한 (IRQ와 같은) 장치에 의해서 필요하다. 이것은 예를 들어서, 운영 체제 또는 그것의 유틸리티, 또는 대부분의 모뎀 메인보드 상에서 BIOS에 의 해서 행해진다. 이처럼 잘 알려진 "하드웨어 요소 충돌"을 피하는 것이 가능하다. 왜냐하면, OS나 BIOS는 예를 들어 두 장치가 동일한 IRQ를 사용하지 않는다는 것을 확신하기 때문이 다. 수동적인 하드웨어 구성은 과거의 일이다. 지금까지 그 이론은...

Configuration:

ISA-PnP 카드는 BIOS에 의한 그것들의 시스템 구성은 IRQ, I/O 포트 주소 등의 실질적인 값에 문제를 일으킨다. 왜냐하면 이러한 카드들은 더 이상 예츨 불가능하기 때문이다. : 이 것은 만약 새로운 카드가 시스템에 내장되면 특별하게 유지된다. 반면에, 몇몇의 장치 드라 이버(커널 모듈)들은 장치의 값들을 미리 알 필요가 있다.(때때로, 그 값들은 하드 코드되어 야 한다.) 결과는 변화가 일어날 때마다 드라이버는 장치와 더 이상 통신을 할 수 없다.

게다가 이러한 실질적인 값들을 갖는 것은 종종 상당한 문제를 일으킨다. 결국, *어떤* 카 드들은 ISA-PnP 명세서를 완전히 따는 것처럼 보이지 않는다. 별도의 문제를 일으킨다. 그러므로 BIOS에 의한 ISA-PnP 카드 리소스들의 자동 구성/관리는 리눅스에서 사용되어져 서는 안된다. BIOS 설정에서 그것을 비활성화시켜라.

ATTENTION! BIOS 설정을 변경할 때, 이전의 구성에 관해서 적어놓아라. 만약 변경된 설정 이 작동하지 않으면 그것을 다시 저장해아 할지도 모른다.

S.u.S.E. 리눅스에서 ISA-PnP 카드의 초기화는 프로그램에 의해서 이루어진다.

현재의 리눅스 커널(v 2.0.x)은 ISA-PnP 카드 매개 변수를 자동적으로 할당하지 않는다. 대 신에 이러한 카드의 모든 가능한 구성의 목록이 생성되어질 수 있다. 그러면 특정한 설정을 가능하게 하는 것은 관리자의 일이다. 장점은 시스템 동작 동안 실질적인 설정이 예상 가능 하고 이미 알려져 있다는 것이다. 이것을 "소프트웨어 점퍼링"으로 이 메소드를 특징지을 수 있다.(비록 컴퓨터를 열고 실제의 점퍼를 상대하는 것은 필요하지 않지만 말이다.) 물론 단점은 수동적인 사용자 개입이 여전히 필요하다는 것이다.(이전처럼 말이다.)

ISA-PnP 장치의 조종은 리눅스 v2.2에서는 변경될 것이다. 그러므로 현재의 일에 대해서는 너무 걱정할 필요가 없다.

그 후에 결국 리눅스 v2.0.x 내의 ISA-PnP 구성에 관한 단계적인 설명을 한다. 물론 이러 한 단계를 구행하기 위해서는 루트 접근이 필요하다. 우리는 ISA-PnP FAQ에 상당히 의존 한다. (http://www.roestock.demon.co.uk/isapnptools/) 권장할만한 강연이다.

Generating the list of possible configurations

ISA-PnP를 위한 중심 구성은 /etc/isapnp.conf이다.

만약 파일 /etc/isapnp.conf가 이미 존재한다면, 이전 구성 실행의 나머지일 것이다. 그것을 곁에 옮겨라. :

       mv /etc/isapnp.conf /etc/isapnp.conf.bak.yymmdd  # timestamp recommended

pnpdump를 실행하고 그것의 출력을 /etc/isapnp.conf에 보내라. 이것은 ISA-PnP 카드의 가능한 모든 구성의 목록이다.

 
       /sbin/pnpdump > /etc/isapnp.conf
/etc/isapnp.conf를 좋아하는 데이터에 로드시켜라. (특별히 선호하는 것이 없다면, joe를 권한다. 이것은 간단하고 배우기가 매우 쉽다. 도움말은 Ctrl-k-h이다.) :
       joe /etc/isapnp.conf
Background Info: pnpdump는 모든 ISA-PnP 카드를 스캔하고 모든 가능한 구성을 stdout 에 기록한다. 이러한 출력의 형식은 isapnp 프로그램에 의해서 parsing이 가능하다. 이것은 ISA-PnP 하드웨어의 초기화/구성을 위해서 동적 엔트리를 사용한다. 나중에 이것은 startup 동안 자동적으로 수행된다. : /sbin/init.d/boot/etc/isapnp.conf의 존재를 확인하고 존재하면 isapnp를 불러낼 것이다.

Possible errors

pnpdump는 다음과 같은 에러 메시지를 가진다. : No bords found
도는 발견되지 않은 설치된 ISA-PnP 카드

가능한 원인들:

  • 시스템에 어떠한 ISA-PnP 카드도 설치되어있지 않다.
    어떤 카드들이 설치되어있는 지를 확인하고 그것들의 도큐멘테이션을 읽는다. 문제가 생 길 경우에는 컴퓨터의 벤더를 참고하라.하드 웨어 결함을 가진 카드가 있다.
    모든 카드들이 올바르게 플러그 인 되어있는 지를 확인한다. 만약 할수 있다면, 다른 운 영 체제내의 카드의 올바를 기능을 테스크하라.

  • ISA-PnP 카드 또는 고정된 IRQ와 I/O 포트 주소를 가진 "옛날의 방법"으로 동작하는 카 드들이 있다.
    이것은 예를 들어서 10MBit NE2000(ISA) 네트워크 어댑터를 유지한다. 종종 DOS 셋업 프 로그램이 이러한 두가지 모드를 변환할 수 있는 카드를 제공한다.

    Attention

    # [This is a comment]
    # $Id: rb_isapnp.sdb,v 1.1 2001/03/09 04:26:16 kmyoo 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)
    #
    # For latest information on isapnp and pnpdump see:
    # http://www.roestock.demon.co.uk/isapnptools/
    #
    # Compiler flags: -DREALTIME -DNEEDSETSCHEDULER
    #
    # Trying port address 0203
    # Board 1 has serial identifier ec 00 01 04 d8 9d 00 8c 0e
    
    # (DEBUG)
    # [These three lines identify the installed cards]
    (READPORT 0x0203)
    (ISOLATE)
    (IDENTIFY *)
    
    # [ Start of Configuration of the first ISA-PnP-Card ]
    # Card 1: (serial identifier ec 00 01 04 d8 9d 00 8c 0e)
    # CTL009d Serial No 66776 [checksum ec]
    # Version 1.0, Vendor version 2.0
    # ANSI string -->Creative SB AWE64 PnP<--
    #
    # Logical device id CTL0042
    #
    # 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
    
    # [ Start of Configuration of 1st logical device of 1st card ]
    (CONFIGURE CTL009d/66776 (LD 0
    #     ANSI string -->Audio<--
    # Multiple choice time, choose one only !
    # [ Here, different configurations for the LD 0 are offered ]
    # [ Each configuration is separated by a newline ]
    # [ You may select but _one_ configuration for each logical device! ]
    #
    # [ 1st Config possibility for 1st logical device of 1st card ]
    #     Start dependent functions: priority preferred
    #       IRQ 5.
    #             High true, edge sensitive interrupt (by default)
    (INT 0 (IRQ 5 (MODE +E)))
    #       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 5.
    #             16 bit DMA only
    #             Logical device is not a bus master
    #             DMA may not execute in count by byte mode
    #             DMA may execute in count by word mode
    #             DMA channel speed in compatible mode
    (DMA 1 (CHANNEL 5))
    #       Logical device decodes 16 bit IO address lines
    #             Minimum IO base address 0x0220
    #             Maximum IO base address 0x0220
    #             IO base alignment 1 bytes
    #             Number of IO addresses required: 16
    (IO 0 (BASE 0x0220)) 
    #       Logical device decodes 16 bit IO address lines
    #             Minimum IO base address 0x0330
    #             Maximum IO base address 0x0330
    #             IO base alignment 1 bytes
    #             Number of IO addresses required: 2
    (IO 1 (BASE 0x0330))
    #       Logical device decodes 16 bit IO address lines
    #             Minimum IO base address 0x0388
    #             Maximum IO base address 0x0388
    #             IO base alignment 1 bytes
    #             Number of IO addresses required: 4
    (IO 2 (BASE 0x0388))
    
    # [ 2nd (alternative!) Config possibility for 1st logical device of 1st
    # [ card. Separated by a blank line. ]
    # [ Since the preceding block has been selected, nothing is to be ]
    # [ done here anymore ]
    #
    #       Start dependent functions: priority acceptable
    #       IRQ 5, 7, 9 or 10.
    #             High true, edge sensitive interrupt (by default)
    # (INT 0 (IRQ 5 (MODE +E)))
    #       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 5, 6 or 7.
    #             16 bit DMA only
    #             Logical device is not a bus master
    #             DMA may not execute in count by byte mode
    #             DMA may execute in count by word mode
    #             DMA channel speed in compatible mode
    # (DMA 1 (CHANNEL 5))
    #       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 0x0300
    #             Maximum IO base address 0x0330
    #             IO base alignment 48 bytes
    #             Number of IO addresses required: 2
    # (IO 1 (BASE 0x0300))
    #       Logical device decodes 16 bit IO address lines
    #             Minimum IO base address 0x0388
    #             Maximum IO base address 0x0388
    #             IO base alignment 1 bytes
    #             Number of IO addresses required: 4
    # (IO 2 (BASE 0x0388))
    
    #       Start dependent functions: priority acceptable
    #       IRQ 5, 7, 9 or 10.
    # [...]
    # [ .... other config possibilities for this LD deleted ... ]
    
    #     End dependent functions
    # [ The (ACT Y) line must be uncommented, otherwise the LD won't be ]
    # [ initialized ]
    (ACT Y)
    ))
    #
    # Logical device id CTL7002
    #
    # 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
    
    # [ Start of Configuration of 2nd logical device of 1st card ]
    (CONFIGURE CTL009d/66776 (LD 1
    #     Compatible device id PNPb02f
    #     ANSI string -->Game<--
    
    # Multiple choice time, choose one only !
    
    # [ 1st Config possibility for 2nd logical device of 1st card ]
    #     Start dependent functions: priority preferred
    #       Logical device decodes 16 bit IO address lines
    #             Minimum IO base address 0x0200
    #             Maximum IO base address 0x0200
    #             IO base alignment 1 bytes
    #             Number of IO addresses required: 8
    (IO 0 (BASE 0x0200))
    
    # [ 2nd Config possibility for 2nd logical device of 1st card ]
    #       Start dependent functions: priority acceptable
    #       Logical device decodes 16 bit IO address lines
    #             Minimum IO base address 0x0200
    #             Maximum IO base address 0x0208
    #             IO base alignment 8 bytes
    #             Number of IO addresses required: 8
    # (IO 0 (BASE 0x0200))
    
    #     End dependent functions
    (ACT Y)
    ))
    #
    # Logical device id CTL0022
    #
    # 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
    
    # [ Start of Configuration of 3rd logical device of 1st card ]
    (CONFIGURE CTL009d/66776 (LD 2
    #     ANSI string -->WaveTable<--
    
    # Multiple choice time, choose one only !
    
    # [ 1st Config possibility for 3rd logical device of 1st card ]
    #     Start dependent functions: priority preferred
    #       Logical device decodes 16 bit IO address lines
    #             Minimum IO base address 0x0620
    #             Maximum IO base address 0x0620
    #             IO base alignment 1 bytes
    #             Number of IO addresses required: 4
    (IO 0 (BASE 0x0620))
    (IO 1 (BASE 0x0a20))
    (IO 2 (BASE 0x0e20))
    
    # [...]
    # [ .... other config possibilities for this LD deleted ... ]
    #     End dependent functions
    (ACT Y)
    ))
    
    #
    # Logical device id CTL2011
    #
    # 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
    # [ Start of Configuration of 4th logical device of 1st card ]
    
    (CONFIGURE CTL009d/66776 (LD 3
    #     Compatible device id PNP0600
    #     ANSI string -->IDE<--
    
    # Multiple choice time, choose one only !
    
    # [ 1st Config possibility for 4th logical device of 1st card ]
    #     Start dependent functions: priority preferred
    #       IRQ 10.
    #             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 0x0168
    #             Maximum IO base address 0x0168
    #             IO base alignment 1 bytes
    #             Number of IO addresses required: 8
    (IO 0 (BASE 0x0168))
    #       Logical device decodes 16 bit IO address lines
    #             Minimum IO base address 0x036e
    #             Maximum IO base address 0x036e
    #             IO base alignment 1 bytes
    #             Number of IO addresses required: 2
    (IO 1 (BASE 0x036e))
    
    # [ 2nd Config possibility for 4th logical device of 1st card ]
    #       Start dependent functions: priority acceptable
    #       IRQ 11.
    #             High true, edge sensitive interrupt (by default)
    # (INT 0 (IRQ 11 (MODE +E)))
    #       Logical device decodes 16 bit IO address lines
    #             Minimum IO base address 0x01e8
    #             Maximum IO base address 0x01e8
    #             IO base alignment 1 bytes
    #             Number of IO addresses required: 8
    # (IO 0 (BASE 0x01e8))
    #       Logical device decodes 16 bit IO address lines
    #             Minimum IO base address 0x03ee
    #             Maximum IO base address 0x03ee
    #             IO base alignment 1 bytes
    #             Number of IO addresses required: 2
    # (IO 1 (BASE 0x03ee))
    
    #       Start dependent functions: priority acceptable
    #       IRQ 10, 11, 12 or 15.
    # [...]
    # [ .... other config possibilities for this LD deleted ... ]
    
    #     End dependent functions
    (ACT Y)
    ))
    # End tag... Checksum 0x00 (OK)
    
    # Returns all cards to the "Wait for Key" state
    (WAITFORKEY)
    


    관련 내용:
    o Creative Sound Blaster AWE32/32/AWE64
    o Sound: pnpdump 와 AWE64

    키워드: ISAPNP, PLUG, PLAY, SOUND

    SDB-rb_isapnp, Copyright SuSE Linux AG, Nrnberg, Germany - 버전: 09. Mr 2001
    SuSE Linux AG - 최근에 만들어진 : 09. Mr 2001 에 의해 kmyoo (sdb_gen 1.40.0)