USB WiFi adapter for PBs

Jason DeVita jdevita at umich.edu
Wed Jul 26 07:23:54 MDT 2006


On Tue, 25 Jul 2006, Ebrahim Mayat wrote:
>
> On Jul 24, 2006, at 8:28 PM, Jason DeVita wrote:
>
>> On Mon, 24 Jul 2006, Ebrahim Mayat wrote:
>>> Since it is not possible to have YDL drivers for the AirPort Extreme card 
>>> in Powerbooks, the 
>>> <http://www.terrasoftsolutions.com/support/solutions/ydl_4.1/usb-802.11b-key.shtml> 
>>> suggests using the D-Link DWL-122 (prism3 chipset) adapter for enabling 
>>> WiFi. The DWL-122 is however currently discontinued by D-Link. D-Link 
>>> suggest the DWL-G122 as a replacement product for the DWL-122. Questions 
>>> is does the driver for the DWL-122 work for the DWL-G122? or 
>>> alternatively, is there another USB WiFi adapter with associated YDL 
>>> driver that I could use with my PB 12"?
>> 
>> According to http://bcm43xx.berlios.de/ there is a driver for the airport 
>> extreme cards included in linux kernel, starting with 2.6.17-rc2.  There is 
>> a thread on the Gentoo forums about it: 
>> http://forums.gentoo.org/viewtopic-t-409194.html
>> 
>> I've never tried it, as my G3 ibook has a non-extreme airport card.  It 
>> does seem to require compiling the kernel, which may seem daunting to a 
>> newbie.  But it really isn't that scary, and you'll sound really cool when 
>> you tell people you compiled your own kernel.  Anyway, it's something to 
>> consider.
>> 
>> Hope that helps,
>> Jason
>
> Hi Jason
>
> Yes, this does help. The following URLs should provide what I need for 
> preparing a custom kernel :-)
>
> <http://www.terrasoftsolutions.com/support/solutions/ydl_general/kernels.shtml> 
> and <http://ppckernel.org>
>
> If I understand correctly, the driver for the AirPort Extreme cards should 
> already be in the latest kernel so there should be no need to compile the 
> driver separately?

Ebrahim,

Sorry to be so slow on the response.  I haven't had much free time lately. 
You are indeed correct that you won't need to download a driver 
separately.  It should be included with the kernel source.  However, 
according to the berlios.de site pointed to above, there is a separate 
tool that is required to run the airport card, after the kernel has been 
installed.  I don't know anything about this, but that's what site says. 
So you may want to read about that.  One more thing to note, according to 
the site, is that the main kernel doesn't fully support WPA (only WEP). 
Though it sounds like there is another kernel branch that fully supports 
WPA, if necessary.

You mentioned ppckernel.org.  I looked at the config files for some of the 
pre-built kernels there, and I couldn't find any that include the BCM43xx 
drivers.  So it seems you will have to build your own.  You can get the 
kernel source from http://www.kernel.org.  (in the old days, ppc specific 
features were difficult to get into the main kernel tree, so separate ppc 
kernel trees were maintained.  Nowadays however, most of the ppc 
development is put directly into the main tree.  Thus, you can just 
download the main kernel without having to worry about ppc patches or 
whatever)

As for building the kernel, it's been a while since I've done it, 
especially on YDL (I mostly run Debian-x86 now...).  So you might want to 
google-check what I say.  Or maybe someone else reading this can 
fact-check.

The terrasoft link you provided is for 2.2 and 2.4 kernels, and is 
outdated.  There are small but important differences between compiling the 
2.4 and 2.6 kernels.  For the most part, the instructions will be the same 
for YDL versus other distros.  So you can just google for a good kernel 
building how-to.  This:

http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html

is sort of the standard how-to.  It is very comprehensive.  So if you want 
to really understand what you're doing, it could be a good place to start.

I'll attempt here an executive summary:

=====================================
[1] Download the kernel source from www.kernel.org.  Get the latest stable 
version (currently 2.6.17.7).  Make sure to get the full source and not 
just the patch.

(from here on out, I'll assume we're running as root.  It is not necessary 
to do so until later, but this will simplify things.)

[2] Unpack the kernel

    # mv /PATH_TO_WHERE_YOU_DOWNLOADED_IT/linux_2.6.17.7.tar.bz2 /usr/src/
    # cd /usr/src
    # bunzip2 linux_2.6.17.7.tar.bz2
    # tar xf linux_2.6.17.7.tar
    # cd linux_2.6.17.7

[3] Configure the kernel.  Since you are only changing one thing, it's 
best to start with the default YDL kernel config.

    # cp /boot/config-2.6.xx-blah-blah .config
    # make mrproper
    # make menuconfig

A menu-based configurator will come up -- this is where you need to tell 
the kernel to compile support for the bcm driver.  For this step, follow 
the instructions from the gentoo forum page listed above.

[4] Build and install the kernel and modules

    # make vmlinux

(go get a snack)

    # make modules

(go have some coffee)

Assuming no errors above

    # make modules_install
    # cp arch/ppc/boot/vmlinux /boot/vmlinux-2.6.17.7
    # cp System.map /boot/System.map-2.6.17.7
    # ln -s /boot/System.map-2.6.17.7 /boot/System.map

[5] Configure yaboot.  Open up /etc/yaboot.conf in a text editor, and copy 
the section that starts with

    image=/vmlinux-2.6.xx-blah

including all the indented lines below it.  In the (now) second instance, 
change "image=/boot/vmvlinux-2.6-xx-blah" to 
"image=/boot/vmlinux-2.6.17.7" and change "label=linux" to 
"label=myhairisonfire" (or whatever name you desire).  Then run

    # /sbin/ybin

to set the changes.

[6] Reboot and pray.  Upon rebooting, you'll get the normal choice of 
cdrom, osx, or linux.  After you choose linux, yaboot will give you a 
prompt (only for a couple seconds -- so be ready, or else it will boot the 
old kernel).  Type "myhairisonfire" (or whatever name you chose) at the 
prompt and you will boot the new kernel.  If things go bad, you can return 
to the old kernel by rebooting.
=====================================

Well, hopefully I haven't made any mistakes.  Report back with any 
question or problems!  The nice thing about building a kernel for the 
first time is that it is a win-win situation.  Either everything will work 
just fine, or you'll get to learn a lot about how linux works!

-J



More information about the yellowdog-newbie mailing list