# Major hardware errors with HDD activity



## aronjd (Jan 31, 2012)

Hi,

Since today my server crashed the ZFS pools twice in one evening. He worked fine for the last few weeks on FreeBSD 9.0 Release. Before that version 8.2.

My hardware consist of the following:

MB: Jetway NC9C-550-LF (link)
Add-on: ADPE4S-LF(link)
Storage HDD: WD Caviar GREEN 2TB WD20EARS (internal 8disks)
OS DISK: Hitachi 160GB


The Raid chip is a: Marvell 88SE6145.

The errors I get are the following:


```
Jan 31 22:31:26 tankstation kernel: ahcich5: Timeout on slot 2 port 0
Jan 31 22:31:26 tankstation kernel: ahcich5: is 80000000 cs 0000000c ss 00000000 rs 0000000c tfd 50010150 serr 00000000 cmd 10040017
Jan 31 22:31:26 tankstation kernel: ahcich5:  ... waiting for slots 00000008
Jan 31 22:31:26 tankstation kernel: ahcich5: Timeout on slot 3 port 0
Jan 31 22:31:26 tankstation kernel: ahcich5: is 80000000 cs 0000000c ss 00000000 rs 0000000c tfd 50010150 serr 00000000 cmd 10040017
Jan 31 22:31:56 tankstation kernel: ahcich5: Timeout on slot 3 port 0
Jan 31 22:31:56 tankstation kernel: ahcich5: is 00000000 cs 00000008 ss 00000000 rs 00000008 tfd 50010150 serr 00000000 cmd 10048017
Jan 31 22:31:56 tankstation kernel: (ada5:ahcich5:0:0:0): lost device
Jan 31 22:31:57 tankstation kernel: (ada5:ahcich5:0:0:0): removing device entry
Jan 31 22:31:57 tankstation kernel: ada5 at ahcich5 bus 0 scbus6 target 0 lun 0
Jan 31 22:31:57 tankstation kernel: ada5: < > ATA-0 device
Jan 31 22:31:57 tankstation kernel: ada5: 300.000MB/s transfers (SATA 2.x, PIO0, PIO 512bytes)
Jan 31 22:31:57 tankstation kernel: ada5: 0MB (0 512 byte sectors: 0H 0S/T 0C)
Jan 31 22:31:57 tankstation kernel: ada5: Previously was known as ad16
Jan 31 22:32:28 tankstation kernel: ahcich3: Timeout on slot 23 port 0
Jan 31 22:32:28 tankstation kernel: ahcich3: is 80000000 cs 01800000 ss 00000000 rs 01800000 tfd 50010150 serr 00000000 cmd 10040017
```

The last time the AHCI engine failed to stop:

```
Jan 31 22:32:59 tankstation kernel: ahcich4: stopping AHCI engine failed
```
I pulled the power plug just before another disk in the same pool was kicked out of the system and would have a faulted pool. after the reboot the data was still there and ZFS had resilverd the disk.

I hope that somebody knows a solution besides replacing the controller.

Thanks!

Aron


----------



## throAU (Feb 1, 2012)

WD green drives are not supported by WD in a RAID configuration.

Sorry to be the bearer of bad news, but WD have really screwed users over lately.  Their "non enterprise" drives do not support RAID (something about no TLER support).  It may work for a limited time, but they WILL fall over and cause array rebuilds.  Some of the drives can have TLER re-enabled by firmware hack, but WD disabled that on more recent ones too.

Do a google search for Western Digital Green and RAID, and I'm sure you'll find plenty of bad news on many different OSes with hardware RAID + WD Greens (under Windows, in hardware NAS boxes, etc).

Sorry.

I'm not sure if ZFS would work with them?


So... it's not replace controller time.  It's replace drives - or abandon hardware RAID altogether.  I have a pair of WD Blacks that do the same thing (I'm pretty annoyed at WD over that - they don't make it clear that the drives are crippled and lack RAID support - hence I am not purchasing any more WDs, after buying them exclusively for the past 5 years).



edit:
According to here:  http://www.tomshardware.com/forum/251076-32-raid-issues-western-digital-hard-disk

You may be able to increase a timeout setting on your RAID controller to enable them to work.  But, it's a kludge, the drives really aren't intended to be used in an array, or on a RAID controller.


----------



## aronjd (Feb 1, 2012)

