Music Box: Moto

What started as a rebuild of my Networked Music Box, will hopefully be turning into a media PC for my Jeep. I plan on having it sync to my music shares over NFS and 802.11g WiFi, when in range (i.e. pull up in the drive way). It will be able to play back video and music on the system. I’ll be installing a small LCD screen over the glove compartment. The PC will be in the back, and I’ll be using an ATI All In Wonder RF remote, for which I have already written software, to drive the system. It will also be a wardriving system. Maybe a motorized pringles can directional antenna will be in the future too.

I’m sure I’ll be writing some kind of software for this system. I just don’t know what yet. But for starters, I purchased a D-Link DWL-G510 802.11g PCI adapter. I didn’t give much thought to it, but when I installed it, there was no support in Linux 2.6.10. Searching for device drivers for “DWL-G510” yeilded no results other than to use ndiswrapper. I was about to go this route, however, when I was configuring the kernel for the new system, I had taken a look at /proc/pci to see what I needed to enable. I noticed that the chipset for the DWL-G510 adapter was from Atheros Communications. So instead, I searched for drivers for “Atheros.” This yeilded something nice! The MADWiFi project is developing a driver for the Atheros chipset. It’s currently only available through CVS, but I checked the sources out and built the driver without problem. After a little tinkering with interface commands and wifi tools in Linux, I had working WiFi support with the card.

The new system is Slackware 10.1 on top of a custom 2.6.10 kernel. I don’t like the provided rc.wireless RC script, so I wrote a simpler one, tailored to my (basic, current) needs. It may be useful to you!

<br /> #!/bin/sh</p> <p>INTERFACE=&#8221;ath0&#8243;<br /> ESSID=&#8221;My Network&#8221;<br /> CHANNEL=6<br /> KEY=&#8221;FFFFFF&#8221;</p> <p>function start {<br /> echo &#8220;Bringing up wireless interface $INTERFACE ($ESSID)&#8221;<br /> modprobe ath_pci<br /> ifconfig $INTERFACE down<br /> ifconfig $INTERFACE up<br /> iwconfig $INTERFACE channel $CHANNEL essid &#8220;$ESSID&#8221; key $KEY<br /> dhcpcd $INTERFACE<br /> }</p> <p>function stop {<br /> echo &#8220;Bringing down wireless interface $INTERFACE ($ESSID)&#8221;<br /> ifconfig $INTERFACE down<br /> }</p> <p>function restart {<br /> stop<br /> start<br /> }</p> <p>case &#8220;edit_entry&#8221; in<br /> &#8216;start&#8217;)<br /> start;<br /> ;;<br /> &#8216;stop&#8217;)<br /> stop;<br /> ;;<br /> &#8216;restart&#8217;)<br /> restart;<br /> ;;<br /> *)<br /> echo &#8220;usage start|stop|restart&#8221;<br /> esac<br />