Neo FreeRunner Wifi

From Openmoko

Revision as of 20:15, 29 July 2008 by Johnbeaven (Talk | contribs)

Jump to: navigation, search

Contents

What APs are available

root@om-gta02:~# iwlist eth0 scan

Using WPA and /etc/network/interfaces

Once you have a /etc/wpa_supplicant/wpa_supplicant.conf file, add a line under the eth0 entry in /etc/network/interfaces:

iface eth0 inet dhcp
   wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Save your changes and run:

 # ifdown eth0 && ifup eth0

You'll get a lot of messages, like ioctl[SIOCSIWENCODEEXT]: Operation not supported and sed: unrecognized option `--quiet', they appear to be harmless. The "--quiet" error message can be avoided by replacing "sed --quiet" with "sed -n" in /etc/wpa_supplicant/*.sh

Using WEP and /etc/network/interfaces

iface eth0 inet dhcp

   wireless-key my_wep_key
   wireless-essid my_essid
iface eth0 inet dhcp
   wpa-wep-key0 my_wep_key
   wpa-key-mgmt NONE
   wpa-ssid my_essid

Save your changes and run:

 # ifdown usb0 && ifup eth0

Manual attempt

Create and edit a suitable /etc/wpa_supplicant/wpa_supplicant.conf

root@om-gta02:~# ifup eth0
root@om-gta02:~# wpa_supplicant -ieth0 -c/etc/wpa_supplicant/wpa_supplicant.conf -B
root@om-gta02:~# udhcpc eth0

Sample wpa_supplicant.conf

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1 
# WPA2:
network={
       ssid="your ssid"
       scan_ssid=1
       proto=RSN
       key_mgmt=WPA-PSK
       pairwise=CCMP TKIP
       group=TKIP CCMP
       psk="secret key"
       priority=50
}

# WPA:
network={
      ssid="your_ssid"
      proto=WPA
      key_mgmt=WPA-PSK
      pairwise=TKIP
      group=TKIP
      scan_ssid=1
      psk="secret key"
      priority=10
}

# WEP:
network={
     ssid="your_ssid"
     scan_ssid=1
     key_mgmt=NONE
     wep_tx_keyidx=0
     wep_key0=your_hex_key
     priority=8
}

# Open:
network={
     ssid="your ssid"
     key_mgmt=NONE
     priority=5
}
wpa_supplicant.conf explained

highest priority tried first then falls back sequentially to the next highest number
priority=100 1st
then
priority=99

 

# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers
network={
	ssid="AP_ESSID"
	psk="presharedkey"
	priority=5
}


#try open AP regardless of its SSID.
# change root password before you go roaming around it could prove dangerous
network={
	key_mgmt=NONE
priority=1  #try any open AP last
}

more in depth explanation see
http://hostap.epitest.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=wpa_supplicant/wpa_supplicant.conf



A very ugly /etc/init.d/wlan startscript

#!/bin/sh
#
# wlan	This shell script starts and stops wlan.
#
# processname: wlan

# Source function library.
#. /etc/rc.d/init.d/functions
# "written" by HdR

RETVAL=0
prog="wlan"

# test -f /etc/default/$prog && . /etc/default/$prog

start() {
	echo -n "Starting $prog: "
	ifconfig eth0 up
	wpa_supplicant -ieth0 -c/etc/wpa_supplicant/wpa_supplicant.conf -B
	sleep 10
	udhcpc eth0
	RETVAL=$?
	return $RETVAL
}

stop() {
	# Stop daemons.
	echo -n "Shutting down $prog: "
        killall wpa_supplicant
	ifconfig eth0 down
#        killproc gpsd
	RETVAL=$?
	return $RETVAL
}

# See how we were called.
case "$1" in
  start)
	start
	;;
  stop)
	stop
	;;
  restart|reload)
	stop
	start
	RETVAL=$?
	;;
  *)
	echo "Usage: $0 {start|stop|restart}"
	exit 1
esac

exit $RETVAL


Success stories

July 23, 2008

wpa_supplicant 0.6.3-r1 works for me with WPA and WPA2 (with PSK) using the config file template on this page. Unlike the comment above, udhcpc is updating /etc/resolver.conf correctly for me (perhaps this is an old problem).

Bringing up wpa_supplicant manually or using "ifup eth0" with the wpa-conf option set in /etc/network/interfaces works for me. If usb0 was already up when running "ifup eth0" you'll end up with 2 default routes which can cause problems. To solve this either take usb0 down first or run "ip route del default dev usb0" to remove the default route to usb0.

July 19, 2008

I've had repeated success with:

# ifconfig eth0 up
# iwconfig eth0 essid any
# iwconfig eth0 key '...'
# iwconfig eth0 essid '...'
# udhcpc eth0
# ifconfig usb0 down; ifconfig usb0 up

Hope that helps someone. This is for WEP.

July 26, 2008

I've been able to connect to a variety of networks including WPA2 without too much difficulty. Follow the above steps in configuring your wpa_supplicant.conf and adding the line to load the supplicant in /etc/network/interfaces.

My sample WPA2 configuration is as follows:

  1. WPA2

network={

 ssid="MY_SSID"
 scan_ssid=1
 proto=RSN
 key_mgmt=WPA-PSK
 pairwise=CCMP TKIP
 group=CCMP TKIP
 psk="PASSWORD_PRESHARED_KEY"
 priority=50

}

That configuration will allow you to connect to a WPA2-Personal network with TKIP key encryption.

The "ifup eth0" command will connect you via WiFi. If you don't get a lease the first time, try again. Sometimes the configuration is a little too slow and DHCP tries to get a lease before a successful connection to your access point has been established.


The following may be helpful in order to scan available networks :

# iwlist eth0 scan

Available Software

Here are some applications available to aid in wifi administration..

lint-wifi

lint-wifi work in progress
http://wiki.openmoko.org/wiki/Lint-wifi

Mofi

mofi is a system to detect available wireless access points (APs) and automatically connect to the most appropriate one depending on the configuration. now includes gnome ui.

http://wiki.openmoko.org/wiki/mofi

Personal tools

What APs are available

root@om-gta02:~# iwlist eth0 scan

Using WPA and /etc/network/interfaces

Once you have a /etc/wpa_supplicant/wpa_supplicant.conf file, add a line under the eth0 entry in /etc/network/interfaces:

iface eth0 inet dhcp
   wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Save your changes and run:

 # ifdown eth0 && ifup eth0

You'll get a lot of messages, like ioctl[SIOCSIWENCODEEXT]: Operation not supported and sed: unrecognized option `--quiet', they appear to be harmless. The "--quiet" error message can be avoided by replacing "sed --quiet" with "sed -n" in /etc/wpa_supplicant/*.sh

Using WEP and /etc/network/interfaces

iface eth0 inet dhcp

   wireless-key my_wep_key
   wireless-essid my_essid
iface eth0 inet dhcp
   wpa-wep-key0 my_wep_key
   wpa-key-mgmt NONE
   wpa-ssid my_essid

Save your changes and run:

 # ifdown usb0 && ifup eth0

Manual attempt

Create and edit a suitable /etc/wpa_supplicant/wpa_supplicant.conf

root@om-gta02:~# ifup eth0
root@om-gta02:~# wpa_supplicant -ieth0 -c/etc/wpa_supplicant/wpa_supplicant.conf -B
root@om-gta02:~# udhcpc eth0

Sample wpa_supplicant.conf

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1 
# WPA2:
network={
       ssid="your ssid"
       scan_ssid=1
       proto=RSN
       key_mgmt=WPA-PSK
       pairwise=CCMP TKIP
       group=TKIP CCMP
       psk="secret key"
       priority=50
}

# WPA:
network={
      ssid="your_ssid"
      proto=WPA
      key_mgmt=WPA-PSK
      pairwise=TKIP
      group=TKIP
      scan_ssid=1
      psk="secret key"
      priority=10
}

# WEP:
network={
     ssid="your_ssid"
     scan_ssid=1
     key_mgmt=NONE
     wep_tx_keyidx=0
     wep_key0=your_hex_key
     priority=8
}

# Open:
network={
     ssid="your ssid"
     key_mgmt=NONE
     priority=5
}
wpa_supplicant.conf explained

highest priority tried first then falls back sequentially to the next highest number
priority=100 1st
then
priority=99

 

# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers
network={
	ssid="AP_ESSID"
	psk="presharedkey"
	priority=5
}


#try open AP regardless of its SSID.
# change root password before you go roaming around it could prove dangerous
network={
	key_mgmt=NONE
priority=1  #try any open AP last
}

more in depth explanation see
http://hostap.epitest.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=wpa_supplicant/wpa_supplicant.conf



A very ugly /etc/init.d/wlan startscript

#!/bin/sh
#
# wlan	This shell script starts and stops wlan.
#
# processname: wlan

# Source function library.
#. /etc/rc.d/init.d/functions
# "written" by HdR

RETVAL=0
prog="wlan"

# test -f /etc/default/$prog && . /etc/default/$prog

start() {
	echo -n "Starting $prog: "
	ifconfig eth0 up
	wpa_supplicant -ieth0 -c/etc/wpa_supplicant/wpa_supplicant.conf -B
	sleep 10
	udhcpc eth0
	RETVAL=$?
	return $RETVAL
}

stop() {
	# Stop daemons.
	echo -n "Shutting down $prog: "
        killall wpa_supplicant
	ifconfig eth0 down
#        killproc gpsd
	RETVAL=$?
	return $RETVAL
}

# See how we were called.
case "$1" in
  start)
	start
	;;
  stop)
	stop
	;;
  restart|reload)
	stop
	start
	RETVAL=$?
	;;
  *)
	echo "Usage: $0 {start|stop|restart}"
	exit 1
esac

exit $RETVAL


Success stories

July 23, 2008

wpa_supplicant 0.6.3-r1 works for me with WPA and WPA2 (with PSK) using the config file template on this page. Unlike the comment above, udhcpc is updating /etc/resolver.conf correctly for me (perhaps this is an old problem).

Bringing up wpa_supplicant manually or using "ifup eth0" with the wpa-conf option set in /etc/network/interfaces works for me. If usb0 was already up when running "ifup eth0" you'll end up with 2 default routes which can cause problems. To solve this either take usb0 down first or run "ip route del default dev usb0" to remove the default route to usb0.

July 19, 2008

I've had repeated success with:

# ifconfig eth0 up
# iwconfig eth0 essid any
# iwconfig eth0 key '...'
# iwconfig eth0 essid '...'
# udhcpc eth0
# ifconfig usb0 down; ifconfig usb0 up

Hope that helps someone. This is for WEP.

July 26, 2008

I've been able to connect to a variety of networks including WPA2 without too much difficulty. Follow the above steps in configuring your wpa_supplicant.conf and adding the line to load the supplicant in /etc/network/interfaces.

My sample WPA2 configuration is as follows:

  1. WPA2

network={

 ssid="MY_SSID"
 scan_ssid=1
 proto=RSN
 key_mgmt=WPA-PSK
 pairwise=CCMP TKIP
 group=CCMP TKIP
 psk="PASSWORD_PRESHARED_KEY"
 priority=50

}

That configuration will allow you to connect to a WPA2-Personal network with TKIP key encryption.

The "ifup eth0" command will connect you via WiFi. If you don't get a lease the first time, try again. Sometimes the configuration is a little too slow and DHCP tries to get a lease before a successful connection to your access point has been established.


The following may be helpful in order to scan available networks :

# iwlist eth0 scan

Available Software

Here are some applications available to aid in wifi administration..

lint-wifi

lint-wifi work in progress
http://wiki.openmoko.org/wiki/Lint-wifi

Mofi

mofi is a system to detect available wireless access points (APs) and automatically connect to the most appropriate one depending on the configuration. now includes gnome ui.

http://wiki.openmoko.org/wiki/mofi