Alright, there are quite a few questions I need to ask. I hope some one can help me.
I have a Maxtor (Promise) Ultra TX 133 card in my server machine, which is using Clarkconnect Linux 1.2 (Standard, not Office) (www.clarkconnect.org) I enjoy this OS, it has excellent admin capability out of the box.
I am trying to get my three Hard drives attached to this controller to use Ultra ATA 100 mode. Two are WD 400BB's, on master channels, the third is a 20 GB Seagate 320014A (?) on Primary Slave. When I do Hdparm -X69 /dev/hd(x), it appears to have set the drives as UATA 100, but when I display current drive settings, it does not change anything. If anyone has any ideas, I would appreciate it. I can provide more specific info on current settings, etc.
Drive performance is just terrible. I can cause music on one computer to skip under WinAmp when I access a different drive on this controller from another computer trying to copy files. I realize that there may be other factors, but I would like to get drive performance up, as I feel this is a major problem.
I have 4 Windows copmputers, used day to day, a Freesco firewall, Linksys 5 port switch, the server is 350MHz with 128 Meg RAM, and a 2Gb drive for Linux, on the onboard controller. I will try to draw my setup as close as possible (Sorry, my ASCII drawing skills are not very good. ---
Comp Comp
/ /
/ /
24 port 10MBps HUB
|
|
|
CableModem---Freesco-----------Linksys 10/100 5 port Switch
/ |
/ |
/ |
Server |
|
12 port 100MBps HUB
/ |
/ |
/ |
Comp Comp
Just to clarify, all shared resources (router/Internet and Server) are connected to the fastest connection, and everything is trunked off this connection to hubs to provide me with more avaible ports, since I cannot afford a faster switch. There are a few other things that are not included here, ike printers attached to the router, and another (uused) windows machine that merely runs to provide caller ID info on the other four computers when a phone call comes in. Not even a monitor/keyboard/mouse hokked up to it.
I almost NEVER notice collsion on the network, as both hubs display collision indications, as does the switch. I thought this might be the caes, but when I was using the samer machine to run Win 2000 Server (the only extra was another 128MB of RAM...it was slow, and crashed too often for me) I never has this problem with file access. All partition were the same, minus the 20GB seagate. I have kept the partiton of the 2 40GB drives as Fat32. I don't know if this is a big deal perofrmance wise, vbut if need be I can change it (uggh---- no backup...gotta do it a little at a time) I do have these drives in removable racks, and I pull them out and put them in a client machine about once every couple weeks to defrag them and check for erros, so that shouldn't be a problem
Anybody think they can help, I appreciate it, especially considering that you took thew time to read my lenghty post3
/dev/hdc2:
setting 32-bit IO_support flag to 1
HDIO_SET_32BIT failed: Invalid argument
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Invalid argument
IO_support = 0 (default 16-bit)
using_dma = 0 (off)
what's wrong?
shadowrider
03-13-2003, 07:18 PM
oh nevermind about the problem...i applied to the partition and not the actual device.
mdwatts
03-14-2003, 09:00 AM
Originally posted by shadowrider
hdparm -c1 -d1 /dev/hdc2
You need to specify the device and not the partition on the device.
hdparm -c1 -d1 /dev/hdc
shadowrider
03-14-2003, 09:12 AM
Originally posted by mdwatts
You need to specify the device and not the partition on the device.
hdparm -c1 -d1 /dev/hdc
yeah thx..i got it.
btw, -X is for the transfer mode right?
how do we know how much does the hdd support?
bwkaz
03-14-2003, 10:38 AM
# hdparm -i /dev/hda
/dev/hda:
Model=Maxtor 52049H4, FwRev=DAC10SC0, SerialNo=K40VG3PC
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=4228907259, LBA=yes, LBAsects=39882528
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive Supports : ATA/ATAPI-6 T13 1410D revision 0 : ATA-1 ATA-2 ATA-3 ATA-4 ATA-5 ATA-6 The DMA mode with a star by it is the currently-active one. I don't know why this drive reports that it supports ATA-6 but only DMA-5 -- but seeing as I bought it a LONG time ago, before ATA-133 even existed, I'm not complaining. ;)
shadowrider
03-14-2003, 11:47 AM
Originally posted by bwkaz
# hdparm -i /dev/hda
/dev/hda:
Model=Maxtor 52049H4, FwRev=DAC10SC0, SerialNo=K40VG3PC
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=4228907259, LBA=yes, LBAsects=39882528
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive Supports : ATA/ATAPI-6 T13 1410D revision 0 : ATA-1 ATA-2 ATA-3 ATA-4 ATA-5 ATA-6 The DMA mode with a star by it is the currently-active one. I don't know why this drive reports that it supports ATA-6 but only DMA-5 -- but seeing as I bought it a LONG time ago, before ATA-133 even existed, I'm not complaining. ;)
wait..does DMA-# has to do with ATA-# ?
if it's ATA-66, does it mean it support ata 66 ?
bwkaz
03-14-2003, 01:49 PM
The "colloquial" usage of ATA-33 means DMA-3 (I say "colloquial" because AFAIK, there is no such thing as an ATA-33 (or anything else) standard, the name is just indicative of the burst transfer rate)
ATA-66 is DMA-4.
ATA-100 is DMA-5.
ATA-133 is DMA-6.
I'm not quite sure what the ATA levels that hdparm reports mean. Probably just interface specifications, not actual speeds, which is why ATA-6 is supported on this DMA5 drive. But the naming is confusing, I'll readily admit that. ;)
MMYoung
03-14-2003, 03:21 PM
I'm using Mandrake 9.0 and when I type in hdparm I'm told that no such command exists. I've done a search for "hdparm" and it ain't there.
Does Mandrake use a different command? If so does anyone have a clue what it is? I've checked their "how-to's" but there is nothing in them concerning hdparm.
Any help would be greatly appreciated.
Thanks,
MMYoung
shadowrider
03-14-2003, 04:42 PM
Originally posted by MMYoung
I'm using Mandrake 9.0 and when I type in hdparm I'm told that no such command exists. I've done a search for "hdparm" and it ain't there.
Does Mandrake use a different command? If so does anyone have a clue what it is? I've checked their "how-to's" but there is nothing in them concerning hdparm.
Any help would be greatly appreciated.
Thanks,
MMYoung
think you're supposed to run it as root, then it'll be a valid command
MMYoung
03-14-2003, 04:59 PM
I'm running the command from the "SuperUser" Terminal and have to give the root password in order to open it. I thought that was the same as being logged in as root.
I will try logging out and logging in as root and then running it from a terminal there.
Thanks,
MMYoung
MMYoung
03-14-2003, 05:21 PM
Logged out as me, logged in as root. Didn't make any difference. Did a search for "hdparm", it ain't on my HD anywhere. Only thing that came close are some scripts in /ect/sysconfig/apm-scripts/resume.d - 1hdparm & 9hdparm - and in /etc/sysconfig/apm-scripts/suspend.d - 2hdparm.
MMYoung
bwkaz
03-14-2003, 07:51 PM
hdparm may not be installed.
Search around on your Mandrake CDs for the RPM, and use their software manager thingy to install it (I don't think it has any dependencies, but if it does, this app will install them for you, too).
If it's already installed, try /usr/sbin/hdparm instead of just hdparm.
shadowrider
03-15-2003, 12:17 AM
su'ing from the terminal should be okay.
this is odd. does it always available on every distribution?
(never really noticed this actually)
MMYoung
03-15-2003, 12:18 AM
Well I'll be danged. It wasn't installed. Used the software "thingy" and installed it. Now I can get in on all the fun as well.
it says atapi-5, but only uses dma2,
i'm not quite sure what it means..
is there anything else i can optimize?
MMYoung
03-15-2003, 07:21 AM
I didn't need to use the -X command as my drive (IBM 60 gig) was already set to udma5. I did however recieve some modest gains in throughput by specifying the -c3 (sets 32-bit transfer with sync) and -m16 (sets IDE Block mode).
Issuing "man haparm" got me the manual for hdparm (duh!). Real good explanation of all the different settings. Also found a couple of good "howto's" at
Speeding up Linux using hdparm (http://linux.oreillynet.com/pub/a/linux/2000/06/29/hdparm.html)
and
LinuxNetMag - ATA, UDMA and hdparm (http://www.linuxnetmag.com/en/issue7/m7hdparm1.html)
Yall may have already saw these articles but as a "newb" they were very enlightening for me.
MMYoung
MMYoung
03-15-2003, 07:29 AM
Originally posted by shadowrider
it says atapi-5, but only uses dma2,
i'm not quite sure what it means..
is there anything else i can optimize? [/B]
This may be another "check the obvious" but are you using the proper IDE cable? If you aren't using the 66/100/133 rated cable the best you will get is UDMA 2.
I'm new to Linux but I have been "working" on/with PC's for several years and I have seen this happen a couple of times. Someone would change their drive but leave the old IDE cable in the case.
Just wondering, I figure you checked that already.
MMYoung
bwkaz
03-15-2003, 10:07 AM
Originally posted by shadowrider
it says atapi-5, but only uses dma2,
i'm not quite sure what it means..
is there anything else i can optimize? The other thing to check is your motherboard's IDE controller. Which chipset are you using, and which kernel version? (uname -r will tell you) Some kernels don't support some chipsets all that well. If your board is supported by your kernel, then (unless your distro does something very very strange with boot parameters) you should be getting the highest DMA mode that the chipset can handle at boot time.
shadowrider
03-15-2003, 12:38 PM
i'm not quite sure actually of whether i'm using the 66/100/133 cable?
but i'm using 2.4.20 vanilla source.
mobo: abit KG7.
where do we check this in the kernel about the support?
bwkaz
03-15-2003, 04:07 PM
Crack your case open and count the number of conductors on your IDE cable. If it's 80, then you are using a 66/100/133 cable. If it's 40, then you aren't.
I can tell just by looking at it (the 80-conductor cables' wires are much smaller in diameter, and the whole ribbon cable feels "smoother"), but I can't see your machine from here, so... yeah. ;)
And, from Abit's "specs" page for your motherboard (http://www.abit-usa.com/products/mb/kg7/techspec.php), it's an AMD 761 chipset. When you configured your kernel, did you select "IDE/ATA/MFM/RLL support", then "IDE, ATA, and ATAPI Block devices", then "Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support", then "Generic PCI IDE chipset support", then "AMD Viper support"?
Also, have you looked at drivers/ide/amd74xx.c, specifically the "config_drive_dma" function? That's what sets the DMA mode on bootup, and it's got a couple of reasons why your kernel may not be setting that up at the highest speed.
You can always use hdparm to up the speed, though, if you have to. Personally, though, I don't notice a difference between different DMA modes above 33. But that's just because the only speed increase is in burst mode, and I guess I don't do a lot of burstable reads or something.
shadowrider
03-15-2003, 09:09 PM
wow..great info...
one thing though, from the specs, it supports dma 33/66/100, and i guess these numbers tell how fast can it go right?
so i'll probably compile the kernel again.
do we always have to cp /usr/src/linux/arch/i386/boot/bzImage /boot after recompiling the kernel?
(just a thought 'cause didn't have to do it when doing the alsa thing)
thx a lot!
bwkaz
03-15-2003, 11:29 PM
You have to copy the new kernel to /boot (and rerun /sbin/lilo if lilo is your bootloader) if you have changed what gets compiled into the kernel. Alsa uses modules, which means that as long as your original kernel contains enough to make the Alsa modules themselves work, you didn't have to change the kernel itself.
Which probably explains why Alsa didn't require copying to /boot.
shadowrider
03-16-2003, 01:36 AM
just wondering, if i make rename the old bzImage to be bzImage.old, can i put that line in grub (ie. kernel /boot/bzImage.old root=/dev/hdc2 ) for failsafe?
or do i need to rename it as bzImage.failsafe ?
bwkaz
03-16-2003, 11:22 AM
It shouldn't matter what the name of the file is.
:)
shadowrider
05-03-2003, 12:42 AM
Originally posted by bwkaz
Crack your case open and count the number of conductors on your IDE cable. If it's 80, then you are using a 66/100/133 cable. If it's 40, then you aren't.
I can tell just by looking at it (the 80-conductor cables' wires are much smaller in diameter, and the whole ribbon cable feels "smoother"), but I can't see your machine from here, so... yeah. ;)
And, from Abit's "specs" page for your motherboard (http://www.abit-usa.com/products/mb/kg7/techspec.php), it's an AMD 761 chipset. When you configured your kernel, did you select "IDE/ATA/MFM/RLL support", then "IDE, ATA, and ATAPI Block devices", then "Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support", then "Generic PCI IDE chipset support", then "AMD Viper support"?
Also, have you looked at drivers/ide/amd74xx.c, specifically the "config_drive_dma" function? That's what sets the DMA mode on bootup, and it's got a couple of reasons why your kernel may not be setting that up at the highest speed.
You can always use hdparm to up the speed, though, if you have to. Personally, though, I don't notice a difference between different DMA modes above 33. But that's just because the only speed increase is in burst mode, and I guess I don't do a lot of burstable reads or something.
actually now that i have more free time, i checked the dma in xp and it does give me udma mode 2.
so here's the thing, i'm just using the IDE given from the mobo.
there are 3 IDE, one for floppy, one supports 2 devices, and the other one also support 2 devices but it's longer a little.
now i'm not sure what you meant by conductor?
i still couldn't find out which one is 80-conductor cable.
well if it says 33/66/100 , is it still 80 conductor (and i'm not sure which dma mode is that supposed to be for 33/66/100)
thx
bwkaz
05-03-2003, 09:27 AM
The "conductors" are the individual round (usually gray) wires that make up the cable.
If the cable says 33/66/100 on it, then it likely is 80-conductor, because it'll support anything up to UDMA 5 (and probably UDMA 6, if you have a drive and motherboard chipset that both support it).
shadowrider
05-03-2003, 12:09 PM
well. it doesn't really say 33/66/100 on the cable but it's from the specs.
so in other words, the conductors are the "lines/stripes"? or the "holes" at the end when connecting to the mobo or the drives?
'cause there are 40 "holes".
bwkaz
05-03-2003, 12:56 PM
Nope, not the holes, the actual wires making up the cable.
The difference between a 4-conductor cable and an 80-conductor cable is that 40 of the wires in the second one are ground wires. They don't connect to any of the holes (well... they all connect to the ground hole, but they don't introduce any more), so you still only have 40-pin connectors.
shadowrider
05-03-2003, 01:32 PM
yeah.okay i found out that one of the cable has bigger wire (each wire), and the other one has smaller for each wire which i think should be the 80 conductor.
i switched it and plug the 80 one to the hd, and still getting dma mode2 under xp.
bwkaz
05-03-2003, 03:49 PM
Hmm... maybe the BIOS is throttling the speed back?
Or maybe there's a known issue with your motherboard that both OS'es work around.
I still think you should read through the config_drive_dma function in the drivers/ide/amd74xx.c file for reasons that DMA might not initialize.
shadowrider
05-03-2003, 04:00 PM
yeah i kind a did last time..but didn't really understand it (i'm still learning C/C++)
but thx.i'll try to take a look at it again
justlinux.com
Copyright Internet.com Inc. All Rights Reserved.