If you happen to have a Kerlink gateway that is configured for Actility, you would realise that it is completely locked down, and you can not reconfigure it for a different network. After some debugging and a lot of assitance from @kersing we were able to resurrect the “bricked” Kerlink of mine and get it back up on TTN.
You will need:
- a Kerlink Wirgrid debug tool, or another way of interfacing with the debug port on the Kerlink (DIY Kerlink Wirgrid debug probe).
- A flash drive with the latest Kerlink firmware image on it (https://www.thethingsnetwork.org/docs/gateways/kerlink/firmware-updates.html#system-firmware-v31)
Connect to the gateway using the debug interface. You should have a terminal open and see the log output and login prompt for the gateway.
Confirming that you can send commands to the gateway over the debug interface and receive responses back, like try to log in and see it fail because we do not know the root password. Now, while still looking at the terminal output press the reset button on the gateway. You should see the following output:
WirmaV2 kickstart svn1607 (Dec 3 2014 - 14:04:05)
CPU 266MHz
NAND: Micron On-Die ECC
U-Boot 2009.03-2009.03-klk1 (Dec 27 2016 - 16:23:47)
DRAM: 128 MB
NAND: MICRON MT29F1G08ABBDAH4
NAND: On-Die ECC
NAND: 128 MiB
In: serial
Out: serial
Err: serial
MAC: 02:4B:08:0E:xx:xx
Product: WirmaV2 lora V4
WARNING: Machine type unknown, set default wirmaV2 Module
Autoboot in 10 seconds, enter Password:
As soon as you see Autoboot in 10 seconds, enter Password:
start hitting the k
key on your keyboard. After about 8 times you will be dropped to the U-Boot command prompt.
Now as quickly as possible type watchdog disable
and hit enter. If you wait too long the gateway will reset and you will have to do the k-hitting thing again. You should see a message that the watchdog was successfully disabled.
Make sure the USB Flash drive with the firmware update on it is plugged in. Then execute the following commands in the U-Boot command prompt:
setenv produsb 1
saveenv
reset
After execting the reset command the gateway should restart. This time when Linux boots up it will show a message that it is in Produsb update mode. In this mode it looks for update files on the USB flash drive and installs them. Because we have a firmware update on the flash drive, the firmware upgrade will be installed, overriding all the Actility software.
After one more reboot the terminal will show a login prompt for the gateway. If the reflash of firmware was successful you should be able to log in using the default Kerlink login details for the v3 firmware:
Username: root
Password: pdmk-08… (On v3.3 the letter after 08 should be lower case. Newer version need it to be upper case.)
If you are still unable to log in it means the Actility password change script was executed, and therefore not overridden during our firmware upgrade. Try following the same method to flash the recovery partition (https://www.thethingsnetwork.org/docs/gateways/kerlink/firmware-updates.html#recovery).
If you are able to log in successfully we can continue setting up the packet forwarder for TTN. At this point you can continue installing the TTN packet forwarder (https://www.thethingsnetwork.org/docs/gateways/kerlink/config.html) or you can install and use the default Kerlink packet forwarder.
To install the Kerlink Simple Packet Forwarder (SPF) you will need to follow the steps outlined on the Kerlink Wiki (http://wikikerlink.fr/lora-station/doku.php?id=wiki:lora_modem_management). In essence it boils down to installing the Semtech HAL using a Dota file, then installing the SPF. After these two are installed you will need to make sure the correct global_conf.json
file is used by checking where the symlink /mnt/fsuser-1/spf/etc/global_conf.json
points to. By default it points to /mnt/fsuser-1/spf/etc/global_conf_EU868.json
. Change the symlink to the correct frequency plan for your area. You might need to check the radio frequencies and channel IF values, but for the EU region the defaults are correct. All you need to do is edit the global_conf.json file and change the server address from lns
to router.eu.thethings.network
or the router for you region. Also make sure the up and down ports are 1700. After this restart the gateway and it should forward packets to TTN.