Goofy Router - a low cost programmable Google WiFi Routing Repeater

There is no such thing as a free lunch - or - how to blanket your house with "free" metro WiFi from Google without spending a bundle.


Community wireless or metro area networking seems to be the big buzz these days. Companies like Google are teaming up with communities to provide advertising based wireless internet access in select communities including Mountain View where the Fractured lab sometimes resides. Communities jump on the bandwagon of "free internet access" but consumers soon find out that the truth is somewhat different than the hype. Communities that provide free wireless internet access typically set out a number of access points on utility poles to provide access. These access points are set out in a pattern that provides coverage to as many people as possible. Unfortunately, the signal at most houses is such that a common laptop with its internal antenna is unable to connect to the utility pole based access point. Residents are offered several methods of connecting to this "free" internet service.


A wireless client is configured to connect to the community wireless internet access point. This client is optimized for accessing the access point, potentially using directional antennas. A wireless access point is configured to provide coverage to the residence. Multiple antennas or multiple access points may be needed to provide adequate coverage to the residence. All of these are connected to a router with dynamic IP addresses given to the local wireless clients.

Proof of Concept

The first step taken here at the Fractured lab was to verify that the idea would work with a minimum of expense. A wireless router was constructed using existing hardware and software as a proof of concept. An IBM ThinkPad laptop with an Orinoco gold card was used as the client. An old Linksys WAP11B found in the spare parts box was used as an access point. A m0n0wall CD was used to boot the laptop and configuration was stored to a USB stick. The entire experiment took place in the front yard with line of sight to the light pole with the Google access point. Power for the access point was provided by an inverter in a handy automobile eliminating any wiring between the house and the router.

Proof of concept components

Configuring m0n0wall was simple. The Orinoco was specified as the WAN port and was configured with the SSID GoogleWiFi. Everything else was left at defaults. The laptop Ethernet port was specified as the LAN port and given a private IP address of with DHCP enabled for the range through m0n0wall came right up and associated with Google on the WAN port. The Linksys was given a name and SSID as well as a static IP address of on the LAN segment with the default route of The rest was left at defaults. The two devices were then connected with an ethernet crossover cable. A laptop in the kitchen across the yard from the setup was used to associate with theWAP11B. The connection established and m0n0wall assigned it an IP address of Opening a web browser and trying to access any web site brought up Google’s captive portal page requiring a login. Providing a gmail user name and password gave a nice solid internet connection. Speed was more than adequate for general web browsing although was judged a bit slow for large multimedia objects. Running traceroute showed all packets from Google WiFi in Mountain View to pacific bell DSL in Mountain View taking a long and arduous trip through Los Angeles.

<< "config.xml" >>

This proof of concept showed that m0n0wall is capable of providing the necessary association and routing to extend GoogleWiFi from where the Google access point can be seen to where it can not. The next step is to take this proof of concept and convert it into something that is rugged and reliable, not to mention warm and dry.


It was decided to use similar hardware and software for Goofy Router that used on Rooter Router primarily because it was handy. A PCI wireless card found in a spare parts pile was installed in a Compaq EVO small form factor PC and stuffed in the attic where the Google AP could be seen. The WAP11B was connected to the PC and the m0n0wall CD used to boot the PC. A few moments later it was apparent that there was something wrong as the PCI wireless card was not recognized by m0n0wall, so down from the attic we go and off to the FreeBSD supported hardware list. The FreeBSD supported hardware list did not list the unresponsive wireless card but referred to the atheros web site for a list of compatible cards.

A quick trip to Frys produced a pair of DLink DWL-G520 PCI wireless cards that were on the FreeBSD supported hardware list. Time was taken to note that the DLink cards use reverse SMA connectors whereas the previous card used reverse TNC connectors so appropriate converters were purchased saving a second trip. One card was installed and operation was verified under Windows by connecting to GoogleWiFi. The m0n0wall CD was again used and this time everything worked as expected with the laptop in the kitchen able to associate with the WAP11B in the attic just over its head with the m0n0wall router forwarding the packets to the GoogleWiFi access point down the street. An external high gain antenna was mounted on a mast on the roof and pointed at the Google access point on the utility pole to improve the signal and to reduce interference with the local access point.

802.11 Yagi

The signal from the inexpensive yagi was 20 dB better than from the chassis mounted vertical. Clear line of site from being mounted above the roofline provided more benefit than the gain of the antenna which was only 12 dB better than the vertical of which 3 dB were lost in the LMR400 coax getting into the house.

Yagi view of Google AP

Stage two involved replacing the WAP11B with the other DLink DWL-G520 PCI wireless card. The second card was installed in the PC and m0n0wall restarted. Some head scratching ensued until it was determined that two of the three PCI slots on the riser card in the Compaq EVO shared the same INTA line. Rearranging the PCI wireless cards enabled both cards to be recognized. The second card was configured at OPT1 and provisioned in "hostap" mode. It was tested both as an independent network with its own DHCP server and bridged to the LAN. Both methods worked once the necessary firewall rules were created. Coverage was acceptable with the entire house covered by the single access point with a single antenna in the attic.

<< "photo of goofy" >> << "goofy.xml" >>


Goofy (Goo-gle Wi-Fy) Router was built to provide low cost, flexible routing between the Google Mountain View wireless internet access service and a local wireless network. Total cost of constructing the router is about $200 including a high gain external antenna when using carefully selected components. For example, the DLink cards were purchased on sale with rebate to reduce cost. Any wireless PCI card on the FreeBSD supported hardware list could have been selected and deals are available to those who search them.

Closing Notes

Additional experimentation is planned to find the optimal antenna configuration for the local access. The yagi antenna pointed at Google provides a strong signal that is expected to work well even when the trees in the way grow their foliage. However, coverage within the house is variable. Another compact flash to ide adaptor has been ordered to allow Goofy Router to operate disc-free like Rooter Router.

One final note is regarding security. Goofy Router can operate in either unsecured mode or WEP mode. Higher security and encryption modes are not supported. WEP is considered only slightly better than unsecured by most. It should be noted that security is NOT a goal of Goofy Router as all it does is link the local access point to Google and does not expose any of the resources in the Fractured lab more than they would be by connecting to Google directly so the low grade protection of WEP is judged acceptable. Security should be seriously considered by anyone connecting to any internet provider and wireless is no exception.

A future project may combine the functionality of both Goofy Router and Rooter Router into a single box with load balancing and automatic failover between a wired internet service provider and a wireless provider. But until then, there is no connection between Goofy Router and its routing between Google and its extension AP and the regular machines on the LAN connected to Rooter Router without taking the long path via LA.

Copyright © 2001-2016 by Fractal
Hosting by