====== Automatic Deployment ======
When provisioning a large number of gateways, it can be tedious to upload one dedicated VPN package for each device.
To automate the process, the use of a generic USB stick containing all the software packages can be used.
Download the {{ wiki:wmc_usb_package.zip|USB package }}
===== Instructions =====
- Request VPN packages.
- Place VPN packages in ''vpn_packages''.
- Place Wirnet Station packages at the root (if applicable).
- Place Wirnet iBTS packages in ''IBTS'' (if applicable).
- Place Wirnet iFemtoCell packages in ''IFEMTO'' (if applicable).
- Plug USB stick on the target device (which must be powered on).
- Wait for the device to be ready:
* for Wirnet iBTS and Wirnet iFemtoCell: wait for the LED to flash, then unplug.
* for Wirnet Station: wait for the reboot: press the "TEST" button and wait until "MOD1" and "MOD2" are powered OFF.
==== Request VPN packages ====
Request VPN packages through [[mailto:support@kerlink.com|support@kerlink.com]]: please mention the device serial numbers when requesting the VPN packages.
==== Place VPN packages ====
Place all VPN packages in the ''vpn_packages'' folder.
These packages are provided by the Kerlink support team.
==== Place Wirnet XXX packages at YYY ====
Download all application packages (firmware, HAL, Packet Forwarder, BSCC and SNMP) for your hardware architecture
(e.g. Wirnet Station and Wirnet iFemtoCell) from the [[wiki:releases|Software Releases]] page.
Place the packages:
* for Wirnet Station: at the root of the USB stick
* for Wirnet iBTS: place in the ''IBTS'' subfolder
* for Wirnet iFemtoCell: place in the ''IFEMTO'' subfolder
Wirnet iBTS and Wirnet iFemtoCell share the same software architecture (ipk packages) but they should not be mixed.
Hence, they are placed in subfolders and the ''usb.autorun'' script will copy the suitable packages at the root of the USB stick before triggering the update.
===== Resulting USB stick =====
The USB stick should then have a similar structure:
.
├── autorun_klk.sh # executed by Wirnet Stations when plugging the USB stick
├── custo_libloragw_***_wirnet.tar.gz # HAL package for Wirnet Stations
├── dota_spf_***_wirnet.tar.gz # Packet Forwarder package for Wirnet Stations
├── dota_***_bscc.tar.gz # WMC BSCC package for Wirnet Stations
├── dota_***_snmp.tar.gz # WMC SNMP package for Wirnet Stations
├── IBTS # iBTS-only packages folder
│ ├── bscc_***_klk_lpbs.ipk # WMC BSCC package for Wirnet iBTS
│ ├── keros_***_klk-lpbs.ipk # KerOS firmware package for Wirnet iBTS
│ ├── libloragw2_***_klk_lpbs.ipk # HAL package for Wirnet iBTS
│ ├── lorasnmp_***_klk_lpbs.ipk # WMC SNMP package for Wirnet iBTS
│ └── spf2_***_klk_lpbs.ipk # Packet Forwarder package for Wirnet iBTS
├── IFEMTO # iFemtoCell-only packages folder
│ ├── bscc_***_klk_wifc.ipk # WMC BSCC package for Wirnet iFemtoCell
│ ├── keros_***_klk-wifc.ipk # KerOS firmware package for Wirnet iFemtoCell
│ ├── libloragw-fpga_***_klk_wifc.ipk # HAL package for Wirnet iFemtoCell
│ ├── lorasnmp_***_klk_wifc.ipk # WMC SNMP package for Wirnet iFemtoCell
│ └── spf_***_klk_wifc.ipk # Packet Forwarder package for Wirnet iFemtoCell
├── _produsb.sh # executed by Wirnet Stations after rebooting (will flash the software)
├── README # This file
├── usb.autorun # executed by Wirnet iFemtoCell and Wirnet iBTS when plugging the USB stick
├── usbkey.txt # USB key protection: must contain the device passwords (all of them)
└── vpn_packages # WMC OpenVPN packages folder
├── custo_openvpn_***_demoran.wanesy.fr_***.tar.gz # OpenVPN package for one Wirnet Station
├── custo_openvpn_***_demoran.wanesy.fr_***.tar.gz # another Wirnet Station
├── custo_openvpn_***_demoran.wanesy.fr_***.tar.gz # ...
├── custo_openvpn_***_demoran.wanesy.fr_***.tar.gz # ...
├── openvpn_***_demoran.wanesy.fr_***.ipk # OpenVPN package for one Wirnet iBTS
├── openvpn_***_demoran.wanesy.fr_***.ipk # another Wirnet iBTS
├── openvpn_***_demoran.wanesy.fr_***.ipk # ...
├── openvpn_***_demoran.wanesy.fr_***.ipk # ...
├── openvpn_***_demoran.wanesy.fr_***.ipk # ...
├── openvpn_***_demoran.wanesy.fr_***.ipk # OpenVPN package for one Wirnet iFemtoCell
├── openvpn_***_demoran.wanesy.fr_***.ipk # another Wirnet iFemtoCell
├── openvpn_***_demoran.wanesy.fr_***.ipk # ...
├── openvpn_***_demoran.wanesy.fr_***.ipk # ...
├── openvpn_***_demoran.wanesy.fr_***.ipk # ...
├── openvpn_***_demoran.wanesy.fr_***.ipk # ...
└── openvpn_***_demoran.wanesy.fr_***.ipk # ...
==== USB key password file ====
The ''usbkey.txt'' file contains the password for the ''usbuser'' Linux user. This can be used to protect the gateways from malicious firmware upgrades over USB. The default password for iBTS and iFemtoCell is ''USBklkPassword'' but it can be changed. There is no password by default for Wirnet Station, so the file would be ignored.
USBklkPassword
It is strongly recommended to change default ''usbuser'' password. To do so, use the following command:
klk_set_passwd -u usbuser -p