EWSD SCSI drive emulation


EWSD requires special hard drives. They are approved by Siemens and have special behaviors. What is it what makes them work with EWSD? This document describes how to tweak ZuluSCSI emulator to work with EWSD.

Firmware quirks

Check Condition

The emulation must report “Check Condition” SCSI Status as first response to a command:

root@scsi:~# sg_raw -r 1k /dev/sdd 0x28 0x00 0x00 0x00 0x04 0x00 0x00 0x00 0x01 0x00
SCSI Status: Check Condition

Sense Information:
Fixed format, current; Sense key: Unit Attention

Additional sense: Power on occurred

Error 6 occurred, no data received

MO drive returns a different Unit attention:
Additional sense: Power on, reset, or bus device reset occurred

It is not enough to enable EnableUnitAttention = 1 in zuluscsi.ini on SD card. The firmware must be patched so that the Unit Attention must only be sent once after power on or insert of the SD card. If not, the boot loader will read drive information in an endless loop. This means that once the Unit Attention is sent, the emulation must not send Unit Attention again.

Depending on the emulated disk type (fixed or MO), the additional sense information must be returned. I don’t know if it is really required, but it is no big deal to emulate that.

Without it, the EWSD will use wrong block numbers when trying to read the drive. This is obviously because the EWSD did not provide READ CAPACITY command to retrieve proper disk size and block size.

Request Sense

After the Check Condition status above, the EWSD controller will request sense information. The 8th byte indicates additional length. It does not work, if the returned length exceeds these 8 bytes plus the indicated additional length. To fix this, the additional length is set to 0x0e (14) and the returned length is set to 22 (8 + 14).

Status Delay

The EWSD will not boot, if there is not a delay before SCSI status reply. A delay of 1 ms work. Don’t ask me why!

PMI on ReadCapacity

A PMI bit set to one specifies that the device server return information on the last logical block after that specified in the LOGICAL BLOCK ADDRESS field before a substantial vendor-specific delay in data transfer may be encountered.

This is obsolete, but without it, EWSD will not accept the drive. (DIAGMDD) Some value, captured from a real hard drive works well: 0x00001053

Use ZuluSCSI in EWSD

  • Use exFAT FS to format the SD card. This allows HD images larger than 4 Gig.
  • Remove D203. (diode connects between Termination pin and +5V) The device will then be power by the BERG connector. Connect 5V and ground to the DEVB’s power supply.
  • Keep all switches off, especially termination. You don’t want to feed power to the IOPUNI via termination power when the IOPUNI is not powered.
  • Copy zuluscsi.ini to SD card and enable Quirks = 10.
  • Create a hard disk file HD0.img on the SD card.
  • If you want to power off ZuluSCSI emulation: Turn PSU of IOPUNI off and then turn PSU of ZuluSCSI off. This prevents from power loss while writing to the SD card.


  • SD card must have MBR, not GPT.
  • If the LED lights long and the emulator stalls, check SCSI cabling and termination. On first read after powering on, it seems ok that the LED light long.
  • If EWSD show something like read-only when showing files on the drive (DISPFILE): Check if SD card is broken and refuses to write.


It is possible to emulate hard drive that is accepted by EWSD using ZuluSCSI with the quirks described in this document.

There is no special inquiry data stored on the original hard drives, nor there is special firmware used by Siemens. All these quirks are required, due to bugs in the EWSD firmware.

Patches will be submitted to the GIT repository, to support EWSD without patching firmware.

Files (2)
zulu-ewsd-firmware.tar.gz zulu-ewsd-firmware.tar.gz 193 KB Patched firmware, copy to SD card to flash. jolly, 12/03/2023 10:16 AM
zulu-ewsd.patch zulu-ewsd.patch 4.21 KB ZuluSCSI patch for EWSD support jolly, 12/03/2023 10:17 AM

Updated by jolly 21 days ago · 5 revisions

Add picture from clipboard (Maximum size: 48.8 MB)