<?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>CURIOSITATIS CAPTIVUS &#187; networking</title>
	<atom:link href="http://www.coreygallon.com/tag/networking/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.coreygallon.com</link>
	<description>thesauri sapientiae et quisquiliae</description>
	<lastBuildDate>Thu, 26 Jan 2012 08:57:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>DD-WRT on the WRT54G v8</title>
		<link>http://www.coreygallon.com/2009/05/dd-wrt-on-the-wrt54g-v8/</link>
		<comments>http://www.coreygallon.com/2009/05/dd-wrt-on-the-wrt54g-v8/#comments</comments>
		<pubDate>Sat, 09 May 2009 03:30:24 +0000</pubDate>
		<dc:creator>captivus</dc:creator>
				<category><![CDATA[computing]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[search engine fodder]]></category>
		<category><![CDATA[SEF]]></category>

		<guid isPermaLink="false">http://www.coreygallon.com/?p=171</guid>
		<description><![CDATA[DD-WRT is, by far, my favorite third-party firmware for the Linksys WRT54G wireless router. I, personally, have three of these on my network &#8212; one as the primary access point and router and two as bridged repeaters &#8212; on which I have used several versions of dd-wrt. (I&#8217;ve also used Sveasoft and Hyper-WRT on these [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.dd-wrt.com">DD-WRT</a> is, by far, my favorite third-party firmware for the <a href="http://en.wikipedia.org/wiki/Linksys_WRT54G_series">Linksys WRT54G wireless router</a>.  I, personally, have three of these on my network &#8212; one as the primary access point and router and two as bridged repeaters &#8212; on which I have used several versions of dd-wrt.  (I&#8217;ve also used Sveasoft and Hyper-WRT on these devices.)</p>
<p>Previously, I have endured spectacular failure when trying to flash version 8 devices.  <em></em> <em>&lt;The sound of bricks dropping rings out in the distance.&gt;</em> (My devices are all version 2.  The Wikipedia article I linked to above explains the differences in the hardware versions.)  It turns out, the critical misunderstanding I had related to flashing the stock firmware with vxWorksKiller (prior to transferring the DD-WRT image to the router via TFTP).  I did not realize that the upload of vxWorksKiller needed to be done from a special management screen that is only accessible after unplugging the router, holding down the reset button while plugging the router back in, and continuing to hold the reset button for 20 seconds.  This implies that the upload <em>should not</em> be done from the default firmware&#8217;s upgrade page.  This understanding was gained this week when building a PC, and flashing two routers, for a friend of mine.</p>
<p>Given that the preponderance of WRT54Gs on shelves now are version 8.x, this realization bodes well for me in future purchases.<!-- Web Stats --> <!-- End Web Stats --></p>
<div style="text-align:center"><script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fwww.coreygallon.com%2F2009%2F05%2Fdd-wrt-on-the-wrt54g-v8%2F';
  addthis_title  = 'DD-WRT+on+the+WRT54G+v8';
  addthis_pub    = 'coreygallon';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script></div>
]]></content:encoded>
			<wfw:commentRss>http://www.coreygallon.com/2009/05/dd-wrt-on-the-wrt54g-v8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Broadcom 43xx Wireless Card in Linux</title>
		<link>http://www.coreygallon.com/2007/02/broadcom-43xx-wireless-card-in-linux/</link>
		<comments>http://www.coreygallon.com/2007/02/broadcom-43xx-wireless-card-in-linux/#comments</comments>
		<pubDate>Sat, 17 Feb 2007 04:18:56 +0000</pubDate>
		<dc:creator>captivus</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[drivers]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[search engine fodder]]></category>
		<category><![CDATA[SEF]]></category>

		<guid isPermaLink="false">http://corey.shift8.net/2007/02/16/broadcom-43xx-wireless-card-in-linux/</guid>
		<description><![CDATA[Today I finally resolved what has been one of the most frustrated Linux issues I have faced yet &#8212; getting my bloody Dell Truemobile 1300 wireless card (stock in my Dell Inspiron 5100 notebook) to function in Linux. The problem has been that those bastards at Broadcom &#8212; the corporation that manufactures the controller for [...]]]></description>
			<content:encoded><![CDATA[<p>Today I finally resolved what has been one of the most frustrated Linux issues I have faced yet &#8212; getting my bloody Dell Truemobile 1300 wireless card (stock in my Dell Inspiron 5100 notebook) to function in Linux.  The problem has been that those bastards at Broadcom &#8212; the corporation that manufactures the controller for the card &#8212; have not released Linux drivers for this controller.  Prior to today, I have struggled trying to wrap my Windows driver in a piece of Linux software called <em>ndiswrapper</em>.  I have, as it turns out, found two ways to finally get the blasted card to work! <span id="more-18"></span></p>
<p>(Note:  Before following the procedures outlined below, I had downloaded a tested driver &#8212; as per the <a href="http://ndiswrapper.sourceforge.net/mediawiki/index.php/List">ndiswrapper wiki</a> &#8212; for the Dell Truemobile 1300 MPCI card.  The recommended driver can be found <a href="http://ftp.us.dell.com/network/R90501.EXE">here</a>.)</p>
<p>(Additional note:  This process was followed in Fedora Core 6 &#8212; I can only vouch for it working in this environment, although I imagine it will work in most distributions.)</p>
<p><strong>Solution 1:  bcm43xx-fwcutter</strong><br />
Today I found a fantastic little program called <em>bcm43xx-fwcutter</em>.  In essence, it extracts the driver from the Windows driver file, and incorporates it into Linux&#8217; native support for the bcm43xx controller.  After finding this gem, the entire process &#8212; including download and installation &#8212; took about 5 minutes.</p>
<p>Here is what I did:</p>
<p>1.)  Download bcm43xx-fwcutter from <a href="http://developer.berlios.de/project/showfiles.php?group_id=4547">BerliOS.de</a>.  (Note:  be sure to get the correct file for your version of the controller!)</p>
<p>2.)  Unarchive and compile the tool:<br />
<code>tar -xvf bcm43xx-fwcutter-006.tar.bz2<br />
cd ./bcm43xx-fwcutter-006<br />
make</code></p>
<p>3.)  Run the tool to extract the driver from the Windows driver file and install it in Linux:<br />
<code>bcm43xx-fwcutter -w /lib/firmware bcmwl5.sys</code></p>
<p>4.)  Remove the bcm43xx module from the kernel then add it back with the new driver:<br />
<code>rmmod bcm43xx<br />
modprobe bcm43xx</code></p>
<p>5.)  Configure the wireless card (substituting your interface name where appropriate):<br />
<code>iwlist eth1 scan<br />
iwconfig eth1 essid <em>(SSID here)</em><br />
iwconfig eth1 key restricted <em>(WEP key here)</em><br />
dhclient eth1</code></p>
<p>Voila!  It was a truly effortless process after having extracted the driver using bcm43xx-fwcutter.  My hat goes off to the developers &#8212; you lot have truly made Linux life much easier for owners of BCM43xx controller-based wireless cards!</p>
<p><em>Drawback to solution 1</em>: The bcm43xx driver &#8212; the driver used in the process above &#8212; will limit the wireless card to 11mbps.  GRRR!!</p>
<p><strong>Solution 2:  ndiswrapper</strong><br />
Ndiswrapper &#8212; available at SourceForge <a href="http://ndiswrapper.sourceforge.net">here</a> &#8212; is a linux-based wrapper for Windows wireless card drivers.  To quote the project page, &#8220;Some vendors do not release specifications of the hardware or provide a Linux driver for their wireless network cards. This project implements Windows kernel API and NDIS (Network Driver Interface Specification) API within Linux kernel. A Windows driver for wireless network card is then linked to this implementation so that the driver runs natively, as though it is in Windows, without binary emulation.&#8221;</p>
<p>Ndiswrapper can be a bit of a pain to implement, but I have managed to pare down the myriad instructions I found in various forums into several easy-to-follow steps.</p>
<p>1.)  Download ndiswrapper from <a href="http://downloads.sourceforge.net/ndiswrapper/ndiswrapper-1.37.tar.gz?modtime=1170451496&#038;big_mirror=0">its SourceForge project page</a>.  (As of this posting, the current version is 1.37)</p>
<p>2.)  Unarchive and compile ndiswrapper:<br />
<code>tar -zxvf ndiswrapper-1.37.tar.gz<br />
cd ./ndiswrapper-1.37<br />
make distclean<br />
make<br />
(As <em>root</em>) make install</code></p>
<p>3.)  Ensure that the native bcm43xx driver is unloaded and add it to the module blacklist:<br />
<code>rmmod bcm43xx<br />
vi /etc/modprobe.d/blacklist<br />
Add a line: <em>blacklist bcm43xx</em></code></p>
<p>4.)  Install the Windows driver:<br />
<code>ndiswrapper -i bcmwl5.inf</code></p>
<p>5.)  Run <em>depmod</em> and ensure that there are no errors:<br />
<code>depmod -a</code></p>
<p>6.)  Add the ndiswrapper module to the kernel:<br />
<code>modprobe ndiswrapper</code></p>
<p>7.)  Configure the wireless adapter (substituting your interface name where appropriate):<br />
<code>iwlist eth1 scan<br />
iwconfig eth1 essid <em>(SSID here)</em><br />
iwconfig eth1 key restricted <em>(WEP key here)</em><br />
dhclient eth1</code></p>
<p>8.)  Finally, to prevent having to reconfigure the card the next time I reboot, I edit <em>/etc/sysconfig/network-scripts/ifcfg-eth1</em> and add the following configuration strings:<br />
<code>ESSID=<em>(your SSID here)</em><br />
KEY=<em>(your WEP key here)</em></code></p>
<p>Additionally, add the following line to /etc/modprobe.conf:<br />
<code>options ndiswrapper if_name=eth1<br />
alias eth1 ndiswrapper</code></p>
<p>Ndiswrapper is a much better solution for operating BCM43xx controller-based wireless cards in Linux, in my opinion.  This is largely due to the wrapper&#8217;s ability to enable 802.11g (i.e. 54mbps) transfer rates for the card.  The bcm43xx driver limits the card to 802.11b rates (i.e. <= 11mbps).  (Note:  Because ndiswrapper creates a kernel module, if you upgrade your kernel you will have to rebuild the module for the new kernel.  Just recompile ndiswrapper and reinsert the kernel module.)</p>
<p>There it is!  I hope that my documentation of this process will help others who find themselves in a similar bind.</p>
<div style="text-align:center"><script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fwww.coreygallon.com%2F2007%2F02%2Fbroadcom-43xx-wireless-card-in-linux%2F';
  addthis_title  = 'Broadcom+43xx+Wireless+Card+in+Linux';
  addthis_pub    = 'coreygallon';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script></div>
]]></content:encoded>
			<wfw:commentRss>http://www.coreygallon.com/2007/02/broadcom-43xx-wireless-card-in-linux/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

