go-wireless

command module
v0.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 25, 2014 License: MIT Imports: 2 Imported by: 0

README

iwlib

Requires:

apt-get install libiw-dev

Example:

networks, err := iwlib.GetWirelessNetworks("wlan0")
if err != nil {
	fmt.Printf("Error retrieve wireless networks:", err)
	return
}

for _, network := range networks {
	fmt.Printf("SSID: %v\n", network.SSID)
}

wpactl

Requires a running wpa_supplicant with control interface at /var/run/wpa_supplicant.

Example:

wpa_ctl, err := NewController("wlan0")
if err != nil {
	log.Fatal("Error:", err)
}
defer wpa_ctl.Cleanup()

err = wpa_ctl.ReloadConfiguration()
if err != nil {
	log.Fatal("Error:", err)
}

networks, err := wpa_ctl.ListNetworks()
if err != nil {
	log.Fatal("Error retrieving networks:", err)
}
for _,network := range networks {
	log.Println("NET", network)
}

i, _ := wpa_ctl.AddNetwork()
wpa_ctl.SetNetworkSettingString(i, "ssid", "helloworld")
wpa_ctl.SetNetworkSettingString(i, "psk", "thisisnotarealpsk")
wpa_ctl.SetNetworkSettingRaw(i, "scan_ssid", "1")
wpa_ctl.SetNetworkSettingRaw(i, "key_mgmt", "WPA-PSK")
wpa_ctl.SelectNetwork(i)
wpa_ctl.SaveConfiguration()
//

for {
	event := <- wpa_ctl.EventChannel
	//log.Println(event)
	switch event.Name {
		case "CTRL-EVENT-DISCONNECTED":
			log.Println("Disconnected")
		case "CTRL-EVENT-CONNECTED":
			log.Println("Connected")
		case "CTRL-EVENT-SSID-TEMP-DISABLED":
			log.Println("InvalidKey")
	}
}

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL