Currently I am working on a
SCSI remote interface for directly communicating with the PiSCSI/RaSCSI board. This interface adds two vendor-specific SCSI commands to the host services device. With these commands the computer the board is connected to can use most of the operations also used by the SCSI Control app. The board can send a list of available image files, creates a new image files or attaches new devices and much more. No network connection is required.
Input and output data for the respective SCSI commands are the JSON, text format or binary representation of a protobuf message. Input and output format do not have to be identical.
For the Atari there is already a beta version of a command line tool called PI_EXEC. The input and output format used by this tool is JSON. The default JSON data sent to piscsi are hard-coded:
Code: Select all
{"operation":"NETWORK_INTERFACES_INFO"}
The result returned for this piscsi interface operation is the list of available network interfaces on the Pi, e.g.:
Code: Select all
{"status":true,"networkInterfacesInfo":{"name":["eth0","wlan0"]}}
Instead of sending the default data _EXEC accepts a JSON string on the command line. Note that PI_EXEC does not validate the JSON. piscsi accepts any JSON that is compatible with the operations documented in the protobuf interface.
Launch s2p with the
-i ID services option to attach the host services device required for this feature. In case of errors the s2p log provides details when logging on trace level.