Squishy: The SCSI Multitool

_images/electrichearts_20220323A_sachi_trans.png

This is the documentation for Squishy and its supporting components, as well as a collection of guides and tutorials for the Squishy ecosystem.

What Squishy Isn’t

It’s important to detail what Squishy isn’t, as it differs a lot from other devices intended to interact with older SCSI systems.

Squishy is not only a disk emulator like the BlueSCSI or the SCSI2SD. It is also not only a SCSI to USB Mass storage adapter.

Squishy is not a specialized device targeting only a single aspect of the SCSI ecosystem, nor targeting only a single platform.

What Squishy Is

Squishy is a platform, it allows you to accomplish almost any goal you wish to that involves a SCSI bus. It can do things as mundane as emulating a SCSI hard drive, but also you can use it to sniff, analyze, and replay SCSI bus traffic, or even boot a modern system from 9-track tape.

You can think of Squishy as being “Software Defined SCSI”, much like how a Software Defined Radio works with a hardware transceiver and a software ecosystem, Squishy provides the same, but for SCSI.

It is comprised of a gateware and python library as well as a hardware platform that acts as a bridge between the software and SCSI bus. Squishy allows for powerful and flexible control over all things SCSI, and using its powerful applet system it gives that power to you.

For a more detailed introduction to Squishy and it’s components, see the Introduction section of the documentation. Then, when you’re ready visit the Getting Started section to get up an running.

Squishy is entirely open source, and under permissive licenses. The full source code, gateware, firmware, and hardware designs are available on GitHub.

Comparison

Squishy

BlueSCSI

SCSI2SD

PiSCSI

Has a cute mascot

Yes

No

No

No

Device Emulation

Yes

Yes

Yes

Yes

Non-Storage Emulation

Yes

Yes1

No

Yes2

Initiator Emulation

Yes

Yes

No

Yes2

Passive Bus Tapping

Yes

No?

No

Yes

Fully Open Source

Yes

Yes

No

No3

SCSI-1 Support

Yes

Yes

No

No

SCSI-2 Support

Yes

Yes

Yes

Yes

SCSI-3 Support

Yes

No

No

No

HVD Support

Yes

No

No

No

LVD Support

Yes

No

No

No

SE Support

Yes

Yes

Yes

Yes

Fastest Bus Speed

ULTRA3204,5

FAST10

FAST10

FAST10?

Standalone

No6

Yes

Yes

Yes

Cost

?7

~50USD

~98USD

~50USD8

1: Only supports DaynaPORT emulation.

2: PiSCSI allows you to write Linux userspace software via an API.

3: The adapter board is Open Source, but the main compute element is not.

4: Depends on the SCSI PHY Module and interface adapter.

5: Only ULTRA320 SCSI speeds are guaranteed, however, depending on the silicon lottery ULTRA640 may be achievable.

6: Squishy requires USB power for operation, therefore it is considered to always be tethered.

7: Due to the hardware not being 100% complete an accurate cost is not available yet.

8: This includes only the PiSCSI interface itself, and not the needed RaspberryPi SOM as well.

Community

Squishy has a dedicated IRC channel, #squishy on libera.chat. Join to ask questions, discuss ongoing development, or just hang out.

There are also GitHub Discussions enabled on the repository if you have any questions or comments.

Note

Squishy does not have an official discord, nor any endorsed discord servers, for an explanation as to why, see the F.A.Q.