Re: Drives sometimes come up at wrong speeds / how to force COMRESET

Erik Jensen <[email protected]> Wed, 15 Jul 2026 00:40:37 -0700
Newsgroups org.kernel.vger.linux-ide
Message-ID <CAMj6ewMkjij8FcdRBveU5Q-xudEyBS+q01y_KeCxgCBO9D_Pgw@mail.gmail.com>
Realized that

echo "- - -" | sudo tee /sys/class/block/sdX/device/../../scsi_host/host*/scan

does what I need. (For some reason I had it in my head that that
wouldn't reset the physical link, which it does.) One drive comes up
with a slow link, run that, and it fixes without dropping any of the
others.

Sorry for the noise.

On Mon, Jul 13, 2026 at 2:14 AM Erik Jensen <[email protected]> wrote:
>
> I have three drives connected to an ASM1164 Serial ATA AHCI
> Controller. Due to whatever quirk of the initial link training, often
> at least one of the drives will come up at a lower speed than it
> should. E.g., maybe the first drive will come up at 1.5 Gbps, or the
> third drive at 3.0 Gbps. When they do all come up at 6.0 Gbps they are
> absolutely rock solid (many terabytes of data over multiple days with
> nary a hiccup).
>
> My current workaround is to echo the PCI ID to
> /sys/bus/pci/drivers/ahci/unbind and then
> /sys/bus/pci/drivers/ahci/bind. The trouble is that since more often
> than not, at least one of the drives comes up slow, it can take
> several attempts before all of the drives are up at 6.0 Gbps.
>
> Is there a way that I missed to force a COMRESET on just a single
> drive to get it up to speed without risking knocking down the others
> that are already correct? If not, is a sysfs entry to do so something
> that could be accepted? (Perhaps /sys/class/ata_link/linkX/force_reset
> or /sys/class/scsi_host/hostY/force_reset or similar.)
>
> Thanks!