Skip to main content

How-To del modulo Kernel Linux Loadable - 15.3. Driver SCSI

Remote Linux Kernel Debug with kgdb (Giugno 2026)

Remote Linux Kernel Debug with kgdb (Giugno 2026)

:

Anonim

15.3. Driver SCSI

Informazioni dettagliate sui driver SCSI si trovano in SCSI-2.4-HOWTO.

La funzione SCSI di Linux è implementata su tre livelli e ci sono LKM per tutti loro.

Nel mezzo è il driver di livello medio o il nucleo SCSI. Questo consiste del scsi_mod LKM. Fa tutto ciò che è comune tra i dispositivi SCSI indipendentemente dall'adattatore SCSI che si usa e dalla classe di dispositivo (disco, scanner, unità CD-ROM, ecc.).

Esiste un driver di basso livello per ogni tipo di adattatore SCSI, in genere un driver diverso per ciascuna marca. Ad esempio, viene chiamato il driver di basso livello per gli adattatori Advansys (prodotto dalla società che ora è Connect.com) Advansys . (Se si confrontano i dispositivi ATA (noti anche come IDE) e quelli SCSI, questa è una grande differenza: ATA è semplice e abbastanza standard che un driver funziona con tutti gli adattatori di tutte le aziende SCSI è meno standard e di conseguenza dovresti avere meno confidenza in ogni particolare adattatore che sia perfettamente compatibile con il tuo sistema).

I driver di alto livello presentano al resto del kernel un'interfaccia appropriata per una determinata classe di dispositivi. Il driver di alto livello SCSI per dispositivi a nastro, st , ad esempio, ha ioctls per riavvolgere. Il driver SCSI di alto livello per unità CD-ROM, sr , non.

Si noti che raramente è necessario un driver di alto livello specifico per una determinata marca di dispositivo. A questo livello, c'è poco spazio per distinguere un marchio da un altro.

Un driver di alto livello SCSI che merita una menzione speciale è sg . Questo driver, chiamato driver "SCSI generico", è un livello abbastanza sottile che presenta una rappresentazione piuttosto grezza del driver di livello medio SCSI rispetto al resto del kernel. Programmi spaziali utente che operano tramite il driver generico SCSI (poiché accedono ai file speciali del dispositivo il cui numero maggiore è quello registrato da sg (to wit, 21)) hanno una comprensione dettagliata dei protocolli SCSI, mentre i programmi di spazio utente che operano attraverso altri driver di alto livello SCSI in genere non sanno nemmeno cosa sia SCSI. SCSI-Programming-HOWTO ha una documentazione completa del driver generico SCSI.

L'ordine di stratificazione dei moduli SCSI nasconde il modo in cui i LKM dipendono l'uno dall'altro e l'ordine in cui devono essere caricati. Carichiamo sempre prima il driver di medio livello e lo scarico per ultimo. I driver di basso livello e di alto livello possono essere caricati e scaricati in qualsiasi ordine, e si collegano e stabiliscono la dipendenza dal driver di medio livello alle due estremità. Se non si dispone di un set completo, si verificherà un errore "dispositivo non trovato" quando si tenta di accedere a un dispositivo.

La maggior parte dei driver di livello basso (adattatore) SCSI non ha parametri LKM; generalmente eseguono l'autoprobe per le impostazioni della scheda. Se la tua scheda risponde ad un indirizzo di porta non convenzionale, devi collegare il driver al kernel di base e usare le opzioni del "comando" del kernel. Vedi BootPrompt-HOWTO. Oppure puoi giocare a The Source e ricompilare.

Molti driver di basso livello SCSI dispongono di documentazione in drivers / scsi directory nell'albero dei sorgenti di Linux, nei file chiamati README. *.

15.3.1. scsi_mod: driver di medio livello SCSI

Esempio:

modprobe scsi_mod

Non ci sono parametri del modulo.

15.3.2. sd_mod: driver ad alto livello SCSI per dispositivi a disco

