Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Aug 2002 00:33:21 +1000
From:      "J. 'LoneWolf' Mattsson" <lonewolf-freebsd@earthmagic.org>
To:        freebsd-stable@FreeBSD.ORG
Subject:   Unsupported ATA controller - what's needed to make it supported?
Message-ID:  <5.1.0.14.2.20020816234804.00b10018@ocean.hkr.se>

next in thread | raw e-mail | index | archive | help
Hi all,

Last week I got myself a new big IDE drive (80gig) and in order to 
accomodate for that one I also got an ATA133 controller (this is my old 
P120 box). In my folly I didn't actually check what chipset was used on it 
as the box it came it looked the same as my ATA100 card that has a CMD 649 
(i.e. FreeBSD supported) chipset. So, well, now I'm stuck here with a CMD 
680 controller that's using only the generic support, which presumably 
should give me a max speed of 16MB/s. However I only get a measly 1.9MB/s 
on WDMA2, or 2.5MB/s on PIO4. Attempting to set the mode to any UDMA value 
just fails it back onto WDMA2 (which is expected as the controller is 
unsupported).

My question is two fold:
1) Have I missed something obvious that's causing this really poor 
performance? I already have "hw.ata.wc=1" so that wouldn't be it... I have 
my old slow drive on its own channel so as to not slug down my new drive.. 
I'm using the "high density" proper ribbon cable for the new drive.. The 
ATA controller isn't sharing an IRQ... Anything else? Is my old P120 simply 
too old to cope, or what?

2) Not being familiar with the workings of the ata(4) driver or driver 
internals in general, what information is needed to make this controller 
fully supported? Is it information that I can gather, or is there a need 
for vendor specific information?

I'm happy to assist as much as time allows for, even to do some coding if 
someone can point me towards sufficient information on the ata driver 
and/or ata controllers in general.


The ATA related extracts from my dmesg are (it's atapic1 that's of interest 
here):
# dmesg|grep ata
atapci0: <Intel PIIX ATA controller> at device 7.1 on pci0
atapci0: ATA channel disabled by BIOS
atapci1: <Generic PCI ATA controller> port 
0xc400-0xc40f,0xc800-0xc803,0xd000-0xd007,0xd400-0xd403,0xd800-0xd807 mem 
0xfbeed000-0xfbeed0ff irq 11 at device 11.0 on pci0
ata2: at 0xd800 on atapci1
ata3: at 0xd000 on atapci1
ata0 at port 0x1f0-0x1f7,0x3f6 irq 14 on isa0
ata1 at port 0x170-0x177,0x376 irq 15 on isa0
ad4: 1033MB <ST51080A> [2100/16/63] at ata2-master WDMA2
ad6: 76319MB <ST380021A> [155061/16/63] at ata3-master WDMA2


"pciconf -l -v" produces the following snippet for the card:

atapci1@pci0:11:0:      class=0x010185 card=0x06801095 chip=0x06801095 
rev=0x01 hdr=0x00
     vendor   = 'CMD Technology Inc.'
     device   = 'PCI-0680 Ultra ATA133 EIDE Controller'
     class    = mass storage
     subclass = ATA


And a plain "atacontrol list" gives the following:
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 <ST51080A/09.09.01> ATA/ATAPI rev 0
     Slave:       no device present
ATA channel 3:
     Master:  ad6 <ST380021A/3.19> ATA/ATAPI rev 5
     Slave:       no device present


Thankful for any help/recommendations/ideas to make my disk access a bit 
quicker!

Cheers,
/Johny
#-----------------------------------#       .
            Johny Mattsson                  / \__/\
        lonewolf@earthmagic.org           /'     , :
       http://www.earthmagic.org         ;   ( o   o
    irc.sorcery.net:9000 as LoneWolf     /   ,   ~. \
Software Developer / Support Engineer  / (  `- ..__"
#-----------------------------------#        '  /'


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5.1.0.14.2.20020816234804.00b10018>