EWSD SCSI drive emulation » History » Revision 2
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.
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
It is not enough to enable
EnableUnitAttention = 1in
zuluscsi.inion 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.
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.
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:
Use ZuliSCSI 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.
zuluscsi.inito SD card and enable
Quirks = 10.
- Create a hard disk file
HD0.imgon 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.