Hi ThroAU,

Thanks for the reply. As far as I know the TLER function is disabled and cannot be enabled with disks built or sold after December 2009. There is some creepy firmware hanging around the Internet but I don't trust those.

But the function is not needed in a software RAID. The RAID controllers I use are configured in JBOD. If I have been told correctly.

The last time Mav@ helped with the solution:



			
				mav@ said:
			
		

> At last I've got time to test it closer. I can acknowledge that copying large file on ZFS of 4 disks causes command timeout just in few seconds. Same as with provided log messages, I suppose it is not a driver, but a controller problem, as after 30 seconds controller still reports that commands are not completed.
> 
> I've found that disabling NCQ helps with the problem. Together with one more workaround I've committed it to 9-CURRENT at SVN rev 218596: http://svn.freebsd.org/changeset/base/218596.
> 
> Update your sources please and try again.



Link of the post

It seems upgrading to version 9.0 release has the same problem again. I hope that Mav@ is also reading 

Cheers,

Aron


----------



## mav@ (Feb 1, 2012)

"stopping AHCI engine failed" is not good. It also tells that there is something wrong with the controller. If disabling NCQ doesn't help, I have not so many ideas how else I can make it's life easier. Please try this patch:

```
--- ahci.c      (revision 230806)
+++ ahci.c      (working copy)
@@ -989,7 +989,7 @@
        /* Construct SIM entry */
        ch->sim = cam_sim_alloc(ahciaction, ahcipoll, "ahcich", ch,
            device_get_unit(dev), &ch->mtx,
-           min(2, ch->numslots),
+           (ch->caps & AHCI_CAP_SNCQ) ? min(2, ch->numslots) : 1,
            (ch->caps & AHCI_CAP_SNCQ) ? ch->numslots : 0,
            devq);
        if (ch->sim == NULL) {
```
It should disable command queuing on the controller (submitting second non-NCQ command to the controller queue to minimize latencies). I don't remember whether we tried it before.


----------



## aronjd (Feb 1, 2012)

Hi Mav@,

Thanks for the reply!
We never tried this solution. I will try to build it 

But as far I can read now a new RAID controller may be the better solution? That the Marvell chip is not a good controller for my job. I will suggest a replacement of this server.

Cheers,

Aron


----------



## mav@ (Feb 1, 2012)

The biggest problem with Marvell is the total lack of documentation. All hacks made for these chips are completely experimental. What's about the specific one, I also don't very like it looking on number of problems. It were the first AHCI-compatible controllers from Marvell. Following 88SE91xx are also not a cookies, but after number of hacks they seem like working.


----------



## aronjd (Feb 2, 2012)

Hi, 

Back again  While my new kernel is compiling *I* was looking around and found a controller in the price range for this server. But *I* cannot find it in the FreeBSD disk controller list. I hope that somebody knows if this drive will work perfectly?

Promise SATA300 TX4

As a bonus it supports NCQ/TCQ.

Cheers,

Aron


----------



## mav@ (Feb 2, 2012)

This is one more undocumented beast with proprietary API. It is supported by ata(4), but without NCQ and with no warranties. Beside it, it is also PCI, so about 100MB/s total is its maximum.


----------



## disi (Aug 9, 2012)

I have the exact same problem and it kicks one disk after the other out of the system on the Marvell controller. Its OK, if the disks don't spin down and there are no heavy jobs on it (like scrub). This happens since upgrade to FreeBSD-9 and I used ahci before with 8.2 just fine.

//edit: 2-3 reboots later same error and then suddenly no errors any more...

//edit: How about this one: PSA420 Koutech? On Newegg they claim FreeBSD, Linux, MAC and  MS. From the reviews, RAID is bad and fails but I would use it as JBOD anyway and not the onboard chip.

Note:
exact same hardware board and addon
exact same hard drives

It worked with ~5month uptime in 8.2, problems started ~22 days after FreeBSD-9 upgrade.
2-3 reboots without any other change and the drives on the controller are working normal (probably for another 22 days?)


----------



## mav@ (Aug 10, 2012)

disi said:
			
		

> How about this one: PSA420 Koutech? On Newegg they claim FreeBSD, Linux, MAC and  MS. From the reviews, RAID is bad and fails but I would use it as JBOD anyway and not the onboard chip.



