after upgrading the system, touchpad unresponsive and keyboard key incorrectly mapping

Hello everyone,

After upgrading the system from FreeBSD 14.3 to 15.0-RELEASE, I came across two issues.

System Details
  • Hardware: MacBook Pro 8,2 (Late 2011)
  • Previous OS: FreeBSD 14.3 (worked perfectly)
  • Current OS: FreeBSD 15.0-RELEASE
Problem 1: Unresponsive Touchpad
The touchpad is no longer responding after the upgrade to 15.0.
Configuration Details:
The following lines are present in my configuration files (which worked in 14.3):
/boot/loader.conf:
wsp_load="YES"

/etc/rc.conf:
moused_enable="YES"
moused_port="/dev/wsp0"

In FreeBSD 14.3, the device /dev/wsp0 was created correctly, and moused ran without issue. After the 15.0 upgrade, /dev/wsp0 is not being created. Instead, the system seems to be defaulting the touchpad hardware to a bcm59740 device. And moused no longer starts.
I believe the issue might be related to how the driver is probing the device during boot in 15.0, or a change in the required configuration parameters. The dmesg output clearly shows the hardware being detected:
# dmesg | grep bcm
bcm59740: <Apple Inc. Apple Internal Keyboard / Trackpad Touchpad> on hidbus5
# dmesg | grep wsp
# (no output)
Problem 2: Incorrect Keyboard Key Mapping
The US English keyboard layout has a key mismatch. The key located directly below the Esc key (usually the "backtick/tilde" key) now produces different characters.
  • Previous behavior: Pressing the key yields ` (grave accent) and using Shift+Key yields ~ (tilde).
  • Current behavior: Pressing the key now yields \ (backslash) and using Shift+Key yields | (pipe).
This suggests a slight change in the default keymap or a change in how the kernel handles the specific hardware scan code for that key on the MacBook Pro keyboard model.

A very weird symptom: when I plug in an external USB wired mouse, the built-in keyboard experiences a severe delay. It requires a delay of two or three seconds between each key press for the input to register.

I would appreciate any advice on how to troubleshoot these issues.

Thank you in advance for your time and assistance.
 
Hi Vladimir Kondratyev,

I was wondering if that 'hw.usb.usbhid.enable=0', which resolved the problems I mentioned, prevents special keyboard function keys (brightness, keyboard light, volume, eject button* etc) to work and if so, what could be done to have these keys working and have the touchpad working as well?

* I had followed the recommendation in this link to have the eject key working and after the upgrade, it, as well as other keys for brightness and keyboard light, ceased to work (curiously, the three volume keys - mute, lower and increase, are still working)
 
You may disable usbhid (4) for single device rather than entirely.
Just comment out 'hw.usb.usbhid.enable=0' and add:
hw.hid.quirk.0="0x03 0xVID 0xPID 0 0xffff HQ_HID_IGNORE"
to /boot/loader.conf. Replace 0xVID and 0xPID with actual device VID and PID that can be found from `usbconfig dump_device_desc` comand output.
hidquirk.ko must be kldloaded as well.
 
Back
Top