Lint-wifi

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(AP List)
(Description)
 
(6 intermediate revisions by one user not shown)
Line 4: Line 4:
 
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 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.8, it fixes some issues, adds some functionalities and provides an .opk package for an easy install.
+
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.
 
If Jeffrey will regain interest in the project, surely we can merge lint-wifi and lint-wifi2 and mantain a single project.
Line 26: Line 26:
 
</code>
 
</code>
  
The first line is probably not necessary. It would allow lint-wifi to save its configuration back to wpa_supplicant.conf, which I believe it doesn't do ATM. I needed the third one to get scanning to work.
+
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====
+
====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.
 
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.
  
Line 34: Line 34:
 
gcc = arm-angstrom-linux-gnueabi-gcc
 
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. It has to go in /home/root (hardcoded in lint-wifi).
+
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 41: 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==
Line 72: Line 73:
 
* '''WiFi Off''' -- Toggle power to the WiFi device
 
* '''WiFi Off''' -- Toggle power to the WiFi device
 
* '''Exit''' -- Exit the program
 
* '''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:Lint-wifi2 status.png]]
+
[[Image:Lint-wifi2 status.png|thumb|256px|Lint-wifi: Status Page]]
  
 
The Status page will primarily indicate the configured status of eth0.
 
The Status page will primarily indicate the configured status of eth0.
Line 80: 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:Lint-wifi2 connection.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==
 
Allow hiding certain columns in the AP List.
 
Allow hiding certain columns in the AP List.
 
+
<br style="clear:both" />
----
+
Another screenshot:
+
 
+
[[Image:Lint-wifi2 edit.png]]
+
  
  
 
[[Category:Wlan software]]
 
[[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.

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.8, 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.

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.

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 probably not necessary. It would allow lint-wifi to save its configuration back to wpa_supplicant.conf, which I believe it doesn't do ATM. 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 [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. It has to go in /home/root (hardcoded in lint-wifi).

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 [2].

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

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

Status

Lint-wifi2 status.png

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

Lint-wifi2 connection.png

The Conn page shows information related to the associated AP.

Config

Allow hiding certain columns in the AP List.


Another screenshot:

Lint-wifi2 edit.png