BT voyager 205 router

Advanced Viking Voyager Hacking..

Where we get inside the gubbins of the viking based routers; BT Voyager 205, of course, CastleNet AR502, Dynalink RTA100, RTA500-D51, GlobespanVirata, Netgear DM602, Solwise SAR100 & SAR130 and probably others, and discuss such topics as firmware hacking, telnet scripting, router application building (and testing) without all the noise of folk asking how to get Command And Conquer (whatever that is) to work.

Feel free to help out, offer scripts, applications, beta testing, debate, disagree, suggest, whatever, in the comments section, below.

I might put more text here, but really we just needed the breathing space away from the regular comments to cover the more "advanced" topics..
;o) corz.org

Secret Page Selectors..

Telnet may be a superior tool for configuring your router, but your web browser is certainly a much cooler way to view the results. Don't forget to bookmark your favourites!

Secret Admin Page Selector!

Skip the tedious interfacing, and open all the "advanced" pages directly, including quite a few you can't get via the regular BT pages!

(opens in a cool windoid, or possibly a new tab)

special pages..

get the source!   open this tool in its own window

Secret PopOut Page Selector!

More of the same fun, but this time, for the PopOut pages.

(opens in a cool windoid, or possibly a new tab)

get the source!   open this tool in its own window

Before you ask a question..

This is not the place to ask how to get eMule working, or your xbox, or whatever, try the main page for that stuff, which is a lot better than having your comment deleted, or worse.. ignored!


previous comments (twenty three pages)   show all comments

cor - 23.04.06 11:39 am

The 31 thing is weird.

I added it because, when I was done, I noticed all rules *except* 31 had been removed, so I added it. On my 205, it makes no difference to the telnet session, which works great before and after. Very strange.

And if any of the rules were needed, why, for instance, does the web interface work afterwards? Gonna have to look into this! But for now, I could drop a note in the source, for if anyone has any troubles. Leaving it out is probably safer, then. It's the least interfering of all the rules.

Perhaps it's a firmware thing. Hmmm.
V1.8?

You're right about the TCP functions, they were a doddle. As was the 205 telnet. I had the RFCs all ready and waiting, my hex editor at the ready; none of it was required, just slam the text down the wire! smiley for :cool: The ability to do a ping with just Ping(address, timeout) is rather neat, too. So the "is the router switched on?" dialog is a great added check, almost for free.

No need to decompile, source code is in the same folder, and the distro. I've set it so decompilation is possible, too (no password) in case the .exe gets separated form the au3 at any point. These things happen. I didn't bother with a license or anything, it's open-source, and free as in beer. Help yourself!

Lastly, this morning, I added au3 and ini file highlighting to my corz.org textviewer (source for that available in /engine), so you can view the source here in all its technicolour glory! Click that strange wee icon I created for my last post.

I updated the source this morning, too, just a few extra notes and stuff, but I didn't bother to recompile and package it; the functionality is the same.

I'm glad you got into the spirit of the work, I'm always happy to teach, and even happier to learn, when I can. So now I've learned a bit of AutoIt, and it's good to have it in my toolkit, highly useful. Yes, two heads are often better than one.

By the way, in my text editor - EditPlus - I can create "user tools" where you can hit one command and have your code compiled instantly, all from the text editor. If you are doing a lot of coding work, something like this is a real timesaver. It has a similar facility for web code, translating the system file path to your local web server's path, and presenting the rendered document on screen. Probably saves me an hour a day, every day.

On the subject of code and AutoIt, I'm actually considering writing a proper automated AutoIt telnet for regular telnet servers, scriptable remote commands would be a handy thing, something I've seen loads of people searching for (yes, I began by Googling), but no one actually coming up with the goods, yet. We'll see how time goes. My preferred approach is to try and motivate one the the AutoIt guys to write a function library!

One thing that comes to mind with all this is, how easy it would be to create alternative configurations (one reason I put that part into its own function), so instead of a list of numbers which RAD processes, it could simply be a list of whole commands, which RAD sends down the wire; in other words; all the router recipes here, tweaks and what-not could be provided as automatic RAD scripts (or RAH, rather!). I'll have a wee think about that. Perhaps a script drop-box, you just drag them onto it, and ballabang! Something like that.

This is the sort of thing I'm looking at for the telnet implementation, except with a shit-load of protocol negotiation and other stuff I know almost nothing about. True, the Voyager may accept our login and commands without further ado, but a real telnet server will not. SUPPRESS WHAT?!? smiley for :eek:

/me fires up tcpdump. Hmm...
something beginning with ff smiley for :geek:

l*rz..

;o)


RichE - 23.04.06 7:05 pm

I've had some barn storming ideas, some from other apps i've wrote, like a sudo cmd prompt that displays what you've done on a GUI, to logging so you can see from the log what went wrong last. (both of which i've already got the code written for).

one thing I would put into RAD is a progress so you can see how far through the process it is, and thats also inbuilt to AutoIT.

I learnt most of my AutoIT stuff by reading the manual.

I will look into my other ideas tomorrow when i have more time.





cor - 24.04.06 12:03 pm

Yup, progress bar crossed my mind, too. But I remembered building one in another language some time ago and then classified the RAD progress bar as "non-essential"! smiley for :lol:

A built-in function, eh? Very nice! I'll have a look at that manual again - always the best way to pick up any programming language, I find, that and a project, of course.

I dunno about logging, that's perhaps over the top here, but I do think the user should at least get the current command echoed back to them. Not least for that sense that "something is happening".

I hacked together a "RAH" [link altered to new Automatic Router Scripting Engine - 27-4-06] yesterday for an "elderly" 205 user, it does no more than add a port-forwarding rule to the 205. It took less than a minute, working from the current RAD code, and once RAH has added its rule, the commands.txt file itself can be used to add any rules the user wishes.

Create an application to add a port-forwarding rule? What a neat idea! Especially for the elderly and plain stupid. AutoIt makes these kinds of things trivial, and I definitely expect to see RAH expanded, probably a "basic" version that accepts one or more command files, perhaps with a menu (created from every *.rah file it finds in the Voyager205 folder, not that I've created a .rah file extension yet, but it's a good idea)

Another thing I'd like to add to these apps is the ability to check a box and have it run completely automatically1, ie. no dialogs (a simple ini option automatic=true, or something). For something like RAD, this would be a real bonus, true click-and-go operation.

I'll have to make that "cancel" button do something, too. Currently it's just ignored, and computers ignoring users is not acceptable. I haven't looked into these things yet, but I see every break-time this week AutoIt-centered. My next task, I think, will be to put RAD's rules into an array, spit the lines out in a loop. That long list is nice to look at, but not exactly elegant!

I'll keep the RAD/RAH pot boiling here, so if you want to chuck snippets in, feel free. Probably mail is best for that. Let those ideas bubble away! And code code code!

l*rz..

;o)

references:
A dialog would have to pop up warning the user of the implications, and instructing them on how to disable this behaviour (edit/delete ini file) if they ever need to change something.



riche - 24.04.06 4:18 pm

here take a look a an app i wrote to run admin functions at the place I work, it has the tick a box senario, the sudo cmd prompt and logging, and other stuff.

as to the progress bar, it's easy progresson( yada yada yada), progressset(yada), progressoff(), it's that simple.

btw it's a biggy one

[snipped dude! mail! -ed]

note: the graphics won't show up and the server won't ping (obviously) but you get the idea.....



cor - 24.04.06 4:51 pm

Yup, I had a look at the manual, the progress will be a doddle. There's even a *choice* of progress bar types. heh.

I've been messing around with RAH just now, in fact, currently, it gathers up any *.rah scripts in the voyager folder and spits them at the router, so you can build up a collection of different tweaks. I'll likely do a menu with buttons or something, in good time.

I added cancel-recognition to it, too, and to the regular RAD, and repackaged that, uploaded the source to the usual place. I'll be messing around with them like this for a while yet, no doubt.

I snipped your BIG code, thanks for that. I'll probably do the same with all the source listings on this page, there's no need for them, really, but feel free to mail me anything you think might be useful.

l*rz..

;o)


cor - 24.04.06 5:36 pm

Aye, it was easy. I'm working on RAH, and back-porting any interesting stuff to RAD. This is the last I'll say of the code for now, except that you can always get the latest version of RAH from here.

l*rz..

;o)

[edit: link switched to the all-new "Automatic Router Scripting Engine" - 27-4-06]


vof - 27.04.06 12:28 pm

cor: link in your most recent comment is broken.

I'd stopped looking at this page some weeks ago since so little seemed to happen - just been back today - wow! thanks riche and yourself for all the interesting stuff based on AutoIt.


cor - 27.04.06 2:27 pm

Thanks vof! I meant to switch them last night (now done) but by the time I got finished I was beat! Switch them? Why?

Well, I figured that more was needed, and I got my head down and created something quite special. I call it the "Automatic Router Scripting Engine", and I definitely recommend that you click the link, and try it for yourself!

I spent a good few hours creating an installer for the thing yesterday (designed to be reused elsewhere, later, of course) which not only drops the thing into a chosen location, but sets up the icons, file associations, etc, etc, and the bottom line is, you just click one of the .arse scripts, and BALLABANG! It gets sent to the router!

If you launch it without a script on the command-line (or drag-and-drop, whatever), it processes all the scripts in its scripts folder, so you can keep a collection of all your essential tweaks there.

I've created scripts for all the existing setups, there's a basic Voyager setup script which can take a factory router and transform it into a corz-style tweaked router in one click! There's scripts for all the major p2p apps (port forwarding), etc, etc. If you have one of these viking routers, ARSE is essential, imho.

Scripts are a doddle to make, too, just router commands. You could even just switch the file extension on an exported .cfg file1. Read the notes on the Arse page for more info about these.

So, while "RAD" still exists, it has been deprecated. The need for a one-shot app for router deletions has been removed with the introduction of Arse (you just click rad.arse (or whatever it's called now), and thy will is done!)

Download, install, play, let me know what you think, report any bugs you may find, etc. Source is available2 so if you have the latest AutoIt ßeta, feel free to compile to your own specifications (in that case, you will probably want to run my installer first, so that file-associations, etc, are setup for you).

Once arse is installed, the installer also acts as an uninstaller/reinstaller, is extremely well behaved, clean, tidy, and even deletes itself when it's done.

I'm so impressed with Arse, I was seriously tempted to make it PayWare!3 smiley for ;)

for now..

;o)

ps.. If, like me, you haven't had a look at AutoIt since it was v2, I definitely urge you to take another look now. v3 is a different beast altogether, very impressive.

references:
  1. Though, of course, some of the settings from a raw exported .cfg couldn't be added to a live router, eg, ppp can't be altered while it is up, etc.
  2. Source is available for arse, not for the installer, yet, I still have a few tricks I'd like to add to that, like an Add/remove programs entry.
  3. Because living on porridge gets boring after a while!



riche - 28.04.06 4:08 pm

nice work cor, if you check out the autoit forum, you'll find an installer maker that i wrote on there, which i'm still working on, to refine certain aspects like multiple registry entries etc.




cor - 28.04.06 6:46 pm

Thanks RichE!, but I had fun with it! My installer adds multiple registry entires (remembers install options, etc), start menu items, shortcuts, explorer file-associations, right-click actions, the works! It also (once the app is installed) acts as an uninstaller/reinstaller and even deletes itself when it's done! Quite cute. smiley for :cool:  Run it!

The installer is a separate entity from ARSE, but I designed it so that it can install whatever application I need to install (a couple of prefs and bang! it's a new installer). There's still things I'd like it to do with it, use a manifest perhaps, and maybe an add/remove program entry (a doddle, but I haven't got around to that yet) as well as perhaps an archive of files, rather than the current "files" folder, and some sort of inflate facility. Though I quite like the files folder approach.

I'm hoping to "finish" it some time over the weekend, though I plan to thoroughly review the manual before attempting to code anything tricky. I spent over an hour the other day trying to figure out how to hook into Winsock.dll to get some DNS resolution, only to later realize that AutoIt has a TCPNameToIP() function! smiley for :roll: I swear, I searched loads of terms in the manual, googled, you name it! I found it later, looking for something completely different! smiley for :erm:

By the way, the installer also opens the user's *default* browser when they click its "about" link! smiley for ;)   [you can grab that from the registry]

AutoIt is quite exciting. Sure, there are some things it lacks, but so far, everything I've wanted to do has not only been possible, but simplicity itself. The documentation takes longer to write! smiley for :blank:

The ironic thing is, with the advent of ARSE, setting up and configuring the Viking routers is such a joy, I'm having way more fun with my Voyager205 than I did when I actually used it! smiley for :lol:

for now..

;o)

ps. smiley for :geek:


cor - 03.05.06 8:50 pm

an image


ARSE v1.7.1

Mmmm.

;o)


next comments (1 page)

Posting here is disabled at this time.

Welcome to corz.org!

I'm always messing around with the back-end.. See a bug? Wait a minute and try again. Still see a bug? Mail Me!