<?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; Linux</title>
	<atom:link href="http://www.coreygallon.com/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.coreygallon.com</link>
	<description>thesauri sapientiae et quisquiliae</description>
	<lastBuildDate>Sat, 03 Jul 2010 20:52:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Ubuntu in VirtualBox</title>
		<link>http://www.coreygallon.com/2009/08/22/ubuntu-in-virtualbox/</link>
		<comments>http://www.coreygallon.com/2009/08/22/ubuntu-in-virtualbox/#comments</comments>
		<pubDate>Sun, 23 Aug 2009 04:11:42 +0000</pubDate>
		<dc:creator>Corey Gallon</dc:creator>
				<category><![CDATA[General Posts]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Search Engine Fodder]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.coreygallon.com/?p=195</guid>
		<description><![CDATA[I travel nearly every week to my clients' offices. I have recently become quite keen on the idea of videoconferencing with my wife and children each night, as a means to span the miles between us. Skype is the software I've settled on, as the most promising open-source competitor (Wengo) didn't instill much confidence. The [...]]]></description>
			<content:encoded><![CDATA[<p>I travel nearly every week to my clients' offices.  I have recently become quite keen on the idea of videoconferencing with my wife and children each night, as a means to span the miles between us.  <a href="http://www.skype.com">Skype</a> is the software I've settled on, as the most promising open-source competitor (<a href="http://www.wengophone.com">Wengo</a>) didn't instill much confidence.  The firm I work for blocks Skype installation through its use of McAfee's enterprise product -- a fact which makes me a saaaad panda!  (If this turn of phrase is foreign to you, might I suggest viewing <a href="http://en.wikipedia.org/wiki/Sexual_Harassment_Panda">the South Park episode from which it emanates</a>?)  (Tangentially, my firm is also staunchly anti-open source, as evidenced through our open source software policy -- a fact which makes me an equally bereaved bear!)  I digress ...</p>
<p>The solution to my predicament?  Sun's brilliant <a href="http://www.virtualbox.org/">VirtualBox </a>open source virtualization package running the latest <a href="http://www.ubuntu.com">Ubuntu </a>release -- currently 9.04 (or "Jaunty Jackelope," as they call it).  The installation of VirtualBox took a bit on my lappy, but it went fairly seamlessly.  The only hitch was that the installation of the VirtualBox Host-Only Network adapter in Windows XP SP3 broke my wireless networking.  (It may well have broken all networking, but I didn't try plugging a cable in to check.)  The solution to this was fairly simple -- disable the newly installed adapter!  It seems that VirtualBox doesn't need this adapter enabled in order to provide the virtual OS networking.  (I've no idea what this adapter is used for at the moment.  Perhaps I'll figure this out as I work with VBox a bit more.)</p>
<p>The only Ubuntu image I had lying around was a Hardy (8.04) disc I burned some time ago.  I added a new machine to VBox, installed Ubuntu from the disc, updated to Jaunty using apt, and installed Skype from the Medibuntu repository.  So, I've got a virtual Jaunty up and running and, I must say, it is <em>bloody</em> fantastic!  Good show, Sun!</p>
<div style="text-align:center"><script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fwww.coreygallon.com%2F2009%2F08%2F22%2Fubuntu-in-virtualbox%2F';
  addthis_title  = 'Ubuntu+in+VirtualBox';
  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/08/22/ubuntu-in-virtualbox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DD-WRT on the WRT54G v8</title>
		<link>http://www.coreygallon.com/2009/05/08/dd-wrt-on-the-wrt54g-v8/</link>
		<comments>http://www.coreygallon.com/2009/05/08/dd-wrt-on-the-wrt54g-v8/#comments</comments>
		<pubDate>Sat, 09 May 2009 03:30:24 +0000</pubDate>
		<dc:creator>Corey Gallon</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Search Engine Fodder]]></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 -- one as the primary access point and router and two as bridged repeaters -- on which I have used several versions of dd-wrt. (I'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 -- one as the primary access point and router and two as bridged repeaters -- on which I have used several versions of dd-wrt.  (I'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'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%2F08%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/08/dd-wrt-on-the-wrt54g-v8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Core Dumps in Ubuntu</title>
		<link>http://www.coreygallon.com/2009/05/05/core-dumps-in-ubuntu/</link>
		<comments>http://www.coreygallon.com/2009/05/05/core-dumps-in-ubuntu/#comments</comments>
		<pubDate>Wed, 06 May 2009 03:25:01 +0000</pubDate>
		<dc:creator>Corey Gallon</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Search Engine Fodder]]></category>

		<guid isPermaLink="false">http://www.coreygallon.com/?p=166</guid>
		<description><![CDATA[I resolved this year that I would take time to pursue one of my passions -- computer science. As such, I am learning how to write applications for Linux. I've just spent 30 frustrating minutes trying to figure out why on earth my deliberate segmentation fault in the small C program I have written is [...]]]></description>
			<content:encoded><![CDATA[<p>I resolved this year that I would take time to pursue one of my passions -- computer science.  As such, I am learning how to write applications for Linux.  I've just spent 30 frustrating minutes trying to figure out why on earth my deliberate segmentation fault in the small C program I have written is not producing a core dump in Ubuntu 9.04.  It turns out that Ubuntu <em>disables</em> core dumps in Bash by default.  The fix is simple enough -- use the <code>ulimit</code> command to enable core dumps.</p>
<p><code>bash$ ulimit -c 100</code></p>
<p>In this case I have enabled core dumps and given them a limit of 100 blocks.  Problem solved!  Hopefully this makes it into the search engines and helps someone else frustrated by this same issue.</p>
<div style="text-align:center"><script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fwww.coreygallon.com%2F2009%2F05%2F05%2Fcore-dumps-in-ubuntu%2F';
  addthis_title  = 'Core+Dumps+in+Ubuntu';
  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/05/core-dumps-in-ubuntu/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/16/broadcom-43xx-wireless-card-in-linux/</link>
		<comments>http://www.coreygallon.com/2007/02/16/broadcom-43xx-wireless-card-in-linux/#comments</comments>
		<pubDate>Sat, 17 Feb 2007 04:18:56 +0000</pubDate>
		<dc:creator>Corey Gallon</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>

		<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 -- 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 -- 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 -- 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 -- the corporation that manufactures the controller for the card -- 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 -- as per the <a href="http://ndiswrapper.sourceforge.net/mediawiki/index.php/List">ndiswrapper wiki</a> -- 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 -- 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' native support for the bcm43xx controller.  After finding this gem, the entire process -- including download and installation -- 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 -- 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 -- the driver used in the process above -- will limit the wireless card to 11mbps.  GRRR!!</p>
<p><strong>Solution 2:  ndiswrapper</strong><br />
Ndiswrapper -- available at SourceForge <a href="http://ndiswrapper.sourceforge.net">here</a> -- is a linux-based wrapper for Windows wireless card drivers.  To quote the project page, "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."</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'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%2F16%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/16/broadcom-43xx-wireless-card-in-linux/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
