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>