Date: Mon, 10 Aug 2015 06:29:19 +0000 (GMT) From: Anders Bolt-Evensen <andersbo87@icloud.com> To: freebsd-mobile@freebsd.org Subject: Touchpad/trackpad not working Message-ID: <15cd9145-5290-463e-8495-5cfa31ca1ace@me.com>
next in thread | raw e-mail | index | archive | help
On Aug 09, 2015, at 03:07 AM, Anthony Jenkins <Scoobi_doo@yahoo.com> wrote: > > > 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 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15cd9145-5290-463e-8495-5cfa31ca1ace>
