Centos7 wifi driver Configuration
When I use centos, I have never tried to use wifi, and they are all wired. Today, I installed centos7 on my laptop and found that there was no wifi at all.
After a query, the conclusion is: I have no default support for this Nic. I need to download the corresponding source code and compile a ko for use.
Please refer to the following article for more information.
Http://www.it165.net/ OS /html/201206/2495.html
Http://blog.chinaunix.net/uid-1784963-id-4459592.html
Http://www.centoscn.com/image-text/config/2014/0723/3339.html
Http://bbs.pcbeta.com/viewthread-1607733-1-1.html
Http://www.broadcom.com/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-6_30_223_248.tar.gz
The following are some operation records:
1. Determine the hardware information and the header files required to install and compile the kernel module.
[root@localhost zzz]# lspci |grep Broadcom04:00.0 Network controller: Broadcom Corporation BCM43142 802.11b/g/n (rev 01)[root@localhost zzz]# ^C[root@localhost zzz]# yum install kernel-headers kernel-develLoaded plugins: fastestmirror, langpacks。。。
2, download driver source code: http://www.broadcom.com/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-6_30_223_248.tar.gz
3. The compilation module is first placed in the system directory:
[root@localhost hybrid_wl]# mkdir -p /usr/local/src/hybrid-wl[root@localhost hybrid_wl]# mv hybrid-v35_64-nodebug-pcoem-6_30_223_248.tar.gz /usr/local/src/hybrid-wl/[root@localhost hybrid_wl]# cd /usr/local/src/hybrid-wl/[root@localhost hybrid-wl]# pwd/usr/local/src/hybrid-wl[root@localhost hybrid-wl]# tar xvfz /home/zzz/Downloads/hybrid_wl/hybrid-v35_64-nodebug-pcoem-6_30_223_248.tar.gz [root@localhost hybrid-wl]# lltotal 8drwxrwxrwx. 2 52258 games 51 Jun 26 2014 lib-rw-rw-rw-. 1 52258 games 4362 Jun 26 2014 Makefiledrwxrwxrwx. 6 52258 games 55 Jun 26 2014 src[root@localhost hybrid-wl]# chown -R zzz:zzz /usr/local/src/hybrid-wl/[root@localhost hybrid-wl]# ll /usr/local/src/total 0drwxr-xr-x. 4 zzz zzz 41 Dec 26 22:42 hybrid-wl
Compile:
[root@localhost hybrid-wl]# makeKBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`make[1]: Entering directory `/usr/src/kernels/3.10.0-123.el7.x86_64'CFG80211 API is prefered for this kernel versionUsing CFG80211 API LD /usr/local/src/hybrid-wl/built-in.o CC [M] /usr/local/src/hybrid-wl/src/shared/linux_osl.o CC [M] /usr/local/src/hybrid-wl/src/wl/sys/wl_linux.o CC [M] /usr/local/src/hybrid-wl/src/wl/sys/wl_iw.o CC [M] /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.o LD [M] /usr/local/src/hybrid-wl/wl.oWARNING: modpost: missing MODULE_LICENSE() in /usr/local/src/hybrid-wl/wl.osee include/linux/module.h for more informationWARNING: /usr/local/src/hybrid-wl/wl.o(.data+0x150f40): Section mismatch in reference from the variable wl_pci_driver to the function .init.text:wl_pci_probe()The variable wl_pci_driver referencesthe function __init wl_pci_probe()If the reference is valid then annotate thevariable with __init* or __refdata (see linux/init.h) or name the variable:*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console Building modules, stage 2.CFG80211 API is prefered for this kernel versionUsing CFG80211 API MODPOST 1 modulesWARNING: modpost: missing MODULE_LICENSE() in /usr/local/src/hybrid-wl/wl.osee include/linux/module.h for more informationWARNING: /usr/local/src/hybrid-wl/wl.o(.data+0x150f40): Section mismatch in reference from the variable wl_pci_driver to the function .init.text:wl_pci_probe()The variable wl_pci_driver referencesthe function __init wl_pci_probe()If the reference is valid then annotate thevariable with __init* or __refdata (see linux/init.h) or name the variable:*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console CC /usr/local/src/hybrid-wl/wl.mod.o LD [M] /usr/local/src/hybrid-wl/wl.komake[1]: Leaving directory `/usr/src/kernels/3.10.0-123.el7.x86_64'[root@localhost hybrid-wl]# lltotal 17404-rw-r--r--. 1 root root 8 Dec 26 22:43 built-in.odrwxrwxrwx. 2 zzz zzz 51 Jun 26 2014 lib-rw-rw-rw-. 1 zzz zzz 4362 Jun 26 2014 Makefile-rw-r--r--. 1 root root 38 Dec 26 22:43 modules.order-rw-r--r--. 1 root root 0 Dec 26 22:43 Module.symversdrwxrwxrwx. 6 zzz zzz 55 Jun 26 2014 src-rw-r--r--. 1 root root 8896272 Dec 26 22:43 wl.ko-rw-r--r--. 1 root root 7368 Dec 26 22:43 wl.mod.c-rw-r--r--. 1 root root 59000 Dec 26 22:43 wl.mod.o-rw-r--r--. 1 root root 8838784 Dec 26 22:43 wl.o[root@localhost hybrid-wl]#
4. Install the ko file to the system directory 4.1. Put the ko file on the system directory. The generated wl. ko is the Wireless Driver Module I want, and place it to:/lib/modules/uname -r
/Kernel/net/wireless/directory
4.2 depmod: depmod-program to generate modules. dep and map files must be introduced to generate dependency information. When the module File is put into/lib/module/uname -r
Run depmod in the/lib/modules/directory to generate the modules. dep (. bb) file, indicating the module dependency.
[zzz@localhost ~]$ cat /lib/modules/3.10.0-123.el7.x86_64/modules.dep|grep wl.kokernel/net/wireless/wl.ko: kernel/net/wireless/cfg80211.ko kernel/net/rfkill/rfkill.ko
5. determine whether an inappropriate driver has been loaded. If yes, uninstall the driver and write it to the blocked list. I have not:
[root@localhost hybrid-wl]# lsmod | grep "brcmsmac\|b43\|ssb\|bcma\|wl"[root@localhost hybrid-wl]# cat /etc/mod
6. If this module is loaded and restarted at this time, the wl and its dependent modules will be automatically loaded. Manually insert the module:
total 0[root@localhost hybrid-wl]# modprobe cfg80211[root@localhost hybrid-wl]# insmod wl.ko
In this case, click the network location in the upper-right corner of the computer and you will see more wifi information:
Select your Wi-Fi hotspot and enter the password to access the Internet.