Solved Hot Swap SATA

My newly built server boots of a ZFS SSD mirror (ada0 and ada1 are identical):
Code:
Dec 30 15:08:02 sherman kernel: ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
Dec 30 15:08:02 sherman kernel: ada0: <CT250MX500SSD1 M3CR023> ACS-3 ATA SATA 3.x device
Dec 30 15:08:02 sherman kernel: ada0: Serial Number 1926E20F33F7
Dec 30 15:08:02 sherman kernel: ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 512bytes)
Dec 30 15:08:02 sherman kernel: ada0: Command Queueing enabled
Dec 30 15:08:02 sherman kernel: ada0: 238475MB (488397168 512 byte sectors)
When I install ada2 in a hot swap bay it's detected at boot:
Code:
Dec 30 15:08:02 sherman kernel: ada2 at ahcich6 bus 0 scbus2 target 0 lun 0
Dec 30 15:08:02 sherman kernel: ada2: <WDC WD2500HHTZ-04N21V0 04.06A00> ATA8-ACS SATA 3.x device
Dec 30 15:08:02 sherman kernel: ada2: Serial Number WD-WX31EA1DX501
Dec 30 15:08:02 sherman kernel: ada2: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
Dec 30 15:08:02 sherman kernel: ada2: Command Queueing enabled
Dec 30 15:08:02 sherman kernel: ada2: 238475MB (488397168 512 byte sectors)
I can pull ada2 out of the hot swap bay:
Code:
Dec 30 15:22:45 sherman kernel: ada2 at ahcich6 bus 0 scbus2 target 0 lun 0
Dec 30 15:22:45 sherman kernel: ada2: <WDC WD2500HHTZ-04N21V0 04.06A00> s/n WD-WX31EA1DX501 detached
Dec 30 15:22:45 sherman kernel: (ada2:ahcich6:0:0:0): Periph destroyed
And put it back in again:
Code:
Dec 30 15:23:12 sherman kernel: ada2 at ahcich6 bus 0 scbus2 target 0 lun 0
Dec 30 15:23:12 sherman kernel: ada2: <WDC WD2500HHTZ-04N21V0 04.06A00> ATA8-ACS SATA 3.x device
Dec 30 15:23:12 sherman kernel: ada2: Serial Number WD-WX31EA1DX501
Dec 30 15:23:12 sherman kernel: ada2: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
Dec 30 15:23:12 sherman kernel: ada2: Command Queueing enabled
Dec 30 15:23:12 sherman kernel: ada2: 238475MB (488397168 512 byte sectors)
But if I boot the system without ada2 attached, it's not detected when I plug it into the hot swap bay.
I have 8 on-board SATA ports, but that seems to be 4 x 2 ahci devices:
Code:
# dmesg | grep SATA
ahci0: <AMD KERNCZ AHCI SATA controller> mem 0xf7500000-0xf75007ff irq 29 at device 0.0 on pci9
ahci1: <AMD KERNCZ AHCI SATA controller> mem 0xf7400000-0xf74007ff irq 30 at device 0.0 on pci10
ahci2: <AMD KERNCZ AHCI SATA controller> mem 0xf7c00000-0xf7c007ff irq 41 at device 0.0 on pci15
ahci3: <AMD KERNCZ AHCI SATA controller> mem 0xf7b00000-0xf7b007ff irq 45 at device 0.0 on pci16
ada0: <CT250MX500SSD1 M3CR023> ACS-3 ATA SATA 3.x device
ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 512bytes)
ada1: <CT250MX500SSD1 M3CR023> ACS-3 ATA SATA 3.x device
ada1: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 512bytes)
ada2: <WDC WD2500HHTZ-04N21V0 04.06A00> ATA8-ACS SATA 3.x device
ada2: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
The motherboard is an ASUS ROG STRIX X570-F GAMING.
I checked the kldstat(8), and it's the same regardless of the state of ada2.
Advice on how to make hot plug work all the time appreciated.
 
My question to you is have you tested your mirrored pair?
Boot with single drive ada0 and add ada1 hot.
Does hotswap work on the board at all? Tested with ada0 and ada1? Are they in sleds?
 
My knowledge of PC BIOS is clearly limited...

Enabling SATA Hotswap in the BIOS fixed the problem.

Thank you.
 
Back
Top