I am trying to fix the acpi tables on my GemiBook Pro.On a stock Linux (any kernel version) I get ACPI errors in dmesg which lead to the i2c interface not working at all. Following the ACPI errors, I get this error in dmesg
:
[ 2.156560] i2c_designware i2c_designware.0: controller timed out
What I found out so far is that the problem seems to be one of the many I2C controllers on the system. Specifically I2C2.
I found a somewhat incomplete first solution to the problem, which is to dump and disassemble the ACPI tables and edit dsdt.dsl, removing every reference and code block using I2C2. Then using the table upgrade functionality of Linux I end up with working I2C busses (except for I2C2) and thus a working touchpad.
My second attempt was trying to find what exactly is screwing up the I2C2, so I could get that bus working too. I then carefully tried to remove every ACPI error. The last step was to remove a reference to TPL1 in ssdt7.dsl. Now I am stuck. The system still complains about TPL1 symbol not being found, but when I grep through the table's source code I cannot find any more references to TPL1.
These are the errors I get:
[ 0.196920] ACPI BIOS Error (bug): Could not resolve symbol\[\_SB.PC00.I2C2.TPL1], AE_NOT_FOUND (20220331/dswload2-162)\[ 0.196935] fbcon: Taking over console\[ 0.196946] ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20220331/psobject-220)\[ 0.196951] ACPI: Skipping parse of AML opcode: Scope (0x0010)\[ 0.223686] ACPI: 12 ACPI AML tables successfully acquired and loaded\[ 0.232848] ACPI BIOS Error (bug): Could not resolve symbol\[\_SB.PC00.I2C2.TPL1.TDX], AE_NOT_FOUND (20220331/psargs-330)\[ 0.232860] No Local Variables are initialized for Method [_INI]\[ 0.232861] No Arguments are initialized for method [_INI]\[ 0.232863] ACPI Error: Aborting method\_SB.PC00.I2C2._INI due to previous error (AE_NOT_FOUND) (20220331/psparse-529)
The device has buses I2C0 to I2C5 according to the tables. The bios seems to be from 12.2022, so it's fairly new. My kernel Version is 5.19.17 on Ubuntu 22.04.