Skip to main content

Instrucciones prácticas del módulo de kernel cargable de Linux - 15.3. Drivers SCSI

TATTOOING Close Up (in Slow Motion) - Smarter Every Day 122 (Abril 2025)

TATTOOING Close Up (in Slow Motion) - Smarter Every Day 122 (Abril 2025)

Tabla de contenido:

Anonim

15.3. Drivers SCSI

La información detallada sobre los controladores SCSI se encuentra en SCSI-2.4-HOWTO.

La función SCSI de Linux se implementa en tres capas, y hay LKM para todas ellas.

En el medio está el controlador de nivel medio o el núcleo SCSI. Esto consiste en la scsi_mod LKM. Hace todas esas cosas que son comunes entre los dispositivos SCSI, independientemente del adaptador SCSI que use y la clase de dispositivo (disco, escáner, unidad de CD-ROM, etc.).

Hay un controlador de bajo nivel para cada tipo de adaptador SCSI, por lo general, un controlador diferente para cada marca. Por ejemplo, el controlador de bajo nivel para los adaptadores Advansys (fabricado por la compañía que ahora es Connect.com) se llama advansys . (Si está comparando dispositivos de disco ATA (también conocido como IDE) y SCSI, esta es una gran diferencia: ATA es simple y lo suficientemente estándar como para que un controlador funcione con todos los adaptadores de todas las compañías. SCSI es menos estándar y, como resultado, debe tener menos confianza en que un adaptador en particular sea perfectamente compatible con su sistema).

Los controladores de alto nivel presentan al resto del kernel una interfaz adecuada para cierta clase de dispositivos. El controlador de alto nivel SCSI para dispositivos de cinta, S t , por ejemplo, tiene ioctls para rebobinar. El controlador SCSI de alto nivel para unidades de CD-ROM, sr , no.

Tenga en cuenta que rara vez necesita un controlador de alto nivel específico para una determinada marca de dispositivo. En este nivel, hay poco espacio para que una marca sea distinguible de otra.

Un controlador de alto nivel SCSI que merece una mención especial es sg . Este controlador, llamado "controlador genérico SCSI", es una capa bastante delgada que presenta una representación bastante cruda del controlador de nivel medio SCSI al resto del kernel. Programas de espacio de usuario que operan a través del controlador genérico SCSI (porque acceden a archivos especiales de dispositivos cuyo número mayor es el registrado por sg (a saber, 21)) tienen una comprensión detallada de los protocolos SCSI, mientras que los programas de espacio de usuario que operan a través de otros controladores de alto nivel SCSI generalmente ni siquiera saben qué es SCSI. SCSI-Programming-HOWTO tiene documentación completa del controlador genérico SCSI.

El orden de capas de los módulos SCSI contradice la forma en que los LKM dependen unos de otros y el orden en el que deben cargarse. Siempre debes cargar primero el controlador de nivel medio y descargarlo al final. Los controladores de bajo y alto nivel se pueden cargar y descargar en cualquier orden después de eso, y se conectan y establecen dependencia en el controlador de nivel medio en ambos extremos. Si no tiene un conjunto completo, recibirá un error de "dispositivo no encontrado" cuando intente acceder a un dispositivo.

La mayoría de los controladores SCSI de bajo nivel (adaptador) no tienen parámetros LKM; Por lo general, hacen una prueba automática para la configuración de tarjetas Si su tarjeta responde a una dirección de puerto no convencional, debe enlazar el controlador al núcleo base y usar las opciones de "línea de comando" del núcleo. Vea el BootPrompt-HOWTO. O puedes girar la Fuente y recompilarla.

Muchos controladores de bajo nivel SCSI tienen documentación en el drivers / scsi directorio en el árbol fuente de Linux, en archivos llamados Reme *.

15.3.1. scsi_mod: controlador SCSI de nivel medio

Ejemplo:

modprobe scsi_mod

No hay parámetros del módulo.

