1

i've install gentoo on a raspberry Pi 3. The version of the kernel sources is 4.1.20-v7+. All works fine except for the wifi. When i load the module brcmfmac, it is loaded without complaint but the wifi chips isn't recognize nor detected. For the kernel config, i use the one from the latest raspbian /proc/config.gz.

As with the raspbian, the chip is detected, i know it works. I get the several firmware from the package linux-firmware and i've got the one i need /lib/firmware/brcm/brcmfmac43430-sdio.bin the result of the lsmod is:

Module                  Size  Used by
brcmfmac              177627  0
brcmutil                5493  1 brcmfmac
ipv6                  338946  18
cfg80211              405047  1 brcmfmac
rfkill                 16028  1 cfg80211
iptable_mangle          1326  0
iptable_nat             1593  0
nf_nat_ipv4             4784  1 iptable_nat
nf_nat                 12056  1 nf_nat_ipv4
nf_log_ipv4             3720  3
nf_log_common           2780  1 nf_log_ipv4
xt_LOG                  1177  3
xt_limit                1613  2
ipt_REJECT              1257  1
nf_reject_ipv4          2230  1 ipt_REJECT
nf_conntrack_ipv4      12664  11
nf_defrag_ipv4          1275  1 nf_conntrack_ipv4
xt_tcpudp               2097  8
xt_conntrack            3023  10
nf_conntrack           75577  4 nf_nat,nf_nat_ipv4,xt_conntrack,nf_conntrack_ipv4
iptable_filter          1237  1
ip_tables              11409  3 iptable_filter,iptable_mangle,iptable_nat
x_tables               12603  8 ip_tables,xt_tcpudp,xt_limit,xt_conntrack,xt_LOG,iptable_filter,ipt_REJECT,iptable_mangle
binfmt_misc             6228  1
squashfs               29028  1
bcm2708_rng              953  0
snd_soc_bcm2708_i2s     6662  0
snd_soc_pcm512x_i2c     2083  0
snd_soc_pcm512x        15581  1 snd_soc_pcm512x_i2c
snd_soc_wm8804_i2c      1384  0
regmap_mmio             2834  1 snd_soc_bcm2708_i2s
snd_soc_wm8804          7115  1 snd_soc_wm8804_i2c
snd_soc_tas5713         5088  0
snd_soc_core          128253  4 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_tas5713,snd_soc_bcm2708_i2s
snd_compress            7681  1 snd_soc_core
snd_pcm_dmaengine       3223  1 snd_soc_core
regmap_i2c              2676  3 snd_soc_pcm512x_i2c,snd_soc_wm8804_i2c,snd_soc_tas5713
snd_pcm                73466  4 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_core,snd_pcm_dmaengine
snd_timer              18840  1 snd_pcm
snd                    50771  4 snd_soc_core,snd_timer,snd_pcm,snd_compress
spi_bcm2708             5030  0
i2c_bcm2708             4912  0

The result of wireless-info tool from ubuntu:

########## wireless info START ##########

Report from: 06 Apr 2016 02:46 CEST +0200

Booted last: 06 Apr 2016 00:00 CEST +0200

Script from: 27 Sep 2015 00:34 UTC +0000

##### release ###########################

./wireless-info: line 155: lsb_release: command not found

##### kernel ############################

Linux 4.1.20-v7+ #1 SMP Tue Apr 5 00:28:37 CEST 2016 armv7l unknown BCM2709 GNU/Linux

dma.dmachans=0x7f35, bcm2708_fb.fbwidth=1920, bcm2708_fb.fbheight=1200, bcm2709.boardrev=0xa02082, bcm2709.serial=0xa9f651a3, smsc95xx.macaddr=<MAC address>, bcm2708_fb.fbswap=1, bcm2709.uart_clock=48000000, vc_mem.mem_base=0x3dc00000, vc_mem.mem_size=0x3f000000, dwc_otg.lpm_enable=0, console=ttyS0,115200, kgdboc=ttyAMA0,115200, console=tty0, rootfstype=ext4, elevator=deadline, rootwait

##### desktop ###########################

sed: can't read /root/.dmrc: No such file or directory

Could not be determined.

##### lspci #############################

pcilib: Cannot open /proc/bus/pci
lspci: Cannot find any working access method.

##### lsusb #############################

Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

##### PCMCIA card info ##################

'pccardctl' is not installed (package "pcmciautils").

##### rfkill ############################

./wireless-info: line 192: rfkill: command not found

##### lsmod #############################

brcmfmac              177627  0
brcmutil                5493  1 brcmfmac
cfg80211              405047  1 brcmfmac
rfkill                 16028  1 cfg80211

##### interfaces ########################

sed: can't read /etc/network/interfaces: No such file or directory

