here is the event with kernel 2.6.21:
UEVENT[1187683991.583384]
add /devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1.7/2-1.7:1.0 (usb)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1.7/2-1.7:1.0
SUBSYSTEM=usb
SEQNUM=3070
PHYSDEVBUS=usb
DEVICE=/proc/bus/usb/002/006
PRODUCT=8e6/3438/100
TYPE=0/0/0
INTERFACE=11/0/0
MODALIAS=usb:v08E6p3438d0100dc00dsc00dp00ic0Bisc00ip00
note: it has both - MODALIAS and DEVICE.
here is the event with kernel 2.6.22 (with CONFIG_USB_DEVICE_CLASS):
UEVENT[1187684539.588975]
add /devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1.7/2-1.7:1.0 (usb)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1.7/2-1.7:1.0
SUBSYSTEM=usb
SEQNUM=3029
DEVTYPE=usb_interface
PHYSDEVBUS=usb
INTERFACE=11/0/0
MODALIAS=usb:v08E6p3438d0100dc00dsc00dp00ic0Bisc00ip00
you see, it is missing DEVICE and PRODUCT and TYPE
and here is the event with kernel 2.6.22 with alans patch and
CONFIG_USB_DEVICE_CLASS:
UEVENT[1187684125.860105]
add /devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1.7/2-1.7:1.0 (usb)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1.7/2-1.7:1.0
SUBSYSTEM=usb
SEQNUM=3029
DEVTYPE=usb_interface
PHYSDEVBUS=usb
DEVICE=/proc/bus/usb/002/006
BUSNUM=002
DEVNUM=006
INTERFACE=11/0/0
MODALIAS=usb:v08E6p3438d0100dc00dsc00dp00ic0Bisc00ip00
it still misses PRODUCT and TYPE, for real compatibility those should be added
too. (I can work around that, as the PRODUCT information is part of MODALIAS
and I don't use TYPE.)
both with CONFIG_USB_DEVICE_CLASS. would it change anything here?
still trying to get it to work, so far I try:
SUBSYSTEM!="usb", GOTO="openct_usb_rules_end"
ACTION!="add", GOTO="openct_usb_rules_end"
ENV{MODALIAS}=="usb:v0973p0001*", RUN+="/lib/udev/openct_usb"
ENV{MODALIAS}=="usb:*ic0Bisc00*", RUN+="/lib/udev/openct_usb"
LABEL="openct_usb_rules_end"
this should work?
I'm no udev expert, but old kernels provide an event with all three
informations I care about: MODALIAS, DEVICE and PRODUCT. this is changed,
and I don't understand what it has to do with usb_device class.
but I can say that without any event that has all three (or at least the first
two - I can create PRODUCT from MODALIAS i think), I would need to redesign
how openct finds out if new devices are plugged in. long term I might need
to do so anyway, but right now people complain "it doesn't work" to me, and
the culprit seems to be the kernel to me - 2.6.21 works, 2.6.22 does not.
Now I'm working on getting openct udev rules and handling script fixed so
they work at least with alans patch and work around missing PRODUCT.
Regards, Andreas
-