linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Trouble getting udev rule to fire, works in udevtest
@ 2009-07-18  1:31 Ben Beuchler
  2009-07-18  8:34 ` Alan Jenkins
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Ben Beuchler @ 2009-07-18  1:31 UTC (permalink / raw)
  To: linux-hotplug

I'm trying to write a rule that detects the unplugging of a particular
USB device and unloads the kernel module when that happens.  The
reason is that the module appears to be buggy in that if the device is
reconnected without first unloading the module, the module hangs and
the device is not activated.  At this point even forcibly unloading
the module makes no difference.

The device is a MultiTech GSM modem.   The udevinfo used to build the
rule is pasted below.  Here is the rule I've created (and installed in
/etc/udev/rules.d/85-mts_gsm_3410_remove.rules):

SUBSYSTEMS="usb", ACTION="remove", ATTRS{idVendor}="06e0",
ATTRS{idProduct}="f111", RUN+="modprobe -r ti_usb_3410_5052"

For testing purposes, I changed the modprobe to "echo hello from
ti_usb_remove >> /tmp/udev.works"

udevtest seems to indicate that the rule works:

# udevtest --action=remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0 | grep -v
^parse_file
[:snipped udevtest explanation:]
import_uevent_var: import into environment: 'DRIVER=ti_usb_3410_5052_1'
udevtest: looking at device
'/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0' from
subsystem 'usb-serial'
udevtest: run: '/bin/sh -c 'echo 2 >
/sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0/device/bConfigurationValue''
udevtest: run: 'echo hello from ti_usb_remove >> /tmp/udev.works'
udevtest: run: 'socket:/org/kernel/udev/monitor'

However if I actually unplug the device, /tmp/udev.works doesn't show
up.   On the off chance that my kernel doesn't support inotify, I also
tried running "udevcontrol reload_rules".  Still failed.  The output
of udevmonitor, captured while unplugging the device, is pasted below.
 For giggles, I also tried running a "logger hello" command instead of
the echo.  Does not appear to run.

Any idea what I'm doing wrong?

Thanks!

-Ben

kernel version: 2.6.24-24
udev version: 117-8


#################
### udevmonitor
#################
UEVENT[1247880336.509326] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.31_ep81
(usb_endpoint)
UEVENT[1247880336.509376] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.31_ep01
(usb_endpoint)
UEVENT[1247880336.509387] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.31_ep83
(usb_endpoint)
UEVENT[1247880336.509397] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0/tty/ttyUSB0
(tty)
UEVENT[1247880336.509405] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0 (usb-serial)
UEVENT[1247880336.509413] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0 (usb)
UEVENT[1247880336.509420] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.31_ep00
(usb_endpoint)
UEVENT[1247880336.509427] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1 (usb)
UDEV  [1247880336.513110] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.31_ep81
(usb_endpoint)
UDEV  [1247880336.517862] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.31_ep01
(usb_endpoint)
UDEV  [1247880336.520061] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.31_ep83
(usb_endpoint)
UDEV  [1247880336.521405] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0/tty/ttyUSB0
(tty)
UDEV  [1247880336.527260] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0 (usb-serial)
UDEV  [1247880336.531013] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.31_ep00
(usb_endpoint)
UDEV  [1247880336.532150] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0 (usb)
UDEV  [1247880336.535154] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1 (usb)

#################
# udevinfo
#################
# udevinfo -a -p /devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0

Udevinfo starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0':
    KERNEL="ttyUSB0"
    SUBSYSTEM="usb-serial"
    DRIVER="ti_usb_3410_5052_1"
    ATTR{port_number}="0"

  looking at parent device '/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0':
    KERNELS="4-1:2.0"
    SUBSYSTEMS="usb"
    DRIVERS="ti_usb_3410_5052"
    ATTRS{bInterfaceNumber}="00"
    ATTRS{bAlternateSetting}=" 0"
    ATTRS{bNumEndpoints}="03"
    ATTRS{bInterfaceClass}="ff"
    ATTRS{bInterfaceSubClass}="00"
    ATTRS{bInterfaceProtocol}="00"
    ATTRS{modalias}="usb:v06E0pF111d0101dcFFdsc00dp00icFFisc00ip00"

  looking at parent device '/devices/pci0000:00/0000:00:1d.3/usb4/4-1':
    KERNELS="4-1"
    SUBSYSTEMS="usb"
    DRIVERS="usb"
    ATTRS{dev}="189:414"
    ATTRS{configuration}=""
    ATTRS{bNumInterfaces}=" 1"
    ATTRS{bConfigurationValue}="2"
    ATTRS{bmAttributes}="a0"
    ATTRS{bMaxPower}="500mA"
    ATTRS{urbnum}="13"
    ATTRS{idVendor}="06e0"
    ATTRS{idProduct}="f111"
    ATTRS{bcdDevice}="0101"
    ATTRS{bDeviceClass}="ff"
    ATTRS{bDeviceSubClass}="00"
    ATTRS{bDeviceProtocol}="00"
    ATTRS{bNumConfigurations}="2"
    ATTRS{bMaxPacketSize0}="8"
    ATTRS{speed}="12"
    ATTRS{busnum}="4"
    ATTRS{devnum}="31"
    ATTRS{version}=" 1.10"
    ATTRS{maxchild}="0"
    ATTRS{quirks}="0x0"
    ATTRS{authorized}="1"
    ATTRS{manufacturer}="Texas Instruments"
    ATTRS{product}="TUSB3410 Serial Port"

  looking at parent device '/devices/pci0000:00/0000:00:1d.3/usb4':
    KERNELS="usb4"
    SUBSYSTEMS="usb"
    DRIVERS="usb"
    ATTRS{dev}="189:384"
    ATTRS{configuration}=""
    ATTRS{bNumInterfaces}=" 1"
    ATTRS{bConfigurationValue}="1"
    ATTRS{bmAttributes}="e0"
    ATTRS{bMaxPower}="  0mA"
    ATTRS{urbnum}="668"
    ATTRS{idVendor}="0000"
    ATTRS{idProduct}="0000"
    ATTRS{bcdDevice}="0206"
    ATTRS{bDeviceClass}="09"
    ATTRS{bDeviceSubClass}="00"
    ATTRS{bDeviceProtocol}="00"
    ATTRS{bNumConfigurations}="1"
    ATTRS{bMaxPacketSize0}="64"
    ATTRS{speed}="12"
    ATTRS{busnum}="4"
    ATTRS{devnum}="1"
    ATTRS{version}=" 1.10"
    ATTRS{maxchild}="2"
    ATTRS{quirks}="0x0"
    ATTRS{authorized}="1"
    ATTRS{manufacturer}="Linux 2.6.24-24-server uhci_hcd"
    ATTRS{product}="UHCI Host Controller"
    ATTRS{serial}="0000:00:1d.3"
    ATTRS{authorized_default}="1"

  looking at parent device '/devices/pci0000:00/0000:00:1d.3':
    KERNELS="0000:00:1d.3"
    SUBSYSTEMS="pci"
    DRIVERS="uhci_hcd"
    ATTRS{vendor}="0x8086"
    ATTRS{device}="0x27cb"
    ATTRS{subsystem_vendor}="0x103c"
    ATTRS{subsystem_device}="0x31fe"
    ATTRS{class}="0x0c0300"
    ATTRS{irq}="21"
    ATTRS{local_cpus}="00000000,00000000"
    ATTRS{modalias}="pci:v00008086d000027CBsv0000103Csd000031FEbc0Csc03i00"
    ATTRS{numa_node}="-1"
    ATTRS{enable}="1"
    ATTRS{broken_parity_status}="0"
    ATTRS{msi_bus}=""

  looking at parent device '/devices/pci0000:00':
    KERNELS="pci0000:00"
    SUBSYSTEMS=""
    DRIVERS=""

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Trouble getting udev rule to fire, works in udevtest
  2009-07-18  1:31 Trouble getting udev rule to fire, works in udevtest Ben Beuchler
@ 2009-07-18  8:34 ` Alan Jenkins
  2009-07-30  0:00 ` Ben Beuchler
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Alan Jenkins @ 2009-07-18  8:34 UTC (permalink / raw)
  To: linux-hotplug

On 7/18/09, Ben Beuchler <insyte@gmail.com> wrote:
> I'm trying to write a rule that detects the unplugging of a particular
> USB device and unloads the kernel module when that happens.  The
> reason is that the module appears to be buggy in that if the device is
> reconnected without first unloading the module, the module hangs and
> the device is not activated.  At this point even forcibly unloading
> the module makes no difference.
>
> The device is a MultiTech GSM modem.   The udevinfo used to build the
> rule is pasted below.  Here is the rule I've created (and installed in
> /etc/udev/rules.d/85-mts_gsm_3410_remove.rules):
>
> SUBSYSTEMS="usb", ACTION="remove", ATTRS{idVendor}="06e0",
> ATTRS{idProduct}="f111", RUN+="modprobe -r ti_usb_3410_5052"
>
> For testing purposes, I changed the modprobe to "echo hello from
> ti_usb_remove >> /tmp/udev.works"
>
> udevtest seems to indicate that the rule works:
>
> # udevtest --action=remove
> /devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0 | grep -v
> ^parse_file
> [:snipped udevtest explanation:]
> import_uevent_var: import into environment: 'DRIVER=ti_usb_3410_5052_1'
> udevtest: looking at device
> '/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0' from
> subsystem 'usb-serial'
> udevtest: run: '/bin/sh -c 'echo 2 >
>
/sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0/device/bConfigurationValue''
> udevtest: run: 'echo hello from ti_usb_remove >> /tmp/udev.works'
> udevtest: run: 'socket:/org/kernel/udev/monitor'
>
> However if I actually unplug the device, /tmp/udev.works doesn't show
> up.   On the off chance that my kernel doesn't support inotify, I also
> tried running "udevcontrol reload_rules".  Still failed.  The output
> of udevmonitor, captured while unplugging the device, is pasted below.
>  For giggles, I also tried running a "logger hello" command instead of
> the echo.  Does not appear to run.
>
> Any idea what I'm doing wrong?

ATTR won't work on a real remove, because the sysfs files are removed
before udev processes the event.

Apparently you can change the match to ACTION="add" and set
ENV{REMOVE_CMD}="modprobe -r ti_usb_3410_5052" instead.  This feature
was recently mentioned here
<http://article.gmane.org/gmane.linux.hotplug.devel/14221>.

I don't know when REMOVE_CMD was added to the rules.  If your rules are
too old, you should be able implement it yourself.  It is a really
simple idea, you just need another rule to run the command on remove.

ACTION="remove", ENV{REMOVE_CMD}="?*", RUN+="$env{REMOVE_CMD}"

Oh, and this is a pretty major bug in the module, please make sure it
has been reported to the appropriate people :-).

Alan

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Trouble getting udev rule to fire, works in udevtest
  2009-07-18  1:31 Trouble getting udev rule to fire, works in udevtest Ben Beuchler
  2009-07-18  8:34 ` Alan Jenkins
