# Elantech trackpad not working



## bca (Jun 25, 2022)

Hello,

I am reasonably new to FreeBSD, but came across this thread for a similar issue.

So far those steps do not result in my trackpad working, but perhaps I am missing something? I would really appreciate any support, docs to read, or opinions on what I'm missing, etc. This is for a Lenovo ThinkPad P53.

Many thanks in advance!

Steps taken:

```
pkg install xf86-input-synaptics
pkg install xf86-input-libinput

# Append to /boot/loader.conf
hw.psm.synaptics_support="1"

# Various values from running `synclient` (e.g. VerticalTwoFingerScroll = 1)

# Set extended mouse communications protocol
sysrc moused_flags+=" -l 2"
# kill running moused
service moused enable
service moused start

# Append to /etc/sysctl.conf
kern.evdev.rcpt_mask=6

# /boot/loader.conf, append
hw.psm.elantech_support="1"
```


----------



## sidetone (Jul 1, 2022)

Try parts from Thread howto-enabling-multimedia-keys-gamepads-joysticks-for-desktop-usbhid.84464, to what's used in the other thread, and what you have above. The thread you showed uses iichid, while this one uses usbhid, so you would replace that part. iichid and usbhid are in FreeBSD 13, however usbhid is a more universal standard, and it seems to work better. FreeBSD is also going in that direction. Make sure permissions to the device are set, which how to do that is included there. Then, go with the suggestion for the XF86 libinput driver in the thread you linked to.


----------



## bca (Jul 4, 2022)

Thanks for your reply sidetone. To address your points:



> Try parts from Thread howto-enabling-multimedia-keys-gamepads-joysticks-for-desktop-usbhid.84464, to what's used in the other thread, and what you have above.



I copied these to /boot/loader.conf and /etc/rc.conf, respectively:


```
# to /boot/loader.conf
hw.usb.usbhid.enable="1"
# to /etc/rc.conf
kld_list="usbhid"
```





> The thread you showed uses iichid, while this one uses usbhid, so you would replace that part.



While I'm not completely certain which part uses `iichid` or `usbhid` ... I disabled/re-enabled both `hw.psm.elantech_support` and `hw.psm.synaptics_support` for testing.



> Make sure permissions to the device are set, which how to do that is included there.



`usbconfig` was returning "No device match or lack of permissions" here, but the sub-post you linked (https://forums.freebsd.org/goto/post?id=570462) cleared that up (thanks for that.) `usbconfig` is now showing output, but unfortunately `xev` yields no output at all for the trackpad. I omitted `| grep keycode` for debugging.



> Then, go with the suggestion for the XF86 libinput driver in the thread you linked to.



I re-installed and ran `make reinstall` from the individual ports directories here.

I really appreciate your help, and please do let me know if I am missing something.


----------



## sidetone (Jul 4, 2022)

For testing, try Joytran, to see if anything shows up. Then, try the route of XF86, as you were doing, and enabling elantec and synaptics.

Iichid and usbhid work the same, and are used by many of the same overlapping drivers. I believe that iichid which is used over a similarly named standard, isn't supported by Apple, bc it's by Microsoft. Usbhid is more universal than iichid. Many instructions for both are the same, and many drivers should use either, just replace that part with usbhid. Both iichid and usbhid are in the base of FreeBSD 13.

Try the route you were trying. I haven't mapped anything to XF86 input drivers, but perhaps Joytran can help you see if the next step can be taken. Joytran is in ports for gamepads and joysticks, however it should be able to pick up events from any USB hid device, not over Bluetooth, that xev can't pick up.

There's a lot of details in that thread, for getting things to work. If you can get Joytran to show anything, then from there, you can try alternate steps from the iichid thread, and steps for configuring XF86 configuration. You'll need to set the device permissions too, for it to show up in Joytran. Instructions and details for that are there too. Theres lots of troubleshooting there as well.

There's still trial and error involved for the next steps.


----------

