# FreeBSD 13 is awesome top performance everything is good except of that one thing........Touchpads!



## christhegeek (Apr 15, 2021)

FreeBSD 13 is awesome top performance everything is good except of that one thing........Touchpads !
My laptop's touchpad doesn't want to work,to make it work i have to use iichid and do some configuring.


----------



## aragats (Apr 16, 2021)

christhegeek said:


> i have to use iichid


Well, _iichid_ didn't exist in the 12, thus your laptop's touchpad wouldn't work at all last year. In other words, you complaint about the 13 is pointless (-;


----------



## drhowarddrfine (Apr 16, 2021)

christhegeek said:


> to make it work i have to use iichid and do some configuring.


So it does work.


----------



## christhegeek (Apr 17, 2021)

aragats said:


> Well, _iichid_ didn't exist in the 12, thus your laptop's touchpad wouldn't work at all last year. In other words, you complaint about the 13 is pointless (-;


I used to compile iichid from git and follow the instructions from https://github.com/wulf7/iichid  after i followed every single guide about synaptics and not worked , i found that by luck.
though i don't know but for some time i was experimenting with the currentit was pretty stable surprisingly .
Anyway i just wanted to say that needs some special configuring to make it work , on older laptops it may work without any configurations.
If your touchpad doesn't work just follow the guide there https://github.com/wulf7/iichid
Some things can be easier even openbsd detects and has support for touchpads out of the box no configuration (except tap to click)  needed


----------



## christhegeek (Apr 17, 2021)

drhowarddrfine said:


> So it does work.


Thanks to https://github.com/wulf7/iichid


----------



## christhegeek (Apr 17, 2021)

Touchpad also doesn't work (without iichid) on FreeBSD based projects like GhostBSD,nomadbsd,furybsd etc etc


----------



## aragats (Apr 17, 2021)

christhegeek said:


> You are pointless and you know your reply is lame do you ? Cause i used to compile iichid from git and follow the instructions from https://github.com/wulf7/iichid


How this contradicts my point? The _iichid_ wasn't a part of the system, now it is ― good! (I know that driver, I had to compile it from Wulf's repo).


> i just wanted to say that needs some special configuring to make it work


Most touchpads need special configuration if you want to use them to the full extent (multifinger, scroll etc.).
Honestly, almost everything needs special configuration, e.g. when you insert an HDMI cable, it's not going to display anything on your TV automagically.
I like drhowarddrfine 's signature:
`FreeBSD is a professional operating system for professionals.`


----------



## christhegeek (Apr 17, 2021)

aragats said:


> How this contradicts my point? The _iichid_ wasn't a part of the system, now it is ― good! (I know that driver, I had to compile it from Wulf's repo).
> 
> Most touchpads need special configuration if you want to use them to the full extent (multifinger, scroll etc.).
> Honestly, almost everything needs special configuration, e.g. when you insert an HDMI cable, it's not going to display anything on your TV automagically.
> ...


Yes it requires configuration and when i searched  i couldn't find anything at all that works tried many solutions then i found iichid by mere luck . Also why my friend' s old thinkpads (retro freaks) touchpads always works with any bsd there is ?   One period i had one running netbsd  tried myself touchpad was officially said is not supported by netbsd .


----------



## zirias@ (Apr 17, 2021)

aragats and christhegeek, it just depends on where you're coming from.

Comparing FreeBSD 13 with earlier versions, there's nothing "worse" about touchpads, so, no need to complain. Comparing it with other operating systems, your conclusion might be different.

Still, maybe avoid things like "you are pointless"…


----------



## SirDice (Apr 17, 2021)

aragats said:


> Well, _iichid_ didn't exist in the 12


sysutils/iichid


```
IGNORE_FreeBSD_11=	Requires FreeBSD 12.1 or later
IGNORE_FreeBSD_13=	Is a part of base system
IGNORE_FreeBSD_14=	Is a part of base system
```


----------



## aragats (Apr 17, 2021)

Yeah, maybe I'm wrong about its non-existence in the 12, but it was version 0.0.1, which wasn't suitable for many hardware implementations. I submitted a couple of issues (found in Dell Precision 75xx), then _*wulf7*_ fixed them, so I had to use his repo to build.


----------



## sidetone (Apr 17, 2021)

SirDice said:


> ```
> IGNORE_FreeBSD_11=    Requires FreeBSD 12.1 or later
> IGNORE_FreeBSD_13=    Is a part of base system
> IGNORE_FreeBSD_14=    Is a part of base system
> ```


So this is in iichid's Makefile. Maybe iichid isn't updated yet for the online (non ports) manpages for 13.

I'm running 12.2, and sysutils/iichid has been in ports for a while. I tried it before, and it made my keyboard act inconsistently, because it conflicted with uhid.

According to https://www.freebsd.org/releases/13.0R/relnotes/ and https://cgit.freebsd.org/src/commit/?id=b62f6dfaed3d, for FreeBSD 13.0, usbhid can be enabled in place of uhid(4), ums, and ukbd drivers. It says that usbhid uses a hid framework that's different than in previous FreeBSD versions. The link to the hid manpage is still empty, and there's nothing else there when searching. The framework usbhid uses for HID in 13.0 isn't specified. A manpage for usbhid(3) is in 12.2 as well, perhaps a different usbhid, or the same one on top of a different framework.

What's the relation between uhid and usbhid, and is that is a different relation in the next major releases? What did usbhid use as a framework in 12? Was it libusb?

For FreeBSD 13.0, does usbhid use iichid as its framework? The framework referred to as a nonexistent "hid".


----------



## TempleBSD (May 11, 2021)

