SCSI2Pi/PiSCSI Comparison

The presumably most important differences between the latest SCSI2Pi release and PiSCSI 26.08.01 are listed below.

Feature SCSI2Pi PiSCSI Remark
SCSI2Pi 7.0: Support for the Raspberry Pi 5 ✅ ❌ SCSI2Pi supports the Pi 5 (target mode and initiator mode), with a choice of hardware or software handshaking
Support for many Raspberry Pi OS versions ✅ ❌ SCSI2Pi supports Raspberry Pi OS Bullseye, Bookworm and Trixie, all 32/64-bit. Distributions like Ubuntu and Manjaro should also work.
Quick installation with Debian binary packages for Bullseye, Bookworm and Trixie ✅ ❌ Installation, uninstallation and update of releases and development versions for all Pis in just a single step, including on Bullseye and Bookworm
Support (e.g. for development and testing) also for many other platforms ✅ ❌ SCSI2Pi also compiles on PC Linux, OpenBSD, FreeBSD, NetBSD, macOS, or MSYS2. Tools such as s2pctl can even be run on some of these platforms.
Low memory footprint ✅ ❌ The SCSI2Pi binaries are significantly smaller (in some cases by more than 40%) than those of PiSCSI. Less memory is also required at runtime. All of this is particularly important for "small" Pis.
Up to 25% higher transfer rates ✅ ❌ Measured with a Pi Zero WH (25%) and a Pi 4 (5%)
Support for the GAMERNIUM board ❌ ✅ This old board only offers comparatively slow transfer rates, but makes maintaining and optimizing the code more difficult. SCSI2Pi has been optimized for STANDARD and FULLSPEC boards.
scsiloop tool ❌ ✅ To test your board, simply use the scsiloop tool from the PiSCSI distribution
scsimon tool ❌ ✅ Removed because a lot of data is lost, which is misleading during analysis
Block devices as image files ✅ ❌ This feature makes it easy to exchange data with other devices using USB storage media
SCSI-to-USB bridge ✅ ❌ USB mass storage devices can be used like SCSI mass storage devices
Professional streamer (tape drive) support ✅ ❌ With tar files or standardized SIMH files as images, support for filemarks, navigation, variable block sizes, and more
Backup/Restore of real tapes ✅ ❌ Conversion of tapes into SIMH-compatible image files and vice versa
Booting VMS from an emulated tape drive ✅ ❌ Made possible thanks to support for SIMH tape image files
Variable sector sizes for hard drives ✅ ❌ In multiples of 4, for exotic platforms
Linked SCSI command support ✅ ❌ Improves the compatibility with some platforms
Configuration files and properties ✅ ❌ Convenient configuring of all settings without a command line
BlueSCSI/ZuluSCSI compatibility mode ✅ ❌ Support for the BlueSCSI/ZuluSCSI filename conventions for images
Configurable caching modes ✅ ❌ An optional write-through cache ensures consistent image files
Configurable and additional mode pages ✅ ❌ User-definable mode pages for optimal driver/platform compatibility
Cloning of drive properties ✅ ❌ It is possible to clone not only drives or tapes but also the mode pages, ensuring the emulation corresponds as closely as possible to the original
New and improved initiator mode tools ✅ ❌ With the FULLSPEC board: New and improved tools for hard drives and streamers, higher compatibility with the SCSI standard
Virtual bus (in-process bus) with tools ✅ ❌ With the virtual bus and s2ptool, s2p can execute SCSI commands without any board hardware, particularly for testing purposes
Scripting of SCSI commands (recording/replaying) ✅ ❌ s2pctl and s2pexec can execute SCSI command scripts generated by s2p
API for management with SCSI commands ✅ ❌ The connected computer can control s2p with SCSI commands
Improved and extended logging ✅ ❌ Improved error analysis capabilities, configurable logging of payload data
Tool for formatting media with USB drives ✅ ❌ E.g. for USB floppy disk drives, runs on any Linux system
Tool for analyzing and creating tape images ✅ ❌ Supports SIMH-compatible tape image files, runs on Linux/BSD/macOS
Tool for sending SCSI commands ✅ ❌ Sends any SCSI command to any physical device
Tools for advanced testing ✅ ❌ Testing of SCSI commands on Linux/BSD/macOS
SCSI2Pi 7.0: Support for integration tests ✅ ❌ In addition to unit tests, with s2p_test -i or make integration
Optional compilation of device types ✅ ❌ Faster compilation and even smaller binaries, if not all device types are needed
Additional functions for the SCSI Control App ✅ ❌ SCSI Control offers additional features, e.g. notifications when s2p reports errors

Several PiSCSI tickets that have been open for a long time, or that have been closed without being processed, have been addressed for SCSI2Pi.

PiSCSI Ticket Remark
335 Improved caching, optional write-through cache
479 Improved support for the SCSI commands READ/WRITE LONG
480 Streamer support for VMS, support for SIMH tape image files
497 SCSI-to-USB bridge
1226 Raspberry Pi 5 support
1402, 1410, 1412 DEC Alpha compatibility