15.3.2. sd_mod: controlador SCSI de alto nivel para dispositivos de disco

Ejemplo:

modprobe sd_mod

No hay parámetros del módulo.

15.3.3. st: controlador de alto nivel SCSI para dispositivos de cinta

Ejemplo:

modprobe st

No hay parámetros de módulo para el LKM, pero si vincula este módulo con el kernel base, puede pasar algunos parámetros a través de los parámetros de arranque de Linux. Vea el BootPrompt-HOWTO.

15.3.4. sr_mod: controlador SCSI de alto nivel para unidades de CD-ROM

Ejemplo:

modprobe sr_mod

No hay parámetros del módulo.

15.3.5. sg: controlador SCSI de alto nivel para dispositivos SCSI genéricos

Vea la explicación de este controlador especial de alto nivel más arriba.

Ejemplo:

modprobe sg

No hay parámetros del módulo.

* Licencia

* Índice de instrucciones del módulo del kernel cargable

parámetros

15.3.6. wd7000: Controlador de bajo nivel SCSI para 7000FASST

Ejemplo:

modprobe wd7000

No hay parámetros de módulo para el LKM, pero si vincula este módulo con el kernel base, puede pasar algunos parámetros a través de los parámetros de arranque de Linux. Vea el BootPrompt-HOWTO.

Este controlador abre la tarjeta y requiere BIOS instalado.

15.3.7. aha152x: controlador SCSI de bajo nivel para Adaptec AHA152X / 2825

Ejemplo:

modprobe aha152x

No hay parámetros de módulo para el LKM, pero si vincula este módulo al núcleo base, puede pasar algunos parámetros a través de los parámetros de arranque de Linux. Vea el BootPrompt-HOWTO.

Este controlador abre la tarjeta y requiere BIOS instalado.

15.3.8. aha1542: Controlador de bajo nivel SCSI para Adaptec AHA1542

Ejemplo:

modprobe aha1542

No hay parámetros de módulo para el LKM, pero si vincula este módulo al núcleo base, puede pasar algunos parámetros a través de los parámetros de arranque de Linux. Vea el BootPrompt-HOWTO.

Este controlador crea automáticamente la tarjeta en 0x330 y 0x334.

15.3.9. aha1740: Controlador de bajo nivel SCSI para Adaptec AHA1740 EISA

Ejemplo:

modprobe aha1740

No hay parámetros del módulo.

Este controlador crea automáticamente la tarjeta.

15.3.10. aic7xxx: controlador SCSI de bajo nivel para Adaptec AHA274X / 284X / 294X

Ejemplo:

modprobe aic7xxx

No hay parámetros de módulo para el LKM, pero si vincula este módulo al núcleo base, puede pasar algunos parámetros a través de los parámetros de arranque de Linux. Vea el BootPrompt-HOWTO.

Este controlador crea automáticamente la tarjeta y el BIOS debe estar habilitado.

15.3.11. advansys: controlador de bajo nivel SCSI para AdvanSys / Connect.com

Ejemplo:

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

Parámetros del módulo:

  • asc_iopflag
    • 1
    • habilitar el escaneo de puertos
    • 0
    • desactivar el escaneo de puertos
  • asc_ioport
  • Direcciones de puertos de E / S para buscar adaptadores SCSI de Advansys
  • asc_dbglvl
  • nivel de depuración:
      • 0
    • Solo errores
    • 1
    • Rastreo de alto nivel
    • 2-N
    • Trazo detallado

Si vincula este controlador al kernel base, puede pasarle parámetros a través de los parámetros de arranque del kernel. Vea el BootPrompt-HOWTO.

15.3.12. in2000: controlador SCSI de bajo nivel para Always IN2000

Ejemplo:

modprobe in2000

No hay parámetros del módulo.

Este controlador crea automáticamente la tarjeta. No se requiere BIOS.

15.3.13. BusLogic: controlador de bajo nivel SCSI para BusLogic

