Archive for April, 2005

30 AprTo Protect and Serve: Open WiFi

I had to go to the airport early this morning and on the way back I thought I’d swing by the Apple Store in Emeryville at an hour well before anything should have been open, just to make sure that last night’s release of their new Operating System, Tiger, wasn’t part of some 24-hour round-the-clock madness.

As I drove down the strangely empty road separating the Bay Street shops I saw that the only car was a police car sitting right in front of the Apple Store. I wondered if Tiger was so popular that it required 24-hour police protection from lunatic Mac-addicts who missed their chance to buy Tiger last night before closing.

But then I saw that the police officer had what could only be an iBook propped up on his steering wheel and he was intently staring at the screen and typing away.

“HE’S STEALING FREE WIFI!” I internally exclaimed.

It makes sense that Apple would set up a wireless base station so that all their display computers could be on the net, and it seems likely it would leak out to that parking spot directly in front of the store. The surprise was that the Apple Store is either running wide open and the cop figured out that he had found something better than free donuts, or the Apple Store, hoping for a little police goodwill, could have added his MAC address or given him the WEP key.

In a world where law enforcement believes its ok to share open WiFi spots, it’s hard for the rest of us to believe otherwise.

16 AprSound Working on Post-February 2005 12″ G4 Powerbook

The Debian Sarge net install for ppc doesn’t get sound working on the most recent Powerbooks. To make it work we need to apply Ben’s patch to the most recent kernel. This took me forever to figure out, but here it is in eight easy steps.

1. Download and prepare the Linux 2.6.11 source
cd /usr/src
wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2
tar -jxf linux-2.6.11.tar.bz2
rm linux
ln -s linux-2.6.11 linux

2. Download and apply the Linux 2.6.12-rc2 patch
cd linux
wget http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.12-rc2.bz2
bunzip2 patch-2.6.12-rc2.bz2
patch -p1 <patch-2.6.12-rc2

3. Download and apply Ben’s powerbook sound patch
wget http://sharealike.net/debian/ppc/benssoundpatch
patch -p1 <benssoundpatch

4. Compile your patched kernel
make menuconfig # be sure to include ATA 100 support or your kernel won’t boot.
make-kpkg clean
make-kpkg –append-to-version=.050416 kernel_image # 050416 is the date in YYMMDD format

5. Prepare to install the compiled and patched kernel
Take a look at your /boot directory. There is a vmlinuz and an initrd.img file for the standard Debian kernel, but your new kernel will not need an initrd.img file, and will just have a vmlinuz file. If you want to keep several kernels available for use then note the names of their vmlinuz files for when we edit yaboot.conf in the next step. Now to install the kernel:

cd /usr/src
dpkg -i kernel-image-2.6.12-rc2.050416_10.00.Custom_powerpc.deb # Note again that your YYMMDD version will likely differ.

6. Edit your yaboot.conf file
vi /etc/yaboot.conf

You’ll want something like mine:

boot=/dev/hda3
device=/pci@f4000000/ata-6@d/disk@0:
partition=5
root=/dev/hda5
timeout=100
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
enablecdboot
macosx=/dev/hda6

image=/boot/vmlinux
label=Linux-2.6.12
read-only

image=/boot/vmlinux-2.6.8-powerpc
label=Linux-2.6.8
read-only
initrd=/boot/initrd.img-2.6.8-powerpc

ybin -v # If you don’t do this your Powerbook may not boot!

7. Prepare for reboot
Before rebooting make sure you’ve got ALSA installed:
apt-get install alsa-base alsa-oss alsa-source alsa-utils alsamixergui gnome-alsamixer

I also needed the zd1211 driver for use with my wireless USB key. I got the CVS version:
cvs -z3 -d: pserver:anonymous@cvs.sourceforge.net:/cvsroot/zd1211 co -P zd1211 # There’s not supposed to be a space between ‘-d:’ and ‘pserver’ but if I don’t include the space here it prints a stupid smiley graphic. p

Cross your fingers and reboot.
On reboot, after pressing L for Linux you then can press TAB at the next prompt to see your two kernels. Type in the one probably called Linux-2.6.12 and press enter.

Sound should now be working. If, like me, you can just barely hear the internal speaker but the headphone jack output sounds fine, then start gnome-alsamixer and crank up the DRC Range setting. Then you can hear the internal speaker fine too.

8. Get wireless USB key working again
To get the zydas driver working again:
cd zd1211

make clean
make
make install # The version as of 04-15-2005 installs to the wrong directory. Do this:
mkdir /lib/modules/2.6.12.-rc2.050416/net
mv /lib/modules/2.6.12-rc2/net/zd1211.ko /lib/modules/2.6.12.-rc2.050416/net
depmod -a
modprobe zd1211
lsmod # Just to confirm that it’s there.
ifconfig wlan0 up
iwconfig wlan0 essid default # ‘default’ is the name of my no-WEP wireless router.
ifup wlan0

Ta-Dah! You’ve got sound on your wireless-enabled Debian-running Powerbook!

13 AprMunich Court Enforces GPL Again

Despite earlier concerns reported on Slashdot that the GPL might be particularly difficult to enforce in Germany, that country’s courts now hold the distinction of having enforced it twice. The first enforcement came in 2004 when Harald Welte of the netfilter/iptables core team sought to enjoin Sitecom from distributing its WL-122 router, which used netfilter’s GPL’d code, without also providing the source code and a copy of the GPL, as that license requires. The Munich Court granted Welte a preliminary injunction and then upheld that injunction (Court’s decision in English pdf) and now Sitecom provides the source code from their website. Welte, who also now runs gpl-violations.org to track GPL violations, and who personally handed over warning letters at Cebit to companies not in compliance with the GPL, reported on his blog today that he has obtained a new preliminary injunction enforcing the GPL, this time against Fortinet for distributing their firewall products (FortiGate and FortiWiFi) that include GPL’d code while Fortinet refuses to release the source. Congratulations again to Welte and his attorneys! (This was a Slashdot submission of mine that was accepted.)

Update: There’s a good article describing more details of the case.