Description of Problem: The use of /etc/sysconfig/harddisk(s|hd?) is limited to media type "disk" Version-Release number of selected component (if applicable): How Reproducible: Design problem Steps to Reproduce: 1. 2. 3. Actual Results: Expected Results: Additional Information: I have found it necessary to disable DMA on other IDE devices e.g. CDROM or TAPE drive and the check for media type "disk" defeats this. Either the media type needs extending to "cdrom" and "tape" also or media check needs removing altogether. The only solution at present is to put hdparm lines in /etc/rc.local which rather defeats the purpose of these override files.
Arjan: isn't DMA disabling on CD-ROM/tape being done automatically?
Apparently not. I've used hdparm /dev/hdb and hdparm /dev/hdd to report the configuration of my IDE CDROM and HP Colorado Tape drive respectively and they both say that DMA is enabled. I've experienced problems with the IDE CDROM returning busy statuses and being reset and the ide-tape module behaves badly if DMA is enabled (the tape drive isn't DMA capable anyway). With these sorts of things happening I think a simple method of tuning the parameters is needed.
DMA is only off for cdroms in the installer kernel. Most cdrom drives are fine with dma, only a small number (well, 20% or so) is actually broken (they advertise DMA capability to the kernel but don't actually support it). Most of those are already on the blacklist and DMA is off for those; it appears that your drive isn't on the blacklist yet.... For tapes it depends on the chipset it appears; we know of 1 specific problem so far with a serverworks chipset vs a seagate tapedrive...
If it's of any use the hdparm -I output for my CDROM and Tape drives follows. I think the CDROM drive manufacturer is Delta and the Tape drive is an HP Colorado 8GB. Model=TAPA I84 XDCOR M , FwRev=EV-R.303, SerialNo=84CXRDMOV re.303 Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic } RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0 BuffType=unknown, BuffSize=0kB, MaxMultSect=0 (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0 IORDY=yes, tPIO={min:227,w/IORDY:120}, tDMA={min:120,rec:150} PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: *mdma0 mdma1 mdma2 *udma0 udma1 udma2 AdvancedPM=no Model=PH OCOLAROD8 BG , FwRev=.2600020, SerialNo=XM00392967 Config={ SpinMotCtl Removeable DTR<=5Mbs nonMagnetic } RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0 BuffType=unknown, BuffSize=0kB, MaxMultSect=0 (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0 IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: sdma0 sdma1 sdma2 mdma0 mdma1 *mdma2 AdvancedPM=no
Either way, you can put hdparm -d 0 /dev/hdd in /etc/rc.local ....
This will be changed in 6.64-1; it will tweak non-disks, but only if there is an /etc/sysconfig/harddisk<device> for that explicit device.
Since 6.64 isn't public yet... I know not the wisdom, but this simple patch allowed me to tweak cdrom in sysconfig. --- rc.sysinit-5.84.1-1 Fri Sep 21 08:58:58 2001 +++ rc.sysinit Mon Jan 21 03:13:11 2002 @@ -350,7 +350,7 @@ fi if [ -e "/proc/ide/${disk[$device]}/media" ] ; then hdmedia=`cat /proc/ide/${disk[$device]}/media` - if [ "$hdmedia" = "disk" ]; then + if [ "$hdmedia" = "disk" -o "$hdmedia" = "cdrom" ]; then if [ -n "${HDFLAGS[$device]}" ]; then action $"Setting hard drive parameters for ${disk [$device]}: " /sbin/hdparm ${HDFLAGS[$device]} /dev/${disk[$device]} fi