• Is anyone here familiar with DD-WRT or Open WRT?
    10 replies, posted
I have an old WRT 54g V2.2 and I'm considering putting DD-WRT or Open WRT on it. I'm leaning towards DD right now as the website is way more readable and more focused on my router. I have no experience working with routers, though a fair bit of experience in C++. Can anyone point me to how use the actual functionality of the router in a program uploaded to it? I've never been able to find anything more than a guide on compiling to it at best, never anything on how to write functioning communication programs for it.
Have you heard of Tomato? I've heard a lot of good things about that too. Can't really comment much on it right now, but soon I want to install dd-wrt on my wrt54g2 (only third-party firmware that supports that router) because my brother's torrenting shit is way too much for the stock firmware
I haven't heard of it before. It looks really functional GUI-wise, but I see even less information about it and absolutely nothing on how to program for it.
There is no api for any firmware as far as i know, basically you dont program [b]for[/b] them, but you program them
Here's a guide on how to do it for [URL=http://gargoyle-router.com/old-openwrt-coding.html]OpenWRT[/URL]. The problem is it's just standard C, no information on what you can really do or what the functions now do. For example, somehow just using "printf" made it ssh him the arguments. The Wifi robot page has some source code but it's still hard to decipher it without any form of guidance whatsoever. [URL]http://www.jbprojects.net/projects/wifirobot/package/carserver/src/carserver.c[/URL]. It looks like it's just using sockets in the carserver
Sounds like a stupid idea to rewrite the flash memory often... Still the freaks doing this usually got quite a few of the same router...
[QUOTE=aualin;20155867]Sounds like a stupid idea to rewrite the flash memory often... Still the freaks doing this usually got quite a few of the same router...[/QUOTE] Of course they buy more than one, they're trying to hack something. Have you ever used any of these before?
[QUOTE=Elspin;20150247]Can anyone point me to how use the actual functionality of the router in a program uploaded to it?[/QUOTE] By "actual functionality of the router" do you mean forwarding packets back and forth between network interfaces? That's done by the Linux kernel's networking facilities, and you don't have to write any code or do any compiling to make it happen. Just install and then configure it like you would any other router. If you do want to write programs that run on a router using one of these firmwares, it's basically going to be just Linux networking programming, much the same as you'd do on a PC What did you have in mind?
[QUOTE=aualin;20155867]Sounds like a stupid idea to rewrite the flash memory often... Still the freaks doing this usually got quite a few of the same router...[/QUOTE] It's no different than flashing the router when you upgrade.
[QUOTE=Wyzard;20157238]By "actual functionality of the router" do you mean forwarding packets back and forth between network interfaces? That's done by the Linux kernel's networking facilities, and you don't have to write any code or do any compiling to make it happen. Just install and then configure it like you would any other router. If you do want to write programs that run on a router using one of these firmwares, it's basically going to be just Linux networking programming, much the same as you'd do on a PC What did you have in mind?[/QUOTE] Sorry, by actual functionality I mean writing an actual program rather than just configuring some options. The information at the top is pretty much what I'm trying to do, I'm eventually putting a serial port on my router and going to use it as basically a massive remote board. What I'm trying to do is create packages, and I want to know how standard C code works on a router, ie why the printf function prints into ssh and how other examples would translate.
The information at the top is unclear, which is why I asked. TCP/IP routing has nothing to do with serial ports, and I don't know what a "remote board" is. It sounds like you [i]might[/i] mean that you want to use your router as a general-purpose computer, and run programs on it that have nothing to do with networking. I don't see anything in that tutorial you linked about printf "sshing the arguments". The use of ssh that I do see is getting the compiled program from the PC where it was written to the router where it's going to be run. I downloaded the OpenWRT SDK using the link in that tutorial, wrote a hello-world program (using printf), compiled it (using the compiler directly, without all the makefile and package stuff), uploaded it to my WRT54GL, and ran it. It worked just like it would on any other Linux machine. For building OpenWRT packages, this looks relevant: [url]http://wiki.openwrt.org/doc/howto/creatingpackages[/url]
Sorry, you need to Log In to post a reply to this thread.