Re: Bug report for ahci-mvebu driver

Damien Le Moal
2022-11-06T07:05:20Z

On 11/2/22 04:21, Dinu Marius wrote:
> Hello.
>
> I'm contacting you because your email is listed in www.kernel.org/doc/linux/MAINTAINERS
> I encountered a problem with the ahci-mvebu driver. I think it's a bug.
>
> Hardware:
> Areca ARC-5040 RAID enclosure (DAS), eSATA port, 8 SATA drive bays with 1x 500GB HDD stand-alone and 7x 2TB HDDs in RAID5.
> Linksys WRT-1900ACS v2 router, Marvell Armada 385 (88F6820), one eSATAp using ahci-mvebu driver with port-multiplier support.
> The router runs OpenWrt with kernel version 5.15.

Can you try current mainline 6.1-rc kernel ? Not going to debug 5.15.
Debugging should be done on the latest kernel and any bug fix backported.

>
> Problem encountered:
> Areca DAS is not detected properly. When I connect it, I get these repeating errors in kernel log:
>
> [--- from boot log ---]
> <4>[ 1.490840] ahci-mvebu f10a8000.sata: supply ahci not found, using dummy regulator
> <4>[ 1.498512] ahci-mvebu f10a8000.sata: supply phy not found, using dummy regulator
> <4>[ 1.506053] ahci-mvebu f10a8000.sata: supply target not found, using dummy regulator
> <6>[ 1.513896] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform mode
> <6>[ 1.522994] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs
> <6>[ 1.532212] scsi host0: ahci-mvebu
> <6>[ 1.535848] scsi host1: ahci-mvebu
> <6>[ 1.539353] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 49
> <6>[ 1.547313] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 49
>
> [--- Areca connected ---]
> <6>[ 742.795979] ata2: SATA link down (SStatus 100 SControl 300)
> <3>[ 745.465974] ata2: COMRESET failed (errno=-32)
> <4>[ 745.470361] ata2: reset failed (errno=-32), retrying in 8 secs
> <3>[ 755.365973] ata2: COMRESET failed (errno=-32)
> <4>[ 755.370361] ata2: reset failed (errno=-32), retrying in 8 secs
> <6>[ 764.655979] ata2: SATA link down (SStatus 100 SControl 300)
> <6>[ 766.045984] ata2: SATA link down (SStatus 101 SControl 300)
> <6>[ 767.576004] ata2: SATA link down (SStatus 100 SControl 300)
> <6>[ 768.325978] ata2: SATA link down (SStatus 100 SControl 300)
> <3>[ 770.865973] ata2: COMRESET failed (errno=-32)
> <4>[ 770.870360] ata2: reset failed (errno=-32), retrying in 8 secs
> <6>[ 779.515985] ata2: SATA link down (SStatus 101 SControl 300)
> <6>[ 780.275979] ata2: SATA link down (SStatus 100 SControl 300)
>
> The same errors appear if I leave it connected during reboot.
> I tried to limit SATA speed to 150 and to disable NCQ from Areca admin interface. It didn't work.
> I found no way of making it work.
>
> The same router works perfectly when I connect a laptop HDD.

You mean an external single HDD connected with an eSATA port ?

> The same DAS, including the same eSATA cable, works perfectly when connected to an older
> Linksys WRT-1900AC v1 with Marvell Armada XP (MV78230), using sata-mv driver.

What kernel version is running on that older Linksys box ?

> This is the kernel log from the older router:
>
> [--- from boot log ---]
> <7>[ 1.612541] sata_mv f10a0000.sata: version 1.28
> <6>[ 1.612652] sata_mv f10a0000.sata: slots 32 ports 1
> <6>[ 1.618121] scsi host0: sata_mv
> <6>[ 1.621486] ata1: SATA max UDMA/133 irq 36
>
> [--- Areca connected ---]
> <6>[88761.966331] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
> <6>[88761.975472] ata1.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f

This one seems OK with the PHY detection and it links up. Let me know the
kernel version and we can see what changed between the older kernel and
5.15. But you should still try latest 6.1-rc if possible.

> <6>[88764.670933] ata1.00: ATA-6: WDC WD50ARC-5040-VOL#01, 0100 AX, max UDMA/133
> <6>[88764.677860] ata1.00: 976773168 sectors, multi 0: LBA48
> <6>[88764.683599] ata1.00: configured for UDMA/133
> <6>[88764.688391] ata1.01: ATA-6: Areca Archive, 0100 AX, max UDMA/133
> <6>[88764.694596] ata1.01: 23437498368 sectors, multi 0: LBA48
> <6>[88764.700779] ata1.01: configured for UDMA/133
> <5>[88764.705557] scsi 0:0:0:0: Direct-Access ATA WDC WD50ARC-5040 n/a PQ: 0 ANSI: 5
> <5>[88764.714802] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/466 GiB)
> <5>[88764.722521] sd 0:0:0:0: [sda] Write Protect is off
> <7>[88764.727558] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
> <5>[88764.727915] scsi 0:1:0:0: Direct-Access ATA Areca Archive n/a PQ: 0 ANSI: 5
> <5>[88764.728706] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
> <5>[88764.745574] sd 0:1:0:0: [sdb] 23437498368 512-byte logical blocks: (12.0 TB/10.9 TiB)
> <5>[88764.753819] sd 0:1:0:0: [sdb] Write Protect is off
> <7>[88764.758886] sd 0:1:0:0: [sdb] Mode Sense: 00 3a 00 00
> <5>[88764.759101] sd 0:1:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
> <5>[88764.760537] sd 0:0:0:0: [sda] Attached SCSI disk
> <5>[88764.772600] sd 0:1:0:0: [sdb] Attached SCSI disk
>
> I'm not currently using the new router, so it's available for tests.
> Thanks.
> Marius Dinu