Initiator-Tools

SCSI2Pi unterstützt nicht nur den SCSI-Target-Modus, der bei der Emulation von Geräten Verwendung findet. Zusätzlich gibt es umfangreiche Unterstützung für den SCSI-Initiator-Modus, bei dem SCSI2Pi wie ein Computer agiert. SCSI2Pi bietet mehrere Tools für den Initiator-Modus, sowohl für Festplatten als auch für Streamer.

s2pdump

Mit s2pdump kann man Backups von Festplatten oder Bändern erzeugen und Festplatten/Bänder aus Image-Dateien wiederherstellen. Man kann außerdem den Bus nach verfügbaren Geräten scannen. Dies hilft bei der Analyse von Setup-Problemen.
s2pdump kann nicht nur Laufwerke oder Bänder clonen, sondern auch Laufwerks-Eigenschaften. Dazu lassen sich die Mode Pages eines Gerätes als s2p-Properties auflisten:

>s2pdump -I -i 5
----------------------------------------
Board ID is 7
----------------------------------------
Checking target ID:LUN 5:0
Vendor:               'PLEXTOR '
Product:              'CD-ROM PX-40TS  '
Revision:             '1.11'
Device Type:          CD-ROM/DVD/BD/DVD-RAM
SCSI Level:           SCSI-2
Response Data Format: SCSI-2
Removable:            Yes

Device properties for s2p configuration file:
device.5.type=SCCD
device.5.name=PLEXTOR:CD-ROM PX-40TS:1.11
device.5.mode_page.1=01:06:00:0a:00:00:00:00
device.5.mode_page.2=02:0e:02:00:00:00:00:00:00:00:00:00:00:00:00:00
device.5.mode_page.13=0d:06:00:0b:00:3c:00:4b
device.5.mode_page.14=0e:0e:04:00:00:00:00:00:01:ff:02:ff:00:00:00:00
device.5.mode_page.49=31:02:06:00

Diese Properties können direkt in eine Konfigurationsdatei wie /etc/s2p.conf kopiert werden, so dass das emulierte Gerät dieselben Produktdaten (Hersteller, Name, Revision) und Mode Pages besitzt wie die echte Hardware.

s2pexec

Mit s2pexec kann man einzelne SCSI oder SASI-Kommandos oder Kommando-Sequenzen an ein Gerät schicken. Das Ergebnis wird auf dem Bildschirm dargestellt oder in einer Datei gespeichert.

>s2pexec -i 4 -c 12:00:00:00:30:00
00000000  05:80:02:02:5b:00:00:88:54:4f:53:48:49:42:41:20  '....[...TOSHIBA '
00000010  43:44:2d:52:4f:4d:20:58:4d:2d:34:31:30:31:54:41  'CD-ROM XM-4101TA'
00000020  32:34:38:33:30:39:2f:30:35:2f:39:33:00:00:00:00  '248309/05/93....'

Das obige Beispiel zeigt die von einem SCSI CD-ROM gelieferten INQUIRY-Daten.

Es lassen sich auch Kommandos verwenden, die Parameter besitzen oder Daten zurückliefern, wie ein MODE SELECT-Kommando mit Parametern aus der Datei data.dat:

>s2pexec -i 5 -c 15:11:00:00:0c:00 -t data.dat

s2pexec unterstützt einen interaktiven Modus und akzeptiert Kommando-Parameter auch auf der Kommandozeile:

>s2pexec -i 5:1 -c 15:11:00:00:0c:00 -d 00:00:00:08:00:00:00:00:00:00:08:00

Mit s2p erzeugt Kommando-Skripte können von s2pexec direkt ausgeführt werden. Mit diesen Skripten kann man jede von s2p empfangene Sequenz von SCSI-Kommandos mit echter Hardware ausführen, was besonders für die Entwicklung sehr nützlich ist. Dieses Feature wurde bei der Implementierung der Streamer-Emulation intensiv genutzt.

s2pformat

Mit s2pformat lassen sich Disketten oder andere Medien formatieren, nicht nur auf dem Pi sondern auch auf einem normalen Linux-PC mit USB-Floppylaufwerk. s2pformat nutzt keine USB-Funktionalität, sondern nur den Linux-SG-Treiber (SCSI Generic), genau wie die SCSI-auf-USB-Bridge von s2p. Formatiert wird mit dem SCSI FORMAT-Kommando. Die unterstützen Kapazitäten und Sektorgrößen werden mit dem SCSI-Kommando READ FORMAT CAPACITIES abgefragt.
Sofern 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.

s2pproto

s2p lässt sich mit dem angeschlossenen Computer über SCSI-Kommandos verwalten. Mit s2pproto kann man diese Schnittstelle auch ohne SCSI-Verbindung nutzen. s2pproto schickt die entsprechenden Kommandos nicht per SCSI sondern per Netzwerk-Kommandos an den Pi. Damit ist s2pproto insbesondere für die Entwickler von Tools zur Fernsteuerung von s2p interessant. Für den Atari existieren solche Tools bereits.