Re: [hatari-devel] SCSI emulation

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Hi Thomas,

> No, that command line is good. You just hit a bug: I only tested the
> emulation with the default SCSI ID 0 so far (i.e. I was using the
> --scsi parameter without "1="), and apparently I forgot to set the
> selected SCSI ID in one of the many variables. Should be fixed now!
> 
> Note that the SCSI code is is a "marriage" of Hatari's SCSI command
> emulation layer (that has only been used for ACSI so far), with the
> NCR5380 and SCSI bus state emulation code from WinUAE. It already took
> quite a while to make them play nice together, so you likely have to
> expect some more oddities here. Did I already mention that it is still
> "experimental" ;-) ?

That's what I guessed :-). Anyway, the drive image is now detected by
HDDRUTIL, but there are some issues with the emulation, which prevent me
from using the image.
When running SDRVTEST (available for download on 
https://www.hddriver.net/en/downloads.html) it reported some problems with
the emulation, please see the attached log. SDRVTEST may help you with
identifying more issues where the emulation is not compliant with the SCSI
standard. Note that when SDRVTEST complains about problems with rather
exotic commands like REPORT LUNs, it does not expect that they are
implemented, but they should be properly rejected with the respective
SCSI error codes.

Best regards

Uwe
SCSI Driver test V1.35
� 2014-2017 Uwe Seimet

Found SCSI Driver version 1.01

Buses:
  ID: 1, Name: 'Atari SCSI', Maximum transfer length: 268435456 ($10000000)
  ID: 2, Name: 'Atari IDE', Maximum transfer length: 130560 ($1FE00)
  ID: 31, Name: 'Linux Generic SCSI', Maximum transfer length: 65536 ($10000)

Testing bus 'Atari SCSI', device ID 1
  CheckDev()
    Checking with illegal bus ID
    Checking with legal bus ID
  Open/Close()
    Available handles: 28
  TEST UNIT READY
  INQUIRY
    Calling with legal data
      Device type: Direct Access
      Device name: ''
      Firmware revision: ''
      SCSI/SPC version: -
      Additional length: $00
      ERROR: Additional length must be at least $1F
    Calling with non-existing LUN 7
    ERROR: Call was not properly rejected
  REQUEST SENSE
    Calling REQUEST SENSE for existing LUN 0
      Additional sense length: $00
      ERROR: Additional sense length must be at least $0A
    Calling REQUEST SENSE for non-existing LUN 7
    ERROR: Call was not properly rejected
      Expected: SenseKey $05 ($00), ASC $25 ($00)
    Calling REQUEST SENSE again for existing LUN 0
  READ CAPACITY
    Reading capacity with READ CAPACITY (10)
    ERROR: Wrong maximum block number '0'
  REPORT LUNS
    Number of LUNs: 8961
      List of LUNs: 18, 65664, 71824, 70868, 500, 69318, 68994, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2281701376, 0, 0, 65536, 671088640, 0, 16817680, 0, 0, 16, 9472, 0, 2684354560, 0, 8388608, 34928, 11, 81272, 20881960, 20857314, 268435456, 0, 1, 20914716, 0, 0, 1, 0, 0, 0, 20914716, 20856008, 20881960, 20874456, 20856634, 20856360, 0, 0, 20914732, 0, 7152, 738205700, 573243506, 1320747327, 3915917312, 575500801, 1879060485, 3498561668, 541806265, 20927686, 1249928704, 12595220, 1733304838, 3850967996, 16193536, 537322888, 1384127420, 16713728, 875495538, 1728725493, 402673337, 20870116, 537322888, 1417681852, 16713728, 570877321, 1451301820, 989184, 875495538, 1731346933, 134237881, 20870116, 1613111302, 3498056636, 16189440, 570872449, 1384192956, 16717824, 875495538, 1728725493, 134237881, 20870116, 575500801, 1879060485, 3498561668, 541806265, 20927760, 1249928748, 575500801, 789131009, 536989871, 1602048, 839208633, 20965696, 3498561668, 541794847, 576671417, 20927760, 1249928980, 1106837824, 2346861121, 1879133881
ERROR

Testing bus 'Atari SCSI', device ID 7
  CheckDev()
    Checking with illegal bus ID
    Checking with legal bus ID
  Open/Close()
    Available handles: 28
  TEST UNIT READY
  INQUIRY
    Calling with legal data
      Device type: Processor
      Device name: 'USEIMET HDDRIVER        '
      Firmware revision: '1012'
      SCSI/SPC version: SPC-4
      Additional length: $1F
    Calling with non-existing LUN 7
  REQUEST SENSE
    Calling REQUEST SENSE for existing LUN 0
      Additional sense length: $0A
    Calling REQUEST SENSE for non-existing LUN 7
    Calling REQUEST SENSE again for existing LUN 0
  REPORT LUNS
    Number of LUNs: 1
      List of LUNs: 0
OK

Testing bus 'Atari IDE', device ID 0
  CheckDev()
    Checking with illegal bus ID
    Checking with legal bus ID
  Open/Close()
    Available handles: 28
  TEST UNIT READY
  INQUIRY
    Calling with legal data
      Device type: Direct Access
      Device name: 'Hatari IDE master disk  '
      Firmware revision: '1.0 '
      SCSI/SPC version: SPC-4
      Additional length: $1F
    Calling with non-existing LUN 7
  REQUEST SENSE
    Calling REQUEST SENSE for existing LUN 0
      Additional sense length: $0A
    Calling REQUEST SENSE for non-existing LUN 7
    Calling REQUEST SENSE again for existing LUN 0
  READ CAPACITY
    Reading capacity with READ CAPACITY (10)
      Maximum block number: 800799
      Block size: 512
    Reading capacity with READ CAPACITY (16)
      Maximum block number hi: 0, maximum block number lo: 800799
      Maximum block number: 800799
      Block size: 512
      Logical sectors per physical sector: Unknown
    Reading last block (800799)
    Trying to read last block + 1 (800800)
  READ
    Reading block 0 with READ (6)
    Reading block 0 with READ (10)
    Reading block 0 with READ (12)
      READ (12) is not supported
    Reading block 0 with READ (16)
    Trying to read block 281474976710656 with READ (16)
    Reading block 0 to odd address with READ (6)
    Reading block 0 from non-existing LUN 7
  REPORT LUNS
    Number of LUNs: 1
      List of LUNs: 0
OK

Testing bus 'Atari IDE', device ID 1
  CheckDev()
    Checking with illegal bus ID
    Checking with legal bus ID
  Open/Close()
    Available handles: 28
  TEST UNIT READY
  INQUIRY
    Calling with legal data
      Device type: Direct Access
      Device name: 'Hatari IDE slave disk   '
      Firmware revision: '1.0 '
      SCSI/SPC version: SPC-4
      Additional length: $1F
    Calling with non-existing LUN 7
  REQUEST SENSE
    Calling REQUEST SENSE for existing LUN 0
      Additional sense length: $0A
    Calling REQUEST SENSE for non-existing LUN 7
    Calling REQUEST SENSE again for existing LUN 0
  READ CAPACITY
    Reading capacity with READ CAPACITY (10)
      Maximum block number: 2047
      Block size: 512
    Reading capacity with READ CAPACITY (16)
      Maximum block number hi: 0, maximum block number lo: 2047
      Maximum block number: 2047
      Block size: 512
      Logical sectors per physical sector: Unknown
    Reading last block (2047)
    Trying to read last block + 1 (2048)
  READ
    Reading block 0 with READ (6)
    Reading block 0 with READ (10)
    Reading block 0 with READ (12)
      READ (12) is not supported
    Reading block 0 with READ (16)
    Trying to read block 281474976710656 with READ (16)
    Reading block 0 to odd address with READ (6)
    Reading block 0 from non-existing LUN 7
  REPORT LUNS
    Number of LUNs: 1
      List of LUNs: 0
OK

Testing bus 'Linux Generic SCSI', device ID 0
  CheckDev()
    Checking with illegal bus ID
    Checking with legal bus ID
  Open/Close()
    Available handles: 32
  TEST UNIT READY
  INQUIRY
    Calling with legal data
      Device type: Direct Access
      Device name: 'ATA     Samsung SSD 840 '
      Firmware revision: '6B0Q'
      SCSI/SPC version: SPC-3
      Additional length: $5B
    Calling with non-existing LUN 7
    ERROR: Call failed: 2
  REQUEST SENSE
    Calling REQUEST SENSE for existing LUN 0
      Additional sense length: $02
      ERROR: Additional sense length must be at least $0A
    Calling REQUEST SENSE for non-existing LUN 7
    ERROR: Call failed: 2
    ERROR: Call was not properly rejected
      Expected: SenseKey $05 ($00), ASC $25 ($00)
    Calling REQUEST SENSE again for existing LUN 0
  READ CAPACITY
    Reading capacity with READ CAPACITY (10)
      Maximum block number: 500118191
      Block size: 512
    Reading capacity with READ CAPACITY (16)
      Maximum block number hi: 0, maximum block number lo: 500118191
      Maximum block number: 500118191
      Block size: 512
      Logical sectors per physical sector: Unknown
    Reading last block (500118191)
    Trying to read last block + 1 (500118192)
  READ
    Reading block 0 with READ (6)
    Reading block 0 with READ (10)
    Reading block 0 with READ (12)
      READ (12) is not supported
    Reading block 0 with READ (16)
    Trying to read block 281474976710656 with READ (16)
    Reading block 0 to odd address with READ (6)
    Reading block 0 from non-existing LUN 7
  REPORT LUNS
    Number of LUNs: 1
      List of LUNs: 0
OK

Testing bus 'Linux Generic SCSI', device ID 1
  CheckDev()
    Checking with illegal bus ID
    Checking with legal bus ID
  Open/Close()
    Available handles: 32
  TEST UNIT READY
  INQUIRY
    Calling with legal data
      Device type: Direct Access
      Device name: 'ATA     Samsung SSD 850 '
      Firmware revision: '2B6Q'
      SCSI/SPC version: SPC-3
      Additional length: $5B
    Calling with non-existing LUN 7
    ERROR: Call failed: 2
  REQUEST SENSE
    Calling REQUEST SENSE for existing LUN 0
      Additional sense length: $02
      ERROR: Additional sense length must be at least $0A
    Calling REQUEST SENSE for non-existing LUN 7
    ERROR: Call failed: 2
    ERROR: Call was not properly rejected
      Expected: SenseKey $05 ($00), ASC $25 ($00)
    Calling REQUEST SENSE again for existing LUN 0
  READ CAPACITY
    Reading capacity with READ CAPACITY (10)
      Maximum block number: 500118191
      Block size: 512
    Reading capacity with READ CAPACITY (16)
      Maximum block number hi: 0, maximum block number lo: 500118191
      Maximum block number: 500118191
      Block size: 512
      Logical sectors per physical sector: Unknown
    Reading last block (500118191)
    Trying to read last block + 1 (500118192)
  READ
    Reading block 0 with READ (6)
    Reading block 0 with READ (10)
    Reading block 0 with READ (12)
      READ (12) is not supported
    Reading block 0 with READ (16)
    Trying to read block 281474976710656 with READ (16)
    Reading block 0 to odd address with READ (6)
    Reading block 0 from non-existing LUN 7
  REPORT LUNS
    Number of LUNs: 1
      List of LUNs: 0
OK

Testing bus 'Linux Generic SCSI', device ID 2
  CheckDev()
    Checking with illegal bus ID
    Checking with legal bus ID
  Open/Close()
    Available handles: 32
  TEST UNIT READY
    Medium not present
  INQUIRY
    Calling with legal data
      Device type: Direct Access
      Device name: 'Generic STORAGE DEVICE  '
      Firmware revision: '9744'
      SCSI/SPC version: -
      Additional length: $29
    Calling with non-existing LUN 7
    ERROR: Call failed: 2
  REQUEST SENSE
    Calling REQUEST SENSE for existing LUN 0
      Additional sense length: $0A
    Calling REQUEST SENSE for non-existing LUN 7
    ERROR: Call failed: 2
    ERROR: Call was not properly rejected
      Expected: SenseKey $05 ($00), ASC $25 ($00)
    Calling REQUEST SENSE again for existing LUN 0
  READ CAPACITY
    Reading capacity with READ CAPACITY (10)
    Medium not present
  REPORT LUNS
    No medium inserted
ERROR

Testing bus 'Linux Generic SCSI', device ID 3
  CheckDev()
    Checking with illegal bus ID
    Checking with legal bus ID
  Open/Close()
    Available handles: 32
  TEST UNIT READY
    Medium not present
  INQUIRY
    Calling with legal data
      Device type: Direct Access
      Device name: 'Generic STORAGE DEVICE  '
      Firmware revision: '9744'
      SCSI/SPC version: -
      Additional length: $29
    Calling with non-existing LUN 7
    ERROR: Call failed: 2
  REQUEST SENSE
    Calling REQUEST SENSE for existing LUN 0
      Additional sense length: $0A
    Calling REQUEST SENSE for non-existing LUN 7
    ERROR: Call failed: 2
    ERROR: Call was not properly rejected
      Expected: SenseKey $05 ($00), ASC $25 ($00)
    Calling REQUEST SENSE again for existing LUN 0
  READ CAPACITY
    Reading capacity with READ CAPACITY (10)
    Medium not present
  REPORT LUNS
    No medium inserted
ERROR

Testing bus 'Linux Generic SCSI', device ID 4
  CheckDev()
    Checking with illegal bus ID
    Checking with legal bus ID
  Open/Close()
    Available handles: 32
  TEST UNIT READY
    Medium not present
  INQUIRY
    Calling with legal data
      Device type: Direct Access
      Device name: 'Generic STORAGE DEVICE  '
      Firmware revision: '9744'
      SCSI/SPC version: -
      Additional length: $29
    Calling with non-existing LUN 7
    ERROR: Call failed: 2
  REQUEST SENSE
    Calling REQUEST SENSE for existing LUN 0
      Additional sense length: $0A
    Calling REQUEST SENSE for non-existing LUN 7
    ERROR: Call failed: 2
    ERROR: Call was not properly rejected
      Expected: SenseKey $05 ($00), ASC $25 ($00)
    Calling REQUEST SENSE again for existing LUN 0
  READ CAPACITY
    Reading capacity with READ CAPACITY (10)
    Medium not present
  REPORT LUNS
    No medium inserted
ERROR

Testing bus 'Linux Generic SCSI', device ID 5
  CheckDev()
    Checking with illegal bus ID
    Checking with legal bus ID
  Open/Close()
    Available handles: 32
  TEST UNIT READY
    Medium not present
  INQUIRY
    Calling with legal data
      Device type: Direct Access
      Device name: 'Generic STORAGE DEVICE  '
      Firmware revision: '9744'
      SCSI/SPC version: -
      Additional length: $29
    Calling with non-existing LUN 7
    ERROR: Call failed: 2
  REQUEST SENSE
    Calling REQUEST SENSE for existing LUN 0
      Additional sense length: $0A
    Calling REQUEST SENSE for non-existing LUN 7
    ERROR: Call failed: 2
    ERROR: Call was not properly rejected
      Expected: SenseKey $05 ($00), ASC $25 ($00)
    Calling REQUEST SENSE again for existing LUN 0
  READ CAPACITY
    Reading capacity with READ CAPACITY (10)
    Medium not present
  REPORT LUNS
    No medium inserted
ERROR

Testing bus 'Linux Generic SCSI', device ID 6
  CheckDev()
    Checking with illegal bus ID
    Checking with legal bus ID
  Open/Close()
    Available handles: 32
  TEST UNIT READY
    Medium not present
  INQUIRY
    Calling with legal data
      Device type: Direct Access
      Device name: 'Generic STORAGE DEVICE  '
      Firmware revision: '9744'
      SCSI/SPC version: -
      Additional length: $29
    Calling with non-existing LUN 7
    ERROR: Call failed: 2
  REQUEST SENSE
    Calling REQUEST SENSE for existing LUN 0
      Additional sense length: $0A
    Calling REQUEST SENSE for non-existing LUN 7
    ERROR: Call failed: 2
    ERROR: Call was not properly rejected
      Expected: SenseKey $05 ($00), ASC $25 ($00)
    Calling REQUEST SENSE again for existing LUN 0
  READ CAPACITY
    Reading capacity with READ CAPACITY (10)
    Medium not present
  REPORT LUNS
    No medium inserted
ERROR


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/