On Aug 12, 2015, at 01:08 PM, Hans Petter Selasky <h...@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
_______________________________________________
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to