From mboxrd@z Thu Jan 1 00:00:00 1970 From: Derek Philip Date: Mon, 08 Nov 2004 00:12:57 +0000 Subject: udev rules and USB bluetooth Message-Id: <418EBA09.4030905@tesco.net> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org Hi All I was trying to write a rule to provide a persistent naming for multiple USB Bluetoot dongles. I need this for testing purposes, as the devices may be restarted at random times and I need to ensure I'm speaking to the same device. My attempts so far have failed! I have the following output from udevinfo -a -p /sys/class/bluetooth/hci0 looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.2/usb2/2-1': BUS="usb" ID="2-1" SYSFS{bConfigurationValue}="1" SYSFS{bDeviceClass}="e0" SYSFS{bDeviceProtocol}="01" SYSFS{bDeviceSubClass}="01" SYSFS{bMaxPower}="200mA" SYSFS{bNumConfigurations}="1" SYSFS{bNumInterfaces}=" 3" SYSFS{bcdDevice}="1393" SYSFS{bmAttributes}="80" SYSFS{detach_state}="0" SYSFS{devnum}="4" SYSFS{idProduct}="0001" SYSFS{idVendor}="0a12" SYSFS{manufacturer}="Cambridge Silicon Radio" SYSFS{maxchild}="0" SYSFS{product}="CSR NanoSira" SYSFS{serial}="012C5A-5B-0002" SYSFS{speed}="12" SYSFS{version}=" 2.00" I was thinking that my rule would be BUS="usb", SYSFS{serial}="012C5A-5B-0002", name=%k SYMLINK="Nano%n" This has no affect! I am currently runnming Mandrake 10.1 out of the box. the Bluetooth device seems to function correctly and KDE can use it OK. Any help would be appreciated Thanks Derek Philip P.S. The log, on inserting the USB Bluetooth dongle, at /var/log/daemons/info is as follows Nov 8 00:08:28 TheLuggage udevsend[9330]: main: version 038 Nov 8 00:08:28 TheLuggage udevsend[9330]: main: subsystem = 'bluetooth' Nov 8 00:08:28 TheLuggage udevsend[9330]: main: DEVPATH = '/class/bluetooth/hci0' Nov 8 00:08:28 TheLuggage udevsend[9330]: main: ACTION = 'add' Nov 8 00:08:28 TheLuggage udevsend[9330]: main: SEQNUM = '345' Nov 8 00:08:28 TheLuggage udevd[424]: msg_queue_insert: queued message seq 345 Nov 8 00:08:28 TheLuggage udevd[424]: msg_queue_manager: msg queue manager, next expected is 343 Nov 8 00:08:28 TheLuggage udevd[424]: msg_queue_manager: seq 345 is 0 seconds old Nov 8 00:08:28 TheLuggage udevd[424]: msg_dump_queue: sequence 345 in queue Nov 8 00:08:28 TheLuggage udevd[424]: msg_queue_manager: next event expires in 10 seconds Nov 8 00:08:28 TheLuggage hcid[3075]: HCI dev 0 registered Nov 8 00:08:29 TheLuggage hcid[3075]: HCI dev 0 up Nov 8 00:08:29 TheLuggage hcid[3075]: Starting security manager 0 Nov 8 00:08:29 TheLuggage udevsend[9383]: main: version 038 Nov 8 00:08:29 TheLuggage udevsend[9383]: main: subsystem = 'usb' Nov 8 00:08:29 TheLuggage udevsend[9383]: main: DEVPATH = '/devices/pci0000:00/0000:00:1d.2/usb2/2-1/2-1:1.2' Nov 8 00:08:29 TheLuggage udevsend[9383]: main: ACTION = 'add' Nov 8 00:08:29 TheLuggage udevsend[9383]: main: SEQNUM = '347' Nov 8 00:08:29 TheLuggage udevd[424]: msg_queue_insert: queued message seq 347 Nov 8 00:08:29 TheLuggage udevd[424]: msg_queue_manager: msg queue manager, next expected is 343 Nov 8 00:08:29 TheLuggage udevd[424]: msg_queue_manager: seq 345 is 2 seconds old Nov 8 00:08:29 TheLuggage udevd[424]: msg_dump_queue: sequence 345 in queue Nov 8 00:08:29 TheLuggage udevd[424]: msg_dump_queue: sequence 347 in queue Nov 8 00:08:30 TheLuggage udevd[424]: msg_queue_manager: next event expires in 8 seconds Nov 8 00:08:30 TheLuggage udevsend[9396]: main: version 038 Nov 8 00:08:30 TheLuggage udevsend[9396]: main: subsystem = 'usb' Nov 8 00:08:30 TheLuggage udevsend[9396]: main: DEVPATH = '/devices/pci0000:00/0000:00:1d.2/usb2/2-1' Nov 8 00:08:30 TheLuggage udevsend[9396]: main: ACTION = 'add' Nov 8 00:08:30 TheLuggage udevsend[9396]: main: SEQNUM = '343' Nov 8 00:08:30 TheLuggage udevd[424]: msg_queue_insert: queued message seq 343 Nov 8 00:08:30 TheLuggage udevd[424]: msg_queue_manager: msg queue manager, next expected is 343 Nov 8 00:08:30 TheLuggage udevd[424]: msg_move_exec: moved seq 343 to exec, next expected is 344 Nov 8 00:08:30 TheLuggage udevd[424]: msg_queue_manager: seq 345 is 2 seconds old Nov 8 00:08:30 TheLuggage udevd[424]: msg_dump_queue: sequence 345 in queue Nov 8 00:08:30 TheLuggage udevd[424]: msg_dump_queue: sequence 347 in queue Nov 8 00:08:30 TheLuggage udevd[424]: msg_queue_manager: next event expires in 8 seconds Nov 8 00:08:30 TheLuggage udev[9397]: get_dirs: sysfs_path='/sys' Nov 8 00:08:30 TheLuggage udevd[424]: udev_run: => exec seq 343 [9397] working at '/devices/pci0000:00/0000:00:1d.2/usb2/2-1' Nov 8 00:08:30 TheLuggage udev[9397]: parse_config_file: reading '/etc/udev/udev.conf' as config file Nov 8 00:08:30 TheLuggage udevd[424]: exec_queue_manager: moved seq 343 to running list Nov 8 00:08:30 TheLuggage udev[9397]: get_dirs: udev_root = /dev/ Nov 8 00:08:30 TheLuggage udev[9397]: get_dirs: udev_config_filename = /etc/udev/udev.conf Nov 8 00:08:30 TheLuggage udev[9397]: get_dirs: udev_db_filename = /dev/.udev.tdb Nov 8 00:08:30 TheLuggage udev[9397]: get_dirs: udev_rules_filename = /etc/udev/rules.d/* Nov 8 00:08:30 TheLuggage udev[9397]: get_dirs: udev_permissions_filename = /etc/udev/permissions.d Nov 8 00:08:30 TheLuggage udev[9397]: get_dirs: udev_log_str = 1 Nov 8 00:08:30 TheLuggage udev[9397]: main: looking at '/devices/pci0000:00/0000:00:1d.2/usb2/2-1' Nov 8 00:08:30 TheLuggage udev[9397]: main: not a block or class device Nov 8 00:08:30 TheLuggage udevd[424]: udev_done: <= exec seq 343 came back Nov 8 00:08:30 TheLuggage udevsend[9400]: main: version 038 Nov 8 00:08:30 TheLuggage udevsend[9400]: main: subsystem = 'usb' Nov 8 00:08:30 TheLuggage udevsend[9400]: main: DEVPATH = '/devices/pci0000:00/0000:00:1d.2/usb2/2-1/2-1:1.0' Nov 8 00:08:30 TheLuggage udevsend[9400]: main: ACTION = 'add' Nov 8 00:08:30 TheLuggage udevsend[9400]: main: SEQNUM = '344' Nov 8 00:08:30 TheLuggage udevd[424]: msg_queue_insert: queued message seq 344 Nov 8 00:08:30 TheLuggage udevd[424]: msg_queue_manager: msg queue manager, next expected is 344 Nov 8 00:08:30 TheLuggage udevd[424]: msg_move_exec: moved seq 344 to exec, next expected is 345 Nov 8 00:08:30 TheLuggage udevd[424]: msg_move_exec: moved seq 345 to exec, next expected is 346 Nov 8 00:08:30 TheLuggage udevd[424]: msg_queue_manager: seq 347 is 0 seconds old Nov 8 00:08:30 TheLuggage udevd[424]: msg_dump_queue: sequence 347 in queue Nov 8 00:08:30 TheLuggage udevd[424]: msg_queue_manager: next event expires in 10 seconds Nov 8 00:08:30 TheLuggage udev[9403]: get_dirs: sysfs_path='/sys' Nov 8 00:08:30 TheLuggage udevd[424]: udev_run: => exec seq 344 [9403] working at '/devices/pci0000:00/0000:00:1d.2/usb2/2-1/2-1:1.0' Nov 8 00:08:30 TheLuggage udev[9403]: parse_config_file: reading '/etc/udev/udev.conf' as config file Nov 8 00:08:30 TheLuggage udevd[424]: exec_queue_manager: moved seq 344 to running list Nov 8 00:08:30 TheLuggage udev[9403]: get_dirs: udev_root = /dev/ Nov 8 00:08:30 TheLuggage udev[9404]: get_dirs: sysfs_path='/sys' Nov 8 00:08:30 TheLuggage udevd[424]: udev_run: => exec seq 345 [9404] working at '/class/bluetooth/hci0' Nov 8 00:08:30 TheLuggage udev[9403]: get_dirs: udev_config_filename = /etc/udev/udev.conf Nov 8 00:08:30 TheLuggage udev[9404]: parse_config_file: reading '/etc/udev/udev.conf' as config file Nov 8 00:08:30 TheLuggage udevd[424]: exec_queue_manager: moved seq 345 to running list Nov 8 00:08:30 TheLuggage udev[9403]: get_dirs: udev_db_filename = /dev/.udev.tdb Nov 8 00:08:30 TheLuggage udev[9404]: get_dirs: udev_root = /dev/ Nov 8 00:08:30 TheLuggage udev[9403]: get_dirs: udev_rules_filename = /etc/udev/rules.d/* Nov 8 00:08:30 TheLuggage udev[9404]: get_dirs: udev_config_filename = /etc/udev/udev.conf Nov 8 00:08:30 TheLuggage udev[9403]: get_dirs: udev_permissions_filename = /etc/udev/permissions.d Nov 8 00:08:30 TheLuggage udev[9404]: get_dirs: udev_db_filename = /dev/.udev.tdb Nov 8 00:08:30 TheLuggage udev[9403]: get_dirs: udev_log_str = 1 Nov 8 00:08:30 TheLuggage udev[9404]: get_dirs: udev_rules_filename = /etc/udev/rules.d/* Nov 8 00:08:30 TheLuggage udev[9403]: main: looking at '/devices/pci0000:00/0000:00:1d.2/usb2/2-1/2-1:1.0' Nov 8 00:08:30 TheLuggage udev[9404]: get_dirs: udev_permissions_filename = /etc/udev/permissions.d Nov 8 00:08:30 TheLuggage udev[9403]: main: not a block or class device Nov 8 00:08:30 TheLuggage udev[9404]: get_dirs: udev_log_str = 1 Nov 8 00:08:30 TheLuggage udevd[424]: udev_done: <= exec seq 344 came back Nov 8 00:08:30 TheLuggage udev[9404]: main: looking at '/class/bluetooth/hci0' Nov 8 00:08:30 TheLuggage udev[9404]: main: udev add Nov 8 00:08:30 TheLuggage udevsend[9405]: main: version 038 Nov 8 00:08:30 TheLuggage udev[9404]: namedev_parse_rules: can't open '/etc/udev/rules.d/*' as rules file Nov 8 00:08:30 TheLuggage udevsend[9405]: main: subsystem = 'usb' Nov 8 00:08:30 TheLuggage udev[9404]: sleep_for_file: looking for '/sys/class/bluetooth/hci0/dev' Nov 8 00:08:30 TheLuggage udevsend[9405]: main: DEVPATH = '/devices/pci0000:00/0000:00:1d.2/usb2/2-1/2-1:1.1' Nov 8 00:08:30 TheLuggage udevsend[9405]: main: ACTION = 'add' Nov 8 00:08:30 TheLuggage udevsend[9405]: main: SEQNUM = '346' Nov 8 00:08:30 TheLuggage udevd[424]: msg_queue_insert: queued message seq 346 Nov 8 00:08:30 TheLuggage udevd[424]: msg_queue_manager: msg queue manager, next expected is 346 Nov 8 00:08:30 TheLuggage udevd[424]: msg_move_exec: moved seq 346 to exec, next expected is 347 Nov 8 00:08:30 TheLuggage udevd[424]: msg_move_exec: moved seq 347 to exec, next expected is 348 Nov 8 00:08:30 TheLuggage udev[9406]: get_dirs: sysfs_path='/sys' Nov 8 00:08:30 TheLuggage udevd[424]: udev_run: => exec seq 346 [9406] working at '/devices/pci0000:00/0000:00:1d.2/usb2/2-1/2-1:1.1' Nov 8 00:08:30 TheLuggage udev[9406]: parse_config_file: reading '/etc/udev/udev.conf' as config file Nov 8 00:08:30 TheLuggage udevd[424]: exec_queue_manager: moved seq 346 to running list Nov 8 00:08:30 TheLuggage udev[9406]: get_dirs: udev_root = /dev/ Nov 8 00:08:30 TheLuggage udev[9407]: get_dirs: sysfs_path='/sys' Nov 8 00:08:30 TheLuggage udevd[424]: udev_run: => exec seq 347 [9407] working at '/devices/pci0000:00/0000:00:1d.2/usb2/2-1/2-1:1.2' Nov 8 00:08:30 TheLuggage udev[9406]: get_dirs: udev_config_filename = /etc/udev/udev.conf Nov 8 00:08:30 TheLuggage udev[9407]: parse_config_file: reading '/etc/udev/udev.conf' as config file Nov 8 00:08:30 TheLuggage udevd[424]: exec_queue_manager: moved seq 347 to running list Nov 8 00:08:30 TheLuggage udev[9406]: get_dirs: udev_db_filename = /dev/.udev.tdb Nov 8 00:08:30 TheLuggage udev[9407]: get_dirs: udev_root = /dev/ Nov 8 00:08:30 TheLuggage udev[9406]: get_dirs: udev_rules_filename = /etc/udev/rules.d/* Nov 8 00:08:30 TheLuggage udev[9407]: get_dirs: udev_config_filename = /etc/udev/udev.conf Nov 8 00:08:30 TheLuggage udev[9406]: get_dirs: udev_permissions_filename = /etc/udev/permissions.d Nov 8 00:08:30 TheLuggage udev[9407]: get_dirs: udev_db_filename = /dev/.udev.tdb Nov 8 00:08:30 TheLuggage udev[9406]: get_dirs: udev_log_str = 1 Nov 8 00:08:30 TheLuggage udev[9407]: get_dirs: udev_rules_filename = /etc/udev/rules.d/* Nov 8 00:08:30 TheLuggage udev[9406]: main: looking at '/devices/pci0000:00/0000:00:1d.2/usb2/2-1/2-1:1.1' Nov 8 00:08:30 TheLuggage udev[9407]: get_dirs: udev_permissions_filename = /etc/udev/permissions.d Nov 8 00:08:30 TheLuggage udev[9406]: main: not a block or class device Nov 8 00:08:30 TheLuggage udev[9407]: get_dirs: udev_log_str = 1 Nov 8 00:08:30 TheLuggage udevd[424]: udev_done: <= exec seq 346 came back Nov 8 00:08:30 TheLuggage udev[9407]: main: looking at '/devices/pci0000:00/0000:00:1d.2/usb2/2-1/2-1:1.2' Nov 8 00:08:30 TheLuggage udev[9407]: main: not a block or class device Nov 8 00:08:30 TheLuggage udevd[424]: udev_done: <= exec seq 347 came back Nov 8 00:08:30 TheLuggage udev[9404]: sleep_for_file: looking for '/sys/class/bluetooth/hci0/dev' Nov 8 00:08:40 TheLuggage last message repeated 96 times Nov 8 00:08:40 TheLuggage udevd[424]: msg_queue_manager: msg queue manager, next expected is 348 Nov 8 00:08:40 TheLuggage udev[9404]: sleep_for_file: looking for '/sys/class/bluetooth/hci0/dev' Nov 8 00:08:40 TheLuggage udev[9404]: sleep_for_file: looking for '/sys/class/bluetooth/hci0/dev' Nov 8 00:08:40 TheLuggage udev[9404]: get_class_dev: looking at '/sys/class/bluetooth/hci0' Nov 8 00:08:40 TheLuggage udev[9404]: get_class_dev: class_dev->name='hci0' Nov 8 00:08:40 TheLuggage udev[9404]: sysfs_path_is_file: stat() failed Nov 8 00:08:40 TheLuggage udev[9404]: udev_add_device: get_major_minor failed Nov 8 00:08:40 TheLuggage udevd[424]: udev_done: <= exec seq 345 came back ------------------------------------------------------- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_idU88&alloc_id065&op=click _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel