# FreeBSD 9 & HighPoint 640L with 88SE9230 controller - detect



## Nemo1024 (Jun 7, 2012)

Hi.

I am building a ZFS-based file server. After some research I settled on two additional HighPoint RocketRaid640L cards as they seemed to be supported by FreeBSD 9 out of the box, that is: out of the ahci module. The cards in my research were the ones with two 9128 Marvell controllers. What I got from my vendor though was the cards with the same name, sporting only one 9230 controller.

I tentatively unpacked one card and booted with two 2TB Seagate disks attached to it. They were displayed in the POST screen and hitting Ctrl-M brought up the Marvell BIOS, showing the disks. I exited the BIOS without creating a RAID as I want ZFS managing the disks and booted into FreeBSD.

Judging by the print-outs, which you can find below, the card was detected by the ahci module (according to pciconfig), but camcontrol shows only my primary SSD disk on the motherboard's controller. I tried flashing the card with a non-RAID BIOS, but HighPoint's flash utility says that there's no suitable device found to flash.

Is the 9230 controller compatible with FreeBSD 9? Do I need to do some extra tweaking or build the kernel myself? (the ahci module is currently built into the kernel)

*uname*:

```
FreeBSD sun 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan  3 07:46:30 UTC 2012     
[email]root@farrell.cse.buffalo.edu[/email]:/usr/obj/usr/src/sys/GENERIC  amd64
```

*pciconfig* (shortened):

```
ahci1@pci0:0:31:2:	class=0x010601 card=0x84ca1043 chip=0x1e028086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Panther Point 6 port SATA AHCI Controller'
    class      = mass storage
    subclass   = SATA
    bar   [10] = type I/O Port, range 32, base 0xf0b0, size  8, enabled
    bar   [14] = type I/O Port, range 32, base 0xf0a0, size  4, enabled
    bar   [18] = type I/O Port, range 32, base 0xf090, size  8, enabled
    bar   [1c] = type I/O Port, range 32, base 0xf080, size  4, enabled
    bar   [20] = type I/O Port, range 32, base 0xf060, size 32, enabled
    bar   [24] = type Memory, range 32, base 0xf7d16000, size 2048, enabled
    cap 05[80] = MSI supports 1 message enabled with 1 message
    cap 01[70] = powerspec 3  supports D0 D3  current D0
    cap 12[a8] = SATA Index-Data Pair
    cap 13[b0] = PCI Advanced Features: FLR TP
ahci0@pci0:2:0:0:	class=0x010601 card=0x92301b4b chip=0x92301b4b rev=0x10 hdr=0x00
    vendor     = 'Marvell Technology Group Ltd.'
    class      = mass storage
    subclass   = SATA
    bar   [10] = type I/O Port, range 32, base 0xe050, size  8, enabled
    bar   [14] = type I/O Port, range 32, base 0xe040, size  4, enabled
    bar   [18] = type I/O Port, range 32, base 0xe030, size  8, enabled
    bar   [1c] = type I/O Port, range 32, base 0xe020, size  4, enabled
    bar   [20] = type I/O Port, range 32, base 0xe000, size 32, enabled
    bar   [24] = type Memory, range 32, base 0xf7c10000, size 2048, enabled
    cap 01[40] = powerspec 3  supports D0 D3  current D0
    cap 05[50] = MSI supports 1 message enabled with 1 message
    cap 10[70] = PCI-Express 2 legacy endpoint max data 128(512) link x2(x2)
    cap 12[e0] = SATA Index-Data Pair
ecap 0001[100] = AER 1 0 fatal 0 non-fatal 0 corrected
```

*dmesg* (shortened):

