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