Wireless on ppc

Hey everyone,

I’ve used a few distros of linux before (ubuntu, crux, even openSuse) but this is my first time trying it on my PPC G4 Mac. So I have openSuse installed on there successfully, but I cannot for the life of me get my wireless card to work. I have b43-fwcutter installed and i downloaded a broadcom driver ‘broadcom-wl-4.80.53.0’. When using b43-fwcutter it extracts the files fine, but I don’t think it is installing it in /lib/firmware. Here’s some info on the card:

Belkin F5D7001 High-Speed mode wireless G network card
Driver: b43-pci-bridge
Kernel driver: ssb
Revision: 3
kernel: 2.6.27.7-9-default

I get the feeling that the problem is the driver, since they are not designed for ppc. But despite my searches I could not find a ppc driver. Am I screwed with this card? Thanks in advance.

Read this

HCL/Network Adapters (Wireless)/Broadcom BCM43xx - openSUSE

especially the part about firmware installation (you most probably have the wrong one).

Hmm. Well, I downloaded the b43.rpm that was linked there and installed, then re-booted. Still nothing.

In YaST -> Network devices nothing shows up for wireless, but I set one up in network settings.

Not enough information.

Read the stickies in this subforum on how to provide more of it.

I looked at the stickies in this subforum to try and trouble shoot, I’ll try to post as much information as I can. I am writing this from my laptop, so unfortunatly I can’t copy and paste from bash.

lspci -v
0001:10:12.0 Network Controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
Subsystem: Belkin Belkin F5D7001 High-Speed Mode Wireless G Network Card
Flags: bus master, fast devsel, latency 16, IRQ 52
Memory at 80082000 (32-bit, non-prefetchable) [size=512]
Kernel driver in use: b43-pci-bridge
Kernel modules: ssb[/size]

Well, you obviously did not read them completely.

Getting Your Wireless to Work - openSUSE Forums

Last post mentioning the diagnostic script.

Wow, I can’t believe I missed that. Sorry about that.


collectNWData.sh V0.6.1.15 (Rev: 1.165, Build: 2009/09/02 18:39:22)
--- Which type of your network connection should be tested?
--- (2) Wireless connection (WLAN)
--- What's the type of networktopology?
--- (1) WLAN access point <---> LinuxClient
--- On which host is the script executed?
--- (1) LinuxClient
!!! CND0120E: Network card wlan1 has no IP address
!!! CND0300E: No dhcp server found on interface wlan1
!!! CND0230W: IPV6 enabled
!!! CND0310W: Classic network configuration with ifup was detected. Configuration with knetworkmanager is much easier
--- Go to http://www.linux-tips-and-tricks.de/CND#English to get more detailed instructions about the error/warning messages and how to fix the problems
--- If you still don't have success then post the contents of file collectNWData.txt in the net (see http://www.linux-tips-and-tricks.de/CND_UPL#English for links) and then the nopaste link on your favorite Linux forum.
==================================================================================================================
==================================================================================================================
*** uname -a
Linux linux-4ppm 2.6.27.7-9-default #1 2008-12-04 18:10:04 +0100 ppc ppc ppc GNU/Linux
==================================================================================================================
*** cat /etc/*-release
LSB_VERSION="core-2.0-noarch:core-3.2-noarch:core-2.0-ppc:core-3.2-ppc"
openSUSE 11.1 (ppc)
VERSION = 11.1
==================================================================================================================
*** cat /etc/resolv | grep -vi "search"
==================================================================================================================
*** cat /etc/hosts
127.0.0.1       localhost
127.0.0.2       linux-4ppm.site linux-4ppm
==================================================================================================================
*** cat /etc/HOSTNAME
linux-4ppm.site
==================================================================================================================
*** route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
==================================================================================================================
*** ifconfig
eth0      Link encap:Ethernet  HWaddr ##:##:##:##:##:#1  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:41 Base address:0x3400 
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:52 errors:0 dropped:0 overruns:0 frame:0
          TX packets:52 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3296 (3.2 Kb)  TX bytes:3296 (3.2 Kb)
wlan1     Link encap:Ethernet  HWaddr ##:##:##:##:##:#2  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
wmaster0  Link encap:UNSPEC  HWaddr 00-11-50-50-B2-2E-48-00-00-00-00-00-00-00-00-00  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
==================================================================================================================
*** ping tests
connect: Network is unreachable
Ping of 195.135.220.3 failed
ping: unknown host www.suse.de
Ping of www.suse.de failed
==================================================================================================================
*** dhcpcd-test
wlan1: No DHCP server detected
==================================================================================================================
*** lspci
0001:10:12.0 Network controller [0280]: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller [14e4:4320] (rev 03)
0002:20:0f.0 Ethernet controller [0200]: Apple Computer Inc. UniNorth GMAC (Sun GEM) [106b:0021] (rev 01)
==================================================================================================================
*** lsusb
Bus 002 Device 005: ID 05ac:0220 Apple, Inc. Aluminum Keyboard
Bus 002 Device 004: ID 05ac:1006 Apple, Inc. Hub in Aluminum Keyboard
Bus 002 Device 003: ID 046d:c50e Logitech, Inc. MX-1000 Cordless Mouse Receiver
Bus 002 Device 002: ID 058f:9254 Alcor Micro Corp. Hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 0ea0:6828 Ours Technology, Inc. OTI-6828 Flash Disk
Bus 001 Device 003: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 002: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
==================================================================================================================
*** hwinfo --netcard; # (filtered)
07: PCI 11012.0: 0282 WLAN controller
  Model: "Belkin F5D7001 High-Speed Mode Wireless G Network Card"
  Vendor: pci 0x14e4 "Broadcom"
  Device: pci 0x4320 "BCM4306 802.11b/g Wireless LAN Controller"
  SubVendor: pci 0x1799 "Belkin"
  SubDevice: pci 0x7001 "Belkin F5D7001 High-Speed Mode Wireless G Network Card"
  Driver: "b43-pci-bridge"
  Driver Modules: "ssb"
  Device File: wlan1
  Link detected: yes
    Driver Status: ssb is active
    Driver Activation Cmd: "modprobe ssb"
13: PCI 2200f.0: 0200 Ethernet controller
  Model: "Apple GMAC Ethernet Controller"
  Vendor: pci 0x106b "Apple Computer Inc."
  Device: pci 0x0021 "GMAC Ethernet Controller"
  Driver: "gem"
  Driver Modules: "sungem"
  Device File: eth0
  Link detected: no
    Driver Status: sungem is active
    Driver Activation Cmd: "modprobe sungem"
==================================================================================================================
*** lsmod
| af_packet               | agpgart                 | arc4                    | b43                      |
| binfmt_misc             | cdrom                   | cfg80211                | crc_t10dif               |
| crypto_blkcipher        | dm_mod                  | ecb                     | fuse                     |
| ide_cd_mod              | ieee1394                | iptable_filter          | ip_tables                |
| ipv6                    | joydev                  | loop                    | mac80211                 |
| ohci1394                | pcmcia                  | pcmcia_core             | rfkill                   |
| rfkill_input            | scsi_mod                | sd_mod                  | sg                       |
| snd                     | snd_aoa_i2sbus          | snd_aoa_soundbus        | snd_mixer_oss            |
| snd_page_alloc          | snd_pcm                 | snd_pcm_oss             | snd_powermac             |
| snd_seq                 | snd_seq_device          | snd_timer               | soundcore                |
| ssb                     | sungem                  | sungem_phy              | uinput                   |
| uninorth_agp            | usb_storage             | x_tables                |
==================================================================================================================
*** cat /etc/sysconfig/network/ifcfg-[earwd]* | egrep -v ".*=''"
==================================================================================================================
*** cat /etc/sysconfig/network/ifcfg-wlan1
BOOTPROTO='dhcp'
MTU='1500'
NAME='BCM4306 802.11b/g Wireless LAN Controller'
STARTMODE='auto'
USERCONTROL='yes'
WIRELESS_AP='##:##:##:##:##:#3'
WIRELESS_AUTH_MODE='psk'
WIRELESS_BITRATE='auto'
WIRELESS_DEFAULT_KEY='@@@@@@'
WIRELESS_ESSID='§§§§§§§§1'
WIRELESS_KEY_LENGTH='@@@@@@'
WIRELESS_MODE='Managed'
WIRELESS_POWER='yes'
WIRELESS_WPA_PSK='@@@@@@'
==================================================================================================================
*** iwconfig
lo        no wireless extensions.
eth0      no wireless extensions.
wmaster0  no wireless extensions.
wlan1     IEEE 802.11bg  ESSID:"§§§§§§§§1"  
          Mode:Managed  Frequency:2.437 GHz  Access Point: Not-Associated   
          Tx-Power=27 dBm   
          Retry min limit:7   RTS thr:off   Fragment thr=2352 B   
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
==================================================================================================================
*** Actual date for bias of following greps
04:37:39 2008-12-11
==================================================================================================================
*** grep -i radio /var/log/boot.msg | tail -n 5
==================================================================================================================
*** dmesg | grep -i radio | tail -n 5
Registered led device: b43-phy0::radio
==================================================================================================================
*** tail -n 300 /var/log/messages* | /usr/bin/grep -i firmware | tail -n 5
==================================================================================================================
*** ls /lib/firmware
| 2.6.27.7-9-default      | b43                     |
==================================================================================================================
*** ndiswrapper -l
No ndiswrapper module loaded
==================================================================================================================
*** Active processes
wpa_supplicant:YES knetworkmanager:NO nm-applet:NO
==================================================================================================================
*** grep NETWORKMANAGER /etc/sysconfig/network/config
NETWORKMANAGER="no"
==================================================================================================================
*** grep -i persistent /etc/sysconfig/network/config
==================================================================================================================
*** grep 'eth|ath|wlan|ra' /etc/udev/rules.d/*net_persistent* /etc/udev/rules.d/70-persistent-net
/usr/bin/egrep: /etc/udev/rules.d/*net_persistent*: No such file or directory
/etc/udev/rules.d/70-persistent-net.rules:SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="##:##:##:##:##:#2", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan1"
/etc/udev/rules.d/70-persistent-net.rules:SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="##:##:##:##:##:#1", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
==================================================================================================================
*** grep -r 'eth[0-10]|ath[0-10]|wlan[0-10]|ra[0-10]' /etc/modprobe.*
/etc/modprobe.conf:install eth0             /bin/true
/etc/modprobe.conf:install eth1             /bin/true
==================================================================================================================
*** iwlist scanning
                    ESSID:"§§§§§§§§1"
                    Channel:6
                    Quality=58/100  Signal level:-69 dBm  Noise level=-63 dBm
                    Encryption key:on
                    IE: WPA Version 1
                    IE: IEEE 802.11i/WPA2 Version 1
                    ESSID:"§§§§§§§§2"
                    Channel:9
                    Quality=48/100  Signal level:-77 dBm  Noise level=-63 dBm
                    Encryption key:off
==================================================================================================================
*** NWEliza states
IF:eth0  IM:1
IF:wlan1  IM:2
DI:2 dI:1 NIC:1 cNiC:2:1 NI:2 cNI:2 NIW:wlan1-0 DHCP:2 CM:0 IP6:1 KM:0 WLW: 0 AP:1 

Erm

Your card is working.

Check your setup and also read the suggestions for troubleshooting made by the script.

!!! CND0120E: Network card wlan1 has no IP address
!!! CND0300E: No dhcp server found on interface wlan1
!!! CND0230W: IPV6 enabled
!!! CND0310W: Classic network configuration with ifup was detected. Configuration with knetworkmanager is much easier
--- Go to http://www.linux-tips-and-tricks.de/CND#English to get more detailed instructions about the error/warning messages and how to fix the problems

I started up knetworkmanager, because of the suggestion in the bug fixes. It scans and finds my network but does not connect. I think for some reason the DHCP isn’t leasing out an ip.

  • Check your router settings (DHCP, MAC-address filter etc.).

  • Consider using static IP addresses instead

  • Don’t use mixed WPA/WPA2 settings in your router (confuses NWM sometimes)

  • Don’t “hide” the ESSID (does not improve security at all and often causes trouble)

  • Consider (more “cosmetical”) to rename your device to wlan0 again (see content of /etc/udev/rules.d/70-persistent-net.rules)

And reusing the script after every change is also a good idea.

Deactivated ipv6 already? (If not, then reread the script’s output and suggestions).

yoocontolk wrote:
> I get the feeling that the problem is the driver, since they are not
> designed for ppc. But despite my searches I could not find a ppc
> driver. Am I screwed with this card? Thanks in advance.

The main code writer for b43 uses PPC!! Any other theories?

When the kernel is built for the PPC architecture, ALL drivers are
so built. There may be problems with using big-endian, as opposed to
little-endian, accesses. In addition, in the PPC accessing a
non-existent MMIO address crashes the machine, whereas the X86 just
returns all 1’s. These things are found ion the early stage of
testing, and are never in mainline, stable kernels.