Skip to contentSkip to conversation

udevadm monitor and atapi dvdrw

DISCUSSION Franco Martelli 2 participants 4 messages Nov 21, 2012 – Nov 25, 2012

lore
Share & tools
lore
#0 lore raw

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 at http://reactivated.net/writing_udev_rules.html but doesn't help for ide devices ACTION="change".
Could anybody help me to write such a rule?

bye,

Signature · 1 line
                                         Franco Martelli.
#1 lore raw
Quoted 11 lines · Franco Martelli

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:

Quoted 6 lines

SUBSYSTEM="block", KERNEL="hdc", ACTION="change", RUN+="/sbin/rmmod udf crc_itu_t"

I look at http://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

#2 lore raw
In reply to Franco Martelli

Il 22/11/2012 20:08, Kay Sievers ha scritto:

Quoted 23 lines · Franco Martelli
Quoted 11 lines

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:

Quoted 6 lines

SUBSYSTEM="block", KERNEL="hdc", ACTION="change", RUN+="/sbin/rmmod udf crc_itu_t"

I look at http://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.

Quoted 6 lines

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

Thank you very much Kay,
does libata work as a kernel module only or can be statically included into the kernel? My lsmod output is:

# lsmod
Module                  Size  Used by
vboxpci                11426  0
vboxnetadp             17099  0
vboxnetflt             13500  0
vboxdrv              1754521  3 vboxpci,vboxnetadp,vboxnetflt

that are Virtual Box modules. I've included into the kernel usb, sound, network, sata, ide, and other devices support. Modules are ppp, usb specific drivers, lp ... and others but not libata. Maybe should I looking for a more recent, backported to sqeeze linux kernel?

bye,

Signature · 1 line
                                         Franco Martelli.
#3 lore raw
In reply to Franco Martelli

Il 22/11/2012 20:08, Kay Sievers ha scritto:

Quoted 23 lines · Franco Martelli
Quoted 11 lines

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:

Quoted 6 lines

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.

Quoted 6 lines

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,

Signature · 1 line
                                         Franco Martelli.