# Synaptics touchpad not detected - HP EliteBook 8740w



## JavaScriptDude (May 29, 2014)

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


----------



## youngunix (Jun 3, 2014)

This is FreeBSD forums not PC-BSD.
Synaptics Touchpad on PC-BSD.
Synaptics Touchpad on FreeBSD.

Good luck.


----------



## JavaScriptDude (Jun 3, 2014)

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.


----------



## JavaScriptDude (Jun 3, 2014)

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.


----------



## blackmamba (Oct 19, 2015)

Have the same problem with HP Probook 4520s.


----------