This is SiI3124 chip. It is a bit old, but well documented, supported and should work fine with siis(4) driver. Its RAID is also supported by GEOM RAID class. PCI bus is quite slow for this chip and will be a bottleneck. PCI-X would be much preferred when possible. There are also PCIe boards on it, but they are more expensive, that reduces their usability.


----------



## disi (Aug 10, 2012)

Thanks, the bottleneck will always be the Gigabit network anyway and 40MB/s more or less don't bother me. I can report no trouble for ~24 hours now... this is the last log in the root email, from there on its working fine:

```
+ahcich3: is 00000000 cs 0000c000 ss 00000000 rs 0000c000 tfd 50014051 serr 00000000 cmd 10040e17
+(ada3:ahcich3:0:0:0): READ_DMA. ACB: c8 00 18 0d ff 42 00 00 00 00 06 00
+ahcich3: Timeout on slot 15 port 0
+ahcich3: is 00000000 cs 00008000 ss 00000000 rs 00008000 tfd 50014051 serr 00000000 cmd 10040f17
+ahcich3: Timeout on slot 15 port 0
+ahcich3: is 00000000 cs 00008000 ss 00000000 rs 00008000 tfd 50014051 serr 00000000 cmd 10040f17
+ahcich3: Timeout on slot 15 port 0
+ahcich3: is 00000000 cs 00018000 ss 00000000 rs 00018000 tfd 50014051 serr 00000000 cmd 10040f17
+(ada3:ahcich3:0:0:0): READ_DMA. ACB: c8 00 18 0d ff 42 00 00 00 00 06 00
+(ada3:ahcich3:0:0:0): READ_DMA. ACB: c8 00 3d 83 ff 42 00 00 00 00 06 00
+ada3 at ahcich3 bus 0 scbus4 target 0 lun 0
+ada3: <WDC WD20EARS-00MVWB0 51.0AB51> ATA-8 SATA 2.x device
+ada3: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
+ada3: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C)
+ada3: Previously was known as ad12
```
It got resilvered and everything seems to be back to normal...
I found another one with a SiliconImage chip:
Silicon Image - SiI3114R


----------



## mav@ (Aug 10, 2012)

SiI3114 is even older chip. It is much less functional (SATA1.x and no NCQ) and some of its revisions had some issues. I would prefer SiI3124.


----------



## disi (Aug 16, 2012)

Yay, the new controller arrived its a SiI3114CTU chip and in the datasheet no mention of NCQ in the protocol and anything... however: 





Not sure if this is false advertisement, going to install it later at home


----------



## disi (Aug 16, 2012)

Mav? I need some further help with this. The drives are not showing up... should I get some BIOS message from the SATA controller?


----------



## mav@ (Aug 17, 2012)

Messages on boot depend on whether board has own BIOS to allow booting from it. If you don't need to boot from it, BIOS is not usually required. But make sure that controller itself detected by the system.


----------



## disi (Aug 17, 2012)

mav@ said:
			
		

> Messages on boot depend on whether board has own BIOS to allow booting from it. If you don't need to boot from it, BIOS is not usually required. But make sure that controller itself detected by the system.



Here are the devices:

```
root@disi-disk:/root # pciconf -lv
hostb0@pci0:0:0:0:	class=0x060000 card=0xa0108086 chip=0xa0108086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    class      = bridge
    subclass   = HOST-PCI
vgapci0@pci0:0:2:0:	class=0x030000 card=0xa0118086 chip=0xa0118086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    class      = display
    subclass   = VGA
vgapci1@pci0:0:2:1:	class=0x038000 card=0xa0118086 chip=0xa0128086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    class      = display
none0@pci0:0:27:0:	class=0x040300 card=0x170516f3 chip=0x27d88086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'IDT High Definition Audio Driver  (BA101897)'
    class      = multimedia
    subclass   = HDA
pcib1@pci0:0:28:0:	class=0x060400 card=0x27d08086 chip=0x27d08086 rev=0x02 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) PCIe Root Port'
    class      = bridge
    subclass   = PCI-PCI
pcib2@pci0:0:28:1:	class=0x060400 card=0x27d28086 chip=0x27d28086 rev=0x02 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) PCIe Root Port'
    class      = bridge
    subclass   = PCI-PCI
pcib3@pci0:0:28:2:	class=0x060400 card=0x27d48086 chip=0x27d48086 rev=0x02 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) PCIe Root Port'
    class      = bridge
    subclass   = PCI-PCI
pcib4@pci0:0:28:3:	class=0x060400 card=0x27d68086 chip=0x27d68086 rev=0x02 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) PCIe Root Port'
    class      = bridge
    subclass   = PCI-PCI
uhci0@pci0:0:29:0:	class=0x0c0300 card=0x27c88086 chip=0x27c88086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) USB Universal Host Controller'
    class      = serial bus
    subclass   = USB
uhci1@pci0:0:29:1:	class=0x0c0300 card=0x27c98086 chip=0x27c98086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) USB Universal Host Controller'
    class      = serial bus
    subclass   = USB
uhci2@pci0:0:29:2:	class=0x0c0300 card=0x27ca8086 chip=0x27ca8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) USB Universal Host Controller'
    class      = serial bus
    subclass   = USB
uhci3@pci0:0:29:3:	class=0x0c0300 card=0x27cb8086 chip=0x27cb8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) USB Universal Host Controller'
    class      = serial bus
    subclass   = USB
ehci0@pci0:0:29:7:	class=0x0c0320 card=0x27cc0010 chip=0x27cc8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) USB 2.0 Enhanced Host Controller'
    class      = serial bus
    subclass   = USB
pcib5@pci0:0:30:0:	class=0x060401 card=0x24488086 chip=0x24488086 rev=0xe2 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82801 Family (ICH2/3/4/5/6/7/8/9-M) Hub Interface to PCI Bridge'
    class      = bridge
    subclass   = PCI-PCI
isab0@pci0:0:31:0:	class=0x060100 card=0x27bc8086 chip=0x27bc8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    class      = bridge
    subclass   = PCI-ISA
ahci1@pci0:0:31:2:	class=0x010601 card=0x27c18086 chip=0x27c18086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801GB I/O Controller Hub SATA cc=AHCI'
    class      = mass storage
    subclass   = SATA
none1@pci0:0:31:3:	class=0x0c0500 card=0x27da8086 chip=0x27da8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Intel[R] 82801G (ICH7 Family) C- 27DA (82801G)'
    class      = serial bus
    subclass   = SMBus
re0@pci0:2:0:0:	class=0x020000 card=0x816810ec chip=0x816810ec rev=0x06 hdr=0x00
    vendor     = 'Realtek Semiconductor'
    device     = 'Gigabit Ethernet NIC(NDIS 6.0) (RTL8168/8111/8111c)'
    class      = network
    subclass   = ethernet
re1@pci0:3:0:0:	class=0x020000 card=0x816810ec chip=0x816810ec rev=0x06 hdr=0x00
    vendor     = 'Realtek Semiconductor'
    device     = 'Gigabit Ethernet NIC(NDIS 6.0) (RTL8168/8111/8111c)'
    class      = network
    subclass   = ethernet
ahci0@pci0:4:0:0:	class=0x010601 card=0x2363197b chip=0x2363197b rev=0x02 hdr=0x00
    vendor     = 'JMicron Technology Corp.'
    device     = 'JMicron JMB362/JMB363 AHCI Controller (JMB36X)'
    class      = mass storage
    subclass   = SATA
atapci0@pci0:4:0:1:	class=0x010185 card=0x2363197b chip=0x2363197b rev=0x02 hdr=0x00
    vendor     = 'JMicron Technology Corp.'
    device     = 'JMicron JMB362/JMB363 AHCI Controller (JMB36X)'
    class      = mass storage
    subclass   = ATA
none2@pci0:5:1:0:	class=0x010600 card=0x00020000 chip=0x31161095 rev=0x02 hdr=0x02
    vendor     = 'Silicon Image Inc (Was: CMD Technology Inc)'
    class      = mass storage
    subclass   = SATA
```

Shouldn't it also have ahci, ata or both? I tried to run camcontrol rescan all but just found the ones on the first controller.


----------



## kpa (Aug 17, 2012)

Do you have the siis(4) driver loaded? If it's not included in your kernel then you have load it:

`# kldload siis`


----------



## disi (Aug 17, 2012)

Thanks kpa, I added 
	
	



```
siis_load="YES"
```
 to /boot/loader.conf but didn't do the trick. And I get:

```
root@disi-disk:/root # kldload siis
kldload: can't load siis: File exists
```
Then I checked the kernel config and there is no

