Find the answer to your Linux question:
Results 1 to 9 of 9
Hi, I have a HP Presario zv6015 laptop with Debian 4.0 installed (using the official unstable repository). When running the kernel 2.6.23, everything works fine, even the Broadcom 4306 wireless ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Feb 2008
    Posts
    1

    WiFi - Broadcom 4306 on kernel 2.6.24 (b43 module)


    Hi,

    I have a HP Presario zv6015 laptop with Debian 4.0 installed (using the official unstable repository). When running the kernel 2.6.23, everything works fine, even the Broadcom 4306 wireless card (using module bcm43xx shipped with the kernel). But when I boot with the new kernel 2.6.24, the wireless network stops working. I tried everything found in b43 - Linux Wireless and searched a lot of solutions on the Internet, but had no success. Both modules b43 and b43 legacy were tried. Can anyone help me? Following is the output of some commands and content of some config files to help the diagnostic.

    Thanks

    ----------------------------------------------

    using debian linux with kernel linux-image-2.6.24-1-686
    updated as of 01/31/2008 from the official debian unstable repository

    firmware extracted to /lib/firmware/b43
    broadcom-wl-4.80.53.0 - extracted with b43-fwcutter 009
    broadcom-wl-4.150.10.5 - extracted with b43-fwcutter 010

    firmware extracted from these files, found at http://www.linuxwireless.org/en/users/Drivers/b43:
    broadcom-wl-4.80.53.0/kmod/wl_apsta_mimo.o
    broadcom-wl-4.80.53.0/kmod/wl_apsta.o
    broadcom-wl-4.150.10.5/driver/wl_apsta_mimo.o

    b43-fwcutter version 009: obtained from the official debian unstable repository as of 01/31/2008
    b43-fwcutter version 010: compiled from sources found at Index of /b43/fwcutter

    --- 'lspci' output - BEGIN ---
    03:02.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
    --- 'lspci' output - END ---

    --- /etc/network/interfaces - BEGIN ---
    # I changed the ESSID, nickname and password to placeholders
    iface lo inet loopback
    auto lo

    iface eth1 inet dhcp
    wireless-essid WiFiNetworkESSID
    wireless-mode Managed
    wireless-channel 6
    wireless-nickname nickname
    wireless-key open sassword
    hostname nickname
    auto eth1
    --- /etc/network/interfaces - END ---

    --- 'dmesg' output - BEGIN ---
    b43-phy1: Broadcom 4306 WLAN found
    phy1: Selected rate control algorithm 'simple'
    udev: renamed network interface wmaster0 to eth1
    --- 'dmesg' output - END ---

    --- 'iwlist eth1 scan' output - BEGIN ---
    eth1 Interface doesn't support scanning.
    --- 'iwlist eth1 scan' output - END ---

    --- 'ifup' output - BEGIN ---
    Error for wireless request "Set Mode" (8B06) :
    SET failed on device eth1 ; Operation not supported.
    Error for wireless request "Set Encode" (8B2A) :
    SET failed on device eth1 ; Operation not supported.
    Error for wireless request "Set Frequency" (8B04) :
    SET failed on device eth1 ; Operation not supported.
    Error for wireless request "Set ESSID" (8B1A) :
    SET failed on device eth1 ; Operation not supported.
    Internet Systems Consortium DHCP Client V3.1.0
    Copyright 2004-2007 Internet Systems Consortium.
    All rights reserved.
    For info, please visit ISC DHCP

    eth1: unknown hardware address type 801
    SIOCSIFFLAGS: Operation not supported
    SIOCSIFFLAGS: Operation not supported
    eth1: unknown hardware address type 801
    Listening on LPF/eth1/
    Sending on LPF/eth1/
    Sending on Socket/fallback
    receive_packet failed on eth1: Network is down
    option_space_encapsulate: option space agent does not exist, but is configured.
    DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 8
    send_packet: Network is down
    DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 10
    send_packet: Network is down
    DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 21
    send_packet: Network is down
    DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 19
    send_packet: Network is down
    DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 3
    send_packet: Network is down
    No DHCPOFFERS received.
    No working leases in persistent database - sleeping.
    --- 'ifup' output - END ---

  2. #2
    Linux Guru
    Join Date
    Jul 2004
    Posts
    4,593
    I just got done setting up my laptop with Fedora 8, using the 2.6.23.14-107.fc8 kernel. i have a BCM4306 wireless, and the b43 module loads automatically for it. I tried extracting the firmware from my Windows driver, but that didn't work. I had some luck following this guide here:
    Fedora8 - Fedora Guide

    It is for Fedora 8, but maybe some of it will be useful to you. I used method #2, maybe method #1 will be better for you.

    I also found that putting the firmware in the /lib/firmware folder was not good enough, it was looking for it in /lib/firmware/b43. After I created a b43 folder and put the firmware in it, the wireless finally worked.
    Please do not send Private Messages to me with requests for help. I will not reply.

  3. #3
    Just Joined!
    Join Date
    May 2008
    Posts
    4
    I am also having this issue... having gone through the forums and every other resource I have come across and still totally befuddled...

    I'm running Debian Etch, 2.6.25 on a HP ZD8080 - Broadcom 4306 rev 3 using the b43 drivers that I got from this site:

    b43 - Linux Wireless

    I have also, as of this moment followed two of the three options on this page:

    http://www.hpl.hp.com/personal/Jean_...TPLUG-UDEV.txt

    I'll let you know if the third time really is a charm...

    My symptoms are truly similarly to what you are experiencing, I was really hoping that you had enough replies for me to form a solution...

    All the research that I have performed thus far has led me to believe that my firewire card is being identified as a "potential" network adapter and thus... being assigned an alias (eth2 in this case). I've tried removing the modules and blacklisting, using ifrename to assign a static name during start up... udev, hotplug, modules.d/blacklist... and just for good measure discover - you name it! this thing just refuses to function... arrrrggghhhh!

    I have a few more options to try before I resort to ndiswrapper, not that I'm against it but if I can get my wireless to function natively... I'd prefer it, ndiswrapper seems like the closing thing to a "proper hack" that I can imagine. anyways... if you finally got this thing working, I'd love to hear how it happened... otherwise, I will definitely post my results - cause this has got to get figured out...

  4. $spacer_open
    $spacer_close
  5. #4
    Linux Guru
    Join Date
    Jul 2004
    Posts
    4,593
    That link to Linux Wireless-b43 is only for the firmware, not the driver. The driver is already included in the kernel.

    Is the b43 module loading? Check for it with this command
    Code:
    lsmod
    If that is good, look to see if the firmware is loading correctly:
    Code:
    dmesg | grep firmware
    When I use that command, Here is what I get:
    Code:
    [paul2@localhost ~]$ dmesg | grep firmware
    b43-phy0 debug: Loading firmware version 410.2160 (2007-05-26 15:32:10)
    Look for it in the list of network cards:
    Code:
    ifconfig
    If it is there, either as wlan(x) or eth(x), then see what is says about it with this command:
    Code:
    iwconfig
    If everything looks good, maybe the card just needs to be configured. I have a version of Debian 4, using the KDE desktop. I can configure the network cards by starting the network-config GUI (as root):
    Code:
    network-config
    Please do not send Private Messages to me with requests for help. I will not reply.

  6. #5
    Just Joined!
    Join Date
    May 2008
    Posts
    4
    Hey! Thanks for the response... it's much appreciated... I misspoke I meant firmware, not driver. I have recompiled my 2.6.25 kernel to accomodate for the b43 driver specifically, not the b43legacy; it's also compiled with the mac80211 driver and not the ieee80211softmac. I've spent some time trying to narrow this all down.

    # lsmod |grep b43
    b43 144608 0
    firmware_class 9248 2 pcmcia,b43
    mac80211 122540 1 b43
    led_class 5380 1 b43
    ssb 28772 1 b43

    # dmesg |grep b43
    b43-phy0: Broadcom 4306 WLAN found
    b43-phy0 debug: Found PHY: Analog 2, Type 2, Revision 2
    b43-phy0 debug: Found Radio: Manuf 0x17F, Version 0x2050, Revision 2
    b43-phy0: Loading firmware version 410.2160 (2007-05-26 15:32:10)
    b43-phy0 debug: Chip initialized
    b43-phy0 debug: 30-bit DMA initialized
    Registered led device: b43-phy0::tx
    Registered led device: b43-phy0::rx
    b43-phy0 debug: Wireless interface started
    b43-phy0 debug: Adding Interface type 2

    Everything seems to be fine, right? And here come the problems...

    # ifconfig
    eth1 Link encap:Ethernet HWaddr 00:C0:9F:71:37:BA
    inet addr:10.0.1.179 Bcast:10.0.1.255 Mask:255.255.255.0
    inet6 addr: fe80::2c0:9fff:fe71:37ba/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:3701 errors:0 dropped:0 overruns:0 frame:0
    TX packets:3592 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:2232465 (2.1 MiB) TX bytes:648848 (633.6 KiB)
    Interrupt:20 Base address:0x5000

    eth2 Link encap:UNSPEC HWaddr 00-90-4B-B6-17-A7-30-3A-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)

    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:82 errors:0 dropped:0 overruns:0 frame:0
    TX packets:82 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:5904 (5.7 KiB) TX bytes:5904 (5.7 KiB)

    wlan0_ren Link encap:Ethernet HWaddr 00:90:4B:B6:17:A7
    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)

    # iwconfig
    lo no wireless extensions.

    eth1 no wireless extensions.

    eth2 no wireless extensions.

    Warning: Driver for device wlan0_rename has been compiled with version 22
    of Wireless Extension, while this program supports up to version 20.
    Some things may be broken...

    wlan0_rename IEEE 802.11g ESSID:""
    Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
    Tx-Power=27 dBm
    Retry min limit:7 RTS thr:off Fragment thr=2352 B
    Encryption key: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

    Attempting a configuration of the card doesnt help, since Debian is associating the eth2 interface with whatever the hell device that is... Now jsut to get up to date, I have tried:

    http://www.hpl.hp.com/personal/Jean_...TPLUG-UDEV.txt

    b43 - Linux Wireless

    Just today I discovered this bug report:

    #465775 - b43: ethX is renamed to wlan0_rename when b43 wireless module loads - Debian Bug report logs

    Apparently, it's an issue with the way udev names the hardware. When I installed Debian, it installed 2.6.18 along with the BCM43xx. At some point during the installation udev screwed the naming up... Apparently, just deleting the rules in /etc/udev/rules.d/z25persistant-net.rules will force udev to recreate them, and as long as the drivers are loading properly udev will get it right... That's what I just did, and it was really that simple... my card is up and working now.
    Last edited by caleb12; 05-25-2008 at 03:37 AM. Reason: Solved!

  7. #6
    Linux Guru
    Join Date
    Jul 2004
    Posts
    4,593
    You shouldn't have had to re-compile the kernel just to get b43 to work. That, and the fact that this looks to be a Debian bug, leads me to suggest using a different distro. Since it is a udev bug, I don't think an older kernel would fix it. But you can try.

    Have you tried any of the fixes mentioned in the bug report?
    Please do not send Private Messages to me with requests for help. I will not reply.

  8. #7
    Just Joined!
    Join Date
    May 2008
    Posts
    4
    I actually got it up and working... just a bit ago. As I said, the issue was with udev naming the devices during the install.

    I recompiled my kernel for several reasons not just for the b43, however the kernel I installed Debian with, 2.6.18, was using the bcm43xx driver which is considered deprecated... and it's still using the ieee80211softmac stack instead of the more recent mac80211. When I did get the card working under the 2.6.18 kernel and the bcm43xx module - the card didn't work properly. The b43 module got it working right but that udev bug got in the way...

    It's fixed now... and it was a simple fix, deleting the lines in the z25persistent-net.rules and letting udev recreate them on the next boot... unfortunately, it took me about 3 days to FIND that fix... lol...

  9. #8
    Linux Guru
    Join Date
    Jul 2004
    Posts
    4,593
    Now that you have posted the fix here in the forums, it should be easier for people to find.

    That being said, would you like to post the exact changes that you made to the z25persistent-net.rules files. This way the fix is documented in the thread, and not in some obscure link.

    Thanks
    Please do not send Private Messages to me with requests for help. I will not reply.

  10. #9
    Just Joined!
    Join Date
    May 2008
    Posts
    4
    It was actually so simple I almost had to kick my own A$$...

    The problem stems from the way udev assigns devices as they come up during boot, udev stores these rules (for ethernet devices) in:

    /etc/udev/rules.d/z25_persistent-net.rules

    If you delete the pregenerated rules and then reboot, udev will properly pick up and assign the interfaces in the proper order.

    I would also assume that this would only work after you have installed the b43 firmware, and made sure that the module is loading properly. This is the LAST step in the process...

    When I get a chance I'll post a proper how-to, since I've been posting on forums all around the net trying to figure this one out... Right now, I am just enjoying my wireless functionality!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •