# ASM1061 SATA chip, is it supported?



## olav (Jul 8, 2011)

There is a new cheap and fast SATA chip in town named ASM1061 -> http://www.asmedia.com.tw/eng/e_show_products.php?cate_index=117&item=118
This chip is used on the ASUS Crosshair V Formula motherboard.

Do anyone know if this chip works with FreeBSD? How about Solaris or Linux?


----------



## mav@ (Jul 8, 2011)

First time hear about it. Do you have any more info about it? Verbose dmesg? Anything?


----------



## olav (Jul 8, 2011)

I just ordered a controller with that chipset from Ebay. I will get it in a few weeks and will post more information.


----------



## epijunkie (Jul 22, 2011)

olav, Have you received your motherboard? And have you had a chance to test out if the SATA chipset has a driver in FreeBSD?


----------



## olav (Jul 22, 2011)

No I'm still waiting. I didn't buy a motherboard with it, just a 2 port controller.


----------



## epijunkie (Jul 22, 2011)

olav,

I see. Thanks for your quick response. I'm looking to buy an expansion card for a NAS that I'm rebuilding and like you've stated, they are cheap chipset. Here is the card I am looking at: SYBA SY-PEX40039 http://www.newegg.com/Product/Product.aspx?Item=N82E16816124045

I eagerly await your results.


----------



## mav@ (Jul 22, 2011)

Looking on "Compliance Serial ATA AHCI Spec. Rev. 1.3" for that SYBA, I suppose it should work. With some luck -- out of the box. I won't be too much surprised if it is relabeled Marvell chip. Can't wait to see verbose dmesg and `pciconf -lvcb`.


----------



## olav (Aug 10, 2011)

Good news, I just tried the controller with FreeBSD 9 Current

dmesg:

```
ahci0: <AHCI SATA controller> port 0xcc00-0xcc07,0xc880-0xc883,0xc800-0xc807,
0xc480-0xc483,0xc400-0xc41f mem 0xfe9ffc00-0xfe9ffdff irq 16 at device 0.0 on pci3
ahci0: AHCI v1.20 with 2 6Gbps ports, Port Multiplier supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich1: <AHCI channel> at channel 1 on ahci0
```

pciconf:

```
ahci0@pci0:3:0:0:       class=0x010601 card=0x10601b21 chip=0x06121b21 rev=0x01 hdr=0x00
    vendor     = 'ASMedia Technology Inc.'
    class      = mass storage
    subclass   = SATA
    bar   [10] = type I/O Port, range 32, base 0xcc00, size  8, enabled
    bar   [14] = type I/O Port, range 32, base 0xc880, size  4, enabled
    bar   [18] = type I/O Port, range 32, base 0xc800, size  8, enabled
    bar   [1c] = type I/O Port, range 32, base 0xc480, size  4, enabled
    bar   [20] = type I/O Port, range 32, base 0xc400, size 32, enabled
    bar   [24] = type Memory, range 32, base 0xfe9ffc00, size 512, enabled
    cap 05[50] = MSI supports 1 message enabled with 1 message
    cap 01[78] = powerspec 3  supports D0 D3  current D0
    cap 10[80] = PCI-Express 2 legacy endpoint max data 128(512) link x1(x1)
ecap 0002[100] = VC 1 max VC0
```

A quick test showed excellent performance from a 3TB WD Green(around 120MB/s), and hot swapping works


----------



## mav@ (Aug 11, 2011)

Cool! Could you also show _verbose_ dmesg?


----------



## aragon (Aug 11, 2011)

mav@ said:
			
		

> Could you also show _verbose_ dmesg?


`# boot -v`

at the loader prompt...


----------



## olav (Aug 22, 2011)

Sorry for the late reply. I moved to a new apartment last week.

Anyway I tried with verbose boot:

```
nextboot -o "-v" -k kernel
```

And got following output

