# FreeBSD 8 and sata3 controller Marvell 9128



## Ashandy (Feb 12, 2010)

We bought new motherboard Gigabyte P55A-UD3R for our ftp server.
Suddendly a problem with initialising of two SATA2 HDD`s was found. I Have 9 HDD connected on motherboard. 1 HDD is system IDE, 8 HDD is SATA2.
Those 6 HDDs which is connected in SATA2 Ports are detected by OS, but other 2 SATA2 HDD which is connected in SATA3 Ports i can`t see in a listing of the dmesg.

PS. Don`t see to UDMA33 mode, i just forgot to change it in BIOS settings. I think it`s not important in this case.


```
ftp# uname -a
FreeBSD ftp 8.0-RELEASE-p1 FreeBSD 8.0-RELEASE-p1 #7: Mon Jan  4 18:18:29 UTC 2010     root@:/usr/obj/usr/src/sys/FTP  i386
```
and here is the listing of the dmesg

```
ftp# dmesg -a | grep ata
atapci0: <Generic ATA controller> port 0xcf00-0xcf07,0xce00-0xce03,0xcd00-0xcd07,0xcc00-0xcc03,0xcb00-0xcb0f mem 0xfbdff000-0xfbdff7ff irq 16 at device 0.0 on pci2
atapci0: [ITHREAD]
ata2: <ATA channel 0> on atapci0
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci0
ata3: [ITHREAD]
atapci1: <ITE IT8213F UDMA133 controller> port 0xde00-0xde07,0xdd00-0xdd03,0xdc00-0xdc07,0xdb00-0xdb03,0xda00-0xda0f irq 19 at device 5.0 on pci3
atapci1: [ITHREAD]
ata4: <ATA channel 0> on atapci1
ata4: [ITHREAD]
atapci2: <Intel ATA controller> port 0xfc00-0xfc07,0xfb00-0xfb03,0xfa00-0xfa07,0xf900-0xf903,0xf800-0xf80f,0xf700-0xf70f irq 19 at device 31.2 on pci0
atapci2: [ITHREAD]
ata5: <ATA channel 0> on atapci2
ata5: [ITHREAD]
ata6: <ATA channel 1> on atapci2
ata6: [ITHREAD]
atapci3: <Intel ATA controller> port 0xf500-0xf507,0xf400-0xf403,0xf300-0xf307,0xf200-0xf203,0xf100-0xf10f,0xf000-0xf00f irq 19 at device 31.5 on pci0
atapci3: [ITHREAD]
ata7: <ATA channel 0> on atapci3
ata7: [ITHREAD]
ata8: <ATA channel 1> on atapci3
ata8: [ITHREAD]
ata0 at port 0x1f0-0x1f7,0x3f6 irq 14 on isa0
ata0: [ITHREAD]
ata1 at port 0x170-0x177,0x376 irq 15 on isa0
ata1: [ITHREAD]
ad8: 76350MB <SAMSUNG SP0812N TK100-31> at ata4-master UDMA33
ad10: 1430799MB <Seagate ST31500341AS CC1H> at ata5-master UDMA33
ad11: 953869MB <MAXTOR STM31000333AS MC1H> at ata5-slave UDMA33
ad12: 953868MB <Seagate ST31000340AS SD15> at ata6-master UDMA33
ad13: 953869MB <WDC WD10EACS-00ZJB0 01.01B01> at ata6-slave UDMA33
ad14: 953869MB <Seagate ST31000333AS SD15> at ata7-master UDMA33
ad16: 953868MB <WDC WD10EACS-00D6B0 01.01A01> at ata8-master UDMA33
```

Part of the kernel config file

```
ftp# cat /usr/src/sys/i386/conf/FTP | grep ata
device          ata
device          atadisk         # ATA disk drives
device          ataraid         # ATA RAID drives
device          atapicd         # ATAPI CDROM drives
```

Please, advice how to solve this problem.


----------



## mav@ (Feb 14, 2010)

I've recently added Marvell 9128 controller support to ahci(4) driver at 9-CURRENT. I am going to merge it down to 8-STABLE soon.

Make sure, that you have AHCI SATA mode enabled in BIOS.


----------



## Ashandy (Feb 15, 2010)

The Problem was SOLVED by turning on mode AHCI on the all HDDs
Also SATA standart is correctly determining now.

*ftp# dmesg -a | grep ata*

```
atapci0: <Generic AHCI controller> port 0xef00-0xef07,0xee00-0xee03,0xed00-0xed07,0xec00-0xec03,0xeb00-0xeb0f mem 0xfbeff000-0xfbeff7ff irq 16 at device 0.0 on pci2
atapci0: [ITHREAD]
atapci0: AHCI v1.20 controller with 8 6Gbps ports, PM not supported
ata2: <ATA channel 0> on atapci0
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci0
ata3: [ITHREAD]
ata4: <ATA channel 2> on atapci0
ata4: [ITHREAD]
ata5: <ATA channel 3> on atapci0
ata5: [ITHREAD]
ata6: <ATA channel 4> on atapci0
ata6: [ITHREAD]
ata7: <ATA channel 5> on atapci0
ata7: [ITHREAD]
ata8: <ATA channel 6> on atapci0
ata8: [ITHREAD]
ata9: <ATA channel 7> on atapci0
ata9: [ITHREAD]
atapci1: <ITE IT8213F UDMA133 controller> port 0xce00-0xce07,0xcd00-0xcd03,0xcc00-0xcc07,0xcb00-0xcb03,0xca00-0xca0f irq 19 at device 5.0 on pci3
atapci1: [ITHREAD]
ata10: <ATA channel 0> on atapci1
ata10: [ITHREAD]
atapci2: <Intel AHCI controller> port 0xfc00-0xfc07,0xfb00-0xfb03,0xfa00-0xfa07,0xf900-0xf903,0xf800-0xf81f mem 0xfbfff000-0xfbfff7ff irq 19 at device 31.2 on pci0
atapci2: [ITHREAD]
atapci2: AHCI v1.30 controller with 6 3Gbps ports, PM supported
ata11: <ATA channel 0> on atapci2
ata11: [ITHREAD]
ata12: <ATA channel 1> on atapci2
ata12: [ITHREAD]
ata13: <ATA channel 2> on atapci2
ata13: [ITHREAD]
ata14: <ATA channel 3> on atapci2
ata14: [ITHREAD]
ata15: <ATA channel 4> on atapci2
ata15: [ITHREAD]
ata16: <ATA channel 5> on atapci2
ata16: [ITHREAD]
ata0 at port 0x1f0-0x1f7,0x3f6 irq 14 on isa0
ata0: [ITHREAD]
ata1 at port 0x170-0x177,0x376 irq 15 on isa0
ata1: [ITHREAD]
ad4: 953868MB <MAXTOR STM31000340AS MX15> at ata2-master SATA150
ad6: 953868MB <WDC WD10EACS-00D6B0 01.01A01> at ata3-master SATA300
ad20: 76350MB <SAMSUNG SP0812N TK100-31> at ata10-master UDMA33
ad22: 1430799MB <Seagate ST31500341AS CC1H> at ata11-master SATA300
ad24: 953868MB <Seagate ST31000340AS SD15> at ata12-master SATA150
ad26: 953869MB <MAXTOR STM31000333AS MC1H> at ata13-master SATA300
ad28: 953869MB <WDC WD10EACS-00ZJB0 01.01B01> at ata14-master SATA300
ad30: 953869MB <Seagate ST31000333AS SD15> at ata15-master SATA300
ad32: 953868MB <WDC WD10EACS-00D6B0 01.01A01> at ata16-master SATA300
```

*ftp# atacontrol list*

```
ATA channel 0:
    Master:      no device present
    Slave:       no device present
ATA channel 1:
    Master:      no device present
    Slave:       no device present
ATA channel 2:
    Master:  ad4 <MAXTOR STM31000340AS/MX15> SATA revision 1.x
    Slave:       no device present
ATA channel 3:
    Master:  ad6 <WDC WD10EACS-00D6B0/01.01A01> SATA revision 2.x
    Slave:       no device present
ATA channel 4:
    Master:      no device present
    Slave:       no device present
ATA channel 5:
    Master:      no device present
    Slave:       no device present
ATA channel 6:
    Master:      no device present
    Slave:       no device present
ATA channel 7:
    Master:      no device present
    Slave:       no device present
ATA channel 8:
    Master:      no device present
    Slave:       no device present
ATA channel 9:
    Master:      no device present
    Slave:       no device present
ATA channel 10:
    Master: ad20 <SAMSUNG SP0812N/TK100-31> ATA/ATAPI revision 7
    Slave:       no device present
ATA channel 11:
    Master: ad22 <ST31500341AS/CC1H> SATA revision 2.x
    Slave:       no device present
ATA channel 12:
    Master: ad24 <ST31000340AS/SD15> SATA revision 1.x
    Slave:       no device present
ATA channel 13:
    Master: ad26 <MAXTOR STM31000333AS/MC1H> SATA revision 2.x
    Slave:       no device present
ATA channel 14:
    Master: ad28 <WDC WD10EACS-00ZJB0/01.01B01> SATA revision 2.x
    Slave:       no device present
ATA channel 15:
    Master: ad30 <ST31000333AS/SD15> SATA revision 2.x
    Slave:       no device present
ATA channel 16:
    Master: ad32 <WDC WD10EACS-00D6B0/01.01A01> SATA revision 2.x
    Slave:       no device present
```

PS. and how to merge a single branch of sources ? i mean as example sources of ahci(4) and ata(4)


----------



## mav@ (Feb 15, 2010)

Ashandy said:
			
		

> PS. and how to merge a single branch of sources ? i mean as example sources of ahci(4) and ata(4)



It can be not easy, as there could be dependencies with other parts of code. I would recommend you to update everything.


----------



## Ashandy (Feb 15, 2010)

but if i`ll update everything after makeworld i can get 9.0-CURRENT instead of my 8.0-STABLE. Did I undrestood correctly?
In the past year, studying cvsup I accidentally updated to version 8,0-CURRENT version of 7,1-RELEASE. and worked all year to 8,0-RELEASE 
Well, this is not in a hurry, then I myself see what's what


----------



## mav@ (Feb 16, 2010)

I am not proposing you to update to 9-CURRENT. Recent 8-STABLE now includes most of ATA-related changes.


----------

