Page 1 of 10 123 ... LastLast
Results 1 to 10 of 97

Thread: bcm4306 and ssb

  1. #1
    Join Date
    May 2006
    Beans
    87

    bcm4306 and ssb

    I have seen quite a few posts like mine. But, none of them have a solution that works for me. I didn't want to start a new thread, but it looks like it was time.

    First off, I'm not a newbie. And, I'm no stranger to setting up my wifi on Ubuntu (maybe not an expert, but pretty handy none-the-less). Anyway, I had my bcm4306 wifi card working fine on Gutsy. Then, I upgraded. Since then, I have not been able to get it working again.

    I have tried rmmod'ing the modules, b44, b43, ssb, ohci_hcd and reloading the ndiswrapper before the ssb module. I have scripted it and put it in init.d, as other threads have suggested.

    I have uninstalled ndiswrapper from the repositories and installed an older version from source. I have removed the bcmwl5 driver and reinstalled it. Interestingly, when I do ndiswrapper -l, the driver says it's installed and something about an alternate driver: ssb. But, when I was on Gutsy, it only stated that the driver was installed. Now, it says:
    bcmwl5 : driver installed
    device (14E4:4320) present (alternate driver: ssb)

    Something else that I find interesting is the output of lshw -C network. If I install just the ndiswrapper module, it does not have a configuration entry for the wifi card, but if I install the b44 module, it shows
    configuration: driver=b43-pci-bridge latency=32 module=ssb

    If I grep my modules to see which ones are present, it now shows the ssb module (b44 requires it). And, it seems to take over my network configuration for my wifi card. Here's the results of my grep:
    lsmod |grep -i -e ssb -e b44 -e b43 -e ndis
    b44 28432 0
    ssb 32260 1 b44
    ndiswrapper 193564 0
    usbcore 146028 4 ehci_hcd,uhci_hcd,ndiswrapper
    mii 6400 1 b44
    Something else odd about running lshw -C network is that the first network device (the hard wired one) has a logical name, which is eth0. The second device (the wifi card) does not have logical name. Here's the full output of lshw -C network:

    lshw -C network
    *-network:0
    description: Ethernet interface
    product: NetXtreme BCM5705M Gigabit Ethernet
    vendor: Broadcom Corporation
    physical id: 0
    bus info: pci@0000:02:00.0
    logical name: eth0
    version: 01
    serial: 00:0b:db:9a:46:96
    size: 100MB/s
    capacity: 1GB/s
    width: 64 bits
    clock: 66MHz
    capabilities: pm vpd msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
    configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.86 duplex=full firmware=5705-v3.11 ip=192.168.1.11 latency=32 link=yes mingnt=64 module=tg3 multicast=yes port=twisted pair speed=100MB/s
    *-network:1
    description: Network controller
    product: BCM4306 802.11b/g Wireless LAN Controller
    vendor: Broadcom Corporation
    physical id: 3
    bus info: pci@0000:02:03.0
    version: 02
    width: 32 bits
    clock: 33MHz
    capabilities: pm bus_master cap_list
    configuration: driver=b43-pci-bridge latency=32 module=ssb

    To test if my wifi card is being picked up, I use iwconfig and look for my eth1 device. It used to show up when I installed the ndiswrapper module. Now, it never shows up.

    At this point, I'm confused as to what the b44 and ssb modules are used for. And, why is the card stuck on ssb? And, why does ndiswrapper now have a reference to ssb?

    Any suggestions?

  2. #2
    Join Date
    May 2006
    Beans
    87

    Re: bcm4306 and ssb

    A hugely interestingly bit of information. I was looking over the following thread and thought, it sounded a lot like my problem. Turns out, if I reboot to an old kernel, I can get it working. So, the issue is with the kernel. I still don't quite get what it is about the new kernel. I did see something about ndiswrapper mentioned in a thread on kernel.org where Linus said he didn't care about ndiswrapper. But, technically, what's the problem? I would prefer to stay with the new kernel so that I don't have to recompile my nvidia drivers. But, at least I'm on to something now.

    http://ubuntuforums.org/showthread.php?t=793488

  3. #3
    Join Date
    Apr 2007
    Location
    Mount Horeb, WI
    Beans
    4,312
    Distro
    Kubuntu Development Release

    Re: bcm4306 and ssb

    Just to get things started, you don't need b44. If you look at your wired card from your lshw -C network, it us using tg3 instead of b44. Because of this, you should not even need the ssb driver if you are using NDISwrapper. If you are not sure about this, remove b44 and ssb and see if you can still use your wired connection. The only people that need to put the extra code are the people with the BCM44* ethernet cards.

    Which script did you use to reload the ssb module? Most likely, that needs to be removed. It is not needed. ssb should just be blacklisted in /etc/modprobe.d/blacklist. I say this because if you look at your lsmod results, you will see that ssb is only tied to b44. If you really want to, you could blacklist b43, b44, bcm43xx, and ssb.

  4. #4
    Join Date
    May 2006
    Beans
    87

    Re: bcm4306 and ssb

    Thanks for your help.

    Quote Originally Posted by Ayuthia View Post
    Just to get things started, you don't need b44. If you look at your wired card from your lshw -C network, it us using tg3 instead of b44. Because of this, you should not even need the ssb driver if you are using NDISwrapper. If you are not sure about this, remove b44 and ssb and see if you can still use your wired connection.
    I removed them and have no problem with my wired card.

    Quote Originally Posted by Ayuthia View Post
    The only people that need to put the extra code are the people with the BCM44* ethernet cards.

    Which script did you use to reload the ssb module? Most likely, that needs to be removed. It is not needed. ssb should just be blacklisted in /etc/modprobe.d/blacklist. I say this because if you look at your lsmod results, you will see that ssb is only tied to b44. If you really want to, you could blacklist b43, b44, bcm43xx, and ssb.
    The only script I'm using is the one I created in /etc/init.d/ndiswrapper. There could be another script running somewhere but, not something that I am aware of. The script is just a series of rmmod's and modprobes. I wasn't sure what b44 and ssb might be used for. So, I just followed the other thread's advice. The script looks like:

    cat /etc/init.d/ndiswrapper
    #! /bin/sh
    ### BEGIN INIT INFO
    # Provides: ndiswrapper
    # Required-Start:
    # Required-Stop:
    # Default-Start: S
    # Default-Stop:
    # Short-Description: enable to load ndiswrapper
    # Description: enable to load ndiswrapper
    ### END INIT INFO
    rmmod ohci_hcd
    rmmod ssb
    rmmod ndiswrapper
    modprobe ndiswrapper
    modprobe ssb
    modprobe ohci_hcd

    I'm already blacklisting many modules:
    # replaced by b43 and ssb.
    blacklist bcm43xx
    blacklist b43
    blacklist b43legacy
    blacklist b44
    blacklist ssb

    If ssb and b44 are not required, I can remove them from the init script.
    Last edited by backdoc; May 17th, 2008 at 03:11 AM. Reason: forgot to say "Thanks." How dumb of me....

  5. #5
    Join Date
    Apr 2007
    Location
    Mount Horeb, WI
    Beans
    4,312
    Distro
    Kubuntu Development Release

    Re: bcm4306 and ssb

    I don't really think that you need the script. You just need to have ndiswrapper in /etc/modules. That script was used mainly to load any modules that uses ssb.

    I have not seen ohci_hcd use ssb since about March. I think it was used once, but then removed prior to the final release of Hardy. The person who created that script probably caught wind of it being with that module because of the bug lists and posts talked about it. Most of the ones I have seen are dated back in March have not been mentioned since.

    Does ndiswrapper load now?

  6. #6
    Join Date
    May 2006
    Beans
    87

    Re: bcm4306 and ssb

    Quote Originally Posted by Ayuthia View Post
    I don't really think that you need the script. You just need to have ndiswrapper in /etc/modules. That script was used mainly to load any modules that uses ssb.

    I have not seen ohci_hcd use ssb since about March. I think it was used once, but then removed prior to the final release of Hardy. The person who created that script probably caught wind of it being with that module because of the bug lists and posts talked about it. Most of the ones I have seen are dated back in March have not been mentioned since.

    Does ndiswrapper load now?
    I do have ndiswrapper in /etc/modules. I removed the call/reference to the init.d script in rc2.d. It should not run automatically anymore. I left the script in for historical reference.

    I can load the ndiswrapper module now. But, still no sight of eth1 (my wireless card).
    cat /etc/modules
    # /etc/modules: kernel modules to load at boot time.
    #
    # This file contains the names of kernel modules that should be loaded
    # at boot time, one per line. Lines beginning with "#" are ignored.

    fuse
    lp
    sbp2
    ndiswrapper


    root@laptop:/home/backdoc# iwconfig
    lo no wireless extensions.
    eth0 no wireless extensions.

    Here's my current details:

    lsmod |grep -i -e ssb -e b44 -e b43 -e ndis
    ndiswrapper 193564 0
    usbcore 146028 5 ndiswrapper,ohci_hcd,ehci_hcd,uhci_hcd
    root@laptop:/home/backdoc# lshw -C network
    *-network:0
    description: Ethernet interface
    product: NetXtreme BCM5705M Gigabit Ethernet
    vendor: Broadcom Corporation
    physical id: 0
    bus info: pci@0000:02:00.0
    logical name: eth0
    version: 01
    serial: 00:0b:db:9a:46:96
    size: 100MB/s
    capacity: 1GB/s
    width: 64 bits
    clock: 66MHz
    capabilities: pm vpd msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
    configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.86 duplex=full firmware=5705-v3.11 ip=192.168.1.11 latency=32 link=yes mingnt=64 module=tg3 multicast=yes port=twisted pair speed=100MB/s
    *-network:1 UNCLAIMED
    description: Network controller
    product: BCM4306 802.11b/g Wireless LAN Controller
    vendor: Broadcom Corporation
    physical id: 3
    bus info: pci@0000:02:03.0
    version: 02
    width: 32 bits
    clock: 33MHz
    capabilities: pm cap_list
    configuration: latency=32

    As I stated in one of my previous posts, there's something going on with this kernel version. I can do the same things I'm doing now and get wireless to work, if I boot to the kernel prior to the one I'm using now.

  7. #7
    Join Date
    Apr 2007
    Location
    Mount Horeb, WI
    Beans
    4,312
    Distro
    Kubuntu Development Release

    Re: bcm4306 and ssb

    Quote Originally Posted by backdoc View Post
    I do have ndiswrapper in /etc/modules. I removed the call/reference to the init.d script in rc2.d. It should not run automatically anymore. I left the script in for historical reference.

    I can load the ndiswrapper module now. But, still no sight of eth1 (my wireless card).
    cat /etc/modules
    # /etc/modules: kernel modules to load at boot time.
    #
    # This file contains the names of kernel modules that should be loaded
    # at boot time, one per line. Lines beginning with "#" are ignored.

    fuse
    lp
    sbp2
    ndiswrapper


    root@laptop:/home/backdoc# iwconfig
    lo no wireless extensions.
    eth0 no wireless extensions.

    Here's my current details:

    lsmod |grep -i -e ssb -e b44 -e b43 -e ndis
    ndiswrapper 193564 0
    usbcore 146028 5 ndiswrapper,ohci_hcd,ehci_hcd,uhci_hcd
    root@laptop:/home/backdoc# lshw -C network
    *-network:0
    description: Ethernet interface
    product: NetXtreme BCM5705M Gigabit Ethernet
    vendor: Broadcom Corporation
    physical id: 0
    bus info: pci@0000:02:00.0
    logical name: eth0
    version: 01
    serial: 00:0b:db:9a:46:96
    size: 100MB/s
    capacity: 1GB/s
    width: 64 bits
    clock: 66MHz
    capabilities: pm vpd msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
    configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.86 duplex=full firmware=5705-v3.11 ip=192.168.1.11 latency=32 link=yes mingnt=64 module=tg3 multicast=yes port=twisted pair speed=100MB/s
    *-network:1 UNCLAIMED
    description: Network controller
    product: BCM4306 802.11b/g Wireless LAN Controller
    vendor: Broadcom Corporation
    physical id: 3
    bus info: pci@0000:02:03.0
    version: 02
    width: 32 bits
    clock: 33MHz
    capabilities: pm cap_list
    configuration: latency=32

    As I stated in one of my previous posts, there's something going on with this kernel version. I can do the same things I'm doing now and get wireless to work, if I boot to the kernel prior to the one I'm using now.
    What version of ndiswrapper are you using? 2.6.24 usually needs versions 1.50 or higher. I want to say that I had problems with 1.50 and 1.51, but I could be wrong. It has been a few months since I have used it.

    I am sure that there are some changes that had to be made in ndiswrapper so that it will work for 2.6.24. So just that combination can create odd things to happen.

  8. #8
    Join Date
    May 2006
    Beans
    87

    Re: bcm4306 and ssb

    Quote Originally Posted by Ayuthia View Post
    What version of ndiswrapper are you using? 2.6.24 usually needs versions 1.50 or higher. I want to say that I had problems with 1.50 and 1.51, but I could be wrong. It has been a few months since I have used it.

    I am sure that there are some changes that had to be made in ndiswrapper so that it will work for 2.6.24. So just that combination can create odd things to happen.
    I was using the verion in the repository, which is I guess 1.5. But, since I was having trouble, I downloaded 1.52 and compiled it. That raises a couple of questions though. Could I have the wrong kernel-headers? The reason that I ask is because, if I'm not mistaken, ndiswrapper will only work with the kernel it's compiled against, right? If so, and I can reboot to my previous kernel and load my wifi, maybe when I compiled ndiswrapper it found old headers and therefore generated the wrong version, do you think that's possible? According to the output below, it doesn't look like this is the case, but ....

    ndiswrapper -v

    utils version: '1.9', utils version needed by module: '1.9'
    module details:
    filename: /lib/modules/2.6.24-16-generic/misc/ndiswrapper.ko
    version: 1.52
    vermagic: 2.6.24-16-generic SMP mod_unload 586

    uname -r
    2.6.24-16-generic

  9. #9
    Join Date
    Apr 2007
    Location
    Mount Horeb, WI
    Beans
    4,312
    Distro
    Kubuntu Development Release

    Re: bcm4306 and ssb

    Quote Originally Posted by backdoc View Post
    I was using the verion in the repository, which is I guess 1.5. But, since I was having trouble, I downloaded 1.52 and compiled it. That raises a couple of questions though. Could I have the wrong kernel-headers? The reason that I ask is because, if I'm not mistaken, ndiswrapper will only work with the kernel it's compiled against, right? If so, and I can reboot to my previous kernel and load my wifi, maybe when I compiled ndiswrapper it found old headers and therefore generated the wrong version, do you think that's possible? According to the output below, it doesn't look like this is the case, but ....

    ndiswrapper -v

    utils version: '1.9', utils version needed by module: '1.9'
    module details:
    filename: /lib/modules/2.6.24-16-generic/misc/ndiswrapper.ko
    version: 1.52
    vermagic: 2.6.24-16-generic SMP mod_unload 586

    uname -r
    2.6.24-16-generic
    It looks like it found the right header files because the .ko file was moved to the correct place. What does dmesg say when you do a sudo modprobe ndiswrapper?

  10. #10
    Join Date
    May 2006
    Beans
    87

    Re: bcm4306 and ssb

    Here you go:

    dmesg
    [25712.967320] ndiswrapper version 1.52 loaded (smp=yes, preempt=no)
    [25713.010137] ndiswrapper: driver bcmwl5 (Broadcom,06/13/2003, 3.20.23.0) loaded
    [25713.010922] ACPI: PCI Interrupt 0000:02:03.0[A] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5
    [25713.022087] ndiswrapper (NdisWriteErrorLogEntry:191): log: C000138D, count: 1, return_address: e0d0cb02
    [25713.022096] ndiswrapper (NdisWriteErrorLogEntry:194): code: 0x104
    [25713.022187] ndiswrapper (mp_init:216): couldn't initialize device: C0000001
    [25713.022197] ndiswrapper (pnp_start_device:439): Windows driver couldn't initialize the device (C0000001)
    [25713.022216] ndiswrapper (mp_halt:259): device dec29480 is not initialized - not halting
    [25713.026009] ndiswrapper: device eth%d removed
    [25713.026039] ACPI: PCI interrupt for device 0000:02:03.0 disabled
    [25713.026065] ndiswrapper: probe of 0000:02:03.0 failed with error -22
    [25713.026126] usbcore: registered new interface driver ndiswrapper
    Last edited by backdoc; May 18th, 2008 at 02:44 AM. Reason: used wrong bbcode

Page 1 of 10 123 ... LastLast

Bookmarks

Posting Permissions

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