Re: [hatari-devel] SCSI emulation |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
- To: hatari-devel@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [hatari-devel] SCSI emulation
- From: Uwe Seimet <Uwe.Seimet@xxxxxxxxx>
- Date: Sun, 26 Aug 2018 09:11:10 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1535267470; s=strato-dkim-0002; d=seimet.de; h=In-Reply-To:References:Message-ID:Subject:To:From:Date: X-RZG-CLASS-ID:X-RZG-AUTH:From:Subject:Sender; bh=8pPRUiSvWbibzllqORDo33XcXVTzpmIrbQ4wS4i2gmg=; b=qN/pqa+7ce5TDeqJEAPPBm22HGtxfH+GkMkmFBT+BKl+0j3l4bFppBphbv1f2dCh/G CrYZgxwRMQ9KlfkYnkH96mFoGi9RHhV6Ako75Au1p9IKSEi1nVAVKDQRnGTFmZdn44IS wZQTyYPZetJTcKNx8t36MlmL9tHmXQ530/c8t6swbHWI3SPFF8ZlMfTtuGvmDfcp7xej euYRPxfp7ZBjdpQBl44aFFua0xv1eJ/e+hwdOSA1kOcIaeOFM06I+kn5SLzhmXdaOxhX XFlKf70qBqIfLSWyeJz+ScR48fkexlyDwQ03WNLttjfx2+vAM/VkPF/JrnNnABp8hgkS nosA==
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