# ATA - DMA Failed



## Pfarthing6 (Jun 26, 2010)

Hey all,

I'm trying out 8.1-RC1 and getting this kind of error for all of my drives that are hanging off of my SuperMicro MV8 controller:


```
ata3: FAILURE - oversized DMA transfer attempt 267264 > 32768
ata3: setting up DMA failed
```

I can still seem to mount the drive though, but if it's reverting to PIO mode, that's a problem. I'm not sure how to tell.

Also, the MV8 is being recognized as a Marvel 88SX6081 SATA300 controller. In 8.0-STABLE it was working w/out these errors.

I haven't found much on this searching and no hits in the forum.


Any suggestions?

thanks!


----------



## mav@ (Jun 28, 2010)

I am surprised. It shouldn't happen. Could you give more info, like verbose dmesg?

You may also try newer mvs(4) driver from CAM ATA infrastructure.


----------



## Pfarthing6 (Jun 30, 2010)

mav@ said:
			
		

> I am surprised. It shouldn't happen. Could you give more info, like verbose dmesg?
> 
> You may also try newer mvs(4) driver from CAM ATA infrastructure.



I'll look into the mvs driver.

Here's the more detailed output of dmesg though (ata related):

```
Copyright (c) 1992-2010 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 8.1-RC1 #0: Sat Jun 26 20:34:45 PDT 2010
    [email]tim@nas1.exit.local[/email]:/usr/obj/usr/src/sys/SUPERMICROMV8SMALL amd64
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Xeon(TM) CPU 2.80GHz (2800.11-MHz K8-class CPU)
  Origin = "GenuineIntel"  Id = 0xf4a  Family = f  Model = 4  Stepping = 10
  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=0x641d<SSE3,DTES64,MON,DS_CPL,CNXT-ID,CX16,xTPR>
  AMD Features=0x20100800<SYSCALL,NX,LM>
  AMD Features2=0x1<LAHF>
  TSC: P-state invariant
real memory  = 4294967296 (4096 MB)
avail memory = 4112375808 (3921 MB)
ACPI APIC Table: <PTLTD  	 APIC  >
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
FreeBSD/SMP: 2 package(s) x 1 core(s) x 2 HTT threads
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP/HT): APIC ID:  1
 cpu2 (AP): APIC ID:  6
 cpu3 (AP/HT): APIC ID:  7
ioapic0 <Version 2.0> irqs 0-23 on motherboard
ioapic1 <Version 2.0> irqs 24-47 on motherboard
ioapic2 <Version 2.0> irqs 48-71 on motherboard
ioapic3 <Version 2.0> irqs 72-95 on motherboard
ioapic4 <Version 2.0> irqs 96-119 on motherboard
.
.
.
atapci0: <Marvell 88SX6081 SATA300 controller> port 0x3000-0x30ff mem 0xdc800000-0xdc8fffff irq 72 at device 1.0 on pci6
atapci0: [ITHREAD]
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: <Marvell 88SX6081 SATA300 controller> port 0x4000-0x40ff mem 0xdc900000-0xdc9fffff irq 96 at device 1.0 on pci7
atapci1: [ITHREAD]
ata10: <ATA channel 0> on atapci1
ata10: [ITHREAD]
ata11: <ATA channel 1> on atapci1
ata11: [ITHREAD]
ata12: <ATA channel 2> on atapci1
ata12: [ITHREAD]
ata13: <ATA channel 3> on atapci1
ata13: [ITHREAD]
ata14: <ATA channel 4> on atapci1
ata14: [ITHREAD]
ata15: <ATA channel 5> on atapci1
ata15: [ITHREAD]
ata16: <ATA channel 6> on atapci1
ata16: [ITHREAD]
ata17: <ATA channel 7> on atapci1
ata17: [ITHREAD]
atapci2: <Intel ICH5 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x14a0-0x14af at device 31.1 on pci0
ata0: <ATA channel 0> on atapci2
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci2
ata1: [ITHREAD]
atapci3: <Intel ICH5 SATA150 controller> port 0x14d0-0x14d7,0x14c4-0x14c7,0x14c8-0x14cf,0x14c0-0x14c3,0x14b0-0x14bf irq 18 at device 31.2 on pci0
atapci3: [ITHREAD]
ata18: <ATA channel 0> on atapci3
ata18: [ITHREAD]
ata19: <ATA channel 1> on atapci3
ata19: [ITHREAD]
ata1: DMA limited to UDMA33, controller found non-ATA66 cable
acd0: DVDR <PIONEER DVD-RW DVR-110D/1.41> at ata1-slave UDMA33
ad4: 476940MB <Hitachi HDS725050KLA360 K2AOAB5A> at ata2-master UDMA100 SATA 3Gb/s
ata2: FAILURE - oversized DMA transfer attempt 267264 > 32768
ata2: setting up DMA failed
ad6: 476940MB <Hitachi HDS725050KLA360 K2AOAB5A> at ata3-master UDMA100 SATA 3Gb/s
ata3: FAILURE - oversized DMA transfer attempt 267264 > 32768
ata3: setting up DMA failed
ad8: 476940MB <Hitachi HDS725050KLA360 K2AOAB5A> at ata4-master UDMA100 SATA 3Gb/s
ad10: 476940MB <Hitachi HDS725050KLA360 K2AOAB5A> at ata5-master UDMA100 SATA 3Gb/s
ata5: FAILURE - oversized DMA transfer attempt 267264 > 32768
ata5: setting up DMA failed
ad16: 476940MB <Hitachi HDS725050KLA360 K2AOAB5A> at ata8-master UDMA100 SATA 3Gb/s
ata8: FAILURE - oversized DMA transfer attempt 267264 > 32768
ata8: setting up DMA failed
ad18: 476940MB <Hitachi HDS725050KLA360 K2AOAB5A> at ata9-master UDMA100 SATA 3Gb/s
ata9: FAILURE - oversized DMA transfer attempt 267264 > 32768
ata9: setting up DMA failed
ad20: 476940MB <Hitachi HDS725050KLA360 K2AOAB5A> at ata10-master UDMA100 SATA 3Gb/s
ata10: FAILURE - oversized DMA transfer attempt 267264 > 32768
ata10: setting up DMA failed
ad22: 476940MB <Hitachi HDS725050KLA360 K2AOAB5A> at ata11-master UDMA100 SATA 3Gb/s
ata11: FAILURE - oversized DMA transfer attempt 267264 > 32768
ata11: setting up DMA failed
ad24: 476940MB <Hitachi HDS725050KLA360 K2AOAB5A> at ata12-master UDMA100 SATA 3Gb/s
ata12: FAILURE - oversized DMA transfer attempt 267264 > 32768
ata12: setting up DMA failed
ad26: 476940MB <Hitachi HDS725050KLA360 K2AOAB5A> at ata13-master UDMA100 SATA 3Gb/s
ata13: FAILURE - oversized DMA transfer attempt 267264 > 32768
ata13: setting up DMA failed
ad28: 476940MB <Hitachi HDS725050KLA360 K2AOAB5A> at ata14-master UDMA100 SATA 3Gb/s
ata14: FAILURE - oversized DMA transfer attempt 267264 > 32768
ata14: setting up DMA failed
ad30: 476940MB <Hitachi HDS725050KLA360 K2AOAB5A> at ata15-master UDMA100 SATA 3Gb/s
ata15: FAILURE - oversized DMA transfer attempt 267264 > 32768
ata15: setting up DMA failed
ad32: 476940MB <Hitachi HDS725050KLA360 K2AOAB5A> at ata16-master UDMA100 SATA 3Gb/s
ata16: FAILURE - oversized DMA transfer attempt 267264 > 32768
ata16: setting up DMA failed
ad36: 476940MB <Hitachi HDS725050KLA360 K2AOAB5A> at ata18-master UDMA100 SATA
ad38: 476940MB <Hitachi HDS725050KLA360 K2AOAB5A> at ata19-master UDMA100 SATA
ar0: writing of Adaptec HostRAID metadata is NOT supported yet
ar0: disk0 READY (master) using ad36 at ata18-master
ar0: disk1 READY (mirror) using ad38 at ata19-master
```