```
device siis
```
entry
But I can see the description in /usr/src/sys/conf/NOTES. So I added it to a custom config and currently rebuilding the kernel...

//edit:
Arrgh:


> HARDWARE
> The siis driver supports the following controller chips:
> +o	 SiI3124 (PCI-X 133MHz/64bit, 4 ports)
> +o	 SiI3131 (PCIe 1.0 x1, 1 port)
> ...


----------



## kpa (Aug 17, 2012)

It's already in the kernel if you get the File exists -message. Is there anything in the dmesg(8) output related to the siis(4) driver?


----------



## disi (Aug 17, 2012)

Nope, this is a SiI3114 chip seems not supported? Was it ever and got dropped?


----------



## kpa (Aug 17, 2012)

It's actually supported by ata(4), grep(1) for both ata and ahci in the dmesg(8) output.


----------



## disi (Aug 17, 2012)

Here is the output:

```
root@disi-disk:/root # dmesg | grep ata
atapci0: <JMicron JMB363 UDMA133 controller> port 0xec00-0xec07,0xe880-0xe883,0xe800-0xe807,0xe480-0xe483,0xe400-0xe40f irq 16 at device 0.1 on pci4
atapci0: [ITHREAD]
ata2: <ATA channel> at channel 0 on atapci0
ata2: [ITHREAD]
You have new mail.
root@disi-disk:/root # dmesg | grep ahci
ahci0: <JMicron JMB363 AHCI SATA controller> mem 0xfebfe000-0xfebfffff irq 19 at device 0.0 on pci4
ahci0: [ITHREAD]
ahci0: AHCI v1.00 with 2 3Gbps ports, Port Multiplier supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich0: [ITHREAD]
ahcich1: <AHCI channel> at channel 1 on ahci0
ahcich1: [ITHREAD]
ahci1: <Intel ICH7 AHCI SATA controller> port 0xa800-0xa807,0xb080-0xb083,0xb000-0xb007,0xac00-0xac03,0xa880-0xa89f mem 0xfeaef800-0xfeaefbff irq 19 at device 31.2 on pci0
ahci1: [ITHREAD]
ahci1: AHCI v1.10 with 4 3Gbps ports, Port Multiplier not supported
ahcich2: <AHCI channel> at channel 0 on ahci1
ahcich2: [ITHREAD]
ahcich3: <AHCI channel> at channel 1 on ahci1
ahcich3: [ITHREAD]
ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
ada1 at ahcich1 bus 0 scbus1 target 0 lun 0
ada2 at ahcich2 bus 0 scbus2 target 0 lun 0
ada3 at ahcich3 bus 0 scbus3 target 0 lun 0
```
If I try
	
	



```
kldload atasis
```
, I get

```
interface ata_sys.1 already present in KLD 'kernel'!
linker_load_file: Unsupported file type
```


----------



## mav@ (Aug 19, 2012)

Device IDs you've shown doesn't match known 3114. It is unknown to the drivers. Also device info fits neither plain ATA driver nor AHCI driver to be detected as "generic". That's why you see "none" there. What is exactly written on your chip? You may need to add line with your chip ID to the sys/dev/ata/chipsets/ata-siliconimage.c and rebuild the kernel.


----------



## disi (Aug 20, 2012)

mav@ said:
			
		

> Device IDs you've shown doesn't match known 3114. It is unknown to the drivers. Also device info fits neither plain ATA driver nor AHCI driver to be detected as "generic". That's why you see "none" there. What is exactly written on your chip? You may need to add line with your chip ID to the sys/dev/ata/chipsets/ata-siliconimage.c and rebuild the kernel.



Hi and thanks,
this SiI3114CTU is written on the chip, I think. I am going to have a look later 

//edit: I guess it needs to go into ids[], but I am not sure what to put in there...

```
class=0x010600 card=0x00020000 chip=0x31161095 rev=0x02 hdr=0x02
```
Any of these?

//edit: from the datasheet:


> Device ID â€“ Vendor ID
> Address Offset: 00H
> Access Type: Read /Write
> Reset Value: 0x3114_1095
> 1) This field defaults to 0x3114 to identify the device as a Silicon Image SiI3114



I have 0x3116 