Esempio:

modprobe sd_mod

Non ci sono parametri del modulo.

15.3.3. st: driver ad alto livello SCSI per dispositivi a nastro

Esempio:

modprobe st

Non ci sono parametri del modulo per LKM, ma se si collega questo modulo al kernel di base, è possibile passare alcuni parametri tramite i parametri di avvio di Linux. Vedi BootPrompt-HOWTO.

15.3.4. sr_mod: driver ad alto livello SCSI per unità CD-ROM

Esempio:

modprobe sr_mod

Non ci sono parametri del modulo.

15.3.5. sg: driver ad alto livello SCSI per dispositivi SCSI generici

Vedi la spiegazione di questo speciale driver di alto livello sopra.

Esempio:

modprobe sg

Non ci sono parametri del modulo.

* Licenza

* Indice How-To del modulo del kernel caricabile

parametri.

15.3.6. wd7000: driver di basso livello SCSI per 7000FASST

Esempio:

modprobe wd7000

Non ci sono parametri del modulo per LKM, ma se si collega questo modulo al kernel di base, è possibile passare alcuni parametri tramite i parametri di avvio di Linux. Vedi BootPrompt-HOWTO.

Questo driver attacca la scheda e richiede il BIOS installato.

15.3.7. aha152x: driver di basso livello SCSI per Adaptec AHA152X / 2825

Esempio:

modprobe aha152x

Non ci sono parametri del modulo per LKM, ma se si collega questo modulo al kernel di base, è possibile passare alcuni parametri tramite i parametri di avvio di Linux. Vedi BootPrompt-HOWTO.

Questo driver attacca la scheda e richiede il BIOS installato.

15.3.8. aha1542: driver di basso livello SCSI per Adaptec AHA1542

Esempio:

modprobe aha1542

Non ci sono parametri del modulo per LKM, ma se si collega questo modulo al kernel di base, è possibile passare alcuni parametri tramite i parametri di avvio di Linux. Vedi BootPrompt-HOWTO.

Questo driver si attiva automaticamente solo su 0x330 e 0x334.

15.3.9. aha1740: driver di basso livello SCSI per Adaptec AHA1740 EISA

Esempio:

modprobe aha1740

Non ci sono parametri del modulo.

Questo driver accelera la carta.

15.3.10. aic7xxx: driver di basso livello SCSI per Adaptec AHA274X / 284X / 294X

Esempio:

modprobe aic7xxx

Non ci sono parametri del modulo per LKM, ma se si collega questo modulo al kernel di base, è possibile passare alcuni parametri tramite i parametri di avvio di Linux. Vedi BootPrompt-HOWTO.

Questo driver esegue l'autoprobe della scheda e il BIOS deve essere abilitato.

15.3.11. advansys: driver di basso livello SCSI per AdvanSys / Connect.com

Esempio:

modprobe advansys asc_iopflag = 1 asc_ioport = 0x110,0x330 asc_dbglvl = 1

Parametri del modulo:

  • asc_iopflag
    • 1
    • abilitare la scansione delle porte
    • 0
    • disabilitare la scansione delle porte
  • asc_ioport
  • Indirizzi di porta I / O per la ricerca di adattatori SCSI Advansys
  • asc_dbglvl
  • livello di debug:
      • 0
    • Solo errori
    • 1
    • Tracciamento di alto livello
    • 2-N
    • Traccia verbose

Se si collega questo driver al kernel di base, è possibile passare i parametri ad esso tramite i parametri di avvio del kernel. Vedi BootPrompt-HOWTO.

15.3.12. in2000: driver di basso livello SCSI per Always IN2000

Esempio:

modprobe in2000

Non ci sono parametri del modulo.

Questo driver accelera la carta. Non è richiesto alcun BIOS.

15.3.13. BusLogic: driver di basso livello SCSI per BusLogic

L'elenco delle schede BusLogic che questo driver è in grado di guidare è lungo. Leggi il file drivers / scsi / README.BusLogic nell'albero dei sorgenti di Linux per ottenere l'immagine totale.

