Lint-wifi

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Beta Testing)
(Description)
 
(42 intermediate revisions by 14 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/].  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 <br>http://projects.openmoko.org/scm/?group_id=167
+
===Installation===
  
 +
'''Lint-wifi''' has a [http://projects.openmoko.org/projects/lint-wifi2/ project page].
 +
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].
  
kd8ikt says for the stock openmoko image do this *2007.2* (he precompiled wpa_lint)
+
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>
 
<pre>
opkg install python-pygtk
+
update_config=1
cd /usr/bin
+
ctrl_interface=DIR=/var/run/wpa_supplicant
wget http://we.trekbeyond.org/~kd8ikt/moko/buildz/Aug1/lint-wifi/wpa_lint
+
ap_scan=1
wget http://we.trekbeyond.org/~kd8ikt/moko/buildz/Aug1/lint-wifi/lint-wifi.py
+
chmod +x lint-wifi.py
+
chmod +x wpa_lint
+
cd /usr/share/pixmaps/
+
wget http://we.trekbeyond.org/~kd8ikt/moko/buildz/Aug1/lint-wifi/lint-wifi.png
+
cd /usr/share/applications/
+
wget http://we.trekbeyond.org/~kd8ikt/moko/buildz/Aug1/lint-wifi/lint-wifi.desktop
+
 
</pre>
 
</pre>
ps dont forget your /etc/wpa_supplicant/wpa_supplicant.conf
+
</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==
 
There are several requirements needed to run lint-wifi:
 
There are several requirements needed to run lint-wifi:
 
* PyGTK
 
* PyGTK
* A valid 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 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  [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 69: 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:Applications]]
+
[[Category:Wlan software]]
 +
[[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]. 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


kd8ikt says for the stock openmoko image do this *2007.2* (he precompiled wpa_lint)

opkg install python-pygtk
cd /usr/bin
wget http://we.trekbeyond.org/~kd8ikt/moko/buildz/Aug1/lint-wifi/wpa_lint
wget http://we.trekbeyond.org/~kd8ikt/moko/buildz/Aug1/lint-wifi/lint-wifi.py
chmod +x lint-wifi.py
chmod +x wpa_lint
cd /usr/share/pixmaps/
wget http://we.trekbeyond.org/~kd8ikt/moko/buildz/Aug1/lint-wifi/lint-wifi.png
cd /usr/share/applications/
wget http://we.trekbeyond.org/~kd8ikt/moko/buildz/Aug1/lint-wifi/lint-wifi.desktop

ps dont forget your /etc/wpa_supplicant/wpa_supplicant.conf

Requirements

There are several requirements needed to run lint-wifi:

  • PyGTK
  • A valid wpa_supplicant.conf in /etc/wpa_supplicant/wpa_supplicant.conf


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