Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 Sep 2012 06:46:10 GMT
From:      Martin Birgmeier <Martin.Birgmeier@aon.at>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   misc/171433: xorg + hal: mouse input devices psm0 and usm0 not correctly recognized ("No Device specified, looking for one")
Message-ID:  <201209080646.q886kAcH025559@red.freebsd.org>
Resent-Message-ID: <201209080650.q886o8GS099719@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         171433
>Category:       misc
>Synopsis:       xorg + hal: mouse input devices psm0 and usm0 not correctly recognized ("No Device specified, looking for one")
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Sep 08 06:50:08 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Martin Birgmeier
>Release:        release/9.0.0
>Organization:
MBi at home
>Environment:
FreeBSD mizar-v1.xyzzy 9.0-RELEASE FreeBSD 9.0-RELEASE #2: Sun Apr  1 19:48:11 CEST 2012     root@mizar.xyzzy:/usr/obj/.../hal/z/SRC/FreeBSD/release/9.0.0/sys/XYZZY_SMP  amd64
>Description:
I have a laptop to which a Microsoft Nano Transceiver v2.0 is connected (via USB), which in turn has a Microsoft Wireless Mobile Mouse 4000 connected to it. This results in two mouse devices, /dev/psm0 and /dev/ums0. hal-device reports these correctly:

