Synaptics touchpad not detected - HP EliteBook 8740w

Hello,

I have been trying to get moved over to FreeBSD (PC-BSD) on my HP EliteBook 8740w but I am stuck on not being able to disable tapping on the touchpad.

I checked dmesg and its only listing two IntelliMouse instances. I assume one is for the touchpad and another is for the stick. I have spent a ton of time reading posts and trying different configurations with no luck.

Any suggestions?

Unfortunately, this touchpad issue is a show stopper for me to get migrated over to the BSDs from Suse :(
 
Thanks youngunix. FreeBSD has the same issue and I am currently debugging with FreeBSD. PC-BSD uses FreeBSD as the base so this makes sense.

The issue lies in the FreeBSD kernel and how it is detecting the Synaptics touchpad on my laptop and I have verified this and narrowed down to psm.c.

The biggest challenge is that psm.c has some debug lines that I cannot get to write to logs. I have since been adding custom logging and building a custom kernel to get around this and made some progress.
 
Update on progress...

The procedure that is gating is the procedure psm.c::enable_synaptics(). There is a check after calling get_mouse_status(kbdc, status, 0, 3) for status[1] for hex value 0x47. Interestingly, a similar check is in the linux kernel in synaptics.c::synaptics_detect().

The odd thing about my HP is that it is returning status[1]=0x46 and the code is deciding its not a synpatics touchpad as a result.

I searched the code to see how much impact it would be just to make a tweak to bypass that 0x47 gate but there is a bunch of more similar checks and some bitmasking logic against status[1] so tweaking is likely not the answer.

Does anybody know about atkbdc.c::read_aux_data() which is the source for the status values in psm.c?

Any hints would be appreciated.
 
Back
Top