Macbook 4,1 Wifi Problem in openSUSE 11.2

I just installed 11.2 a few hours ago, and the installation went pretty smooth. The only problem is that my wifi is not working. I have been doing a lot of research, but I can’t find much about 11.2 in particular. I’ve tried this guide for wifi:

MacBook - openSUSE

but my wifi still doesn’t show up. There weren’t any errors or anything, but it just doesn’t work. Is there something else I’m supposed to do after that last step?

Thanks for the help.

On 12/06/2009 09:16 PM, rodney3 wrote:
>
> I just installed 11.2 a few hours ago, and the installation went pretty
> smooth. The only problem is that my wifi is not working. I have been
> doing a lot of research, but I can’t find much about 11.2 in particular.
> I’ve tried this guide for wifi:
>
> ‘MacBook - openSUSE’ (http://en.opensuse.org/Installation_on_MacBook)
>
> but my wifi still doesn’t show up. There weren’t any errors or
> anything, but it just doesn’t work. Is there something else I’m supposed
> to do after that last step?

Read the stickies at the beginning of the forum and supply the
necessary information. From what you told us, anything could be wrong.

Okay so far I’ve got:

The card was found under PCI with the name BCM4328 802.11 a/b/g/n

The kernel driver says “ssb”.

The UDI is /org/freedesktop/Hal/devices/pci_14e4_4328

And I grep’d the boot.msg file and there are no missing firmware files.

I’ll get some more info, but hopefully this helps.

Okay I’ve read through some of the stickies, and here’s some more info:

Tried ‘sudo /usr/sbin/iwlist scan’
RESULT: lo, eth0, pan0 all said Interface doesn’t support scanning

Tried ‘/sbin/lspci’
RESULT: 02:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n (rev 03)

Tried ‘/sbin/lspci -n’
RESULT: 02:00.0 0280: 14e4:4328 (rev 03)

Tried ‘/usr/sbin/iwconfig’
RESULT: All report “No wireless extensions.”

On 12/06/2009 11:36 PM, rodney3 wrote:
>
> Tried ‘/sbin/lspci -n’
> RESULT: 02:00.0 0280: 14e4:4328 (rev 03)

The 14e4:4328 device is not supported by any built-in drivers. You
will need to use the Broadcom wl driver. There should be a package for
your kernel. If not, you will need to get the driver from Broadcom’s
web site. If the latter, you will also need the kernel headers for
your system.

Okay thanks. Where do I get the wl driver from?

Again, thanks a lot.

On 12/07/2009 12:16 AM, rodney3 wrote:
>
> Okay thanks. Where do I get the wl driver from?

Use Webpin to see if the broadcom-wl package is available for your
kernel. Use ‘uname -r’ to know what kernel you have. If not, the
Google “Linux Broadcom STA driver”.

Okay I just followed this to install the wl driver:

Alternatively, you can also download and install ready-made firmware RPM’s from Packman (use the “noarch”-packages):

PackMan :: Informationen zum Paket b43-firmware

PackMan :: Informationen zum Paket b43legacy-firmware

This is especially helpful if you don’t have internet access on your target machine and also somehow easier if you can access the internet with your target machine.

B) You don’t have internet access on your target machine:

  • download the “noarch”-packages for b43-firmware and “b43-legacy-firmware” from Packman (see links above)

  • transfer files to your target machine (i.e. via USB stick or if you are dual booting, download them in your other OS an access files on the disk from openSUSE)

  • right-click the downloaded RPM-files and choose “Actions => Install with YaST” or “Open with Install Software”, you will be prompted for root’s password.

In all cases, you will have to unload and reload the respective kernel modules (b43 or b43legacy) with the respective modprobe-commands (or restart your machine).

–end

In the last step, I’m not sure which modprobe commands I’m supposed to do, but I did restart my laptop. No wifi shows up though…

Should I install this one if it’s not supported?

Broadcom.com - 802.11 Linux STA driver

The firmware instructions ONLY apply to the devices that are
supported by b43. As the firmware is copyrighted by Broadcom and they
will not authorize anyone to redistribute it, it must be obtained by
downloading one of Broadcom’s drivers and extracting it from that
driver with a separate program named fwcutter. As Broadcom itself has
no problem with distributing firmware, they build it into the driver.

I thought I made this clear before, but here goes again. If you want
to use your wireless device, you must install the Broadcom STA driver
even though it is not open source and will taint your kernel. If you
do not know what that means, use Google. There is no open-source
driver for the 802.11n versions of the Broadcom chips. I am doing the
reverse engineering and developing “specifications” based on one of
the Broadcom drivers, but there is no concerted effort to convert
those specs into code.

Well the b43 page here:

b43 - Linux Wireless

says that the 14e4:4328 is not supported, so I attempted to build the STA driver.

I get this error when I either ‘make’ or ‘make clean’ :

KBUILD_NOPEDANTIC=1 make -C /lib/modules/uname -r/build M=pwd clean
make: *** /lib/modules/2.6.31.5-0.1-desktop/build: No such file or directory. Stop.
make: *** [clean] Error 2

I then looked in that directory, and it does exist. Any word on this?

I apologize if this is frustrating you, but my weakest point is networking, and I’m really trying to learn.

Thanks a lot by the way.

On 12/07/2009 02:06 PM, rodney3 wrote:
>
> Well the b43 page here:
>
> ‘b43 - Linux Wireless’ (http://linuxwireless.org/en/users/Drivers/b43)
>
> says that the 14e4:4328 is not supported, so I attempted to build the
> STA driver.
>
>
> I get this error when I either ‘make’ or ‘make clean’ :
>
> KBUILD_NOPEDANTIC=1 make -C /lib/modules/uname -r/build M=pwd
> clean
> make: *** /lib/modules/2.6.31.5-0.1-desktop/build: No such file or
> directory. Stop.
> make: *** [clean] Error 2
>
>
> I then looked in that directory, and it does exist. Any word on this?
>
>
>
> I apologize if this is frustrating you, but my weakest point is
> networking, and I’m really trying to learn.

I quote my response earlier in the thread “The 14e4:4328 device is not
supported by any built-in drivers. You will need to use the Broadcom
wl driver. There should be a package for your kernel. If not, you will
need to get the driver from Broadcom’s web site. If the latter, you
will also need the kernel headers for your system.”

You now need the kernel headers.

Okay. Will this work, then?

zypper in linux-kernel-headers

If not, how do I acquire the correct kernel headers? I googled it, and this is the only thing I found.

On 12/07/2009 02:56 PM, rodney3 wrote:
>
> Okay. Will this work, then?
>
> zypper in linux-kernel-headers
>
>
> If not, how do I acquire the correct kernel headers? I googled it, and
> this is the only thing I found.

Try it! You should be a little more adventurous. The only thing you
need to worry about is that the headers match your kernel.

Okay how do I specify the kernel header version that I want?

I did:

rpm -qa | grep kernel

and found that they don’t match:

linux-kernel-headers-2.6.32-1.8.noarch

uname -r gives me:

2.6.31.5-0.1-desktop

I’m going to guess I do:

zypper in linux-kernel-headers-2.6.31.5-0.1-desktop

(I’m waiting for updates to download first, though)

Anyway, should I remove the current kernel header file before installing the new one? If so, how? I’m not too experienced with the zypper syntax.

Okay, triple post. I tried

zypper in linux-kernel-headers-2.6.31.5-0.1-desktop

but that yielded a file not found error, so obviously that’s not what I want.

Do you know which one I need?

Again, rpm -qa | grep kernel gave me:

kernel-desktop-devel-2.6.32-2.1.x86_64
linux-kernel-headers-2.6.32-1.8.noarch
kernel-desktop-2.6.31.5-0.1.1.x86_64
kernel-source-2.6.32-2.1.noarch
kernel-syms-2.6.32-2.1.x86_64
kernel-firmware-20090821-5.1.noarch
kernel-xen-devel-2.6.32-2.1.x86_64
kernel-default-devel-2.6.32-2.1.x86_64

And uname -r gave me:

2.6.31.5-0.1-desktop

Hi,

This is not a solution to your problem, but as you seem to be new to Zypper, I thought you might find a little information about it’s usage helpful.

You can use Zypper to search for packages you want to install with:

zypper se *package name*

You can also get more info about a package with:

zypper info *package name*

And finally you can remove an installed package with:

zypper rm *package name*

more info on Zypper is available here: Zypper/Usage/11.2 - openSUSE

Regards,
Barry.

Thanks Barry. I checked out the man pages for zypper a bit, but you cut to what I was looking for. I appreciate it. :slight_smile:

On a side note, if I’m running something like modprobe, how do I make it so I don’t have to put the full directory (i.e. /sbin/modprobe) but just the ‘modprobe’ to run it?

My only idea would be aliases, but I am doubting that…