Up to date PiSCSI Software
PiSCSI Control (formerly RaSCSI Control) requires at least release 21.10 of the RaSCSI/PiSCSI software. This release and newer releases contain numerous extensions, new device emulations and bug fixes I contributed. Major parts of the PiSCSI software I have re-implemented in modern C++. Recommended release is version 23.04.
These are the most important of my improvements:
- Client/Server architecture with well-defined remote interface (based on Google Protocol Buffers)
- Detailed information on the PiSCSI server properties
- Configurable PiSCSI server port
- scsictl also runs on an Intel or ARM Linux and can connect to PiSCSI on the Pi
- Optional authentication in order to safeguard all operations
- Shutting down PiSCSI and shutting down/restarting the Pi (by remote interface or SCSI command)
- Device files (/dev/*) can be used as image files
- Support for hierarchical image folders
- Renaming, copying and deleting of image files
- Removable media drive support
- Support of DVD images
- Configurable default folder for image files
- Support of 32 LUNs per device (Logical Units)
- Configurable device identifier (vendor, product, revision)
- Implementation of numerous additional SCSI commands
- Improved compatibility with the current SCSI standard
- Improved compatibility with numerous PC/workstation platforms
- ICD compatibility for Atari computers
- Fixed compatibility issues with Linux-68k
- Support for reserved device IDs, typically used for the SCSI initiator ID
- More flexible handling of device capacities
- Configurable sector sizes, depending on the device (256, 512, 1024, 2048, 4096 bytes)
- Support for CD-ROM drives with 512 bytes per sector
- Improved WLAN support for the Daynaport network adapter
- Implementation of a SCSI printer
- Realtime clock for SCSI clients
- Improved command validation and error analysis
- More concise and multilingual error messages
- Improved logging and configurable log level
- Restored the functionality of the scsidump tool for dumping/restoring drive contents
- Support for the clang++ compiler (besides g++)
- Support for 64 bit Raspberry Pi OS and Ubuntu
- Extensive code cleanup
- Improved code modularity
- Improved memory management
- More robust and modern C++ code
- Introduction of C++ unit tests based on Google Mock
- Introduction of test coverage metrics based on gcov/lcov
- Implementation of more than 260 C++ unit tests
- Removal of more than 1500 C++ code issues reported by SonarCloud