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.
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.
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.
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.
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.