[... snip ...]
43: udi = '/org/freedesktop/Hal/devices/usb_device_45e_745_noserial_if1'
  freebsd.driver = 'ums'  (string)
  freebsd.unit = 0  (0x0)  (int)
  info.vendor = 'Microsoft'  (string)
  freebsd.device_file = '/dev/ums0'  (string)
  info.capabilities = { 'input', 'input.mouse' } (string list)
  info.category = 'input'  (string)
  input.device = '/dev/ums0'  (string)
  input.x11_driver = 'mouse'  (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_45e_745_noserial_if1'  (string)
  info.subsystem = 'usb'  (string)
  info.product = 'Microsoft Nano Transceiver v2.0'  (string)
  info.bus = 'usb'  (string)
  usb.interface.number = 1  (0x1)  (int)
  usb.configuration_value = 1  (0x1)  (int)
  usb.num_configurations = 1  (0x1)  (int)
  usb.device_class = 0  (0x0)  (int)
  usb.device_subclass = 0  (0x0)  (int)
  usb.device_protocol = 0  (0x0)  (int)
  usb.is_self_powered = false  (bool)
  usb.can_wake_up = true  (bool)
  usb.max_power = 100  (0x64)  (int)
  usb.num_interfaces = 3  (0x3)  (int)
  usb.num_ports = 0  (0x0)  (int)
  usb.speed = 12  (double)
  usb.speed_bcd = 4608  (0x1200)  (int)
  usb.version = 2  (double)
  usb.product_id = 1861  (0x745)  (int)
  usb.vendor_id = 1118  (0x45e)  (int)
  usb.device_revision_bcd = 1588  (0x634)  (int)
  usb.serial = ''  (string)
  usb.product = 'Microsoft Nano Transceiver v2.0'  (string)
  usb.vendor = 'Microsoft'  (string)
  usb.bus_number = 0  (0x0)  (int)
  usb.level_number = 1  (0x1)  (int)
  usb.port_number = 3  (0x3)  (int)
  usb.configuration = ''  (string)
  usb.interface.class = 3  (0x3)  (int)
  usb.interface.subclass = 1  (0x1)  (int)
  usb.interface.protocol = 2  (0x2)  (int)
  usb.interface.description = ''  (string)
  usb.freebsd.devname = 'ums0'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_45e_745_noserial'  (string)
  info.addons = { 'hald-addon-mouse-sysmouse' } (string list)
[... snip ...]
77: udi = '/org/freedesktop/Hal/devices/psm_0'
  platform.id = 'psm.0'  (string)
  freebsd.device_file = '/dev/psm0'  (string)
  info.capabilities = { 'input', 'input.mouse' } (string list)
  info.category = 'input'  (string)
  input.device = '/dev/psm0'  (string)
  input.x11_driver = 'mouse'  (string)
  info.addons = { 'hald-addon-mouse-sysmouse' } (string list)
  info.udi = '/org/freedesktop/Hal/devices/psm_0'  (string)
  info.subsystem = 'platform'  (string)
  info.product = 'PS/2 Mouse'  (string)
  info.parent = '/org/freedesktop/Hal/devices/atkbdc_0'  (string)
  freebsd.driver = 'psm'  (string)
  freebsd.unit = 0  (0x0)  (int)
[... snip ...]

However, since quite some time, the X server does not know about the pathnames to these devices and seems to go looking for it by itself, for each mouse device in turn always trying /dev/psm0 first - which is then already open for the second one, and the device is rejected.

Here is the relevant portion of the log file; the interesting line is where it says "(WW) PS/2 Mouse: No Device specified, looking for one..." - I believe the X server should have got this from hald?

[... snip ...]
X.Org X Server 1.7.7
Release Date: 2010-05-04
X Protocol Version 11, Revision 0
Build Operating System: FreeBSD 9.0-RELEASE amd64 
Current Operating System: FreeBSD mizar.xyzzy 9.0-RELEASE FreeBSD 9.0-RELEASE #2: Sun Apr  1 19:48:11 CEST 2012     root@mizar.xyzzy:/usr/obj/.../hal/z/SRC/FreeBSD/release/9.0.0/sys/XYZZY_SMP amd64
Build Date: 31 August 2012  07:47:24PM
[... snip ...]
(II) config/hal: Adding input device PS/2 Mouse
(II) LoadModule: "mouse"
(II) Loading /usr/local/lib/xorg/modules/input/mouse_drv.so
(II) Module mouse: vendor="X.Org Foundation"
        compiled for 1.7.7, module version = 1.7.1
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 7.0
(WW) PS/2 Mouse: No Device specified, looking for one...
(II) PS/2 Mouse: Setting Device option to "/dev/psm0"
(--) PS/2 Mouse: Device: "/dev/psm0"
(==) PS/2 Mouse: Protocol: "Auto"
(**) PS/2 Mouse: always reports core events
(**) Option "Device" "/dev/psm0"
(==) PS/2 Mouse: Emulate3Buttons, Emulate3Timeout: 50
(**) PS/2 Mouse: ZAxisMapping: buttons 4 and 5
(**) PS/2 Mouse: Buttons: 9
(II) XINPUT: Adding extended input device "PS/2 Mouse" (type: MOUSE)
(**) PS/2 Mouse: (accel) keeping acceleration scheme 1
(**) PS/2 Mouse: (accel) acceleration profile 0
(II) PS/2 Mouse: SetupAuto: hw.iftype is 3, hw.model is 0
(II) PS/2 Mouse: SetupAuto: protocol is PS/2
(II) PS/2 Mouse: ps2EnableDataReporting: succeeded
(II) config/hal: Adding input device Microsoft Nano Transceiver v2.0
(WW) Microsoft Nano Transceiver v2.0: No Device specified, looking for one...
(II) Microsoft Nano Transceiver v2.0: Setting Device option to "/dev/psm0"
(--) Microsoft Nano Transceiver v2.0: Device: "/dev/psm0"
(==) Microsoft Nano Transceiver v2.0: Protocol: "Auto"
(**) Microsoft Nano Transceiver v2.0: always reports core events
(**) Option "Device" "/dev/psm0"
(EE) xf86OpenSerial: Cannot open device /dev/psm0
        Device busy.
(EE) Microsoft Nano Transceiver v2.0: cannot open input device
(II) UnloadModule: "mouse"
(EE) PreInit returned NULL for "Microsoft Nano Transceiver v2.0"
(EE) config/hal: NewInputDeviceRequest failed (8)
(II) config/hal: Adding input device Microsoft Nano Transceiver v2.0
[... snip ...]

Now, I have dug out an old log file from January. Back then, everything was working correctly, as can be seen from the lines specifying the devices found (e.g., "(**) Microsoft Nano Transceiver v2.0: Device: "/dev/ums0""):

[... snip ...]
X.Org X Server 1.7.7
Release Date: 2010-05-04
X Protocol Version 11, Revision 0
Build Operating System: FreeBSD 9.0-RELEASE amd64 
Current Operating System: FreeBSD mizar.xyzzy 9.0-RELEASE FreeBSD 9.0-RELEASE #0 r229389M: Tue Jan  3 18:57:18 CET 2012  
   root@hal.xyzzy:/z/OBJ/FreeBSD/amd64/release/9.0.0/sys/XYZZY_SMP amd64
Build Date: 04 January 2012  08:07:14PM
[... snip ...]
(II) config/hal: Adding input device Microsoft Nano Transceiver v2.0
(II) LoadModule: "mouse"
(II) Loading /usr/local/lib/xorg/modules/input/mouse_drv.so
(II) Module mouse: vendor="X.Org Foundation"
        compiled for 1.7.7, module version = 1.6.0
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 7.0
(**) Microsoft Nano Transceiver v2.0: Device: "/dev/ums0"
(==) Microsoft Nano Transceiver v2.0: Protocol: "Auto"
(**) Microsoft Nano Transceiver v2.0: always reports core events
(**) Option "Device" "/dev/ums0"
(==) Microsoft Nano Transceiver v2.0: Emulate3Buttons, Emulate3Timeout: 50
(**) Microsoft Nano Transceiver v2.0: ZAxisMapping: buttons 4 and 5
(**) Microsoft Nano Transceiver v2.0: Buttons: 9
(**) Microsoft Nano Transceiver v2.0: Sensitivity: 1
(II) XINPUT: Adding extended input device "Microsoft Nano Transceiver v2.0" (type: MOUSE)
(**) Microsoft Nano Transceiver v2.0: (accel) keeping acceleration scheme 1
(**) Microsoft Nano Transceiver v2.0: (accel) acceleration profile 0
(II) Microsoft Nano Transceiver v2.0: SetupAuto: hw.iftype is 5, hw.model is 0
(II) Microsoft Nano Transceiver v2.0: SetupAuto: protocol is SysMouse
(WW) fcntl(28, F_SETOWN): Inappropriate ioctl for device
[... snip ...]
(II) config/hal: Adding input device PS/2 Mouse
(**) PS/2 Mouse: Device: "/dev/psm0"
(==) PS/2 Mouse: Protocol: "Auto"
(**) PS/2 Mouse: always reports core events
(**) Option "Device" "/dev/psm0"
(==) PS/2 Mouse: Emulate3Buttons, Emulate3Timeout: 50
(**) PS/2 Mouse: ZAxisMapping: buttons 4 and 5
(**) PS/2 Mouse: Buttons: 9
(**) PS/2 Mouse: Sensitivity: 1
(II) XINPUT: Adding extended input device "PS/2 Mouse" (type: MOUSE)
(**) PS/2 Mouse: (accel) keeping acceleration scheme 1
(**) PS/2 Mouse: (accel) acceleration profile 0
(II) PS/2 Mouse: SetupAuto: hw.iftype is 3, hw.model is 0
(II) PS/2 Mouse: SetupAuto: protocol is PS/2
(II) PS/2 Mouse: ps2EnableDataReporting: succeeded
(II) 3rd Button detected: disabling emulate3Button
(II) 3rd Button detected: disabling emulate3Button
[... snip ...]

I have not changed the xorg.conf since then, so I assume something has changed in the X server or hal.

The machine is running the latest ports, and I also recently recompiled all ports to make sure no spurious problems persisted.
>How-To-Repeat:
See the problem description.
>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201209080646.q886kAcH025559>