Somebody suggested adding a device hint that would cap the transfer size. Not sure how to do that, but looking into it now.


----------



## Pfarthing6 (Jun 30, 2010)

So as suggested, I tried the MVS driver/module. Just loaded in the loader.conf to test. 

No errors now...


```
$ dmesg | grep -i ata
mvs0: <Marvell 88SX6081 SATA controller> port 0x3000-0x30ff mem 0xdc800000-0xdc8fffff irq 72 at device 1.0 on pci6
mvsch0: <Marvell SATA channel> at channel 0 on mvs0
mvsch1: <Marvell SATA channel> at channel 1 on mvs0
mvsch2: <Marvell SATA channel> at channel 2 on mvs0
mvsch3: <Marvell SATA channel> at channel 3 on mvs0
mvsch4: <Marvell SATA channel> at channel 4 on mvs0
mvsch5: <Marvell SATA channel> at channel 5 on mvs0
mvsch6: <Marvell SATA channel> at channel 6 on mvs0
mvsch7: <Marvell SATA channel> at channel 7 on mvs0
mvs1: <Marvell 88SX6081 SATA controller> port 0x4000-0x40ff mem 0xdc900000-0xdc9fffff irq 96 at device 1.0 on pci7
mvsch8: <Marvell SATA channel> at channel 0 on mvs1
mvsch9: <Marvell SATA channel> at channel 1 on mvs1
mvsch10: <Marvell SATA channel> at channel 2 on mvs1
mvsch11: <Marvell SATA channel> at channel 3 on mvs1
mvsch12: <Marvell SATA channel> at channel 4 on mvs1
mvsch13: <Marvell SATA channel> at channel 5 on mvs1
mvsch14: <Marvell SATA channel> at channel 6 on mvs1
mvsch15: <Marvell SATA channel> at channel 7 on mvs1
atapci0: <Intel ICH5 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x14a0-0x14af at device 31.1 on pci0
ata0: <ATA channel 0> on atapci0
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci0
ata1: [ITHREAD]
atapci1: <Intel ICH5 SATA150 controller> port 0x14d0-0x14d7,0x14c4-0x14c7,0x14c8-0x14cf,0x14c0-0x14c3,0x14b0-0x14bf irq 18 at device 31.2 on pci0
atapci1: [ITHREAD]
ata2: <ATA channel 0> on atapci1
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci1
ata3: [ITHREAD]
ata1: DMA limited to UDMA33, controller found non-ATA66 cable
acd0: DVDR <PIONEER DVD-RW DVR-110D/1.41> at ata1-slave UDMA33
ad4: 476940MB <Hitachi HDS725050KLA360 K2AOAB5A> at ata2-master UDMA100 SATA
ad6: 476940MB <Hitachi HDS725050KLA360 K2AOAB5A> at ata3-master UDMA100 SATA
ada0: <HDS725050KLA360 K2AOAB5A> ATA-7 SATA 2.x device
ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 2048bytes)
ada1: <HDS725050KLA360 K2AOAB5A> ATA-7 SATA 2.x device
ada1: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 2048bytes)
ada2: <HDS725050KLA360 K2AOAB5A> ATA-7 SATA 2.x device
ada2: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 2048bytes)
ada3: <HDS725050KLA360 K2AOAB5A> ATA-7 SATA 2.x device
ada3: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 2048bytes)
ada4: <HDS725050KLA360 K2AOAB5A> ATA-7 SATA 2.x device
ada4: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 2048bytes)
ada5: <HDS725050KLA360 K2AOAB5A> ATA-7 SATA 2.x device
ada5: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 2048bytes)
ada6: <HDS725050KLA360 K2AOAB5A> ATA-7 SATA 2.x device
ada6: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 2048bytes)
ada7: <HDS725050KLA360 K2AOAB5A> ATA-7 SATA 2.x device
ada7: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 2048bytes)
ada8: <HDS725050KLA360 K2AOAB5A> ATA-7 SATA 2.x device
ada8: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 2048bytes)
ada9: <HDS725050KLA360 K2AOAB5A> ATA-7 SATA 2.x device
ada9: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 2048bytes)
ada10: <HDS725050KLA360 K2AOAB5A> ATA-7 SATA 2.x device
ada10: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 2048bytes)
ada11: <HDS725050KLA360 K2AOAB5A> ATA-7 SATA 2.x device
ada11: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 2048bytes)
ada12: <HDS725050KLA360 K2AOAB5A> ATA-7 SATA 2.x device
ada12: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 2048bytes)
ar0: writing of Adaptec HostRAID metadata is NOT supported yet
ar0: disk0 READY (master) using ad4 at ata2-master
ar0: disk1 READY (mirror) using ad6 at ata3-master
```

