Mit dem Gerätetyp SCSG lassen sich USB-Geräte wie SCSI-Geräte verwenden. Dieser Gerätetyp bild 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.
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 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.
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.
Mit s2pformat lassen sich Disketten oder andere Medien formatieren, nicht nur auf dem Pi sondern auch auf einem normalen Linux-PC mit USB-Floppylaufwerk. Falls ein Laufwerk mehrere Formate unterstützt lässt sich mit s2pformat eine Auswahl treffen.
>s2pformat /dev/sg7 Vendor: 'Y-E DATA' Product: 'USB-FDU ' Revision: '4.01' Current number of sectors: 2880 Current sector size: 512 Select a format, press Enter without input to quit: 1. 2880 sectors, 512 bytes per sector 2. 1232 sectors, 1024 bytes per sector 3. 2400 sectors, 512 bytes per sector 1 Format with 2880 sectors, 512 bytes per sector? (N/y) y Are you sure? Formatting will erase all data and may take long. (N/y) y
Nach dem Formatieren muss noch ein Dateisystem erzeugt werden, z. B. mit mkfs.
Mit einem Atari und dem Treiberpaket HDDRIVER kann man Disketten ohne ein zusätzliches Tool formatieren.
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.