Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 08 Aug 2015 21:06:57 -0400
From:      Anthony Jenkins <Scoobi_doo@yahoo.com>
To:        Anders Bolt-Evensen <andersbo87@icloud.com>
Cc:        freebsd-mobile@freebsd.org
Subject:   Re: Touchpad/trackpad not working
Message-ID:  <55C6A7B1.3030806@yahoo.com>
In-Reply-To: <e2d3a904-7924-48e7-9b9b-ead1f8576929@me.com>
References:  <e2d3a904-7924-48e7-9b9b-ead1f8576929@me.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On 08/07/15 02:19, Anders Bolt-Evensen wrote:
>
>
> On Aug 06, 2015, at 07:01 PM, Anthony Jenkins <Scoobi_doo@yahoo.com>
> wrote:
>
>>
>>
>> On 08/06/2015 01:42 AM, Anders Bolt-Evensen wrote:
>>>
>>>
>>> On Aug 05, 2015, at 07:48 PM, Anthony Jenkins <Scoobi_doo@yahoo.com>
>>> wrote:
>>>
>>>> [Dropping current@]
>>>>
>>>>> ________________________________
>>>>> From: Anders Bolt-Evensen <andersbo87@me.com>
>>>>> To: freebsd-current@freebsd.org; freebsd-mobile@freebsd.org 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

Are there any instances of moused(8) running when the external mouse is
plugged in?

    $ ps auxww | grep moused

Thanks,
Anthony

> _______________________________________________
> freebsd-mobile@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
> To unsubscribe, send any mail to "freebsd-mobile-unsubscribe@freebsd.org"

-- 
Anthony Jenkins
Software Engineer
VTilt Digital, LLC





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