Bug 1610545
Summary: | Battery not charging when Fedora is running with Ezbook 2 (battery INT33F4) | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Dario Balboni <dario.balboni+fedora> | ||||||||
Component: | kernel | Assignee: | Hans de Goede <hdegoede> | ||||||||
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||
Severity: | unspecified | Docs Contact: | |||||||||
Priority: | unspecified | ||||||||||
Version: | rawhide | CC: | airlied, bskeggs, dario.balboni+fedora, ewk, hdegoede, ichavero, itamar, jarodwilson, jglisse, john.j5live, jonathan, josef, kernel-maint, linville, mchehab, mjg59, steved | ||||||||
Target Milestone: | --- | ||||||||||
Target Release: | --- | ||||||||||
Hardware: | x86_64 | ||||||||||
OS: | Linux | ||||||||||
Whiteboard: | |||||||||||
Fixed In Version: | Doc Type: | If docs needed, set a value | |||||||||
Doc Text: | Story Points: | --- | |||||||||
Clone Of: | Environment: | ||||||||||
Last Closed: | 2019-02-26 21:09:50 UTC | Type: | Bug | ||||||||
Regression: | --- | Mount Type: | --- | ||||||||
Documentation: | --- | CRM: | |||||||||
Verified Versions: | Category: | --- | |||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||
Embargoed: | |||||||||||
Attachments: |
|
Description
Dario Balboni
2018-07-31 21:44:02 UTC
Hi, So after some duckduckgo-ing I've learned that there are 2 versions of this laptop, one which comes with a 12V adapter for charging it and one that comes with a 5V adapter, what voltage does your adapter have? Also, while the charger is plugged in can you do: ls /sys/class/extcon cat /sys/class/extcon/extcon*/state And copy and paste the output of both commands please? Regards, Hans Also please run: acpidump -o acpidump.jumper-ezbook2 And attach the generated acpidump.jumper-ezbook2 file here. Created attachment 1472046 [details]
Output of command acpidump, as requested
Hi, My version of the laptop is "Ezbook 2" not "Ezbook 2SE". The adapter is rated 5V, 3A. Model: JHD-AP015E-050300BA-C. The output of said command with the charger plugged in is the following: # ls /sys/class/extcon extcon0 # cat /sys/class/extcon/extcon*/state SDP=0 CDP=0 DCP=1 USB=0 Ok, can you do the following: sudo dnf install i2c-tools sudo modprobe i2c-dev # note the filename may be slightly different ls -l /sys/bus/i2c/devices/i2c-INT33F4:00 This will print something like this: /sys/bus/i2c/devices/i2c-INT33F4:00 -> ../../../devices/pci0000:00/0000:00:1d.1/0000:03:00.0/0000:04:00.0/i2c-5/i2c-INT33F4:00 Notice the i2c-5 just before the i2c-INT33F4:00, the 5 is the number we are interested in, now do: sudo i2cdump -y -f # 0x34 Replace the # with the number you found by doing the ls -l /sys/bus/i2c/devices/i2c-INT33F4:00 and then copy and paste the output here. After installing i2c-tools and loading i2c-dev: # cd /sys/bus/i2c/devices # ls i2c-0 i2c-1 i2c-10 i2c-10EC5651:00 i2c-11 i2c-12 i2c-13 i2c-14 i2c-2 i2c-3 i2c-4 i2c-5 i2c-6 i2c-7 i2c-8 i2c-9 i2c-INT33F4:00 i2c-INT33FE:01 # ls -l i2c-INT33F4:00 lrwxrwxrwx. 1 root root 0 1 ago 10.27 i2c-INT33F4:00 -> ../../../devices/pci0000:00/808622C1:06/i2c-6/i2c-INT33F4:00 # i2cdump -y -f 6 0x34 No size specified (using byte-data access) 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: fe 30 c1 51 00 00 00 3c 00 00 00 00 00 00 00 00 ?0?Q...<........ 10: 7f 00 7d d4 48 16 1a 1a 1a 12 16 16 0b 0f 00 00 ?.}?H?????????.. 20: 02 98 b2 ad a6 ad 9d f4 15 1a 1a 00 01 b0 40 70 ???????????.??@p 30: 2b 03 4b e6 20 48 0b 00 a5 1f 80 08 fc 16 00 00 +?K? H?.??????.. 40: 1c 3c ff 03 00 03 00 00 40 00 00 04 00 00 00 00 ?<.?.?..@..?.... 50: f5 04 00 03 00 0a b8 09 16 00 00 00 00 00 00 00 ??.?.????....... 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 70: 00 00 00 00 00 00 00 00 f5 04 00 06 00 00 00 00 ........??.?.... 80: 00 80 f1 00 f3 b4 00 00 00 00 00 00 00 00 40 0c .??.??........@? 90: 07 1a 03 1a 00 00 00 00 00 00 05 a0 d0 20 18 00 ????......??? ?. a0: f5 04 00 0f 00 00 25 02 00 00 00 00 00 00 00 00 ??.?..%?........ b0: 00 00 00 00 00 00 00 00 c0 e2 c0 4f f5 04 00 00 ........???O??.. c0: 00 00 00 00 00 00 01 01 02 03 06 0d 15 20 29 2d ......??????? )- d0: 30 33 36 3b 3f 42 46 49 4d 50 52 54 58 5c 60 64 036;?BFIMPRTX\`d e0: 9a df 9a 5a e4 e2 a0 00 00 00 00 00 00 00 50 00 ???Z???.......P. f0: 01 00 84 03 06 80 00 00 00 00 00 00 00 00 00 00 ?.????.......... Hi, Thank you for the dump, what makes you say that the device is not charging? According to the dump the charger is active and the device is at 98% charge now. What is the output of: grep . /sys/class/power_supply/axp288_fuel_gauge/* grep . /sys/class/power_supply/axp288_charger/* ? Regards, Hans The device is at 98% charge because I let it charge overnight, after shutting down the OS. From this morning the charge fell slowly from 100% to 98% even though the charger is plugged in! You can also see from the output below that axp288_fuel_gauge/current_now is 0, but the battery status is Charging, and not Charged. Also the output of acpi: # acpi Battery 0: Charging, 98%, charging at zero rate - will never fully charge. Thank you for the help and fast replies, Dario ---- # grep -rn /sys/class/power_supply/axp288_charger/ -e "." /sys/class/power_supply/axp288_charger/uevent:1:POWER_SUPPLY_NAME=axp288_charger /sys/class/power_supply/axp288_charger/uevent:2:POWER_SUPPLY_PRESENT=1 /sys/class/power_supply/axp288_charger/uevent:3:POWER_SUPPLY_ONLINE=1 /sys/class/power_supply/axp288_charger/uevent:4:POWER_SUPPLY_TYPE=USB /sys/class/power_supply/axp288_charger/uevent:5:POWER_SUPPLY_HEALTH=Good /sys/class/power_supply/axp288_charger/uevent:6:POWER_SUPPLY_CONSTANT_CHARGE_CURRENT=200000 /sys/class/power_supply/axp288_charger/uevent:7:POWER_SUPPLY_CONSTANT_CHARGE_CURRENT_MAX=200000 /sys/class/power_supply/axp288_charger/uevent:8:POWER_SUPPLY_CONSTANT_CHARGE_VOLTAGE=4350000 /sys/class/power_supply/axp288_charger/uevent:9:POWER_SUPPLY_CONSTANT_CHARGE_VOLTAGE_MAX=4350000 /sys/class/power_supply/axp288_charger/uevent:10:POWER_SUPPLY_INPUT_CURRENT_LIMIT=2000000 /sys/class/power_supply/axp288_charger/input_current_limit:1:2000000 /sys/class/power_supply/axp288_charger/present:1:1 /sys/class/power_supply/axp288_charger/power/runtime_active_time:1:0 /sys/class/power_supply/axp288_charger/power/wakeup:1:enabled /sys/class/power_supply/axp288_charger/power/wakeup_count:1:10 /sys/class/power_supply/axp288_charger/power/wakeup_abort_count:1:0 /sys/class/power_supply/axp288_charger/power/wakeup_expire_count:1:0 /sys/class/power_supply/axp288_charger/power/wakeup_total_time_ms:1:148 /sys/class/power_supply/axp288_charger/power/wakeup_active_count:1:10 /sys/class/power_supply/axp288_charger/power/runtime_status:1:unsupported grep: /sys/class/power_supply/axp288_charger/power/autosuspend_delay_ms: Input/output error /sys/class/power_supply/axp288_charger/power/runtime_suspended_time:1:0 /sys/class/power_supply/axp288_charger/power/wakeup_max_time_ms:1:25 /sys/class/power_supply/axp288_charger/power/wakeup_active:1:0 /sys/class/power_supply/axp288_charger/power/control:1:auto /sys/class/power_supply/axp288_charger/power/wakeup_last_time_ms:1:5114706 /sys/class/power_supply/axp288_charger/constant_charge_current_max:1:200000 /sys/class/power_supply/axp288_charger/online:1:1 /sys/class/power_supply/axp288_charger/type:1:USB /sys/class/power_supply/axp288_charger/health:1:Good /sys/class/power_supply/axp288_charger/constant_charge_voltage_max:1:4350000 /sys/class/power_supply/axp288_charger/constant_charge_voltage:1:4350000 /sys/class/power_supply/axp288_charger/constant_charge_current:1:200000 # grep -rn /sys/class/power_supply/axp288_fuel_gauge/ -e "." /sys/class/power_supply/axp288_fuel_gauge/uevent:1:POWER_SUPPLY_NAME=axp288_fuel_gauge /sys/class/power_supply/axp288_fuel_gauge/uevent:2:POWER_SUPPLY_STATUS=Charging /sys/class/power_supply/axp288_fuel_gauge/uevent:3:POWER_SUPPLY_PRESENT=1 /sys/class/power_supply/axp288_fuel_gauge/uevent:4:POWER_SUPPLY_HEALTH=Good /sys/class/power_supply/axp288_fuel_gauge/uevent:5:POWER_SUPPLY_VOLTAGE_MAX_DESIGN=4350000 /sys/class/power_supply/axp288_fuel_gauge/uevent:6:POWER_SUPPLY_VOLTAGE_NOW=4329000 /sys/class/power_supply/axp288_fuel_gauge/uevent:7:POWER_SUPPLY_VOLTAGE_OCV=4329000 /sys/class/power_supply/axp288_fuel_gauge/uevent:8:POWER_SUPPLY_CURRENT_NOW=0 /sys/class/power_supply/axp288_fuel_gauge/uevent:9:POWER_SUPPLY_CAPACITY=98 /sys/class/power_supply/axp288_fuel_gauge/uevent:10:POWER_SUPPLY_CAPACITY_ALERT_MIN=0 /sys/class/power_supply/axp288_fuel_gauge/uevent:11:POWER_SUPPLY_TECHNOLOGY=Li-ion /sys/class/power_supply/axp288_fuel_gauge/uevent:12:POWER_SUPPLY_CHARGE_FULL=10015824 /sys/class/power_supply/axp288_fuel_gauge/uevent:13:POWER_SUPPLY_CHARGE_NOW=9823632 /sys/class/power_supply/axp288_fuel_gauge/technology:1:Li-ion /sys/class/power_supply/axp288_fuel_gauge/capacity_alert_min:1:0 /sys/class/power_supply/axp288_fuel_gauge/current_now:1:0 /sys/class/power_supply/axp288_fuel_gauge/voltage_ocv:1:4329000 /sys/class/power_supply/axp288_fuel_gauge/charge_now:1:9823632 /sys/class/power_supply/axp288_fuel_gauge/present:1:1 /sys/class/power_supply/axp288_fuel_gauge/power/runtime_active_time:1:0 /sys/class/power_supply/axp288_fuel_gauge/power/wakeup:1:enabled /sys/class/power_supply/axp288_fuel_gauge/power/wakeup_count:1:136 /sys/class/power_supply/axp288_fuel_gauge/power/wakeup_abort_count:1:0 /sys/class/power_supply/axp288_fuel_gauge/power/wakeup_expire_count:1:0 /sys/class/power_supply/axp288_fuel_gauge/power/wakeup_total_time_ms:1:3737 /sys/class/power_supply/axp288_fuel_gauge/power/wakeup_active_count:1:136 /sys/class/power_supply/axp288_fuel_gauge/power/runtime_status:1:unsupported grep: /sys/class/power_supply/axp288_fuel_gauge/power/autosuspend_delay_ms: Input/output error /sys/class/power_supply/axp288_fuel_gauge/power/runtime_suspended_time:1:0 /sys/class/power_supply/axp288_fuel_gauge/power/wakeup_max_time_ms:1:119 /sys/class/power_supply/axp288_fuel_gauge/power/wakeup_active:1:0 /sys/class/power_supply/axp288_fuel_gauge/power/control:1:auto /sys/class/power_supply/axp288_fuel_gauge/power/wakeup_last_time_ms:1:8254463 /sys/class/power_supply/axp288_fuel_gauge/voltage_max_design:1:4350000 /sys/class/power_supply/axp288_fuel_gauge/type:1:Battery /sys/class/power_supply/axp288_fuel_gauge/charge_full:1:10015824 /sys/class/power_supply/axp288_fuel_gauge/capacity:1:98 /sys/class/power_supply/axp288_fuel_gauge/health:1:Good /sys/class/power_supply/axp288_fuel_gauge/voltage_now:1:4329000 /sys/class/power_supply/axp288_fuel_gauge/status:1:Charging Hi, Please try (as root): echo 3000000 > /sys/class/power_supply/axp288_charger/input_current_limit And see if that helps. Regards, Hans Unfortunately it does not help: after setting it the other files show: axp288_charger/uevent: POWER_SUPPLY_NAME=axp288_charger POWER_SUPPLY_PRESENT=1 POWER_SUPPLY_ONLINE=1 POWER_SUPPLY_TYPE=USB POWER_SUPPLY_HEALTH=Good POWER_SUPPLY_CONSTANT_CHARGE_CURRENT=200000 POWER_SUPPLY_CONSTANT_CHARGE_CURRENT_MAX=200000 POWER_SUPPLY_CONSTANT_CHARGE_VOLTAGE=4350000 POWER_SUPPLY_CONSTANT_CHARGE_VOLTAGE_MAX=4350000 POWER_SUPPLY_INPUT_CURRENT_LIMIT=3000000 axp288_fuel_charger/current_now: 0 Should I also set to higher values the parameters constant_charge_current_max, constant_charge_current? I guess they are now set to 0,2A but since I have only a vague idea of what I'm doing, I prefer to ask first. # grep -rn /sys/class/power_supply/axp288_charger -e . ./uevent:1:POWER_SUPPLY_NAME=axp288_charger ./uevent:2:POWER_SUPPLY_PRESENT=1 ./uevent:3:POWER_SUPPLY_ONLINE=1 ./uevent:4:POWER_SUPPLY_TYPE=USB ./uevent:5:POWER_SUPPLY_HEALTH=Good ./uevent:6:POWER_SUPPLY_CONSTANT_CHARGE_CURRENT=200000 ./uevent:7:POWER_SUPPLY_CONSTANT_CHARGE_CURRENT_MAX=200000 ./uevent:8:POWER_SUPPLY_CONSTANT_CHARGE_VOLTAGE=4350000 ./uevent:9:POWER_SUPPLY_CONSTANT_CHARGE_VOLTAGE_MAX=4350000 ./uevent:10:POWER_SUPPLY_INPUT_CURRENT_LIMIT=3000000 ./input_current_limit:1:3000000 ./present:1:1 ./power/runtime_active_time:1:0 ./power/wakeup:1:enabled ./power/wakeup_count:1:12 ./power/wakeup_abort_count:1:0 ./power/wakeup_expire_count:1:0 ./power/wakeup_total_time_ms:1:172 ./power/wakeup_active_count:1:12 ./power/runtime_status:1:unsupported grep: ./power/autosuspend_delay_ms: Input/output error ./power/runtime_suspended_time:1:0 ./power/wakeup_max_time_ms:1:25 ./power/wakeup_active:1:0 ./power/control:1:auto ./power/wakeup_last_time_ms:1:14849979 ./constant_charge_current_max:1:200000 ./online:1:1 ./type:1:USB ./health:1:Good ./constant_charge_voltage_max:1:4350000 ./constant_charge_voltage:1:4350000 ./constant_charge_current:1:200000 Hi, Bummer that that does not help, but I was already a bit surprised that that would be necessary, normally when a power-barrel is used for charging (versus a micro-usb on tablets with an axp288) the input-current-limit is ignored. As for the constant_charge_current, that is being reported wrong by the driver due to a bug (a fix is pending for this upstream) it is actually already set to 1.4A and you cannot set it to higher values then constant_charge_current_max (which should also be reported as 1.4A, same bug). I need to look into your ACPI tables and see if there is anything there which helps, but it will probably be a couple of days before I get around to this. Can you run the following command please, I'm going to need the output of that to make sense of the ACPI tables: grep . /sys/bus/acpi/devices/*/status Regards, Hans Thank you again. # grep . /sys/bus/acpi/devices/*/status /sys/bus/acpi/devices/10EC5640:00/status:0 /sys/bus/acpi/devices/10EC5651:00/status:15 /sys/bus/acpi/devices/80860F14:00/status:15 /sys/bus/acpi/devices/80860F14:01/status:15 /sys/bus/acpi/devices/80860F14:02/status:15 /sys/bus/acpi/devices/80862286:00/status:0 /sys/bus/acpi/devices/80862288:00/status:0 /sys/bus/acpi/devices/80862289:00/status:0 /sys/bus/acpi/devices/8086228A:00/status:15 /sys/bus/acpi/devices/8086228A:01/status:15 /sys/bus/acpi/devices/8086228E:00/status:15 /sys/bus/acpi/devices/8086228E:01/status:15 /sys/bus/acpi/devices/8086228E:02/status:15 /sys/bus/acpi/devices/8086229C:00/status:0 /sys/bus/acpi/devices/808622A8:00/status:15 /sys/bus/acpi/devices/808622C0:00/status:0 /sys/bus/acpi/devices/808622C1:00/status:15 /sys/bus/acpi/devices/808622C1:01/status:15 /sys/bus/acpi/devices/808622C1:02/status:15 /sys/bus/acpi/devices/808622C1:03/status:15 /sys/bus/acpi/devices/808622C1:04/status:15 /sys/bus/acpi/devices/808622C1:05/status:15 /sys/bus/acpi/devices/808622C1:06/status:15 /sys/bus/acpi/devices/808622D8:00/status:0 /sys/bus/acpi/devices/ACPI0003:00/status:15 /sys/bus/acpi/devices/ACPI0011:00/status:15 /sys/bus/acpi/devices/ADMA22A8:00/status:0 /sys/bus/acpi/devices/AK009911:00/status:0 /sys/bus/acpi/devices/AMCR22A8:00/status:0 /sys/bus/acpi/devices/AUTH2750:00/status:0 /sys/bus/acpi/devices/BCM2E3A:00/status:0 /sys/bus/acpi/devices/BCM2E64:00/status:0 /sys/bus/acpi/devices/BCM2E7B:00/status:0 /sys/bus/acpi/devices/BCM43241:00/status:0 /sys/bus/acpi/devices/BCM4356:00/status:0 /sys/bus/acpi/devices/BCM4752:00/status:0 /sys/bus/acpi/devices/BCM4752:01/status:0 /sys/bus/acpi/devices/BCM47521:00/status:0 /sys/bus/acpi/devices/BMG0160:00/status:0 /sys/bus/acpi/devices/device:09/status:0 /sys/bus/acpi/devices/device:0c/status:15 /sys/bus/acpi/devices/device:1d/status:15 /sys/bus/acpi/devices/device:24/status:0 /sys/bus/acpi/devices/device:25/status:15 /sys/bus/acpi/devices/device:2a/status:0 /sys/bus/acpi/devices/device:2c/status:0 /sys/bus/acpi/devices/device:2e/status:0 /sys/bus/acpi/devices/device:30/status:0 /sys/bus/acpi/devices/device:46/status:15 /sys/bus/acpi/devices/device:48/status:0 /sys/bus/acpi/devices/device:4a/status:0 /sys/bus/acpi/devices/device:4b/status:0 /sys/bus/acpi/devices/device:4c/status:15 /sys/bus/acpi/devices/device:4d/status:15 /sys/bus/acpi/devices/device:4e/status:15 /sys/bus/acpi/devices/DMY0001:00/status:0 /sys/bus/acpi/devices/FUSB0300:00/status:0 /sys/bus/acpi/devices/GPTC0001:00/status:0 /sys/bus/acpi/devices/GSL1680:00/status:0 /sys/bus/acpi/devices/HAD022A8:00/status:0 /sys/bus/acpi/devices/HIMX5040:00/status:0 /sys/bus/acpi/devices/IMPJ0003:00/status:0 /sys/bus/acpi/devices/IMPJ0003:01/status:0 /sys/bus/acpi/devices/INT0002:00/status:0 /sys/bus/acpi/devices/INT0310:00/status:0 /sys/bus/acpi/devices/INT339A:00/status:0 /sys/bus/acpi/devices/INT33A4:00/status:15 /sys/bus/acpi/devices/INT33BB:00/status:0 /sys/bus/acpi/devices/INT33BE:00/status:0 /sys/bus/acpi/devices/INT33CF:00/status:0 /sys/bus/acpi/devices/INT33D5:00/status:15 /sys/bus/acpi/devices/INT33F4:00/status:15 /sys/bus/acpi/devices/INT33F5:00/status:0 /sys/bus/acpi/devices/INT33FB:00/status:0 /sys/bus/acpi/devices/INT33FD:00/status:0 /sys/bus/acpi/devices/INT33FE:00/status:0 /sys/bus/acpi/devices/INT33FE:01/status:15 /sys/bus/acpi/devices/INT33FE:02/status:0 /sys/bus/acpi/devices/INT33FF:00/status:15 /sys/bus/acpi/devices/INT33FF:01/status:15 /sys/bus/acpi/devices/INT33FF:02/status:15 /sys/bus/acpi/devices/INT33FF:03/status:15 /sys/bus/acpi/devices/INT33FF:04/status:15 /sys/bus/acpi/devices/INT3400:00/status:15 /sys/bus/acpi/devices/INT3403:00/status:15 /sys/bus/acpi/devices/INT3403:01/status:0 /sys/bus/acpi/devices/INT3403:02/status:0 /sys/bus/acpi/devices/INT3403:03/status:0 /sys/bus/acpi/devices/INT3403:04/status:15 /sys/bus/acpi/devices/INT3406:00/status:15 /sys/bus/acpi/devices/INT3407:00/status:0 /sys/bus/acpi/devices/INT3408:00/status:0 /sys/bus/acpi/devices/INT3409:00/status:0 /sys/bus/acpi/devices/INT3409:01/status:0 /sys/bus/acpi/devices/INT3477:00/status:0 /sys/bus/acpi/devices/INT3477:01/status:0 /sys/bus/acpi/devices/INT3496:00/status:0 /sys/bus/acpi/devices/INT34D0:00/status:0 /sys/bus/acpi/devices/INT34D3:00/status:0 /sys/bus/acpi/devices/INT8260:00/status:0 /sys/bus/acpi/devices/INTA4321:00/status:0 /sys/bus/acpi/devices/INTA4322:00/status:0 /sys/bus/acpi/devices/INTCFD9:00/status:0 /sys/bus/acpi/devices/INTL9C60:00/status:15 /sys/bus/acpi/devices/INTL9C60:01/status:15 /sys/bus/acpi/devices/LNXPOWER:00/status:1 /sys/bus/acpi/devices/LNXPOWER:01/status:15 /sys/bus/acpi/devices/LNXPOWER:02/status:15 /sys/bus/acpi/devices/LNXPOWER:03/status:0 /sys/bus/acpi/devices/LNXPOWER:04/status:0 /sys/bus/acpi/devices/LNXPOWER:05/status:0 /sys/bus/acpi/devices/LNXPOWER:06/status:0 /sys/bus/acpi/devices/LNXPOWER:07/status:2 /sys/bus/acpi/devices/LNXPOWER:08/status:2 /sys/bus/acpi/devices/LNXPOWER:09/status:0 /sys/bus/acpi/devices/LNXPOWER:0a/status:0 /sys/bus/acpi/devices/LNXPOWER:0b/status:0 /sys/bus/acpi/devices/LNXPOWER:0c/status:1 /sys/bus/acpi/devices/LNXPOWER:0d/status:1 /sys/bus/acpi/devices/LNXPOWER:0e/status:2 /sys/bus/acpi/devices/LNXPOWER:0f/status:2 /sys/bus/acpi/devices/LNXPOWER:10/status:1 /sys/bus/acpi/devices/LNXPOWER:11/status:1 /sys/bus/acpi/devices/LNXPOWER:12/status:1 /sys/bus/acpi/devices/LNXPOWER:13/status:2 /sys/bus/acpi/devices/LNXPOWER:14/status:1 /sys/bus/acpi/devices/LNXPOWER:15/status:1 /sys/bus/acpi/devices/LNXPOWER:16/status:0 /sys/bus/acpi/devices/LNXPOWER:17/status:0 /sys/bus/acpi/devices/LNXPOWER:18/status:0 /sys/bus/acpi/devices/LNXPOWER:19/status:0 /sys/bus/acpi/devices/LNXPOWER:1a/status:0 /sys/bus/acpi/devices/LNXPOWER:1b/status:0 /sys/bus/acpi/devices/LNXPOWER:1c/status:1 /sys/bus/acpi/devices/LNXPOWER:1d/status:1 /sys/bus/acpi/devices/LNXPOWER:1e/status:1 /sys/bus/acpi/devices/LNXPOWER:1f/status:1 /sys/bus/acpi/devices/LNXPOWER:20/status:0 /sys/bus/acpi/devices/LNXPOWER:21/status:0 /sys/bus/acpi/devices/LNXPOWER:22/status:0 /sys/bus/acpi/devices/LNXPOWER:23/status:0 /sys/bus/acpi/devices/LNXPOWER:24/status:0 /sys/bus/acpi/devices/LNXPOWER:25/status:0 /sys/bus/acpi/devices/LNXPOWER:26/status:0 /sys/bus/acpi/devices/LNXPOWER:27/status:0 /sys/bus/acpi/devices/LNXPOWER:28/status:0 /sys/bus/acpi/devices/LNXPOWER:29/status:0 /sys/bus/acpi/devices/LNXPOWER:2a/status:0 /sys/bus/acpi/devices/LNXPOWER:2b/status:0 /sys/bus/acpi/devices/LTER0303:00/status:0 /sys/bus/acpi/devices/MAX17047:00/status:0 /sys/bus/acpi/devices/MCD0001:00/status:0 /sys/bus/acpi/devices/MCD0001:01/status:0 /sys/bus/acpi/devices/MCD0001:02/status:0 /sys/bus/acpi/devices/MCD0001:03/status:0 /sys/bus/acpi/devices/MCD0001:04/status:0 /sys/bus/acpi/devices/MCD0001:05/status:0 /sys/bus/acpi/devices/MSFT0101:00/status:15 /sys/bus/acpi/devices/OBDA8723:00/status:15 /sys/bus/acpi/devices/PI330532:00/status:0 /sys/bus/acpi/devices/PNP0103:00/status:15 /sys/bus/acpi/devices/PNP0501:00/status:15 /sys/bus/acpi/devices/PNP0C0A:00/status:0 /sys/bus/acpi/devices/PNP0C0A:01/status:0 /sys/bus/acpi/devices/PNP0C0D:00/status:15 /sys/bus/acpi/devices/PNP0C0F:00/status:9 /sys/bus/acpi/devices/PNP0C0F:01/status:9 /sys/bus/acpi/devices/PNP0C0F:02/status:9 /sys/bus/acpi/devices/PNP0C0F:03/status:9 /sys/bus/acpi/devices/PNP0C0F:04/status:9 /sys/bus/acpi/devices/PNP0C0F:05/status:9 /sys/bus/acpi/devices/PNP0C0F:06/status:9 /sys/bus/acpi/devices/PNP0C0F:07/status:9 /sys/bus/acpi/devices/SMB0349:00/status:0 /sys/bus/acpi/devices/TBQ24296:00/status:0 /sys/bus/acpi/devices/TIMC22A8:00/status:0 /sys/bus/acpi/devices/TXN24292:00/status:0 /sys/bus/acpi/devices/TXN27501:00/status:0 /sys/bus/acpi/devices/USBC000:00/status:0 /sys/bus/acpi/devices/VIBR22A8:00/status:0 Ok, so I decided to go ahead and take a quick look at the acpidump right away, but I'm not seeing any clues what is going on here in there. This is a bit of a long shot, but can you run: i2detect -y -r # For each # = 0 .. 6 ? # i2cdetect -y -r 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- # i2cdetect -y -r 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- # i2cdetect -y -r 2 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- # i2cdetect -y -r 3 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- # i2cdetect -y -r 4 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- # i2cdetect -y -r 5 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- # i2cdetect -y -r 6 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- Ok, so nothing there. Can you try blacklisting these drivers (one at a time) and see if that helps: axp288_fuel_gauge axp288_charger extcon_axp288 ? And assuming that you blacklisting helps, please do another run of: i2cdump -y -f 6 0x34 After the blacklisting so that I can compare the AXP288 register settings between the 2 scenarios. Created attachment 1472181 [details]
Output of acpidump under different blacklisted modules
It seems nothing substantially changes by blacklisting modules (i.e. battery doesn't charge), but I've nonetheless collected the results of acpidump and some values in /sys/class.
I've also noted the following strange behaviour: 1. Boot PC with Fedora and log in 2. Open terminal and shutdown computer using `systemctl poweroff` 3. Observe that the battery LED is still blinking after shutdown and the battery doesn't charge (I tried letting the computer in this state for the whole night, and it didn't charge) 4. Now reboot and in grub (before booting Fedora) shutdown the PC 5. Now the battery charges appropiately So it seems that Fedora ruins something that the BIOS fixes at startup. Hope this is useful. Hi, You said that the device does work properly when running Debian sid, can you boot it with Debian sid and run the i2cdump there (while charging)? Note the bus-number might be different there. Regards, Hans Please also provide "cat /sys/kernel/debug/gpio" output under both Debian Sid and Fedora (both while charging). I had some problems due to the fact that i2cdump was crashing the kernel under debian (I think the problem was missing firmware), but I finally got everything. DEBIAN: Note that the bus number was the same, I double checked it. # i2cdump -y -f 6 0x34 No size specified (using byte-data access) 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: XX 70 c1 51 00 00 00 3c 00 00 00 00 00 00 00 00 Xp?Q...<........ 10: 7f 00 7d d4 48 16 1a 1a 1a 12 16 16 XX 0f 00 00 ?.}?H???????X?.. 20: 02 9c b2 91 a6 ad 9d f4 15 1a 1a 00 01 b0 40 70 ???????????.??@p 30: 2b 03 4b e6 00 68 0b 00 a5 1f 80 08 fc 16 XX XX +?K?.h?.??????XX 40: 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 ...........?.... 50: e8 08 5f 00 00 00 c3 00 00 00 19 0e 00 00 XX 00 ??_...?...??..X. 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 70: 00 00 00 00 00 00 00 00 e8 07 5e 0f 00 00 00 00 ........??^?.... 80: 00 80 f0 00 f0 b4 00 XX XX XX 00 00 00 00 40 0c .??.??.XXX....@? 90: 07 1a 03 1a 00 00 00 00 00 00 05 a0 d0 20 18 00 ????......??? ?. a0: e8 07 5f 0d 00 00 XX 00 00 00 00 00 00 00 00 00 ??_?..X......... b0: 00 00 00 00 00 00 00 00 c0 c1 c0 4f e1 02 00 00 ........???O??.. c0: 00 00 00 00 XX 00 01 01 02 03 06 0d 15 20 XX 2d ....X.??????? X- d0: 30 33 36 3b 3f 42 46 49 4d 50 52 54 58 5c 60 64 036;?BFIMPRTX\`d e0: 9a df 91 98 c1 c1 a0 00 00 00 00 00 00 00 50 XX ???????.......PX f0: 01 00 84 03 06 80 00 00 00 00 00 00 00 00 00 00 ?.????.......... # cat /sys/kernel/debug/gpio gpiochip4: GPIOs 225-227, parent: platform/INT0002:00, INT0002 Virtual GPIO: gpio-227 ( |ACPI:Event ) in lo IRQ gpiochip3: GPIOs 228-313, parent: platform/INT33FF:03, INT33FF:03: gpio-309 ( |80860F14:02 ) in hi IRQ gpiochip2: GPIOs 314-340, parent: platform/INT33FF:02, INT33FF:02: gpio-322 ( |power ) in hi IRQ gpio-334 ( |ACPI:Event ) in hi IRQ gpiochip1: GPIOs 341-413, parent: platform/INT33FF:01, INT33FF:01: gpio-393 ( |ACPI:OpRegion ) out hi gpiochip0: GPIOs 414-511, parent: platform/INT33FF:00, INT33FF:00: FEDORA # cat /sys/kernel/debug/gpio gpiochip4: GPIOs 225-227, parent: platform/INT0002:00, INT0002 Virtual GPIO: gpio-227 ( |ACPI:Event ) in lo IRQ gpiochip3: GPIOs 228-313, parent: platform/INT33FF:03, INT33FF:03: gpio-309 ( |80860F14:02 ) in hi IRQ gpiochip2: GPIOs 314-340, parent: platform/INT33FF:02, INT33FF:02: gpio-322 ( |power ) in hi IRQ gpio-334 ( |ACPI:Event ) in hi IRQ gpiochip1: GPIOs 341-413, parent: platform/INT33FF:01, INT33FF:01: gpio-393 ( |ACPI:OpRegion ) out hi gpiochip0: GPIOs 414-511, parent: platform/INT33FF:00, INT33FF:00: Ok, I think that we may be getting somewhere, please under Fedora try the following 2 commands: i2cset -y -f 6 0x34 0x82 0xf0 i2cset -y -f 6 0x34 0x84 0xf0 And see if that helps, this disables the battery temperature sensor pin, which is configured as disabled in your Debian register dump Yes, it seems to help! As you can see acpi finally reports time to charge, and current_now is positive! The Battery LED also has stopped to blink. # i2cset -y -f 6 0x34 0x82 0xf0 # i2cset -y -f 6 0x34 0x84 0xf0 # acpi Battery 0: Charging, 66%, 04:24:17 until charged # cat /sys/class/power_supply/axp288_fuel_gauge/current_now 768000 I will wait to see if the percentage goes up, but I'm definitely confident that it will happen. Ok, I confirm that the battery is charging Ok, so that means that I need to do some work on drivers/iio/adc/axp288_adc.c to make it not mess up those settings for devices like yours. It may very well be a while before I get around to that. In the mean time you can those 2 commands to /etc/rc.d/rc.local to work around this. We apologize for the inconvenience. There is a large number of bugs to go through and several of them have gone stale. Due to this, we are doing a mass bug update across all of the Fedora 28 kernel bugs. Fedora 28 has now been rebased to 4.18.10-300.fc28. Please test this kernel update (or newer) and let us know if you issue has been resolved or if it is still present with the newer kernel. If you have moved on to Fedora 29, and are still experiencing this issue, please change the version to Fedora 29. If you experience different issues, please open a new bug report for those. As mentioned in comment 25 this is a real bug and I need to write a fix for this. Unfortunately I've been swamped with other stuff, but this is still on my todo list, clearing needinfo. Hi, Sorry for being very slow in making time to properly fix this. I've written 2 kernel patches yesterday and today which should fix this. Here is a Fedora kernel scratch-build with the 2 patches added: https://koji.fedoraproject.org/koji/taskinfo?taskID=31819184 Note this is still building atm, this should be finished in a couple of hours. Instructions for installing a kernel directly from koji are here: https://fedorapeople.org/~jwrdegoede/kernel-test-instructions.txt Please check if this fixes charging on your ezbook2 without the hack to mannually set the registers (you can do an i2cdump and check that with the new kernel the 0x82 and 0x84 registers contain 0xf0 as expected). Thanks & Regards, Hans In the mean time the patches for this have landed upstream in the 5.0-rc# kernels, which are available in rawhide, so I'm closing this. If you have the chance to test a rawhide kernel on your hardware and can confirm that this is really fixed, then that would be great. Sorry for not having replied but I'm really busy in this period. I think I will test this about middle March. Sorry for the really late reply. I've currently been running kernel 5.3.0-0.rc3.git0.1.fc31.x86_64 for a few days and everything seems ok. (In reply to Dario Balboni from comment #31) > Sorry for the really late reply. > I've currently been running kernel 5.3.0-0.rc3.git0.1.fc31.x86_64 for a few > days and everything seems ok. Thank you for providing this feedback, good to know that it really is fixed. |