##### ifconfig ##########################

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet XX.XX.XX.XX  netmask 255.255.255.0  broadcast XX.XX.XX.XX
        inet6 XXXXXXXXXXXXXXXXXXXXXXXXX  prefixlen 64  scopeid 0x20<link>
        inet6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  prefixlen 64  scopeid 0x0<global>
        ether <MAC address>  txqueuelen 1000  (Ethernet)
        RX packets 196  bytes 18362 (17.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 170  bytes 20021 (19.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

##### iwconfig ##########################

lo        no wireless extensions.

eth0      no wireless extensions.

##### route #############################

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         XX.XX.XX.XX   0.0.0.0         UG    2      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
XX.XX.XX.XX     0.0.0.0         255.255.255.0   U     2      0        0 eth0

##### resolv.conf #######################

nameserver XX.XX.XX.XX

##### network managers ##################

Installed:

>~~~None found.

Running:

>~~~None found.

##### NetworkManager info ###############

NetworkManager is not installed (package "network-manager").

##### NetworkManager.state ##############

cat: /var/lib/NetworkManager/NetworkManager.state: No such file or directory

##### NetworkManager.conf ###############

grep: /etc/NetworkManager/NetworkManager.conf: No such file or directory

##### NetworkManager profiles ###########

No NetworkManager profiles found.

##### iw reg get ########################

'iw' is not installed (package "iw").

##### iwlist channels ###################

lo        no frequency information.

eth0      no frequency information.

##### iwlist scan #######################

./wireless-info: line 302: sudo: command not found

Acquisition of admin privileges failed.

##### module infos ######################

[brcmfmac]
filename:       /lib/modules/4.1.20-v7+/kernel/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
license:        Dual BSD/GPL
description:    Broadcom 802.11 wireless LAN fullmac driver.
author:         Broadcom Corporation
firmware:       brcm/brcmfmac4354-sdio.txt
firmware:       brcm/brcmfmac4354-sdio.bin
firmware:       brcm/brcmfmac43455-sdio.txt
firmware:       brcm/brcmfmac43455-sdio.bin
firmware:       brcm/brcmfmac43430-sdio.txt
firmware:       brcm/brcmfmac43430-sdio.bin
firmware:       brcm/brcmfmac4339-sdio.txt
firmware:       brcm/brcmfmac4339-sdio.bin
firmware:       brcm/brcmfmac43362-sdio.txt
firmware:       brcm/brcmfmac43362-sdio.bin
firmware:       brcm/brcmfmac4335-sdio.txt
firmware:       brcm/brcmfmac4335-sdio.bin
firmware:       brcm/brcmfmac43341-sdio.txt
firmware:       brcm/brcmfmac43341-sdio.bin
firmware:       brcm/brcmfmac43340-sdio.txt
firmware:       brcm/brcmfmac43340-sdio.bin
firmware:       brcm/brcmfmac4334-sdio.txt
firmware:       brcm/brcmfmac4334-sdio.bin
firmware:       brcm/brcmfmac4330-sdio.txt
firmware:       brcm/brcmfmac4330-sdio.bin
firmware:       brcm/brcmfmac4329-sdio.txt
firmware:       brcm/brcmfmac4329-sdio.bin
firmware:       brcm/brcmfmac43241b4-sdio.txt
firmware:       brcm/brcmfmac43241b4-sdio.bin
firmware:       brcm/brcmfmac43241b0-sdio.txt
firmware:       brcm/brcmfmac43241b0-sdio.bin
firmware:       brcm/brcmfmac43143-sdio.txt
firmware:       brcm/brcmfmac43143-sdio.bin
firmware:       brcm/brcmfmac43569.bin
firmware:       brcm/brcmfmac43242a.bin
firmware:       brcm/brcmfmac43236b.bin
firmware:       brcm/brcmfmac43143.bin
srcversion:     F50C49C88C2DEA498C4EAC7
depends:        brcmutil,cfg80211
intree:         Y
vermagic:       4.1.20-v7+ SMP mod_unload modversions ARMv7.
parm:           txglomsz:maximum tx packet chain size [SDIO] (int)
parm:           firmware_path:string
parm:           debug:level of debug output (int)
parm:           fcmode:mode of firmware signalled flow control (int)
parm:           roamoff:do not use internal roaming engine (int)

[brcmutil]
filename:       /lib/modules/4.1.20-v7+/kernel/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
license:        Dual BSD/GPL
description:    Broadcom 802.11n wireless LAN driver utilities.
author:         Broadcom Corporation
srcversion:     AE9B4BBC6D82855B9265054
depends:........
intree:         Y
vermagic:       4.1.20-v7+ SMP mod_unload modversions ARMv7.

[cfg80211]
filename:       /lib/modules/4.1.20-v7+/kernel/net/wireless/cfg80211.ko
description:    wireless configuration support
license:        GPL
author:         Johannes Berg
srcversion:     6610E9DB7046B562928123C
depends:        rfkill
intree:         Y
vermagic:       4.1.20-v7+ SMP mod_unload modversions ARMv7.
parm:           ieee80211_regdom:IEEE 802.11 regulatory domain code (charp)
parm:           cfg80211_disable_40mhz_24ghz:Disable 40MHz support in the 2.4GHz band (bool)

##### module parameters #################

[brcmfmac]
debug: 0
fcmode: 0
roamoff: 0

[cfg80211]
cfg80211_disable_40mhz_24ghz: N
ieee80211_regdom: 00

##### /etc/modules ######################

grep: /etc/modules: No such file or directory

##### modprobe options ##################

[/etc/modprobe.d/aliases.conf]
alias char-major-10-175>agpgart
alias char-major-10-200>tun
alias char-major-81>bttv
alias char-major-108>~~~ppp_generic
alias /dev/ppp>~>~~~ppp_generic
alias tty-ldisc-3>~~ppp_async
alias tty-ldisc-14>~ppp_synctty
alias ppp-compress-21>~~bsd_comp
alias ppp-compress-24>~~ppp_deflate
alias ppp-compress-26>~~ppp_deflate
alias loop-xfer-gen-0>~~loop_gen
alias loop-xfer-3>~~loop_fish2
alias loop-xfer-gen-10>~loop_gen
alias cipher-2>~>~~~des
alias cipher-3>~>~~~fish2
alias cipher-4>~>~~~blowfish
alias cipher-6>~>~~~idea
alias cipher-7>~>~~~serp6f
alias cipher-8>~>~~~mars6
alias cipher-11>>~~~rc62
alias cipher-15>>~~~dfc2
alias cipher-16>>~~~rijndael
alias cipher-17>>~~~rc5
alias char-major-89    i2c-dev

[/etc/modprobe.d/i386.conf]
alias parport_lowlevel parport_pc
alias char-major-10-144 nvram
alias binfmt-0064 binfmt_aout
alias char-major-10-135 rtc

##### rc.local ##########################

grep: /etc/rc.local: No such file or directory

##### pm-utils ##########################

find: ‘/etc/pm/*.d’: No such file or directory

##### udev rules ########################

grep: /etc/udev/rules.d/*net*.rules: No such file or directory

##### dmesg #############################

[    1.874541] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, <MAC address>
[   11.320439] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[   12.924555] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1

########## wireless info END ############

thanks for your help.

  • The ouput of lspci -knn | grep Net -A2 – GAD3R Apr 5 '16 at 11:04
  • @GAD3R it's an sdio/usb version, no pci and then lspci return an error (which is correct behavior) and i2c-detect -l return nothing. Even lsusb don't list it. I'm a little bit blind here... – dervishe Apr 5 '16 at 11:12
  • Reboot the computer, don't load any modules manually and open terminal and enter wget -N -t 5 -T 10 https://github.com/UbuntuForums/wireless-info/raw/master/wireless-info && chmod +x wireless-info && ./wireless-info then edit your question to add the contents of the wireless-info.txt file or upload to pastebin.com and add the URL – Jeremy31 Apr 5 '16 at 22:11
  • @Jeremy31 done ! – dervishe Apr 6 '16 at 1:00
  • I've added your pastebin inline. Can you ad one more piece of info... lspci is somewhat useless on an embedded system, so can you add the output of lsusb? – eyoung100 May 2 '16 at 2:40
0

I had the same problem, but as it all worked on raspian, I copied ALL the files from /lib/firmware/brcm on raspian to my gentoo system on the theory that if they were not required they would not be loaded.

The problem was solved!

  • Finally, i got it running adding only the 3 files in /lib/firmware/brcm: brcmfmac4330-sdio.bin brcmfmac43430-sdio.bin brcmfmac43430-sdio.txt – dervishe Jul 28 '16 at 16:57
1

Instead of getting Raspbian installed somewhere, the easier, and more repeatable option is to simply pull in the nonfree firmware files from GitHub using:

git clone --depth 1 https://github.com/RPi-Distro/firmware-nonfree.git

Then copy:

cp firmware-nonfree/brcm80211/brcm/brcmfmac43430-sdio.* /lib/firmware/brcm/

(To do this without git, you can use wget like:

wget https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm80211/brcm/brcmfmac43430-sdio.bin
wget https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm80211/brcm/brcmfmac43430-sdio.txt

then copy those files to /lib/firmware/brcm as previously.)

The brcmfmac will then be able to initialize the chip.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.