Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Jan 2013 08:12:33 +0100
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        freebsd-usb@freebsd.org
Subject:   Re: Plugging out Microsoft Nano Tranceiver (USB mouse) causes PS2 keyboard to cease functioning
Message-ID:  <201301150812.33427.hselasky@c2i.net>
In-Reply-To: <50F48D49.1060406@rawbw.com>
References:  <50F48D49.1060406@rawbw.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 14 January 2013 23:57:13 Yuri wrote:
> I have Microsoft USB Explorer Touch mouse. It works fine, but when I
> plug out its (wireless) USB dongle, keyboard also stops working.
> Plugging the dongle back in enables the keyboard again. Plugging in some
> other USB mouse instead doesn't make keyboard work again.
> 
> There were two keyboard devices defined before this mouse was first
> plugged in: kbd0 at atkbd0 and kbd1 at kbdmux0, see messages below.
> This mouse defines the new keyboard device kbd2 at ukbd0.
> When the dongle is plugged out, these two items (kbd2 at ukbd0)
> disappear from /dev, leaving all the same devices that existed before.
> Except keyboard becomes disfunctional.
> 
> What could be a problem with this USB mouse? Looks like it interacts
> with the previous setup and leaves something modified when plugged out.
> 
> Yuri
> 
> PS: This of course isn't the major usability issue since, when plugged
> in, everything works. Nevertheless, I can't plug it out without losing
> the keyboard.
> 
> 
> ---messages (kbd related during boot)--
> kbd1 at kbdmux0
> <...skipped...>
> atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
> atkbd0: <AT Keyboard> irq 1 on atkbdc0
> kbd0 at atkbd0
> atkbd0: [GIANT-LOCKED]
> 
> ---messages (plug out)---
> Jan 14 14:30:59 eagle kernel: ugen1.2: <Microsoft> at usbus1 (disconnected)
> Jan 14 14:30:59 eagle kernel: ukbd0: at uhub1, port 1, addr 2
> (disconnected) Jan 14 14:30:59 eagle kernel: ums0: at uhub1, port 1, addr
> 2 (disconnected) Jan 14 14:30:59 eagle kernel: uhid0: at uhub1, port 1,
> addr 2 (disconnected)
> 
> ---messages (plug in)---
> Jan 14 14:31:09 eagle kernel: ugen1.2: <Microsoft> at usbus1
> Jan 14 14:31:09 eagle kernel: ukbd0: <Microsoft Microsoft Nano
> Transceiver v1.0, class 0/0, rev 2.00/6.74, addr 2> on usbus1
> Jan 14 14:31:09 eagle kernel: kbd2 at ukbd0
> Jan 14 14:31:09 eagle kernel: ums0: <Microsoft Microsoft Nano
> Transceiver v1.0, class 0/0, rev 2.00/6.74, addr 2> on usbus1
> Jan 14 14:31:09 eagle kernel: ums0: 5 buttons and [XYZT] coordinates ID=26
> Jan 14 14:31:09 eagle kernel: ums0: 0 buttons and [T] coordinates ID=0
> Jan 14 14:31:09 eagle kernel: uhid0: <Microsoft Microsoft Nano
> Transceiver v1.0, class 0/0, rev 2.00/6.74, addr 2> on usbus1
> 
> $ ls -l /dev/*kbd*
> crw-------  1 root  wheel    0,  57 Jan  4 11:50 /dev/atkbd0
> lrwxr-xr-x  1 root  wheel         6 Jan  4 11:50 /dev/kbd0 -> atkbd0
> lrwxr-xr-x  1 root  wheel         7 Jan  4 11:50 /dev/kbd1 -> kbdmux0
> lrwxr-xr-x  1 root  wheel         5 Jan 14 14:38 /dev/kbd2 -> ukbd0
> crw-------  1 root  wheel    0,  13 Jan  4 11:50 /dev/kbdmux0
> crw-------  1 root  wheel    0, 182 Jan 14 14:38 /dev/ukbd0
> 

The problem is that the Nano transceiver also provides a keyboard, which is 
set as default.

See /etc/devd.conf and:

# When a USB keyboard arrives, attach it as the console keyboard.
attach 100 {
        device-name "ukbd0";
        action "/etc/rc.d/syscons setkeyboard /dev/ukbd0";
};
detach 100 {
        device-name "ukbd0";
        action "/etc/rc.d/syscons setkeyboard /dev/kbd0";
};

Which probably should be updated.

--HPS



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