Tenho utilizado os módulos e HAT LoRaWAN da Radioenge há um tempo sem problemas. Recentemente, instalei a versão nova do OS no Raspberry e as seguintes mensagens de erro ocorrem:
Ao executar o lora_pkt_fwd:
ERROR: Failed to load fw 1
ERROR: Version of calibration firmware not expected, actual:0 expected:2
ERROR: [main] failed to start the concentrator
Ao tentar o o reset da HAT, novo erro:
pi@RaspiHome8G:~/lora_gateway $ ./reset_lgw.sh start
Accessing concentrator reset pin through GPIO7…
./reset_lgw.sh: 27: echo: echo: I/O error
./reset_lgw.sh: 30: ./reset_lgw.sh: cannot create /sys/class/gpio/gpio7/direction: Directory nonexistent
./reset_lgw.sh: 33: ./reset_lgw.sh: cannot create /sys/class/gpio/gpio7/value: Directory nonexistent
./reset_lgw.sh: 34: ./reset_lgw.sh: cannot create /sys/class/gpio/gpio7/value: Directory nonexistent
./reset_lgw.sh: 37: ./reset_lgw.sh: cannot create /sys/class/gpio/gpio7/direction: Directory nonexistent
Solução encontrada:
Adicionar a seguinte linha no arquivo /boot/config.txt
…
[all]
dtoverlay=spi0-cs,cs1_pin=4
…
Obs.: Supondo que GPIO4 esteja livre. Pode ser outro GPIO que não seja utilizado por seu hardware.
Explicação:
O novo kernel bloqueia o acesso ao GPIO7 por ele ser utilizado pela SPI. O comando dtoverlay requisita esse GPIO, liberando o acesso para essa dupla função (SPI e reset do HAT).