Overview

In addition to using a keyboard to configure a Beam, it is also possible to do so by plugging in a USB flash drive using the following instructions. This process will import WiFi certificates and a configuration file to the Beam.

Please ensure that any certificates used are .PEM (Base64) encoded with “—–Begin Certificate——” prefix and an “—–END Certificate—–” suffix. Any certificates used/needed can be chained into a single .PEM file using OpenSSL if necessary.

Since BeamPro only has one USB port, configuration by USB drive does not require a keyboard.

Currently, you can do the following with a USB drive:

  • Reset a device to factory defaults
  • Delete all the Wi-Fi networks from the device’s configuration
  • Add Wi-Fi networks to the device’s configuration
  • Delete all the keys and certificates (for WPA Enterprise) from the device
  • Add keys or certificates to the device
  • Set device parameters

Instructions

  1. Write your configure.yaml file based on the examples and documentation below and put it on your USB drive
  2. Copy any WPA enterprise keys necessary onto your USB drive
  3. Plug in your USB drive as set up in the previous two steps into your Beam device
  4. Follow the instructions that appear on the screen

USB Drive Layout

The Beam device will look for the following files on your drive:

  • beam/configure.yaml: Commands for all Beam devices.
  • beam/wifi_keys/...: Keys/certificates to be copied onto all Beam devices.
  • beam/beam_{wifi_serial_number}/configure.yaml: Commands for Beam device with serial number wifi_serial_number (will override beam/configure.yaml commands).
  • beam/beam_{wifi_serial_number}/wifi_keys/...: Keys/certificates to be copied onto Beam device with serial number wifi_serial_number.

Sample configure.yaml files

The configuration file should consist of a YAML list of commands. Here are a few sample configure.yaml files for different network configurations. The options are the same as those of wpa_supplicant, for which an example configuration file explaining all of the settings can be found here.

WPA2 Personal

add_networks:
- ssid: wpa2
  group: CCMP
  key_mgmt: WPA-PSK
  pairwise: CCMP
  proto: RSN
  psk: "securepassword"

WPA Personal

add_networks:
- ssid: wpa
  group: TKIP
  key_mgmt: WPA-PSK
  pairwise: TKIP
  proto: WPA
  psk: "securepassword"

Open

add_networks:
- ssid: open
  key_mgmt: NONE

WPA Enterprise

# Deleting the keys on the Beam device happens before copying the keys on the USB drive
delete_all_wifi_keys:
# Deleting all the networks happens before any networks are added
delete_all_networks:
# The following is a sample PEAP MSCHAPV2 network
add_networks:
- ssid: wpaeap
  group: TKIP
  identity: test
  key_mgmt: WPA-EAP
  pairwise: CCMP TKIP
  password: "12345"
  phase2: auth=MSCHAPV2
  proto: WPA RSN
  eap: PEAP
  # ca.crt needs to exist in either the beam/wifi_keys/ 
  # or beam/beam_<wifi_serial_numer>/wifi_keys/ directories
  # or have previously been copied to the Beam device
  ca_cert: ca.crt
  # If you don't specify a ca_cert file, you MUST specify 
  # confirm_no_ca_cert. We recommend that you don't do
  # this since it is insecure.
  # private_key:
  # client_cert:
  # confirm_no_ca_cert: true
  # If you provide an encrypted private key here 
  # (private_key:), you will have to plug in a keyboard 
  # afterwards to enter the password and decrypt it

Setting parameters

set_parameters:
  # int/float/duration params
  dhcp_exp_backoff_max: 3
  max_txpower: 25
  captive_portal_timeout: 5.5
  # multiple choice params
  disabled_frequencies: [2412, 2422]
  # Choice params (use left hand value in available options below)
  single_adapter_roaming: on
  wired_tier: 2

