SiI3531 SATA port multipler

Nick Hilliard nick-lists at netability.ie
Wed Mar 11 13:11:51 PDT 2009


Hello,

I've been poking around with a SiI3531 sata300 host card, connected to an 
external disk enclosure with an internal SiI4726 card.  There are 3 x SATA 
disks hanging off it at the moment:

> http://www.startech.com/item/SAT3540ERGB-35in-4-Drive-eSATA-Multi-RAID-External-Hard-Drive-Enclosure.aspx

I have assumed that the SiI3531 is command-compatible with the SiI3112, and 
put in the attached patch to see what might happen.  The kernel appears to 
recognise the sata card, but dies before initialising it properly:

> ata2: Portmultiplier (id=47261095 rev=1f06) with 7 ports
> ata2: error writing PM port
> ata2: p6: writing ATA_SC_DET_RESET failed
> ata2: Portmultiplier (id=47261095 rev=1f06) with 7 ports
> ata2: error writing PM port
> ata2: p4: writing ATA_SC_DET_RESET failed
> ata2: error writing PM port
> ata2: p5: writing ATA_SC_DET_RESET failed
> ata2: error writing PM port
> ata2: p6: writing ATA_SC_DET_RESET failed
> ata2: Portmultiplier (id=47261095 rev=1f06) with 7 ports
> ata2: error writing PM port
> ata2: p6: writing ATA_SC_DET_RESET failed
> ata2: Portmultiplier (id=47261095 rev=1f06) with 7 ports
> ata2: error writing PM port
> ata2: p6: writing ATA_SC_DET_RESET failed

I've attached a full dmesg.   This setup is running on an Asus P5Q SE2 
motherboard, in amd64 mode with a -current kernel pulled today.

Any suggestions about what could be done to make this work?

Nick
-------------- next part --------------
--- sys/dev/ata/ata-pci.h.old	2009-02-21 22:57:26.000000000 +0000
+++ sys/dev/ata/ata-pci.h	2009-03-11 17:14:11.000000000 +0000
@@ -338,6 +338,7 @@
 #define ATA_SII3124		0x31241095
 #define ATA_SII3132		0x31321095
 #define ATA_SII3132_1		0x02421095
+#define ATA_SII3531		0x35311095
 #define ATA_SII0680             0x06801095
 #define ATA_CMD646              0x06461095
 #define ATA_CMD648              0x06481095
--- sys/dev/ata/chipsets/ata-siliconimage.c.old	2009-03-04 18:25:39.000000000 +0000
+++ sys/dev/ata/chipsets/ata-siliconimage.c	2009-03-11 17:14:16.000000000 +0000
@@ -99,6 +99,7 @@
      { ATA_SII3124,   0x00, SII_PRBIO, SII_4CH,    ATA_SA300, "3124" },
      { ATA_SII3132,   0x00, SII_PRBIO, 0,          ATA_SA300, "3132" },
      { ATA_SII3132_1, 0x00, SII_PRBIO, 0,          ATA_SA300, "3132" },
+     { ATA_SII3531,   0x00, SII_PRBIO, 0,          ATA_SA300, "3531" },
      { ATA_SII0680,   0x00, SII_MEMIO, SII_SETCLK, ATA_UDMA6, "680" },
      { ATA_CMD649,    0x00, 0,         SII_INTR,   ATA_UDMA5, "(CMD) 649" },
      { ATA_CMD648,    0x00, 0,         SII_INTR,   ATA_UDMA4, "(CMD) 648" },
-------------- next part --------------
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.0-CURRENT #4: Tue Mar 10 18:19:38 GMT 2009
    nick at pancake.xxxxxxx:/usr/src/sys/amd64/compile/PANCAKE
WARNING: WITNESS option enabled, expect reduced performance.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz (3010.05-MHz K8-class CPU)
  Origin = "GenuineIntel"  Id = 0x1067a  Stepping = 10
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x408e3fd<SSE3,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,XSAVE>
  AMD Features=0x20100800<SYSCALL,NX,LM>
  AMD Features2=0x1<LAHF>
  TSC: P-state invariant
  Cores per package: 2