```
Aug 22 23:11:27 sbay1 kernel: ahci0: <AHCI SATA controller> port 0xcc00-0xcc07,0xc880-0xc883,0xc800-0xc807,0xc480-0xc483,
0xc400-0xc41f mem 0xfe9ffc00-0xfe9ffdff irq 16 at device 0.0 on pci3
Aug 22 23:11:27 sbay1 kernel: ahci0: attempting to allocate 1 MSI vectors (1 supported)
Aug 22 23:11:27 sbay1 kernel: msi: routing MSI IRQ 257 to local APIC 0 vector 50
Aug 22 23:11:27 sbay1 kernel: ahci0: using IRQ 257 for MSI
Aug 22 23:11:27 sbay1 kernel: ahci0: AHCI v1.20 with 2 6Gbps ports, Port Multiplier supported
Aug 22 23:11:27 sbay1 kernel: ahci0: Caps: 64bit NCQ SNTF SS AL CLO 6Gbps PM PMD SSC PSC 32cmd CCC eSATA 2ports
Aug 22 23:11:27 sbay1 kernel: ahci0: Caps2:
Aug 22 23:11:27 sbay1 kernel: ahcich0: <AHCI channel> at channel 0 on ahci0
Aug 22 23:11:27 sbay1 kernel: ahcich0: Caps: HPCP
Aug 22 23:11:27 sbay1 kernel: ahcich1: <AHCI channel> at channel 1 on ahci0
Aug 22 23:11:27 sbay1 kernel: ahcich1: Caps: HPCP
Aug 22 23:11:27 sbay1 kernel: pcib4: <ACPI PCI-PCI bridge> irq 18 at device 6.0 on pci0
Aug 22 23:11:27 sbay1 kernel: pcib0: allocated type 4 (0xd000-0xdfff) for rid 1c of pcib4
Aug 22 23:11:27 sbay1 kernel: pcib0: allocated type 3 (0xfea00000-0xfeafffff) for rid 20 of pcib4
Aug 22 23:11:27 sbay1 kernel: pcib4:   domain            0
Aug 22 23:11:27 sbay1 kernel: pcib4:   secondary bus     4
Aug 22 23:11:27 sbay1 kernel: pcib4:   subordinate bus   4
Aug 22 23:11:27 sbay1 kernel: pcib4:   I/O decode        0xd000-0xdfff
Aug 22 23:11:27 sbay1 kernel: pcib4:   memory decode     0xfea00000-0xfeafffff
Aug 22 23:11:27 sbay1 kernel: pcib4:   no prefetched decode
Aug 22 23:11:27 sbay1 kernel: pci4: <ACPI PCI bus> on pcib4
Aug 22 23:11:27 sbay1 kernel: pci4: domain=0, physical bus=4
Aug 22 23:11:27 sbay1 kernel: found->   vendor=0x1969, dev=0x1063, revid=0xc0
Aug 22 23:11:27 sbay1 kernel: domain=0, bus=4, slot=0, func=0
Aug 22 23:11:27 sbay1 kernel: class=02-00-00, hdrtype=0x00, mfdev=0
Aug 22 23:11:27 sbay1 kernel: cmdreg=0x0107, statreg=0x4010, cachelnsz=16 (dwords)
Aug 22 23:11:27 sbay1 kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
Aug 22 23:11:27 sbay1 kernel: intpin=a, irq=10
Aug 22 23:11:27 sbay1 kernel: powerspec 3  supports D0 D3  current D0
Aug 22 23:11:27 sbay1 kernel: MSI supports 1 message, 64 bit
Aug 22 23:11:27 sbay1 kernel: map[10]: type Memory, range 64, base 0xfeac0000, size 18, enabled
Aug 22 23:11:27 sbay1 kernel: pcib4: allocated memory range (0xfeac0000-0xfeafffff) for rid 10 of pci0:4:0:0
Aug 22 23:11:27 sbay1 kernel: map[18]: type I/O Port, range 32, base 0xdc00, size  7, enabled
Aug 22 23:11:27 sbay1 kernel: pcib4: allocated I/O port range (0xdc00-0xdc7f) for rid 18 of pci0:4:0:0
Aug 22 23:11:27 sbay1 kernel: pcib4: matched entry for 4.0.INTA
Aug 22 23:11:27 sbay1 kernel: pcib4: slot 0 INTA hardwired to IRQ 18
```

