Re: SATA SSD keeps disconnecting

From: Kent Kuriyama <kent.kuriyama_at_gmail.com>
Date: Sat, 26 Feb 2022 17:56:52 UTC
Andrea,

While I don't have this specific problem I have encountered problems with
FreeBSD 13 losing connections to USB connected hard drives.

Since the problem occurs on only certain drives I initially blamed the
drives.  Out of curiosity I loaded Ubuntu 20 desktop and saw the same
problem, i.e. those drives would disconnect.  What is interesting is that
when I loaded Ubuntu 20 server the problem disappeared.  Note that in all
this testing the hardware and its configuration remained unchanged, the
only difference is the OS load.

These results point to a possible problem in the OS driver code,   The
drives will disconnect about once a week, power cycling the drives (while
FreeBSD is running) will usually clear the error and allow continued
operation.

Kent
--------------------------
On Sat, Feb 26, 2022 at 7:35 AM Andrea Venturoli <ml@netfence.it> wrote:

>
> Hello.
>
> I've got a desktop system with two SSD drives (gmirror swap + ZFS
> mirrored pool) and one of them keeps disconnecting.
>
> Smart says the drive is good and I've already tried replacing the cables.
>
> Relevant dmesg:
> > FreeBSD 12.3-RELEASE-p1 releng/12.3-n234208-c1494385203 AAAAA amd64
> > FreeBSD clang version 10.0.1 (git@github.com:llvm/llvm-project.git
> llvmorg-10.0.1-0-gef32c611aa2)
> > VT(vga): resolution 640x480
> > CPU: Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz (3200.09-MHz K8-class CPU)
> >   Origin="GenuineIntel"  Id=0x306a9  Family=0x6  Model=0x3a  Stepping=9
> > ...
> > ahci0: <Intel Panther Point AHCI SATA controller> port
> 0xf0b0-0xf0b7,0xf0a0-0xf0a3,0xf090-0xf097,0xf080-0xf083,0xf060-0xf07f mem
> 0xf7d15000-0xf7d157ff irq 19 at device 31.2 on pci0
> > ahci0: AHCI v1.30 with 6 6Gbps ports, Port Multiplier not supported
> > ahcich0: <AHCI channel> at channel 0 on ahci0
> > ahcich1: <AHCI channel> at channel 1 on ahci0
> > ahciem0: <AHCI enclosure management bridge> on ahci0
> > ...
> > ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
> > ada0: <PNY CS900 120GB SSD CS900613> ACS-4 ATA SATA 3.x device
> > ada0: Serial Number PNY14200238640200E14
> > ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
> > ada0: Command Queueing enabled
> > ada0: 114473MB (234441648 512 byte sectors)
> > ...
> > ada1 at ahcich1 bus 0 scbus1 target 0 lun 0
> > ada1: <PNY CS900 120GB SSD CS900613> ACS-4 ATA SATA 3.x device
> > ada1: Serial Number PNY46200029240203D8C
> > ada1: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
> > ada1: Command Queueing enabled
> > ada1: 114473MB (234441648 512 byte sectors)
>
>
>
> And this is what I get in the logs:
> > Feb 26 12:01:01  kernel: ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
> > Feb 26 12:01:01  kernel: ada0: <PNY CS900 120GB SSD CS900613> s/n
> PNY14200238640200E14 detached
> > Feb 26 12:01:01  kernel: GEOM_MIRROR: Device swap: provider ada0p2
> disconnected.
> > Feb 26 12:01:01  kernel: (ada0:ahcich0:0:0:0): Periph destroyed
> > Feb 26 12:01:01  kernel: ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
> > Feb 26 12:01:01  kernel: ada0: <PNY CS900 120GB SSD CS900613> ACS-4 ATA
> SATA 3.x device
> > Feb 26 12:01:01  kernel: ada0: Serial Number PNY14200238640200E14
> > Feb 26 12:01:01  kernel: ada0: 600.000MB/s transfers (SATA 3.x, UDMA6,
> PIO 8192bytes)
> > Feb 26 12:01:01  kernel: ada0: Command Queueing enabled
> > Feb 26 12:01:01  kernel: ada0: 114473MB (234441648 512 byte sectors)
> > Feb 26 12:40:56  kernel: ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
> > Feb 26 12:40:56  kernel: ada0: <PNY CS900 120GB SSD CS900613> s/n
> PNY14200238640200E14 detached
> > Feb 26 12:40:56  kernel: GEOM_MIRROR: Device swap: provider ada0p2
> disconnected.
> > Feb 26 12:40:56  kernel: (ada0:ahcich0:0:0:0): Periph destroyed
> > Feb 26 12:40:56  kernel: ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
> > Feb 26 12:40:56  kernel: ada0: <PNY CS900 120GB SSD CS900613> ACS-4 ATA
> SATA 3.x device
> > Feb 26 12:40:56  kernel: ada0: Serial Number PNY14200238640200E14
> > Feb 26 12:40:56  kernel: ada0: 600.000MB/s transfers (SATA 3.x, UDMA6,
> PIO 8192bytes)
> > Feb 26 12:40:56  kernel: ada0: Command Queueing enabled
> > Feb 26 12:40:56  kernel: ada0: 114473MB (234441648 512 byte sectors)
> > Feb 26 14:34:30  kernel: ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
> > Feb 26 14:34:30  kernel: ada0: <PNY CS900 120GB SSD CS900613> s/n
> PNY14200238640200E14 detached
> > Feb 26 14:34:30  kernel: GEOM_MIRROR: Device swap: provider ada0p2
> disconnected.
> > Feb 26 14:34:30  kernel: (ada0:ahcich0:0:0:0): Periph destroyed
> > Feb 26 14:34:31  kernel: ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
> > Feb 26 14:34:31  kernel: ada0: <PNY CS900 120GB SSD CS900613> ACS-4 ATA
> SATA 3.x device
> > Feb 26 14:34:31  kernel: ada0: Serial Number PNY14200238640200E14
> > Feb 26 14:34:31  kernel: ada0: 600.000MB/s transfers (SATA 3.x, UDMA6,
> PIO 8192bytes)
> > Feb 26 14:34:31  kernel: ada0: Command Queueing enabled
> > Feb 26 14:34:31  kernel: ada0: 114473MB (234441648 512 byte sectors)
> > Feb 26 14:34:32  kernel: ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
> > Feb 26 14:34:32  kernel: ada0: <PNY CS900 120GB SSD CS900613> s/n
> PNY14200238640200E14 detached
> > Feb 26 14:34:32  kernel: GEOM_MIRROR: Device swap: provider ada0p2
> disconnected.
> > Feb 26 14:34:32  kernel: (ada0:ahcich0:0:0:0): Periph destroyed
> > Feb 26 14:34:34  kernel: ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
> > Feb 26 14:34:34  kernel: ada0: <PNY CS900 120GB SSD CS900613> ACS-4 ATA
> SATA 3.x device
> > Feb 26 14:34:34  kernel: ada0: Serial Number PNY14200238640200E14
> > Feb 26 14:34:34  kernel: ada0: 600.000MB/s transfers (SATA 3.x, UDMA6,
> PIO 8192bytes)
> > Feb 26 14:34:34  kernel: ada0: Command Queueing enabled
> > Feb 26 14:34:34  kernel: ada0: 114473MB (234441648 512 byte sectors)
> > Feb 26 18:22:58  kernel: ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
> > Feb 26 18:22:58  kernel: ada0: <PNY CS900 120GB SSD CS900613> s/n
> PNY14200238640200E14 detached
> > Feb 26 18:22:58  ZFS[52913]: vdev I/O failure, zpool=$zroo2
> path=$/dev/ada0p3 offset=$270336 size=$8192 error=$6
> > Feb 26 18:22:58  ZFS[52914]: vdev I/O failure, zpool=$zroo2
> path=$/dev/ada0p3 offset=$102852993024 size=$8192 error=$6
> > Feb 26 18:22:58  ZFS[52915]: vdev I/O failure, zpool=$zroo2
> path=$/dev/ada0p3 offset=$102853255168 size=$8192 error=$6
> > Feb 26 18:22:58  ZFS[52916]: vdev probe failure, zpool=$zroo2
> path=$/dev/ada0p3
> > Feb 26 18:22:58  kernel: GEOM_MIRROR: Device swap: provider ada0p2
> disconnected.
> > Feb 26 18:22:58  kernel: (ada0:ahcich0:0:0:0): Periph destroyed
> > Feb 26 18:23:00  kernel: ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
> > Feb 26 18:23:00  kernel: ada0: <PNY CS900 120GB SSD CS900613> ACS-4 ATA
> SATA 3.x device
> > Feb 26 18:23:00  kernel: ada0: Serial Number PNY14200238640200E14
> > Feb 26 18:23:00  kernel: ada0: 600.000MB/s transfers (SATA 3.x, UDMA6,
> PIO 8192bytes)
> > Feb 26 18:23:00  kernel: ada0: Command Queueing enabled
> > Feb 26 18:23:00  kernel: ada0: 114473MB (234441648 512 byte sectors)
> > Feb 26 18:23:01  kernel: ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
> > Feb 26 18:23:01  kernel: ada0: <PNY CS900 120GB SSD CS900613> s/n
> PNY14200238640200E14 detached
> > Feb 26 18:23:01  kernel: GEOM_MIRROR: Device swap: provider ada0p2
> disconnected.
> > Feb 26 18:23:01  kernel: (ada0:ahcich0:0:0:0): Periph destroyed
>
>
>
> Anything I can try on the software side?
> Some more logging?
> Some sysctl?
> Other tweaks?
>
>   bye & Thanks
>         av.
>
>

--