Esempio:

modprobe BusLogic

Non ci sono parametri del modulo.

Se si collega questo driver al kernel di base, è possibile passare i parametri ad esso tramite i parametri di avvio del kernel. Vedi BootPrompt-HOWTO.

15.3.14. dtc: driver di basso livello SCSI per DTC3180 / 3280

Esempio:

modprobe dtc

Non ci sono parametri del modulo per LKM, ma se si collega questo modulo al kernel di base, è possibile passare alcuni parametri tramite i parametri di avvio di Linux. Vedi BootPrompt-HOWTO.

Questo driver accelera la carta.

15.3.15. eata: driver di basso livello SCSI per EATA ISA / EISA

Questo driver gestisce DPT PM2011 / 021/012/022/122/322.

Esempio:

modprobe eata

Non ci sono parametri del modulo per LKM, ma se si collega questo modulo al kernel di base, è possibile passare alcuni parametri tramite i parametri di avvio di Linux. Vedi BootPrompt-HOWTO.

15.3.16. eata_dma: driver di basso livello SCSI per EATA-DMA

Questo driver gestisce DPT, NEC, AT & T, SNI, AST, Olivetti e Alphatronix.

Questo driver gestisce DPT Smartcache, Smartcache III e SmartRAID.

Esempio:

modprobe eata_dma

Non ci sono parametri del modulo.

Autoprobe funziona in tutte le configurazioni.

15.3.17. eata_pio: driver di basso livello SCSI per EATA-PIO

Questo driver gestisce il vecchio DPT PM2001, PM2012A.

Esempio:

modprobe eata_pio

Non ci sono parametri del modulo.

15.3.18. fdomain: driver di basso livello SCSI per Future Domain 16xx

Esempio:

modprobe fdomain

Non ci sono parametri del modulo.

Questo driver esegue l'autoprobe della scheda e richiede il BIOS installato.

15.3.19. NCR5380: driver di basso livello SCSI per NCR5380 / 53c400

Esempio:

modprobe NCR5380 ncr_irq = xx ncr_addr = xx ncr_dma = xx ncr_5380 = 1 ncr_53c400 = 1

per una scheda NCR5380 mappata a porta:

modprobe g_NCR5380 ncr_irq = 5 ncr_addr = 0x350 ncr_5380 = 1

per una scheda NCR53C400 mappata in memoria con interrupt disabilitati:

modprobe g_NCR5380 ncr_irq = 255 ncr_addr = 0xc8000 ncr_53c400 = 1

parametri:

  • ncr_irq
  • l'irq che il driver deve servire. 255 significa no o DMA interrupt. 254 per autoprobe per una linea IRQ se sovrascritta sulla riga di comando.
  • ncr_addr
  • l'indirizzo della porta I / O o l'indirizzo I / O mappato in memoria, a seconda del caso, che il driver deve guidare
  • ncr_dma
  • il canale DMA che il driver deve utilizzare
  • ncr_5380
  • 1 = impostato per una scheda NCR5380
  • ncr_53c400
  • 1 = configurazione per una scheda NCR53C400

Se si collega questo driver al kernel di base, è possibile passare i parametri ad esso tramite i parametri di avvio del kernel. Vedi BootPrompt-HOWTO.

15.3.20. NCR53c406a: driver di basso livello SCSI per NCR53c406a

Esempio:

modprobe NCR53c406a

Non ci sono parametri del modulo per LKM, ma se si collega questo modulo al kernel di base, è possibile passare alcuni parametri tramite i parametri di avvio di Linux. Vedi BootPrompt-HOWTO.

15.3.21. 53c7,8xx.o: driver di basso livello SCSI per NCR53c7,8xx

Esempio:

modprobe 53c7,8xx

Non ci sono parametri del modulo per LKM, ma se si collega questo modulo al kernel di base, è possibile passare alcuni parametri tramite i parametri di avvio di Linux. Vedi BootPrompt-HOWTO.

