Skip to content

aldebaran/wlantest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wlantest

Wlantest is an automatic wireless testing script written in Python which aims at checking ConnMan behaviour. (http://connman.net)

For every test, Wlantest runs hostapd on an interface according to a config file and tries to connect to it using ConnMan. The result is output in /var/log/wlantest.log.

Misc notes

  • Wlantest must be launched at root
  • There are a few parameters in /etc/wlantest/main.conf which have to be set before running Wlantest.
  • ConnMan should be launched with -I <iface> where iface is the interface which will run the AP.
  • If a dhcpd is running, do not forget to set up an ip address to the AP interface so that the dhcpd can listen on it.

Testing environment

The minimum testing requirement is a machine with two wlan interfaces:

  • An interface used in AP mode on which hostapd is running
  • An interface used in STA mode that connman operates

Extra setup may be composed of:

  • A radius server to test WPA-EAP
  • A dhcpd to speed up connman connection process

Here is an example of our test environment:

----------------------
    Test Machine |
       --------------|
      
      | |
      | wlan0--| ---------------
      | (STA) | | Radius Server |
      | | | |
      | wlan1--| | |
eth0 | (AP) | | eth0 | ----------

The script used to setup the above test environment is supplied FYI in launcher/wlantest.sh

Wlantest configuration test file format

Wlantest uses configuration files to load tests. Wlantest will be looking for its configuration files in /etc/wlantest/cfg/. They must have a .cfg suffix.

Allowed fields

A value can either be a single item or coma-separated items.

  • [Description]
    • description : A short description of the test.
  • [AP]
  • ssid : A string representation of an 802.11 SSID. If this field is not present, wlantest will use id_test as ssid.
  • hidden : Must be set to true if the AP is hidden, otherwise it can be ommited.
  • security : Security type, must be in {open, wpa-psk, wpa2-psk, wpa-eap, wpa2-eap}
  • mode : Radio mode, must be in {a, b, g, n, gn}
  • channel : Channel frequency, must be choosen accordingly to mode.
  • channelposition : Channel position, must be upper or lower. It is mandatory for 40Mhz bandwith. If not set, 20Mhz bandwith operation.
  • method : EAP method, which is mandatory for wpa-eap or wpa2-eap security. It must be in {PEAP, TTLS}
  • phase2 : phase2 type for EAP tunneld methods, must be in {MSCHAPV2, MD5}
  • identity : The identity used in EAP authentification.
  • passphrase : Either quoted string if passphrase or unquoted hexadecimal if raw key

    • If wep key (5 or 13 characters passphrase, or 10 or 26 digits key),
    • or wpa key (8 to 63 characters passphrase or 64 digits key),
    • or EAP password unquoted string.

Examples : "vwxyz" (wep passphrase) or 123456789a (wep key) or "12345678" (wpa passphrase)

  • [Connection]
  • mode : The mode of connection, must be in {manual, auto}
  • identity : The identity used to connect to EAP network.
  • passphrase : Either wep key, wpa psk or eap password used by the agent to connect.
  • [Result]
    • state : Expected connman state after connect attempt. Must be in {idle, ready, online}
    • error : Expected connman connect error. If no error expected, must be set to None.

Releases

No releases published

Packages

No packages published