Solved [Solved] Trouble with ASM1061 controller and disks

I've installed an ASMedia ASM1062-based controller, plugged in an external chassis with eSATA port multiplier, and put in disks. I cannot find the disks.

dmesg shows the card recognized:

Code:
ahci0: <ASMedia ASM1061 AHCI SATA controller> port 0xe050-0xe057,0xe040-0xe043,0xe030-0xe037,0xe020-0xe023,0xe000-0xe01f mem 0xf7d10000-0xf7d101ff irq 19 at device 0.0 on pci2
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 shows the device:

Code:
ahci0@pci0:2:0:0:	class=0x010601 card=0x10601b21 chip=0x06121b21 rev=0x01 hdr=0x00
    vendor     = 'ASMedia Technology Inc.'
    device     = 'ASM1062 Serial ATA Controller'
    class      = mass storage
    subclass   = SATA

and a driver is attached:

Code:
ahci0@pci0:2:0:0:: attached

camcontrol shows the box:

Code:
<AHCI SGPIO Enclosure 1.00 0001>   at scbus4 target 0 lun 0 (pass2,ses0)

and periphlist:

Code:
pass2:  generation: 4 index: 1 status: MORE
ses0:  generation: 4 index: 2 status: LAST

This is 10.0-RELEASE, and I'm very much a newbie. I downloaded FreeBSD last week, spent some time installing and reinstalling to get the config as I wanted, spent some time playing with ZFS using toy RAIDZ based on mdconfig -f images, and all went pretty well. Now I've got some real hardware and I'm stumped and my google-fu is exhausted.

(Also, FYI, I've compared the entries in /dev booting with and without the drive box turned on, and contents are identical, so it's not just that they're there and I don't know what to look for...)
 
Re: Trouble with ASM1061 controller and disks

The problem is with the card configuration. Long story short: 2 SATA ports, 2 internal connections, 2 external connectors, and 2 jumper blocks to select between internal/external for each port, jumpered by default to internal ports.

I selected a bundle with a box and a card with 2 eSATA ports, no internal ports listed, asked if it was supported by FreeBSD, got the answer "no, but we'll just substitute this other card which does work on FreeBSD", and never noticed that the card they substituted had this option to route the SATA ports internally.

Just curious, is this common with cards that have eSATA ports?

(One final note: I don't know for sure that this will fix the problem in FreeBSD, but it seems extremely likely. I nuked the FreeBSD partition and put on CentOS because I'm slightly more familiar with it and thought I'd have a better chance at debugging any hardware problems.)
 
Re: Trouble with ASM1061 controller and disks

It varies with the price of the card. A lot of two-port SATA controllers have spots for both internal and external connectors but only two connectors installed. Cards with jumpers cost slightly more.
 
Re: Trouble with ASM1061 controller and disks

sribe said:
...
(One final note: I don't know for sure that this will fix the problem in FreeBSD, but it seems extremely likely. ...)

I can tell for sure, that the Asmedia chipset ASM1061 works perfectly with FreeBSD. I got it on a Mini-PCIe card DELOCK 95225 MiniPCIe I/O PCIe full size 2 x SATA 6 Gb/s, having 2 internal SATA HD's attached, running for almost 3 years without any problems (that time on FreeBSD 8.2, and now on FreeBSD 9.3):

Code:
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
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

My card offers only internal SATA connecters, and it got no jumpers or other configuration facilities. So, the bare chipset works well with FreeBSD, and since you sorted out the routing problem, it is extremely likely that it will work also in your configuration.
 
FWIW, I currently have two ASM1061 controllers in my FreeBSD 9.2 system.

Code:
[1] ahci1: <ASMedia ASM1061 AHCI SATA controller> port 0xdc00-0xdc07,0xd880-0xd883,0xd800-0xd807,0xd480-0xd483,0xd400-0xd41f mem 0xfbeffc00-0xfbeffdff irq 19 at device 0.0 on pci5
[1] ahci1: AHCI v1.20 with 2 6Gbps ports, Port Multiplier supported
[1] ahcich4: <AHCI channel> at channel 0 on ahci1
[1] ahcich5: <AHCI channel> at channel 1 on ahci1
[1] ahci2: <ASMedia ASM1061 AHCI SATA controller> port 0xec00-0xec07,0xe880-0xe883,0xe800-0xe807,0xe480-0xe483,0xe400-0xe41f mem 0xfbfffc00-0xfbfffdff irq 16 at device 0.0 on pci6
[1] ahci2: AHCI v1.20 with 2 6Gbps ports, Port Multiplier supported
[1] ahcich6: <AHCI channel> at channel 0 on ahci2
[1] ahcich7: <AHCI channel> at channel 1 on ahci2

The first one is an Apricorn Velocity Solo x1, with an SSD on the card and an SSD attached. Both doing SATA 3.x. While the second is an IOCREST....currently a pair of SSDs attached...but both only as SATA 1.x.

I had previously had the eSATA version for the second (I bought both a 2-port internal only and 2-port external only...at the time I intended for both to be installed at the same time.), and had 2 5-bay enclosures connected to it. I found performance to be very poor compared to my previous Sil3132 or my current Marvel 88SE9215 based cards. I attribute this to the ASM1061 not support FIS-based switching.

Code:
[1] ahci0: <Marvell 88SE9215 AHCI SATA controller> port 0xbc00-0xbc07,0xb880-0xb883,0xb800-0xb807,0xb480-0xb483,0xb400-0xb41f mem 0xfbcff800-0xfbcfffff irq 17 at device 0.0 on pci3
[1] ahci0: AHCI v1.00 with 4 6Gbps ports, Port Multiplier supported with FBS
[1] ahci0: quirks=0x100<NOBSYRES>
[1] ahcich0: <AHCI channel> at channel 0 on ahci0
[1] ahcich1: <AHCI channel> at channel 1 on ahci0
[1] ahcich2: <AHCI channel> at channel 2 on ahci0
[1] ahcich3: <AHCI channel> at channel 3 on ahci0

This card has 2 eSATA and 2 SATA ports....all active unlike the many that involve jumpers instead of the slightly cheaper only 2 internal, only 2 external or 1 internal/1 external versions....

Not sure about my SSD issue thought.

The Dreamer.
 
Back
Top