Available Commands

  • restore_factory_defaults (no arguments): restores factory defaults. The device will restart when the USB stick has been removed.

  • delete_all_wifi_keys (no arguments): Deletes all the wireless keys on the Beam device before copying in new ones.

  • delete_all_networks (no arguments): Removes all networks. Applies before add_networks.

  • add_networks (network list argument): Adds networks to the currently configured list of networks, replacing existing networks with the same name.

  • set_parameters (key value pair argument): Sets device parameters.

Parameters available

  • bss_max_count - Maximum BSS count (type: int) (Min: 1) (Max: 8192)
  • fast_reauth - Fast re-authentication for WPA Enterprise (type: choice)
    Options (Show/Hide):
  • dhcp_exp_backoff_max - DHCP retry period maximum (type: duration) (Min: 1) (Max: 240)
  • roaming_threshold_single_adapter - Single adapter roaming threshold (type: float) (Min: -100) (Max: 0)
  • dhcp_timeout - DHCP timeout (type: duration) (Min: 0.1) (Max: 120)
  • ping_rate_possibly_dead - Ping rate on a possibly dead interface (type: float) (Min: 0.1) (Max: 15)
  • strong_connection_loss_threshold_not_in_call - Strong connection loss threshold when not in call (type: float) (Min: 0) (Max: 1)
  • band - Frequency bands to use (type: choice)
    Options (Show/Hide):
  • ping_rate_low - Ping rate for an idling interface (type: float) (Min: 0.1) (Max: 5)
  • reassociate_hysteresis_stationary - Secondary interface hysteresis when stationary (type: float) (Min: 1) (Max: 100)
  • disabled_frequencies - Disabled frequencies (type: multiple choice)
    Options (Show/Hide):
  • ping_max_latency_v2 - Maximum allowed latency to relay (type: duration) (Min: 0.1) (Max: 15)
  • strong_connection_wifi_rssi_threshold - Weak WiFi connection RSSI threshold (type: float) (Min: -100) (Max: 0)
  • verification_timeout - Timeout for verifying an access point or network (type: duration) (Min: 1.0) (Max: 20.0)
  • single_adapter_roaming_band_preference - Single adapter WiFi roaming band preference (type: choice)
    Options (Show/Hide):
  • strong_connection_loss_threshold_in_call - Strong connection loss threshold during call (type: float) (Min: 0) (Max: 1)
  • assoc_timeout - Association timeout (type: duration) (Min: 0.1) (Max: 15)
  • wwan_tier_4g - Tier used for 4G/LTE cellular connections (type: choice)
    Options (Show/Hide):
  • scan_width - 2.4 GHz scan width (type: float) (Min: 0) (Max: 100)
  • wired_tier - Tier used for wired connections (type: choice)
    Options (Show/Hide):
  • country_ie_consistency_check_enabled - Warn on AP country code inconsistency (type: choice)
    Options (Show/Hide):
  • dhcp_exp_backoff_min - DHCP retry period (type: duration) (Min: 0.1) (Max: 120)
  • single_adapter_roaming - Single adapter WiFi roaming (type: choice)
    Options (Show/Hide):
  • unlikely_frequencies - Unlikely frequencies (type: multiple choice)
    Options (Show/Hide):
  • scan_type - Scan type (type: choice)
    Options (Show/Hide):
  • reassociate_hysteresis_moving - Secondary interface hysteresis when moving (type: float) (Min: 1) (Max: 100)
  • wifi_tier_5000 - Tier used for 5 GHz WiFi access points (type: choice)
    Options (Show/Hide):
  • wifi_tier_2400 - Tier used for 2.4 GHz WiFi access points (type: choice)
    Options (Show/Hide):
  • max_txpower - Maximum TX power (type: int) (Min: 0) (Max: 30)
  • wwan_tier_pre_4g - Tier used for pre-4G cellular connections (type: choice)
    Options (Show/Hide):
  • captive_portal_timeout - Timeout for opening captive portal URL (type: duration) (Min: 0.1) (Max: 30.0)