PDA

View Full Version : Another milestone passed for PyCI!


riskable
08-09-2009, 08:09 PM
PyCI is now an ipk!

riskable@target:/storage/openwrt-routerstation/openwrt $ ls -lh bin/packages/target-mips_uClibc-0.9.30.1/PyCI_0.5-1_ar71xx.ipk
-rw-r--r-- 1 riskable riskable 677K 2009-08-09 22:30 bin/packages/target-mips_uClibc-0.9.30.1/PyCI_0.5-1_ar71xx.ipk

...and I've got it integrated into the openwrt build process just like a regular package. After the contest is over people should be able to add it to their feeds and have it show up in "make menuconfig" just like everything else.

For reference, I knocked out the, "4. VLANs - IEEE802.1q Virtual LANs" requirement today. I didn't realize it but I had already coded the necessary bits for VLAN tagging--you just need to name your interfaces like so: "eth0.1 eth1.7" to have them tagged to VLANs 1 and 7 respectively. I also added a "switch" configuration section to the Network plugin to complete the functionality.

Here's what's left:

* A few misc wireless settings I need to make sure are configurable (e.g. "repeater").
* Site Survey.
** Firewall configuration stuff
* Firmware flash.
* Manual clock control.
** USB Storage Interface (not sure how I'll handle this one).
* QOS Interface
** Chillispot configuration interface (to satisfy the Radius/AAA/Hotspot requirements).
** Quagga configuration interface (to satisfy all the fancy routing requirements).
* Need to add a few things to my logging configuration options.
* More "Usage Statistics".
** VPN Server configuration interfaces (PPTP, L2TP, etc).
* Dynamic DNS configuration interface.
*** Bonding configuration interface.
* HTTP and DNS proxy configuration interfaces (does dnsmasq count as a "DNS proxy"? Hmm).
* Layer 2 Telnet.

Each star represents my perceived level of difficulty/time required. I think boding will take the most time because OpenWRT currently has no persistent bonding config like, say, /etc/config/bonding so I'll probably have to write that before I can even begin writing a configuration interface for it in PyCI.

Lastly, I'll leave you with a screenshot of something I finished up last week that was fun to code:

http://www.flickr.com/photos/18175109@N00/3806702854/

The Speed Test Client and Speed Test Server are cross-platform (Linux, Windows, Mac OS X, whatever!) and can be executed as standalone programs (PyCI isn't necessary). In fact, speedtester.py (~9k) is the only thing you need to perform bandwidth tests on the command line or in your own Python program (like my GUI client =). I'm hoping it winds up in other projects in the future once the code is public.

riskable
08-10-2009, 07:41 AM
I just posted a screenshot of a speed test between a Linux laptop and an actual RouterStation over the WAN (100BaseT) link...

http://www.flickr.com/photos/18175109@N00/3807349885/

The graph goes up and down a bit because of its 2-second update interval (a little network interruption is all it takes to cut the measured speed in half temporarily over a single cable since the bandwidth is shared). If the user just closes that dialog or views the web page coming over a different interface it would make for a less bumpy graph. For reference, this doesn't really matter to the client since it provides a real-time view of the bandwidth speed (you'd just see a momentary drop then everything would go back to normal).

CzechEnglishFrenchGermanItalianPolishPortugueseRussianSpanish
Translated to other languages thanks to vBET Translator 3.5.4