Lint-wifi

From Openmoko

Jump to: navigation, search

Contents

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

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 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 [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/).

Requirements

There are several requirements needed to run lint-wifi:

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.

Tour

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

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


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.

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.

Conn

Lint-wifi: Connection Page

The Conn page shows information related to the associated AP.

Config

Allow hiding certain columns in the AP List.

Personal tools