Today, I am finishing up my Streaming Media Server. It will wirelessly share music streams and setting up in-house file sharing for my music.\n\nThe hardware included a Thinkpad 390E from IBM (333 MHz Pentium II, 192MB RAM, 6 GB hard drive) and a D-Link DWL-122 USB Wireless Wi-Fi Adapter. The software I am using is Debian 3.0 stable and the SlimDevices.com SlimServer software.
The first step was installing Debian. Since I was cleaning off the laptop (I got a shiny reconditioned Thinkpad T22), I set up 2 partitions. One was 400MB for swap, and the other was root (the rest of the drive). After I got the base install set up, I added in the development packages to allow me to compile software, including a new version of the kernel.
My next challenge was to get the network card working. Keep in mind that this laptop does not have working PCMCIA sockets because it fell off the table…. Since this had been a laptop I had been previously using, I had already found a suitable USB network adapter, the D-Link. I first tried to install the drivers for the network card, but I could not get the provided 2.4.18 kernel source from the Debian CD’s to match the pre-compiled kernel. Since I had to compile a kernel from scratch, anyway, I went ahead and used my USB Zip drive to copy over the 2.4.24 kernel source code. Then, I extracted, configured, and compiled my kernel.
Next, I compiled and installed the drivers for the network interface, available from The Linux-WLAN Project. After installation of the drivers, the log file said that the device had no driver claiming it. So, I actually found the source code that links the product/vendor code to a driver and edited the prism2sta.c file to add the cod
es in. I recompiled the modules and reinstalled. At this point, the interface was recognized.
The next step was to get the kernel to set up the network interface automatically. On my home network, I have a DHCP server set up, but there are two commands that are needed to turn on the radio and associate with the Access Point. To get these to be executed automatically when you plug in the card, place the following two commands in /etc/network/interfaces:
pre-up wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable
pre-up wlanctl-ng wlan0 lnxreq_autojoin ssid=”
Once the network is configured, the next step is to install the streaming software. At slimdevices.com, I downloaded the tarball, rather than the RPM. After extracting the code, I
copied it into place and ran the software. It defaults to using port 9000, but that can be changed in the server interface. I changed it to port 80, for ease of access. At the same time, I changed the directory of the music library to point to my collection, once I got it copied to the server.
After getting the software laid out in the right locations, I decided I wanted to add it into the init system, so I needed to have a daemon startup and shutdown script. It turns out that the one for the sympa mailing list manager worked well for me, after some slight modifications. After creating the script for the init.d directory, I created the appropriate symbolic links in the rcX.d directories.
There are some last minute details that I am still working out, such as using NFS for native Linux mounting from other machines and Samba for Windows file sharing. The only other large project yet to conquer is a firewall. Of course, the Shorewall package will dramatically simplify that project.
In a matter of a couple of days of experimentation, I have set up my old laptop to stream and share my entire music collection to any machine that is on my network, giving me the freedom to listen to my music anywhere in the house or out in the yard, when it finally warms up in Ohio.

