FreeBSD and SATA Port Multipliers

Steve Polyack korvus at comcast.net
Tue Oct 20 20:53:51 UTC 2009


Steve Polyack wrote:
> I have a system running FreeBSD 8.0-RC1 that contains 3x Sil3124 PCI-E 
> SATA controller cards.  Each card has 3x Sil3726 Port Multipliers 
> attached (5 slots per SATA PM).  The problem is that the disks are 
> often not all detected by FreeBSD, even though the controller Option 
> ROMs list all of the installed physical disks.  Which drive(s) are not 
> detected seems to vary with each boot.  All of the port multipliers 
> are detected every boot, it's just the drives which aren't getting 
> probed.

This was mostly fixed by loading the siis(4) module at boot.  However, 
if I attach 5 drives to a port multiplier board and reboot, only 4 of 
the drives attached to that port multiplier are detected.

 From dmesg:
siisch4: Timeout on slot 25
siisch4: siis_timeout is 00000000 ss 02000000 rs 02000000 es 00000000 
sts 80192000 serr 00000000
(aprobe0:siisch4:0:1:0): SIGNATURE: 0000
(aprobe0:siisch4:0:2:0): SIGNATURE: 0000
(aprobe0:siisch4:0:3:0): SIGNATURE: 0000
(aprobe0:siisch4:0:4:0): SIGNATURE: 0000
ada0 at siisch4 bus 0 target 1 lun 0
ada0: <ST31500341AS CC1H> ATA/ATAPI-8 SATA 2.x device
ada0: 300.000MB/s transfers
ada0: 1430799MB (2930277168 512 byte sectors: 16H 63S/T 16383C)
ada0: Native Command Queueing enabled
ada1 at siisch4 bus 0 target 2 lun 0
ada1: <ST31500341AS CC1H> ATA/ATAPI-8 SATA 2.x device
ada1: 300.000MB/s transfers
ada1: 1430799MB (2930277168 512 byte sectors: 16H 63S/T 16383C)
ada1: Native Command Queueing enabled
ada2 at siisch4 bus 0 target 3 lun 0
ada2: <ST31500341AS CC1H> ATA/ATAPI-8 SATA 2.x device
ada2: 300.000MB/s transfers
ada2: 1430799MB (2930277168 512 byte sectors: 16H 63S/T 16383C)
ada2: Native Command Queueing enabled
ada3 at siisch4 bus 0 target 4 lun 0
ada3: <ST31500341AS CC1H> ATA/ATAPI-8 SATA 2.x device
ada3: 300.000MB/s transfers
ada3: 1430799MB (2930277168 512 byte sectors: 16H 63S/T 16383C)
ada3: Native Command Queueing enabled


The disk at siisch4 bus 0 target 0 lun 0 is what's missing - it looks 
like there's some kind of timeout during the detection. A 'camcontrol 
rescan all' does not help.  In fact, the camcontrol rescan appears to 
lose all of the SATA drives attached to port-multipliers with a similar 
timeout message:

siisch4: Timeout on slot 17
siisch4: siis_timeout is 00040000 ss 00020000 rs 00020000 es 00000000 
sts 80112000 serr 00000000
(ada0:siisch4:0:1:0): lost device
(ada0:siisch4:0:1:0): removing device entry
siisch4: Timeout on slot 19
siisch4: siis_timeout is 00040000 ss 00080000 rs 00080000 es 00000000 
sts 80132000 serr 00000000
siisch4: Timeout on slot 20
siisch4: siis_timeout is 00040000 ss 00100000 rs 00100000 es 00000000 
sts 80142000 serr 00000000
(ada1:siisch4:0:2:0): lost device
(ada1:siisch4:0:2:0): removing device entry
siisch4: Timeout on slot 21
siisch4: siis_timeout is 00040000 ss 00200000 rs 00200000 es 00000000 
sts 80152000 serr 00000000
siisch4: Timeout on slot 22
siisch4: siis_timeout is 00040000 ss 00400000 rs 00400000 es 00000000 
sts 80162000 serr 00000000
(ada2:siisch4:0:3:0): lost device
(ada2:siisch4:0:3:0): removing device entry

I can provide more info on request.



More information about the freebsd-stable mailing list