Public bug reported:

Binary package hint: hal

When a Bluetooth mouse "disappears" then "reappears", whether due to the
mouse being switched off/on or due to a laptop suspend/resume cycle, HAL
seems to "leak" input device entries.

For example, after switching my Bluetooth mouse off/on a few times,
lshal shows:

udi = '/org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_2'
  info.capabilities = {'input', 'input.mouse'} (string list)
  info.category = 'input'  (string)
  info.parent = '/org/freedesktop/Hal/devices/bluetooth_acl_27605e077'  (string)
  info.product = 'ThinkPad Bluetooth Laser Mouse'  (string)
  info.subsystem = 'input'  (string)
  info.udi = 
'/org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_2'  
(string)
  input.device = '/dev/input/event9'  (string)
  input.originating_device = 
'/org/freedesktop/Hal/devices/bluetooth_acl_27605e077'  (string)
  input.product = 'ThinkPad Bluetooth Laser Mouse'  (string)
  input.x11_driver = 'evdev'  (string)
  linux.device_file = '/dev/input/event9'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'input'  (string)
  linux.sysfs_path = 
'/sys/devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/bluetooth/hci0/hci0:11/input13/event9'
  (string)

udi = '/org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_1'
  info.capabilities = {'input', 'input.mouse'} (string list)
  info.category = 'input'  (string)
  info.parent = '/org/freedesktop/Hal/devices/bluetooth_acl_27605e077'  (string)
  info.product = 'ThinkPad Bluetooth Laser Mouse'  (string)
  info.subsystem = 'input'  (string)
  info.udi = 
'/org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_1'  
(string)
  input.device = '/dev/input/event9'  (string)
  input.originating_device = 
'/org/freedesktop/Hal/devices/bluetooth_acl_27605e077'  (string)
  input.product = 'ThinkPad Bluetooth Laser Mouse'  (string)
  input.x11_driver = 'evdev'  (string)
  linux.device_file = '/dev/input/event9'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'input'  (string)
  linux.sysfs_path = 
'/sys/devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/bluetooth/hci0/hci0:11/input12/event9'
  (string)

udi = '/org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_0'
  info.capabilities = {'input', 'input.mouse'} (string list)
  info.category = 'input'  (string)
  info.parent = '/org/freedesktop/Hal/devices/bluetooth_acl_27605e077'  (string)
  info.product = 'ThinkPad Bluetooth Laser Mouse'  (string)
  info.subsystem = 'input'  (string)
  info.udi = 
'/org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_0'  
(string)
  input.device = '/dev/input/event9'  (string)
  input.originating_device = 
'/org/freedesktop/Hal/devices/bluetooth_acl_27605e077'  (string)
  input.product = 'ThinkPad Bluetooth Laser Mouse'  (string)
  input.x11_driver = 'evdev'  (string)
  linux.device_file = '/dev/input/event9'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'input'  (string)
  linux.sysfs_path = 
'/sys/devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/bluetooth/hci0/hci0:11/input11/event9'
  (string)

udi = '/org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input'
  info.capabilities = {'input', 'input.mouse'} (string list)
  info.category = 'input'  (string)
  info.parent = '/org/freedesktop/Hal/devices/bluetooth_acl_27605e077'  (string)
  info.product = 'ThinkPad Bluetooth Laser Mouse'  (string)
  info.subsystem = 'input'  (string)
  info.udi = 
'/org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input'  
(string)
  input.device = '/dev/input/event9'  (string)
  input.originating_device = 
'/org/freedesktop/Hal/devices/bluetooth_acl_27605e077'  (string)
  input.product = 'ThinkPad Bluetooth Laser Mouse'  (string)
  input.x11_driver = 'evdev'  (string)
  linux.device_file = '/dev/input/event9'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'input'  (string)
  linux.sysfs_path = 
'/sys/devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/bluetooth/hci0/hci0:11/input10/event9'
  (string)

Of these, only the first one actually has the corresponding entry in
sysfs:

d...@detritus:~$ ls -l 
/sys/devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/bluetooth/hci0/hci0:11/input10
ls: cannot access 
/sys/devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/bluetooth/hci0/hci0:11/input10:
 No such file or directory
d...@detritus:~$ ls -l 
/sys/devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/bluetooth/hci0/hci0:11/input11
ls: cannot access 
/sys/devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/bluetooth/hci0/hci0:11/input11:
 No such file or directory
d...@detritus:~$ ls -l 
/sys/devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/bluetooth/hci0/hci0:11/input12
ls: cannot access 
/sys/devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/bluetooth/hci0/hci0:11/input12:
 No such file or directory
