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>