```
Copyright (c) 1992-2012 The FreeBSD Project.
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 9.0-RELEASE #0: Tue Jan  3 07:46:30 UTC 2012
    [email]root@farrell.cse.buffalo.edu[/email]:/usr/obj/usr/src/sys/GENERIC amd64
CPU: Intel(R) Celeron(R) CPU G530 @ 2.40GHz (2400.05-MHz K8-class CPU)
  Origin = "GenuineIntel"  Id = 0x206a7  Family = 6  Model = 2a  Stepping = 7
  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> port 0xf000-0xf03f mem 0xf7800000-0xf7bfffff,0xe0000000-0xefffffff irq 16 at device 2.0 on pci0
xhci0: <XHCI (generic) USB 3.0 controller> mem 0xf7d00000-0xf7d0ffff irq 16 at device 20.0 on pci0
xhci0: 32 byte context size.
usbus0 on xhci0
pci0: <simple comms> at device 22.0 (no driver attached)
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xf7d18000-0xf7d183ff irq 23 at device 26.0 on pci0
usbus1: EHCI version 1.0
usbus1: <EHCI (generic) USB 2.0 controller> on ehci0
hdac0: <Intel Panther Point High Definition Audio Controller> mem 0xf7d10000-0xf7d13fff irq 22 at device 27.0 on pci0
pcib2: <ACPI PCI-PCI bridge> irq 16 at device 28.0 on pci0
pci2: <ACPI PCI bus> on pcib2
ahci0: <AHCI SATA controller> port 0xe050-0xe057,0xe040-0xe043,0xe030-0xe037,0xe020-0xe023,0xe000-0xe01f mem 0xf7c10000-0xf7c107ff irq 16 at device 0.0 on pci2
ahci0: AHCI v1.20 with 8 6Gbps ports, Port Multiplier not supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich1: <AHCI channel> at channel 1 on ahci0
ahcich2: <AHCI channel> at channel 2 on ahci0
ahcich3: <AHCI channel> at channel 3 on ahci0
ahcich4: <AHCI channel> at channel 4 on ahci0
ahcich5: <AHCI channel> at channel 5 on ahci0
ahcich6: <AHCI channel> at channel 6 on ahci0
ahcich7: <AHCI channel> at channel 7 on ahci0
pcib3: <ACPI PCI-PCI bridge> irq 16 at device 28.4 on pci0
pci3: <ACPI PCI bus> on pcib3
re0: <RealTek 8168/8111 B/C/CP/D/DP/E PCIe Gigabit Ethernet> port 0xd000-0xd0ff mem 0xf0004000-0xf0004fff,0xf0000000-0xf0003fff irq 16 at device 0.0 on pci3
re0: Using 1 MSI-X message
re0: Chip rev. 0x2c800000
re0: MAC rev. 0x00000000
miibus0: <MII bus> on re0
rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0
rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
re0: Ethernet address: c8:60:00:c6:e2:73
ehci1: <EHCI (generic) USB 2.0 controller> mem 0xf7d17000-0xf7d173ff irq 23 at device 29.0 on pci0
usbus2: EHCI version 1.0
usbus2: <EHCI (generic) USB 2.0 controller> on ehci1
pcib4: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci4: <ACPI PCI bus> on pcib4
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
ahci1: <Intel Panther Point AHCI SATA controller> port 0xf0b0-0xf0b7,0xf0a0-0xf0a3,0xf090-0xf097,0xf080-0xf083,0xf060-0xf07f mem 0xf7d16000-0xf7d167ff irq 19 at device 31.2 on pci0
ahci1: AHCI v1.30 with 6 6Gbps ports, Port Multiplier not supported
ahcich8: <AHCI channel> at channel 0 on ahci1
ahcich9: <AHCI channel> at channel 5 on ahci1
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
acpi_button0: <Power Button> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
acpi_tz1: <Thermal Zone> on acpi0

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
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
ppc0: cannot reserve I/O port range
est0: <Enhanced SpeedStep Frequency Control> on cpu0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
p4tcc1: <CPU Frequency Thermal Control> on cpu1
ZFS filesystem version 5
ZFS storage pool version 28
Timecounters tick every 1.000 msec
hdac0: HDA Codec #0: Realtek ALC887
hdac0: HDA Codec #3: Intel (Unknown)
pcm0: <HDA Realtek ALC887 PCM #0 Analog> at cad 0 nid 1 on hdac0
pcm1: <HDA Realtek ALC887 PCM #1 Analog> at cad 0 nid 1 on hdac0
pcm2: <HDA Realtek ALC887 PCM #2 Digital> at cad 0 nid 1 on hdac0
pcm3: <HDA Intel (Unknown) PCM #0 DisplayPort> at cad 3 nid 1 on hdac0
usbus0: 5.0Gbps Super Speed USB v3.0
usbus1: 480Mbps High Speed USB v2.0
usbus2: 480Mbps High Speed USB v2.0
ugen0.1: <0x8086> at usbus0
uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
ugen1.1: <Intel> at usbus1
uhub1: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
ugen2.1: <Intel> at usbus2
uhub2: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus2
(aprobe1:ahcich7:0:0:0): Unexpected signature 0x44d8
(aprobe0:ahcich1:0:0:0): Unexpected signature 0x44d8
ada0 at ahcich8 bus 0 scbus8 target 0 lun 0
ada0: <Corsair Force 3 SSD 1.3.3> ATA-8 SATA 3.x device
ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 57241MB (117231408 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad20
SMP: AP CPU #1 Launched!
Timecounter "TSC-low" frequency 9375198 Hz quality 1000
Root mount waiting for: usbus2 usbus1 usbus0
uhub0: 8 ports with 8 removable, self powered
uhub2: 2 ports with 2 removable, self powered
uhub1: 2 ports with 2 removable, self powered
Root mount waiting for: usbus2 usbus1
ugen2.2: <vendor 0x8087> at usbus2
ugen1.2: <vendor 0x8087> at usbus1
uhub3: <vendor 0x8087 product 0x0024, class 9/0, rev 2.00/0.00, addr 2> on usbus2
uhub4: <vendor 0x8087 product 0x0024, class 9/0, rev 2.00/0.00, addr 2> on usbus1
Root mount waiting for: usbus2 usbus1
uhub3: 6 ports with 6 removable, self powered
uhub4: 6 ports with 6 removable, self powered
Trying to mount root from zfs:zroot []...
```