//edit:
So, my guess: /sys/dev/ata/ata-pci.h needs an entry and I will try to copy the entry for 3114 in /sys/dev/ata/chipsets/ata-siliconimage.c
Maybe I could even use the entry for 3124?!?


----------



## disi (Aug 20, 2012)

OK, the drives show up now (ad[2|4|6]):

```
/dev/ad10	/dev/ad10p2	/dev/ad12	/dev/ad6	/dev/ada1	/dev/ada2p1	/dev/ada2p3
/dev/ad10p1	/dev/ad10p3	/dev/ad4	/dev/ada0	/dev/ada2	/dev/ada2p2	/dev/ada3
```
However, still unknown:

```
hostb0@pci0:0:0:0:	class=0x060000 card=0xa0108086 chip=0xa0108086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'N10 Family DMI Bridge'
    class      = bridge
    subclass   = HOST-PCI
vgapci0@pci0:0:2:0:	class=0x030000 card=0xa0118086 chip=0xa0118086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'N10 Family Integrated Graphics Controller'
    class      = display
    subclass   = VGA
vgapci1@pci0:0:2:1:	class=0x038000 card=0xa0118086 chip=0xa0128086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'N10 Family Integrated Graphics Controller'
    class      = display
pcib1@pci0:0:28:0:	class=0x060400 card=0x27d08086 chip=0x27d08086 rev=0x02 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = 'N10/ICH 7 Family PCI Express Port 1'
    class      = bridge
    subclass   = PCI-PCI
pcib2@pci0:0:28:1:	class=0x060400 card=0x27d28086 chip=0x27d28086 rev=0x02 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = 'N10/ICH 7 Family PCI Express Port 2'
    class      = bridge
    subclass   = PCI-PCI
pcib3@pci0:0:28:2:	class=0x060400 card=0x27d48086 chip=0x27d48086 rev=0x02 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = 'N10/ICH 7 Family PCI Express Port 3'
    class      = bridge
    subclass   = PCI-PCI
pcib4@pci0:0:28:3:	class=0x060400 card=0x27d68086 chip=0x27d68086 rev=0x02 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = 'N10/ICH 7 Family PCI Express Port 4'
    class      = bridge
    subclass   = PCI-PCI
uhci0@pci0:0:29:0:	class=0x0c0300 card=0x27c88086 chip=0x27c88086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'N10/ICH 7 Family USB UHCI Controller'
    class      = serial bus
    subclass   = USB
uhci1@pci0:0:29:1:	class=0x0c0300 card=0x27c98086 chip=0x27c98086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'N10/ICH 7 Family USB UHCI Controller'
    class      = serial bus
    subclass   = USB
uhci2@pci0:0:29:2:	class=0x0c0300 card=0x27ca8086 chip=0x27ca8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'N10/ICH 7 Family USB UHCI Controller'
    class      = serial bus
    subclass   = USB
uhci3@pci0:0:29:3:	class=0x0c0300 card=0x27cb8086 chip=0x27cb8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'N10/ICH 7 Family USB UHCI Controller'
    class      = serial bus
    subclass   = USB
ehci0@pci0:0:29:7:	class=0x0c0320 card=0x27cc0010 chip=0x27cc8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'N10/ICH 7 Family USB2 EHCI Controller'
    class      = serial bus
    subclass   = USB
pcib5@pci0:0:30:0:	class=0x060401 card=0x24488086 chip=0x24488086 rev=0xe2 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82801 Mobile PCI Bridge'
    class      = bridge
    subclass   = PCI-PCI
isab0@pci0:0:31:0:	class=0x060100 card=0x27bc8086 chip=0x27bc8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'NM10 Family LPC Controller'
    class      = bridge
    subclass   = PCI-ISA
ahci1@pci0:0:31:2:	class=0x010601 card=0x27c18086 chip=0x27c18086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'N10/ICH7 Family SATA AHCI Controller'
    class      = mass storage
    subclass   = SATA
none0@pci0:0:31:3:	class=0x0c0500 card=0x27da8086 chip=0x27da8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'N10/ICH 7 Family SMBus Controller'
    class      = serial bus
    subclass   = SMBus
re0@pci0:2:0:0:	class=0x020000 card=0x816810ec chip=0x816810ec rev=0x06 hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    device     = 'RTL8111/8168B PCI Express Gigabit Ethernet controller'
    class      = network
    subclass   = ethernet
re1@pci0:3:0:0:	class=0x020000 card=0x816810ec chip=0x816810ec rev=0x06 hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    device     = 'RTL8111/8168B PCI Express Gigabit Ethernet controller'
    class      = network
    subclass   = ethernet
atapci0@pci0:4:0:0:	class=0x010185 card=0x2363197b chip=0x2363197b rev=0x02 hdr=0x00
    vendor     = 'JMicron Technology Corp.'
    device     = 'JMB362/JMB363 Serial ATA Controller'
    class      = mass storage
    subclass   = ATA
none1@pci0:5:1:0:	class=0x010600 card=0x00020000 chip=0x31161095 rev=0x02 hdr=0x02
    vendor     = 'Silicon Image, Inc.'
    class      = mass storage
    subclass   = SATA
```
I added to /sys/dev/ata/ata-pci.h

