PiSCSI / piscsi

PiSCSI allows a Raspberry Pi to function as emulated SCSI devices (hard disk, CD-ROM, and others) for vintage SCSI-based computers and devices. This is a fork of the RaSCSI project by GIMONS.
https://piscsi.org
BSD 3-Clause "New" or "Revised" License
545 stars 82 forks source link

Tool for sending protobuf interface SCSI commands to piscsi #1362

Closed uweseimet closed 1 year ago

uweseimet commented 1 year ago

In the context of #1349 it is useful to have a command line tool that can trigger piscsi actions with a SCSI command. This would in particular be helpful for testing the protobuf SCSI interface, and it implicitly tests the PiSCSI C++ core. Two PiSCSI boards are needed for that, but this setup is a very helpful setup nevertheless, because you can test and debug PiSCSI target and initiator mode at the same time. The tool shall support sending and receiving both JSON and binary data. In practice the JSON case is the more relevant one, because input and output are human readable. Input can either be set up manually or can be generated by the new scsictl functionality addressed by #1348. The tool should also support sending the SHUT_DOWN command without having to provide a file, because this is convenient for testing.

A new folder "scsiexec" should be created for this tool. Most of the functionality can be derived from scsidump.

uweseimet commented 1 year ago

Tested by running two piscsi board against each other, one in target and the other in initiator mode.