Find the answer to your Linux question:
Results 1 to 6 of 6
Hello friends! I'm fairly new to Linux and there is only one thing that still forces me to reboot and start windows instead every now and then. When I'm at ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Apr 2012
    Posts
    4

    B43 requiring bcma AND ssb???


    Hello friends!
    I'm fairly new to Linux and there is only one thing that still forces me to reboot and start windows instead every now and then.

    When I'm at home I want to connect my mobile devices (tablet, smartphone) to wifi, but since our hotspot's antenna cannot supply my room with our WLAN I used to start a "Virtual Router" on my laptop, thus sharing it's ethernet connection with my devices via its wlan-card in host mode.
    Under Linux, I found out, this is only possible with hostAPD and the only driver supporting host-mode on my wlan-card (bcm43225) is b43. But unfortunately, Fedora's standard driver was brcmsmac. Therefore I am messing around with the installation of b43 for some time now but it still refuses to work.

    At least I got it to auto-load on boot by creating an entry in etc/rc.local, but I think it isn't a good sign already that the kernel doesn't load b43 itself.

    But as of now, I am more concerened with the question giving its name to this post. When I run lsmod | grep b43 I get the following:
    Code:
    b43                   365923  0 
    bcma                   30183  1 b43
    ssb                    61441  1 b43
    mmc_core              102497  2 ssb,b43
    mac80211              492420  1 b43
    cfg80211              195764  2 mac80211,b43
    I found this strange, because I rather thought of ssb as an alternative for bcma and vice versa, but both are needed, because when I remove one and try to insmod b43.ko (while it's not loaded) I only get
    Code:
    Error: could not insert module b43.ko: Unknown symbol in module
    dmesg will also include many errors saying "unknown symbol" afterwards.

    In dmesg I also found the following line concerning b43:
    Code:
    [   10.426461] Broadcom 43xx driver loaded [ Features: PMNLS ]
    I thought maybe the feature list will also help you to tell me where my problem is.

    I am running Fedora 17beta (kernel 3.3) and I wouldn't be surprised if you told me that it's simply because of a bug in fc17, but at least I am sure then.

    Huge thanks in advance, looking forward to any answers from you

  2. #2
    Linux Engineer nujinini's Avatar
    Join Date
    Apr 2009
    Posts
    1,272
    Hi,

    You might want to give this a try.

    Code:
    $ su -
    password:
    
    # gedit /etc/modprobe.d/blacklist.conf
    Then add these lines...

    Code:
    blacklist b43
    blacklist ssb
    execute

    Code:
    # init 6
    System will reboot. If it doesn't work also, you can go back to the above file and remove those two lines you added. Good luck.
    Last edited by nujinini; 04-25-2012 at 01:57 AM. Reason: spelling
    nujinini
    Linux User #489667

  3. #3
    Just Joined!
    Join Date
    Apr 2012
    Posts
    4
    Hello! First of all thank you for the response.
    I already blacklisted ssb and bcma before (except b43, but that seems strange, since I want it to load). Essentially my problem is that I want to use b43, but it is not loaded by the kernel by default. And when I force it to load on startup using rc.modules, both ssb and bcma are loaded as dependent modules by modprobe, but I was afraid that both might interfere with each other. Maybe I am wrong, but that is the first thing I could get hold of as a possible reason for b43 not to work.

    Only to clarify, what I DID:
    I blacklisted brcmsmac, because I wanted to replace it by b43
    Then I have installed b43-fwcutter and I have executed all command from linuxwireless.org/en/users/Drivers/b43#other_distros
    Code:
    If you are using the b43 driver from 3.2 kernel or newer:
    After installing b43-fwcutter, download version 5.100.138 of Broadcom's proprietary driver and extract the firmware from it:
       1 export FIRMWARE_INSTALL_DIR="/lib/firmware"
       2 wget [protocol not allowed]lwfinger.com/b43-firmware/broadcom-wl-5.100.138.tar.bz2
       3 tar xjf broadcom-wl-5.100.138.tar.bz2
       4 sudo b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" broadcom-wl-5.100.138/linux/wl_apsta.o
    I also tried to do exactly what you suggested, so I did not blacklist bcma but ssb and b43, but since the execution of rc.modules tells fedora to
    Code:
    modprobe b43
    on startup, all those modules were still loaded after login. Now I removed the rc.modules file again, so b43 will not be loaded on startup any more.

    I DID NOT
    Alias the correct module to my wlan0 device as said at fedoramobile.org/fc-wireless/bcm43xx-yum-extras because it seems obsolete (modprobe.conf doesn't exist any more)

    Thank you for helping me out, I really WANT this to work, otherwise I will be forced to switch to windoze again and again.

  4. $spacer_open
    $spacer_close
  5. #4
    Linux Engineer nujinini's Avatar
    Join Date
    Apr 2009
    Posts
    1,272
    Hello again!

    I'm not that much well versed on wireless too but maybe it could help if you can post all the outputs of the command as directed here.

    Maybe the wireless gurus in LF can spot what you need for your concern. Good luck man!
    nujinini
    Linux User #489667

  6. #5
    Just Joined!
    Join Date
    Apr 2012
    Posts
    4
    Thanks nujinini for the REALLY quick answer

    Ok, all outputs from the beginning:
    lspci -knn (only the device I want to get running):
    Code:
    05:00.0 Network controller [0280]: Broadcom Corporation BCM43225 802.11b/g/n [14e4:4357] (rev 01)
    	Subsystem: Foxconn International, Inc. Device [105b:e021]
    	Kernel driver in use: bcma-pci-bridge
    Before modprobe b43
    Code:
    [root@SULUNB ~]# lsmod | sort
    acer_wmi               28107  0 
    atl1c                  41356  0 
    binfmt_misc            17463  1 
    bluetooth             273667  7 bnep
    bnep                   19584  2 
    drm                   241920  7 ttm,drm_kms_helper,radeon,i915
    drm_kms_helper         40409  2 radeon,i915
    fuse                   77772  5 
    i2c_algo_bit           13163  2 radeon,i915
    i2c_core               38028  7 drm,drm_kms_helper,i2c_algo_bit,radeon,i915,i2c_i801,videodev
    i2c_i801               17779  0 
    i915                  467705  9 
    intel_ips              18349  0 
    ip6table_filter        12815  1 
    ip6table_mangle        12700  1 
    ip6_tables             27073  2 ip6table_filter,ip6table_mangle
    ip6t_REJECT            12939  2 
    iptable_mangle         12695  1 
    iptable_nat            13383  1 
    ipt_MASQUERADE         12880  1 
    iTCO_vendor_support    13419  1 iTCO_wdt
    iTCO_wdt               17948  0 
    media                  20444  2 videodev,uvcvideo
    microcode              19252  0 
    Module                  Size  Used by
    nf_conntrack           82339  8 xt_conntrack,nf_conntrack_ipv4,nf_nat,iptable_nat,nf_conntrack_ipv6,nf_conntrack_broadcast,nf_conntrack_netbios_ns,ipt_MASQUERADE
    nf_conntrack_broadcast    12527  1 nf_conntrack_netbios_ns
    nf_conntrack_ipv4      14622  20 nf_nat,iptable_nat
    nf_conntrack_ipv6      14297  21 
    nf_conntrack_netbios_ns    12665  0 
    nf_defrag_ipv4         12673  1 nf_conntrack_ipv4
    nf_defrag_ipv6         18095  1 nf_conntrack_ipv6
    nf_nat                 25179  2 iptable_nat,ipt_MASQUERADE
    radeon                824789  0 
    rfkill                 21384  4 acer_wmi,bluetooth
    snd                    78862  11 snd_timer,snd_pcm,snd_hwdep,snd_hda_codec,snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec_realtek
    snd_hda_codec         116112  3 snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec_realtek
    snd_hda_codec_hdmi     36102  1 
    snd_hda_codec_realtek   145421  1 
    snd_hda_intel          33277  2 
    snd_hwdep              17650  1 snd_hda_codec
    snd_page_alloc         18101  2 snd_pcm,snd_hda_intel
    snd_pcm                97129  3 snd_hda_codec,snd_hda_intel,snd_hda_codec_hdmi
    snd_timer              28690  1 snd_pcm
    soundcore              14491  1 snd
    sparse_keymap          13526  1 acer_wmi
    ttm                    79709  1 radeon
    uinput                 17673  0 
    uvcvideo               76469  0 
    video                  18980  1 i915
    videobuf2_core         31992  1 uvcvideo
    videobuf2_memops       13262  1 videobuf2_vmalloc
    videobuf2_vmalloc      12967  1 uvcvideo
    videodev              106925  2 videobuf2_core,uvcvideo
    wmi                    18697  1 acer_wmi
    xt_conntrack           12760  38
    New modules after modprobe b43:
    Code:
    lsmod | grep b43
    b43                   365923  0 
    bcma                   30183  1 b43
    mac80211              492420  1 b43
    cfg80211              195764  2 mac80211,b43
    ssb                    61441  1 b43
    mmc_core              102497  2 ssb,b43
    this should be the relevant part of the dmesg output:
    Code:
    [ 2103.386021] bcma: Core 0 found: ChipCommon (manuf 0x4BF, id 0x800, rev 0x22, class 0x0)
    [ 2103.386044] bcma: Core 1 found: IEEE 802.11 (manuf 0x4BF, id 0x812, rev 0x17, class 0x0)
    [ 2103.386089] bcma: Core 2 found: PCIe (manuf 0x4BF, id 0x820, rev 0x0F, class 0x0)
    [ 2103.395394] bcma: Bus registered
    [ 2808.669844] cfg80211: Calling CRDA to update world regulatory domain
    [ 2808.672027] cfg80211: World regulatory domain updated:
    [ 2808.672031] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
    [ 2808.672034] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
    [ 2808.672037] cfg80211:   (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
    [ 2808.672040] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
    [ 2808.672043] cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
    [ 2808.672046] cfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
    [ 2808.674608] bcma: Core 0 found: ChipCommon (manuf 0x4BF, id 0x800, rev 0x22, class 0x0)
    [ 2808.674629] bcma: Core 1 found: IEEE 802.11 (manuf 0x4BF, id 0x812, rev 0x17, class 0x0)
    [ 2808.674671] bcma: Core 2 found: PCIe (manuf 0x4BF, id 0x820, rev 0x0F, class 0x0)
    [ 2808.682430] bcma: Bus registered
    [ 2808.685017] Broadcom 43xx driver loaded [ Features: PMNLS ]
    I don't think this is relevant:
    Code:
    [root@SULUNB ~]# dmesg | grep firmware
    [   15.291252] atl1c 0000:03:00.0: vpd r/w failed.  This is likely a firmware bug on this device.  Contact the card vendor for a firmware update.
    And not to forget:
    Code:
    [root@SULUNB ~]# uname -r
    3.3.2-8.fc17.x86_64
    After modprobe b43 I also did a
    Code:
    [root@SULUNB ~]# /etc/init.d/network restart
    Restarting network (via systemctl):                        [  OK  ]
    to verify WLANs are displayed, but they are not.

    Code:
    [root@SULUNB ~]# ifconfig 
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 16436
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 0  (Lokale Schleife)
            RX packets 88  bytes 6764 (6.6 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 88  bytes 6764 (6.6 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    p7p1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.2.105  netmask 255.255.255.0  broadcast 192.168.2.255
            inet6 fe80::226:2dff:fea3:a65b  prefixlen 64  scopeid 0x20<link>
            ether 00:26:2d:a3:a6:5b  txqueuelen 1000  (Ethernet)
            RX packets 7494  bytes 2769212 (2.6 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 7200  bytes 1592488 (1.5 MiB)
            TX errors 0  dropped 0 overruns 0  carrier 1  collisions 0
            device interrupt 46
    I really hope this helps. I will be grateful for any answers

  7. #6
    Just Joined!
    Join Date
    Apr 2012
    Posts
    4
    Hey again, I finally found the solution for my problem:
    I configured and compiled a kernel and stumbled over the option to tell b43 to ignore cards which are supported by brcmsmac.
    This option had been enabled of course in the standard Fedora17 kernel (and it is probably in the most other kernels, too). I simply disabled it and now everything works perfectly.
    Nevertheless, thank you all for at least viewing this thread with the intention to help

    === SOLVED ===

Posting Permissions

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