```
#define ATA_SII3124_1           0x31161095
```
and to /sys/dev/ata/chipsets/ata-siliconimage.c

```
{ ATA_SII3124_1, 0x00, SII_PRBIO, SII_4CH,    ATA_SA300, "3124" },
```

//edit: but the zpool seems gone? (was my backup-pool anyway)?

//edit: I hope it was OK to promote a class rather than demote it...


----------



## disi (Aug 20, 2012)

```
root@disi-disk:/root # camcontrol rescan all
Re-scan of bus 0 was successful
Re-scan of bus 1 was successful
Re-scan of bus 2 was successful
Re-scan of bus 3 was successful
Re-scan of bus 4 was successful
Re-scan of bus 5 was successful
```
?!?


----------



## mav@ (Aug 20, 2012)

3114 and 3124 are very different chips. Driver may not attach if you hint it incorrectly. You should try to copy 3114 line instead.


----------



## disi (Aug 20, 2012)

If I change to 3114. I get a compile error, try tomorrow again. Thank you for the input...

//edit: forgot a comma -.-
its showing up now:

```
atapci1@pci0:5:1:0:     class=0x010600 card=0x00020000 chip=0x31161095 rev=0x02 hdr=0x02
    vendor     = 'Silicon Image, Inc.'
    class      = mass storage
    subclass   = SATA
```
and

```
/dev/ad18       /dev/ad18p3     /dev/ad6        /dev/ada2       /dev/ada2p3
/dev/ad18p1     /dev/ad20       /dev/ada0       /dev/ada2p1     /dev/ada3
/dev/ad18p2     /dev/ad4        /dev/ada1       /dev/ada2p2
```
Somebody knows why the drives show only zfs label 'tank1' when they should be 'tank2'? The pool still isn't showing up, the drive sizes are correct.
As if they were all in one pool, the guids are different...
/dev/ad4 (was tank2) : http://ompldr.org/vZjZqbA
/dev/ada1 (is tank1) : http://ompldr.org/vZjZqbg

//edit:

```
root@disi-disk:/root # atacontrol list                                                                   
atacontrol:
ATA_CAM option is enabled in kernel.
Please use camcontrol instead.
root@disi-disk:/root # camcontrol devlist
<WDC WD20EARS-00MVWB0 51.0AB51>    at scbus0 target 0 lun 0 (ada0,pass0)
<WDC WD20EARS-00MVWB0 51.0AB51>    at scbus1 target 0 lun 0 (ada1,pass1)
<OCZ-ONYX 1.6>                     at scbus7 target 0 lun 0 (ada2,pass2)
<WDC WD20EARS-00MVWB0 51.0AB51>    at scbus8 target 0 lun 0 (ada3,pass3)
```

Those are not the drives, but the ones on the onboard controller twice:

```
Serial Number:    WD-WMAZA2944012 ada0
Serial Number:    WD-WMAZA2843982 ada1
Serial Number:    81U5909M9607733X0JF8 ada2
Serial Number:    WD-WMAZA3015079 ad20
Serial Number:    WD-WMAZA2944012 ad4 
Serial Number:    WD-WMAZA2843982 ad6
```


----------



## disi (Aug 22, 2012)

I am going to get one of those port multipliers, they should just work *hope:
http://www.sybausa.com/productInfo.php?iid=1099

//edit:
arrgh:
SY-PCI40037 disable raid

//edit:
FYI, command-based multiplier don't work either (no driver support in FreeBSD). In case someone reads this.


----------

