Hello,
First of all, thank you for the BlueSCSI project — it’s been extremely useful.
While experimenting with initiator mode disk imaging, I ran into trouble with my particular setup. I want to stress that I am not certain this is a firmware issue, and it may also be related to my drive configuration (jumpers, termination, etc.).
I’m mainly sharing the observation in case it helps.
Hardware
• BlueSCSI v2
• Pico 2 W (RP2350)
• Firmware: I tried several (v2026.03.01, v2026.02.08, v2025.10.27)
Target drive:
• IBM DPES-31080 (1 GB SCSI hard disk)
• capacity 2118144 sectors x 512 bytes
• Drive total size is 1034 MiB
Power:
• The drive is powered from a NeXTstation Color PSU (only used as a power source).
• The NeXT system itself is not connected to the SCSI bus.
Behaviour observed
During bulk disk reads (READ(6) and later READ(10)), it looked like the drive started sending payload data while the initiator still decoded the bus phase as STATUS.
This caused BlueSCSI to treat the incoming payload byte as a status byte, which then broke the read sequence.
I added some debug logging and observed patterns like:
COMMAND: Read6
STATUS
(data appears)
Instead of the (probably) expected sequence:
COMMAND
DATA_IN
STATUS
MESSAGE_IN
Diagnostic workaround
As an experiment, I added a temporary workaround in scsiInitiatorRunCommand().
When:
bufInLen > 0
bufOutLen == 0
returnDataPhase == false
and the phase appears as STATUS, the code temporarily consumes the expected inbound payload before processing the final status byte.
This is clearly not intended as a proper fix, just a diagnostic workaround to see if the issue was related to phase timing.
The hacky patch is attached.
Result
With that workaround in place, the full disk imaging run completed successfully:
SCSI read succeeded, sectors done: 2118144 / 2118144 speed 2427 kB/s - 100%
Finished imaging drive with id 1
The final transfers were READ(10) commands and also completed successfully. Throughput during imaging was roughly 2.0–2.4 MB/s
Important caveat
I cannot rule out that this behaviour was caused by:
• incorrect drive jumper settings
• termination differences
• a peculiarity of this specific drive model
So I’m not claiming this is necessarily a BlueSCSI bug.
The workaround simply allowed me to finalise the imaging and helped narrow down what seemed to be happening.
Question
Has similar behaviour been observed with other SCSI disks in initiator mode?
If useful, I can provide:
• the full debug logs
• firmware build information
• additional testing with different jumper settings
The original (now preserved!) drive doesn't seem to have any issues (yet), so when I find time I am happy to run experiments if necessary.
Thanks again for the project and for taking a look.
next-mirroring-minimal.patch
Hello,
First of all, thank you for the BlueSCSI project — it’s been extremely useful.
While experimenting with initiator mode disk imaging, I ran into trouble with my particular setup. I want to stress that I am not certain this is a firmware issue, and it may also be related to my drive configuration (jumpers, termination, etc.).
I’m mainly sharing the observation in case it helps.
Hardware
• BlueSCSI v2
• Pico 2 W (RP2350)
• Firmware: I tried several (v2026.03.01, v2026.02.08, v2025.10.27)
Target drive:
• IBM DPES-31080 (1 GB SCSI hard disk)
• capacity 2118144 sectors x 512 bytes
• Drive total size is 1034 MiB
Power:
• The drive is powered from a NeXTstation Color PSU (only used as a power source).
• The NeXT system itself is not connected to the SCSI bus.
Behaviour observed
During bulk disk reads (READ(6) and later READ(10)), it looked like the drive started sending payload data while the initiator still decoded the bus phase as STATUS.
This caused BlueSCSI to treat the incoming payload byte as a status byte, which then broke the read sequence.
I added some debug logging and observed patterns like:
Instead of the (probably) expected sequence:
Diagnostic workaround
As an experiment, I added a temporary workaround in scsiInitiatorRunCommand().
When:
and the phase appears as STATUS, the code temporarily consumes the expected inbound payload before processing the final status byte.
This is clearly not intended as a proper fix, just a diagnostic workaround to see if the issue was related to phase timing.
The hacky patch is attached.
Result
With that workaround in place, the full disk imaging run completed successfully:
The final transfers were READ(10) commands and also completed successfully. Throughput during imaging was roughly 2.0–2.4 MB/s
Important caveat
I cannot rule out that this behaviour was caused by:
• incorrect drive jumper settings
• termination differences
• a peculiarity of this specific drive model
So I’m not claiming this is necessarily a BlueSCSI bug.
The workaround simply allowed me to finalise the imaging and helped narrow down what seemed to be happening.
Question
Has similar behaviour been observed with other SCSI disks in initiator mode?
If useful, I can provide:
• the full debug logs
• firmware build information
• additional testing with different jumper settings
The original (now preserved!) drive doesn't seem to have any issues (yet), so when I find time I am happy to run experiments if necessary.
Thanks again for the project and for taking a look.
next-mirroring-minimal.patch