Issues with April 2025 firmware

Apart from some scary hiccups it seems ti have worked:

I had to un/replug the batteries and afterwards the device would only power back on when connected to an AC connected charger but also that charger would not actually charge, although was working before the update. Very strange.

After fully booting, using a different charger (powerbank) does work (with charging). For some reason that powerbank used to only start charging the Pocket when it wasn’t booted up. Now it does start charging while running. So: improvement in one way, regression in another? Not sure what’s going on there.

2 Likes

Thanks for upgrading and the feedback! Can you tell me which charger brand and model that is? (The one that worked on old FW but doesn’t work on new FW). That charger still doesn’t magically work now, yes? Also, @zeha might also be interested in debugging this, so tagging him here as well.

1 Like

The one that stopped working was some no-name AC power strip with a built-in 20W PD USB-C port and I was just visiting there, it’s not mine. Sorry.

The powerbank that started working better after the update (being able to start charging while running. before it would only charge if plugged in before booting) is an ANKER PowerCore 20000 PD, in case that is useful info.

I’ll test all my other USB-C chargers at home later when I get back.

1 Like

Another issue: the OLED display flickers (see photos vs video, on older firmware it always worked to shoot a readable still photo of it) and when pressing s I first get an error but when trying again it does show the expected info


Video: https://imgur.com/a/gKeUZ83

So, more charger things:

Aukey 48W Dual USB-C Charger: used to work well before the update, now doesn’t deliver power at all, which is a shame as it was my main charger.

Apple iPad charger, 20W: used to not work at all, now does deliver roughly 0.6A to 1.4A (swinging between those), not enough to run the device and charge the battery, so I need to shut down in order to charge

Raspberry Pi 15W USB-C power adapter: doesn’t deliver power at all, not sure if it did before the update as I rarely use it for anything

Thanks for reporting back, and hmm, that’s really strange, as it has been rare for me to find a PD charger that doesn’t work nowadays. I tried to find Aukey now on Amazon or elsewhere to see if I could order a test charger, but they seem to be… gone, at least in Germany?

1 Like

@selfawaresoup do you have a part number / order link for the Aukey charger?

Yup, it’s the PA-D2. Found it for sale here: https://www.galaxus.de/de/s1/product/aukey-pa-d2-charger-36-w-usb-ladegeraet-23344407

It’s a couple years old by now though. Maybe more modern ones work more reliably?

2 Likes

I’ve ordered a PA-D2 and will see what it does to my pocket once it arrives.

1 Like

So the underlying problem is the charger does only 1.5A @ 20V. Which makes sense for a 36W (total) charger.
The April FW asks for 2A @ 20V, and then this charger rejects the pocket.

Here’s an improvement to that, this time considering the offered current from the charger: sysctl: respect charger-supplied current limit (!36) · Merge requests · Reform / MNT Pocket Reform · GitLab
It works for me with the PA-D2 and my usual charger, but more testing should be done.

2 Likes

Ah, so using a charger with at least 40W per port could help too then?

1 Like

Yeah! BTW, a lot of dual-port chargers that I’ve seen will happily announce 40W on both ports, even though that’s clearly a lie :slight_smile:

I just picked up a 45W single port ANKER charger and it works at 8V/2A but that might be due to the cable I’m using. I’ll check with another one at home,

I’m also having charging issue after upgrading the firmware using an Anker 336 (67W). It is a lot slower now, the keyboard display now says -0.42A at 8.41V and I pretty sure it was -1.7 or something like that (don’t remember the voltage). Also very weird, pulling the charging cable does not reset it to 0.000A but it just stays at whatever it was, like it’s charging of the air. Flipping the standby power switch does reset it to 0.000A but keyboard power off/on does not so the keyboard controller needs to be reset to figure out the power is gone.

Btw I’m also having other issues with power, see Battery voltage jumps, not sure if they are related although the random crashes described there predate the fw update.

Could you connect to the serial port (/dev/ttyACM0) and record the messages shown while connecting your charger, plus the following “ON AC” message?
These might be helpful for further debugging.

Here’s the output without having the battery status open on the keyboard display. It starts with the cable connected, then disconnected and connect again.