I've also added full boot log


----------



## deepdish (Aug 31, 2011)

I purchased a SATA controller with the same chip, this also works under 8.2-RELEASE

Here is the link for the controller 
http://www.sybausa.com/productInfo.php?iid=1104


----------



## mav@ (Sep 2, 2011)

For cosmetics added chip PCI ID to ahci(4) on 9-CURRENT and 8-STABLE.


----------



## hernandeschaves (Sep 30, 2012)

*Help!*

I purchased one of these for use in FreeNAS (FreeBSD), but I do not know how to make it work. The disks connected to it, are not available on the FreeNAS interface. Someone could indicate a step-by-step guide to enable it on FreeBSD?

Thank's.


----------



## Anonymous (Sep 30, 2012)

hernandeschaves said:
			
		

> I purchased one of these for use in FreeNAS (FreeBSD), but I do not know how to make it work. The disks connected to it, are not available on the FreeNAS interface. Someone could indicate a step-by-step guide to enable it on FreeBSD?
> 
> Thank's.



I got a mini PCIe card with this chipset and it worked out of the box on FreeBSD 8.3 Release, and nothing had to be enabled for this. Excerpt from dmseg -a:


```
ahci0:<ASMedia ASM1061 AHCI SATA controller> port 0x2028-0x202f,0x2034-0x2037,0x2020-0x2027,0x2030-0x2033,0x2000-0x201f mem 0xf0200000-0xf02001ff irq 17 at device 0.0 on pci2
```

Of course, you have to format/partition the attached disks, however, this is another story.

Best regards

Rolf


----------



## wblock@ (Sep 30, 2012)

hernandeschaves said:
			
		

> I purchased one of these for use in FreeNAS (FreeBSD), but I do not know how to make it work. The disks connected to it, are not available on the FreeNAS interface. Someone could indicate a step-by-step guide to enable it on FreeBSD?



It apparently does work on FreeBSD.  FreeNAS is based on FreeBSD, but may be based on a version from before that controller was supported.  The FreeNAS forums would be a better place to ask.


----------



## lbc (Oct 9, 2012)

I'm using a couple of these adapters, and I've had to use the 

```
hint.ahci.0.msi=0
```
 tunable in /boot/loader.conf, similarly to the Highpoint RocketRAID 620 adapter in order for the disk to be seen by FreeBSD 9.0-RELEASE's GENERIC kernel, and to show up as /dev/ada* device nodes.

I hope it doesn't affect reliability in any way.

(Setting 
	
	



```
hint.ahci.0.msi=2
```
 didn't make the device work any better.)

As with the Highpoint adapter, dmesg(8) was otherwise showing CAM command timeouts:

```
ahcich0: is 00000002 cs 00000000 ss 00000000 rs 00000001 tfd 50 serr 00000000 cmd 0004c017
ahcich0: AHCI reset...
ahcich0: SATA connect time=1000us status=00000123
ahcich0: AHCI reset: device found
(aprobe0:ahcich0:0:0:0): ATA_IDENTIFY. ACB: ec 00 00 00 00 40 00 00 00 00 00 00
[B](aprobe0:ahcich0:0:0:0): CAM status: Command timeout[/B]
ahcich0: AHCI reset: device ready after 100ms
(aprobe0:ahcich0:0:0:0): SIGNATURE: 0000
run_interrupt_driven_hooks: still waiting after 60 seconds for xpt_config
ahcich0: Timeout on slot 0 port 0
ahcich0: is 00000002 cs 00000000 ss 00000000 rs 00000001 tfd 50 serr 00000000 cmd 0004c017
ahcich0: AHCI reset...
ahcich0: SATA connect time=1000us status=00000123
ahcich0: AHCI reset: device found
(aprobe0:ahcich0:0:0:0): ATA_IDENTIFY. ACB: ec 00 00 00 00 40 00 00 00 00 00 00
[B](aprobe0:ahcich0:0:0:0): CAM status: Command timeout[/B]
```

It might also be worth mentionning that my adapters describe themselves as "Asmedia *106X* PATA/SATA Controller" in their ROM BIOS. The difference between 106X and 1061 made me wonder whether they were different chips when I didn't see device nodes at first, but pciconf(8) and dmesg(8) output shows they are them same. (add. 2012.11.03: on the chip itself is printed _asmedia 1061_)


----------



## dndlnx (Nov 3, 2012)

I purchased a PCI Express card with this chip, made by SYBA. It is picked up, but I cannot see my disk.


```
ahci0: <ASMedia ASM1061 AHCI SATA controller> port 0xe050-0xe057,0xe040-0xe043,0xe030-0xe037,
0xe020-0xe023,0xe000-0xe01f mem 0xfe510000-0xfe5101ff irq 16 at device 0.0 on pci1
ahci0: AHCI v1.20 with 2 6Gbps ports, Port Multiplier supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich1: <AHCI channel> at channel 1 on ahci0
```

It isn't found at boot either. I get a message before the UEFI screen like: 


```
Asmedia 106X SATA Controller Ver <something> IDE Mode
S.M.A.R.T. Supported
Using PCIE Gen 2

Can't find any device.
```

I have tried IDE/AHCI modes, and the suggested /boot/loader.conf hint.  This is my first SATA card, what am I doing wrong?

I need to get this sorted out ASAP. All my data is sitting in a single ZFS pool, with no backup. I need this disk to be recognized so I can format it. Maybe it's a faulty card?

:\


----------



## lbc (Nov 3, 2012)

Are the disks you're using recognized by other SATA controllers ?

If you hook up another disk to the controller, is it show by the card's ROM output at boot ?

Have you tried using a new SATA cable ? The pair of ASM 106X cards I have are of a really cheap make, with the SATA connector designed in such a way that the cable is not retained in any way. Maybe it's just a cabling problem.


----------



## dndlnx (Nov 3, 2012)

The disk is recognized using  SATA ports on the main board. I connected other drives to the card.  I have tried different SATA cables.  They aren't retained,  but I've pushed them as far as they can go. Nothing is recognized.

Maybe it's a junk card. Should these things normally recognize disks at boot, without fuss? Last thing I can try is upgrade the Asus UEFI (isn't even recognized there) and test in another computer with PCI-E.


----------



## lbc (Nov 3, 2012)

dbsd said:
			
		

> Should these things normally recognize disks at boot, without fuss?


In my experience, yes. I've dealt with several common, cheap IDE and SATA HBAs over the years. I've recently heard of a single SATA controller possibly being picky about disks it decided to display as detected (might have been SMART-aware), on a Apple MacBook Pro).



> Last thing I can try is upgrade the Asus UEFI (isn't even recognized there)


I don't think it's worth trying, the EFI can only see what the HBA card itself sees.



> and test in another computer with PCI-E.


That's worth a shot. I'd be surprised if the disks were seen in any other computer.



> Maybe it's a junk card.


Maybe :e The fact that none of them support message signaled interrupts is certainly a sign that the best isn't to be expected of the chip itself, and my experience with it is pretty bad.

Add. By the way, how did you change your card from AHCI to IDE mode ? I don't see a menu shortcut hint in my ROM output :

```
Asmedia 106X SATA/PATA Controller Ver 0.89 AHCI Mode
Copyright (C) Asmedia Technologies, Inc. All Right reserved.
S.M.A.R.T. Supported
Using PCIE Gen 1
Can't find any device
```

Does your card have a firmware version different than mine ?


----------



## dndlnx (Nov 3, 2012)

lbc said:
			
		

> By the way, how did you change your card from AHCI to IDE mode ? I don't see a menu shortcut hint in my ROM output...Does your card have a firmware version different than mine ?



No shortcut. I did it in the EFI setup. I switch it back, this is what I get (it goes by so quick).


```
Asmedia 106X SATA Controller Ver 0.95 AHCI Mode
Copyright (C) Asmedia Technologies, Inc. All Right reserved.
S.M.A.R.T. Supported
Using PCIE Gen 2
Can't find any device
```


----------