La lista de tarjetas BusLogic que puede conducir este controlador es larga. Leer archivo drivers / scsi / README.BusLogic en el árbol fuente de Linux para obtener la imagen total.

Ejemplo:

modprobe BusLogic

No hay parámetros del módulo.

Si vincula este controlador al kernel base, puede pasarle parámetros a través de los parámetros de arranque del kernel. Vea el BootPrompt-HOWTO.

15.3.14. dtc: controlador de bajo nivel SCSI para DTC3180 / 3280

Ejemplo:

modprobe dtc

No hay parámetros de módulo para el LKM, pero si vincula este módulo al núcleo base, puede pasar algunos parámetros a través de los parámetros de arranque de Linux. Vea el BootPrompt-HOWTO.

Este controlador crea automáticamente la tarjeta.

15.3.15. eata: controlador de bajo nivel SCSI para EATA ISA / EISA

Este controlador maneja el DPT PM2011 / 021/012/022/122/322.

Ejemplo:

modprobe eata

No hay parámetros de módulo para el LKM, pero si vincula este módulo al núcleo base, puede pasar algunos parámetros a través de los parámetros de arranque de Linux. Vea el BootPrompt-HOWTO.

15.3.16. eata_dma: controlador SCSI de bajo nivel para EATA-DMA

Este controlador maneja DPT, NEC, AT&T, SNI, AST, Olivetti y Alphatronix.

Este controlador maneja DPT Smartcache, Smartcache III y SmartRAID.

Ejemplo:

modprobe eata_dma

No hay parámetros del módulo.

Autoprobe funciona en todas las configuraciones.

15.3.17. eata_pio: controlador SCSI de bajo nivel para EATA-PIO

Este controlador maneja el antiguo DPT PM2001, PM2012A.

Ejemplo:

modprobe eata_pio

No hay parámetros del módulo.

15.3.18. fdomain: controlador SCSI de bajo nivel para Future Domain 16xx

Ejemplo:

modprobe fdomain

No hay parámetros del módulo.

Este controlador crea automáticamente la tarjeta y requiere BIOS instalado.

15.3.19. NCR5380: Controlador de bajo nivel SCSI para NCR5380 / 53c400

Ejemplo:

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

para una placa NCR5380 asignada al puerto:

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

para una tarjeta NCR53C400 asignada en memoria con interrupciones desactivadas:

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

Parámetros:

  • ncr_irq
  • El IRQ es el controlador de servicio. 255 significa no o interrupción DMA. 254 para pasar automáticamente por una línea IRQ si se invalida en la línea de comandos.
  • ncr_addr
  • la dirección del puerto de E / S o la dirección de E / S asignada a la memoria, lo que sea apropiado, que el controlador debe conducir
  • ncr_dma
  • el canal DMA que el controlador debe utilizar
  • ncr_5380
  • 1 = configurado para una placa NCR5380
  • ncr_53c400
  • 1 = configurado para una placa NCR53C400

Si vincula este controlador al kernel base, puede pasarle parámetros a través de los parámetros de arranque del kernel. Vea el BootPrompt-HOWTO.

15.3.20. NCR53c406a: Controlador de bajo nivel SCSI para NCR53c406a

Ejemplo:

modprobe NCR53c406a

No hay parámetros de módulo para el LKM, pero si vincula este módulo al núcleo base, puede pasar algunos parámetros a través de los parámetros de arranque de Linux. Vea el BootPrompt-HOWTO.

15.3.21. 53c7,8xx.o: controlador SCSI de bajo nivel para NCR53c7,8xx

Ejemplo:

modprobe 53c7,8xx

No hay parámetros de módulo para el LKM, pero si vincula este módulo al núcleo base, puede pasar algunos parámetros a través de los parámetros de arranque de Linux. Vea el BootPrompt-HOWTO.

Este controlador crea automáticamente la tarjeta y requiere BIOS instalado.