@ 2009-07-30  0:00 ` Ben Beuchler
  2009-07-31 19:06 ` Alan Jenkins
  2009-08-01  4:57 ` Ben Beuchler
  3 siblings, 0 replies; 5+ messages in thread
From: Ben Beuchler @ 2009-07-30  0:00 UTC (permalink / raw)
  To: linux-hotplug

> I don't know when REMOVE_CMD was added to the rules.  If your rules are
> too old, you should be able implement it yourself.  It is a really
> simple idea, you just need another rule to run the command on remove.
>
> ACTION="remove", ENV{REMOVE_CMD}="?*", RUN+="$env{REMOVE_CMD}"

My udev is, indeed, too old (version 117), so I implemented a similar technique:

SUBSYSTEMS="usb", ACTION="add", SYSFS{idVendor}="06e0",
SYSFS{idProduct}="f111", ENV{REMOVE_CMD}="/usr/bin/logger GOODBYE"

ACTION="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"

That seems to be working. The problem I'm encountering now is that it
seems there are several "remove" actions called during initialization
of the device.  If I swap in the "modprobe -r" command described in an
earlier email, it unloads the driver for the device before it even
finishes initializing.

Below I've attached a sample syslog snippet showing the many "GOODBYE"
messages logged when I plug in the deivce.  Also I've attached the
output of "udevmonitor --env".  For good measure, I've also thrown the
output of "udevinfo -a -n /dev/ttyUSB0" at the end.

Any idea how I can get my RUN command to only execute when I'm
actually unplugging the device?

Thanks!

-Ben


####################################
syslog
####################################
Jul 29 18:56:29 test02 kernel: [ 8564.084047] usb 4-1: new full speed
USB device using uhci_hcd and address 66
Jul 29 18:56:29 test02 kernel: [ 8564.271590] usb 4-1: configuration
#1 chosen from 1 choice
Jul 29 18:56:29 test02 kernel: [ 8564.312540] usbcore: registered new
interface driver usbserial
Jul 29 18:56:29 test02 kernel: [ 8564.312562]
/home/insyte/newkernel/linux-2.6.24/drivers/usb/serial/usb-serial.c:
USB Serial support registered for generic
Jul 29 18:56:29 test02 kernel: [ 8564.312590] usbcore: registered new
interface driver usbserial_generic
Jul 29 18:56:29 test02 kernel: [ 8564.312592]
/home/insyte/newkernel/linux-2.6.24/drivers/usb/serial/usb-serial.c:
USB Serial Driver core
Jul 29 18:56:29 test02 kernel: [ 8564.316199]
/home/insyte/newkernel/linux-2.6.24/drivers/usb/serial/usb-serial.c:
USB Serial support registered for TI USB 3410 1 port adapter
Jul 29 18:56:29 test02 kernel: [ 8564.316220]
/home/insyte/newkernel/linux-2.6.24/drivers/usb/serial/usb-serial.c:
USB Serial support registered for TI USB 5052 2 port adapter
Jul 29 18:56:29 test02 kernel: [ 8564.316251] ti_usb_3410_5052
4-1:1.0: TI USB 3410 1 port adapter converter detected
Jul 29 18:56:30 test02 kernel: [ 8565.021140] usb 4-1: reset full
speed USB device using uhci_hcd and address 66
Jul 29 18:56:30 test02 kernel: [ 8565.166715] usb 4-1: device firmware changed
Jul 29 18:56:30 test02 kernel: [ 8565.166743] ti_usb_3410_5052: probe
of 4-1:1.0 failed with error -5
Jul 29 18:56:30 test02 kernel: [ 8565.166757] usbcore: registered new
interface driver ti_usb_3410_5052
Jul 29 18:56:30 test02 kernel: [ 8565.166761]
/home/insyte/newkernel/linux-2.6.24/drivers/usb/serial/ti_usb_3410_5052.c:
TI USB 3410/5052 Serial Driver v1.2.5
Jul 29 18:56:30 test02 kernel: [ 8565.167282] usb 4-1: USB disconnect,
address 66
Jul 29 18:56:30 test02 logger: GOODBYE
Jul 29 18:56:30 test02 logger: GOODBYE
Jul 29 18:56:30 test02 kernel: [ 8565.290296] usb 4-1: new full speed
USB device using uhci_hcd and address 67
Jul 29 18:56:30 test02 kernel: [ 8565.500780] usb 4-1: configuration
#2 chosen from 2 choices
Jul 29 18:56:30 test02 kernel: [ 8565.507050] ti_usb_3410_5052
4-1:2.0: TI USB 3410 1 port adapter converter detected
Jul 29 18:56:30 test02 kernel: [ 8565.507176] usb 4-1: TI USB 3410 1
port adapter converter now attached to ttyUSB0
Jul 29 18:56:30 test02 kernel: [ 8565.510831] ti_usb_3410_5052_1
ttyUSB0: TI USB 3410 1 port adapter converter now disconnected from
ttyUSB0
Jul 29 18:56:30 test02 kernel: [ 8565.510851] ti_usb_3410_5052
4-1:2.0: device disconnected
Jul 29 18:56:30 test02 kernel: [ 8565.517055] ti_usb_3410_5052
4-1:2.0: TI USB 3410 1 port adapter converter detected
Jul 29 18:56:30 test02 kernel: [ 8565.517186] usb 4-1: TI USB 3410 1
port adapter converter now attached to ttyUSB0
Jul 29 18:56:30 test02 logger: GOODBYE
Jul 29 18:56:30 test02 logger: GOODBYE
Jul 29 18:56:30 test02 logger: GOODBYE
Jul 29 18:56:30 test02 logger: GOODBYE

#####################################
udevmonitor --env
#####################################
udevmonitor will print the received events for:
UDEV the event which udev sends out after rule processing
UEVENT the kernel uevent

UEVENT[1248911789.339831] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1 (usb)
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1
SUBSYSTEM=usb
MAJOR\x189
MINORD9
DEVTYPE=usb_device
DEVICE=/proc/bus/usb/004/066
PRODUCTn0/f111/101
TYPE%5/0/0
BUSNUM\04
DEVNUM\x066
SEQNUMB67

UEVENT[1248911789.339863] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.66_ep00
(usb_endpoint)
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.66_ep00
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x17
SEQNUMB68

UEVENT[1248911789.347062] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0 (usb)
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0
SUBSYSTEM=usb
DEVTYPE=usb_interface
DEVICE=/proc/bus/usb/004/066
PRODUCTn0/f111/101
TYPE%5/0/0
INTERFACE%5/0/0
MODALIAS=usb:v06E0pF111d0101dcFFdsc00dp00icFFisc00ip00
SEQNUMB69

UEVENT[1248911789.347085] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.66_ep01
(usb_endpoint)
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.66_ep01
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x18
SEQNUMB70

UDEV  [1248911789.347138] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1 (usb)
UDEV_LOG=3
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1
SUBSYSTEM=usb
MAJOR\x189
MINORD9
DEVTYPE=usb_device
DEVICE=/proc/bus/usb/004/066
PRODUCTn0/f111/101
TYPE%5/0/0
BUSNUM\04
DEVNUM\x066
SEQNUMB67
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE
DEVNAME=/dev/bus/usb/004/066

UDEV  [1248911789.352450] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.66_ep00
(usb_endpoint)
UDEV_LOG=3
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.66_ep00
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x17
SEQNUMB68
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE
DEVNAME=/dev/usbdev4.66_ep00

UEVENT[1248911789.379430] add      /module/usbserial (module)
ACTION­d
DEVPATH=/module/usbserial
SUBSYSTEM=module
SEQNUMB71

UDEV  [1248911789.380749] add      /module/usbserial (module)
UDEV_LOG=3
ACTION­d
DEVPATH=/module/usbserial
SUBSYSTEM=module
SEQNUMB71
UDEVD_EVENT=1

UEVENT[1248911789.381364] add      /bus/usb-serial (bus)
ACTION­d
DEVPATH=/bus/usb-serial
SUBSYSTEM=bus
SEQNUMB72

UEVENT[1248911789.381381] add      /bus/usb/drivers/usbserial (drivers)
ACTION­d
DEVPATH=/bus/usb/drivers/usbserial
SUBSYSTEM=drivers
SEQNUMB73

UEVENT[1248911789.381387] add      /bus/usb-serial/drivers/generic (drivers)
ACTION­d
DEVPATH=/bus/usb-serial/drivers/generic
SUBSYSTEM=drivers
SEQNUMB74

UEVENT[1248911789.381393] add      /bus/usb/drivers/usbserial_generic (drivers)
ACTION­d
DEVPATH=/bus/usb/drivers/usbserial_generic
SUBSYSTEM=drivers
SEQNUMB75

UEVENT[1248911789.382902] add      /module/ti_usb_3410_5052 (module)
ACTION­d
DEVPATH=/module/ti_usb_3410_5052
SUBSYSTEM=module
SEQNUMB76

UDEV  [1248911789.384285] add      /bus/usb-serial (bus)
UDEV_LOG=3
ACTION­d
DEVPATH=/bus/usb-serial
SUBSYSTEM=bus
SEQNUMB72
UDEVD_EVENT=1

UEVENT[1248911789.385065] add
/bus/usb-serial/drivers/ti_usb_3410_5052_1 (drivers)
ACTION­d
DEVPATH=/bus/usb-serial/drivers/ti_usb_3410_5052_1
SUBSYSTEM=drivers
SEQNUMB77

UEVENT[1248911789.385084] add
/bus/usb-serial/drivers/ti_usb_3410_5052_2 (drivers)
ACTION­d
DEVPATH=/bus/usb-serial/drivers/ti_usb_3410_5052_2
SUBSYSTEM=drivers
SEQNUMB78

UEVENT[1248911789.385089] add      /bus/usb/drivers/ti_usb_3410_5052 (drivers)
ACTION­d
DEVPATH=/bus/usb/drivers/ti_usb_3410_5052
SUBSYSTEM=drivers
SEQNUMB79

UDEV  [1248911789.386427] add      /bus/usb/drivers/usbserial (drivers)
UDEV_LOG=3
ACTION­d
DEVPATH=/bus/usb/drivers/usbserial
SUBSYSTEM=drivers
SEQNUMB73
UDEVD_EVENT=1

UDEV  [1248911789.387933] add      /bus/usb-serial/drivers/generic (drivers)
UDEV_LOG=3
ACTION­d
DEVPATH=/bus/usb-serial/drivers/generic
SUBSYSTEM=drivers
SEQNUMB74
UDEVD_EVENT=1

UDEV  [1248911789.389429] add      /bus/usb/drivers/usbserial_generic (drivers)
UDEV_LOG=3
ACTION­d
DEVPATH=/bus/usb/drivers/usbserial_generic
SUBSYSTEM=drivers
SEQNUMB75
UDEVD_EVENT=1

UDEV  [1248911789.390833] add      /module/ti_usb_3410_5052 (module)
UDEV_LOG=3
ACTION­d
DEVPATH=/module/ti_usb_3410_5052
SUBSYSTEM=module
SEQNUMB76
UDEVD_EVENT=1

UDEV  [1248911789.392293] add
/bus/usb-serial/drivers/ti_usb_3410_5052_1 (drivers)
UDEV_LOG=3
ACTION­d
DEVPATH=/bus/usb-serial/drivers/ti_usb_3410_5052_1
SUBSYSTEM=drivers
SEQNUMB77
UDEVD_EVENT=1

UDEV  [1248911789.393777] add
/bus/usb-serial/drivers/ti_usb_3410_5052_2 (drivers)
UDEV_LOG=3
ACTION­d
DEVPATH=/bus/usb-serial/drivers/ti_usb_3410_5052_2
SUBSYSTEM=drivers
SEQNUMB78
UDEVD_EVENT=1

UDEV  [1248911789.395185] add      /bus/usb/drivers/ti_usb_3410_5052 (drivers)
UDEV_LOG=3
ACTION­d
DEVPATH=/bus/usb/drivers/ti_usb_3410_5052
SUBSYSTEM=drivers
SEQNUMB79
UDEVD_EVENT=1

UDEV  [1248911790.241293] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0 (usb)
UDEV_LOG=3
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0
SUBSYSTEM=usb
DEVTYPE=usb_interface
DEVICE=/proc/bus/usb/004/066
PRODUCTn0/f111/101
TYPE%5/0/0
INTERFACE%5/0/0
MODALIAS=usb:v06E0pF111d0101dcFFdsc00dp00icFFisc00ip00
SEQNUMB69
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE

UEVENT[1248911790.242283] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.66_ep01
(usb_endpoint)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.66_ep01
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x18
SEQNUMB80

UEVENT[1248911790.242306] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0 (usb)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0
SUBSYSTEM=usb
DEVTYPE=usb_interface
DEVICE=/proc/bus/usb/004/066
PRODUCTn0/f111/101
TYPE%5/0/0
INTERFACE%5/0/0
MODALIAS=usb:v06E0pF111d0101dcFFdsc00dp00icFFisc00ip00
SEQNUMB81

UEVENT[1248911790.242314] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.66_ep00
(usb_endpoint)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.66_ep00
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x17
SEQNUMB82

UEVENT[1248911790.242320] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1 (usb)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1
SUBSYSTEM=usb
MAJOR\x189
MINORD9
DEVTYPE=usb_device
DEVICE=/proc/bus/usb/004/066
PRODUCTn0/f111/101
TYPE%5/0/0
BUSNUM\04
DEVNUM\x066
SEQNUMB83

UDEV  [1248911790.243083] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.66_ep01
(usb_endpoint)
UDEV_LOG=3
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.66_ep01
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x18
SEQNUMB70
UDEVD_EVENT=1
DEVNAME=/dev/usbdev4.66_ep01

UDEV  [1248911790.245043] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.66_ep01
(usb_endpoint)
UDEV_LOG=3
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.66_ep01
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x18
SEQNUMB80
UDEVD_EVENT=1
DEVNAME=/dev/usbdev4.66_ep01

UDEV  [1248911790.246918] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0 (usb)
UDEV_LOG=3
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0
SUBSYSTEM=usb
DEVTYPE=usb_interface
DEVICE=/proc/bus/usb/004/066
PRODUCTn0/f111/101
TYPE%5/0/0
INTERFACE%5/0/0
MODALIAS=usb:v06E0pF111d0101dcFFdsc00dp00icFFisc00ip00
SEQNUMB81
UDEVD_EVENT=1

UDEV  [1248911790.250663] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.66_ep00
(usb_endpoint)
UDEV_LOG=3
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.66_ep00
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x17
SEQNUMB82
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE
DEVNAME=/dev/usbdev4.66_ep00

UDEV  [1248911790.254295] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1 (usb)
UDEV_LOG=3
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1
SUBSYSTEM=usb
MAJOR\x189
MINORD9
DEVTYPE=usb_device
DEVICE=/proc/bus/usb/004/066
PRODUCTn0/f111/101
TYPE%5/0/0
BUSNUM\04
DEVNUM\x066
SEQNUMB83
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE
DEVNAME=/dev/bus/usb/004/066

UEVENT[1248911790.572835] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1 (usb)
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1
SUBSYSTEM=usb
MAJOR\x189
MINORE0
DEVTYPE=usb_device
DEVICE=/proc/bus/usb/004/067
PRODUCTn0/f111/101
TYPE%5/0/0
BUSNUM\04
DEVNUM\x067
SEQNUMB84

UEVENT[1248911790.572859] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.67_ep00
(usb_endpoint)
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.67_ep00
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x17
SEQNUMB85

UEVENT[1248911790.579447] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0 (usb)
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0
SUBSYSTEM=usb
DEVTYPE=usb_interface
DEVICE=/proc/bus/usb/004/067
PRODUCTn0/f111/101
TYPE%5/0/0
INTERFACE%5/0/0
MODALIAS=usb:v06E0pF111d0101dcFFdsc00dp00icFFisc00ip00
SEQNUMB86

UEVENT[1248911790.579471] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0 (usb-serial)
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0
SUBSYSTEM=usb-serial
SEQNUMB87

UEVENT[1248911790.579479] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0/tty/ttyUSB0
(tty)
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0/tty/ttyUSB0
SUBSYSTEM=tty
MAJOR\x188
MINOR=0
SEQNUMB88

UEVENT[1248911790.579485] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep81
(usb_endpoint)
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep81
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x18
SEQNUMB89

UEVENT[1248911790.579491] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep01
(usb_endpoint)
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep01
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x19
SEQNUMB90

UEVENT[1248911790.579498] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep83
(usb_endpoint)
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep83
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR 
SEQNUMB91

UDEV  [1248911790.579884] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1 (usb)
UDEV_LOG=3
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1
SUBSYSTEM=usb
MAJOR\x189
MINORE0
DEVTYPE=usb_device
DEVICE=/proc/bus/usb/004/067
PRODUCTn0/f111/101
TYPE%5/0/0
BUSNUM\04
DEVNUM\x067
SEQNUMB84
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE
DEVNAME=/dev/bus/usb/004/067

UEVENT[1248911790.582944] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep81
(usb_endpoint)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep81
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x18
SEQNUMB92

UEVENT[1248911790.582969] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep01
(usb_endpoint)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep01
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x19
SEQNUMB93

UEVENT[1248911790.582976] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep83
(usb_endpoint)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep83
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR 
SEQNUMB94

UEVENT[1248911790.582982] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0/tty/ttyUSB0
(tty)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0/tty/ttyUSB0
SUBSYSTEM=tty
MAJOR\x188
MINOR=0
SEQNUMB95

UEVENT[1248911790.582988] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0 (usb-serial)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0
SUBSYSTEM=usb-serial
SEQNUMB96

UEVENT[1248911790.585796] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0 (usb)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0
SUBSYSTEM=usb
DEVTYPE=usb_interface
DEVICE=/proc/bus/usb/004/067
PRODUCTn0/f111/101
TYPE%5/0/0
INTERFACE%5/0/0
MODALIAS=usb:v06E0pF111d0101dcFFdsc00dp00icFFisc00ip00
SEQNUMB97

UEVENT[1248911790.589370] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0 (usb)
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0
SUBSYSTEM=usb
DEVTYPE=usb_interface
DEVICE=/proc/bus/usb/004/067
PRODUCTn0/f111/101
TYPE%5/0/0
INTERFACE%5/0/0
MODALIAS=usb:v06E0pF111d0101dcFFdsc00dp00icFFisc00ip00
SEQNUMB98

UEVENT[1248911790.589392] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0 (usb-serial)
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0
SUBSYSTEM=usb-serial
SEQNUMB99

UEVENT[1248911790.589400] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0/tty/ttyUSB0
(tty)
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0/tty/ttyUSB0
SUBSYSTEM=tty
MAJOR\x188
MINOR=0
SEQNUMC00

UEVENT[1248911790.589406] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep81
(usb_endpoint)
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep81
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x18
SEQNUMC01

UEVENT[1248911790.589411] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep01
(usb_endpoint)
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep01
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x19
SEQNUMC02

UEVENT[1248911790.589416] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep83
(usb_endpoint)
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep83
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR 
SEQNUMC03

UDEV  [1248911790.590113] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.67_ep00
(usb_endpoint)
UDEV_LOG=3
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.67_ep00
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x17
SEQNUMB85
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE
DEVNAME=/dev/usbdev4.67_ep00

UDEV  [1248911790.624637] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0 (usb)
UDEV_LOG=3
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0
SUBSYSTEM=usb
DEVTYPE=usb_interface
DEVICE=/proc/bus/usb/004/067
PRODUCTn0/f111/101
TYPE%5/0/0
INTERFACE%5/0/0
MODALIAS=usb:v06E0pF111d0101dcFFdsc00dp00icFFisc00ip00
SEQNUMB86
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE

UDEV  [1248911790.629937] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0 (usb-serial)
UDEV_LOG=3
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0
SUBSYSTEM=usb-serial
SEQNUMB87
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE

UDEV  [1248911790.631934] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep01
(usb_endpoint)
UDEV_LOG=3
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep01
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x19
SEQNUMB90
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE
DEVNAME=/dev/usbdev4.67_ep01

UDEV  [1248911790.632318] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep81
(usb_endpoint)
UDEV_LOG=3
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep81
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x18
SEQNUMB89
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE
DEVNAME=/dev/usbdev4.67_ep81

UDEV  [1248911790.636481] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep83
(usb_endpoint)
UDEV_LOG=3
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep83
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR 
SEQNUMB91
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE
DEVNAME=/dev/usbdev4.67_ep83

UDEV  [1248911790.641807] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0/tty/ttyUSB0
(tty)
UDEV_LOG=3
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0/tty/ttyUSB0
SUBSYSTEM=tty
MAJOR\x188
MINOR=0
SEQNUMB88
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE
DEVNAME=/dev/ttyUSB0

UDEV  [1248911790.644597] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep81
(usb_endpoint)
UDEV_LOG=3
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep81
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x18
SEQNUMB92
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE
DEVNAME=/dev/usbdev4.67_ep81

UDEV  [1248911790.646953] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep01
(usb_endpoint)
UDEV_LOG=3
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep01
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x19
SEQNUMB93
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE
DEVNAME=/dev/usbdev4.67_ep01

UDEV  [1248911790.651160] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep83
(usb_endpoint)
UDEV_LOG=3
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep83
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR 
SEQNUMB94
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE
DEVNAME=/dev/usbdev4.67_ep83

UDEV  [1248911790.652475] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0/tty/ttyUSB0
(tty)
UDEV_LOG=3
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0/tty/ttyUSB0
SUBSYSTEM=tty
MAJOR\x188
MINOR=0
SEQNUMB95
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE
DEVNAME=/dev/ttyUSB0

UDEV  [1248911790.653898] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0 (usb-serial)
UDEV_LOG=3
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0
SUBSYSTEM=usb-serial
SEQNUMB96
UDEVD_EVENT=1

UDEV  [1248911790.655841] remove
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0 (usb)
UDEV_LOG=3
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0
SUBSYSTEM=usb
DEVTYPE=usb_interface
DEVICE=/proc/bus/usb/004/067
PRODUCTn0/f111/101
TYPE%5/0/0
INTERFACE%5/0/0
MODALIAS=usb:v06E0pF111d0101dcFFdsc00dp00icFFisc00ip00
SEQNUMB97
UDEVD_EVENT=1

UDEV  [1248911790.686437] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0 (usb)
UDEV_LOG=3
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0
SUBSYSTEM=usb
DEVTYPE=usb_interface
DEVICE=/proc/bus/usb/004/067
PRODUCTn0/f111/101
TYPE%5/0/0
INTERFACE%5/0/0
MODALIAS=usb:v06E0pF111d0101dcFFdsc00dp00icFFisc00ip00
SEQNUMB98
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE

UDEV  [1248911790.691815] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0 (usb-serial)
UDEV_LOG=3
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0
SUBSYSTEM=usb-serial
SEQNUMB99
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE

UDEV  [1248911790.694182] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep01
(usb_endpoint)
UDEV_LOG=3
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep01
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x19
SEQNUMC02
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE
DEVNAME=/dev/usbdev4.67_ep01

UDEV  [1248911790.694415] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep81
(usb_endpoint)
UDEV_LOG=3
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep81
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR\x18
SEQNUMC01
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE
DEVNAME=/dev/usbdev4.67_ep81

UDEV  [1248911790.696359] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep83
(usb_endpoint)
UDEV_LOG=3
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/usb_endpoint/usbdev4.67_ep83
SUBSYSTEM=usb_endpoint
MAJOR%3
MINOR 
SEQNUMC03
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE
DEVNAME=/dev/usbdev4.67_ep83

UDEV  [1248911790.701599] add
/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0/tty/ttyUSB0
(tty)
UDEV_LOG=3
ACTION­d
DEVPATH=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0/tty/ttyUSB0
SUBSYSTEM=tty
MAJOR\x188
MINOR=0
SEQNUMC00
UDEVD_EVENT=1
REMOVE_CMD=/usr/bin/logger GOODBYE
DEVNAME=/dev/ttyUSB0

#####################################################################
udevinfo -a -n /dev/ttyUSB0
#####################################################################

# udevinfo -a -n /dev/ttyUSB0

Udevinfo starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device
'/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0/tty/ttyUSB0':
    KERNEL="ttyUSB0"
    SUBSYSTEM="tty"
    DRIVER=""
    ATTR{dev}="188:0"

  looking at parent device
'/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0/tty':
    KERNELS="tty"
    SUBSYSTEMS=""
    DRIVERS=""

  looking at parent device
'/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0/ttyUSB0':
    KERNELS="ttyUSB0"
    SUBSYSTEMS="usb-serial"
    DRIVERS="ti_usb_3410_5052_1"
    ATTRS{port_number}="0"

  looking at parent device '/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:2.0':
    KERNELS="4-1:2.0"
    SUBSYSTEMS="usb"
    DRIVERS="ti_usb_3410_5052"
    ATTRS{bInterfaceNumber}="00"
    ATTRS{bAlternateSetting}=" 0"
    ATTRS{bNumEndpoints}="03"
    ATTRS{bInterfaceClass}="ff"
    ATTRS{bInterfaceSubClass}="00"
    ATTRS{bInterfaceProtocol}="00"
    ATTRS{modalias}="usb:v06E0pF111d0101dcFFdsc00dp00icFFisc00ip00"

  looking at parent device '/devices/pci0000:00/0000:00:1d.3/usb4/4-1':
    KERNELS="4-1"
    SUBSYSTEMS="usb"
    DRIVERS="usb"
    ATTRS{dev}="189:450"
    ATTRS{configuration}=""
    ATTRS{bNumInterfaces}=" 1"
    ATTRS{bConfigurationValue}="2"
    ATTRS{bmAttributes}="a0"
    ATTRS{bMaxPower}="500mA"
    ATTRS{urbnum}="13"
    ATTRS{idVendor}="06e0"
    ATTRS{idProduct}="f111"
    ATTRS{bcdDevice}="0101"
    ATTRS{bDeviceClass}="ff"
    ATTRS{bDeviceSubClass}="00"
    ATTRS{bDeviceProtocol}="00"
    ATTRS{bNumConfigurations}="2"
    ATTRS{bMaxPacketSize0}="8"
    ATTRS{speed}="12"
    ATTRS{busnum}="4"
    ATTRS{devnum}="67"
    ATTRS{version}=" 1.10"
    ATTRS{maxchild}="0"
    ATTRS{quirks}="0x0"
    ATTRS{authorized}="1"
    ATTRS{manufacturer}="Texas Instruments"
    ATTRS{product}="TUSB3410 Serial Port"

  looking at parent device '/devices/pci0000:00/0000:00:1d.3/usb4':
    KERNELS="usb4"
    SUBSYSTEMS="usb"
    DRIVERS="usb"
    ATTRS{dev}="189:384"
    ATTRS{configuration}=""
    ATTRS{bNumInterfaces}=" 1"
    ATTRS{bConfigurationValue}="1"
    ATTRS{bmAttributes}="e0"
    ATTRS{bMaxPower}="  0mA"
    ATTRS{urbnum}="1416"
    ATTRS{idVendor}="0000"
    ATTRS{idProduct}="0000"
    ATTRS{bcdDevice}="0206"
    ATTRS{bDeviceClass}="09"
    ATTRS{bDeviceSubClass}="00"
    ATTRS{bDeviceProtocol}="00"
    ATTRS{bNumConfigurations}="1"
    ATTRS{bMaxPacketSize0}="64"
    ATTRS{speed}="12"
    ATTRS{busnum}="4"
    ATTRS{devnum}="1"
    ATTRS{version}=" 1.10"
    ATTRS{maxchild}="2"
    ATTRS{quirks}="0x0"
    ATTRS{authorized}="1"
    ATTRS{manufacturer}="Linux 2.6.24-24-server uhci_hcd"
    ATTRS{product}="UHCI Host Controller"
    ATTRS{serial}="0000:00:1d.3"
    ATTRS{authorized_default}="1"

  looking at parent device '/devices/pci0000:00/0000:00:1d.3':
    KERNELS="0000:00:1d.3"
    SUBSYSTEMS="pci"
    DRIVERS="uhci_hcd"
    ATTRS{vendor}="0x8086"
    ATTRS{device}="0x27cb"
    ATTRS{subsystem_vendor}="0x103c"
    ATTRS{subsystem_device}="0x31fe"
    ATTRS{class}="0x0c0300"
    ATTRS{irq}="21"
    ATTRS{local_cpus}="00000000,00000000"
    ATTRS{modalias}="pci:v00008086d000027CBsv0000103Csd000031FEbc0Csc03i00"
    ATTRS{numa_node}="-1"
    ATTRS{enable}="1"
    ATTRS{broken_parity_status}="0"
    ATTRS{msi_bus}=""

  looking at parent device '/devices/pci0000:00':
    KERNELS="pci0000:00"
    SUBSYSTEMS=""
    DRIVERS=""

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Trouble getting udev rule to fire, works in udevtest
  2009-07-18  1:31 Trouble getting udev rule to fire, works in udevtest Ben Beuchler
  2009-07-18  8:34 ` Alan Jenkins
  2009-07-30  0:00 ` Ben Beuchler
@ 2009-07-31 19:06 ` Alan Jenkins
  2009-08-01  4:57 ` Ben Beuchler
  3 siblings, 0 replies; 5+ messages in thread
From: Alan Jenkins @ 2009-07-31 19:06 UTC (permalink / raw)
  To: linux-hotplug

On 7/30/09, Ben Beuchler <insyte@gmail.com> wrote:
>> I don't know when REMOVE_CMD was added to the rules.  If your rules are
>> too old, you should be able implement it yourself.  It is a really
>> simple idea, you just need another rule to run the command on remove.
>>
>> ACTION="remove", ENV{REMOVE_CMD}="?*", RUN+="$env{REMOVE_CMD}"
>
> My udev is, indeed, too old (version 117), so I implemented a similar
> technique:
>
> SUBSYSTEMS="usb", ACTION="add", SYSFS{idVendor}="06e0",
> SYSFS{idProduct}="f111", ENV{REMOVE_CMD}="/usr/bin/logger GOODBYE"
>
> ACTION="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
>
> That seems to be working. The problem I'm encountering now is that it
> seems there are several "remove" actions called during initialization
> of the device.  If I swap in the "modprobe -r" command described in an
> earlier email, it unloads the driver for the device before it even
> finishes initializing.
>
> Below I've attached a sample syslog snippet showing the many "GOODBYE"
> messages logged when I plug in the deivce.  Also I've attached the
> output of "udevmonitor --env".  For good measure, I've also thrown the
> output of "udevinfo -a -n /dev/ttyUSB0" at the end.
>
> Any idea how I can get my RUN command to only execute when I'm
> actually unplugging the device?

Sorry I don't understand the behaviour of this device.  You sound
stuck, I guess I can suggest a hack.

Create a script to run in place of "modprobe -r".  Start with "sleep
1" or so, to give the driver time to initialize.  Check that the
ttyUSB device node no longer exists.  Only then let it do "modprobe
-r".

Alan

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Trouble getting udev rule to fire, works in udevtest
  2009-07-18  1:31 Trouble getting udev rule to fire, works in udevtest Ben Beuchler
                   ` (2 preceding siblings ...)
  2009-07-31 19:06 ` Alan Jenkins
@ 2009-08-01  4:57 ` Ben Beuchler
  3 siblings, 0 replies; 5+ messages in thread
From: Ben Beuchler @ 2009-08-01  4:57 UTC (permalink / raw)
  To: linux-hotplug

> Sorry I don't understand the behaviour of this device.

That makes two of us.

> Create a script to run in place of "modprobe -r".  Start with "sleep
> 1" or so, to give the driver time to initialize.  Check that the
> ttyUSB device node no longer exists.  Only then let it do "modprobe
> -r".

Worth a shot.  Thanks!

-Ben

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-08-01  4:57 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-18  1:31 Trouble getting udev rule to fire, works in udevtest Ben Beuchler
2009-07-18  8:34 ` Alan Jenkins
2009-07-30  0:00 ` Ben Beuchler
2009-07-31 19:06 ` Alan Jenkins
2009-08-01  4:57 ` Ben Beuchler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).