Touchpad/trackpad not working

Anders Bolt-Evensen andersbo87 at icloud.com
Wed Aug 12 20:49:45 UTC 2015



On Aug 12, 2015, at 01:08 PM, Hans Petter Selasky <hps at selasky.org> wrote:

> On 08/12/15 12:32, Hans Petter Selasky wrote:
>> On 08/12/15 11:31, Anders Bolt-Evensen wrote:
>>>>
>>>> When you don't see any activity, can you issue a reset of the touchpad:
>>>>
>>>> usbconfig -d X.Y reset
>>>>
>>>> while "usbdump" is running on the same device?
>>>>
>>>> --HPS
>>>
>>> Sure. 
>>> usbconfig -d 0.3 reset results in the following output from the usbdump
>>> command:
>>
>> Can you run:
>>
>> sysctl hw.usb.ums.debug=15
>>
>> Then re-run the "usbconfig -d X.Y reset" and send resulting dmesg?
>>
>> --HPS
>
> Hi,
>
> The issue might be that the BIOS is re-programming the USB device
> somehow. I see the HID descriptor has support for different modes, and
> possible the device is not re-setting its internal state upon
> re-enumeration. You can try:
>
> usbconfig -d X.Y power_off
> usbconfig -d X.Y reset
>
> Maybe if you disable USB legacy support in the BIOS it will work.
Sadly, there is no such thing in the BIOS of this computer (an Acer Aspire VN7-791G).
The only legacy thing in this BIOS is to choose between UEFI (which I'm using) and the older CSM.
I cannot see anything related to USB in this BIOS other than in the boot order and in that case I can only choose the boot order of USB storage devices.

>
>
> BTW: The log you sent appears to be from a USB keyboard only device and
> not a USB mouse!
>
> Also try:
>
> kldload ums
>
> Can you send output from:
>
> usbconfig show_ifdrv
 Here is the output of usbconfig show_ifdrv:
ugen0.1: <XHCI root HUB 0x8086> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen0.1.0: uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1>
ugen1.1: <EHCI root HUB Intel> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen1.1.0: uhub1: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1>
ugen2.1: <EHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen2.1.0: uhub2: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1>
ugen0.2: <USB2.0-CRW Generic> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
ugen1.2: <product 0x8008 vendor 0x8087> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen1.2.0: uhub3: <vendor 0x8087 product 0x8008, class 9/0, rev 2.00/0.05, addr 2>
ugen2.2: <product 0x8000 vendor 0x8087> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen2.2.0: uhub4: <vendor 0x8087 product 0x8000, class 9/0, rev 2.00/0.05, addr 2>
ugen0.3: <product 0x2970 vendor 0x06cb> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
ugen0.3.0: uhid0: <vendor 0x06cb product 0x2970, class 0/0, rev 2.00/0.08, addr 2>
ugen0.4: <HD WebCam Chicony Electronics Co.,Ltd.> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)

>
>
> usbconfig dump_device_desc dump_curr_config_desc

>
>
> When it works and when it doesn't work?
 
When the touchpad is not working, here is the output of usbconfig dump_device_desc dump_curr_config_desc:
https://www.dropbox.com/s/utllovfkamnqi9p/usbconfig_dump_device_desc_curr_config_desc_not_working.txt?dl=0

Now, I connected the external USB receiver and rebooted the system. Now, because the external device is connected, the touchpad works just fine. Here is the output of usbconfig dump_device_desc dump_curr_config_desc:
https://www.dropbox.com/s/r3pnqsk9aul1z8e/usbconfig_dump_device_desc_curr_config_desc_working.txt?dl=0
>
>
> Output from dmesg is also appreciated.
Output of the verbose boot messages without the external mouse:
https://www.dropbox.com/s/ukpoyg6rsl3jjgd/dmesg_without_external_usb.txt?dl=0

Output of the verbose boot messages with the external mouse:
https://www.dropbox.com/s/uga7p5zlxh7knsj/dmesg_with_external_usb.txt?dl=0

> Can you run:
>
> sysctl hw.usb.ums.debug=15
>
> Then re-run the "usbconfig -d X.Y reset" and send resulting dmesg?
If I run sysctl.hw.usb.ums.debug=15 without the external USB device, sysctl returns:
sysctl: unknown oid 'hw.usb.ums.debug': No such file or directory. I decided to go ahead and run the other commands (usbconfig -d 0.3 reset) and post the resulting messages from dmesg:
uhid0: at uhub0, port 7, addr 2 (disconnected)
hid_get_item: Number of items truncated to 255
uhid0: <vendor 0x06cb product 0x2970, class 0/0, rev 2.00/0.08, addr 2> on usbus0
hid_get_item: Number of items truncated to 255
hid_get_item: Number of items truncated to 255
hid_get_item: Number of items truncated to 255
random: harvesting attach, 8 bytes (4 bits) from uhid0

