SCSI-nach-USB-Bridge

Mit dem Gerätetyp SCSG lassen sich USB-Geräte wie SCSI-Geräte verwenden. Dieser Gerätetyp bildet SCSI-Geräte auf den generischen SCSI-Treiber von Linux (SG 3) ab. SCSG kann somit jedes Laufwerk repräsentieren, das von diesem Treiber unterstützt wird, insbesondere USB-Massenspeicher. SCSI-Kommandos werden nicht emuliert, sondern direkt an das angeschlossene Gerät weitergeleitet.

Anlegen von SCSG-Geräten

Der SCSG-Typ erwartet eine Gerätedatei /dev/sg* als Parameter. Linux erzeugt diese Gerätedateien automatisch, wenn ein vom Linux-SG-Treiber unterstütztes Gerät angeschlossen ist, z. B. ein USB-Stick, eine USB-Festplatte oder ein USB-DVD-Laufwerk. Sogar USB-Floppylaufwerke und SATA-Laufwerke an einem USB-auf-SATA-Adapter wurden erfolgreich getestet.
lsscsi listet alle für eine Bridge verfügbaren Geräte und die zugehörigen Gerätedateien auf:

>lsscsi --generic
[0:0:0:0]    disk    Y-E DATA USB-FDU          4.01  /dev/sdc   /dev/sg3
[1:0:0:0]    disk    Generic  MassStorageClass 2011  /dev/sda   /dev/sg0
[1:0:0:1]    disk    Generic  MassStorageClass 2011  /dev/sdb   /dev/sg1
[2:0:0:0]    cd/dvd  TSSTcorp CDDVDW SN-208AB  LA02  /dev/sr0   /dev/sg2

Mit dieser Information kann man Bridges für USB-Geräte anlegen, die für den Computer SCSI-Geräte zu sein scheinen:

>s2p -i 0 /dev/sg0 -i 4 /dev/sg3 -i 4:1 /dev/sg2
>s2pctl -l
+--------+------+-------------------------------------------
| ID:LUN | Type | Image File/Device File/Description
+--------+------+-------------------------------------------
|  0:0   | SCSG | /dev/sg0 (Generic  MassStorageClass 2011)
|  4:0   | SCSG | /dev/sg3 (Y-E DATA USB-FDU          4.01)
|  4:1   | SCSG | /dev/sg2 (TSSTcorp CDDVDW SN-208AB  LA02)
+--------+------+-------------------------------------------

Beim Gerätetyp SCSG gibt es keine Image-Dateien. s2p leitet alle SCSI-Kommandos direkt an ein vorhandenes Gerät weiter. SCSG emuliert also kein bestimmtes Gerät, sondern repräsentiert ein echtes, an den Pi angeschlossenes Gerät.

SCSI-auf-USB-Bridge mit IDE- und SATA-Laufwerken

Mit einem USB-Adapter lassen sich auch IDE- und SATA-Laufwerke verwenden. Wie gut dies funktioniert hängt vom Adapter und dem jeweiligen Gerät ab. Mit einem Linux-PC, der SCSI2Pi SCSI-auf-USB-Bridge und einem SATA-DVD-Brenner konnten sogar DVDs gebrannt werden. Es gibt aber auch Laufwerke, die nicht so gut funktionieren.

Anpassen des SCSI-Levels

Einige USB-Geräte unterstützen deutlich neuere SCSI-Versionen als SCSI-2:

>s2pdump -g /dev/sg7 -I
Checking device corresponding to Linux SG driver device file '/dev/sg7'

INQUIRY product data:
Vendor:               'Generic '
Product:              'MassStorageClass'
Revision:             '2011'
Device Type:          Direct Access
SCSI Level:           SPC-4
Response Data Format: SCSI-2
Removable:            Yes
...

Bei Treibern, die neue Standards nicht unterstützen, kann eventuell die s2p-Option --scsi-level helfen, die ein "Downgrade" der SCSI-Version erlaubt. Der Gerätename lässt sich mit --name ändern.
HDDRIVER ist ein Treiberpaket für Atari-Computer, das auch aktuelle SCSI-Levels unterstützt. HDDRIVER und die zugehörigen Tools nutzen sogar neue SCSI-Kommandos für Optimierungen.