linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* udev rules and USB bluetooth
@ 2004-11-08  0:12 Derek Philip
  2004-11-08  0:57 ` Marcel Holtmann
  0 siblings, 1 reply; 2+ messages in thread
From: Derek Philip @ 2004-11-08  0:12 UTC (permalink / raw)
  To: linux-hotplug

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_id\x12065&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

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

* Re: udev rules and USB bluetooth
  2004-11-08  0:12 udev rules and USB bluetooth Derek Philip
@ 2004-11-08  0:57 ` Marcel Holtmann
  0 siblings, 0 replies; 2+ messages in thread
From: Marcel Holtmann @ 2004-11-08  0:57 UTC (permalink / raw)
  To: linux-hotplug

Hi Derek,

> 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!

Bluetooth devices don't use any device nodes. You can identify them by
their BD_ADDR.

Regards

Marcel




-------------------------------------------------------
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_id\x12065&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

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

end of thread, other threads:[~2004-11-08  0:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-08  0:12 udev rules and USB bluetooth Derek Philip
2004-11-08  0:57 ` Marcel Holtmann

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).