You are not logged in.
What's up friends, my name is Mario Garcia, better known as Matt Dark, I'm from Mexico, I want to share a little application that I developed in order to get a network manager for my system, I installed Arch 3 months ago and I chose KDE as my graphical environment, but I didn't get a network manager during installation, I could compile it but I chose to program a little app, named TinyWiFi, that I want to share with you guys, I hope it will help you, every comment and suggestion is welcome. But for now it only runs in a terminal, I hope I will have time to designe a GUI for this tool. When all is said and done I give you the code.
tinywifi
#Mario A. Garcia (Matt Dark). Chiapas, Mexico
sudo ifconfig wlan0 up
sudo iwlist wlan0 scan > /usr/bin/red.txt
tinywifi.py
sudo rm /usr/bin/red.txtThis first code find wireless connections and shows a list with them. The application calls a python script that analize the result of scan and get connection to the chose network, and if it haves seccurity assigned, it asks for Wep Key.
tinywifi.py
#! /usr/bin/env python
#Mario A. Garcia (Matt Dark). Chiapas,Mexico
import os
#Open a text archive that contains the result of the scan
f = open("/usr/bin/red.txt", "r")
red={}
ch={}
ek={}
x=-1
c=-1
r=-1
while True:
line = f.readline()
if not line: break
#Save the name of ESSID
if line.find("ESSID")>=0:
x=x+1
word=line.split(":")
red[x] = word[1]
red[x] = red[x].replace('\n','')
#Save the channel of connection
if line.find("Channel:")>=0:
c=c+1
word=line.split(":")
ch[c] = word[1]
ch[c] = ch[c].replace('\n','')
#Save the state of the encryption key (on/off)
if line.find("Encryption key:")>=0:
r=r+1
word=line.split(":")
ek[r] = word[1]
ek[r] = ek[r].replace('\n','')
#List the name of connections available
for l in range (0,x+1):
print str(l+1)+".-" + red[l]
n=int(raw_input('A que red desea conectarse: '))
n=n-1
#Analize the encryption key, in consecuence determine the need of a WEP Key
if ek[n] == "on":
#Request encryption key
k=raw_input('WEP Key: ')
cm = "iwconfig wlan0 essid " + str(red[n]) + " channel " + str(ch[n]) + " key " + str(k) + " & dhclient wlan0"
os.system(cm)
else:
cm = "iwconfig wlan0 essid " + str(red[n]) + " channel " + str(ch[n]) + " & dhclient wlan0"
os.system(cm)Copy both scripts to /usr/bin and give execution permissions (chmod +x). Don't forget to chance wlan0 for the name of your wireless interface. From terminal execute tinywifi to use this app. It is a simple application but it helped me, and i hope it will help you too. That's all for now. This is my first post but it won't be the last.
Last edited by MattDark (2009-06-25 05:37:51)
Love Is Like Linux, It's A Little Difficult To Explain
Offline
Welcome to Arch, and thanks for your scripts. I think the first one is missing its shebang (#!/bin/sh).
I don't use KDE myself, but I expect there is netowrk manager support for it. Maybe someone else can answer that for you - although you seem to be happy with your own solution, so maybe it's not important to you anymore. ![]()
Offline
Thanks and welcome to the forum.
I'll have to try out your solution. I didn't see a network manager plugin when I installed KDE, but maybe I didn't look hard enough.
Offline
Thank you for your script.
While it is set up differently, maybe you should have a look at netcfg, an Archlinux-specific app that is also CLI-based. netcfg works with profiles though and does not support connecting to a network that is not already a profile.
Offline
While it is set up differently, maybe you should have a look at netcfg, an Archlinux-specific app that is also CLI-based. netcfg works with profiles though and does not support connecting to a network that is not already a profile.
Also you might find it intereresting wifi-select tool:
http://bbs.archlinux.org/viewtopic.php?id=63973
It's based on netcfg and supports connecting to a network that is not already a profile (by autogeneration profiles for netcfg).
With best regards,
Ivan N. Veselov.
Offline