https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282588

--- Comment #2 from Rodrigo Osorio <[email protected]> ---
I continue the investigation on this issue with Claude LLM
and that's what he discovers:

The motherboard supports several touchpad models (Synaptics, Elan, Cirque,
Focaltech, Goodix).
Consequently, the firmware defers the selection until runtime:
the _INI method queries the embedded controller (EC),
determines the actual model installed, and then writes
the correct _HID and I²C address to the namespace. 

If the _INI method does not complete execution,
_HID remains XXXX0000 and BADR remains zero.
This corresponds exactly to the symptom.

There is no driver issue here, but a wrong ECDT Namepath

```
devinfo -v | grep -i -B2 ELAN
        ig4iic0 <Intel Alder Lake-P I2C Controller-0> pnpinfo vendor=0x8086
device=0x51e8 subvendor=0x17aa subdevice=0x384b class=0x0c8000 at slot=21
function=0 dbsf=pci0:0:21:0 handle=\_SB_.PC00.I2C0
          iicbus14 <Philips I2C bus (ACPI-hinted)>
            iichid0 <ELAN06FA:00 04F3:327E I2C HID device> pnpinfo
_HID=ELAN06FA _UID=0 _CID=PNP0C50 at addr=0x15 handle=\_SB_.PC00.I2C0.TPD0
              hidbus4 <HID bus>
                hms1 <ELAN06FA:00 04F3:327E Mouse> pnpinfo page=0x0001
usage=0x0002 bus=0x18 vendor=0x04f3 product=0x327e version=0x0004 _HID=ELAN06FA
at index=0
                unknown pnpinfo page=0xff00 usage=0x0001 bus=0x18 vendor=0x04f3
product=0x327e version=0x0004 _HID=ELAN06FA at index=1
                hmt0 <ELAN06FA:00 04F3:327E TouchPad> pnpinfo page=0x000d
usage=0x0005 bus=0x18 vendor=0x04f3 product=0x327e version=0x0004 _HID=ELAN06FA
at index=2
                hconf0 <ELAN06FA:00 04F3:327E Configuration> pnpinfo
page=0x000d usage=0x000e bus=0x18 vendor=0x04f3 product=0x327e version=0x0004
_HID=ELAN06FA at index=3
```

```
sudo i2c -f /dev/iic14 -s -v
Scanning I2C devices on /dev/iic14:
15
```

Dumping the ECDT table

```
sudo acpidump -b -n ECDT && iasl -d ecdt.dat
 grep Namepath ecdt.dsl
Namepath : "_SB.PC00.LPCB.EC0"
```

The initial \ is missing from the Namepath.

I was able to make it work on my computer using a the following sequence
```
sudo kenv acpiprobe.run_ini=1
sudo kldload ./acpiprobe.ko    # custom module who execute
AcpiEvaluateObject(TPD0, "_INI")
sudo kldunload acpiprobe && sudo kenv -u acpiprobe.run_ini
sudo kldunload ig4 && sudo kldload ig4
```

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to