Bugzilla – Bug 117683
boot.idedma: device /dev/hdg for CD-ROM is not found
Last modified: 2005-10-13 08:41:53 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.
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.
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.
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.
added script to hdparm package (and removed leftovers from aaa_base) setting product to 10.1 reassigning
The yast module has been adapted (fixed in yast2-tune-2.13.1)