*camcontrol*:

```
<Corsair Force 3 SSD 1.3.3>        at scbus8 target 0 lun 0 (pass0,ada0)
```


----------



## Nemo1024 (Jun 7, 2012)

Reviewing my own `dmesg`output, can the following two lines be the culprits?

```
(aprobe1:ahcich7:0:0:0): Unexpected signature 0x44d8
(aprobe0:ahcich1:0:0:0): Unexpected signature 0x44d8
```

Some additional information: 

Tried the card in Windows 7 environment and it worked fine there (after installing drivers for Rocket 640L as RocketRaid drivers didn't work) with all the disks showing up, so we can eliminated hardware problem.


----------



## mav@ (Jun 7, 2012)

Marvell controllers not very closely follow the AHCI specification. They need specific quirks to handle the specifics. Try to add to sys/dev/ahci/ahci.c file the line:


```
{0x92301b4b, 0x00, "Marvell 88SE9230",  AHCI_Q_NOBSYRES|AHCI_Q_ALTSIG},
```

along to existing ones, rebuild kernel and report results.


----------



## Nemo1024 (Jun 7, 2012)

Thank you. I was afraid it would be a "rebuild the kernel" reply. Still, it shouldn't be much different from rebuilding a Linux kernel.
This doc has some explanations:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-building.html
and this thread seems to say where to get the source from
http://forums.freebsd.org/showthread.php?t=32472
Have I missed anything..? If not, I'll try to report back by tomorrow.


----------



## Nemo1024 (Jun 7, 2012)

It went faster and smoother to build the kernel than  I feared. Mind you, the last time I built a Linux kernel was on a 486 with the source stored on Zip100 drive, attached via the parallel port. 

Anyway, the result is success!

The controller is now detected properly during boot-up and the two disks are visible, along with "Marvell Console 1.01" (whatever it is for):

*camcontrol*:

```
<ST2000DL003-9VT166 CC3C>          at scbus0 target 0 lun 0 (pass0,ada0)
<ST2000DM001-9YN164 CC4C>          at scbus1 target 0 lun 0 (pass1,ada1)
<Marvell Console 1.01>             at scbus7 target 0 lun 0 (pass2)
<Corsair Force 3 SSD 1.3.3>        at scbus8 target 0 lun 0 (pass3,ada2)
<ASUS DVD-E616A3T CP09>            at scbus9 target 0 lun 0 (pass4,cd0)
```

*dmesg*:

```
Copyright (c) 1992-2012 The FreeBSD Project.
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 9.0-RELEASE #0: Thu Jun  7 20:35:46 UTC 2012
    root@sun:/usr/obj/usr/src/sys/GENERIC amd64
CPU: Intel(R) Celeron(R) CPU G530 @ 2.40GHz (2400.06-MHz K8-class CPU)
  Origin = "GenuineIntel"  Id = 0x206a7  Family = 6  Model = 2a  Stepping = 7
  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=0x59ae3bf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,
  POPCNT,TSCDLT,XSAVE>
  AMD Features=0x28100800<SYSCALL,NX,RDTSCP,LM>
  AMD Features2=0x1<LAHF>
  TSC: P-state invariant, performance statistics
real memory  = 17179869184 (16384 MB)
avail memory = 16397115392 (15637 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <ALASKA A M I>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s)
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  2
ioapic0 <Version 2.0> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <ALASKA A M I> on motherboard
ACPI Error: [RAMB] Namespace lookup failure, AE_NOT_FOUND (20110527/psargs-392)
ACPI Exception: AE_NOT_FOUND, Could not execute arguments for [RAMW] (Region) (20110527/nsinit-380)
acpi0: Power Button (fixed)
acpi0: reservation of 67, 1 (4) failed
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
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> port 0xf000-0xf03f mem 0xf7800000-0xf7bfffff,0xe0000000-0xefffffff irq 16 at device 2.0 on pci0
xhci0: <XHCI (generic) USB 3.0 controller> mem 0xf7d00000-0xf7d0ffff irq 16 at device 20.0 on pci0
xhci0: 32 byte context size.
usbus0 on xhci0
pci0: <simple comms> at device 22.0 (no driver attached)
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xf7d18000-0xf7d183ff irq 23 at device 26.0 on pci0
usbus1: EHCI version 1.0
usbus1: <EHCI (generic) USB 2.0 controller> on ehci0
hdac0: <Intel Panther Point High Definition Audio Controller> mem 0xf7d10000-0xf7d13fff irq 22 at device 27.0 on pci0
pcib2: <ACPI PCI-PCI bridge> irq 16 at device 28.0 on pci0
pci2: <ACPI PCI bus> on pcib2
ahci0: <Marvell 88SE9230 AHCI SATA controller> port 0xe050-0xe057,0xe040-0xe043,0xe030-0xe037,0xe020-0xe023,0xe000-0xe01f mem
 0xf7c10000-0xf7c107ff irq 16 at device 0.0 on pci2
ahci0: AHCI v1.20 with 8 6Gbps ports, Port Multiplier not supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich1: <AHCI channel> at channel 1 on ahci0
ahcich2: <AHCI channel> at channel 2 on ahci0
ahcich3: <AHCI channel> at channel 3 on ahci0
ahcich4: <AHCI channel> at channel 4 on ahci0
ahcich5: <AHCI channel> at channel 5 on ahci0
ahcich6: <AHCI channel> at channel 6 on ahci0
ahcich7: <AHCI channel> at channel 7 on ahci0
pcib3: <ACPI PCI-PCI bridge> irq 16 at device 28.4 on pci0
pci3: <ACPI PCI bus> on pcib3
re0: <RealTek 8168/8111 B/C/CP/D/DP/E PCIe Gigabit Ethernet> port 0xd000-0xd0ff mem 0xf0004000-0xf0004fff,0xf0000000-0xf0003fff
 irq 16 at device 0.0 on pci3
re0: Using 1 MSI-X message
re0: Chip rev. 0x2c800000
re0: MAC rev. 0x00000000
miibus0: <MII bus> on re0
rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0
rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT, 1000baseT-master,
 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
re0: Ethernet address: c8:60:00:c6:e2:73
ehci1: <EHCI (generic) USB 2.0 controller> mem 0xf7d17000-0xf7d173ff irq 23 at device 29.0 on pci0
usbus2: EHCI version 1.0
usbus2: <EHCI (generic) USB 2.0 controller> on ehci1
pcib4: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci4: <ACPI PCI bus> on pcib4
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
ahci1: <Intel Panther Point AHCI SATA controller> port 0xf0b0-0xf0b7,0xf0a0-0xf0a3,0xf090-0xf097,0xf080-0xf083,0xf060-0xf07f
 mem 0xf7d16000-0xf7d167ff irq 19 at device 31.2 on pci0
ahci1: AHCI v1.30 with 6 6Gbps ports, Port Multiplier not supported
ahcich8: <AHCI channel> at channel 0 on ahci1
ahcich9: <AHCI channel> at channel 2 on ahci1
ahcich10: <AHCI channel> at channel 5 on ahci1
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
acpi_button0: <Power Button> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
acpi_tz1: <Thermal Zone> on acpi0
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 950
Event timer "HPET" frequency 14318180 Hz quality 550
Event timer "HPET1" frequency 14318180 Hz quality 440
Event timer "HPET2" frequency 14318180 Hz quality 440
Event timer "HPET3" frequency 14318180 Hz quality 440
Event timer "HPET4" frequency 14318180 Hz quality 440
Event timer "HPET5" frequency 14318180 Hz quality 440
Event timer "HPET6" frequency 14318180 Hz quality 440
atrtc0: <AT realtime clock> port 0x70-0x77 irq 8 on acpi0
atrtc0: Warning: Couldn't map I/O.
Event timer "RTC" frequency 32768 Hz quality 0
attimer0: <AT timer> port 0x40-0x43,0x50-0x53 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
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
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
ppc0: cannot reserve I/O port range
est0: <Enhanced SpeedStep Frequency Control> on cpu0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
p4tcc1: <CPU Frequency Thermal Control> on cpu1
ZFS filesystem version 5
ZFS storage pool version 28
Timecounters tick every 1.000 msec
hdac0: HDA Codec #0: Realtek ALC887
hdac0: HDA Codec #3: Intel (Unknown)
pcm0: <HDA Realtek ALC887 PCM #0 Analog> at cad 0 nid 1 on hdac0
pcm1: <HDA Realtek ALC887 PCM #1 Analog> at cad 0 nid 1 on hdac0
pcm2: <HDA Realtek ALC887 PCM #2 Digital> at cad 0 nid 1 on hdac0
pcm3: <HDA Intel (Unknown) PCM #0 DisplayPort> at cad 3 nid 1 on hdac0
usbus0: 5.0Gbps Super Speed USB v3.0
usbus1: 480Mbps High Speed USB v2.0
usbus2: 480Mbps High Speed USB v2.0
ugen0.1: <0x8086> at usbus0
uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
ugen1.1: <Intel> at usbus1
uhub1: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
ugen2.1: <Intel> at usbus2
uhub2: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus2
ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
ada0: <ST2000DL003-9VT166 CC3C> ATA-8 SATA 3.x device
ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad4
ada1 at ahcich1 bus 0 scbus1 target 0 lun 0
ada1: <ST2000DM001-9YN164 CC4C> ATA-8 SATA 3.x device
ada1: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada1: Command Queueing enabled
ada1: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C)
ada1: Previously was known as ad6
ada2 at ahcich8 bus 0 scbus8 target 0 lun 0
ada2: <Corsair Force 3 SSD 1.3.3> ATA-8 SATA 3.x device
ada2: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada2: Command Queueing enabled
ada2: 57241MB (117231408 512 byte sectors: 16H 63S/T 16383C)
ada2: Previously was known as ad20
pass2 at ahcich7 bus 0 scbus7 target 0 lun 0
pass2: <Marvell Console 1.01> Removable Processor SCSI-0 device 
pass2: 150.000MB/s transfers (SATA 1.x, cd0 at ahcich9 bus 0 scbus9 target 0 lun 0
cd0: <ASUS DVD-E616A3T CP09> Removable CD-ROM SCSI-0 device 
cd0: 150.000MB/s transfers (SATA 1.x, UDMA5, ATAPI 12bytes, PIO 8192bytes)
cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed
UDMA4, ATAPI 12bytes, PIO 8192bytes)
SMP: AP CPU #1 Launched!
```


----------



## mav@ (Jun 8, 2012)

Nemo1024 said:
			
		

> The controller is now detected properly during boot-up and the two disks are visible, along with "Marvell Console 1.01" (whatever it is for)


That is probably Marvell's proprietary RAID configuration interface.

Just committed patch to the FreeBSD HEAD branch. It should get into the next FreeBSD 9.1 release.


----------



## marvel (Aug 24, 2014)

*Re: FreeBSD 9 & HighPoint 640L with 88SE9230 controller - de*

Hi all,

This problem looks to be the same problem as I have with a Plextor M6E PCI-e SSD drive. It's also described here with no apparent fix:

https://www.freebsd.org/cgi/query-pr.cgi?pr=amd64/190050

Only this uses the Marvell 88SS9183 controller. Do you think Mav's solution described here would work for that controller as well?

https://forums.freebsd.org/viewtopic.php?p=179880#p179880

The weird thing is that even Linux doesn't recognize the hardware, I used the latest kernel and it finds the controller but nothing else:


```
04:00.0 SATA controller [0106]: Device [1c28] (rev 14) (prog-if 01 [AHCI 1.0])
82:00.0 SATA controller [0106]: Device [1c28] (rev 14) (prog-if 01 [AHCI 1.0])
```
Under FreeBSD a `camcontrol rescan all` gives:


```
(aprobe0:ahcich0:0:0:0): Unexpected signature 0xffff
```

I already updated my BIOS and the SSD firmware, I can see the Plextor logo when I boot and I can select the device as boot device in my BIOS as well.

Any idea?

One more thing, how can I apply/test Mav's fix with an installation boot DVD? I have no FreeBSD installation ready yet and I want to install it on the SSDs, so how can I apply this fix to the install media and later on to the kernel it's installing?

Thanks!


----------



## marvel (Aug 25, 2014)

*Re: FreeBSD 9 & HighPoint 640L with 88SE9230 controller - de*

Well, it works fine under Gentoo Linux. Drives are visible, just not FreeBSD no matter what version?

Any idea? (bump)


----------



## marvel (Aug 26, 2014)

*Re: FreeBSD 9 & HighPoint 640L with 88SE9230 controller - de*

Nobody? I really have to move to Linux to use a standard AHCI drive?


----------



## wblock@ (Aug 26, 2014)

*Re: FreeBSD 9 & HighPoint 640L with 88SE9230 controller - de*

Did you try a snapshot of FreeBSD 11 or 10-STABLE?


----------



## marvel (Aug 26, 2014)

*Re: FreeBSD 9 & HighPoint 640L with 88SE9230 controller - de*



			
				wblock@ said:
			
		

> Did you try a snapshot of FreeBSD 11 or 10-STABLE?



Not the latter one but I did try 11-CURRENT, few days old. I also tried 9.2, 9.3 and 10-STABLE.


----------



## wblock@ (Aug 26, 2014)

*Re: FreeBSD 9 & HighPoint 640L with 88SE9230 controller - de*

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=190050 has this reported.  The next place to ask would be the mailing lists.  I'm not sure which to recommend, but maybe freebsd-current for a start.


----------



## mav@ (Sep 29, 2014)

*Re: FreeBSD 9 & HighPoint 640L with 88SE9230 controller - de*

Patch for various Marvell AHCI controllers was committed and merged to 10/9-STABLE couple weeks ago.


----------



## marvel (Sep 30, 2014)

mav@ said:
			
		

> Patch for various Marvell AHCI controllers was committed and merged to 10/9-STABLE couple weeks ago.



Thanks! I'll test it with the M6e and update the bug report.


----------



## marvel (Nov 14, 2014)

I can confirm this works now, thanks guys!


----------