15.3.22. ncr53c8xx: controlador de bajo nivel SCSI para la familia PCI-SCS NCR538xx

Ejemplo:

modprobe ncr53c8xx

No hay parámetros del módulo.

15.3.23. ppa: controlador SCSI de bajo nivel para la unidad ZIP de puerto paralelo IOMEGA

Ver el archivo drivers / scsi / README.ppa en el árbol fuente de Linux para más detalles.

Ejemplo:

modprobe ppa ppa_base = 0x378 ppa_nybble = 1

Parámetros:

  • ppa_base
  • Dirección base del puerto de E / S del PPA. Predeterminado 0x378.
  • ppa_speed_high
  • Retraso utilizado en transferencias de datos, en microsegundos. El valor predeterminado es 1.
  • ppa_speed_low
  • Retraso utilizado en otros
  • Operaciones, en microsegundos. El valor predeterminado es 6.
  • ppa_nybble
  • 1 = Usa el modo de 4 bits. 0 = no. El valor predeterminado es 0.

15.3.24. pas16: controlador de bajo nivel SCSI para PAS16

Ejemplo:

modprobe pas16

No hay parámetros de módulo para el LKM, pero si vincula este módulo al núcleo base, puede pasar algunos parámetros a través de los parámetros de arranque de Linux. Vea el BootPrompt-HOWTO.

Este controlador crea automáticamente la tarjeta. No se requiere BIOS.

15.3.25. qlogicfas: controlador de bajo nivel SCSI para Qlogic FAS

Ejemplo:

modprobe qlogicfas

No hay parámetros de módulo para el LKM, pero si vincula este módulo al núcleo base, puede pasar algunos parámetros a través de los parámetros de arranque de Linux. Vea el BootPrompt-HOWTO.

15.3.26. qlogicisp: controlador SCSI de bajo nivel para Qlogic ISP

Ejemplo:

modprobe qlogicisp

No hay parámetros de módulo para el LKM, pero si vincula este módulo al núcleo base, puede pasar algunos parámetros a través de los parámetros de arranque de Linux. Vea el BootPrompt-HOWTO.

Requiere firmware.

15.3.27. seagate: controlador de bajo nivel SCSI para Seagate, Future Domain

Este controlador es para Seagate ST-02 y Future Domain TMC-8xx.

Ejemplo:

modprobe seagate

No hay parámetros de módulo para el LKM, pero si vincula este módulo al núcleo base, puede pasar algunos parámetros a través de los parámetros de arranque de Linux. Vea el BootPrompt-HOWTO.

Este controlador se abre automáticamente solo para la dirección. El IRQ se fija en 5. El controlador requiere BIOS instalado.

15.3.28. t128: Controlador de bajo nivel SCSI para Trantor T128 / T128F / T228

Ejemplo:

modprobe t128

No hay parámetros de módulo para el LKM, pero si vincula este módulo al núcleo base, puede pasar algunos parámetros a través de los parámetros de arranque de Linux. Vea el BootPrompt-HOWTO.

Este controlador crea automáticamente la tarjeta. El controlador requiere BIOS instalado.

15.3.29. u14-34f: Controlador de bajo nivel SCSI para UltraStor 14F / 34F

Ejemplo:

modprobe u14-34f

No hay parámetros de módulo para el LKM, pero si vincula este módulo al núcleo base, puede pasar algunos parámetros a través de los parámetros de arranque de Linux. Vea el BootPrompt-HOWTO.

Este controlador reproduce automáticamente la tarjeta, pero no El puerto 0x310. No se requiere BIOS.

15.3.30. Ultrastor: controlador SCSI de bajo nivel para UltraStor

Ejemplo:

modprobe ultrastor

No hay parámetros de módulo para el LKM, pero si vincula este módulo al núcleo base, puede pasar algunos parámetros a través de los parámetros de arranque de Linux. Vea el BootPrompt-HOWTO.