My MacBook's Touchpad also did not want to work with 13. I traced the issue back to the default use of evdev, so the fix is to disable that unless you have a configuration which requires it (in which case you're SOL). No idea which runtime options can do that, I always build a custom kernel and therefore remove the entries containing evdev from my config. Touchpad only worked when no special drivers were attached (using the ums driver which only has basic functions) but without evdev the atp/wsp driver attaches and X grabs the correct device => working scroll, tap to click and so on.


----------



## Vladimir Kondratyev (May 11, 2021)

TempleBSD said:


> My MacBook's Touchpad also did not want to work with 13. I traced the issue back to the default use of evdev, so the fix is to disable that unless you have a configuration which requires it (in which case you're SOL). No idea which runtime options can do that, I always build a custom kernel and therefore remove the entries containing evdev from my config. Touchpad only worked when no special drivers were attached (using the ums driver which only has basic functions) but without evdev the atp/wsp driver attaches and X grabs the correct device => working scroll, tap to click and so on.


Did you try patch from https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252236 ?


----------



## Barney (May 11, 2021)

aragats said:


> How this contradicts my point? The _iichid_ wasn't a part of the system, now it is ― good! (I know that driver, I had to compile it from Wulf's repo).
> 
> Most touchpads need special configuration if you want to use them to the full extent (multifinger, scroll etc.).
> Honestly, almost everything needs special configuration, e.g. when you insert an HDMI cable, it's not going to display anything on your TV automagically.
> ...


Of course they work out of the box on Linux, so it seems the premise here is wrong. They're getting there; a half decade behind as usual.


----------



## covacat (May 11, 2021)

99% of non apple touchpads suck regardless of the OS
</richard krajicek>


----------



## TempleBSD (May 11, 2021)

Vladimir Kondratyev said:


> Did you try patch from https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252236 ?


I did not find that bugzilla during my search, I thought that this surely would take some time to get picked up by a dev. Would you like me to test the fix for you or see if its compatible with my Mac? I run a late 2011 13" model. The page is titled for atp but the fix for wsp, which I would like to switch to anyway. Better sysctl config. For some reason, the wsp driver does not attach with my kernel currently but that is out of scope and to be debugged solely by me


----------



## Vladimir Kondratyev (May 11, 2021)

TempleBSD said:


> Would you like me to test the fix


Yes. Absence of testing blocks it from committing to a base.


TempleBSD said:


> or see if its compatible with my Mac? I run a late 2011 13" model.


I need to know device's USB VID/PID to see if it compatible with. `usbconfig dump_all_desc` command output would be helpfull.


TempleBSD said:


> The page is titled for atp but the fix for wsp, which I would like to switch to anyway. Better sysctl config.


Unfortunately, atp is too over-engineered to fix it. So bugzilla attachment patches wsp and adds one more driver that works over the hid subsystem and is called bcm5974. usbhid(4) is required to be enabled to use it.


TempleBSD said:


> For some reason, the wsp driver does not attach with my kernel currently but that is out of scope and to be debugged solely by me


Is it failed to probe? Or failed to attach?


----------



## Dayhoku (May 11, 2021)

christhegeek said:


> FreeBSD 13 is awesome top performance everything is good except of that one thing........Touchpads !
> My laptop's touchpad doesn't want to work,to make it work i have to use iichid and do some configuring.


yes, you're right....


----------



## TempleBSD (May 12, 2021)

Vladimir Kondratyev said:


> Yes. Absence of testing blocks it from committing to a base.


Sure, lets do that then. Wanna use pm to not hijack this thread?


Vladimir Kondratyev said:


> I need to know device's USB VID/PID to see if it compatible with. `usbconfig dump_all_desc` command output would be helpfull.


Output attached below.


Vladimir Kondratyev said:


> Unfortunately, atp is too over-engineered to fix it. So bugzilla attachment patches wsp and adds one more driver that works over the hid subsystem and is called bcm5974. usbhid(4) is required to be enabled to use it.


Sounds very nice! Should I build a kernel with evdev in it then? Anything specifically required to be enabled? See below why redoing mine is needed anyway.


Vladimir Kondratyev said:


> Is it failed to probe? Or failed to attach?


Failed to not be stupid (me). I compiled wsp and atp into the kernel with "device atp" and "device wsp" which might have been a mistake as now I get some weird errors when starting up, which confuse me because they signal that an autoload is triggered but its trying to autoload modules that as the boot process also notes are present.
`Autoloading module: wsp.ko interface wsp.1 already present in the KLD 'kernel'!
linker_load_file: /boot/kernel/wsp.ko - unsupported file ty
kldload: an error occurred while loading module wsp.ko. Please check dmesg(8) for more details.`
When hint-disabling atp, no driver attaches. Gonna compile a kernel without these two options and then just load wsp as usual. That takes a bit on the little 2C/4T laptop and therefore has been postponed so far.


----------



## Vladimir Kondratyev (May 12, 2021)

TempleBSD said:


> Sure, lets do that then. Wanna use pm to not hijack this thread?


Bugzilla is better place to continue.


TempleBSD said:


> Output attached below.


Both wsp and bcm5974 should support 0x05ac:0x0253 device


TempleBSD said:


> Sounds very nice! Should I build a kernel with evdev in it then? Anything specifically required to be enabled? See below why redoing mine is needed anyway.


`options EVDEV_SUPPORT` must be enabled in kernel config for wsp to work. As it automatically adds dependence on evdev, you may add `device evdev` too.


TempleBSD said:


> Failed to not be stupid (me). I compiled wsp and atp into the kernel with "device atp" and "device wsp"


Don`t do that. Exclude wsp, atp, ums and usbhid drivers from your kernel config and add preferred one to /boot/loader.conf. It is simplest way to give a particular competing driver some priority over others.
Note: to enable usbhid, and bcm5974 than, you should add `hw.usb.usbhid.enable=1` to /boot/loader.conf as well


----------