# ON AC CHG chg=2 mps_flt=00 input=19925mV@1018mA charge=287mA discharge=0mA p=16.75W ttempty=6143min

# ON AC CHG chg=2 mps_flt=00 input=19975mV@1000mA charge=362mA discharge=0mA p=16.75W ttempty=6143min

# [pd] state PD_STATE_ATTACHED_SNK FUSB_INTERRUPT_I_VBUSOK detach 

# [pd] PD_STATE_SETUP

# [pd] PD_STATE_SETUP done, going to PD_STATE_UNATTACHED

# [spi] exec: 'q' 0x00

# [spi] init_spi_client done

# ON AC  chg=2 mps_flt=00 input=4475mV@1450mA charge=0mA discharge=950mA p=13.75W ttempty=222min

# [pd] PD_STATE_UNATTACHED -> SNK CC1, going to PD_STATE_UNATTACHED_SNK

[pd] PD_STATE_UNATTACHED_SNK enable pulldown, measure, power; measure=0x47

# [pd] PD_STATE_UNATTACHED_SNK using cc1 to go to PD_STATE_ATTACHED_SNK

# [pd] state PD_STATE_ATTACHED_SNK FUSB_INTERRUPT_I_VBUSOK detach 

# [pd] PD_STATE_SETUP

# [pd] PD_STATE_SETUP done, going to PD_STATE_UNATTACHED

# [pd] PD_STATE_UNATTACHED -> SNK CC1, going to PD_STATE_UNATTACHED_SNK

[pd] PD_STATE_UNATTACHED_SNK enable pulldown, measure, power; measure=0x47

# [pd] PD_STATE_UNATTACHED_SNK using cc1 to go to PD_STATE_ATTACHED_SNK

# [fusb] rxb 0xe0 msgtype 0x01 msgid 0 role SRC numobj 6 size 24

# [pd] PD_STATE_ATTACHED_SNK: charger responds msg type: 0x1 msgrole: 1 numobj: 6

[pd_src_fixed_pdo]

	number = 1

	unconstrained_pwr = 1

	v = 5.00

	i_a: 3.00

[pd_src_fixed_pdo]

	number = 2

	v = 9.00

	i_a: 3.00

[pd_src_fixed_pdo]

	number = 3

	v = 12.00

	i_a: 3.00

[pd_src_fixed_pdo]

	number = 4

	v = 15.00

	i_a: 3.00

[pd_src_fixed_pdo]

	number = 5

	v = 20.00

	i_a: 3.35

# [pd] PD_STATE_ATTACHED_SNK not a fixed PDO: 0xc0dc213c

# [pd] discarding further messages

# [pd] requesting PO 5, 20 V

# [fusb] rxb 0xe0 msgtype 0x01 msgid 4 role SRC numobj 0 size 0

# [pd] PD_STATE_ATTACHED_SNK: charger responds msg type: 0x1 msgrole: 1 numobj: 0

# [fusb] rxb 0xe0 msgtype 0x03 msgid 1 role SRC numobj 0 size 0

# [pd] PD_STATE_ATTACHED_SNK: charger responds msg type: 0x3 msgrole: 1 numobj: 0

# [pd] charger accepted our requested PDO.

# [fusb] rxb 0xe0 msgtype 0x06 msgid 2 role SRC numobj 0 size 0

# [pd] PD_STATE_ATTACHED_SNK: charger responds msg type: 0x6 msgrole: 1 numobj: 0

# [pd] power supply ready.

# ON AC CHG chg=2 mps_flt=00 input=19900mV@1043mA charge=475mA discharge=0mA p=17.25W ttempty=6143min

# ON AC CHG chg=2 mps_flt=00 input=19825mV@1025mA charge=450mA discharge=0mA p=16.88W ttempty=6143min

Now with the battery status on the keyboard display:

# ON AC CHG chg=2 mps_flt=00 input=19900mV@1025mA charge=425mA discharge=0mA p=16.38W ttempty=6143min

# [keyboard] exec: c 65535

# ON AC CHG chg=2 mps_flt=00 input=19900mV@1018mA charge=425mA discharge=0mA p=16.50W ttempty=6143min

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# [pd] state PD_STATE_ATTACHED_SNK FUSB_INTERRUPT_I_VBUSOK detach 

