Bug 1610545 - Battery not charging when Fedora is running with Ezbook 2 (battery INT33F4)
Summary: Battery not charging when Fedora is running with Ezbook 2 (battery INT33F4)
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: rawhide
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Hans de Goede
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-07-31 21:44 UTC by Dario Balboni
Modified: 2019-08-14 13:11 UTC (History)
17 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-02-26 21:09:50 UTC
Type: Bug


Attachments (Terms of Use)
Output of some diagnostic commands (upower -i, dmesg, tlp-stat) (30.26 KB, application/octet-stream)
2018-07-31 21:44 UTC, Dario Balboni
no flags Details
Output of command acpidump, as requested (696.48 KB, text/plain)
2018-08-01 09:15 UTC, Dario Balboni
no flags Details
Output of acpidump under different blacklisted modules (10.13 KB, text/x-vhdl)
2018-08-01 19:10 UTC, Dario Balboni
no flags Details

Description Dario Balboni 2018-07-31 21:44:02 UTC
Created attachment 1471940 [details]
Output of some diagnostic commands (upower -i, dmesg, tlp-stat)

Description of problem:
I bought an ezbook 2 and installed Fedora 28.

I'm unable to charge my laptop with Fedora running. The charging light is blinking red, irrespective of wheter the AC charger is plugged in or not.

I can only charge the battery with the computer fully off, and it behaves normally (red stable led when charging, no light when fully charged).

Version-Release number of selected component (if applicable):
I've experienced this problem with both kernel 4.18.0 (rawhide) and with kernel 4.17.9 (Fedora 28).

How reproducible: Always

Steps to Reproduce:
1. Boot the laptop with Fedora
2. At early stages of boots the red light of the battery starts blinking

Actual results: The battery does not charge when OS is running

Expected results: The battery should charge even with Fedora running

Additional info: 
* See https://patchwork.kernel.org/patch/9687331/ for some information about battery INT33F4 and linux kernel.
* Booting with Debian sid does not recognize the battery (nor in upower, nor in /sys/class/power_supply) but it allows it to charge correctly.

For more informations concerning this bug see attachment.

Comment 1 Hans de Goede 2018-08-01 08:20:14 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

Comment 2 Hans de Goede 2018-08-01 08:24:04 UTC
Also please run:

acpidump -o acpidump.jumper-ezbook2

And attach the generated acpidump.jumper-ezbook2 file here.

Comment 3 Dario Balboni 2018-08-01 09:15:32 UTC
Created attachment 1472046 [details]
Output of command acpidump, as requested

Comment 4 Dario Balboni 2018-08-01 09:17:27 UTC
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

Comment 5 Hans de Goede 2018-08-01 10:13:38 UTC
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.

Comment 6 Dario Balboni 2018-08-01 10:30:56 UTC
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    ?.????..........

Comment 7 Hans de Goede 2018-08-01 11:16:18 UTC
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

Comment 8 Dario Balboni 2018-08-01 11:28:00 UTC
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

Comment 9 Hans de Goede 2018-08-01 12:58:03 UTC
Hi,

Please try (as root):

echo 3000000 > /sys/class/power_supply/axp288_charger/input_current_limit

And see if that helps.

Regards,

Hans

Comment 10 Dario Balboni 2018-08-01 13:24:41 UTC
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

Comment 11 Hans de Goede 2018-08-01 13:50:26 UTC
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

Comment 12 Dario Balboni 2018-08-01 14:11:40 UTC
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

Comment 13 Hans de Goede 2018-08-01 14:48:01 UTC
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 ?

Comment 14 Dario Balboni 2018-08-01 15:26:20 UTC
# 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: -- -- -- -- -- -- -- --

Comment 15 Hans de Goede 2018-08-01 15:29:11 UTC
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

?

Comment 16 Hans de Goede 2018-08-01 15:39:37 UTC
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.

Comment 17 Dario Balboni 2018-08-01 19:10:14 UTC
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.

Comment 18 Dario Balboni 2018-08-02 07:39:18 UTC
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.

Comment 19 Hans de Goede 2018-08-02 08:40:01 UTC
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

Comment 20 Hans de Goede 2018-08-02 08:40:57 UTC
Please also provide "cat /sys/kernel/debug/gpio" output under both Debian Sid and Fedora (both while charging).

Comment 21 Dario Balboni 2018-08-02 15:44:52 UTC
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:

Comment 22 Hans de Goede 2018-08-02 16:11:30 UTC
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

Comment 23 Dario Balboni 2018-08-02 16:18:52 UTC
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.

Comment 24 Dario Balboni 2018-08-02 16:48:53 UTC
Ok, I confirm that the battery is charging

Comment 25 Hans de Goede 2018-08-02 17:14:06 UTC
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.

Comment 26 Laura Abbott 2018-10-01 21:17:18 UTC
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.

Comment 27 Hans de Goede 2018-10-02 07:30:27 UTC
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.

Comment 28 Hans de Goede 2019-01-04 22:55:56 UTC
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

Comment 29 Hans de Goede 2019-02-26 21:09:50 UTC
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.

Comment 30 Dario Balboni 2019-02-27 10:34:56 UTC
Sorry for not having replied but I'm really busy in this period.
I think I will test this about middle March.

Comment 31 Dario Balboni 2019-08-14 10:46:14 UTC
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.

Comment 32 Hans de Goede 2019-08-14 13:11:10 UTC
(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.


Note You need to log in before you can comment on or make changes to this bug.