OpenWRT 安装无线网卡(不编译)
openWrt还是x86稳啊,起码性能不拉胯,所以很多人购买了 x86 小主机用来做软路由,但是这些小主机一般都会留有无线网卡的接口,像我这个小机器就有一个mini pcie的插槽,我就想用这个机器装一个网卡来供自己提供AP,这样就不用浪费一个网口去做lan了。很多人都说驱动必须要重新自己编译一次,但是其实只要你网卡不买很冷门的网卡,官方其实都有对应的驱动。
1. 购买网卡
要是你有老网卡还想让他服役的话,其实也可以,但是openwrt的驱动还是比较挑网卡的,做ap 的话网卡需要满足一些条件,先不说频段的问题,有些网卡只能作为客户端接入别的wifi,没有办法自己做ap,这个在购买前一定要搞清楚,不然的话就gg。
网卡必须支持ap模式
最好买官网有驱动的,不然自己去找驱动整死人
就拿笔者在海鲜市场上购买的这个MT7612e来说吧,联发科的芯片,看看官网上的介绍:
可以看到这款无线网卡支持2.4和5g两个频段,然后ap和中继器也是支持的,天线是2收2发,其他看不懂
然后去openWrt官网查驱动,点击即可前往
一般来说是以kmod开头,直接搜索网卡前面的几个字符就可以,比如我的网卡是mt7612e 对应搜索到去驱动就是 “kmod-mt76x2”
2. 安装驱动
假设你已经有了一张网卡了,然后插到你的openwrt上面,首先你要做的就是看看这张网卡能不能被系统是被到,因为我的是mini pice的,所以用命令 lspci 就可以查看到这个网卡
opkg update
opkg install pciutils #安装这个包之后才能使用lspci
lspci
下面是我的lspci结果,由于小主机设备不多,所以我就全部截取下来了
root@OpenWrt:~# lspci
00:00.0 Host bridge: Intel Corporation Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register (rev 0c)
00:02.0 VGA compatible controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display (rev 0c)
00:13.0 SATA controller: Intel Corporation Atom Processor E3800 Series SATA AHCI Controller (rev 0c)
00:14.0 USB controller: Intel Corporation Atom Processor Z36xxx/Z37xxx, Celeron N2000 Series USB xHCI (rev 0c)
00:1a.0 Encryption controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine (rev 0c)
00:1b.0 Audio device: Intel Corporation Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller (rev 0c)
00:1c.0 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 1 (rev 0c)
00:1c.1 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 2 (rev 0c)
00:1c.2 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 3 (rev 0c)
00:1c.3 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 4 (rev 0c)
00:1d.0 USB controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series USB EHCI (rev 0c)
00:1f.0 ISA bridge: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Power Control Unit (rev 0c)
00:1f.3 SMBus: Intel Corporation Atom Processor E3800/CE2700 Series SMBus Controller (rev 0c)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 07)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 07)
03:00.0 Network controller: MEDIATEK Corp. MT7612E 802.11acbgn PCI Express Wireless Network Adapter
可以看到最后一项就是我们的网卡,这个时候使用ifconfig和ip命令都是无法查看到网卡的,因为没有安装驱动
安装驱动的方法和安装其他包一样,可以去software webgui上搜索也可以后台安装,我这里使用后台安装的方式,因为命令可以复制,但是gui的操作却很难描述清楚
opkg update
opkg install kmod-mt76x2
#安装完成之后直接lsmod 看看有没有加载成功
lsmod | grep mt7
root@OpenWrt:~# lsmod | grep mt7
cfg80211 286720 4 mt76x2_common,mt76x02_lib,mt76,mac80211
mac80211 548864 3 mt76x2e,mt76x02_lib,mt76
mt76 53248 3 mt76x2e,mt76x2_common,mt76x02_lib
mt76x02_lib 45056 2 mt76x2e,mt76x2_common
mt76x2_common 16384 1 mt76x2e
mt76x2e 20480 0
可以看到驱动是安装成功了
3. 安装必要的包
安装驱动成功之后,ifconfig 和 ip 命令就可以查看到我们的网卡了
ifconfig -a #-a查看所有网卡(包括没有启动的网卡)
ip link show
下面是命令执行后的样子
root@OpenWrt:~# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br-lan state UP qlen 1000
link/ether 00:30:18:50:65:ce brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP qlen 1000
link/ether 00:30:18:50:65:cf brd ff:ff:ff:ff:ff:ff
4: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether 00:30:18:50:65:ce brd ff:ff:ff:ff:ff:ff
5: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 54:2a:a2:69:e7:cc brd ff:ff:ff:ff:ff:ff
可以看到我们的 wlan0已经是蓄势待发了,这个时候最好不要手动启动这个网卡,因为我们安装了包之后,可以从网页上启动。但是我们进入webGui里面并没有看到有wireless的选项卡,这还是因为没有包的原因
其实这个wireless选项卡就是依赖 wireless-regdb 和 wireless-tools,安装上就可以看见了
opkg install wireless-tools
opkg install wireless-regdb
reboot
装好需要重启,重启之后就可以看见Network里面多了一个 wireless选项卡
4. 启用无线网卡
进入wireless选项卡之后,就可以看见你的网卡了
但是这里的radio0是一个灰色的状态,如果你去手动的启动网卡,其实也是可以的但是需要每次启动都执行一个这个命令,还是使用openwrt专用的uci工具来进行永久的配置
uci set wireless.radio0.disabled=0
uci commit
reboot
这条命令是针对OpenWrt路由器系统的配置命令,用于设置无线网络接口 radio0
的禁用状态为启用状态(即将 disabled
参数设置为 0
)。
具体解释如下:
uci
:uci
是 OpenWrt 中的一个工具,用于管理系统的配置信息。它允许用户在命令行中对系统的配置进行查询、修改和更新。set wireless.radio0.disabled = 0
: 这部分命令的含义是设置无线网络接口radio0
的disabled
参数为0
,即启用该无线网络接口。在OpenWrt中,disabled
参数通常用于控制一个设备或接口的启用或禁用状态,0
表示启用,1
表示禁用。
因此,这条命令的作用是将无线网络接口 radio0
的禁用状态设置为启用状态,使其可以正常工作,允许设备连接到该无线网络。
更改完成之后,还是需要重启,重启之后进入wireless选项卡界面,可以看到radio0已经被默认启动了
5. 安装ap包,创建ap并保存
无线网卡默认打开之后,还需要安装几个ap的包分别是 hostapd-common 和 hostapd,这几个能让ap模式正常工作
opkg update
opkg install hostapd
opkg install hostapd-common
reboot
然后又双叒叕重启
重启之后配置ap
记得添加密码,然后保存,就可以在wifi里面看到了
填上密码就可以愉快的使用咯,嘻嘻嘻