vrolife / modern_laptop

Redmi Book Pro 14/15 2022 锐龙版/Ryzen Linux 键盘驱动/keyboard driver
GNU Affero General Public License v3.0
241 stars 16 forks source link

Help with TM2309-Redmi_Book_Pro_16_2024 #96

Open uselessfire opened 3 months ago

uselessfire commented 3 months ago

Hello. Can you please help with TM2309-Redmi_Book_Pro_16_2024? BIOS version RMAMT6B0P0808 It has the same exception with dmic (sound works only with dmic_detect=0, but not microphone).

I tried to patch my ACPI table like your script do (part with AcpDmicConnected), but faced into problems.

I dumped my ACPI tables with acpidump -b (acpi_dump.zip)

Then tried to disassemble sorted ssdt*.dat files like your script do, but it fails with error:

Firmware Error (ACPI): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS03._UPC], AE_ALREADY_EXISTS (20230628/dswload-495) ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20230628/psobject-372) Could not parse ACPI tables, AE_ALREADY_EXISTS

After disassembling each file apart, i found that _SB_.PC00.XHCI.RHUB.HS03 device can be found in ssdt24.dat, and tried to disassemble all ssdt*.dat files without ssdt24.dat. It works, i received dsdt.dsl.zip file which not contains ssdt24.dat.

Then i patched it by myself with various patches from your repository More specifically i done: -DefinitionBlock ("", "DSDT", 1, "XMCC ", "XMCC2019", 0x00000002) +DefinitionBlock ("", "DSDT", 1, "XMCC ", "XMCC2019", 0x00000003) And added + Name (_DSD, Package (0x02) // _DSD: Device-Specific Data + { + ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, + Package (0x01) + { + Package (0x02) + { + "AcpDmicConnected", + One + } + } + }) to two HS05 device blocks (i can't found ACP device, but HS05 device has the same address by Name (_ADR, 0x05) // _ADR: Address, like in your patches)

Then i tried to compile resulted dsdt.dsl with iasl -ve dsdt.dsl, but it fails with error: dsdt.dsl 743: External (_SB_.PC00.XHCI._PS0.PS0X, MethodObj) // 0 Arguments Error 6163 - ^ Object is created temporarily in another method and cannot be accessed (_SB_.PC00.XHCI._PS0.PS0X)

dsdt.dsl 744: External (_SB_.PC00.XHCI._PS3.PS3X, MethodObj) // 0 Arguments Error 6163 - ^ Object is created temporarily in another method and cannot be accessed (_SB_.PC00.XHCI._PS3.PS3X)

dsdt.dsl 1072: External (_SB_.PC02.XHCI._PS0.PS0X, MethodObj) // 0 Arguments Error 6163 - ^ Object is created temporarily in another method and cannot be accessed (_SB_.PC02.XHCI._PS0.PS0X)

dsdt.dsl 1073: External (_SB_.PC02.XHCI._PS3.PS3X, MethodObj) // 0 Arguments Error 6163 - ^ Object is created temporarily in another method and cannot be accessed (_SB_.PC02.XHCI._PS3.PS3X)

ASL Input: dsdt.dsl - 3274817 bytes 56426 keywords 0 source lines

Compilation failed. 4 Errors, 88 Warnings, 1135 Remarks No AML files were generated due to compiler error(s)

Also tried iasl -va dsdt.dsl, the same error.

Can you please help with this laptop? I ready to provide all information that you need. Also can pay for it if needed (email me by uselessfire@gmail.com).

Laptop also has issue with multimedia keys on F7, F8, F9, and "settings" button on the top right edge of the keyboard, it all provides the same ACPI event wmi PNP0C14:00 00000020 00000000.

Desktop (please complete the following information):

Log dmesg.log

vrolife commented 3 months ago

AcpDmicConnected should only be effective on AMD's acp6x platforms, whereas your CPU is from Intel.

uselessfire commented 3 months ago

Okay, so can you help me? Issue seems to be similar. I tried many snd-hda-intel model= and other module parameters, various kernels and versions, various distributives, none of them worked. It be very helpful for community of Redmibook Pro users on Linux.

vrolife commented 3 months ago

I might not be able to assist much without the hardware to reproduce this issue.

uselessfire commented 3 months ago

I can provide all information you need. Or could you tell me which direction to go to resolve this issue? What could be causing this?

uselessfire commented 3 months ago

Just booted Windows and installed all updated, including BIOS firmware. Now it's version is RMAMT6B0P0909, but the issue is still here

vrolife commented 3 months ago

Find some useful information https://tech-docs.system76.com/models/lemp13/README.html#lemur-pro-lemp13 https://github.com/system76/firmware-open/blob/master/models/lemp13/hda_verb.c

uselessfire commented 3 months ago

It's for ALC245, but i have 8086:7e28 ALC256.

uselessfire commented 3 months ago

Also i tried Pop_OS! by System76, microphone doesn't work with or without snd-hda-intel dmic_detect=0 and snd-intel-dspcfg dsp_driver=1