← Documents Documentation/scsi/qlogicfas.rst GitHub 원문 ↗

Linux 6.18.37 · SCSI

QLogic FASXXX 계열 드라이버 참고 사항

QLogic FASXXX 카드 지원 범위, PCMCIA 부팅, 속도 설정과 무결성 시험을 설명합니다.

Source pathDocumentation/scsi/qlogicfas.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

qlogicfas.rst:1-87

QLogic FASXXX 카드 지원 범위, PCMCIA 부팅, 속도 설정과 무결성 시험을 설명합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0
2
3 =================================
4 Qlogic FASXXX Family Driver Notes
5 =================================
6
7 This driver supports the Qlogic FASXXX family of chips. This driver
8 only works with the ISA, VLB, and PCMCIA versions of the Qlogic
9 FastSCSI! cards as well as any other card based on the FASXX chip
10 (including the Control Concepts SCSI/IDE/SIO/PIO/FDC cards).
11
12 This driver does NOT support the PCI version. Support for these PCI
13 Qlogic boards:
14
15 * IQ-PCI
16 * IQ-PCI-10
17 * IQ-PCI-D
18
19 is provided by the qla1280 driver.
20
21 Nor does it support the PCI-Basic, which is supported by the
22 'am53c974' driver.
23
24 PCMCIA Support
25 ==============
26
27 This currently only works if the card is enabled first from DOS. This
28 means you will have to load your socket and card services, and
29 QL41DOS.SYS and QL40ENBL.SYS. These are a minimum, but loading the
30 rest of the modules won't interfere with the operation. The next
31 thing to do is load the kernel without resetting the hardware, which
32 can be a simple ctrl-alt-delete with a boot floppy, or by using
33 loadlin with the kernel image accessible from DOS. If you are using
34 the Linux PCMCIA driver, you will have to adjust it or otherwise stop
35 it from configuring the card.
36
37 I am working with the PCMCIA group to make it more flexible, but that
38 may take a while.
39
40 All Cards
41 =========
42
43 The top of the qlogic.c file has a number of defines that controls
44 configuration. As shipped, it provides a balance between speed and
45 function. If there are any problems, try setting SLOW_CABLE to 1, and
46 then try changing USE_IRQ and TURBO_PDMA to zero. If you are familiar
47 with SCSI, there are other settings which can tune the bus.
48
49 It may be a good idea to enable RESET_AT_START, especially if the
50 devices may not have been just powered up, or if you are restarting
51 after a crash, since they may be busy trying to complete the last
52 command or something. It comes up faster if this is set to zero, and
53 if you have reliable hardware and connections it may be more useful to
54 not reset things.
55
56 Some Troubleshooting Tips
57 =========================
58
59 Make sure it works properly under DOS. You should also do an initial FDISK
60 on a new drive if you want partitions.
61
62 Don't enable all the speedups first. If anything is wrong, they will make
63 any problem worse.
64
65 Important
66 =========
67
68 The best way to test if your cables, termination, etc. are good is to
69 copy a very big file (e.g. a doublespace container file, or a very
70 large executable or archive). It should be at least 5 megabytes, but
71 you can do multiple tests on smaller files. Then do a COMP to verify
72 that the file copied properly. (Turn off all caching when doing these
73 tests, otherwise you will test your RAM and not the files). Then do
74 10 COMPs, comparing the same file on the SCSI hard drive, i.e. "COMP
75 realbig.doc realbig.doc". Then do it after the computer gets warm.
76
77 I noticed my system which seems to work 100% would fail this test if
78 the computer was left on for a few hours. It was worse with longer
79 cables, and more devices on the SCSI bus. What seems to happen is
80 that it gets a false ACK causing an extra byte to be inserted into the
81 stream (and this is not detected). This can be caused by bad
82 termination (the ACK can be reflected), or by noise when the chips
83 work less well because of the heat, or when cables get too long for
84 the speed.
85
86 Remember, if it doesn't work under DOS, it probably won't work under
87 Linux.
88

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

