From mboxrd@z Thu Jan 1 00:00:00 1970 From: Franco Martelli Date: Sun, 25 Nov 2012 15:44:57 +0000 Subject: Re: udevadm monitor and atapi dvdrw Message-Id: <50B23CF9.50500@gmail.com> List-Id: References: <50ACF972.5020409@gmail.com> In-Reply-To: <50ACF972.5020409@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org Il 22/11/2012 20:08, Kay Sievers ha scritto: > On Wed, Nov 21, 2012 at 4:55 PM, Franco Martelli wrote: >> Hi everybody, >> >> I'm using Debian Sqeeze 6.0, kernel 2.6.32, udev version 164. >> With kernel provided from debian my dvdrw is under scsi subsystem and >> udevadm monitor recognize optical disk change with a lot of info output >> suitable to write rules. >> I've recompilated the kernel and things has changed, now my dvdrw is under >> ide/atapi subsystem and the device name is hdc now. >> I'd like to write a rule that remove udf and crc_itu_t modules as soon as >> optical disk is left off from dvdrw drive. Example: >> >> SUBSYSTEM="block", KERNEL="hdc", ACTION="change", RUN+="/sbin/rmmod udf >> crc_itu_t" >> >> I look athttp://reactivated.net/writing_udev_rules.html but doesn't help >> for ide devices ACTION="change". >> Could anybody help me to write such a rule? > Modern userspace and kernel facilities like media change polling do > not support all the old and deprecated IDE drivers. The IDE drivers > are just not capable to do what you are looking for. Udev does not > support IDE drivers at all, only libata. > > You might just want to disable the IDE drivers in the kernel config > and use the libata ones. Ideally the kernel would just delete the IDE > stuff. > > Kay > solved. :-) I've build the kernel using /boot/config-2.6.32-5-amd64 as reference, that is the .config of the kernel provided from Debian. I checked line by line libata and scsi targets and with make menuconfig I excluded "< > ATA/ATAPI/MFM/RLL support --->" and I apply new configuration as you suggest. So the rule that do the work is: SUBSYSTEM="scsi", ENV{SDEV_MEDIA_CHANGE}="1", ACTION="change", RUN+="/sbin/rmmod udf crc_itu_t" I don't know if it's the right way to unload modules no more needed but it works. bye, -- Franco Martelli.