Bug 117683 - boot.idedma: device /dev/hdg for CD-ROM is not found
Summary: boot.idedma: device /dev/hdg for CD-ROM is not found
Status: RESOLVED FIXED
Alias: None
Product: SUSE Linux 10.1
Classification: openSUSE
Component: Basesystem (show other bugs)
Version: Alpha 1
Hardware: x86 All
: P5 - None : Normal (vote)
Target Milestone: Alpha 2
Assignee: Ladislav Slezák
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-18 15:22 UTC by Ulrich Derenthal
Modified: 2005-10-13 08:41 UTC (History)
1 user (show)

See Also:
Found By: Beta-NTS
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ulrich Derenthal 2005-09-18 15:22:15 UTC
My CD-ROM drive is /dev/hdg. The YaST module for the IDE DMA mode configuration
allows me to specify an appropriate DMA mode.

However, on startup, boot.idedma fails because /dev/hdg is not found. However
after startup, /dev/hdg exists. This is strange.
Comment 1 Christian Zoz 2005-09-27 11:14:43 UTC
Ladislav, we cannot guarantee that all devices are present at a certain time
when booting. Device initialisaton is an assynchronous process that happens in
backround. And further there might be devices which will be plugged at runtime.

Can you please change the script that way, that it just works on one single
device given on command line (check if device is in DEVICES_FORCE_IDE_DMA and
skip if not). Then we can call that scripts via an udev rule and remove it from
/etc/init.d. Call it /sbin/udev.idedma.sh.
Comment 3 Christian Zoz 2005-09-27 14:24:33 UTC
You can leave the echo commands in.

If you set 
  /etc/udev/udev.conf:udev_log=info
and restart udev or call
  udevcontrol log_priority=6
then you will see all output in syslog.

To generate a hotplug event for ide devices you may manually (un)bind devices in
sysfs. E.g. in /sys/bus/ide/drivers/ide-cdrom/ there is a link to the cdrom
device. Take that name and 'echo -n' it to (un)bind.
  echo -n 1.0 > /sys/bus/ide/drivers/ide-cdrom/unbind
  echo -n 1.0 > /sys/bus/ide/drivers/ide-cdrom/bind
You can use show_event_log from /usr/share/doc/packages/udev/ to extract the
mesages for certain events from syslog. Use a fresh /var/log/messages for that.
show_event_log <sequence number of first event> [<seq.num. of last or "last">]
See README.Logging.

Read about udev rules in man udev. You will need something like 
  KERNEL=="hd*[!0-9]", RUN+="/sbin/udev.idedma.sh"
If you don't specify arguments to your script it will be called with the device
(kernel) name as single argument.
Comment 4 Ladislav Slezák 2005-10-06 14:35:45 UTC
Ruediger, please add the script (sent via mail) into aaa_base package. Then
reassign the bug back to me and I will adapt the yast module.
Comment 5 Ruediger Oertel 2005-10-12 16:40:19 UTC
added script to hdparm package (and removed leftovers from aaa_base) 
 
setting product to 10.1 
 
reassigning 
Comment 6 Ladislav Slezák 2005-10-13 08:41:53 UTC
The yast module has been adapted (fixed in yast2-tune-2.13.1)