美文网首页
centos7最小化安装腾达U6无线网卡

centos7最小化安装腾达U6无线网卡

作者: 勇勇_cf62 | 来源:发表于2018-12-31 23:47 被阅读0次

    家里台式机已经几年没用过了,本着废物再利用的心态,准备做成服务器使用。记录下来操作过程以备以后使用。

    总体步骤:

    1. 最小化安装centos7,编译内核支持无线网卡,安装驱动

    2. 设置双网卡主从热备,共用同一ip地址

    3. 设置开机启动无线网卡,自动连接网络

    一、最小化安装centos7,编译内核支持无线网卡,安装驱动

    参考链接https://www.cnblogs.com/feiquan/archive/2018/07/19/9333719.html

    我的CentOS7内核:

    3.10.0-327.el7.x86_64(满足2.6.18~4.4内核)

    错误:

    直接执行安装目录下的install时,在执行到make命令时报错:

      由于字数限制,错误的详细信息:链接https://pan.baidu.com/s/1DQsJyRuLPDxlwBLc2S39Aw 密码:tcrj

    大意就是说:

      编译时报错,IEEE80211_BAND_2GHZ未定义,如之前分析,这是由于U12基于linux无线框架,需要内核中包含cfg80211和mac80211模块,所以需要重新编译内核。

    解决办法:

    1.下载驱动和一会要编译的内核(我这里选择的是4.1.8)(我同样也选择的是这个版本,下载列表很长,可以按后面写的那个文件名去搜索,会更快找到):

      驱动下载:http://wifi.tenda.com.cn/  

      内核下载:https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/

      

      1.1确保你的网卡已经插上并识别:

      如果你数最小化安装,请先注册lsusb命令

    yum install usbutils

      然后使用lsusb命令确定有相关设备,具体可以参考链接

    2.编译内核:

      在编译之前,如果你是最小化安装,你需要先安装gcc,bc 编译器

    yum install gcc*,bc -y

      2.1 解压内核到/usr/src/kernels/

    tar -zxvf linux-4.1.8.tar.gz -C /usr/src/kernels/

      2.2 进入解压的/usr/src/kernels/linux-4.1.8下,拷贝原有的配置文件

    cp /boot/config-3.10.0-327.el7.x86_64  .config

      2.3 使用make menuconfig时检查下cfg80211和mac80211是否有编译到

    make menuconfig

      这里可能会报错:

     这是因为CentOS7系统中缺少一个套件 ncurses-devel

    yum install ncurses-devel -y

      注册后,重新执行进入图形化界面:

      在“networking support”-》“wireless”下。如果没有按下“M”表示编译成模块,然后保存。如果已经有了这两个模块也要保存,否则接下来make时,没法编译。

    上传中,请稍候... centos7最小化安装腾达U6无线网卡 centos7最小化安装腾达U6无线网卡 centos7最小化安装腾达U6无线网卡

    2.4 开始编译内核 (时间比较长大概30多分钟左右,看会电影啥的)

    make ; make modules_install ; make install ;

      2.5 设置默认启动内核为4.1.8

    (原作者笔误,需要将默认启动项设置成新安装好的4.1.8内核,查看启动项,针对自己的修改grub2-set-default)

    查看启动项 cat /boot/grub2/grub.cfg | grep 3.10.69

    设置默认启动项 grub2-set-default "CentOS Linux (3.10.69) 7 (Core)"

    查看默认启动项 grub2-editenv list

    生成配置 grub2-mkconfig -o /boot/grub2/grub.cfg

      2.6 重启系统,安装相关模块,并编译无线驱动:

    insmod /lib/modules/4.1.8/kernel/net/rfkill/rfkill.ko

    insmod /lib/modules/4.1.8/kernel/net/wireless/cfg80211.ko

    insmod /lib/modules/4.1.8/kernel/net/mac80211/mac80211.ko

    insmod 8812au.ko

      先注册前3个模块,之后的8812au.ko 模块如果没有,在执行驱动下的install.sh文件时会自动注册。

    3.安装驱动

    这时候如果你直接执行install.sh文件,会没有上面的错误,但是结尾还会有2个errors .这是它在驱动中没有添加网卡的ID值。

      3.1 添加网卡ID

      选用任意编辑器,打开os_dep/linux/usb_intf.c,在其中加入上面lsusb结果:

    centos7最小化安装腾达U6无线网卡

      找到CONFIG_8812A, 在下面加入如图所示字段。如果你们的lsusb结果与此不同,请加入自己lsusb看到的vendor id 和 device id。

      例如,我这里lsusb会发现插上usb网卡后出现 ID 2604:0012,这就是对应的vendor id 和device id. 把这个id插入usb_intf.c

      3.2执行网卡驱动 install.sh或者直接在驱动目录下执行make ;make install;

      如果你要是执行./install.sh 那么,你需要将原始的驱动包删除,然后将修改后的文件重新打包,但是文件名要相同。因为在install.sh 中会对这个驱动压缩包解压,解压后会将你就修改的文件又替换为原文件。(参考链接)

      删除后重行打包:

      打包:

    ./install.sh

      如果你直接在驱动目录下执行

    make ;make install;

      则没有上述重行打包要求

      3.3 如果在执行install.sh后还有报错的信息,那么不用管,它之后又重行注册了8812au.ko。

      此时,如果你是图形化界面,那么在网络管理中就会有wifi的标识,执行ifconfig可以看到自己网卡的名字;

      如果你是最小化安装时,则建议先安装第5步,之后使用iwconfig查看:

    4.wpa_supplicant配置

      在执行完上述的步骤后,你如果点击你要的热点后,并输入正确的密码的密码显示无法连接,那么你就需要进行wpa_supplicant配置

    新建文件(如果没有) /etc/wpa_supplicant/wpa_supplicant.conf

    复制代码

    ctrl_interface=/var/run/wpa_supplicant

    ctrl_interface_group=wheel

    network={

        ssid="T你要连接的wifi名"

        psk="密码"

    }

    5.安装wireless_tools

    之后我们会使用iwconfig,wpa* 等命令 ,所以先注册一下:

    进入驱动目录下的wireless_tools解压后:

    执行:

    make;make install;

    6.无线扫描

      6.1先安装工具iw:

    yum install iw -y

      6.2、iw dev(非必要步骤)

    查看无线网口,interface后面即为无线网口号

    phy#0

      Interface wls35u1

          ifindex 3

          wdev 0x1

          addr a4:db:30:84:4b:1c

          type managed

    如果连接成功会多出下面的两行,显示 SSID 和信道

    ssid CMCC

    channel 11 (2462 MHz), width: 40 MHz, center1: 2452 MHz

      6.3、ip link set wls35u1 up(必要)

    激活无线网络接口

      6.4、ip link show wls35u1(非必要步骤)

    检验接口是否激活成功

    wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000

        link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff

    <BROADCAST,MULTICAST,UP,LOWER_UP> 中的UP 表明该接口激活成功,后面的 state DOWN 无关紧要。

      6.5、iw wls35u1 link(非必要步骤)

    查看无线网络连接情况(刚开始是没有连接的,不用管)

      6.6、iwlist wls35u1 scan | grep SSID(如果知道 Wifi 名字,就不需要)

    扫描可连接的wifi(这里有个坑,网上好多是iw ,其实这里应该使用 iwlist,不然没结果)

    7. 连接wls35ul到网络,并以daemon方式运行

      方法一:编写配置文件

    wpa_supplicant -B -i wls35u1 -c /etc/wpa_supplicant/wpa_supplicant.conf

    -B Background 在后台以daemon 运行

    -i interface

    -c 配置文件

      注意:此时如果重新执行此命令,则需要使用kill命令杀死对应的wpa*进程后。然后再执行

     执行以上命令后,执行ifconfig就可以看到无线网卡,这在之前是看不到的,而且此时,U12的指示灯开始亮起,表示开始工作。

      方法二:不编写配置文件

    wpa_supplicant -B -i wls35u1 -c <(wpa_passphrase "ssid" "psk")

    连接指定的SSID,将ssid 替换为实际的网络名称,psk 替换为无线密码,请保留引号。

    8.ip获取(由于我希望板载网卡和无线网卡同一个ip,实现主从热备,所以需要配置其它)

      8.1 用dhcp 获得 IP 分配:

      # dhclient wls35ul

      测试是否成功地从路由器获取了ip(重要)

      #ip addr  show wls35ul

      如果分配有ip,即可上网,也可以有ping直接测试

      8.2如果你要使用静态的IP配置,使用nmcli命令来配置(参考我的:Linux 最小化安装后IP的配置(手动获取静态IP地址))

      

    9. 相关命令

      关闭连接

      wpa_cli terminate

      连接状态

      wpa_cli status

    二、设置双网卡主从热备,共用同一ip地址

    参考网址https://blog.csdn.net/wh211212/article/details/79582944

    步骤一、创建绑定文件(ifcfg-bond0)并指定IP地址,网络掩码和网关

    # cat /etc/sysconfig/network-scripts/ifcfg-bond0

    DEVICE=bond0

    IPADDR=192.168.0.210

    NETMASK=255.255.255.0

    GATEWAY=192.168.0.1

    TYPE=Bond

    ONBOOT=yes

    NM_CONTROLLED=no

    BOOTPROTO=static

    # IP地址相关需自定义

    步骤二、编辑em1和em2的文件,并确保输入主和从条目,如下所示

    [root@aniu-cache-01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-em1

    DEVICE=em1

    TYPE=Ethernet

    ONBOOT=yes

    NM_CONTROLLED=no

    MASTER=bond0

    SLAVE=yes

    [root@aniu-cache-01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-em2

    DEVICE=em2

    TYPE=Ethernet

    ONBOOT=no

    NM_CONTROLLED=no

    MASTER=bond0

    SLAVE=yes

    步骤三、创建Bond文件(bonding.conf)

    # vi /etc/modprobe.d/bonding.conf

    alias bond0 bonding

    options bond0 mode=1 miimon=100

    # 高可用模式

    bonding.conf文件中使用的不同模式,功能不同,具体如下

    balance-rr or 0 — 用于容错和负载平衡的循环模式

    active-backup or 1 — 设置用于容错的活动备份模式

    balance-xor or 2 — 为容错和负载平衡设置异或(异或)模式。

    broadcast or 3 — 设置容错的广播模式。所有传输都在所有的从接口上发送。

    802.3ad or 4 — 设置IEEE 802.3ad动态链接聚合模式。创建共享相同速度和双工设置的聚合组。

    balance-tlb or 5 — 设置传输负载平衡(TLB)模式以实现容错和负载平衡。

    balance-alb or 6 — 为容错和负载平衡设置活动负载平衡(ALB)模式。

    步骤四、重启网络服务,并检查网络接口信息

    [root@aniu-cache-01 ~]# ifconfig bond0

    bond0    Link encap:Ethernet  HWaddr B8:2A:72:E1:09:6E 

              inet addr:192.168.0.210  Bcast:192.168.0.255  Mask:255.255.255.0

              inet6 addr: fe80::ba2a:72ff:fee1:96e/64 Scope:Link

              UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1

              RX packets:271980 errors:0 dropped:0 overruns:0 frame:0

              TX packets:16989 errors:0 dropped:0 overruns:0 carrier:0

              collisions:0 txqueuelen:0

              RX bytes:45139572 (43.0 MiB)  TX bytes:1719627 (1.6 MiB)

    步骤五、验证bonding状态

    [root@aniu-cache-01 ~]# cat /proc/net/bonding/bond0

    Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

    Bonding Mode: fault-tolerance (active-backup)

    Primary Slave: None

    Currently Active Slave: em1

    MII Status: up

    MII Polling Interval (ms): 100

    Up Delay (ms): 0

    Down Delay (ms): 0

    Slave Interface: em1

    MII Status: up

    Speed: 1000 Mbps

    Duplex: full

    Link Failure Count: 0

    Permanent HW addr: b8:2a:72:e1:09:6e

    Slave queue ID: 0

    Slave Interface: em2

    MII Status: up

    Speed: 1000 Mbps

    Duplex: full

    Link Failure Count: 0

    Permanent HW addr: b8:2a:72:e1:09:6f

    Slave queue ID: 0

    注意:根据上面显示的输出,正在使用主动备份绑定。要执行测试,只需禁用一个接口,并检查是否仍在使用bond ip访问您的机器。

    现在使用第一大步的wpa_supplicant -B -i wls35u1 -c <(wpa_passphrase "ssid" "psk")先连接一下无线网络,最后把-B去掉,确保没有错误后再加上该参数在后台运行。

    ping baidu.com确保数据能够ping通

    三、设置开机启动无线网卡,自动连接网络

    将wpa_supplicant -B -i wls35u1 -c <(wpa_passphrase "ssid" "psk")

    ifconfig wlp0s20u3 up 

    加入到/etc/rc.d/rc.local

    相关文章

      网友评论

          本文标题:centos7最小化安装腾达U6无线网卡

          本文链接:https://www.haomeiwen.com/subject/gjeglqtx.html