usable memory = 8580993024 (8183 MB)
avail memory  = 8285020160 (7901 MB)
ACPI APIC Table: <A_M_I_ OEMAPIC >
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0 <Version 2.0> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <A_M_I_ OEMXSDT> on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, cff00000 (3) failed
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
acpi_hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 900
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> irq 16 at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
vgapci0: <VGA-compatible display> mem 0xf8000000-0xfbffffff,0xd0000000-0xdfffffff,0xfd000000-0xfdffffff irq 16 at device 0.0 on pci1
pci0: <serial bus, USB> at device 26.0 (no driver attached)
pci0: <serial bus, USB> at device 26.1 (no driver attached)
pci0: <serial bus, USB> at device 26.2 (no driver attached)
pci0: <serial bus, USB> at device 26.7 (no driver attached)
pci0: <multimedia, HDA> at device 27.0 (no driver attached)
pcib2: <ACPI PCI-PCI bridge> irq 17 at device 28.0 on pci0
pci5: <ACPI PCI bus> on pcib2
em0: <Intel(R) PRO/1000 Network Connection 6.9.6> port 0xec00-0xec1f mem 0xfebe0000-0xfebfffff,0xfebc0000-0xfebdffff irq 16 at device 0.0 on pci5
em0: Using MSI interrupt
em0: [FILTER]
em0: Ethernet address: 00:1b:21:32:1a:9e
pcib3: <ACPI PCI-PCI bridge> irq 16 at device 28.1 on pci0
pci4: <ACPI PCI bus> on pcib3
atapci0: <SiI 3531 SATA300 controller> port 0xdc00-0xdc7f mem 0xfeaffc00-0xfeaffc7f,0xfeafc000-0xfeafdfff irq 17 at device 0.0 on pci4
atapci0: [ITHREAD]
ata2: <ATA channel 0> on atapci0
ata2: Portmultiplier (id=47261095 rev=1f06) with 7 ports
ata2: error writing PM port
ata2: p6: writing ATA_SC_DET_RESET failed
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci0
ata3: [ITHREAD]
pcib4: <ACPI PCI-PCI bridge> irq 17 at device 28.4 on pci0
pci3: <ACPI PCI bus> on pcib4
atapci1: <Marvell 88SX6101 UDMA133 controller> port 0xcc00-0xcc07,0xc880-0xc883,0xc800-0xc807,0xc480-0xc483,0xc400-0xc40f mem 0xfe9ffc00-0xfe9ffdff irq 16 at device 0.0 on pci3
atapci1: [ITHREAD]
ata4: <ATA channel 0> on atapci1
ata4: [ITHREAD]
pcib5: <ACPI PCI-PCI bridge> irq 16 at device 28.5 on pci0
pci2: <ACPI PCI bus> on pcib5
pci2: <network, ethernet> at device 0.0 (no driver attached)
pci0: <serial bus, USB> at device 29.0 (no driver attached)
pci0: <serial bus, USB> at device 29.1 (no driver attached)
pci0: <serial bus, USB> at device 29.2 (no driver attached)
pci0: <serial bus, USB> at device 29.7 (no driver attached)
pcib6: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci6: <ACPI PCI bus> on pcib6
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci2: <Intel AHCI controller> port 0x9c00-0x9c07,0x9880-0x9883,0x9800-0x9807,0x9480-0x9483,0x9400-0x941f mem 0xf7ffe800-0xf7ffefff irq 19 at device 31.2 on pci0
atapci2: [ITHREAD]
atapci2: AHCI Version 01.20 controller with 6 ports PM supported
ata5: <ATA channel 0> on atapci2
ata5: [ITHREAD]
ata6: <ATA channel 1> on atapci2
ata6: [ITHREAD]
ata7: <ATA channel 2> on atapci2
ata7: [ITHREAD]
ata8: <ATA channel 3> on atapci2
ata8: [ITHREAD]
ata9: <ATA channel 4> on atapci2
ata9: [ITHREAD]
ata10: <ATA channel 5> on atapci2
ata10: [ITHREAD]
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
acpi_button0: <Power Button> on acpi0
atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
cpu0: <ACPI CPU> on acpi0
ACPI Warning (tbutils-0243): Incorrect checksum in table [OEMB] -  A5, should be A4 [20070320]
est0: <Enhanced SpeedStep Frequency Control> on cpu0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
cpu1: <ACPI CPU> on acpi0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
est: CPU supports Enhanced Speedstep, but is not recognized.
est: cpu_vendor GenuineIntel, msr 616092106000921
device_attach: est1 attach returned 6
p4tcc1: <CPU Frequency Thermal Control> on cpu1
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounters tick every 1.000 msec
ata2: Portmultiplier (id=47261095 rev=1f06) with 7 ports
ata2: error writing PM port
ata2: p6: writing ATA_SC_DET_RESET failed
ata2: Portmultiplier (id=47261095 rev=1f06) with 7 ports
ata2: error writing PM port
ata2: p4: writing ATA_SC_DET_RESET failed
ata2: error writing PM port
ata2: p5: writing ATA_SC_DET_RESET failed
ata2: error writing PM port
ata2: p6: writing ATA_SC_DET_RESET failed
ata2: Portmultiplier (id=47261095 rev=1f06) with 7 ports
ata2: error writing PM port
ata2: p6: writing ATA_SC_DET_RESET failed
ata2: Portmultiplier (id=47261095 rev=1f06) with 7 ports
ata2: error writing PM port
ata2: p6: writing ATA_SC_DET_RESET failed
acd0: DVDR <HL-DT-ST DVDRAM GSA-4163B/A103> at ata4-master UDMA33
ad10: 1430799MB <Seagate ST31500341AS CC1H> at ata5-master SATA300
SMP: AP CPU #1 Launched!
WARNING: WITNESS option enabled, expect reduced performance.
GEOM: ad10s1: geometry does not match label (255h,63s != 16h,63s).
Trying to mount root from ufs:/dev/ad10s1a


More information about the freebsd-current mailing list