Wifi
使用 gentoo 在 rPi 3 上未檢測到 wifi 晶片組
我在樹莓派 3 上安裝了 gentoo。核心原始碼的版本是 4.1.20-v7+。除了wifi,一切正常。當我載入模組
brcmfmac
時,它被載入而沒有抱怨,但 wifi 晶片無法辨識或檢測到。對於核心配置,我使用最新的 raspbian 中的配置/proc/config.gz
。與 raspbian 一樣,晶片被檢測到,我知道它可以工作。我從包 linux-firmware 中獲得了幾個韌體,並且我得到了我需要
/lib/firmware/brcm/brcmfmac43430-sdio.bin
的 lsmod 的結果是: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
來自 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 ############
謝謝你的幫助。
我遇到了同樣的問題,但是因為它都在 raspian 上工作,所以我將所有文件從
/lib/firmware/brcm
raspian 複製到我的 gentoo 系統,理論上如果不需要它們,它們就不會被載入。問題解決了!
與其將 Raspbian 安裝在某個地方,更簡單、更可重複的選擇是使用以下命令從 GitHub 中簡單地提取非自由韌體文件:
git clone --depth 1 https://github.com/RPi-Distro/firmware-nonfree.git
然後複製:
cp firmware-nonfree/brcm80211/brcm/brcmfmac43430-sdio.* /lib/firmware/brcm/
(要在沒有 git 的情況下執行此操作,您可以使用 wget ,例如:
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
/lib/firmware/brcm
然後像以前一樣將這些文件複製到。)然後
brcmfmac
將能夠初始化晶片。