보드에 내장된 Adaptec 2940 (aic7870, aic7880) 인식

고객지원 지식기반 (compaq)

Symptom:

2940 드라이버(aic7xxx)가 부팅시 보드에 있는 SCSI 컨트롤러를 찾지 못합니다. 보드에 설 치된 SCSI 컨트롤러가 하나인 경우 부팅 메시지는 다음과 같습니다.
scsi : 0 host. 

컨트롤러에 연결된 SCSI 디바이스가 찾아지지 않습니다.

메인보드가 이상한 현상을 보입니다. SCSI 컨트롤러는 찾아지는데 SCSI 디바이스가 찾아지 지 않는 상황도 발생할 수 있습니다.

Cause:

리눅스는 PCI 가이드라인을 정확하게 따르고 있습니다. 하지만 이러한 표준을 따르지 않는 PC-BIOS를 장착한 메인보드가 있습니다. 이렇게 표준을 따르지 않는 메인보드에는 컴팩사 의 PCI 시스템 보드가 포함됩니다. 그래서 이러한 시스템에서 커넬 드라이버가 온보드된 컨 트롤러를 찾지 못하는 것입니다.

또 다른 시스템들에서는 온보드 컨트롤러는 찾을 수 있는데 SCSI 디바이스에는 접속을 할 수 없을 경우도 있습니다. 이러한 경우 그 이유는 온보드된 컨트롤러가 결함이 있는 PCI-BIOS를 읽는 동안 인터럽트가 오프 상태로 되게 되는데 이후 커넬에 의해서 다시 온 으로 변경시킬 수가 없기 때문입니다. 결과적으로 SCSI 컨트롤러가 SCSI 디바이스에 처음 접속을 할 때 인터럽트가 오프로 되어서 검색을 할 수 없게 됩니다.

Solution:

이 문제는 컴패사 프로그인 MOVEPCI로 해결할 수 있습니다. 각 나라별 컴팩사 대리점에서 이것 을 구하던지 아니면 다음 ftp 사이트에서 다운로드 받을 수도 있습니다. ftp://ftp.compaq.com/pub/softpaq/.

만약 온보드 SCSI 컨트롤러는 확실히 찾는데 SCSI 디바이스는 검색되지 않는다면 메인보드 의 BIOS를 업데이트시켜야만 합니다. 또 다른 방법으로는 인터럽트가 오프 상태로 되어 있 어도 PC-BIOS르 읽을 수 있게 해주는 패치 파일을 사용하는 것입니다. 이 패치 파일은 다 음 ftp 사이트에서 구할 수 있습니다. ftp://ftp.suse.de/pub/special/bios32.c.diff.gz 이 패치 파일은 다음 명령으로 해서 2.0.xx 커넬에 적용시킬 수 있습니다.

  cp bios32.c.diff.gz /usr/src/
  cd /usr/src/
  zcat bios32.c.diff.gz | patch -p0
물론 이후 커넬을 재컴파일한 다음에 인스톨을 해 주어야 합니다. 그리고 이렇게 하면 위험 이 따를 수 있습니다. 그래서 중요한 데이터의 보안을 위해서 메인보드의 BIOS를 업데이트 시키는 방법을 권장합니다.

Hint:

다음 웹 페이지에는 컴팩 시스템에 관한 흥미로운 정보가 들어 있습니다.

http://www-c724.uibk.ac.at/XL/


관련 내용:
o Kernel announces: pcibios_init: entry in high memory, unable to access
o 일반적인 하드웨어의 문제
o 리눅스에 적합한 하드웨어

키워드: PCIBIOS_INIT, PCI, BIOS, COMPAQ, COMPAC, ADAPTEC, 2940, AIC7870, AIC7880

피드백: Send Mail to werner@suse.de (Please give the following subject: SDB-compaq)
SDB-compaq, Copyright SuSE Linux AG, Nrnberg, Germany - 버전: 19. Feb 2001
SuSE Linux AG - 최근에 만들어진 : 19. Feb 2001 에 의해 werner (sdb_gen 1.40.0)