The Melbourne Wireless Router Project
This page details a localised version of the FreeNet Router Project
A hardware design page now exists: MWRPHardwareDesign
It contains constructon drawings, data sheets, photos and design comments and discussion.
Other MWRP Pages In This Wiki
Please prefix the title of all MWRP-related pages with MWRP.
To design and facilitate the production of a user-friendly, cheap, mass-producable dual-radio outdoor wireless router for use in the Melbourne Wireless network.
This project will be an ongoing development of the router's Hardware and Software components. The hardware should consist of cheap, off-the-shelf components that do not need to be extensively modified - to facilitate ease of mass-production. The software should be designed with user-friendlieness in mind - but not try to add too many features at each release.
As in the FreeNet Router Project, this project specifies a dual-radio device. This consists of a wireless router connected to an Access Point, all housed in a waterproof enclosure.
Router - Linksys WRT54GS
The Linksys WRT54GS was the ideal wireless router for this project - combining a wireless client/AP-capable radio with a VLAN-capable 5-port ethernet switch all controlled via embedded Linux distribution.
Note: Newer Linksys WRT54's are based on different hardware and will not run proper routing software.
I am removing the PCB-mount RP-TNC connector with a coax crimped to it from the circuit board and mounting directly though a hole in the enclosure. This reduces cost by not needing a separate pigtail to get the connector outside. The WRT54GS' Internet (or WAN) Ethernet port will be directly connected to the AP.
Several third-party firmware projects exist for the WRT54G family, this project prefers OpenWRT for it's modularity and openness.
There was a discussion here about the various aspects of the WRT54G family, which has now been moved to the WRT54G page.
Cost: Approx. $150
This was the price per-unit in a recent bulk-buy. However, eBay sellers are now asking $150 per unit in individual purchases so bulk-buys may be even cheaper.
Access Point - Senao 2611-CB3-Plus Deluxe
A powerful 200mW transmit power with -95dB receive sensitivity and low cost are features that make this AP the choice for the second radio in the box.
This unit comes with a MMCX-RPTNC pigtail. I would retain this pigtail and mount the RP-TNC connector through the wall of the enclosure to the outside.
There is one slight problem with using a WRT54G(S) with a Senao AP - they both default to IP address 192.168.1.1. This is not such a huge problem when you plug the AP into the WRT54GS' Internet port because it is unconfigured when the WRT54GS is set to factory defaults.
2005/02/08 - dna: Has anyone opened up one of these? Is the CB3-Plus like the AP1-Plus ( internal photos )in that it is a SBC with a Cardbus radio? What benefit would there be to having a second AP device vs. having a SBC with multiple radios?
2005/02/08 - DanFlett : A Single Board Computer with two radios is definitely a better option from a technical standpoint. You get much more control over the second radio if it is directly connected to the CPU via the PCI bus rather than via Ethernet. But I don't know of any cheap, widely available devices that fit this bill. You need to look at the overall cost of all components in the box when you are considering these options.
I've got a couple of CB3-Plus units. It is almost identical to the AP3-plus, but supports standard PoE internally, and it has detachable antenna (RP-TNC). I've not seen much info about the 2511-AP1-plus - there's no info about it on the Senao website, but it's probably similar the NL-2511SR-PLUS-a. The circuit board looks bigger than the AP3 and CB3 though. To date I know of no-one who has successfully hacked the CB3 and gotten a look inside it's OS, if it has one.
I got the CB3-Plus and AP3-Plus info here and buy college papers here.
This site has some good photos of the circuit boards. It also has some good info about AP3/CB3-like jtag software and programming manuals. Some food for thought for anyone who is contemplating hacking one of these units.
The SeattleWireless SenaoCard page mentions the CB3 and AP3.
From playing around with the CB3-Plus it seems to only support AP mode and a "client bridge" mode which seems similar to IBSS mode. I haven't been able to get it to act as a client to another AP - but there seems to be a "site survey" page that I can't quite get to work. I really only intend to use the CB3-Plus as an AP, but I will enquire further about this.
2005/02/11 - dna: What about a Minitar MNWAPB as an alternative AP here. not as powerful but cheaper & smaller. If the AP is running unmodified then this should be an a viable alternative. The only prices I have seen for the Senao are over $200 vs. the $80 for the Minitar.
Waterproof Enclosure - Hammond 1590WFFL
- A diecast-aluminium watertight box, with flanged lid
- Length: 188mm, Width: 188mm, Depth 63mm
The size is adequate to fit a WRT54GS circuit board plus at least one other AP circuit board.
I'm drilling holes in the flanged bits for two 1/4"-thread U-bolts from Radio Parts. I am using a metal case to allow possible heatsinking of the AP and Routers' heat-producing components to the air outside the enclosure. I am mounting the AP and Router on nylon stand-offs "upside down" with their components facing the outside wall of the enclosure. roof paint
Cost: Approx. $38
This is the price for a single unit when ordered from Supplytronics, Rowville, VIC. Reports are that they can be obtained for much cheaper from Down East Microwave in the US. This needs to be investigated.
Cable - Outdoor 10-pair
I know that 10-pair isn't rated for 100mbps Ethernet. However, I have tested 100mbps Ethernet over 50m of 10-pair and it works. Further testing will determine how far this can be extended with a real Cat-5 cable.
The other pairs in the cable will be used for the AP and Routers' reset buttons, separate power feeds to the AP and Router, and possibly a status LED from the Router. The aim is to be able to use the AP and Router's own manufacturer-supplied power-packs, to reduce cost.
Pair usage in the 10-pair:
- Ethernet TX
- Ethernet RX
- AP power positive
- AP power negative
- Router power positive
- Router power negative
- AP reset button
- Router Reset Button
- SPARE - Power, AP power LED or another Ethernet TX
- SPARE - Power, Router DMZ LED or another Ethernet RX or Serial (using add-on Serial Port)
The idea of using 25 metres of 10-pair is to just get the cables from where the is router on the mast to inside the house and get the connectors out of the weather. In most situations 25 metres should reach the node-owner's internal LAN switch, or directly to their desktop PC. If 25 metres is too short for this then the the network cable can be extended with Cat-5. The power connectors and reset buttons don't need to be near the PC or LAN switch, it just needs to be possible to get power to them with a neat indoor cable run.
Cost: $1.80 per metre
This is the price for 50m from Ideal Electrical Suppliers in South Melbourne.
2005/02/07 - CRC says: Hmmm - I thought ethernet used 4 wires total? what about the twisting in ethernet cables to combat noise and crosstalk between pairs?
2005/02/08 - Tyson says:' Why not just use 2 runs of Cat5? It would probably be about the same cost per metre, but gives you another 6 pairs to play with (2x8 pair = 16 pair). More importantly, power would be separated from data so noise and crosstalk would be less of an issue, and the data line would be a regular non-POE lead too (RJ-45). Just don't use an RJ-45 on the power line to avoid confusion.
2005/02/08 - DanFlett : 100BaseT over Cat 5 does indeed use 4 wires = 2 pairs. A Cat-5 cable has 4 pairs, which is 8 wires. A 10-pair cable has 20 wires. Cat 5 is rated at 100MHz which is what is required by 100BaseT over long distances. Over short distances, you can get away with telecom cable which has a lower twist ratio. I've tested this, and it works. It's a kludge, sure. These are the engineering compromises you make when trying to make things cheap and simple. I've thought long and hard about this, and decided 10-pair was the way to go because I need the extra conductors for the reset buttons and power. If anyone knows of some cheap, outdoor 8, 10 or 12-pair cable with Cat-5 or Cat-6 specs, I'd love to hear about it.
As for crosstalk from the power lines, I wouldn't expect that DC would cause much crosstalk. No-one has complained that the WRT54G or Senao power supplies cause interference in their TV that I know of. If they cause a high-frequency AC ripple on the DC rail they might cause crosstalk, but this is yet to be seen. I'm confident that using 10-pair, whilst not the pinnacle of engineering good practice, is adequate for the task of running 100mbps Ethernet 25 metres. The power sockets would be in-line 2.1mm DC sockets, so no need for an "injector" adaptor box, and no confusion about which cable does what.
I have considered other designs - such as two or three separate Cat-5 runs from the box to the house - but this would require drilling two or three holes and two or three cable glands. I think this would be a rather messy, ugly setup, and more expensive than using 10-pair. Installing the extra cable-glands is more labor-intensive and more holes means more vulnerability to water penetration. I want the box to be easily mass-producable. Adding extra cable runs makes the task that much harder. Two runs of Cat-5 gives you just enough pairs for a single ethernet connection, power and reset buttons. I would like to bring the power and DMZ LEDs down as well to make flashing firmware and general status info easier to determine.
You could use a single Cat-5, but then you wouldn't have the reset buttons down in the house - you'd have to put them up on the box. Then you have to worry about waterproofing the buttons. Also, you only have two spare pairs for powering two devices - I want to be able to use the power supplies that come with the router and AP, but these probably aren't up to the job if you just use two instead of four pairs. If people want the extra expense of 48-volt POE adaptors at both ends, customised versions could be made for those who demand real Cat-5. Real Cat-5 introduces the possibility of a detachable, waterproof RJ45 connector on the box, but again, this is more costly still.
2005/02/08 - Update - DanFlett says: Another thing: the WRT54GS' switch can be set to operate in 10mbps mode. I can't see a compelling reason why it has to be used in 100mbps mode - it's not acting as a file server, and 802.11b will never get near 10mbps. 10mbps is a lot more tolerant of non-spec cable. So if there is a major problem with 100mbps you can always fall back to 10mbps. And if people really really don't like telecom cable, and are having troubles with it, then yes, I'll probably use two or three Cat-5 cables. But I think the 10-pair should be given a go first.
2005/02/08 - CRC says: Whoops. I was thinking 10 wires, not 10 pair. Thinking about costs, I know it would be a little more expensive, but would it be worthwhile putting up a single voltage (say 2-3v above the max voltage required), and regulate the power in the box for several units. I don't know how the DC up the entire unit would cope over time and exposure to the elements. We know that things like battery terminals go crusty - and it's always the negative wire. Throwing AC up the line would resolve this, but require maybe $10-$15 of extra components to break out from say 14ACv -> 12v and 5v via cheap $1 regulators and a diode rectifier...
2005/02/08 - DanFlett says: Another good feature of the WRT54G/GS - all models post WRT54G version 1.0 feature a switchmode DC-DC converter on the power input. It is the AC1501-33 and can accept an input of between 5V and 40V. It converts the input voltage to the board voltage of 3.3V, with 73% efficiency across the whole input voltage range. Meaning it gets the same temprature if you feed it with 5V, 12V, or 40V. This makes it ideal for a PoE situation - you can have a large voltage drop in the cable and it will still work. The input capacitors are rated to 25v, so don't feed it with 40V. A custom essay papersand custom writing on the WRT54G's power requirements points out that these capicitors will derate with time under higher-than-usual tempratures to about 18V - so feeding the unit with 24VDC isn't a good idea either. In any case, not much modding is required for the power supply.
-Another good page on the WRT54G power requirements is in the PersonalTelco wiki.
-As mentioned elsewhere on this page, the Senao CB3-Plus supports PoE natively, and can handle a very large input voltage range. It too has a switchmode DC-DC converter as its input regulator.
-As for green scum on the connectors - the General Cables outdoor 10-pair cable has a UV-stabilised outer jacket and is gel-filled. The wires themselves are also insulated. When installed there should be no parts of the power cabling or connections that are exposed to the elements - so I don't see that green scum will form anywhere.
A jacket made from corrugated plastic - known as Polypropylene Flute Board - as suggested by Tim Hogard. I will make a prototype from cardboard and see how strong it is. I will fold a sheet of it - wider than the enclosure - over the top of the enclosure and leave the sides open. The sunshade will also help to make the enclosure more waterproof and keep rain off the RF connectors underneath.
This is a lower-priority development - according to Ben Grech his WRT54G and Senao AP in use at NodeGPR have worked flawlessly in extreme weather conditions.
A very incremental development path should be followed - start simple, iron out the bugs, add a new feature and repeat. Whilst the overall aim will be to create a fully-featured router along the design specified in the FreeNet Router Project, it cannot be expected that this goal can be reached upon the first release of the software.
- Before software development can begin in earnest, there needs to be at least a few examples of the hardware floating around.
- Software - WRT54GS package development
- Basic package that installs and configures these packages: quagga, wl, dropbear, ip, frottle, chillispot, interface-wrt.
- Firewall/NAT script suitable for two public wireless interfaces and one private wired-LAN interface
- Basic web-interface - network interfaces, wireless setup. Based on either the interface-wrt OpenWRT package or the freifunk-webadmin component of the excellent German Freifunk Firmware project for OpenWRT
- DHCP client and DHCP server settings
- Firewall/NAT web-interface
- Routing (Quagga) web-interface
- Captive-portal web-interface
- Automatic activiation of Frottle on wireless interfaces - Frottle mode (master, client) corresponding to wireless mode selected (AP, client)
2005/02/07 - CRC says: I don't think frottle is required. As some of the WRT54GS' can be setup to have multiple VLANs across the switch, it may be ideal as a local access/router in a box with Senao doing the back hauls. It would then be possible to route effectively between the VLANs on the WRT and have a fully routed setup. I was working on a custom web interface that would include quagga configuration, until my wrt54gs died (yet again), so the future of that is as yet unknown.
2005/02/08 - DanFlett says: Frottle certainly does no harm if you set it up in Master mode behind an AP. If AP clients don't run the Frottle client they will simply bypass the Frottle Master. So you're no worse-off if you run Frottle Master than if you hadn't. Once you have a few permanent, fixed-location routing clients carrying a lot of traffic, you'll want to encourage them all to run Frottle Client mode. At this point you'll probably be seeing hidden-node issues and you'll want to stop casual, non-frottle users from accessing that AP. If you still want to allow casual clients, then set up another AP just for them. I recently visited Perth and connected to the WAFreeNet. Almost all of their routing APs run Frottle. I saw firsthand how well the network runs when Frottle is in widespread use. Not every AP needs to run it - just the ones that have a lot of permanent connections. Frottle does a great job of allowing an AP to accept a lot of client connections without hidden-node problems.
VLANs will not help defeat the hidden-node issue. No matter how many virtual network interfaces a wireless radio has, it still is only one radio, and all traffic traverses it. That means traffic from any and all VLANs behind the radio can and will collide when hidden-node conditions occur. Frottle is a layer 3 and 4 solution to a layer 2 problem. As the Frottle authors themselves admit, it's a kludge. But it's free, and it works. The only way you could use VLANs in this instance would be to use one VLAN per switch port and connect a radio to each port - one radio per point-to-point link, as required. This is an ideal solution, but unfortunately very expensive. If you were willing to go to this expense then you're probably better-off not using a WRT54GS anyway - you'd probably want to go straight to a Soekeris or PC-Engines WRAP board for your node, and add miniPCI and/or CardBus radios to it.
The WRT54GS solution as laid-out here is to design, above other considerations, a cheap routing node, so that more people can buy them and put them up - people who aren't wireless fanatics like you and me. There are better ways to do this, but as far as I can tell, not cheaper ways.
As far as the Senao doing the back-hauls - do you need a 200mW (23dB) radio plugged into a directional antenna? If you use the WRT54GS' internal radio - which, unhacked, is 30mW (15dB). Combined with a 19dB antenna you get 34dB - quite adequate for a backhaul. Using the Senao as an AP you would plug it's 23dB radio into an 8dB omni and get 31dB transmit power. Quite adequate for an AP, but not too powerful to swamp everyone else. The Senao's good receive sensitivity means it can 'hear' the clients better, too.
2005/02/08 - DanFlett says: As it happens, when you run Frottle you do need to slice your AP's subnet up into /30 addresses. This means the interface behind the AP (or the AP interface itself, if it is a radio directly conencted to the board), needs an alias address in every /30 subnet. For Frottle to work you need to stop AP clients from directly communicating via the ethernet layer, and force them to send all traffic via the router running Frottle. This might actually be a problem with the Senao CB3-plus AP - I'm not sure if it supports client isolation. If a client has it's DHCP-assigned netmask set to a /30, should that stop it from directly communicating with another client of the same AP, even if the AP's address has a netmask of /28? Could fiddling with DHCP-assigned broadcast addresses fix this? This particular issue only affects traffic between clients of the same AP - Frottle will still be effective for traffic involving destinations further away in the network.
2005/02/08 - dna says: I have been thinking about this type of Node for a while also. I have done a build for OPENWRT, anyone else here building it? From looking through the Makefile it seems relatively easy to move a package into the distribution and to add a package. This may mean we can have a single install without having to add packages once it has been flashed.
2005/02/08 - fenn says: ChilliSpot (www.chillispot.org) is an excellent, opensource, tiny captive portal that can run on WRT54Gs. It also implements a bunch of very handy features natively/efficiently, ie: per-user rate limiting.
2005/02/08 DanFlett says: Yes, I mention ChilliSpot on the FreeNet Router Project page over on the FreeNetworks site. I haven't used it, but it comes highly recommended.
DNA's Extended Comments
Initially I was thinking along the lines outlined here, 2 or 3 AP's. After spending some time building firmware for both the WRT54G and the Minitar MNWAPB I started to realize that the advantage of the WRT is not the radio interface but the capability to set up routing how you want it. To build a higher order node (one with more than one radio) you need to be able to control the routing between interfaces. A hackable AP (like the WRT) is a great start, however, It starts to get messy, there are now multiple devices you need to configure and worst of all multiple custom firmware that needs to be managed.
My current thinking is to use slightly more extensible AP's than the ones we are looking at now. This is like a cheaper alternative to the Soekris or Wrap based.
An example: The Minitar MNWAPB uses a Realtek chip RTL8181. In the Minitar it is kind of limited in it's use ( the chip package doesn't bring out the PCI bus). but there is a version as used in this device: Cameo that exposes the PCI bus and would support the addition of a second radio as a PCI card.
A second example: Some AP's on the market that do not have embeded radio devices but are System on chip devices that combine ethernet switches and processors KS8695P. With something based on this procesor you can have 3 PCI/Cardbus devices.
The Soekris/Wrap devices look really cool but are just too pricy for really widespread use here.
The question is if we came up with a single box, multiple radio "kit" would there be enough interest to get a custom order filled by an AP vendor? (20, 50, 100?)
2005/02/08 DanFlett says: I would love to see a better hardware platform than a WRT54GS. There are quite a few drawbacks to the WRT54GS + Senao AP system, as you've pointed out. But the consideration I have above all others is that it's the cheapest method. If you can find cheaper linux box with a useful amount of memory and a radio I certainly want to know about it. Another imortant consideration is support: There are heaps of people worldwide who are hacking away and developing for the WRT54GS. How many people are doing the same for the Cameo and KS8695P devices you describe? How widespread are these devices? How easy are they to buy? The might be great devices - I just don't know becuase I know of no projects based on them. I also don't know how much they cost or where to buy them, or how long they will be available. WRT54GS's are tried and tested. People have their own individual problems with them but that doesn't invalidate them as a usable platform. Any problems you have with them will likely have been encountered by someone else, and you can scour the OpenWRT and Sveasoft forums and find a solution.
Ultimately it would be good to have a common build system like OpenEmbedded working on the WRT54GS and whatever other embedded boards we choose to use. Then development efforts on one platform can use used on others.
Good point about the longevity and availability of the hardware. I just found today that the RTL8181 is going to be phased out soon. So, availability is just as important as "optimal" solution. I had a look at the OpenEmbedded build and quite frankly found it overly complex, to the extent that I didn't want to put the time in to see how it works. Even the OpenWRT is a complicated build environment. The initial Linksys one was a bit of a kludge but pretty easy to add/modify.
2005/02/08 DanFlett : You might want to check out myWRT - it makes customising OpenWRT a lot easier. It uses a modified Linksys menuconfig tool to select which packages should be installed, and whether they should be statically compiled into the firmware, or installed as an add-on package into the rewritable flash partition.
You can waste a lot of time and effort trying to make a "nice" UI. while I understand there needs to be an easy way for the non-technical to set up a node, what is wrong with a shell script based menu that only exposes the things that need to be changed to set up a node. This is how LEAF (I think ) is installed and configured.
2005/02/08 DanFlett : There are people who are deathly afraid of the command line. You could argue that you don't want these sort of people on the network in the first place, but we really need to aim for the lowest common denominator if we want the network to be as widespread as possible. A shell script requires that a user telnet into the device. Most Windows users have never heard of telnet. Everyone has used a web browser - the interface is intuitive and familiar - people are afraid of the unknown. I would agree that we need to walk before we can run though. Let's develop a shell-script based interface first, and leave the web interface util we've gotten the software suite working nicely.
So, maybe a derivative of the original firmware with the existing web interface is a better choice for starters. If you look at the use of a routing node (as compared to an AP or something you are selling that can be used for many things) , perhaps you really want a stripped down web interface. A single page that allows you to set the things that need to be set. Assuming the Senao is set up as an AP and the WRT is going to be a router and backhaul then it needs to have only some basic configuration.
+2005/02/08 DanFlett : I agree with this totally. Get the thing working, don't worry about it being too generic - just make keep it as simple as possible to make it work on the Melbourne Wireless network.
Things like QoS are great to plan for but we are really still looking at getting basic links in place, I think it would be Ok to keep the software to a smaller set and as our network evolves update the firmware accordingly.
2005/02/08 DanFlett : I agree that general traffic QoS can be left until it's really needed. If by QoS you mean Frottle I would point out that Frottle is a different kind of QoS app. It exists to solve a specific hardware problem - the hidden-node problem that plagues 802.11a/b/g with long-distance links. The hidden-node problem impacts on the scalability of the network. If we don't use it, the network will grow very slowly because APs will become an unreliable way of connecting distant nodes. By using Frottle, we can rely on APs as a single network unit that can accept connections from a large number of nodes. Without APs we must use point-to-point links everywhere. We certainly should use ptp links wherever we can afford to, but in some places this is not possible - GHO for instance. Frottle maximises the utility of APs. You'll notice that I've put the development of a web-interface for Frottle pretty low on the priority list. I want it to be there, but I agree it's the icing on the cake. Lets get the rest of it working first.
Most two radio nodes will not need to worry about dynamic routing either. They can be configured with static routes and let the upstream (3-4 radio nodes) worry about routing cash advance loans.
2005/02/08 DanFlett : Again, this is a scalability issue. If we had a network where we could neatly aggregate the routes, static routing would be easy. Because of our unpredictable network topology, we are going to have to accept that routing in Melbourne will involve a separate routing table entry for each individual node. This means that static routing will be a laborious process. Updating the routing table will need to occur every time a new routing node appears on the network. And we will need to keep accurate track of where the new nodes are on the network to be able to work out how to add the new entries. As the network grows this will happen more and more frequently. And other network users rely on static routers to keep their entries up to date. If we use BGP then the node-owner only needs to update the router when another routing node connects directly to his node - a fairly rare event from the point of view of an individual node-owner. WAFreeNet use BGP for all their routing nodes - and an individual AS number for each node at that. It works just fine for them, and they tell me it's quite easy to configure.
*custom research papers
*Online CNA Classes
2005/02/08 DanFlett : I see two-radio nodes as forming part of the backbone. If all they did was accept leaf-nodes as clients then yes, you could use static routes and make the rest of the network the default route. But if they also accept other routing nodes as clients - and this is going to happen - then they have to use a dynamic routing protocol.
Version 39 (current) modified Thu, 28 Apr 2011 18:41:00 +1000[EditText] [Spelling] [Current] [Raw] [Code] [Diff] [Subscribe] [VersionHistory] [Revert] [Delete] [RecentChanges]