Recomputer R1000 UPS shutdown, no recovery

Hi,

I’ve installed the UPS board on the R1000. Once the power source goes offline, there is a shutdown issued by the OS. The OS will stop all running services and put the CM4 in shutdown. Once the power source is active again, the CM4 will reboot.
However when the powersource comes back online in the middle off the shutdown process, the CM4 will still shutdown and never reboot until the powersource is disconnected and connected again.

Is this a design issue or I’m missing something?

regards,

Kris

Hi there,

I have exactly the same behaviour.

My R1000 is running on balenaOS for CM4 with the documented confix.txt entries and additional:
dtoverlay=gpio-shutdown,gpio_pin=25,active_low=1

The UPS controller LTC3350 should be connected to I2C bus 6 (seeed studio docs) with adress 0x09 (analog device datasheet). I have not found any anvailable kernel module and device tree overlay to communicate with the chip.

I would welcome other solutions or improvements.

Regards,
Hannes

Hi,

I’m using that same entry in the config.txt, and once the power source is gone It’s shutting down the CM4 as described ie: the shutdown command is issued, so no problem there.
A quick Google tells me that there has been a driver for the LTC3350 integrated in the kernel a couple of months ago. [LKML: Sebastian Reichel: Re: [PATCH v5 5/5] power: supply: ltc3350-charger: Add driver](https://LTC3350 kernel driver)
However the schematic of the UPS seems not to be released by SEEED so I cannot make any conclusions or assumptions solely based on the datasheet of the LTC3350.
Also I don’t think the LTC3350 can solve the issue we are having.

Looking at the schematics SEEED released.
The GLOBAL_EN pin of the CM4 has to be pulled down for > 1 ms to restart the PMIC of the CM4. this pin, is controlled by a 74LVC1G34 buffer. This buffer is controlled by the INT pin of the RTC and powered by VDD_5_SYS.
So here is what I think is going on: the INT pin, by default is always high. So basically the GLOBAL_EN will only go low if VDD_5_SYS < 1.65 (see datasheet) for a long enough period. In this case the CM4 will restart automatically if the power source is back online. However if the power is restored if VDD_5_SYS > 1.65V, the output of the buffer will not change, and therefore never trigger a change of the GLOBAL_EN pin.
So maybe there is a way around this? To solve this problem we can activate the Timer of the RTC at shutdown. If the CM4 shuts down, the RTC (powered by the battery) will issue the INT pin if the timer expires and if the power has been restored in the meantime the CM4 will boot up again.
Does this make sense?

regards,

Kris

Hi,
Thanks for your report and further information. Our team will investigate into this issue, and updates will be posted here.