Broadband-Hamnet™ Forum :: Hardware
Welcome Guest   [Register]  [Login]
 Subject :Porting HSMM-MESH to a new router.. 2012-05-03- 14:34:03 
AE5KM
Member
Joined: 2012-05-03- 15:50:10
Posts: 2
Location

I'm relatively new to the HSMM world, but I've been watching for a while.  I'd like to get started.  I've noticed that the particular routers for this are rather old and tend to be expensive and hard to get.  I do have one WRT54GL, but I have a few others.

I do have extensive Linux embedded experience, so I'm quite comfortable with that.  I have OpenWRT running on a little router by Keebox ($25 at Frys) that has 4MB FLASH and 32MB RAM with a Ralink RA3050F chip (mipsel toolchain).  It's working quite nicely.  (And this router is really nice because it's almost impossible to brick.  It has an emergency recovery mode coded into ROM, so no matter what you do, you can recover.)

So, I would be happy to get HSMM-MESH working on it.  I have read that there are endian issues with the oslrd software, but those have been fix in an (unfortunately) non-backwards compatible way.  I could modify oslrd to add a "backwards compatibility" mode if people haven't already moved to the new version.

Also, it is not clear what software needs to run on the router to make it a node.  Is it just oslrd?  What is the configuration?  How are the networks bridged?  I don't seem to find any documentation on it.  I suppose I could reverse engineer on the WRT54GL, but it would be a lot nicer if I was just missing where the documentation was.  If I did this, I'd be happy to write some docs on it.

Thanks,

-corey - AE5KM

IP Logged
 Subject :Re:Porting HSMM-MESH to a new router.. 2012-05-04- 22:03:31 
ae5ae
Member
Joined: 2010-10-27- 00:47:17
Posts: 144
Location: Van Alstyne, TX

Corey,

First off, the problem is not so much with 'olsrd', per se, but in the
secure plugin. The version of the secure plugin that we're currently
using is not sending packets with the data in the correct byte order for
SOME of the fields nor is it doing the checksums on some incoming packets
the same way they were done at transmission. I corrected those issues.
The OLSR group has my code and it's readily available. If this code
were to be used then any combination routers with different CPU types
of any byte-ordering could join the mesh if they use the secure plugin.

Secondly, to me, the real SOLUTION would be to simply discontinue usage
of the secure plugin. This is just my opinion, not necessarily that
of the HSMM-MESH group. It truly doesn't do anything to "secure" the
mesh when the key is so readily available. It seems to me as more of a
"secret handshake" that you need to get into the club (or the mesh).
Also, the issue could be fixed with a minor release of the HSMM-MESH
firmware -- an update that would remove its usage.

Now for what it's worth, a reminder that HSMM-MESH went through a similar
incompatible change when the firmware went from version 0.3.x to 0.4.0.
Yeah, there was some bitching and moaning but that's the ham community
in general (probably just human nature too :-). I think we can live
with another change like that especially if it means that Bullets and
other non-WRT54G routers (amongst other) could more readily become part
of our meshes as well.

As for your Keebox -- it looks interesting. I don't see why you couldn't
just take our current firmware and possible add a driver for the Ralink
chip (if it's not there already) since everything else would make it a
compatible router for the mesh. The WRT54G family of routers are also
based upon MIPSel-style processors so the secure plugin issue should
be a non-issue, old code or not, if you ported our firmware to run on
your Keebox.

I'm sorry you feel that my corrections weren't good ones because they
didn't maintain backwards compatibility. I don't believe in perpetrating
the bug. The code was wrong, plain and simple, and the bug manifested
itself when routers of different byte-sexes attempted to mesh together.
Definitely not something we're aiming for because the HSMM-MESH group
would really like to port (or have someone port) our firmware to other
routers.

How could it be made backwards compatible? I'd like to hear your ideas.
I'd be surprised if there was a truly compatible fix. Still, we're not
even at a 1.0 version yet and I believe this project needs to continue
to grow. Backwards compatibility is NOT always the best thing to do.
Look what Microsoft did with all those versions of DOS and Windows.
We don't need to keep looking back during development. Like I said,
we're not even at version 1.0 yet.

As to what software a router needs to run to become a mesh node...
I pretty much discussed this at our last Digital Tuesday meeting in Lucas.
The OLSR daemon and the same set of plugins would be a start. This gets
everything routed around the mesh as well as to the nearest gateway.  
Advertising services available at the node or some of its LAN hosts and
accessing and monitoring the mesh are more features available.  Having
a common user interface really helps too!

Seriously, I would strongly suggest you get a WRT54G, GL, or GS,
or two or three, follow our instructions and get the firmware loaded,
do the setup, and ssh into the box and poke around.

That's all for now...  You might want to visit our next Digital Tuesday
meeting in Lucas.  Check out the DAWG-MESH mailing list on Yahoo groups!

73

    -Rusty-

IP Logged
Last Edited On: 2012-05-05- 04:14:29 By ae5ae for the Reason Changed 'Backwards compatability is always the..' to 'is NOT always the..'
 Subject :Re:Porting HSMM-MESH to a new router.. 2012-05-05- 05:34:59 
AE5KM
Member
Joined: 2012-05-03- 15:50:10
Posts: 2
Location

Hi Rusty, I wasn't saying your changes were bad or anything like that. Generally endian fixes are good things, though I haven't looked at the changes so I don't really know :). I was offering to add some type of backwards compatibility to the software.

Backwards compatibility is not that hard to accomplish with a little forethought. I've done it before. You generally need a version number in the protocol and a policy to ignore reserved fields and write reserved fields as zero. And you need a way to discover the latest version another system supports. Then newer versions can know how to handle older version of the protocol and "do the right thing".

I don't know where the Microsoft comment came from. Microsoft and Intel are *insane* about backwards compatibility. I can take software that is almost 30 years old and run it on current versions of Windows. Windows 7 has explicit backwards compatibility settings. If they didn't, nobody would buy new versions of their software.

You may not need backwards compatibility now, and maybe forcing people to upgrade at this point is the best way, but you need to be thinking about this for the future. Once you hit a critical mass, if you don't have a way to move forward with backwards compatibility, then you will never be able to change anything.

My main comment, though, was not about backwards compatibility. I was looking for information about the software required to set up a MESH node, how to configure it, and how the software works together. I couldn't find anything like that. Maybe it's there and I just can't find it. For instance, searching the wiki doesn't turn up anything for "security plugin". With that type of information, I could look at compiling and getting the software running on the Keebox.

I do have a WRT54GL and I have the MESH software running on it. However, it doesn't do much by itself :). I was hoping to get the software and compile it on the Keebox and play with it that way.

Thanks,

-corey

IP Logged
Last Edited On: 2012-05-05- 05:38:26 By AE5KM for the Reason
 Subject :Re:Porting HSMM-MESH to a new router.. 2012-05-07- 08:46:52 
W5LMM
Member
Joined: 2012-02-13- 18:18:04
Posts: 126
Location: Albuquerque, NM
 

Hi Corey!


It would be great if someone would port to as many router platforms as we can, it would make it much easier for people to get into hsmm-mesh.   I'm happy with the linksys hardware, but it won't last forever.


IP Logged
Page # 


Powered by ccBoard


SPONSORED AD: