Touchpad/trackpad not working

Anders Bolt-Evensen <[email protected]>
Newsgroups gmane.os.freebsd.devel.mobile
Message-ID <[email protected]>

On Aug 09, 2015, at 03:07 AM, Anthony Jenkins <[email protected]> wrote:

>
>
> On 08/07/15 02:19, Anders Bolt-Evensen wrote:
>>
>>
>> On Aug 06, 2015, at 07:01 PM, Anthony Jenkins <[email protected]>
>> wrote:
>>
>>>
>>>
>>> On 08/06/2015 01:42 AM, Anders Bolt-Evensen wrote:
>>>>
>>>>
>>>> On Aug 05, 2015, at 07:48 PM, Anthony Jenkins <[email protected]>
>>>> wrote:
>>>>
>>>>> [Dropping current@]
>>>>>
>>>>>> ________________________________
>>>>>> From: Anders Bolt-Evensen <[email protected]>
>>>>>> To: [email protected]; [email protected] Sent:
>>>>>> Wednesday, August 5, 2015 11:38 AM
>>>>>> Subject: Touchpad/trackpad not working
>>>>>>
>>>>>>
>>>>>> Hello, everyone!
>>>>>> On my Acer Aspire V17 Nitro I have a little problems with my
>>>>>> touchpad/trackpad:
>>>>>> When I boot the system, in this case, on FreeBSD Current (the
>>>>>> problem also exists on FreeBSD 10) without an external USB receiver
>>>>>> connected, my trackpad does not work at all, neither in console or
>>>>>> in X.
>>>>>> In other words I am not able to do a left or right click and moving
>>>>>> the pointer does not work either.
>>>>>> I cannot see any mention of it when I take a look at dmesg, other
>>>>>> than a message that says "psm0: unable to allocate IRQ"
>>>>>> Today I installed sysutils/usbutils to see if I could get any more
>>>>>> info about my problem and then took a look at output of the command
>>>>>> "lsusb".
>>>>>> I see the following output:
>>>>>> Bus /dev/usb Device /dev/ugen0.5: ID 046d:c52b Logitech, Inc.
>>>>>> 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.
>>>>>
>>>>> Weird...first time seeing a Synaptics device on USB. I know psm(4)
>>>>> generally handles Synaptics protocol in FreeBSD (if you enable
>>>>> synaptics
>>>>> support), but your device isn't hanging off the atkbd(4)/psm(4). I'd
>>>>> expect ums(4) to attach then... no idea why it isn't, or if it
>>>>> supports
>>>>> the Synaptics protocol.
>>>>>
>>>>> Can you tell me what the following command reports:
>>>>>
>>>>> usbconfig -d ugen0.3 dump_device_desc
>>>>>
>>>>> I think the device needs to report itself as a USB HID device for
>>>>> ums(4)
>>>>> to attach.
>>>>>
>>>>> Also, do you have moused(8) running?
>>>>>
>>>>> Thanks,
>>>>> Anthony Jenkins
>>>>
>>>> In /etc/rc.conf I do have moused_enable="YES", but sudo
>>>> /etc/rc.d/moused status reports
>>>> "moused is not running". I assume it is because of missing psm0.
>>>>
>>>> The command usbconfig -d ugen0.3 dump_device_desc reports:
>>>> ugen0.3: <product 0x2970 vendor 0x06cb> at usbus0, cfg=0 md=HOST
>>>> spd=FULL (12Mbps) pwr=ON (100mA)
>>>>
>>>> bLength = 0x0012
>>>> bDescriptorType = 0x0001
>>>> bcdUSB = 0x0200
>>>> bDeviceClass = 0x0000 <Probed by interface class>
>>>> bDeviceSubClass = 0x0000
>>>> bDeviceProtocol = 0x0000
>>>> bMaxPacketSize0 = 0x0008
>>>> idVendor = 0x06cb
>>>> idProduct = 0x2970
>>>> bcdDevice = 0x0008
>>>> iManufacturer = 0x0001 < >
>>>> iProduct = 0x0002 < >
>>>> iSerialNumber = 0x0000 <no string>
>>>> bNumConfigurations = 0x0001
>>>>
>>>> - Anders
>>>
>>> Okay try the 'dump_curr_config_desc' command to usbconfig(8):
>>>
>>> usbconfig -d ugen0.3 dump_curr_config_desc
>>>
>>> For my Areson USB mouse, this reports:
>>>
>>> $ sudo usbconfig -d ugen0.2 dump_curr_config_desc
>>> ugen0.2: <USB Device Areson> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps)
>>> pwr=ON (100mA)
>>>
>>>
>>> Configuration index 0
>>>
>>> bLength = 0x0009
>>> bDescriptorType = 0x0002
>>> wTotalLength = 0x003b
>>> bNumInterfaces = 0x0002
>>> bConfigurationValue = 0x0001
>>> iConfiguration = 0x0000 <no string>
>>> bmAttributes = 0x00a0
>>> bMaxPower = 0x0032
>>>
>>> Interface 0
>>> bLength = 0x0009
>>> bDescriptorType = 0x0004
>>> bInterfaceNumber = 0x0000
>>> bAlternateSetting = 0x0000
>>> bNumEndpoints = 0x0001
>>> bInterfaceClass = 0x0003 <HID device>
>>> bInterfaceSubClass = 0x0001
>>> bInterfaceProtocol = 0x0002
>>> iInterface = 0x0000 <no string>
>>>
>>> Additional Descriptor
>>>
>>> bLength = 0x09
>>> bDescriptorType = 0x21
>>> bDescriptorSubType = 0x00
>>> RAW dump:
>>> 0x00 | 0x09, 0x21, 0x00, 0x01, 0x00, 0x01, 0x22, 0x59,
>>> 0x08 | 0x00
>>>
>>> Endpoint 0
>>> bLength = 0x0007
>>> bDescriptorType = 0x0005
>>> bEndpointAddress = 0x0081 <IN>
>>> bmAttributes = 0x0003 <INTERRUPT>
>>> wMaxPacketSize = 0x0008
>>> bInterval = 0x000a
>>> bRefresh = 0x0000
>>> bSynchAddress = 0x0000
>>> ...
>>>
>>>
>>> I'm looking for an "Interface #" section with "bInterfaceClass = 0x0003
>>> <HID device>" and "bInterfaceProtocol = 0x0002" lines (class 0x3
>>> protocol 0x2 is a mouse, supported by our ums(4) driver). If you have
>>> that, then it should work "out of the box" with moused(8) configured
>>> with the "auto" protocol (required for USB pointing devices).
>>>
>>> You didn't say whether the touchpad works with another USB mouse
>>> attached or not. I wouldn't expect plugging a different mouse in to
>>> have any effect on the touchpad behaviour, but if so, please also run
>>> the above usbconfig(8) command:
>>>
>>> - with no external USB mouse plugged in, targetting the Synaptics
>>> touchpad device (ugen0.3)
>>> - with an external USB mouse plugged in, once for the Synaptics
>>> touchpad device (ugen0.3) and once for the external mouse (ugen?.?)
>>>
>>> Thanks,
>>> Anthony
>>
>> If I start FreeBSD without the external receiver and run udo usbconfig
>> -d ugen0.3 dump_curr_config_desc, I get the following output:
>> ugen0.3: <product 0x2970 vendor 0x06cb> at usbus0, cfg=0 md=HOST
>> spd=FULL (12Mbps) pwr=ON (100mA)
>>
>>
>> Configuration index 0
>>
>> bLength = 0x0009
>> bDescriptorType = 0x0002
>> wTotalLength = 0x0029
>> bNumInterfaces = 0x0001
>> bConfigurationValue = 0x0001
>> iConfiguration = 0x0000 <no string>
>> bmAttributes = 0x00a0
>> bMaxPower = 0x0032
>>
>> Interface 0
>> bLength = 0x0009
>> bDescriptorType = 0x0004
>> bInterfaceNumber = 0x0000
>> bAlternateSetting = 0x0000
>> bNumEndpoints = 0x0002
>> bInterfaceClass = 0x0003 <HID device>
>> bInterfaceSubClass = 0x0000
>> bInterfaceProtocol = 0x0000
>> iInterface = 0x0000 <no string>
>>
>> Additional Descriptor
>>
>> bLength = 0x09
>> bDescriptorType = 0x21
>> bDescriptorSubType = 0x11
>> RAW dump:
>> 0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0xa1,
>> 0x08 | 0x01
>>
>> Endpoint 0
>> bLength = 0x0007
>> bDescriptorType = 0x0005
>> bEndpointAddress = 0x0081 <IN>
>> bmAttributes = 0x0003 <INTERRUPT>
>> wMaxPacketSize = 0x0040
>> bInterval = 0x0001
>> bRefresh = 0x0000
>> bSynchAddress = 0x0000
>>
>> Endpoint 1
>> bLength = 0x0007
>> bDescriptorType = 0x0005
>> bEndpointAddress = 0x0002 <OUT>
>> bmAttributes = 0x0003 <INTERRUPT>
>> wMaxPacketSize = 0x0040
>> bInterval = 0x000a
>> bRefresh = 0x0000
>> bSynchAddress = 0x0000
>>
>> Now, if I plug in the receiver and reboot my computer (the touchpad
>> does not work in FreeBSD unless I start the computer with that device
>> plugged in -- the external mouse that came with the receiver works
>> just fine without a reboot) and then run the same command again (note
>> that when booting with the external device plugged in, according to
>> "lsusb", the Symantec touchpad changes from ugen0.3 to ugen0.4), I get
>> the following:
>> Output of lsusb:
>> [...]
>> Bus /dev/usb Device /dev/ugen0.4: ID 06cb:2970 Synaptics, Inc.
>> [...]
>> Bus /dev/usb Device /dev/ugen0.2: ID 046d:c52b Logitech, Inc.
>>
>> Output of "sudo usbconfig -d ugen0.4 dump_curr_config_desc" (ugen0.3
>> before the reboot)
>> ugen0.4: <product 0x2970 vendor 0x06cb> at usbus0, cfg=0 md=HOST
>> spd=FULL (12Mbps) pwr=ON (100mA)
>>
>>
>> Configuration index 0
>>
>> bLength = 0x0009
>> bDescriptorType = 0x0002
>> wTotalLength = 0x0029
>> bNumInterfaces = 0x0001
>> bConfigurationValue = 0x0001
>> iConfiguration = 0x0000 <no string>
>> bmAttributes = 0x00a0
>> bMaxPower = 0x0032
>>
>> Interface 0
>> bLength = 0x0009
>> bDescriptorType = 0x0004
>> bInterfaceNumber = 0x0000
>> bAlternateSetting = 0x0000
>> bNumEndpoints = 0x0002
>> bInterfaceClass = 0x0003 <HID device>
>> bInterfaceSubClass = 0x0000
>> bInterfaceProtocol = 0x0000
>> iInterface = 0x0000 <no string>
>>
>> Additional Descriptor
>>
>> bLength = 0x09
>> bDescriptorType = 0x21
>> bDescriptorSubType = 0x11
>> RAW dump:
>> 0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0xa1,
>> 0x08 | 0x01
>>
>> Endpoint 0
>> bLength = 0x0007
>> bDescriptorType = 0x0005
>> bEndpointAddress = 0x0081 <IN>
>> bmAttributes = 0x0003 <INTERRUPT>
>> wMaxPacketSize = 0x0040
>> bInterval = 0x0001
>> bRefresh = 0x0000
>> bSynchAddress = 0x0000
>>
>> Endpoint 1
>> bLength = 0x0007
>> bDescriptorType = 0x0005
>> bEndpointAddress = 0x0002 <OUT>
>> bmAttributes = 0x0003 <INTERRUPT>
>> wMaxPacketSize = 0x0040
>> bInterval = 0x000a
>> bRefresh = 0x0000
>> bSynchAddress = 0x0000
>>
>> Output of sudo usbconfig -d ugen0.2 dump_curr_config_desc (ugen0.5 if
>> plugged in before the reboot)
>> ugen0.2: <USB Receiver Logitech> at usbus0, cfg=0 md=HOST spd=FULL
>> (12Mbps) pwr=ON (98mA)
>>
>>
>> Configuration index 0
>>
>> bLength = 0x0009
>> bDescriptorType = 0x0002
>> wTotalLength = 0x0054
>> bNumInterfaces = 0x0003
>> bConfigurationValue = 0x0001
>> iConfiguration = 0x0004 <RQR12.01_B0019>
>> bmAttributes = 0x00a0
>> bMaxPower = 0x0031
>>
>> Interface 0
>> bLength = 0x0009
>> bDescriptorType = 0x0004
>> bInterfaceNumber = 0x0000
>> bAlternateSetting = 0x0000
>> bNumEndpoints = 0x0001
>> bInterfaceClass = 0x0003 <HID device>
>> bInterfaceSubClass = 0x0001
>> bInterfaceProtocol = 0x0001
>> iInterface = 0x0000 <no string>
>>
>> Additional Descriptor
>>
>> bLength = 0x09
>> bDescriptorType = 0x21
>> bDescriptorSubType = 0x11
>> RAW dump:
>> 0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0x3b,
>> 0x08 | 0x00
>>
>> Endpoint 0
>> bLength = 0x0007
>> bDescriptorType = 0x0005
>> bEndpointAddress = 0x0081 <IN>
>> bmAttributes = 0x0003 <INTERRUPT>
>> wMaxPacketSize = 0x0008
>> bInterval = 0x0008
>> bRefresh = 0x0000
>> bSynchAddress = 0x0000
>>
>>
>> Interface 1
>> bLength = 0x0009
>> bDescriptorType = 0x0004
>> bInterfaceNumber = 0x0001
>> bAlternateSetting = 0x0000
>> bNumEndpoints = 0x0001
>> bInterfaceClass = 0x0003 <HID device>
>> 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, 0x94,
>> 0x08 | 0x00
>>
>> Endpoint 0
>> bLength = 0x0007
>> bDescriptorType = 0x0005
>> bEndpointAddress = 0x0082 <IN>
>> bmAttributes = 0x0003 <INTERRUPT>
>> wMaxPacketSize = 0x0008
>> bInterval = 0x0002
>> bRefresh = 0x0000
>> bSynchAddress = 0x0000
>>
>>
>> Interface 2
>> bLength = 0x0009
>> bDescriptorType = 0x0004
>> bInterfaceNumber = 0x0002
>> bAlternateSetting = 0x0000
>> bNumEndpoints = 0x0001
>> bInterfaceClass = 0x0003 <HID device>
>> bInterfaceSubClass = 0x0000
>> bInterfaceProtocol = 0x0000
>> iInterface = 0x0000 <no string>
>>
>> Additional Descriptor
>>
>> bLength = 0x09
>> bDescriptorType = 0x21
>> bDescriptorSubType = 0x11
>> RAW dump:
>> 0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0x62,
>> 0x08 | 0x00
>>
>> Endpoint 0
>> bLength = 0x0007
>> bDescriptorType = 0x0005
>> bEndpointAddress = 0x0083 <IN>
>> bmAttributes = 0x0003 <INTERRUPT>
>> wMaxPacketSize = 0x0020
>> bInterval = 0x0002
>> bRefresh = 0x0000
>> bSynchAddress = 0x0000
>>
>> With that device plugged in during the booting process, I'm able to do
>> a left tap/click and a right click with the touchpad. Scrolling does
>> not work unless I use the external mouse instead of the touchpad.
>> If I now decide to unplug the external device, the touchpad works
>> until the next reboot.
>>
>> Anders
>>
> Are there any /dev/ums* device nodes when the external mouse is plugged in?
>
> $ ls /dev/ums*
> $ dmesg | grep ums
 
Yes, when I connect the external mouse, /dev/ums0 appears:
ls /dev/ums*
/dev/ums0

dmesg | grep ums
ums0: <Logitech USB Receiver, class 0/0, rev 2.00/12.01, addr 5> on usbus0
ums0: 16 buttons and [XYZT] coordinates ID=2

> Are there any instances of moused(8) running when the external mouse is
> plugged in?
>
> $ ps auxww | grep moused
>
> Thanks,
> Anthony
 
When the external mouse is connected, the following instance of moused is running (as returned from the command ps auxww | grep moused):
root       2426   0.0  0.0  16728   2284  -  Ss   08:06    0:00.00 /usr/sbin/moused -p /dev/ums0 -t auto -I /var/run/moused.ums0.pid

Anders

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.