Apparently the J45 can be configured to charge (in case of rechargeable battery or supercap) by software.
Since these lithium cells are not rechargeable we want to make sure no charging takes place.
No news from our side unfortunately. This has less priority for us currently since our use case has less requirement for keeping RTC. However, we’d still like to know how to get this done.
OK, looking at the nano, they didn’t go with the fake-hwclock; instead they just masked the hwclock service.
So, assuming you have the right modules installed for your RTC clock in /etc/modules or similar (and built for the kernel) you should be able to just enable the hwclock.service in systemd, and it “should just work.”
So, approximately:
Verify that the module for your clock chip is built and available, for example, using “sudo modprobe ds1307” or whatever, and “lsmod” to see that it’s loaded and there. You may need to add some module parameters to make sure it loads on the right i2C bus interface.
Add the module name to /etc/modules, or /etc/modules-load.d/* and config options to /etc/modprobe.d/*
sudo systemctl enable hwclock.service
reboot and see if it worked
This is assuming you’re using an I2C clock separately hooked up to the I2C bus on the GPIO header.
For the clock that might be on the Nano module, I don’t know what the module name would be, but the process should be similar.
Even on totally normal systems, /lib/systemd/system/hwclock.service is a link to /dev/null
This means it can’t be unmasked, because only /dev/null links in /etc/systemd/system are affected by systemctl unmask.
Also, systemd doesn’t use NTPD, because it re-implements that itself (it reimplements the world, in general; one of my many complaints about systemd …)
Apparently, you’re supposed to use systemd-timedated these days. Which is already enabled on the jetson.
It may be that all you need to do is to add the right RTC clock module name to /etc/modules-load.d
Try it and see how it goes!
Picking this up. we added a battery to the jetson nano dev kit, but it is not clear how to enable it so it actually keeps time across power-offs.
Any concrete information on how to get this working (not just “some module”) would be appreciated.
You shouldn’t have to do anything. I just soldered the holder on, inserted the battery and it started keeping the correct time across power-cycles. Have you verified that the hwclock showed the correct time before power-cycling? Also check how many /dev/rtc* nodes you have and to which the /dev/rtc symlink points.
You can also use a CR1225 cell with the appropriate holder.
The mounting location is on the underside of the SOC module so you’ll have to remove it. You’ll need a good soldering iron, solder (or solder paste), flux, and alcohol for cleaning everything. I hesitate to give soldering instructions because a lot depends on skils but basically, you clean everything thoroughly, apply flux to the 2 mounting pads on the board and create a puddle of solder on each. Then you put some flux on the bottom of the holder mounting tabs, hold the holder in place, and use the soldering iron to press lightly down on the top of the tabs until the tab sinks into the molten puddle underneath. Let the tab cool before allowing anything to move. Clean everything again after it cools. Better to search for a youtube video if you haven’t done this before. :)