On 1/8/25 15:05, Niklas Cassel wrote:
On Wed, Jan 08, 2025 at 12:52:50PM +0000, Philip Pemberton wrote:
I'm trying to connect an old Iomega Zip 100 ATAPI to a B550-chipset Ryzen
system, to exchange files with an even older system. The Gigabyte B550 AORUS
ELITE AX V2 rev1.3 motherboard doesn't have any PATA ports, so I'm using a
SATA to PATA adapter.
Sadly it will not work in the B550 system (Kernel 6.8.0-51-generic x86_64,
Linux Mint 21.3 based on Ubuntu 22.04). When I have the Zip drive connected,
I get the following in dmesg and the sd device never appears:
ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata3.00: ATAPI: IOMEGA ZIP 100 ATAPI, 12.A, max PIO3, CDB intr,
DMADIR
ata3.00: applying bridge limits
ata3.00: configured for PIO0
ata3.00: qc timeout after 5000 msecs (cmd 0xa0)
ata3.00: failed to clear UNIT ATTENTION (err_mask=0x5)
Since we see that the drive name is printed, the ATAPI IDENTIFY command
succeded (ATA_CMD_ID_ATAPI (0xA1)).
The command that timed out is ATA_CMD_PACKET 0xA0, so a regular ATAPI command.
The UNIT ATTENTION print is just from atapi_eh_clear_ua(), which seems to be
called by ata_eh_recover() unconditionally for ATAPI devices, because they
always need to clear UNIT ATTENTION after a reset:
https://github.com/torvalds/linux/blob/v6.8/drivers/ata/libata-eh.c#L3232-L3234
But the reset is of course only triggered because a command has timed out.
Which makes me wonder: does the SATA-to-PATA support ATAPI? It has been
removed from recent ATA specifications, so there's a chance the bridge
simply doesn't implement it ...
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@xxxxxxx +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg
HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich