-   Linux - Laptop and Netbook (
-   -   AirPort wireless with Debian on a G4 PowerBook (

trentfox 07-07-2008 09:37 PM

AirPort wireless with Debian on a G4 PowerBook
I've got Debian Etch installed on my 15" PowerBook G4/1.33 al. Runs very well including Mac-on-Linux (!!!!) BUT, I'm having trouble getting my AirPort extreme card to connect to any wireless signal. It uses the Broadcom 43xx driver and it appears to have been successfully installed with the BCM43xx_fwcutter. The pcmcia card that I use lights up, and the various signals available to me are shown on the nm applet on Gnome. But when I try to connect, either to my home wireless (wpa2 personal encription) or to unencrypted signals in my area, it won't connect. For the free signals, the nm applet icon even gives green lights as it goes through the spinning animation, but it never completes the connection.

I don't know if this matters, but upon bootup, I see ipv6 over ipv4 as one of the messages, and I have heard that ipv6 can be problematic. (I don't know how to turn this off if indeed it's on.) The other oddity is my network setting shows etho and eth1 as wired connections, though I only have one wired connection. The wireless shows up as eth2, not wlan2. Could the ipv6 or the lack of wlan designation for the connection be the problem? I'd really appreciate some help on this, as I really like what I see with Debian in every other way, but I have to have wireless on a PowerBook. For what it's worth, I previously tried Ubuntu 8.04 and it connected without any difficulty. Same for openSUSE 11, which I presently have as a tri-boot with Etch and MacOSX.

indienick 07-08-2008 07:38 AM

Either eth0 or eth1 are going to be the Firewire port. Debian Etch renames the wlan0 connection to the next free ethX iteration; whereas Debian Lenny ("testing") does not.

I was always under the impression the AirPort cards used the Atheros chipset, which could be rendered functional using madwifi.

If OpenSuSE works, please post the output of "lsmod", and also post the output of "lsmod" for your Debian install. This is so we can compare the loaded kernel modules and see if we can find a clearer fix to get Debian working, instead of hacking through the bush with a machete. :)

trentfox 07-08-2008 01:01 PM

Thanks, indienick. There's going to be a bit of delay until I can do this, as I'm away from home and hamstrung at the moment. I can get the lsmod output from both Linuxes, but I have no wireless access where I'm staying, only modem access from the MacOS, and no way to get the output from these files onto the Mac side in order to send it. I can mount the Mac partitions on either Linux, but I seem to have a permissions error when I try to copy something to them.

indienick 07-08-2008 11:27 PM

Okay - one thing you could do, is boot into the Linux install(s), run

$ lsmod >> lsmod.debian
$ lsmod >> lsmod.suse

...mount the linux partition(s) where you have those files saved, and from the Terminal application:

$ cp /path/to/lsmod.{debian|suse} ~/

trentfox 07-09-2008 11:47 PM

I'm back in an area where I have wireless access, and now I can post those files. Here is the lsmod for Debian Etch (wireless not working):

Lsmod (Debian Etch)
Module Size Used by
hci_usb 18396 2
radeon 129448 2
drm 80600 3 radeon
rfcomm 44252 0
l2cap 25092 5 rfcomm
bluetooth 59436 7 hci_usb,rfcomm,l2cap
uinput 10720 2
lp 13612 0
parport 43312 1 lp
snd_powermac 48188 0
dm_snapshot 19836 0
dm_mirror 23508 0
dm_mod 65136 2 dm_snapshot,dm_mirror
therm_adt746x 13868 0
sbp2 24840 0
scsi_mod 169618 1 sbp2
loop 20040 0
apm_emu 7884 2
snd_aoa_codec_tas 13888 2
snd_aoa_fabric_layout 14056 1
bcm43xx 437620 0
snd_aoa 20864 2 snd_aoa_codec_tas,snd_aoa_fabric_layout
ieee80211softmac 31424 1 bcm43xx
ieee80211 34280 2 bcm43xx,ieee80211softmac
snd_aoa_i2sbus 24228 1
ieee80211_crypt 6816 1 ieee80211
snd_pcm_oss 52032 0
snd_mixer_oss 20704 1 snd_pcm_oss
snd_pcm 91396 3 snd_powermac,snd_aoa_i2sbus,snd_pcm_oss
snd_timer 26500 1 snd_pcm
snd_page_alloc 12008 1 snd_pcm
snd 65008 11 snd_powermac,snd_aoa_codec_tas,snd_aoa_fabric_layout,snd_aoa,snd_aoa_is2sbus,snd_pcm_oss,snd_mixer_o ss,snd_pcm,snd_timer
soundcore 11204 1 snd
pcmcia 43472 0
firmware_class 11744 2 bcm43xx,pcmcia
snd_aoa_soundbus 8004 2 snd_coa_fabric_layout,snd_aoa_i2sbuus
yenta_socket 29644 2
rsrc_nonstatic 23864 1 yenta_socket
pcmcia_core 47129 3 pcmcia,yenta_socket,rsrc_nonstatic
uninorth_agp 10888 1
agpgart 37212 2 drm,uninorth_agp
eth1394 21508 0
tsdev 9120 0
evdev 12352 10
ext3 155080 1
jbd 69544 1 ext3
mbcache 9668 1 ext3
usbhid 58756 0
ide_cd 47460 0
cdrom 43516 1 ide_cd
sungem 34916 0
sungem_phy 10528 1 sungem
ohci1394 40528 0
ide_disk 18976 3
ieee1394 426800 3 sbp2,eth1394,ohci1394
ehci_hcd 35208 0
ohci_hcd 23108 0
usbcore 146752 5 hci_usb,usbhid,ehci_hcd,ohci_hcd
i2c_powermac 6048 0

*These starred modules only appeared after mac-on-linux was run
*nls_utf8 2272 0
*hfsplus 88164 0
*hfs 57028 0
*xt_tcpudp 3328 1
*ipt_MASQUERADE 3712 0
*iptable_nat 8260 0
*ip_nat 19664 2 ipt_MASQUERADE,iptable_nat
*ip_conntrack 61396 3 ipt_MASQUERADE,iptable_nat,ip_nat
*nfnetlink 8120 2 iptable_nat,ip_conntrack
*ip_tables 14760 1 iptable_nat
*x_tables 15940 4 xt_tcpudp,ipt_MASQUERADE,iptable_nat,ip_tables
*tvn 13088 0
*mol 56612 0

Here is the lsmod for openSUSE (wireless working)

Lsmod (openSUSE 11)
Module Size Used by
xt_tcpudp 3232 1
xt_pkttype 1888 3
ipt_LOG 5888 8
xt_limit 2656 8
rfkill_input 4736 0
uinput 10464 2
binfmt_misc 12648 1
snd_pcm_oss 53760 0
snd_mixer_oss 19104 1 snd_pcm_oss
snd_seq 65312 0
snd_seq_device 9004 1 snd_seq
radeon 135912 2
drm 83064 3 radeon
ipt_REJECT 4320 3
xt_state 2528 4
iptable_mangle 3360 0
iptable_nat 7816 0
nf_nat 19338 1 iptable_nat
iptable_filter 3456 1
nf_conntrack_netbios_ns 2912 0
nf_conntrack_ipv4 11748 7 iptable_nat,nf_nat
cpufreq_conservative 7840 0
nf_conntrack 65324 5 xt_state,iptable_nat,nf_nat,nf_conntrack_netbios_ns,nf_conntrack_ipv4
cpufreq_userspace 3832 1
cpufreq_powersave 1760 0
ip_tables 14928 3 iptable_mangle,iptable_nat,iptable_filter
ip6_tables 16016 0
x_tables 17412 9 xt_tcpudp,xt_pkttype,ipt_LOG,xt_limit,ipt_REJECT,xt_state,iptable_nat,ip_tables,ip6_tables
fuse 52380 3
loop 21188 0
dm_mod 65704 0
arc4 1920 2
ecb 3872 2
crypto_blkcipher 20900 1 ecb
b43 152188 0
rfkill 8052 3 rfkill_input,b43
mac80211 178160 1 b43
cfg80211 20944 1 mac80211
ssb 37444 1 b43
snd_aoa_codec_tas 13792 2
pcmcia 41936 2 b43,ssb
snd_aoa_fabric_layout 12648 2
firmware_class 10112 2 b43,pcmcia
snd_aoa 18592 2 snd_aoa_codec_tas,snd_aoa_fabric_layout
ohci1394 36464 0
ieee1394 94016 1 ohci1394
sungem 32644 0
sungem_phy 11680 1 sungem
ide_cd_mod 37380 0
snd_aoa_i2sbus 23172 1
snd_pcm 87780 2 snd_pcm_oss,snd_aoa_i2sbus
snd_timer 26212 2 snd_seq,snd_pcm
snd_page_alloc 11336 1 snd_pcm
cdrom 37884 1 ide_cd_mod
snd 65556 14 snd_pcm_oss,snd_mixer_oss,snd_seq,snd_seq_device,snd_aoa_codec_tas,snd_aoa_fabric_layout,snd_aoa,snd _aoa_i2sbus,snd_pcm,snd_timer
soundcore 7716 1 snd
snd_aoa_soundbus 6628 2 snd_aoa_fabric_layout,snd_aoa_i2sbus
uninorth_agp 10824 1
yenta_socket 28428 2
agpgart 37308 2 drm,uninorth_agp
rsrc_nonstatic 11904 1 yenta_socket
pcmcia_core 41816 4 b43,pcmcia,yenta_socket,rsrc_nonstatic
ehci_hcd 43180 0

I hope this is useful for diagnosis. Thanks!

indienick 07-10-2008 08:51 AM

Okay, I noticed that under SuSE, it has the *newer* b43 and ssb modules loaded; these are the latest releases and replacements for the bcm43xx module that is apparently loaded in your kernel.

My suggestion for Debian: ditch bcm43xx and use ndiswrapper. If you would like some instructions on how to do this, just let us know.

trentfox 07-10-2008 09:10 AM

For what it's worth, I had Ubuntu 8.04 on my PowerBook, and wireless worked with it. (Unfortunately, Mac-on-Linux didn't.) But I don't know what specific modules it loaded, other than it was with some version of bcm43xx.

Instructions for ndiswrapper would be appreciated. Do I have to remove bcm43xx before using ndiswrapper?

indienick 07-10-2008 06:10 PM

Yes - but I would recommend just blacklisting the bcm43xx module. The reason being, I don't know which Ethernet driver module is required by a Macbook, and with my Dell, both the Ethernet and WiFi are Broadcom chipsets - both require the ssb module, but b44 works out of the box, whereas b43 doesn't.

I recommend reading this article on how to get ndiswrapper working. The walkthrough is for getting Debian working on a Dell Vostro 1000 laptop (the exact model I have), but what you will want to look at is the section, "5.3 Using ndiswrapper".

The only tricky thing I can see here, is that ndiswrapper requires the bcmwl5.inf and bcmwl5.sys files from a Windows-based installer. If you do some Googling, I'm sure you can find out which exact Broadcom chip you have, the revision, and a link to the Windows driver installer. :)

EDIT: Blacklisting the module is as easy as

# echo "blacklist bcm43xx" >> /etc/modprobe.d/blacklist

trentfox 07-11-2008 09:29 AM

It's a good thing I tried one more time before jettisoning bcm43xx because the wireless is now working on Debian. I'm on holidays, and I just checked it with a strong unencripted signal, and there it is. (I'm typing on Debian Epiphany right now.) When I tried at home, I tried on my own encrypted signal and on a weak unencrypted signal that I could pick up with MacOSX and openSUSE, but maybe that signal was marginal and the other OSes have a way of concentrating the signal. I'm not worried about that, but there's still the question of way I couldn't get my encrypted signal. Is there some additional tool I need on Debian aside from wpasupplicant?

Thanks for your help so far, indienick!

indienick 07-11-2008 09:52 AM

Oh, no problem, trentfox!

I highly recommend you install the "network-manager-gnome" package, in Debian. It's like the wireless dock applet in Mac OS X. :)

trentfox 07-15-2008 05:54 PM

Thanks, indienick; I did install it.

indienick 07-16-2008 07:38 AM

:) You're very welcome.

trentfox 07-24-2008 12:36 PM

Now that I'm back home, I can say that the wireless driver I installed in Debian Etch does not work to connect me with my home router. I also noticed that, relative to openSUSE 11 ppc, Etch sees fewer router signals. Also, the wireless indicator in Etch doesn't show the signal strength, unlike openSUSE, Ubuntu 8.04 or Yellow Dog 6.1.

This is where it gets interesting. I installed Yellow Dog last night. I had a great deal of difficulty setting up the wireless; even more than with Etch. When I finally got it set up, I noticed on the Linuxwirelessorg website page where I got the BCM43xx from, you need to load an older driver if your kernel is older than Linux 2.6-24, which is the case with YDL 6. It loaded all right. The wireless card was on when I rebooted and wireless signals were displayed in the menu bar. But it wouldn't connect to my router; even the first green light in the applet didn't come on. This was the same as with Etch.

I'm now suspecting what indienick suggested earlier, that it only works with the newer driver. If so, I'm scuppered because distros with the newer kernel that will take the newer driver have trouble with the Mac-on-Linux (MOL) application that allows one to run Mac apps within Linux. openSUSE is the only new version I know of that runs MOL, and it has problems with other apps I would normally use (codec for playing mp4 music and R - a statistical program that runs on almost any other distro). I'm starting to think that running Linux on ppc hardware is one big compromise in that a distro that does one thing you need won't do all of the others. But if anyone has any suggestions for getting the newer BCM to work on Etch, I'm all ears.

Regarding ndiswrapper, indienick, isn't that only for x86 equipment?

All times are GMT -5. The time now is 08:25 AM.