<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BrainDeadProjects.com &#187; Engenius</title>
	<atom:link href="http://www.braindeadprojects.com/blog/category/engenius/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.braindeadprojects.com/blog</link>
	<description>A place for low-grade evil.</description>
	<lastBuildDate>Thu, 24 Nov 2011 02:28:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Engenius EOC-2610 and OpenWRT: Getting Started</title>
		<link>http://www.braindeadprojects.com/blog/what/engenius-eoc-2610-and-openwrt-getting-started/</link>
		<comments>http://www.braindeadprojects.com/blog/what/engenius-eoc-2610-and-openwrt-getting-started/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 01:16:19 +0000</pubDate>
		<dc:creator>Matthew Gillespie (admin)</dc:creator>
				<category><![CDATA[Engenius]]></category>
		<category><![CDATA[What?!]]></category>
		<category><![CDATA[Wireless]]></category>

		<guid isPermaLink="false">http://www.braindeadprojects.com/blog/?p=703</guid>
		<description><![CDATA[I&#8217;m looking forward to the upcoming CPLUG presentation: &#8220;Unleash your home router&#8217;s potential&#8220;. As 48 users will now attest, the captive portal I&#8217;ve been building has been a pretty big success. Numerous attempts to fix the EOC-2610 reboot bug have all been in vain. The problem is this: the device reboots fine until the wireless [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m looking forward to the upcoming <a href="http://cplug.net">CPLUG</a> presentation: &#8220;<a href="http://cplug.net/wp/2010/07/27/unleash-your-home-routers-potential/" target="_blank">Unleash your home router&#8217;s potential</a>&#8220;. As <a href="http://www.braindeadprojects.com/blog/what/netflowlive/" target="_blank">48 users</a> will now attest, the captive portal I&#8217;ve been building has been a pretty big success.</p>
<p>Numerous attempts to fix <a href="http://www.braindeadprojects.com/blog/rf/a-new-look-for-wireless/" target="_blank">the EOC-2610 reboot bug</a> have all been in vain. The problem is this: the device reboots fine until the wireless modules are inserted AND the device placed into Master mode (to serve as an access-point). Removing the modules, using GPIO pin 0 instead of 5 to reset, pointing things back to the bootloader at either address 0xbfc00000 or 0xa8000000, and numerous other tests all fail. I cannot seem to locate the source that Engenius uses (which would help in finding the solution), and neither Engenius nor <a href="http://www.senao.com/" target="_blank">Senao</a> will respond back to emails or <a href="http://www.facebook.com/#!/topic.php?uid=142648851256&amp;topic=17440" target="_blank">Facebook posts</a>. (I&#8217;ve spoken to Engenius reps in <a href="http://engeniustech.com/" target="_blank">California</a> that have pointed me to <a href="http://engeniustech.com.sg" target="_blank">Singapore</a> &#8211; I&#8217;ve been on hold for almost an hour there to no avail).</p>
<div id="attachment_721" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.braindeadprojects.com/blog/wp-content/dsc03288.jpg"><img class="size-medium wp-image-721" title="dsc03288" src="http://www.braindeadprojects.com/blog/wp-content/dsc03288-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Serial Connection or Brain Surgery. Can&#39;t see it well enough to say.</p></div>
<p>But enough complaining, I&#8217;ll fix that bug eventually.</p>
<p><strong>Update 8/10/2010: </strong>A coworker suggested double-checking voltage and direction on GPIO pin 0, as well as ensuring that AR2315_RESET_GPIO was set correctly this morning. Sure enough, I had a problem. I&#8217;ll release a very basic patch shortly. -=Bug squashed=-</p>
<p>Here&#8217;s the lowdown on how to build a basic linux kernel and rootfilesystem using <a href="http://openwrt.org/" target="_blank">OpenWRT</a> and how to install your new firmware via the <a href="http://ecos.sourceware.org/docs-latest/redboot/redboot-guide.html" target="_blank">Redboot bootloader.</a> I&#8217;m posting it as a quick introduction.</p>
<p>First off, use <a href="http://subversion.apache.org/">subversion</a> to grab the appropriate source. In this instance, I&#8217;m using the <a href="http://backfire.openwrt.org/10.03/README" target="_blank">BackFire</a> port:</p>
<blockquote><p>﻿svn co svn://svn.openwrt.org/openwrt/branches/backfire</p></blockquote>
<p>This contains <em>everything</em> you need to get started: toolchain, compiler,  and scripts to pull in the source for the kernel and all packages that will be built. OpenWRT is very well documented, and it&#8217;s worth the time to read the README file as well to build and read the contents of the <em><strong>docs/</strong></em> directory.</p>
<p>Menuconfig is used to determine not only kernel options, but packages that will be built as part of the firmware image.</p>
<blockquote><p>cd backfire<br />
make menuconfig</p></blockquote>
<p>Obviously the first thing you want to do is set the appropriate Target System. For the Engenius EOC-2610, you&#8217;ll want to use Atheros AR2315:</p>
<div id="attachment_704" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.braindeadprojects.com/blog/wp-content/menuconfig-target.png"><img class="size-medium wp-image-704" title="menuconfig-target" src="http://www.braindeadprojects.com/blog/wp-content/menuconfig-target-300x159.png" alt="" width="300" height="159" /></a><p class="wp-caption-text">Menuconfig: Selecting your Target</p></div>
<p>Next, ensure you select squashfs for the Root filesystem image (under Target Image). Target Profile will only have one option (Default), so no changes are needed there. I generally use the default Global build settings (as they&#8217;re ample), but look them over if you want more advanced debugging options and to enable things like IPv6, etc.</p>
<p>The Image Builder option is to allow creation of a firmware image using precompiled binaries. I generally leave this and the other Main build options off..</p>
<p>Base system is exactly as it sounds: it&#8217;s a list of base utilities like <a href="http://matt.ucc.asn.au/dropbear/dropbear.html" target="_blank">dropbear</a>, bridging utilities, iptables, mtd, and other items. In fact, all of the remaining options are fairly self-explanatory: Network, Libraries, Kernel Modules &#8211; they all mean what they say. If you can&#8217;t find an option, use &#8220;/&#8221; and search for it. Luckily a working firmware (that incorporates wireless) can be built with simply selecting the correct target (Atheros AR2315). You can add more features later.</p>
<p>When you&#8217;re ready to roll, a simple <em><strong>make V=99 </strong></em>will cause the OpenWRT system to download all the appropriate tools, compile them, and build your firmware. Obviously the first time you build an image, it will take some time. Subsequent builds focus solely on the kernel and root filesystem, not building the entire toolchain. The images are found under the <em><strong>bin/</strong></em> directory.</p>
<div id="attachment_727" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.braindeadprojects.com/blog/wp-content/serial-pinouts.jpg"><img class="size-medium wp-image-727" title="serial-pinouts" src="http://www.braindeadprojects.com/blog/wp-content/serial-pinouts-300x99.jpg" alt="" width="300" height="99" /></a><p class="wp-caption-text">For Future Reference: The Serial Pinouts</p></div>
<p>Now that you have an image, one has to use the Redboot bootloader to upload it. There&#8217;s <a href="http://wiki.x-wrt.org/index.php/Kamikaze_Installation">excellent documentation</a> out there on this as well, but here&#8217;s a quick rundown:</p>
<p>Use a crossover cable to connect to the Engenius EOC2610&#8242;s Ethernet port. The bootloader defaults to using 192.168.1.1, so configure your IP accordingly (for this example, I&#8217;m using 192.168.1.2).</p>
<p>In one terminal, start pinging 192.168.1.1. Plug in the PoE adapter to start the 2610 and upon receiving an ICMP response, telnet to 192.168.1.1, port 9000. (Since you need to send a Ctrl-C to the Redboot bootloader, I have found that using puttytel seems to be the preferred method to connect to it). You may find a blank screen that doesn&#8217;t respond &#8211; if you do quickly disconnect and reconnect to the device.</p>
<div id="attachment_708" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.braindeadprojects.com/blog/wp-content/puttytel-redboot.png"><img class="size-medium wp-image-708" title="puttytel-redboot" src="http://www.braindeadprojects.com/blog/wp-content/puttytel-redboot-300x115.png" alt="" width="300" height="115" /></a><p class="wp-caption-text">The first time you&#39;ll lay eyes on Redboot.</p></div>
<p>When you see the above screen (and have hit Ctrl-C), you&#8217;re ready to go.</p>
<p>Ensure that you have a TFTP server on your local machine and that the kernel (openwrt-atheros-vmlinux.lzma) and rootfs (openwrt-atheros-root.squashfs) are in the TFTP root location. Next, configure the bootloader to use your system as a TFTP server (and ensure that it can connect to you):</p>
<blockquote><p>RedBoot&gt;<br />
RedBoot&gt; ip_address -l 192.168.1.1 -h 192.168.1.2<br />
IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0<br />
Default server: 192.168.1.2<br />
RedBoot&gt; ping -h 192.168.1.2<br />
Network PING &#8211; from 192.168.1.1 to 192.168.1.2<br />
PING &#8211; received 10 of 10 expected<br />
RedBoot&gt;</p></blockquote>
<p>Uploading the kernel is easy:</p>
<blockquote><p>RedBoot&gt; load -r -v -b %{FREEMEMLO} openwrt-atheros-vmlinux.lzma -m tftp<br />
Raw file loaded 0&#215;80041000-0x80110fff, assumed entry at 0&#215;80041000<br />
RedBoot&gt;</p></blockquote>
<p>Ensure that everything was uploaded ok and that the checksums match:</p>
<blockquote><p>RedBoot&gt;<br />
RedBoot&gt; cksum<br />
Computing cksum for area 0&#215;80041000-0&#215;80111000<br />
POSIX cksum = <strong>472679704</strong> <strong>851968</strong> (0x1c2c8518 0x000d0000)<br />
RedBoot&gt;</p>
<p>me@vonnegut/tftpboot $ cksum openwrt-atheros-vmlinux.lzma<br />
<strong>472679704</strong> <strong>851968</strong> openwrt-atheros-vmlinux.lzma</p></blockquote>
<p>If all is well, format the flash and burn the kernel image:</p>
<blockquote><p>RedBoot&gt; fis init<br />
About to initialize [format] FLASH image system &#8211; continue (y/n)? y<br />
*** Initialize FLASH Image System<br />
&#8230; Erase from 0xa87e0000-0xa87f0000: .<br />
&#8230; Program from 0x80ff0000-0&#215;81000000 at 0xa87e0000:</p>
<p>RedBoot&gt; fis list<br />
Name              FLASH addr  Mem addr    Length      Entry point<br />
RedBoot           0xA8000000  0xA8000000  0&#215;00030000  0&#215;00000000<br />
FIS directory     0xA87E0000  0xA87E0000  0x0000F000  0&#215;00000000<br />
RedBoot config    0xA87EF000  0xA87EF000  0&#215;00001000  0&#215;00000000<br />
RedBoot&gt; fis create -r 0&#215;80041000 -e 0&#215;80041000 vmlinux.bin.l7<br />
&#8230; Erase from 0xa8030000-0xa8100000: &#8230;&#8230;&#8230;&#8230;.<br />
&#8230; Program from 0&#215;80041000-0&#215;80111000 at 0xa8030000: &#8230;&#8230;&#8230;&#8230;.<br />
&#8230; Erase from 0xa87e0000-0xa87f0000: .<br />
&#8230; Program from 0x80ff0000-0&#215;81000000 at 0xa87e0000: .<br />
RedBoot&gt;</p></blockquote>
<p>You can then verify that the kernel is saved to flash:</p>
<blockquote><p>RedBoot&gt; fis list<br />
Name              FLASH addr  Mem addr    Length      Entry point<br />
RedBoot           0xA8000000  0xA8000000  0&#215;00030000  0&#215;00000000<br />
vmlinux.bin.l7    0xA8030000  0&#215;80041000  0x000D0000  0&#215;80041000<br />
FIS directory     0xA87E0000  0xA87E0000  0x0000F000  0&#215;00000000<br />
RedBoot config    0xA87EF000  0xA87EF000  0&#215;00001000  0&#215;00000000<br />
RedBoot&gt;</p></blockquote>
<p>Excellent &#8211; it is. Next up &#8211; the rootfilesystem. It&#8217;s loaded into memory via the TFTP  server in the same fashion as the kernel (again, run a checksum to ensure all transferred fine):</p>
<blockquote><p>RedBoot&gt; load -r -v -b %{FREEMEMLO} openwrt-atheros-root.squashfs -m tftp<br />
Raw file loaded 0&#215;80041000-0x801a0fff, assumed entry at 0&#215;80041000<br />
RedBoot&gt;</p>
<p>RedBoot&gt; cksum<br />
Computing cksum for area 0&#215;80041000-0x801a1000<br />
POSIX cksum = <strong>3009821226 1441792 </strong>(0xb3663a2a 0&#215;00160000)<br />
RedBoot&gt;</p></blockquote>
<blockquote><p>me@vonnegut/tftpboot $ cksum openwrt-atheros-root.squashfs<br />
<strong>3009821226 1441792 </strong>openwrt-atheros-root.squashfs</p></blockquote>
<p>Next, determine how much space is actually free in FLASH. It helps to use bc to calculate this:</p>
<blockquote><p>RedBoot&gt; fis free<br />
0xA8100000 .. 0xA87E0000<br />
RedBoot&gt;</p>
<p>bc 1.06.95<br />
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.<br />
This is free software with ABSOLUTELY NO WARRANTY.<br />
For details type `warranty&#8217;.<br />
iscale=16<br />
oscale=16<br />
A87E0000-A8100000<br />
<strong>690000</strong></p></blockquote>
<p>With this information at hand, you can burn in the Root Filesystem, utilizing all the free space:</p>
<blockquote><p>RedBoot&gt; fis create -l 0x<strong>690000</strong> rootfs<br />
&#8230; Erase from 0xa8100000-0xa8790000: &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;<br />
&#8230; Program from 0&#215;80041000-0x801a1000 at 0xa8100000: &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.<br />
&#8230; Erase from 0xa87e0000-0xa87f0000: .<br />
&#8230; Program from 0x80ff0000-0&#215;81000000 at 0xa87e0000: .<br />
RedBoot&gt;</p></blockquote>
<p>That&#8217;s it &#8211; you&#8217;ve now uploaded your firmware to the device. Next, lets just double-check and ensure all is well, and finally &#8211; let&#8217;s boot our new image:</p>
<blockquote><p>RedBoot&gt;<br />
RedBoot&gt; fis list<br />
Name              FLASH addr  Mem addr    Length      Entry point<br />
RedBoot           0xA8000000  0xA8000000  0&#215;00030000  0&#215;00000000<br />
vmlinux.bin.l7    0xA8030000  0&#215;80041000  0x000D0000  0&#215;80041000<br />
rootfs            0xA8100000  0&#215;80041000  0&#215;00690000  0&#215;80041000<br />
FIS directory     0xA87E0000  0xA87E0000  0x0000F000  0&#215;00000000<br />
RedBoot config    0xA87EF000  0xA87EF000  0&#215;00001000  0&#215;00000000<br />
RedBoot&gt;<br />
RedBoot&gt; fis load -l vmlinux.bin.l7<br />
Image loaded from 0&#215;80041000-0x802a0200<br />
RedBoot&gt; exec</p></blockquote>
<p>At this point, detach from the telnet session (no output will be seen when the device boots), and once the system has booted &#8211; connect using telnet (or SSH if compiled).</p>
<div id="attachment_715" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.braindeadprojects.com/blog/wp-content/openwrt-shell.png"><img class="size-medium wp-image-715" title="openwrt-shell" src="http://www.braindeadprojects.com/blog/wp-content/openwrt-shell-300x230.png" alt="" width="300" height="230" /></a><p class="wp-caption-text">The OpenWRT Busybox shell</p></div>
<p>Next up &#8211; customize your firmware image and build your own packages  &#8211; and check out the upcoming <a href="http://cplug.net">CPLUG </a>meeting on unleashing your home routers potential.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.braindeadprojects.com/blog/what/engenius-eoc-2610-and-openwrt-getting-started/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A New Look for Wireless</title>
		<link>http://www.braindeadprojects.com/blog/rf/a-new-look-for-wireless/</link>
		<comments>http://www.braindeadprojects.com/blog/rf/a-new-look-for-wireless/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 18:35:05 +0000</pubDate>
		<dc:creator>Matthew Gillespie (admin)</dc:creator>
				<category><![CDATA[Engenius]]></category>
		<category><![CDATA[RF]]></category>
		<category><![CDATA[Wireless]]></category>
		<category><![CDATA[WRT-54G]]></category>

		<guid isPermaLink="false">http://www.braindeadprojects.com/blog/?p=405</guid>
		<description><![CDATA[I&#8217;ve done quite a bit in the past few months with the neighborhood wireless project. First off, I&#8217;ve moved everything from the Linksys WRT-54GTM devices to an Engenius EOC-2610. The system Atheros AR2315 based. (More pictures here) The firmware is still OpenWRT kamikazee (I dumped DD-WRT a while ago on the 54G&#8217;s), with a patched [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve done quite a bit in the past few months with the neighborhood wireless project.</p>
<p>First off, I&#8217;ve moved everything from the Linksys WRT-54GTM devices to an <a href="http://www.engeniustech.com/datacom/products/details.aspx?id=246" target="_blank">Engenius EOC-2610</a>. The system Atheros AR2315 based. (More pictures <a href="http://www.braindeadprojects.com/img/Engenius/" target="_blank">here</a>)</p>
<div class="wp-caption alignnone" style="width: 410px"><img title="An Engenious Naked. Totally hot." src="http://www.braindeadprojects.com/img/Engenius/engenius-dsc03164.jpg" alt="" width="400" height="300" /><p class="wp-caption-text">An Engenious Naked. Totally hot.</p></div>
<p>The firmware is still <a href="http://openwrt.org" target="_blank">OpenWRT</a> kamikazee (I dumped DD-WRT a while ago on the 54G&#8217;s), with a patched version of the<a href="http://kokoro.ucsd.edu/nodogsplash/"> NoDogSplash</a> captive portal  (to prevent the graceful exit when a null token is submitted, also to support a &#8220;Magic token&#8221;, since I don&#8217;t truly care about it being the same one issued during the pre-authentication phase).</p>
<p>The only lingering issue relates to my version of the hardware not handling a reboot, which is a known issue apparently related to the kernel&#8217;s <a href="https://forum.openwrt.org/viewtopic.php?id=22626" target="_blank">watchdog driver</a>. There&#8217;s already a patch out there, and I plan on implementing it soon. (At present, an &#8220;init 6&#8243; will simply cause the unit to stop responding &#8211; requiring an actual powercycling) The good news is that I&#8217;ve never had to actually reboot the device for any reason.</p>
<p>Other installed packages include <a href="http://www.ntop.org/nProbe.html" target="_blank">NProbe</a> for Netflow export and  <a href="http://www.net-snmp.org/" target="_blank">SNMP</a> for monitoring/<a href="http://www.netmrg.net" target="_blank">graphing</a> purposes. In all honesty, the build is rather simple but effective. It&#8217;s also waterproof &#8211; the Engenius EOC-2610 is built for outdoor use &#8211; complete with waterproof housing and PoE support (albeit based on the warnings on the PoE injector, I don&#8217;t <em>believe</em> it&#8217;s 802.3a[ft] compatible)</p>
<p>As of this morning, we&#8217;re up to 13 users in the neighborhood. Shortly, I&#8217;ll be lighting up the Eastern portion of the neighborhood, which will provide access to a larger number of users.</p>
<p>Oh, and there&#8217;s a new look to the portal:</p>
<div id="attachment_409" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.braindeadprojects.com/blog/wp-content/midtownwifi-theme2.png"><img class="size-medium wp-image-409" title="midtownwifi-theme2" src="http://www.braindeadprojects.com/blog/wp-content/midtownwifi-theme2-300x228.png" alt="" width="300" height="228" /></a><p class="wp-caption-text">The new Midtown WiFi Theme</p></div>
<p>The new look is a slight modification to the <a href="http://community.elgg.org/pg/plugins/psy_/read/477603/loreahub-theme" target="_blank">Lorea Hub Theme</a>, with additional imagery from <a href="http://www.istockphoto.com" target="_blank">istockphoto.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.braindeadprojects.com/blog/rf/a-new-look-for-wireless/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced

Served from: www.braindeadprojects.com @ 2012-02-06 08:59:40 -->
