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!