[hatari-devel] Cycle exact setting affects nf_scsidrv

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


Hi,

Yet another thread I'm afraid, related to the Cycle exact setting. With
this setting disabled and the SCSI Driver for Linux installed SDRVTEST (see 
https://www.hddriver.net/en/downloads.html) the result is the attached
logfile SDRVTEST.L1. Now I press F12, enable Cycle exact and restart
Hatari. When running SDRVTEST again the output is broken, see attached
SDRVTEST.L2. Now I press F12 again, disabled Cacle exact, restart and
run SDRVTEST once more. This time the output is correct again.

This means that the Cycle exact setting either influences the code
execution of the native scsidrv_inout method in nf_scsidrv.c, or the
emulated code of NF_SCSI (also see https://www.hddriver.net/en/downloads.html)
behaves differently. I observe the same behavior with the Hatari 2.1.0
release version.

When launching HDDRUTIL the effect is similar: The device names are
incomplete, as if some of the data did not make it from the native part
into the emulated part of the code.

When I double-check with Aranym, where essentially the same native SCSI
Driver code and exactly the same emulated NF_SCSI code is running,
everything is fine. Only on Hatari with Cycle exact enabled the results
are not correct.

Best regards

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

Found SCSI Driver version 1.01

Buses:
  ID: 0, Name: 'Atari ACSI', Maximum transfer length: 65536 ($10000)
  ID: 1, Name: 'Atari SCSI', Maximum transfer length: 268435456 ($10000000)
  ID: 31, Name: 'Linux Generic SCSI', Maximum transfer length: 65536 ($10000)

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
SCSI Driver test V1.35
� 2014-2018 Uwe Seimet

Found SCSI Driver version 1.01

Buses:
  ID: 0, Name: 'Atari ACSI', Maximum transfer length: 65536 ($10000)
  ID: 1, Name: 'Atari SCSI', Maximum transfer length: 268435456 ($10000000)
  ID: 31, Name: 'Linux Generic SCSI', Maximum transfer length: 65536 ($10000)

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: ''
      Firmware revision: ''
      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: 1048576
      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: ''
      Firmware revision: ''
      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: 1048576
      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: ''
      Firmware revision: ''
      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: ''
      Firmware revision: ''
      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: ''
      Firmware revision: ''
      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: ''
      Firmware revision: ''
      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: ''
      Firmware revision: ''
      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/