Dell Latitude 7220 Rugged Tablet - PS/2 Touchpad Not Detected in FreeBSD 14.3

The touchpad on my Dell Latitude 7220 Rugged Tablet (with attached keyboard dock) is not being detected in FreeBSD 14.3-RELEASE, despite working perfectly in Debian 13. The touchpad appears to be a PS/2 device but FreeBSD's kernel is not initializing the PS/2 AUX port.

## Hardware Details
- **Device**: Dell Latitude 7220 Rugged Tablet
- **Keyboard Dock**: Dell detachable keyboard with integrated touchpad
- **Touchpad Hardware ID**: DLL093D (Dell touchpad)
- **ACPI PNP ID**: PNP0F13 (PS/2 Mouse)

## Working Configuration in Debian 13
In Debian, the touchpad works as a standard PS/2 mouse:
Code:
# From Debian dmesg:
[    0.828844] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
[    0.831089] serio: i8042 KBD port at 0x60,0x64 irq 1
[    0.831095] serio: i8042 AUX port at 0x60,0x64 irq 12
[    1.786835] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i8042/serio1/input/input5

# From /proc/bus/input/devices:
I: Bus=0011 Vendor=0002 Product=0005 Version=0000
N: Name="ImPS/2 Generic Wheel Mouse"
P: Phys=isa0060/serio1/input0

## FreeBSD 14.3 Behavior
The PS/2 keyboard controller is detected, but only the keyboard port is initialized - the AUX (mouse) port is never set up:

Code:
# From FreeBSD dmesg:
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
# Note: No psm0 device is created

# The ACPI device is recognized but not attached:
$ sysctl dev.psmcpnp.0
dev.psmcpnp.0.%parent: acpi0
dev.psmcpnp.0.%pnpinfo: _HID=DLL093D _UID=0 _CID=PNP0F13
dev.psmcpnp.0.%location: handle=\_SB_.PCI0.LPCB.PS2M
dev.psmcpnp.0.%driver: psmcpnp
dev.psmcpnp.0.%desc: PS/2 mouse port

## Attempted Solutions
I've tried various configurations without success:

### /boot/loader.conf
Code:
hw.psm.synaptics_support=1
hw.psm.elantech_support=1
hw.psm.trackpoint_support=1
hw.psm.mux_disabled=0
hw.atkbdc.broken_kit_cmd=1
hint.psm.0.at="atkbdc"
hint.psm.0.irq="12"

### /boot/device.hints
Code:
hint.psm.0.at="atkbdc"
hint.psm.0.irq="12"
hint.psm.0.flags="0x0100"  # Also tried 0x0200

### Also tried:
- Disabling moused (`sysrc moused_enable=NO`)
- Forcing ISA attachment instead of ACPI
- Various psm flags (0x0100, 0x0200)
- Loading additional modules (ums, uhid, evdev)

## Additional Information
- The touchpad is NOT connected via USB (verified with `usbconfig`)
- No I2C HID devices detected (tried loading ig4, iichid modules)
- The touchscreen (eGalaxTouch) works fine via USB HID
- libinput only shows "System mouse" which produces no events
- DMI info shows: "Built-in Pointing Device, Type: Touch Pad, Interface: Bus Mouse, Buttons: 2"

## ACPI DSDT Extract
Code:
Name (P2MN, "DLL093D")
Device (PS2M)
{
    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
    {
        Return (P2MN) /* \_SB_.PCI0.LPCB.P2MN */
    }
    Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */)  // _CID: Compatible ID
    Method (_STA, 0, NotSerialized)  // _STA: Status
    {
        Return (0x0F)
    }
}

## Question
It appears the FreeBSD kernel is not initializing the PS/2 AUX port on the i8042 controller, even though the ACPI information is present and correct. The same hardware works in Linux, suggesting this is a FreeBSD-specific issue with this Dell model.

Is there a known issue with PS/2 AUX port initialization on Dell Latitude 7220 or similar models? Are there any kernel patches or additional configuration options I should try?

## System Information
Code:
$ uname -a
FreeBSD rr 14.3-RELEASE FreeBSD 14.3-RELEASE releng/14.3-n271432-8c9ce319fef7 GENERIC amd64

$ freebsd-version
14.3-RELEASE

Any help or suggestions would be greatly appreciated!
 
sysrc moused_enable="YES"

For PS/2 mice moused(8) has to be started, this happens 'automagically' for USB mice through devd(8) (see /etc/devd/moused.conf)
 
Thanks for the verbose boot suggestion! Here is what i found:

Code:
psm0: unable to allocate IRQ
psmcpnp0: <PS/2 mouse port> irq 12 on acpi0
psm0: current command byte:0065
kbdc: TEST_AUX_PORT status:ffffffff
kbdc: DIAGNOSE status:0055
kbdc: TEST_KBD_PORT status:0000
psm0: the aux port is not functioning (-1).

The key issues are:
1. **`psm0: unable to allocate IRQ`** - psm0 can't allocate IRQ 12 (though psmcpnp0 claims it successfully)
2. **`TEST_AUX_PORT status:ffffffff`** - The AUX port test returns all 1's, suggesting the port isn't responding

For comparison, the same hardware works fine in Debian 13:
Code:
[    0.828844] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
[    0.831095] serio: i8042 AUX port at 0x60,0x64 irq 12
[    1.786835] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i8042/serio1/input/input5
 
Some progress

The key was addressing the IRQ allocation issue. By adding this to /boot/device.hints:
Code:
hint.psm.0.irq="5"
hint.psm.0.flags="0x1000"

Even though I specified IRQ 5, the device still initializes with IRQ 12, but this workaround bypassed whatever was blocking the allocation. Now I get:

Code:
psm0: <PS/2 Mouse> flags 0x1000 irq 12 on atkbdc0
psm0: model IntelliMouse, device ID 3-00, 3 buttons
psm0: config:00001000, flags:00000008, packet size:4

And /dev/psm0 exists!

## Current Issue

The touchpad is detected but not producing any input events. When running:
- cat /dev/psm0 - No data when touching/moving the touchpad
- moused -d -f -p /dev/psm0 - Attaches successfully but no movement detected

Any suggestions ?
 
Anyone willing to help fix this touchpad issue for payment? I've been stuck on this for a while and could really use someone with more kernel driver experience.

I can offer two options: either set up remote sshx access and pay you for your time, or I can ship you a Dell Latitude 7220 tablet that you'd keep as payment.

If you're familiar with PS/2 driver issues and think you can get the AUX port working, let me know. Would really appreciate the help.
 
or I can ship you a Dell Latitude 7220 tablet that you'd keep as payment.
I'm interested! I'd run FreeBSD on it primarily, and would want the touchpad working and would try any loader/sysctl/UEFI var/etc I find until it works :p And I'd document it too!

It's about the same specs as my main computer (gen 8, Intel UHD), but I like tablets and haven't had one in a few years; I'm very interested in getting a FreeBSD set-up on it for some games and general desktop use! Along with the touchpad, I'd write up tweaks for it and be able to write general notes for touchscreen with being able to real-time test; it sounds fun!

If I can't get the touchpad working in reasonable time, I can ship it back too. It sounds like an interesting challenge and I want the experience :p
 
I've decided to put a pause on getting this working for now in favour of debian for the time being. I'll post any updates here when i get back to it.
 
Back
Top