Lint-wifi

From Openmoko

(Difference between revisions)
Jump to: navigation, search
m (Beta Testing)
(Description)
 
(16 intermediate revisions by 3 users not shown)
Line 2: Line 2:
  
 
==Description==
 
==Description==
lint-wifi is a relatively simplistic application written in PyGTK for the Neo FreeRunner.  It aims to create a GUI-based method for associating with wireless networks, and provide various bits of connection-related information and control.  It is designed to work without a stylus, except when entering passwords (which are normally stored).
+
lint-wifi is a relatively simplistic application written in PyGTK for the Neo FreeRunner.  It aims to create a GUI-based method for associating with wireless networks, and provide various bits of connection-related information and control.
It is at the moment intended to do ''nothing'' unless a button is pushed.
+
  
It will be released ''soon''.
+
Lint-wifi was created by Jeffrey Malone in Jul 2008, but since then it seems to be abandoned. Because of this, a new project was started: '''lint-wifi2'''. The program now runs on the OpenMoko '''2008.12''', it fixes some issues, adds some functionalities and provides an .opk package for an easy install.
  
===Beta Testing===
+
If Jeffrey will regain interest in the project, surely we can merge lint-wifi and lint-wifi2 and mantain a single project.
lint-wifi now has a project page[http://lint-wifi.projects.openmoko.org/] (or [http://projects.openmoko.org/projects/lint-wifi/]).  Those who wish to beta test, please go to there and look at [[http://projects.openmoko.org/scm/?group_id=167 svn]].  Please submit all bug reports to the trac there.  
+
  
svn help <br>http://projects.openmoko.org/scm/?group_id=167
+
===Installation===
  
There's also an unofficial [[http://github.com/timabell/lint-wifi git repo]].<br><br>
+
'''Lint-wifi''' has a [http://projects.openmoko.org/projects/lint-wifi2/ project page].
i made a new pkg last i checked you need some things in the scaredycat repo like pygtk http://wiki.openmoko.org/wiki/Repositories <br>
+
You can download the source tarball or the '''OpenMoko package''' from the [http://projects.openmoko.org/frs/?group_id=304 Files page], or browse the source tree from the [http://projects.openmoko.org/scm/?group_id=304 Subversion page].
http://we.trekbeyond.org/~kd8ikt/moko/buildz/lint-wifi_0.1_armv4t.ipk <br>
+
 
also added a few easter egg addons like wifiweasel ;) accelxranr.py, gta02.py and tree
+
You are encouraged to install the program and report any issue via the [http://projects.openmoko.org/tracker/?group_id=304 Tracker page].
 +
 
 +
====wpa_supplicant.conf====
 +
lint-wifi requires /etc/wpa_supplicant/wpa_supplicant.conf to be present. This works for me (tm)
 +
 
 +
<code>
 +
<pre>
 +
update_config=1
 +
ctrl_interface=DIR=/var/run/wpa_supplicant
 +
ap_scan=1
 +
</pre>
 +
</code>
 +
 
 +
The first line is necessary if you want wpa_supplicant to able to rewrite the file itself when you add or edit some access point configuration. I needed the third one to get scanning to work.
 +
 
 +
====Compiling wpa_lint====
 +
lint-wifi is a python script, you can just copy lint-wifi.py to your phone and make it executable. It relies on wpa_lint however wich is written in C, so you need to compile it.
 +
 
 +
On Debian/Ubuntu grab openmoko-toolchain_0.20080521-ubuntu6_i386.deb (see [http://andreasdalsgaard.blogspot.com/2008/07/openmoko-development-in-5-minutes.html]). Edit the Makefile for wpa_lint, at the top comment out the line starting with gcc= and add the line
 +
gcc = arm-angstrom-linux-gnueabi-gcc
 +
 
 +
Now just do make and copy the resulting wpa_lint to your phone. Don't forget to make it executable. You should put it in any directory pointed by the superuser PATH (e.g. /usr/sbin/).
  
 
==Requirements==
 
==Requirements==
Line 22: Line 41:
 
* A valid [http://wiki.openmoko.org/wiki/GTA02_WLAN#Sample_wpa_supplicant.conf wpa_supplicant.conf] in /etc/wpa_supplicant/wpa_supplicant.conf
 
* A valid [http://wiki.openmoko.org/wiki/GTA02_WLAN#Sample_wpa_supplicant.conf wpa_supplicant.conf] in /etc/wpa_supplicant/wpa_supplicant.conf
  
==Known bug==
+
==Known bugs==
 
   
 
   
If launching 'lint-wifi.py' fails with ''NameError: name 'init' is not defined'', then
+
If launching 'lint-wifi.py' fails with '''NameError: name 'init' is not defined''', then
 
edit the file ''/usr/lib/python2.5/site-packages/gtk-2.0/gtk/__init__.py'', go to line 82 and add an underscore in front of the "init()" so that it reads "_init()". Reference  [http://lists.openmoko.org/nabble.html#nabble-tc1128064%7Ca1128064].
 
edit the file ''/usr/lib/python2.5/site-packages/gtk-2.0/gtk/__init__.py'', go to line 82 and add an underscore in front of the "init()" so that it reads "_init()". Reference  [http://lists.openmoko.org/nabble.html#nabble-tc1128064%7Ca1128064].
 +
 +
'''Even the WiFi is off, the icon is still there in illume bar'''. This is a known bug, see ticket [https://docs.openmoko.org/trac/ticket/1742 #1742].
  
 
=Tour=
 
=Tour=
  
==Layout==
+
Lint-wifi is broken into pages, each page offering various bits of information or control. Below are the screenshot of some pages.
lint-wifi is broken into pages, each page offering various bits of information or control. Below are the pages, as they exist at version .1A
+
  
 
==AP List==
 
==AP List==
[[Image:aplist.png]]
+
[[Image:Lint-wifi2_aplist.png|thumb|256px|Lint-wifi: Access Point List]]
(image outdated)
+
  
 
AP List will show APs that can currently be seen.  They will initially be ordered by how wpa_supplicant feels are best.
 
AP List will show APs that can currently be seen.  They will initially be ordered by how wpa_supplicant feels are best.
 
Columns include:
 
Columns include:
* essid
+
* '''SSID'''
* Enc -- Consisting of "WPA", "WEP" and "off"
+
* '''Enc''' -- Encryption, consisting of "WPA", "WEP" or "off"
* Signal
+
* '''Signal''' -- Signal strenght
* Chan
+
* '''Chan''' -- WiFi Channel
* S -- indicating State or Status:
+
* '''S''' -- Indicating network status:
** C: Connected
+
** '''C''': Connected
** K: Known/configured (eg, password is stored) and enabled
+
** '''K''': Known/configured (eg, password is stored) and enabled
** D: Known/configured and disabled
+
** '''D''': Known/configured and disabled
** -: Unknown
+
** '''-''': Unknown
* Mode -- At present is unused, will indicate Managed/Infrastructure vs Ad-Hoc
+
* '''Mode''' -- At present is unused, will indicate Managed/Infrastructure vs Ad-Hoc
  
 
Buttons:
 
Buttons:
* Scan
+
* '''Scan''' -- Scan for WiFi networks
* Edit -- Edits the settings of APs configured or visible
+
* '''Edit''' -- Edits the settings of APs configured or visible
* Exit
+
* '''WiFi Off''' -- Toggle power to the WiFi device
 +
* '''Exit''' -- Exit the program
 +
<br style="clear:both" />
 +
 
 +
==Connection Edit==
 +
[[Image:Lint-wifi2_edit.png|thumb|256px|Lint-wifi: Connection Edit Page]]
 +
 
 +
Select a connection and click the Edit button to set the password. Checking the '''Save''' checkbox will issue the '''save_config''' command to the '''wpa_supplicant''' process, which will rewrite the /etc/wpa_supplicant/wpa_supplicant.conf file.
 +
<br style="clear:both" />
  
 
==Status==
 
==Status==
[[Image:status.png]]
+
[[Image:Lint-wifi2 status.png|thumb|256px|Lint-wifi: Status Page]]
(image outdated)
+
  
 
The Status page will primarily indicate the configured status of eth0.
 
The Status page will primarily indicate the configured status of eth0.
Line 62: Line 88:
 
The Renew DHCP button can be used to nudge udhcpc into renewing.
 
The Renew DHCP button can be used to nudge udhcpc into renewing.
 
An "Enable All APs" button enables all that APs set to disabled.
 
An "Enable All APs" button enables all that APs set to disabled.
 +
<br style="clear:both" />
  
 
==Conn==
 
==Conn==
[[Image:conn.png]]
+
[[Image:Lint-wifi2_connection.png|thumb|256px|Lint-wifi: Connection Page]]
  
 
The Conn page shows information related to the associated AP.
 
The Conn page shows information related to the associated AP.
 +
<br style="clear:both" />
  
 
==Config==
 
==Config==
Config is at present empty, but will contain various lint-wifi configuration options, such as support for hiding certain columns in the AP List.
+
Allow hiding certain columns in the AP List.
 
+
<br style="clear:both" />
 
+
----
+
A couple other screenshots:
+
(outdated)
+
 
+
[[Image:aplist_pass.png]]
+
[[Image:aplist_disc.png]]
+
  
  
 +
[[Category:Wlan software]]
 
[[Category:Settings Applications]]
 
[[Category:Settings Applications]]

Latest revision as of 16:08, 12 October 2009

Contents

[edit] Introduction

[edit] Description

lint-wifi is a relatively simplistic application written in PyGTK for the Neo FreeRunner. It aims to create a GUI-based method for associating with wireless networks, and provide various bits of connection-related information and control.

Lint-wifi was created by Jeffrey Malone in Jul 2008, but since then it seems to be abandoned. Because of this, a new project was started: lint-wifi2. The program now runs on the OpenMoko 2008.12, it fixes some issues, adds some functionalities and provides an .opk package for an easy install.

If Jeffrey will regain interest in the project, surely we can merge lint-wifi and lint-wifi2 and mantain a single project.

[edit] Installation

Lint-wifi has a project page. You can download the source tarball or the OpenMoko package from the Files page, or browse the source tree from the Subversion page.

You are encouraged to install the program and report any issue via the Tracker page.

[edit] wpa_supplicant.conf

lint-wifi requires /etc/wpa_supplicant/wpa_supplicant.conf to be present. This works for me (tm)

update_config=1
ctrl_interface=DIR=/var/run/wpa_supplicant
ap_scan=1

The first line is necessary if you want wpa_supplicant to able to rewrite the file itself when you add or edit some access point configuration. I needed the third one to get scanning to work.

[edit] Compiling wpa_lint

lint-wifi is a python script, you can just copy lint-wifi.py to your phone and make it executable. It relies on wpa_lint however wich is written in C, so you need to compile it.

On Debian/Ubuntu grab openmoko-toolchain_0.20080521-ubuntu6_i386.deb (see [1]). Edit the Makefile for wpa_lint, at the top comment out the line starting with gcc= and add the line gcc = arm-angstrom-linux-gnueabi-gcc

Now just do make and copy the resulting wpa_lint to your phone. Don't forget to make it executable. You should put it in any directory pointed by the superuser PATH (e.g. /usr/sbin/).

[edit] Requirements

There are several requirements needed to run lint-wifi:

[edit] Known bugs

If launching 'lint-wifi.py' fails with NameError: name 'init' is not defined, then edit the file /usr/lib/python2.5/site-packages/gtk-2.0/gtk/__init__.py, go to line 82 and add an underscore in front of the "init()" so that it reads "_init()". Reference [2].

Even the WiFi is off, the icon is still there in illume bar. This is a known bug, see ticket #1742.

[edit] Tour

Lint-wifi is broken into pages, each page offering various bits of information or control. Below are the screenshot of some pages.

[edit] AP List

Lint-wifi: Access Point List

AP List will show APs that can currently be seen. They will initially be ordered by how wpa_supplicant feels are best. Columns include:

  • SSID
  • Enc -- Encryption, consisting of "WPA", "WEP" or "off"
  • Signal -- Signal strenght
  • Chan -- WiFi Channel
  • S -- Indicating network status:
    • C: Connected
    • K: Known/configured (eg, password is stored) and enabled
    • D: Known/configured and disabled
    • -: Unknown
  • Mode -- At present is unused, will indicate Managed/Infrastructure vs Ad-Hoc

Buttons:

  • Scan -- Scan for WiFi networks
  • Edit -- Edits the settings of APs configured or visible
  • WiFi Off -- Toggle power to the WiFi device
  • Exit -- Exit the program


[edit] Connection Edit

Lint-wifi: Connection Edit Page

Select a connection and click the Edit button to set the password. Checking the Save checkbox will issue the save_config command to the wpa_supplicant process, which will rewrite the /etc/wpa_supplicant/wpa_supplicant.conf file.

[edit] Status

Lint-wifi: Status Page

The Status page will primarily indicate the configured status of eth0.

The Renew DHCP button can be used to nudge udhcpc into renewing. An "Enable All APs" button enables all that APs set to disabled.

[edit] Conn

Lint-wifi: Connection Page

The Conn page shows information related to the associated AP.

[edit] Config

Allow hiding certain columns in the AP List.

Personal tools

Introduction

Description

lint-wifi is a relatively simplistic application written in PyGTK for the Neo FreeRunner. It aims to create a GUI-based method for associating with wireless networks, and provide various bits of connection-related information and control. It is designed to work without a stylus, except when entering passwords (which are normally stored). It is at the moment intended to do nothing unless a button is pushed.

It will be released soon.

Beta Testing

lint-wifi now has a project page[1] (or [2]). Those who wish to beta test, please go to there and look at [svn]. Please submit all bug reports to the trac there.

svn help
http://projects.openmoko.org/scm/?group_id=167

There's also an unofficial [git repo].

i made a new pkg last i checked you need some things in the scaredycat repo like pygtk http://wiki.openmoko.org/wiki/Repositories
http://we.trekbeyond.org/~kd8ikt/moko/buildz/lint-wifi_0.1_armv4t.ipk
also added a few easter egg addons like wifiweasel ;) accelxranr.py, gta02.py and tree

Requirements

There are several requirements needed to run lint-wifi:

Known bug

If launching 'lint-wifi.py' fails with NameError: name 'init' is not defined, then edit the file /usr/lib/python2.5/site-packages/gtk-2.0/gtk/__init__.py, go to line 82 and add an underscore in front of the "init()" so that it reads "_init()". Reference [3].

Tour

Layout

lint-wifi is broken into pages, each page offering various bits of information or control. Below are the pages, as they exist at version .1A

AP List

Aplist.png (image outdated)

AP List will show APs that can currently be seen. They will initially be ordered by how wpa_supplicant feels are best. Columns include:

  • essid
  • Enc -- Consisting of "WPA", "WEP" and "off"
  • Signal
  • Chan
  • S -- indicating State or Status:
    • C: Connected
    • K: Known/configured (eg, password is stored) and enabled
    • D: Known/configured and disabled
    • -: Unknown
  • Mode -- At present is unused, will indicate Managed/Infrastructure vs Ad-Hoc

Buttons:

  • Scan
  • Edit -- Edits the settings of APs configured or visible
  • Exit

Status

Status.png (image outdated)

The Status page will primarily indicate the configured status of eth0.

The Renew DHCP button can be used to nudge udhcpc into renewing. An "Enable All APs" button enables all that APs set to disabled.

Conn

Conn.png

The Conn page shows information related to the associated AP.

Config

Config is at present empty, but will contain various lint-wifi configuration options, such as support for hiding certain columns in the AP List.



A couple other screenshots: (outdated)

Aplist pass.png Aplist disc.png