Questo driver esegue l'autoprobe della scheda e richiede il BIOS installato.

15.3.22. ncr53c8xx: driver di basso livello SCSI per la famiglia NCR538xx di PCI-SCS

Esempio:

modprobe ncr53c8xx

Non ci sono parametri del modulo.

15.3.23. ppa: driver SCSI di basso livello per unità ZIP porta parallela IOMEGA

Vedi il file drivers / scsi / README.ppa nell'albero dei sorgenti di Linux per i dettagli.

Esempio:

modprobe ppa ppa_base = 0x378 ppa_nybble = 1

parametri:

  • ppa_base
  • Indirizzo base della porta I / O del PPA. Predefinito 0x378.
  • ppa_speed_high
  • Ritardo utilizzato nei trasferimenti di dati, in microsecondi. Il valore predefinito è 1.
  • ppa_speed_low
  • Ritardo usato in altri
  • operazioni, in microsecondi. L'impostazione predefinita è 6.
  • ppa_nybble
  • 1 = Usa la modalità a 4 bit. 0 = non farlo. L'impostazione predefinita è 0.

15.3.24. pas16: driver di basso livello SCSI per PAS16

Esempio:

modprobe pas16

Non ci sono parametri del modulo per LKM, ma se si collega questo modulo al kernel di base, è possibile passare alcuni parametri tramite i parametri di avvio di Linux. Vedi BootPrompt-HOWTO.

Questo driver accelera la carta. Non è richiesto alcun BIOS.

15.3.25. qlogicfas: driver di basso livello SCSI per FAS Qlogic

Esempio:

modprobe qlogicfas

Non ci sono parametri del modulo per LKM, ma se si collega questo modulo al kernel di base, è possibile passare alcuni parametri tramite i parametri di avvio di Linux. Vedi BootPrompt-HOWTO.

15.3.26. qlogicisp: driver di basso livello SCSI per ISP Qlogic

Esempio:

modprobe qlogicisp

Non ci sono parametri del modulo per LKM, ma se si collega questo modulo al kernel di base, è possibile passare alcuni parametri tramite i parametri di avvio di Linux. Vedi BootPrompt-HOWTO.

Richiede firmware.

15.3.27. seagate: driver di basso livello SCSI per Seagate, Future Domain

Questo driver è per Seagate ST-02 e Future Domain TMC-8xx.

Esempio:

modprobe seagate

Non ci sono parametri del modulo per LKM, ma se si collega questo modulo al kernel di base, è possibile passare alcuni parametri tramite i parametri di avvio di Linux. Vedi BootPrompt-HOWTO.

Questo driver è solo per l'indirizzo. L'IRQ è fisso su 5. Il driver richiede il BIOS installato.

15.3.28. t128: driver di basso livello SCSI per Trantor T128 / T128F / T228

Esempio:

modprobe t128

Non ci sono parametri del modulo per LKM, ma se si collega questo modulo al kernel di base, è possibile passare alcuni parametri tramite i parametri di avvio di Linux. Vedi BootPrompt-HOWTO.

Questo driver accelera la carta. Il driver richiede il BIOS installato.

15.3.29. u14-34f: driver di basso livello SCSI per UltraStor 14F / 34F

Esempio:

modprobe u14-34f

Non ci sono parametri del modulo per LKM, ma se si collega questo modulo al kernel di base, è possibile passare alcuni parametri tramite i parametri di avvio di Linux. Vedi BootPrompt-HOWTO.

Questo driver attiva la carta, ma non la porta 0x310. Non è richiesto alcun BIOS.

15.3.30. ultrastor: driver SCSI di basso livello per UltraStor

Esempio:

modprobe ultrastor

Non ci sono parametri del modulo per LKM, ma se si collega questo modulo al kernel di base, è possibile passare alcuni parametri tramite i parametri di avvio di Linux. Vedi BootPrompt-HOWTO.