PDA

View Full Version : It's over!


riskable
09-01-2009, 01:18 PM
Final submissions are due today and mine has been submitted. Now I can rest and do... Housework! I think my driveway is 10% smaller now because I haven't edged it in forever.

Anyway, I have a fully-loaded firmware image, ipks, and source code I'd love to share with everyone. I emailed Ubiquiti asking if that would be alright but maybe I'll get a quicker response in the forums...

Lastly, I have two new screenshots to share:

http://www.flickr.com/photos/18175109@N00/3879245730/sizes/o/
http://www.flickr.com/photos/18175109@N00/3879245736/sizes/o/

I call it, "Escape From The Web!". It is a Quake-style drop-down terminal that can be used on any PyCI page. Just like in my Quagga screencast it supports command line history browsing with the up/down arrows and control-u, control-shift-y, control-c, and control-l work as expected. So if you don't like a particular GUI page for something you can always drop down to the command line... Anywhere!

I 'branded' it separate from PyCI because I think I can turn it into a script that can be embedded in just about any web site. The site running any given page just needs to support a minimal API and it should just magically 'work'. There's security concerns with giving users shell access to a server but that'll have to be deferred to the security model of the website and/or server anyway. For reference, the shell it uses doesn't have to be bash (could make your own limited-use shell =).

I want it to (eventually) be a more portable/flexible version of ajaxterm WITHOUT the annoying long-polling (hits your server every second) WITH screen-like detach/reattach capability. I've already got some of this working in test code but the full-screen apps (like vi) are giving me trouble. My test code even works with control-c (sends a SIGINT to the process).

I didn't get a chance to include the SIGINT capability in the final version because I need to change too many things around in EFTW to make it work. Essentially, not enough time for testing (didn't want to have a trivial feature break things).

Lastly, I thought I should mention that as part of the contest I built a separate tool: l2sh.py. It is a layer-2 shell client/server written in Python that works very similarly to telnet. It can get you into your router even if you completely hosed your TCP/IP config or blocked yourself out with a firewall rule.

l2sh is in my RouterStation firmware image and starts on boot =).

For reference, I plan to eventually make it "l2ssh" because I can't foresee any technical reason why it can't be a secure layer 2 shell. Just a lot of stuff to figure out!

swang2002
09-01-2009, 01:36 PM
Don't know if UBNT has responded or not, but I would love to get my hands on that firmware if you don't mind. I have two routerstations that I have deployed with limited success due to my lack of command line expertise. Any word back yet?

UBNT-Robert
09-01-2009, 01:39 PM
Hi guys --

We'll start reviewing at the end of the day.

Robert

riskable
09-01-2009, 02:12 PM
Don't know if UBNT has responded or not, but I would love to get my hands on that firmware if you don't mind. I have two routerstations that I have deployed with limited success due to my lack of command line expertise. Any word back yet?

Now you have me curious: What problems did you have? Specifically, what were you trying to configure but couldn't?

I want to get a mental image of how you'd do it in PyCI to see if my creation will solve your problems (or at least make things easier).

...and now you have me thinking about my firmware: It has *friggin everything* included because of the contest requirements. I'm going to build a firmware that has just the "bare essentials + PyCI + l2sh" for public consumption (when allowed).

MaximumISP
09-01-2009, 05:34 PM
riskable Congratulations thus far looking good love the
l2sh.py tool (brilliant addition)
Robert common man throw us a bone

swang2002
09-01-2009, 07:36 PM
Now you have me curious: What problems did you have? Specifically, what were you trying to configure but couldn't?

I want to get a mental image of how you'd do it in PyCI to see if my creation will solve your problems (or at least make things easier).

...and now you have me thinking about my firmware: It has *friggin everything* included because of the contest requirements. I'm going to build a firmware that has just the "bare essentials + PyCI + l2sh" for public consumption (when allowed).
I am having a hard time making it functional for me. The lack of a signal measuring tool (ap mode viewing connected client signal strength), as well as multiple networks for dhcp running on the same interface. I am sure these things are possible, but I didn't have the time to learn the "tricks" to make them possible. I am a novice at best when it comes to command line interfaces. I could learn, but I would rather pay people like you to make me a nice button to push or check box to click and have all the "work" done in the background. If that is not what your design is, then maybe I will be stuck learning it after all.

riskable
09-02-2009, 06:20 AM
I am having a hard time making it functional for me. The lack of a signal measuring tool (ap mode viewing connected client signal strength), as well as multiple networks for dhcp running on the same interface. I am sure these things are possible, but I didn't have the time to learn the "tricks" to make them possible. I am a novice at best when it comes to command line interfaces. I could learn, but I would rather pay people like you to make me a nice button to push or check box to click and have all the "work" done in the background. If that is not what your design is, then maybe I will be stuck learning it after all.

Well, I'm not sure that what you want to do is even possible. I'm not aware of a command that can display client signal strength (from the AP in AP-mode anyway). I think Kismet gives rudimentary signal strength but you'd have to run it on a separate wireless card installed in your RouterStation. If there's a command-line tool that displays such information I can easily write a front-end for it (or you could just use the ESC terminal =).

As far as running two different DHCP networks on the same interface: Are you talking about using VLAN tagging with multiple DHCP interfaces?

For reference, PyCI can handle the dual-DHCP situation but not the client strength bit (obviously). You still have to understand what you're doing though (and that is kind of a complicated setup). Here's a mini-HOWO (from the "just installed the PyCI firmware" stage):

1) Go to Network->Interfaces and click on the New Interface tab. Add a new interface with all the network settings you want for DHCP network A. The only caveat is that you must name the virtual interface ("ifname") like so: ethX.Y. Where X is the ethernet device you're dealing with and Y is the VLAN tag number (e.g. eth0.2). Note: If you hover your mouse over 'ifname' it will pop-up a message describing VLAN tagging.
2) Do the same for network B using the same ethernet device but a different tag (hopefully you already know which VLAN tag numbers to use).

Now you've got two virtual interfaces on the same network card for two different VLANs. The next step is to configure two dnsmasq interfaces:

1) Go to Network->DHCP Server and click on the New DHCP Interface tab. Add two new DHCP interfaces for each network interface you created using whatever DHCP settings you like for each respective network segment.

2) System->Reboot.

...and that's pretty much it. The dnsmasq settings can be a bit confusing (Note to self: Improve the help pop-ups in that section) but that part should be pretty straightforward.

dconnrt
09-02-2009, 06:42 AM
...The lack of a signal measuring tool (ap mode viewing connected client signal strength)...

With MadWifi the command is:

wlanconfig athX list sta

That'll show you connect associated clients and their signal strength

Derek

riskable
09-02-2009, 07:35 AM
With MadWifi the command is:

wlanconfig athX list sta

That'll show you connect associated clients and their signal strength

Derek

Do you know of a tool to do it with the ath9k driver? ...or a more universal way?

CzechEnglishFrenchGermanItalianPolishPortugueseRussianSpanish
Translations supported by vB Enterprise Translator 3.5.4