User Tools

Site Tools


Kerlink Wiki Home Page



General information

Wirnet™ iBTS information

Wirnet™ iFemtoCell information

Wirnet™ iFemtoCell-evolution information

Wirnet™ iStation information

System management

Network management

LoRa Features

KerOS customization

Support and resources


Wirnet™ iBTS: Power supply management

The Wirnet iBTS gateway can be powered with an Ethernet cable (PoE injector) or/and an auxiliary power supply (solar panel, battery). When both PoE and external power supply are plugged, the gateway uses the highest voltage available.

The VIN_9V corresponds to VIN_POE.

  • POE power supply - VIN_9V has the POE Value.
  • External power supply - VIN_9V has the external power supply.

VPORT_MEAS has not to be considered for power supply.

Low power detect

Power loss can be detected by polling the value of the VIN_9V signal. It should fall down near 0V when both, PoE and Aux power, are lost. The first action to take when the VIN_9V value decreases is to stop the LoRa module. This will decrease the consumption so the gateway will have enough time to stop. The voltage value can be obtained with the following methods:

Note that power loss can be detected only if the gateway is equipped with a backup battery !

Since release 4.2

Get the value VIN_POE with the tool sensors:

root@klk-lpbs-0605F5:~# sensors | grep POE                                                                                                                                                             
VIN_POE:     +52.61 V

or, in C with lmsensors library:

#include <sensors/sensors.h>
static int get_sensor_voltage(const char * pName, double * pVoltage)
  const sensors_chip_name *chip;
  const sensors_feature *feature;
  const sensors_subfeature * subfeature;
  int chip_nr, i;
  char *label = NULL;
  double voltage = 0;
  int result = -1;
  int ret;
  ret = sensors_init(NULL);
  if (ret != 0) {
    syslog(LOG_ERR, "[%s:%d] err %d in sensors_init\n", __FUNCTION__, __LINE__, ret);
    return result;
  chip_nr = 0;
  while ((chip = sensors_get_detected_chips(NULL, &chip_nr))) {
    i = 0;
    while ((feature = sensors_get_features(chip, &i))) {
      label = sensors_get_label(chip, feature);
      if (label != NULL) {
        subfeature = sensors_get_subfeature(chip, feature, SENSORS_SUBFEATURE_IN_INPUT);
        if ((strcmp(pName, label) == 0) && (subfeature != NULL)) {
          if (sensors_get_value(chip, subfeature->number, &voltage) == 0) {
            *pVoltage = voltage;
            result = 0;
        label = NULL;
  return result;
double voltage = 0;
get_sensor_voltage("VIN_POE", &voltage);

On older releases

On older releases (click to expand)

Voltage measurement

Since version 4.2, All internal voltage measurement can be obtained using the following tool:

root@klk-lpbs-0605F5:~# sensors 
Adapter: ISA adapter
VDD_CORE:     +1.37 V  
NVCC_DRAM:    +1.35 V  
3V3_FDP:      +3.30 V  
NVCC_3V3:     +3.30 V  
VIN_POE:     +52.61 V  
VCC_5V:       +5.03 V  
VPOWER:       +9.05 V  
VPORT_MEAS:  +53.19 V  

On all versions, you can also use the following tool:

root@klk-lpbs:~# adc
wiki/ibts/power_management_ibts.txt · Last modified: 2020/03/25 17:12 by dlr