# [pd] PD_STATE_SETUP

# [pd] PD_STATE_SETUP done, going to PD_STATE_UNATTACHED

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# ON AC  chg=2 mps_flt=00 input=4425mV@1462mA charge=0mA discharge=850mA p=13.62W ttempty=638min

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# [spi] exec: 'q' 0x00

# [spi] init_spi_client done

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# [pd] PD_STATE_UNATTACHED -> SNK CC1, going to PD_STATE_UNATTACHED_SNK

[pd] PD_STATE_UNATTACHED_SNK enable pulldown, measure, power; measure=0x47

# [pd] PD_STATE_UNATTACHED_SNK using cc1 to go to PD_STATE_ATTACHED_SNK

# [keyboard] exec: c 65535

# [pd] state PD_STATE_ATTACHED_SNK FUSB_INTERRUPT_I_VBUSOK detach 

# [pd] PD_STATE_SETUP

# [pd] PD_STATE_SETUP done, going to PD_STATE_UNATTACHED

# [pd] PD_STATE_UNATTACHED -> SNK CC1, going to PD_STATE_UNATTACHED_SNK

[pd] PD_STATE_UNATTACHED_SNK enable pulldown, measure, power; measure=0x47

# [pd] PD_STATE_UNATTACHED_SNK using cc1 to go to PD_STATE_ATTACHED_SNK

# [fusb] rxb 0xe0 msgtype 0x01 msgid 0 role SRC numobj 6 size 24

# [pd] PD_STATE_ATTACHED_SNK: charger responds msg type: 0x1 msgrole: 1 numobj: 6

[pd_src_fixed_pdo]

	number = 1

	unconstrained_pwr = 1

	v = 5.00

	i_a: 3.00

[pd_src_fixed_pdo]

	number = 2

	v = 9.00

	i_a: 3.00

[pd_src_fixed_pdo]

	number = 3

	v = 12.00

	i_a: 3.00

[pd_src_fixed_pdo]

	number = 4

	v = 15.00

	i_a: 3.00

[pd_src_fixed_pdo]

	number = 5

	v = 20.00

	i_a: 3.35

# [pd] PD_STATE_ATTACHED_SNK not a fixed PDO: 0xc0dc213c

# [pd] discarding further messages

# [pd] requesting PO 5, 20 V

# [fusb] rxb 0xe0 msgtype 0x01 msgid 5 role SRC numobj 0 size 0

# [pd] PD_STATE_ATTACHED_SNK: charger responds msg type: 0x1 msgrole: 1 numobj: 0

# [fusb] rxb 0xe0 msgtype 0x03 msgid 1 role SRC numobj 0 size 0

# [pd] PD_STATE_ATTACHED_SNK: charger responds msg type: 0x3 msgrole: 1 numobj: 0

# [pd] charger accepted our requested PDO.

# [fusb] rxb 0xe0 msgtype 0x06 msgid 2 role SRC numobj 0 size 0

# [pd] PD_STATE_ATTACHED_SNK: charger responds msg type: 0x6 msgrole: 1 numobj: 0

# [pd] power supply ready.

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# ON AC CHG chg=2 mps_flt=00 input=19850mV@1056mA charge=500mA discharge=0mA p=16.62W ttempty=225min

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# [keyboard] exec: c 65535

# ON AC CHG chg=2 mps_flt=00 input=19900mV@1025mA charge=425mA discharge=0mA p=16.62W ttempty=6143min

# ON AC CHG chg=2 mps_flt=00 input=19950mV@1012mA charge=437mA discharge=0mA p=17.00W ttempty=6143min

Also interesting, /sys/class/power_supply/BAT0/status reports Charging after the cable is disconnected. Doing a cold boot (after doing the physical power switching) it reports Not charging.

ON AC CHG chg=2 mps_flt=00 input=19900mV@1043mA charge=475mA discharge=0mA

This looks good. Maybe your battery is not that empty? :slight_smile:

/sys/class/power_supply/BAT0/status reports Charging

There’s still a lot of work todo to get the correct info over to the Linux side :frowning: