Some more information: There is the same problem when I enable prefetch
instead of cycle exact. With one of these options enabled, the first time
when I start HDDRUTIL after resetting, parts of the data provided by
nf_scsidrv.c (in particular the device names) are incomplete.
Looks as if both options have something in common that causes this.
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