[OpenIndiana-discuss] Question regarding OI148, SI3124 and port multiplier Sil3726

Attila Fülöp atf at gesindel.org
Tue Oct 11 19:36:24 UTC 2011

On 10/ 8/11 12:29 AM, Albert Lee wrote:
> On Wed, Oct 5, 2011 at 7:02 PM, Stefano Del Corno
> <stefano.delcorno at gmail.com> wrote:
>> Hi, I'm sorry if the question have been already discussed in the past:
>> I'm having an issue with a PCI-e 3132 SATA card and a 3726 port
>> multiplier. Digging both the internet and OI discussions, I had the
>> feeling that this specific combination is working fine in a few
>> different environments.
>> http://openindiana.org/pipermail/openindiana-discuss/2011-January/002209.html
>> http://openindiana.org/pipermail/openindiana-discuss/2011-May/003998.html
>> I've loaded latest "ide" firmware (B7703) on my 3132 card. I tested
>> the pci-e card, the port multiplier and 4 attached sata drives under
>> linux: everything was working fine. I did also a couple of "raw"
>> performance tests with good results. Given the good experience under
>> "another OS" and given that I saw positive reports of SIL port
>> multipliers with SIL based SATA boards, I dropped both the card and
>> the port multiplier in my OpenIndiana box.
>> I'm running OI 148 on a SuperMicro X7SPA-H board. It's booting from a
>> couple of USB drives (forming a mirrored rpool). Right now I'm using 4
>> out of 6 internal sata connectors to drive a small SSD and 3 1.5tb
>> drives. My plan is to add the above mentioned 3124 + 3726 + 4drives to
>> my OpenIndiana box to test different protection schemes and run some
>> "zpool send" tests.
>> The issue I'm experiencing is that I can only see the first drive
>> (port 0) I've attached to the port multiplier.
> I'm not sure where you heard otherwise, but only the ahci driver
> supports SATA port multipliers.

Maybe from me, at least the links above refer to messages I sent.

IIRC PM support was added to si3124.c in snv_111 and it definitely worked
for me. I could access three disks connected to a PM.

Wondering why everybody said PMs are not supported by si3124 I googled
a bit and found this thread:


To summarize: PM support worked from snv_111 up to snv_124. Some change
in snv_125 seems to have borken it.

Looking at
it seems a lot (if not all) of PM stuff is already there, see eg.

  175  * Port Multiplier: Enumeration of port multiplier is handled during the
  176  *	controller initialization and also during the a hotplug operation.
  177  *	Current logic takes care of situation where a port multiplier
  178  *	is hotplugged into a port which had a cdisk connected previously
  179  *	and vice versa.

 3182 static int
 3183 si_enumerate_port_multiplier(

 3333 static int
 3334 si_read_portmult_reg(

 3454 static int
 3455 si_write_portmult_reg(

 4009 static void
 4010 si_recover_portmult_errors(

Without any deeper knowledge I would guess that bringing back PM support should
only involve some (minor?) tweaking of the existing code.

My sincere apologies to everybody I misled by my postings. I should've
done some research before posting. Sorry for that.


More information about the OpenIndiana-discuss mailing list