지원되는 카드와 제외되는 PCI 제품

1-23

이 드라이버는 QLogic FASXXX 칩 계열과 QLogic FastSCSI!의 ISA, VLB, PCMCIA 버전을 지원한다. Control Concepts SCSI/IDE/SIO/PIO/FDC 카드처럼 FASXX 칩을 기반으로 한 다른 카드도 대상이다.

PCI 버전은 지원하지 않는다. `IQ-PCI`, `IQ-PCI-10`, `IQ-PCI-D`는 `qla1280` 드라이버가 담당하며, PCI-Basic은 `am53c974` 드라이버가 담당한다.

QLogic 드라이버 선택
제품 또는 버스담당 드라이버
ISA/VLB/PCMCIA FASXXXqlogicfas
IQ-PCI / IQ-PCI-10 / IQ-PCI-Dqla1280
PCI-Basicam53c974

버스와 보드에 따라 사용할 드라이버가 다르다.

.. SPDX-License-Identifier: GPL-2.0

=================================
Qlogic FASXXX Family Driver Notes
=================================

This driver supports the Qlogic FASXXX family of chips.  This driver
only works with the ISA, VLB, and PCMCIA versions of the Qlogic
FastSCSI!  cards as well as any other card based on the FASXX chip
(including the Control Concepts SCSI/IDE/SIO/PIO/FDC cards).

This driver does NOT support the PCI version.  Support for these PCI
Qlogic boards:

        * IQ-PCI
        * IQ-PCI-10
        * IQ-PCI-D

is provided by the qla1280 driver.

Nor does it support the PCI-Basic, which is supported by the
'am53c974' driver.

PCMCIA 사용 절차

24-39

당시 PCMCIA 지원은 DOS에서 먼저 카드를 활성화한 경우에만 동작했다. 소켓 서비스와 카드 서비스, `QL41DOS.SYS`, `QL40ENBL.SYS`를 최소한 로드해야 하며 나머지 모듈을 더 로드해도 동작을 방해하지 않는다.

그 뒤 하드웨어를 재설정하지 않고 Linux 커널을 시작한다. 부팅 플로피를 둔 상태에서 `Ctrl-Alt-Delete`를 사용하거나, DOS에서 접근 가능한 커널 이미지와 `loadlin`을 사용할 수 있다. Linux PCMCIA 드라이버를 사용한다면 카드가 다시 구성되지 않도록 조정하거나 구성을 중지해야 한다. 원문 작성 시점에는 PCMCIA 그룹과 더 유연한 지원을 개발 중이었다.

PCMCIA Support
==============

This currently only works if the card is enabled first from DOS.  This
means you will have to load your socket and card services, and
QL41DOS.SYS and QL40ENBL.SYS.  These are a minimum, but loading the
rest of the modules won't interfere with the operation.  The next
thing to do is load the kernel without resetting the hardware, which
can be a simple ctrl-alt-delete with a boot floppy, or by using
loadlin with the kernel image accessible from DOS.  If you are using
the Linux PCMCIA driver, you will have to adjust it or otherwise stop
it from configuring the card.

I am working with the PCMCIA group to make it more flexible, but that
may take a while.

모든 카드의 설정 옵션

40-55

`qlogic.c` 맨 위의 여러 `#define`이 설정을 제어한다. 배포 기본값은 속도와 기능의 균형을 맞춘 값이다. 문제가 있으면 먼저 `SLOW_CABLE=1`을 설정하고, 이어 `USE_IRQ`와 `TURBO_PDMA`를 0으로 낮춰 본다. SCSI 버스를 이해하는 사용자는 다른 설정으로 버스를 더 세밀하게 조정할 수 있다.

장치가 방금 켜진 상태가 아니거나 충돌 뒤 재시작해 이전 명령을 끝내려는 중일 수 있다면 `RESET_AT_START`를 켜는 편이 좋다. 0으로 두면 시작은 빨라지지만, 하드웨어와 연결이 확실히 신뢰할 수 있을 때만 재설정을 생략하는 것이 적절하다.

