Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Aug 2009 17:35:58 +0300
From:      Andriy Gapon <avg@freebsd.org>
To:        Hans Petter Selasky <hselasky@c2i.net>
Cc:        Paul Kuntke <paul@kuntke.de>, freebsd-current@freebsd.org
Subject:   Re: Problems with mouse
Message-ID:  <4A9699CE.9040807@freebsd.org>
In-Reply-To: <4A955629.1010707@icyb.net.ua>
References:  <20090826080554.GA2664@beastie.smeiknet> <200908261059.49593.hselasky@c2i.net> <4A955629.1010707@icyb.net.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
on 26/08/2009 18:35 Andriy Gapon said the following:
> on 26/08/2009 11:59 Hans Petter Selasky said the following:
>> On Wednesday 26 August 2009 10:05:54 Paul Kuntke wrote:
>>> Hi,
>>> after installing BETA3 I'm experiencing a strange behaviour of the
>>> usb-mouse driver. When the mouse is plugged in while booting it will not
>>> work but when its plugged in later (e.g. after logging in) everything will
>>> be fine.
>>>
>>> Even if I unplug the mouse _after_ booting and replug it, it will not be
>>> found. If I plug in a second one the second one will be found. But not the
>>> one which was plugged while booting. Is there any workaround?
>>>
>> What is the output from dmesg and usbconfig?
> 
> Hans,
> 
> I have a similar problem where sometimes my USB mouse won't get attached and
> sometimes it will. For me it seems that the behavior depends on USB port that the
> mouse is attached to. But maybe I have a different problem, maybe some ports are
> indeed "bad".

Just a note: no, this is not a bad hardware case, it's more random than that.
Sometimes the mouse is properly detected during boot, sometimes not - in the same
port. Sometimes replugging to the same port helps, sometimes I do it 3 times in a
row and it doesn't help.

> Here is how it looks when the mouse fails to attach:
> usb_alloc_device:1588: set address 2 failed (USB_ERR_TIMEOUT, ignored)
> usb_alloc_device:1626: getting device descriptor at addr 2 failed, USB_ERR_TIMEOUT!
> usbd_req_re_enumerate:1539: addr=2, set address failed! (USB_ERR_TIMEOUT, ignored)
> usbd_req_re_enumerate:1553: getting device descriptor at addr 2 failed,
> USB_ERR_TIMEOUT!
> usbd_req_re_enumerate:1539: addr=2, set address failed! (USB_ERR_TIMEOUT, ignored)
> usbd_req_re_enumerate:1553: getting device descriptor at addr 2 failed,
> USB_ERR_TIMEOUT!
> ugen0.2: <(null)> at usbus0 (disconnected)
> uhub_reattach_port:435: could not allocate new device!
> 
> 
> Here is success:
> ums0: <Logitech USB Optical Mouse, class 0/0, rev 2.00/43.01, addr 2> on usbus1
> ums0: 3 buttons and [XYZ] coordinates ID=0
> 
> Not sure what kind of usbconfig output would be useful.
> $ usbconfig -u 1 -a 2 show_ifdrv
> ugen1.2: <USB Optical Mouse Logitech> at usbus1, cfg=0 md=HOST spd=LOW (1.5Mbps)
> pwr=ON
> ugen1.2.0: ums0: <Logitech USB Optical Mouse, class 0/0, rev 2.00/43.01, addr 2>
> 
> $ usbconfig -u 1 -a 2 dump_device_desc
> ugen1.2: <USB Optical Mouse Logitech> at usbus1, cfg=0 md=HOST spd=LOW (1.5Mbps)
> pwr=ON
> 
>   bLength = 0x0012
>   bDescriptorType = 0x0001
>   bcdUSB = 0x0200
>   bDeviceClass = 0x0000
>   bDeviceSubClass = 0x0000
>   bDeviceProtocol = 0x0000
>   bMaxPacketSize0 = 0x0008
>   idVendor = 0x046d
>   idProduct = 0xc018
>   bcdDevice = 0x4301
>   iManufacturer = 0x0001  <Logitech>
>   iProduct = 0x0002  <USB Optical Mouse>
>   iSerialNumber = 0x0000  <no string>
>   bNumConfigurations = 0x0001
> 
> $ usbconfig -u 1 -a 2 dump_all_config_desc
> ugen1.2: <USB Optical Mouse Logitech> at usbus1, cfg=0 md=HOST spd=LOW (1.5Mbps)
> pwr=ON
> 
> 
>  Configuration index 0
> 
>     bLength = 0x0009
>     bDescriptorType = 0x0002
>     wTotalLength = 0x0022
>     bNumInterfaces = 0x0001
>     bConfigurationValue = 0x0001
>     iConfiguration = 0x0000  <no string>
>     bmAttributes = 0x00a0
>     bMaxPower = 0x0032
> 
>     Interface 0
>       bLength = 0x0009
>       bDescriptorType = 0x0004
>       bInterfaceNumber = 0x0000
>       bAlternateSetting = 0x0000
>       bNumEndpoints = 0x0001
>       bInterfaceClass = 0x0003
>       bInterfaceSubClass = 0x0001
>       bInterfaceProtocol = 0x0002
>       iInterface = 0x0000  <no string>
> 
>       Additional Descriptor
> 
>       bLength = 0x09
>       bDescriptorType = 0x21
>       bDescriptorSubType = 0x11
>        RAW dump:
>        0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0x34,
>        0x08 | 0x00
> 
>      Endpoint 0
>         bLength = 0x0007
>         bDescriptorType = 0x0005
>         bEndpointAddress = 0x0081
>         bmAttributes = 0x0003
>         wMaxPacketSize = 0x0005
>         bInterval = 0x000a
>         bRefresh = 0x0000
>         bSynchAddress = 0x0000
> 


-- 
Andriy Gapon



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