Full output from lsusb without the external usb receiver:
Bus /dev/usb Device /dev/ugen0.4: ID 04f2:b474 Chicony Electronics Co., Ltd
Bus /dev/usb Device /dev/ugen0.3: ID 06cb:2970 Synaptics, Inc.
Bus /dev/usb Device /dev/ugen2.2: ID 8087:8000 
Bus /dev/usb Device /dev/ugen1.2: ID 8087:8008 
Bus /dev/usb Device /dev/ugen0.2: ID 0bda:0129 Realtek Semiconductor Corp.
Bus /dev/usb Device /dev/ugen2.1: ID 0000:0000 
Bus /dev/usb Device /dev/ugen1.1: ID 0000:0000 
Bus /dev/usb Device /dev/ugen0.1: ID 0000:0000 

With the receiver plugged in, running sysctl hw.usb.ums.debug=15 and then usbconfig -d 0.4 reset, results in the following dmesg (when I reboot with the external usb receiver plugged in, according to lsusb, the device node for the Synaptics (touchpad) device changes from /dev/ugen0.3 to /dev/ugen0.4):
ums1: at uhub0, port 7, addr 3 (disconnected)
ums_detach: sc=0xfffff80027409800
ums_close:
ums_close:
hid_get_item: Number of items truncated to 255
ums_probe:
hid_get_item: Number of items truncated to 255
ums_probe:
hid_get_item: Number of items truncated to 255
ums_attach: sc=0xfffff80027409800
ums1: <vendor 0x06cb product 0x2970, class 0/0, rev 2.00/0.08, addr 3> on usbus0
hid_get_item: Number of items truncated to 255
hid_get_item: Number of items truncated to 255
hid_get_item: Number of items truncated to 255
hid_get_item: Number of items truncated to 255
hid_get_item: Number of items truncated to 255
hid_get_item: Number of items truncated to 255
hid_get_item: Number of items truncated to 255
hid_get_item: Number of items truncated to 255
ums1: 2 buttons and [XY] coordinates ID=2
hid_get_item: Number of items truncated to 255
hid_get_item: Number of items truncated to 255
hid_get_item: Number of items truncated to 255
hid_get_item: Number of items truncated to 255
hid_get_item: Number of items truncated to 255
hid_get_item: Number of items truncated to 255
hid_get_item: Number of items truncated to 255
ums_attach: sc=0xfffff80027409800, index=0
ums_attach: X    8/8 id=2
ums_attach: Y    16/8 id=2
ums_attach: Z    0/0 id=0
ums_attach: T    0/0 id=0
ums_attach: W    0/0 id=0
ums_attach: B1    0/1 id=2
ums_attach: B2    1/1 id=2
ums_attach: sc=0xfffff80027409800, index=1
ums_attach: X    8/16 id=3
ums_attach: Y    24/16 id=3
ums_attach: Z    0/0 id=0
ums_attach: T    0/0 id=0
ums_attach: W    0/0 id=0
ums_attach: B1    64/1 id=3
ums_attach: size=36, id=2
random: harvesting attach, 8 bytes (4 bits) from ums1
ums_open:
ums_open:
ums_ioctl:
ums_ioctl:
ums_ioctl:
ums_ioctl:
ums_ioctl:

Full output from lsusb when the device is plugged in during boot:
Bus /dev/usb Device /dev/ugen0.5: ID 04f2:b474 Chicony Electronics Co., Ltd
Bus /dev/usb Device /dev/ugen0.4: ID 06cb:2970 Synaptics, Inc.
Bus /dev/usb Device /dev/ugen0.3: ID 0bda:0129 Realtek Semiconductor Corp.
Bus /dev/usb Device /dev/ugen2.2: ID 8087:8000 
Bus /dev/usb Device /dev/ugen1.2: ID 8087:8008 
Bus /dev/usb Device /dev/ugen0.2: ID 046d:c52b Logitech, Inc.
Bus /dev/usb Device /dev/ugen2.1: ID 0000:0000 
Bus /dev/usb Device /dev/ugen1.1: ID 0000:0000 
Bus /dev/usb Device /dev/ugen0.1: ID 0000:0000


More information about the freebsd-usb mailing list