문제 발생 시 완화 순서
순서설정
1SLOW_CABLE=1
2USE_IRQ=0
3TURBO_PDMA=0
선택RESET_AT_START=1

빠른 기능을 단계적으로 줄여 원인을 분리한다.

All Cards
=========

The top of the qlogic.c file has a number of defines that controls
configuration.  As shipped, it provides a balance between speed and
function.  If there are any problems, try setting SLOW_CABLE to 1, and
then try changing USE_IRQ and TURBO_PDMA to zero.  If you are familiar
with SCSI, there are other settings which can tune the bus.

It may be a good idea to enable RESET_AT_START, especially if the
devices may not have been just powered up, or if you are restarting
after a crash, since they may be busy trying to complete the last
command or something.  It comes up faster if this is set to zero, and
if you have reliable hardware and connections it may be more useful to
not reset things.

기본 문제 해결

56-64

먼저 DOS에서 카드와 장치가 정상 동작하는지 확인한다. 새 드라이브에 파티션을 만들 계획이면 최초 `FDISK` 작업도 수행한다. 처음부터 모든 가속 옵션을 켜지 말아야 한다. 하드웨어나 연결에 문제가 있으면 가속 기능이 증상을 더 심하게 만들 수 있다.

Some Troubleshooting Tips
=========================

Make sure it works properly under DOS.  You should also do an initial FDISK
on a new drive if you want partitions.

Don't enable all the speedups first.  If anything is wrong, they will make
any problem worse.

케이블과 종단의 무결성 시험

65-87

케이블과 종단 상태를 시험하는 가장 좋은 방법으로 큰 파일 복사를 제시한다. 최소 5MB 파일을 복사한 뒤 `COMP`로 결과를 검증하고, 캐시는 모두 꺼서 RAM이 아니라 실제 파일을 시험해야 한다. 같은 SCSI 디스크 파일을 자기 자신과 비교하는 `COMP realbig.doc realbig.doc`를 10회 수행하고, 컴퓨터가 충분히 뜨거워진 뒤에도 반복한다.

작성자의 시스템은 평소 완벽해 보였지만 몇 시간 켜 두면 이 시험에서 실패했다. 케이블이 길거나 SCSI 버스의 장치가 많을수록 악화되었다. 잘못된 ACK가 들어와 스트림에 여분의 바이트가 삽입되며 검출되지 않는 현상으로 보였고, 불량 종단에 의한 ACK 반사, 열로 약해진 칩의 잡음, 속도에 비해 너무 긴 케이블이 원인이 될 수 있다.

DOS에서도 동작하지 않는 구성이라면 Linux에서도 동작할 가능성이 낮다.

무결성 시험
최소 5MB 파일 복사캐시를 끈 상태에서 COMP 검증동일 파일 자기 비교 10회시스템이 따뜻해진 뒤 반복ACK, 종단, 잡음, 케이블 길이 점검

캐시의 영향을 제외하고 열과 반복 부하까지 확인한다.

Important
=========

The best way to test if your cables, termination, etc. are good is to
copy a very big file (e.g. a doublespace container file, or a very
large executable or archive).  It should be at least 5 megabytes, but
you can do multiple tests on smaller files.  Then do a COMP to verify
that the file copied properly.  (Turn off all caching when doing these
tests, otherwise you will test your RAM and not the files).  Then do
10 COMPs, comparing the same file on the SCSI hard drive, i.e. "COMP
realbig.doc realbig.doc".  Then do it after the computer gets warm.

I noticed my system which seems to work 100% would fail this test if
the computer was left on for a few hours.  It was worse with longer
cables, and more devices on the SCSI bus.  What seems to happen is
that it gets a false ACK causing an extra byte to be inserted into the
stream (and this is not detected).  This can be caused by bad
termination (the ACK can be reflected), or by noise when the chips
work less well because of the heat, or when cables get too long for
the speed.

Remember, if it doesn't work under DOS, it probably won't work under
Linux.