FreeBSD and serial ata

Mike Tancsa mike at sentex.net
Tue Nov 4 12:15:58 PST 2003


Just to follow up on this, I was testing an AOPEN board with

atapci0 at pci0:31:2:      class=0x01018a card=0x042ea0a0 chip=0x24d18086 
rev=0x02 hdr=0x00
     vendor   = 'Intel Corporation'
     device   = '82801EB (ICH5) SATA Controller'
     class    = mass storage
     subclass = ATA
chip0 at pci0:0:0: class=0x060000 card=0x25708086 chip=0x25708086 rev=0x02 
hdr=0x00
     vendor   = 'Intel Corporation'
     device   = '82865G/PE/P, 82848P DRAM Controller / Host-Hub Interface'
     class    = bridge
     subclass = HOST-PCI

using a seagate SATA drive

satatest# atacontrol cap 0 0
ATA channel 0, Master, device ad0:

ATA/ATAPI revision    6
device model          ST380023AS
serial number         3KB1EWQR
firmware revision     3.01
cylinders             16383
heads                 16
sectors/track         63
lba supported         156301488 sectors
lba48 not supported         156301488 sectors
dma supported
overlap not supported

Feature                      Support  Enable    Value   Vendor
write cache                    yes      yes
read ahead                     yes      yes
dma queued                     no       no      0/00
SMART                          yes      yes
microcode download             yes      yes
security                       yes      yes
power management               yes      yes
advanced power management      no       no      65278/FEFE
automatic acoustic management  yes      no      0/00    128/80


If I dont have the BIOS set to SATA only, I can make the system repeatedly 
crash by running bonnie with a -s value twice the size of the RAM on the 
machine.  So far it seems to run fine in this mode. I can provide more 
details if you are interested.

         ---Mike


At 04:41 AM 03/11/2003, Rumen Telbizov wrote:
>Thanks for the fast reply Soren.
>I do appreciate it.
>
>On Mon, Nov 03, 2003 at 10:06:22AM +0100, Soren Schmidt wrote:
> > It seems Rumen Telbizov wrote:
> > > any answers the first time.
> > >
> > > I have P4P800-VM motherboard with serial ata
> > > controlers (ICH5) and serial ata discs. I managed
> > > to install FreeBSD 4.9-STABLE on this box when
> > > setting the IDE controller in legacy mode.
> > > Everything works normal except when booting,
> > > the drives are set into UDMA33 mode:
> > >
> > > atapci0: <Intel ICH5 SATA150 controller> port
> > > 0xfc00-0xfc0f,0-0x3,0-0x7,0-0x3,0-
> > > 0x7 irq 0 at device 31.2 on pci0
> > > ata0: at 0x1f0 irq 14 on atapci0
> > > ata1: at 0x170 irq 15 on atapci0
> > >
> > > ad0: DMA limited to UDMA33, non-ATA66 cable or device
> > > ad0: 76319MB <ST380013AS> [155061/16/63] at ata0-master UDMA33
> > > ad1: DMA limited to UDMA33, non-ATA66 cable or device
> > > ad1: 76319MB <ST380013AS> [155061/16/63] at ata0-slave UDMA33
> > >
> > > I read somewhere that this message is a hoax and that
> > > the drive should actually work in UDMA150. Is this my case?
> >
> > Yes, there are no "modes" on SATA (so far) its just SATA-150 in this
> > case and the drives (if true SATA drives not PATA with converters)
> > run SATA-150 over the inteface as soon as youselect any DMA mode.
> >
>Great!
>Yes my drives ARE Serial ata.
>I tested the speed by copying from one drive to
>the other and I have a rough estimation of 32MBytes/s
>transfer. (Softupdates enabled).
>bonnie++ reports ~ 55MBytes/s sequential read/write
>speed.
>
> > > I also checked the source of ata-dma.c:
> > > Here is the section.
> > >
> > > #if 1
> > >     if (udmamode > 2 && !atadev->param->hwres_cblid) {
> > >         ata_prtdev(atadev,"DMA limited to UDMA33, non-ATA66 cable or 
> device\n");
> > >         udmamode = 2;
> > >     }
> > > #endif
> > >
> > >
> > > Maybe this should sound like:
> > >     if ( (udmamode > 2) && (udmamode < 5) && 
> (!atadev->param->hwres_cblid) ) {
> > >         ata_prtdev(atadev,"DMA limited to UDMA33, non-ATA66 cable or 
> device\n");
> > >         udmamode = 2;
> > >     }
> > >
> > > All comments are wellcome.
> >
> > That wont work..
> >
> > The problem here is that -stable's ATA driver doesn't have the 
> infrastructure
> > to handle SATA properly, so what you have here is a crude hack to get some
> > controllers working, but you will have to live with the fallout above...
>
>Yeah I know this is an ugly patch. I just thought it might be
>usefull to make the OS stop weeping nothing else. Anyway.
>
>What exactly do you mean by saying that -stable's ATA driver doesn't have
>the infrastructure to handle SATA properly? How do my controlers
>work now? Because of the legacy support in the BIOS?
>If the controler is in legacy mode does it work with the full
>speed as if it were in native (enhanced) mode?
>
>
>Thank you.
>
>Rumen Telbizov
>_______________________________________________
>freebsd-stable at freebsd.org mailing list
>http://lists.freebsd.org/mailman/listinfo/freebsd-stable
>To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"



More information about the freebsd-stable mailing list