At Kerlink, we are committed to supporting all our customers, regardless of the software version they are currently using.
To ensure you benefit from the latest improvements and corrections, new features and defect fixes are provided exclusively on the most recent official release.
For certain investigations, Kerlink may request that your equipment be updated to the latest release in order to guarantee efficient and accurate support.
We strongly recommend keeping your equipment up to date with the latest official version to enjoy optimal performance, security, and access to the newest functionalities.
To stay informed about new releases, you can easily subscribe here: Kerlink Wiki News
For more details on the software versions currently supported from a security perspective, please visit: Kerlink Security Support.
It is possible to use the ZRAM feature to use it as swap. Simply install
sudo apt update
sudo apt install zram
You can configure it in /etc/default/zram. Default values:
ZRAM_SIZE_PERCENT=100
ZRAM_ALGORITHM=zstd
A reboot is needed to take it into account.
You can also decide to use swap, by installing
sudo apt update
sudo apt install swapfile
You can configure the size of swap using
systemctl stop swapfile
systemctl enable swapfile@256 --now
This will create and mount a 256MiB swap file.
A reboot is recommended to take it into account.
No, it is not possible to add your own package to the official KerOS repository. But you may:
Locally install a package using apt install ./mypackage.deb
Deploy your own repository, using existing solutions like dak or aptly (list can be found here)
Use an existing repository if it is compatible
Logs are collected by journalctl and forwarded to rsyslog. Journalctl database is limited to 4MB.
Rsyslog files are under /var/log. Rsyslog files rotation is configured by files under /etc/logrotate.d. Each hour logrotate will check rsyslog files size and rotate them if they are over a configurable limit.
More information on logrotate configuration can be found here.
GPS support on iStation gateways provides:
GPS synchronization is especially important for gateways operating without Internet or using Class B and LBT features.
The GPS service is disabled by default.
Enable it with:
systemctl enable gpsd.service
You can verify GPS activity and fix status using:
gpspipe -r
Example of a valid GPS fix:
$GPGGA,133858.00,4807.18148,N,00127.30099,W,1,03,4.71,40.6,M,47.6,M,,*74
The 7th field indicates the GPS fix status:
0 = no fix1 = GPS fix acquired2 = differential fixA valid GPS fix is required before enabling GPS-based time synchronization.
LoRaWAN Class B relies on periodic beacons transmitted by the gateway. These beacons require very precise timing.
GPS provides:
To enable Class B beaconing, edit:
/etc/lorad/lorad.json
and set:
"gateway_conf": {
"beacon_enable": true
}
Apply the configuration by restarting the LoRa daemon:
systemctl restart lorad
Results : Enabling Class B beaconing automatically starts the required GPS services.
Yes.
Gateways without Internet connectivity cannot reach NTP servers to synchronize their system clock.
In this situation, the gateway can rely entirely on GPS-based time synchronization.
GPS provides two timing sources:
Combined together, these signals allow the gateway to maintain a stable and accurate system clock.
The gateway uses the chrony service to synchronize the system clock and select the best available time source. Edit the following file:/etc/chrony.conf
A complete example configuration is available below :
# Use public NTP servers from the pool.ntp.org project.
# Please consider joining the pool project if possible by running your own
# server(s).
# If you are a vendor distributing a product using chrony, you *MUST*
# read and comply with http://www.pool.ntp.org/vendors.html
# GPSD sources
#refclock SHM 0 refid GPS
#refclock SHM 2 refid PPS
refclock SHM 0 refid GPS precision 1e-1 offset 0.5 delay 0.2 noselect
# Use a local timeserver in preference to the pool, if it's reachable.
#server 192.168.22.22 iburst minpoll 2 prefer
# Sync to pulse-per-second from an onboard GPS.
#refclock PPS /dev/pps0 poll 0 prefer
refclock PPS /dev/pps0 refid PPS precision 1e-7 prefer lock GPS
# You'll want to enable CONFIG_PPS and CONFIG_PPS_CLIENT_GPIO in your kernel,
# and an entry something like this in your device tree:
# pps {
# compatible = "pps-gpio";
# gpios = <&ps7_gpio_0 56 0>;
# };
# Use NTP sources found in /etc/chrony/sources.d.
sourcedir /etc/chrony/sources.d
# In first three updates step the system clock instead of slew
# if the adjustment is larger than 1 second.
makestep 1.0 3
# Record the rate at which the system clock gains/loses time,
# improving accuracy after reboot
driftfile /var/lib/chrony/drift
# Enable kernel synchronization of the hardware real-time clock (RTC).
rtcsync
# Allow rtcfile (to keep monotonic date)
# rtcfile /var/lib/chrony/rtc
# Allow NTP client access from local network.
#allow 192.168/16
# Serve time even if not synchronized to any NTP server.
#local stratum 10
# Specify file containing keys for NTP authentication.
#keyfile /etc/chrony.keys
# Specify directory for log files.
#logdir /var/log/chrony
# Select which information is logged.
#log measurements statistics tracking
# Enable TAI clock
leapsectz right/UTC
leapsecmode system
GPS time synchronization is required for gateways:
Without accurate GPS synchronization, gateways may experience systematic downlink rejections.