I don't really know how to read this though:


```
300.000MB/s transfers (SATA 2.x, UDMA6, PIO 2048bytes)
```

Does this mean the device is operating at 300MB/s using SATA2.x, but backward compatible with UDMA6 and PIO?


----------



## DutchDaemon (Jun 30, 2010)

Pfarthing6, please (re)read how posts on this forum need to be formatted. You're using the wrong tags for the wrong things.

Posting and Editing in the FreeBSD Forums


----------



## Pfarthing6 (Jun 30, 2010)

DutchDaemon said:
			
		

> Pfarthing6, please (re)read how posts on this forum need to be formatted. You're using the wrong tags for the wrong things.
> 
> Posting and Editing in the FreeBSD Forums



Actually, I'm not used to using tags for anything, just plain old text. And after I saw some edits to my posts, I actually looked for how to do that, but seeing as it's burried in BaseSystem/General, I didn't see it nor did a search reveal it.

Thanks though, I'll read it through.


----------



## DutchDaemon (Jun 30, 2010)

All information was also in your signup/confirmation email.


----------



## mav@ (Jul 3, 2010)

Pfarthing6 said:
			
		

> ```
> ad4: 476940MB <Hitachi HDS725050KLA360 K2AOAB5A> at ata2-master UDMA100 SATA 3Gb/s
> ata2: FAILURE - oversized DMA transfer attempt 267264 > 32768
> ata2: setting up DMA failed
> ...



Transfer size there capped to 32K by controller driver. But something ignores that limitation, trying to transfer 261K. Try to boot with verbose messages, may be it show something more.


----------



## mav@ (Jul 3, 2010)

Pfarthing6 said:
			
		

> I don't really know how to read this though:
> 
> 
> ```
> ...



Yes. Physical link works at 300MB/s of SATA 2.x. Drive supports DMA commands, though as it is native SATA drive (not PATA with converter) specific mode is not important. Drive also supports PIO commands, transferring up to 2K per interrupt, if somebody wish.


----------

