Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place! |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
07-22-2003, 03:27 PM
|
#1
|
Member
Registered: May 2002
Distribution: Gentoo
Posts: 54
Rep:
|
idebus settings, new kernel
Hi. I just compiled my own 2.4.21 kernel. Everything is fine, except that when I read/write (especially write) to the hard drive, my system becomes bogged. I can barely move the mouse across the screen.
During kernel boot, I see:
"ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx"
I know for a fact my hard drive is 100MHz and my motherboard supports at least 100, if not 133MHz. I am not sure about my IDE cables. With other kernels, my hard drive ran smoothly. I could even navigate GUI while compiling, writing to HD, etc. This makes me suspect that my cables are also 100MHz, and that the setting is in the kernel.
# hdparm -Tt /dev/hda
/dev/hda:
Timing buffer-cache reads: 128 MB in 0.42 seconds =304.76 MB/sec
Timing buffered disk reads: 64 MB in 21.47 seconds = 2.98 MB/sec
I have two IBM 60 GB Desktar 7200rpm HDDs. They are both sharing the secondary IDE bus, so theoretically, performance settings should be same for both:
# hdparm -i /dev/hdb
/dev/hdb:
Model=IC35L060AVVA07-0, FwRev=VA3OA50K, SerialNo=VNC300A3C18KLA
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=52
BuffType=DualPortCache, BuffSize=1863kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=120103200
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: ATA/ATAPI-5 T13 1321D revision 1: 2 3 4 5
Please help me regain my hard drive speed. I don't want to tweak anything without knowing what it does. (running Slackware 9.0). Thanks.
|
|
|
07-22-2003, 06:48 PM
|
#2
|
LQ Guru
Registered: Jan 2002
Posts: 6,042
Rep:
|
ATA100 and ATA133 doesn't mean 100 MHz or 133 MHz. They are just burst rates in megabytes. Very rarely hard drives will come close to the burst rates.
idebus is the PCI bus. If your PCI bus can handle 66 MHz or 100 MHz. Then you can set it.
What does
hdparm -abcdmu /dev/hda
hdparm -abcdmu /dev/hdb
come up with.
|
|
|
07-22-2003, 06:58 PM
|
#3
|
LQ Newbie
Registered: Jul 2003
Posts: 23
Rep:
|
Well I'm extremely new to Linux, but from a Windows background I'd say it sounds like you're using PIO to read/write instead of DMA or UDMA. PIO is of course extremely slow for any modern hard drive.
Check the BIOS to make sure UDMA is enabled...I couldn't begin to tell you where to check in linux...
Good luck.
|
|
|
07-23-2003, 03:40 PM
|
#4
|
Member
Registered: May 2002
Distribution: Gentoo
Posts: 54
Original Poster
Rep:
|
Thanks for the quick respones, guys.
Electro, "hdparm -abcdmu" (for both /dev/hda and /dev/hdb) returns:
multcount = 16 (on)
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 0 (off) ***
readahead = 8 (on)
busstate = 1 (on)
*** This makes me think I could just set kernel argument idebus=100, but I don't know if that's the max my system supports. I have checked my motherboard (Soyo SY-K7V Dragon Plus) manual, and I can't find anything about DMA - damn thing doesn't have an index. So I will keep searching. However, I would like to note that before (prior to compiling kernel, and on other distros) I would have transfer speeds (both on LAN and on local HD transfers) in excess of 100 and 200 MB/s. Now I can't seem to exceed 2.7 MB/s. This is a bit of a pain as I have over 11 GB of data backed up on my LAN.
Psyno, the only DMA-related option in my CMOS was this menu:
Primary Master PIO [Options: Mode 0, Mode 1, Mode 2, Mode 3, Mode 4, Auto]
Primary Slave PIO [Options: Mode 0, Mode 1, Mode 2, Mode 3, Mode 4, Auto]
Secondary Master PIO [Options: Mode 0, Mode 1, Mode 2, Mode 3, Mode 4, Auto]
Secondary Slave PIO [Options: Mode 0, Mode 1, Mode 2, Mode 3, Mode 4, Auto]
Primary Master UDMA [Options: Auto, Disabled]
Primary Slave UDMA [Options: Auto, Disabled]
Secondary Master UDMA [Options: Auto, Disabled]
Secondary Slave UDMA [Options: Auto, Disabled]
All the PIO's and UDMA's were set to Auto. If it helps, I have a Windows XP partition, I could check settings in there (as you said you are comfortable with Windows). Thanks.
|
|
|
07-24-2003, 03:02 PM
|
#5
|
Member
Registered: May 2002
Distribution: Gentoo
Posts: 54
Original Poster
Rep:
|
HDIO_SET_DMA
I was trying to install Xine with DVD playback support, and the Xine website ( http://xine.sourceforge.net) recommended that I turn DMA on my DVD drive.
# hdparm -d 1 /dev/hdc
/dev/hdc:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
using_dma = 0 (off)
what is HDIO_SET_DMA? Is this related to my idebus settings?
|
|
|
07-24-2003, 07:02 PM
|
#6
|
LQ Guru
Registered: Jan 2002
Posts: 6,042
Rep:
|
If you have PCI-X that can run from 33 MHz to 100 MHz, then you can change it. Your motherboard is the standard PCI or 33 MHz. The PCI bus max out at 133 megabytes per second, so you can not achive more than 133 megabytes. You can add ide0=ata66 to your boot loader. This is dangerous if you don't know what you are doing. The 0 in ide is the device channel of your controller, so to set your secondary channel to ata66 you specify ide1.
At the console type
hdparm -X68 -d1 -c3 -k1 /dev/hda
hdparm -X68 -d1 -c3 -k1 /dev/hdb
Then see how that works. The -X68 is for UDMA 4 and it is supported by many IDE chipsets. You can use -X69 for UDMA 5 but you may run in the chance of freezing your computer. If everything works properly, you can add a few lines to your running scripts.
Your DVD drive could be using IDE-SCSI module so hdparm will not work. If you remove that module and run hdparm again. DMA should be enable for your drive.
You may need to recompile the kernel to support DMA.
|
|
|
07-25-2003, 03:53 AM
|
#7
|
Member
Registered: May 2002
Distribution: Gentoo
Posts: 54
Original Poster
Rep:
|
hdparm -X68 -d1 -c3 -k1 for both /dev/hda and /dev/hdb produces:
setting 32-bit IO_support flag to 3
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
setting keep_settings to 1 (on)
setting xfermode to 68 (UltraDMA mode4)
HDIO_DRIVE_CMD(setxfermode) failed: Input/output error
IO_support = 3 (32-bit w/sync)
using_dma = 0 (off)
keepsettings = 1 (on)
I also tried adding "ide0=ata100" to /etc/lilo.conf, but when I ran /sbin/lilo :
Warning: LBA32 addressing assumed
Unrecognized token "ide0" at or above line 36 in file '/etc/lilo.conf'
I double-checked, and I have DMA and EIDE compiled in my 2.4.21 kernel.
|
|
|
07-25-2003, 03:56 PM
|
#8
|
Member
Registered: May 2002
Distribution: Gentoo
Posts: 54
Original Poster
Rep:
|
problem solved
I have been reading that people using the 2.4.21 kernel are having problems with DMA/ATA settings. I compiled a 2.4.20 kernel, and DMA works now. I can onced again multi-task. Thanks all for the suggestions.
P.S. No more boot errors with kernel, too!
|
|
|
07-25-2003, 05:16 PM
|
#9
|
LQ Guru
Registered: Jan 2002
Posts: 6,042
Rep:
|
After searching this forum. I found http://www.linuxquestions.org/questi...threadid=72226
Scroll to the bottom post.
For linux drives, you may want to set them to LBA in the BIOS instead of AUTO. Also you can specify lba32 in lilo configuration file.
The ide0=ata66 should be placed in the append line of lilo.
|
|
|
All times are GMT -5. The time now is 07:58 AM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|