Bug 115191
Description
Stace A. Zacharov
2016-03-23 11:19:20 UTC
Created attachment 210371 [details]
Output of acpidump
Created attachment 210381 [details]
Original DSDT table
Created attachment 210391 [details]
Decompiled with: iasl -e ssdt*.dat -d dsdt.dat
# ls -lR /sys/firmware/acpi/tables/
/sys/firmware/acpi/tables/:
итого 0
-r-------- 1 root root 108 марта 23 17:14 APIC
-r-------- 1 root root 189 марта 23 17:14 BCFG
-r-------- 1 root root 56 марта 23 17:14 BGRT
-r-------- 1 root root 332 марта 23 17:14 CSRT
-r-------- 1 root root 77660 марта 23 17:14 DSDT
drwxr-xr-x 2 root root 0 марта 23 17:14 dynamic
-r-------- 1 root root 268 марта 23 17:14 FACP
-r-------- 1 root root 68 марта 23 17:14 FPDT
-r-------- 1 root root 56 марта 23 17:14 HPET
-r-------- 1 root root 260 марта 23 17:14 LPIT
-r-------- 1 root root 60 марта 23 17:14 MCFG
-r-------- 1 root root 85 марта 23 17:14 MSDM
-r-------- 1 root root 1539 марта 23 17:14 SSDT1
-r-------- 1 root root 9303 марта 23 17:14 SSDT2
-r-------- 1 root root 88 марта 23 17:14 SSDT3
-r-------- 1 root root 255 марта 23 17:14 SSDT4
-r-------- 1 root root 1891 марта 23 17:14 SSDT5
-r-------- 1 root root 656 марта 23 17:14 SSDT6
-r-------- 1 root root 378 марта 23 17:14 SSDT7
-r-------- 1 root root 1063 марта 23 17:14 SSDT8
-r-------- 1 root root 50 марта 23 17:14 TCPA
-r-------- 1 root root 52 марта 23 17:14 TPM2
-r-------- 1 root root 66 марта 23 17:14 UEFI
/sys/firmware/acpi/tables/dynamic:
итого 0
-r-------- 1 root root 1075 марта 23 17:14 SSDT10
-r-------- 1 root root 351 марта 23 17:14 SSDT11
-r-------- 1 root root 141 марта 23 17:14 SSDT12
-r-------- 1 root root 1281 марта 23 17:14 SSDT9
Created attachment 211941 [details]
dmesg output from 4.4.5 kernel
Some progress with patched 4.4.5 kernel & CONFIG_XPOWER_PMIC_OPREGION=y
Now I don't have this messages & have worked /sys/class/power_supply/ADP1/online
But its all:
---
stace@lin-acer10:/boot$ cat /sys/class/power_supply/ADP1/uevent
POWER_SUPPLY_NAME=ADP1
POWER_SUPPLY_ONLINE=1
---
I don't see battery ;(
Created attachment 211951 [details]
Config of 4.4.5 kernel
Is IDTP9145 chip supported by Linux ? How to turn it on? Windows 10 drivers for this model contained file idtp9145.inf with strings: --- ... Driver_Service.Desc = "Intel(R) Power Management IC Device Service" IDTP9145.DeviceDesc.IDTP9145 ="IDT P9145 Device" ... %IDTP9145.DeviceDesc.IDTP9145%=Driver, ACPI\VEN_INT&DEV_33FD&REV_FFFF ... --- I build 4.6-rc3 kernel with new patches: 1) https://cgit.freedesktop.org/cgit/?url=~miku/drm-intel/commit/&h=rc6_test&id=7e6c3f36563d133cff5b700d9c36b12ac2a0c643, 2) https://cgit.freedesktop.org/~miku/drm-intel/commit/?h=rc6_test&id=b2f08adb19fcb18fea7cda9908fa52e2b9db5e7f 3) https://cgit.freedesktop.org/~miku/drm-intel/commit/?h=rc6_test&id=e564271291fa70265b53fa34c01cbb0ae6282e81 And have some devices recognized: --- # ls -l /sys/devices/platform/80860F41:04/i2c-4/i2c-INT33FD:00 drwxr-xr-x 3 root root 0 Apr 15 20:04 crystal_cove_adc drwxr-xr-x 3 root root 0 Apr 15 20:04 crystal_cove_bcu drwxr-xr-x 3 root root 0 Apr 15 20:04 crystal_cove_gpio drwxr-xr-x 3 root root 0 Apr 15 20:04 crystal_cove_pmic drwxr-xr-x 4 root root 0 Apr 15 20:04 crystal_cove_pwm drwxr-xr-x 3 root root 0 Apr 15 20:04 crystal_cove_pwrsrc drwxr-xr-x 3 root root 0 Apr 15 20:04 crystal_cove_thermal lrwxrwxrwx 1 root root 0 Apr 15 20:04 driver -> ../../../../../bus/i2c/drivers/intel_soc_pmic_i2c lrwxrwxrwx 1 root root 0 Apr 15 20:04 firmware_node -> ../../../../LNXSYSTM:00/LNXSYBUS:00/80860F41:04/INT33FD:00 drwxr-xr-x 3 root root 0 Apr 15 20:04 gpio drwxr-xr-x 3 root root 0 Apr 15 20:04 gpiochip3 -r--r--r-- 1 root root 4096 Apr 15 20:04 modalias -r--r--r-- 1 root root 4096 Apr 15 20:04 name drwxr-xr-x 2 root root 0 Apr 15 20:04 power lrwxrwxrwx 1 root root 0 Apr 15 20:04 subsystem -> ../../../../../bus/i2c -rw-r--r-- 1 root root 4096 Apr 15 20:04 uevent --- But no battery status: --- root@lin-acer10:~# upower -i root@lin-acer10:~# upower -d DDevice: /org/freedesktop/UPower/devices/line_power_ADP1 native-path: ADP1 power supply: yes updated: Fri Apr 15 19:25:13 2016 (2608 seconds ago) has history: no has statistics: no line-power online: yes Daemon: daemon-version: 0.9.23 can-suspend: no can-hibernate: yes on-battery: no on-low-battery: no lid-is-closed: no lid-is-present: yes is-docked: no --- In dmesg: --- ... [ 0.588290] gpiochip_find_base: found new base at 410 [ 0.588402] gpio gpiochip0: (INT33FC:00): added GPIO chardev (254:0) [ 0.588564] gpiochip_setup_dev: registered GPIOs 410 to 511 on device: gpiochip0 (INT33FC:00) [ 0.589436] gpiochip_find_base: found new base at 382 [ 0.589541] gpio gpiochip1: (INT33FC:01): added GPIO chardev (254:1) [ 0.589693] gpiochip_setup_dev: registered GPIOs 382 to 409 on device: gpiochip1 (INT33FC:01) [ 0.590119] gpiochip_find_base: found new base at 338 [ 0.590260] gpio gpiochip2: (INT33FC:02): added GPIO chardev (254:2) [ 0.590395] gpiochip_setup_dev: registered GPIOs 338 to 381 on device: gpiochip2 (INT33FC:02) ... [ 4.006760] intel_soc_pmic_i2c i2c-INT33FD:00: probe [ 4.006805] intel_soc_pmic_i2c i2c-INT33FD:00: GPIO lookup for consumer intel_soc_pmic [ 4.006810] intel_soc_pmic_i2c i2c-INT33FD:00: using ACPI for GPIO lookup [ 4.006815] acpi INT33FD:00: GPIO: looking up intel_soc_pmic-gpios [ 4.006821] acpi INT33FD:00: GPIO: looking up intel_soc_pmic-gpio [ 4.006825] acpi INT33FD:00: GPIO: looking up 0 in _CRS [ 4.006886] intel_soc_pmic_i2c i2c-INT33FD:00: using lookup tables for GPIO lookup [ 4.006891] intel_soc_pmic_i2c i2c-INT33FD:00: lookup for GPIO intel_soc_pmic failed [ 4.006901] i2c i2c-4: master_xfer[0] W, addr=0x5e, len=1 [ 4.006905] i2c i2c-4: master_xfer[1] R, addr=0x5e, len=1 [ 4.016167] gpiochip_find_base: found new base at 243 [ 4.016490] gpio gpiochip3: (gpio_crystalcove): added GPIO chardev (254:3) [ 4.017580] gpiochip_setup_dev: registered GPIOs 243 to 337 on device: gpiochip3 (gpio_crystalcove) [ 4.017959] i2c i2c-4: master_xfer[0] W, addr=0x5e, len=1 [ 4.017966] i2c i2c-4: master_xfer[1] R, addr=0x5e, len=1 [ 4.022980] i2c i2c-4: master_xfer[0] W, addr=0x5e, len=2 [ 4.032013] i2c i2c-4: client [INT33FD:00] registered with bus id i2c-INT33FD:00 [ 4.035414] [Firmware Bug]: No valid trip found [ 4.038776] Magic number: 12:768:133 ... Created attachment 212881 [details]
Full dmesg for 4.6-rc3
Created attachment 212901 [details]
Kernel config for 4.6-rc3
Created attachment 212921 [details]
Full dmesg for 4.4.6 from Ubuntu with same patches
Created attachment 212931 [details]
Config of 4.4.6 kernel
Same Problem here with Archlinux and Kernel 4.5.2. on a Asus eeePC 1005PX. In the archlinux.org forum is a topic about this problem on several note-/netbook models like eeePC 1015PX and Macbook Pro. The lts kernel 4.4.8 works fine. hmm, what issue do you have after CONFIG_XPOWER_PMIC_OPREGION=y? the only problem is that battery information is missing, right? Please make sure CONFIG_PINCTRL_BAYTRAIL is set. CONFIG_PINCTRL_BAYTRAIL is set in all configs: --- root@lin-acer10:/home/stace# grep CONFIG_PINCTRL_BAYTRAIL /boot/config-4.* /boot/config-4.4.0-21-generic:CONFIG_PINCTRL_BAYTRAIL=y /boot/config-4.4.0-22-generic:CONFIG_PINCTRL_BAYTRAIL=y /boot/config-4.4.8-acer10-v2:CONFIG_PINCTRL_BAYTRAIL=y /boot/config-4.4.8-acer10-v3:CONFIG_PINCTRL_BAYTRAIL=y /boot/config-4.6.0-rc5-acer10-drm-intel-v1:CONFIG_PINCTRL_BAYTRAIL=y /boot/config-4.6.0-rc5-acer10-drm-intel-v2:CONFIG_PINCTRL_BAYTRAIL=y /boot/config-4.6.0-rc5-acer10-drm-intel-v3:CONFIG_PINCTRL_BAYTRAIL=y /boot/config-4.6.0-rc5-acer10-v1:CONFIG_PINCTRL_BAYTRAIL=y --- Answer to first question: Main issue - battery information. I try all current kernels including drm-intel (4.6.0-rc5) and "Ubuntu 4.4.0-22.39-generic 4.4.8" with this config, but nothing changed. Battery info & suspend/resume is very critical for me. Not critical for me, but also not worked: 1) Internal sound - Bluetooth sound works 2) Backlight control But, "cat /sys/class/backlight/intel_backlight/actual_brightness" show 100 if screen on, and 0 if screen off. 3) Both cameras not worked also please attach the output of "ls /sys/bus/acpi/drivers/battery/" root@lin-acer10:/home/stace# ls /sys/bus/acpi/drivers/battery/ bind uevent unbind root@lin-acer10:/home/stace# LC_TIME=C ls -l /sys/bus/acpi/drivers/battery/ итого 0 --w------- 1 root root 4096 May 10 15:21 bind --w------- 1 root root 4096 May 10 15:21 uevent --w------- 1 root root 4096 May 10 15:21 unbind root@lin-acer10:/home/stace# Created attachment 215751 [details] dmesg from latest drm-intel-next Source: http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-intel-next/2016-05-09-wily/ Compiled without any additional patches (Internal WiFi & Bluetouth not work) Created attachment 215761 [details]
Config of latest drm-intel-next kernel
Created attachment 215891 [details]
debug patch to probe battery driver after GPIO driver probed
Please apply this patch and check if the battery information is available.
Created attachment 215911 [details]
dmesg from same kernel with patch
Working! Thank you so much!!!
"ACPI: Battery Slot [BATC] (battery present)"
---
root@lin-acer10:/var/log# LC_ALL=C ls -l /sys/bus/acpi/drivers/battery/
total 0
lrwxrwxrwx 1 root root 0 May 11 13:03 PNP0C0A:00 -> ../../../../devices/LNXSYSTM:00/LNXSYBUS:00/80860F41:00/PNP0C0A:00
--w------- 1 root root 4096 May 11 13:03 bind
--w------- 1 root root 4096 May 11 13:03 uevent
--w------- 1 root root 4096 May 11 13:03 unbind
root@lin-acer10:/boot# LC_ALL=C upower -d
Device: /org/freedesktop/UPower/devices/battery_BATC
native-path: BATC
vendor: LION
model: Battery
serial: Battery
power supply: yes
updated: Wed May 11 13:02:42 2016 (736 seconds ago)
has history: yes
has statistics: yes
battery
present: yes
rechargeable: yes
state: fully-charged
energy: 27.232 Wh
energy-empty: 0 Wh
energy-full: 27.232 Wh
energy-full-design: 31.08 Wh
energy-rate: 0.2738 W
voltage: 4.149 V
percentage: 100%
capacity: 87.619%
technology: lithium-ion
Device: /org/freedesktop/UPower/devices/line_power_ADP1
native-path: ADP1
power supply: yes
updated: Wed May 11 13:02:37 2016 (741 seconds ago)
has history: no
has statistics: no
line-power
online: yes
Daemon:
daemon-version: 0.9.23
can-suspend: no
can-hibernate: yes
on-battery: no
on-low-battery: no
lid-is-closed: no
lid-is-present: yes
is-docked: no
root@lin-acer10:/boot#
---
Suspend & hibernate does not work ;( Can You help me? When i run "pm-suspend" screen turned off, turned on, and ask me to enter password for session restore. When I run "pm-hibernate" screen turned off, turned on, and system hung. I need to press "power" key for 10 seconds to switch system off. Next boot i have message about "System error" in suspend/resume processing. I try latest drm-intel-next kernel and Ubuntu latest 4.4.8 kernel (Ubuntu 4.4.0-22.39-generic 4.4.8) with your patch. Ending lines in /var/log/pm-suspend.log: --- ... Running hook /usr/lib/pm-utils/sleep.d/98video-quirk-db-handler hibernate hibernate: Kernel modesetting video driver detected, not using quirks. /usr/lib/pm-utils/sleep.d/98video-quirk-db-handler hibernate hibernate: success. Running hook /usr/lib/pm-utils/sleep.d/99video hibernate hibernate: /usr/lib/pm-utils/sleep.d/99video hibernate hibernate: success. Running hook /etc/pm/sleep.d/novatel_3g_suspend hibernate hibernate: /etc/pm/sleep.d/novatel_3g_suspend hibernate hibernate: success. Ср. мая 11 16:51:55 NOVT 2016: performing hibernate --- Things are not so good. Periodically there are errors, then the system says that the battery has reached a critical level (0%). In DMCG it looks like this: --- [ 53.353045] i2c_designware 80860F41:00: i2c_dw_xfer_msg: invalid message length [ 53.757594] i2c_designware 80860F41:00: timeout in disabling adapter [ 53.757621] i2c i2c-0: i2c read failed [ 53.837620] i2c_designware 80860F41:00: timeout waiting for bus ready [ 53.917588] i2c_designware 80860F41:00: timeout waiting for bus ready [ 53.917605] i2c i2c-0: i2c read failed ... [ 53.353045] i2c_designware 80860F41:00: i2c_dw_xfer_msg: invalid message length [ 53.757594] i2c_designware 80860F41:00: timeout in disabling adapter [ 53.757621] i2c i2c-0: i2c read failed [ 53.837620] i2c_designware 80860F41:00: timeout waiting for bus ready [ 53.917588] i2c_designware 80860F41:00: timeout waiting for bus ready [ 53.917605] i2c i2c-0: i2c read failed ... --- Tested on kernel 4.4.8 and 4.6 (In reply to Stace A. Zacharov from comment #21) > Suspend & hibernate does not work ;( > do suspend & hibernate work before applying the patch? If no, this is a different issue. Please file a new bug report. (In reply to Stace A. Zacharov from comment #22) > Things are not so good. Periodically there are errors, then the system says > that the battery has reached a critical level (0%). > In DMCG it looks like this: > --- > [ 53.353045] i2c_designware 80860F41:00: i2c_dw_xfer_msg: invalid message > length > [ 53.757594] i2c_designware 80860F41:00: timeout in disabling adapter > [ 53.757621] i2c i2c-0: i2c read failed > [ 53.837620] i2c_designware 80860F41:00: timeout waiting for bus ready > [ 53.917588] i2c_designware 80860F41:00: timeout waiting for bus ready > [ 53.917605] i2c i2c-0: i2c read failed > ... > [ 53.353045] i2c_designware 80860F41:00: i2c_dw_xfer_msg: invalid message > length > [ 53.757594] i2c_designware 80860F41:00: timeout in disabling adapter > [ 53.757621] i2c i2c-0: i2c read failed > [ 53.837620] i2c_designware 80860F41:00: timeout waiting for bus ready > [ 53.917588] i2c_designware 80860F41:00: timeout waiting for bus ready > [ 53.917605] i2c i2c-0: i2c read failed > ... @lv.zheng@intel.com and @yu.c.chen@intel.com is this the same ACPICA issue? Suspend & hibernate still does not work, but it's the same battery information problem. With your patch battery is determined when loading and charging correctly displayed, but after some time (5 minutes - 2 hours) the system says that the critical charge, and there are such in the log records. After turning off the power and restart, the battery charge display is restored. Yes, I can help to figure out if this is an issue: i2c_dw_xfer_msg: invalid message length Is that possible for you to enable the AML tracer before triggering the above error: # echo "enable" > /sys/module/parameters/acpi/parameters/trace_state Or you could even use it as a boot parameter, if the dmesg output wasn't huge. acpi.trace_state=enable The tracer facility need CONFIG_ACPI_DEBUG to be enabled. Thanks and best regards -Lv Created attachment 219201 [details]
Dmesg from 4.4.8 with "i2c_designware 80860F41:00: i2c_dw_xfer_msg: invalid message length"
dmesg after battery 0%
Created attachment 219211 [details]
dmesg from same kernel before crash
Start of dmesg from same kernel
After restart system show 52% battery charge Hi, I can see this: [ 3169.698437] exdebug-0435 ex_trace_point : Method End [0xffffc9000000f4b5:\_SB.ADP1._PSR] execution. [ 3169.702229] i2c_designware 80860F41:00: i2c_dw_xfer_msg: invalid message length [ 3169.723780] exdebug-0435 ex_trace_point : Method Begin [0xffffc9000000f4b5:\_SB.ADP1._PSR] execution. It is: Method (_PSR, 0, NotSerialized) // _PSR: Power Source { Store (^^I2C1.BATC.PSRC (), Local0) If (LEqual (Local0, One)) { Return (One) } Else { Return (Zero) } } And the PSRC() is: Method (PSRC, 0, NotSerialized) { Store (BQ08, TES2) If (LNotEqual (And (E002, 0x04), Zero)) { Store (0x57, Local0) Store (Local0, XXK1) Store (0x57, Local0) Store (Local0, XXK2) Return (One) } Else { Store (0x57, Local0) Store (Local0, XXK1) Store (0x75, Local0) Store (Local0, XXK2) Return (0x02) } } The named objects accessed in it: BQ08: GenericSerialBus OperationRegion field TES2: Buffer E002: Byte field of TES2 XXK1: SystemIo OperationRegion field So this log is related to BQ08: OperationRegion (DVBQ, GenericSerialBus, Zero, 0x20) Field (DVBQ, BufferAcc, NoLock, Preserve) { Connection (BQBC), AccessAs (BufferAcc, AttribByte), BQ00, 8, BQ01, 8, BQ02, 8, BQ03, 8, BQ04, 8, BQ05, 8, BQ06, 8, BQ07, 8, BQ08, 8, BQ09, 8, BQ0A, 8 } So no additional test steps are required for this issue. Let me dig futher to see if this is an issue in ACPICA. Thanks -Lv Before further confirmation, let me write down something here. The error log is between the ACPI entry method invocations and issued from the i2c ISR. This looks weird to me because there shouldn't be IRQs between the entry methods. Looks like a driver bug to me. Thanks and best regards -Lv All, I am having the same issue on Arch Linux (using the Mainline Kernel. AUR Package: linux-mainline). Is there anything I can do, or any information I can to help resolve this issues? Thanks. Small question to the Lv Zheng: Maybe the problem "IRQs between input methods" to be associated with the chip RTL8723bs Wi-Fi? I noticed a strange thing: with kernels (4.4 and 4.8-rc2) on which WiFi patches (https://github.com/hadess/rtl8723bs) have been installed, battery indication may not be lost in a few hours, while the kernels without these patches battery disappears in a few minutes. P.S. Hibernate works after switching to Ubintu 16.04. Suspend does not work still. Sound and control the brightness of the screen do not work either. This bug still looks like an I2C issue to me. Could you find i2c_designware owner to do a further debugging? I'm re-assigning this to platform specific hardware. Thanks Lv battery still an issue in 2024 (6.6.10), the device is mostly working oob now, just sensors are missing (but not that important) and the battery is not detected, which make it usable with ac adapter only |