d...@detritus:~$ ls -l 
/sys/devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/bluetooth/hci0/hci0:11/input13
total 0
drwxr-xr-x 2 root root    0 2009-10-12 20:19 capabilities
lrwxrwxrwx 1 root root    0 2009-10-12 20:22 device -> ../../hci0:11
drwxr-xr-x 3 root root    0 2009-10-12 20:19 event9
drwxr-xr-x 2 root root    0 2009-10-12 20:22 id
-r--r--r-- 1 root root 4096 2009-10-12 20:19 modalias
drwxr-xr-x 3 root root    0 2009-10-12 20:19 mouse2
-r--r--r-- 1 root root 4096 2009-10-12 20:19 name
-r--r--r-- 1 root root 4096 2009-10-12 20:22 phys
drwxr-xr-x 2 root root    0 2009-10-12 20:22 power
lrwxrwxrwx 1 root root    0 2009-10-12 20:19 subsystem -> 
../../../../../../../../../../class/input
-rw-r--r-- 1 root root 4096 2009-10-12 20:19 uevent
-r--r--r-- 1 root root 4096 2009-10-12 20:22 uniq

Every time the mouse disappears, Xorg eventually notices:

(EE) ThinkPad Bluetooth Laser Mouse: Failed to reopen device after 10
attempts.

and all lshal input device entries corresponding to the mouse disappear
- temporarily.  However, they all reappear - along with the fresh one -
when the mouse is switched on again.  Xorg is happy for a few times
around:

(II) config/hal: Adding input device ThinkPad Bluetooth Laser Mouse
(**) ThinkPad Bluetooth Laser Mouse: always reports core events
(**) ThinkPad Bluetooth Laser Mouse: Device: "/dev/input/event9"
(II) ThinkPad Bluetooth Laser Mouse: Found 9 mouse buttons
(II) ThinkPad Bluetooth Laser Mouse: Found x and y relative axes
(II) ThinkPad Bluetooth Laser Mouse: Found scroll wheel(s)
(II) ThinkPad Bluetooth Laser Mouse: Configuring as mouse
(**) ThinkPad Bluetooth Laser Mouse: YAxisMapping: buttons 4 and 5
(**) ThinkPad Bluetooth Laser Mouse: EmulateWheelButton: 4, 
EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(II) XINPUT: Adding extended input device "ThinkPad Bluetooth Laser Mouse" 
(type: MOUSE)
(**) ThinkPad Bluetooth Laser Mouse: (accel) keeping acceleration scheme 1
(**) ThinkPad Bluetooth Laser Mouse: (accel) filter chain progression: 2.00
(**) ThinkPad Bluetooth Laser Mouse: (accel) filter stage 0: 20.00 ms
(**) ThinkPad Bluetooth Laser Mouse: (accel) set acceleration profile 0
(II) ThinkPad Bluetooth Laser Mouse: initialized for relative axes.

Eventually, however, this seems to lead Xorg to run out of input device
slots:

(II) config/hal: Adding input device ThinkPad Bluetooth Laser Mouse
(**) ThinkPad Bluetooth Laser Mouse: always reports core events
(**) ThinkPad Bluetooth Laser Mouse: Device: "/dev/input/event9"
(II) ThinkPad Bluetooth Laser Mouse: Found 9 mouse buttons
(II) ThinkPad Bluetooth Laser Mouse: Found x and y relative axes
(II) ThinkPad Bluetooth Laser Mouse: Found scroll wheel(s)
(II) ThinkPad Bluetooth Laser Mouse: Configuring as mouse
(**) ThinkPad Bluetooth Laser Mouse: YAxisMapping: buttons 4 and 5
(**) ThinkPad Bluetooth Laser Mouse: EmulateWheelButton: 4, 
EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(EE) Too many input devices. Ignoring ThinkPad Bluetooth Laser Mouse
(II) UnloadModule: "evdev"
(EE) config/hal: NewInputDeviceRequest failed (11)

At this point I have quote a few entries in lshal:

d...@detritus:~$ lshal |grep -c Laser
24

which means 12 entries, see sample at the top of this description.

Now, as I remove them manually from HAL:

d...@detritus:~$ sudo hal-device -r 
/org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_7
removed: /org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_7
d...@detritus:~$ sudo hal-device -r 
/org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_6
removed: /org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_6
d...@detritus:~$ sudo hal-device -r 
/org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_5
removed: /org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_5
d...@detritus:~$ sudo hal-device -r 
/org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_4
removed: /org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_4
d...@detritus:~$ sudo hal-device -r 
/org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_3
removed: /org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_3
d...@detritus:~$ sudo hal-device -r 
/org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_2
removed: /org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_2
d...@detritus:~$ sudo hal-device -r 
/org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_1
removed: /org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_1
d...@detritus:~$ sudo hal-device -r 
/org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_0
removed: /org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input_0
d...@detritus:~$ sudo hal-device -r 
/org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input
removed: /org/freedesktop/Hal/devices/bluetooth_acl_27605e077_logicaldev_input
d...@detritus:~$ sudo hal-device -r 
/org/freedesktop/Hal/devices/usb_device_a5c_2110_noserial_if0_bluetooth_hci_0_logicaldev_input_1
removed: 
/org/freedesktop/Hal/devices/usb_device_a5c_2110_noserial_if0_bluetooth_hci_0_logicaldev_input_1
d...@detritus:~$ sudo hal-device -r 
/org/freedesktop/Hal/devices/usb_device_a5c_2110_noserial_if0_bluetooth_hci_0_logicaldev_input_0
removed: 
/org/freedesktop/Hal/devices/usb_device_a5c_2110_noserial_if0_bluetooth_hci_0_logicaldev_input_0
d...@detritus:~$ sudo hal-device -r 
/org/freedesktop/Hal/devices/usb_device_a5c_2110_noserial_if0_bluetooth_hci_0_logicaldev_input
removed: 
/org/freedesktop/Hal/devices/usb_device_a5c_2110_noserial_if0_bluetooth_hci_0_logicaldev_input

[is that udi assymetry important?]

Xorg is finally told they're gone:

(II) config/hal: removing device ThinkPad Bluetooth Laser Mouse
(II) ThinkPad Bluetooth Laser Mouse: Close
(II) UnloadModule: "evdev"
(II) config/hal: removing device ThinkPad Bluetooth Laser Mouse
(II) ThinkPad Bluetooth Laser Mouse: Close
(II) UnloadModule: "evdev"
(II) config/hal: removing device ThinkPad Bluetooth Laser Mouse
(II) ThinkPad Bluetooth Laser Mouse: Close
(II) UnloadModule: "evdev"
(II) config/hal: removing device ThinkPad Bluetooth Laser Mouse
(II) ThinkPad Bluetooth Laser Mouse: Close
(II) UnloadModule: "evdev"
(II) config/hal: removing device ThinkPad Bluetooth Laser Mouse
(II) ThinkPad Bluetooth Laser Mouse: Close
(II) UnloadModule: "evdev"
(II) config/hal: removing device ThinkPad Bluetooth Laser Mouse
(II) ThinkPad Bluetooth Laser Mouse: Close
(II) UnloadModule: "evdev"
(II) config/hal: removing device ThinkPad Bluetooth Laser Mouse
(II) ThinkPad Bluetooth Laser Mouse: Close
(II) UnloadModule: "evdev"
(II) config/hal: removing device ThinkPad Bluetooth Laser Mouse
(II) ThinkPad Bluetooth Laser Mouse: Close
(II) UnloadModule: "evdev"
(II) config/hal: removing device ThinkPad Bluetooth Laser Mouse
(II) ThinkPad Bluetooth Laser Mouse: Close
(II) UnloadModule: "evdev"
(II) config/hal: removing device ThinkPad Bluetooth Laser Mouse
(II) ThinkPad Bluetooth Laser Mouse: Close
(II) UnloadModule: "evdev"
(II) config/hal: removing device ThinkPad Bluetooth Laser Mouse
(II) ThinkPad Bluetooth Laser Mouse: Close
(II) UnloadModule: "evdev"

and after the mouse is cycled once more, Xorg is happy to see it again:

(II) config/hal: Adding input device ThinkPad Bluetooth Laser Mouse
(**) ThinkPad Bluetooth Laser Mouse: always reports core events
(**) ThinkPad Bluetooth Laser Mouse: Device: "/dev/input/event9"
(II) ThinkPad Bluetooth Laser Mouse: Found 9 mouse buttons
(II) ThinkPad Bluetooth Laser Mouse: Found x and y relative axes
(II) ThinkPad Bluetooth Laser Mouse: Found scroll wheel(s)
(II) ThinkPad Bluetooth Laser Mouse: Configuring as mouse
(**) ThinkPad Bluetooth Laser Mouse: YAxisMapping: buttons 4 and 5
(**) ThinkPad Bluetooth Laser Mouse: EmulateWheelButton: 4, 
EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(II) XINPUT: Adding extended input device "ThinkPad Bluetooth Laser Mouse" 
(type: MOUSE)
(**) ThinkPad Bluetooth Laser Mouse: (accel) keeping acceleration scheme 1
(**) ThinkPad Bluetooth Laser Mouse: (accel) filter chain progression: 2.00
(**) ThinkPad Bluetooth Laser Mouse: (accel) filter stage 0: 20.00 ms
(**) ThinkPad Bluetooth Laser Mouse: (accel) set acceleration profile 0
(II) ThinkPad Bluetooth Laser Mouse: initialized for relative axes.

I think this is a HAL bug; please let me know if there's any more info I
should attach.

ProblemType: Bug
Architecture: amd64
Date: Mon Oct 12 20:15:49 2009
DistroRelease: Ubuntu 9.10
Package: hal 0.5.13-1ubuntu8
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-13.44-generic
SourcePackage: hal
Uname: Linux 2.6.31-13-generic x86_64

** Affects: hal (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug

-- 
Bluetooth mouse "leaks" when turned off/on or after suspend/resume: Xorg 
eventually tops out on input devices
https://bugs.launchpad.net/bugs/450069
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to