ubunty wifi: cant acquire IP address

Discussion in 'Linux Networking' started by David, Apr 22, 2008.

  1. David

    David Guest

    Hi Larry,

    You may have noticed I am in the UK and it was after 3am when I gave up last
    night. So just seen your message.

    The cmd gives:

    I feel we are now in the land of voodoo. FYI I'm not a computer pro just an
    amateur willing to learn and who hates giving up.

    Thanks once again for your support.

    David, Apr 23, 2008
    1. Advertisements

  2. David

    David Guest

    I was going by some of what I had read. Most did say use b43 but some
    articles said b43-legacy for rev3. Now I know for sure it one less variable.
    Some even said use bcm43xx or ndiswrapper but I felt this to be giving up.

    I have nver built a kernel in my life so am running 2.6.24-16-generic at the
    mo. But had same probs with the beta release and 2.6.24-others

    Also I used the b43 in ubuntu initially but also tried building my own but
    no difference.

    The positive side of all this is that it's usually the best way to learn how
    thongs work.

    David, Apr 23, 2008
    1. Advertisements

  3. David

    Larry Finger Guest

    We are in the land of voodoo. That string of digits is the dump of the
    SPROM on the device. The translation of the interesting parts of it are:

    SPROM(0x04, Subsytem product ID) = 0x0013
    SPROM(0x06, Subsystem vendor ID) = 0x1737
    SPROM(0x08, PCI Product ID) = 0x4320
    SPROM(0x38, High 16 bits of Boardflags) = 0xFFFF
    SPROM(0x72, Low 16 bits of Boardflags) = 0x000D
    SPROM(0x48, MAC address for 802.11b/g) = 00:0f:66:74:9a:a5
    SPROM(0x4E, MAC address for ethernet) = ff:ff:ff:ff:ff:ff
    SPROM(0x54, MAC address for 802.11a) = ff:ff:ff:ff:ff:ff
    SPROM(0x5A, Ethernet phy settings (0)) = 0x1F
    SPROM(0x5A, Ethernet phy settings (1)) = 0x1F
    SPROM(0x5B, et0mdcport) = ON
    SPROM(0x5B, et1mdcport) = ON
    SPROM(0x5C, Board revision) = 0x05
    SPROM(0x5C, Locale / Country Code) = 0x0
    SPROM(0x5C, B/G PHY antenna 0 available) = OFF
    SPROM(0x5C, B/G PHY antenna 1 available) = ON
    SPROM(0x5C, A PHY antenna 0 available) = OFF
    SPROM(0x5C, A PHY antenna 1 available) = ON
    SPROM(0x74, B/G PHY antenna gain) = 0xFF
    SPROM(0x75, A PHY antenna gain) = 0x00
    SPROM(0x5E, pa0b0) = 0x12A0
    SPROM(0x60, pa0b1) = 0xFB77
    SPROM(0x62, pa0b2) = 0xFEAC
    SPROM(0x6A, pa1b0) = 0x0000
    SPROM(0x6C, pa1b1) = 0x0000
    SPROM(0x6E, pa1b2) = 0x0000
    SPROM(0x64, LED 0 behaviour) = 0xFF
    SPROM(0x65, LED 1 behaviour) = 0xFF
    SPROM(0x66, LED 2 behaviour) = 0xFF
    SPROM(0x67, LED 3 behaviour) = 0xFF
    SPROM(0x68, B/G PHY max powerout) = 0x3C
    SPROM(0x69, A PHY max powerout) = 0x00
    SPROM(0x70, B/G PHY idle TSSI target) = 0x3E
    SPROM(0x71, A PHY idle TSSI target) = 0x00
    SPROM(0x7E, SPROM version) = 0x01

    Most of this is OK, but we have had some vendors incorrectly coding
    the data in the low-order 16 bits of the board flags. To check this
    out, I would like you to change one of the routines in the file main.c
    for the b43 driver. I am not sure what the path is in your version of
    the driver source code. In any case, the routine
    b43_bluetooth_coext_enable should be changed from

    static void b43_bluetooth_coext_enable(struct b43_wldev *dev)
    struct ssb_sprom *sprom = &dev->dev->bus->sprom;
    u32 hf;

    if (!(sprom->boardflags_lo & B43_BFL_BTCOEXIST))
    if (dev->phy.type != B43_PHYTYPE_B && !dev->phy.gmode)

    hf = b43_hf_read(dev);
    if (sprom->boardflags_lo & B43_BFL_BTCMOD)
    hf |= B43_HF_BTCOEXALT;
    hf |= B43_HF_BTCOEX;
    b43_hf_write(dev, hf);


    static void b43_bluetooth_coext_enable(struct b43_wldev *dev)

    In other words, please remove all content from this routine, then
    rebuild the driver. This is not the "correct" fix, but it should let
    us test if the board flags are the problem.


    Larry Finger, Apr 23, 2008
  4. David

    David Guest


    I searched for a file main.c but can't find one.
    When I search for b43 I get these results
    and several (5 in all) under
    and also /usr/share/b43-fwcutter
    b43-legacy etc

    But nowhere can I find a "main.c" file
    Am I being stupid here?
    David, Apr 23, 2008
  5. David

    Larry Finger Guest

    Did you rebuild the b43 driver? Was that from source, or did you just
    link the b43 objects against your kernel? If from source, the file
    should be in the directory with the source files. If you linked from
    object files, please get me the ls output from that directory.

    Larry Finger, Apr 23, 2008
  6. David

    Paul Sherwin Guest

    David, having read through this thread I think you are spending more time
    on this than is worthwhile. Just buy a cheap USB wifi dongle from an ebay
    seller for about a fiver. This will almost certainly use the zd1211rw
    kernel module and will Just Work. Life's too short :)

    Paul Sherwin, Apr 23, 2008
  7. David

    David Guest

    Hi Paul,
    I hate it when some thing that is "supposed" to work doesn't but I think you
    are correct.
    Some folk here have been very helpful but the bottom line seems to be that
    unless one picks the right wifi device it can be hell.

    I do have an AsusTek WL-167g USB stick (uses rt73 drivers) which again is
    supposed to work but I haven't had any luck with it either so far.
    Tried that tonight, along with another PC even, but the same old c**p.

    Okay...I'll take your advise.... so now the question is do you (or anyone
    else here) have the name of a particular model of usb stick that uses said
    kernel module and that you know works well with Ubuntu Hardy.
    I did a quick google and came up with a few candidates but also saw several
    bug reports even with zd1211rw and Ubuntu. So I assume that it's not just a
    matter of what basic chip set each manufacturer uses but also how well they
    implement their design.

    David, Apr 23, 2008
  8. David

    David Guest

    Just got wifi working using my USB stick (AsusTek WL-167g) this is using
    Gutsy and another PC so it's back to the original PC and Heron later to
    check it will work there. But SUCCESS.
    Seemed to work using bog standard network-manager and after doing:

    sudo ifdown wlan0
    then ifup wlan0

    Still interested in any recommendations from those who have "real"
    experience of actual PCI cards (prefer those) or USB sticks that work with
    Ubuntu 8.04.
    Thanks for the input.
    David, Apr 23, 2008
  9. David

    David Guest

    Larry, as I am a novice at linux and wifi so have been struggling to
    understand all this and as I had spent too much time trying to get this to
    work I decided to use a USB wifi stick I had and it worked. I do appreciate
    your help however.
    David, Apr 23, 2008
  10. David

    Larry Finger Guest

    I'm a little disappointed that you bailed out at this point. I think
    we were close to a solution, but I guess you have other things to do.
    We'll just have to wait for some other user to have the same difficulty.

    I have one further question. In your very first message, you stated
    "Tried latest "restricted" Broadcom drivers in Ubuntu and even
    compiled them myself to check." Where did you get those drivers. I
    looked all over the Ubuntu web site without success. I have even
    loaded Ubuntu 8.04-rc onto my machine, but I don't find anything for
    "restricted" Broadcom anywhere in the package manager.

    Larry Finger, Apr 24, 2008
  11. David

    David Guest

    Hi Larry,

    It's 1:33am here in the UK and another late night. It was after 3am when I
    gave up last night. Hence my chickening out and deciding to try to get my
    USB stick to work. Which it now does and I've tried it in 2 different
    machines now with 7.10 and 8.04rd versions of Ubuntu.
    But back to Broadcom.
    I agree I was not clear in describing what I had done in my first
    post...mainly being a noob and npt knowing the terminology too well.
    What I did was initially use "b43" that comes with Ubuntu 8.04 (which they
    variously term restricted or proprietary drivers.)
    If you install the PCI card they pop up in System>Administration>Hardware
    When that didn't work I found
    http://linuxwireless.sipsolutions.net/en/users/Drivers/b43 and used their

    If you are using the b43 driver from linux-2.6.24, follow these
    Use version 011 of b43-fwcutter.
    Download, extract the b43-fwcutter tarball and build it:
    wget http://bu3sch.de/b43/fwcutter/b43-fwcutter-011.tar.bz2
    tar xjf b43-fwcutter-011.tar.bz2
    cd b43-fwcutter-011
    cd ..
    Use version of Broadcom's proprietary driver.
    Download and extract the firmware from this driver tarball:
    export FIRMWARE_INSTALL_DIR="/lib/firmware"
    wget http://downloads.openwrt.org/sources/broadcom-wl-
    tar xjf broadcom-wl-
    cd broadcom-wl-
    sudo ../../b43-fwcutter-011/b43-fwcutter -w "$FIRMWARE_INSTALL_DIR"

    Since getting wifi running with the USB stick I did just venture back and
    installed the Broadcom card back into another PC running windows XP and
    found that
    I couldn't get it to run on that either. So now I am wondering if the card
    went bad during all my experimentation!

    If after all that you still would like me to try to get it working then I am
    willing to give it a last shot, especially as you have been so helpful to
    But you'll need to spell out what you want me to do. Please just let me
    Thanks again.
    (going to bed now)
    David, Apr 24, 2008
  12. David

    Larry Finger Guest

    Now I understand. When you said you downloaded and recompiled the
    driver, I thought you meant b43. What you downloaded are the MIPS
    drivers that contain the firmware, and then recompiled b43-fwcutter -
    the program that extracts the firmware from those drivers.

    With a Debian-based system, it is very difficult to compile your own
    kernel. On openSUSE, which I use, it is as easy as getting the source,
    configuring the options for devices and debugging, and the issuing the
    commands 'make' and 'sudo make modules_install install' and a new
    kernel is built and installed.

    When Ubuntu has a kernel with version number or later, your
    interface should work "out of the box" except for the firmware.
    Broadcom has not, and will not, cooperate with our project. As a
    result, we do not have permission to distribute their firmware, which
    is why you have to download a piece of their code and extract the
    firmware from it.

    Larry Finger, Apr 24, 2008
  13. David

    jasee Guest

    That's _really_ unfortunate as it is a very popular built in card!
    jasee, Apr 24, 2008
  14. David

    David Guest

    My apologies Larry if I misled you (un-intentially) with an incorrect
    explanation. I trust I'll get better at using the correct terminology as I
    gain in experience.
    All the best
    David, Apr 24, 2008
  15. David

    Jurgen Haan Guest

    It's probably that smelly 'avahi' stuff. (zeroconfig crap).
    Just toss that away and handle your wifi through more conventional ways
    (/etc/network and stuff, or just through your networking applet in gnome).
    Jurgen Haan, Apr 24, 2008
  16. David

    David Guest

    Hello Jurgen,
    Spent too much midnigth oil on trying to get it to work so now using an asus
    USB stick.
    But FWIW how do i "just toss away" the avahi stuff.
    Delete it from /etc/network/..??
    David, Apr 24, 2008
  17. David

    Larry Finger Guest

    No, it is not the "zeroconfig crap". I think David ran into a
    recently-discovered problem with incorrectly coded SPROM's on
    PCI-based cards. The bug was not triggered in the old version of our
    driver (bcm43xx) and does not show for PC cards (Cardbus).
    Unfortunately, David does not have the experience needed to undertake
    the steps needed to confirm this issue. Unfortunately, these problems
    MUST be fixed by coding special "quirk" sections for each affected
    device. That means that this particular problem may never be fixed.
    Fortunately, PCI-based Broadcom cards are relatively rare. So far, all
    the mini-PCI and mini-PCIe cards are OK.

    Larry Finger, Apr 24, 2008
  18. David

    David Guest

    Hi Larry,
    You are correct when you say "David does not have the experience" ..I have
    been the first to admit it.
    But if it's really the case that it may never be fixed then I am willing to
    try to help if you can lead me as much as you can.

    Experience I may not have.
    But as a Cambridge Univ trained physicist with a few brain cells left there
    may be hope.

    The offer is still there.
    David, Apr 24, 2008
  19. David

    Larry Finger Guest

    I have a simple work-around as long as the card still works. As I
    recall, it was no longer functioning under Windows. If it still works,
    please let me know. As the next step will involve me sending a file to
    you, I think we should go off-line from the newsgroups and do it by
    E-mail. You can reach me at Larry dot Finger at lwfinger dot net. I
    trust you will convert that to a regular address.

    I started out as a university trained physicist (It wasn't Cambridge
    though.), finished university as an experimental mineralogist and
    learned the computer stuff mostly on my own. There is hope.

    Larry Finger, Apr 24, 2008
  20. David

    David Guest

    David, Apr 24, 2008
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.