让我直接切入正题。
我正在使用运行最新版本的 raspbian (pixel) 的 raspberry pi 3 作为路由器/wifi 热点
我有3个无线接口:
- 内置 wifi 接口(韓國)
- TP-Link WN722适用于 2.4Ghz Wifi-AP(尚未工作)(ath9k_htc)
- 康法斯特 CF-912AC(rtl88112au)
每个接口的用途:
- wlan0 => 5Ghz hostapd 守护进程
- wlan1 => 链接到路由器(参见
wpa_supplicant
文件interfaces
) - wlan2 => 2.4Ghz hostapd 守护进程(不可运行)
请参阅底部了解更多信息
问题:
这是我在 Raspberry Pi 上经常遇到的一个问题
我根本无法调出界面wlan0
,wlan2
并且wlan2
不会改变设置的配置/etc/network/interfaces
。
我尝试了各种命令来启动这些接口,但都不起作用:
$ sudo ifdown wlan0
ifdown: interface wlan0 not configured
$ sudo ifup wlan0
RTNETLINK answers: File exists
Failed to bring up wlan0.
$ sudo ifdown wlan2
ifdown: interface wlan2 not configured
$ sudo ifup wlan2
Ignoring unknown interface wlan2=wlan2.
并且与wlan0
和wlan2
被从下看到ip addr
`sudo ip link set wlan0 up`
`sudo ip link set wlan2 up`
无法启动这些接口(用ip
工具确认处于关闭状态)。
这怎么发生的:
注意:之前一切都正常,但我始终无法启动我的 tp-link wifi 适配器 ath9k_htc,所以我把它关闭了
我正忙着配置我的 Raspberry Pi 来运行第二个 hostapd 守护进程
wlan2
(之后我会整理好它 - 驱动程序问题):- 复制了我的工作 hostapd 配置并将其修改为 2.4Ghz,并保存到
/etc/hostapd
具有唯一名称的目录中。
- 复制了我的工作 hostapd 配置并将其修改为 2.4Ghz,并保存到
我
dnsmasq
用作 dhcp 服务器,它dhcpcd
被禁用并停止了:- 我配置了
/etc/dnsmasq.conf
监听接口wlan2
,添加了要监听的 ip192.168.4.254
(不确定是否需要)
- 我配置了
最后编辑
/etc/default/hostapd.conf
并添加了第二个hostapd
配置,其中提到了空格分隔这里最后,重新启动这两个服务
sudo service dnsmasq restart
sudo service hostapd restart
这就是一切都变得糟糕透顶的地方。
调用sudo service networking restart
已关闭wlan0
(现有的 5ghz hostapd 守护程序),我无法将其启动,因为,也没有wlan0
。然而,eth0
和wlan1
保持运行,即
总结一下:
我有一个 5Ghz 的 wifi 热点,并尝试创建一个 2.4Ghz 热点,现在我处于没有热点的热座中
我删除了所有设置(即恢复到以前的工作状态)但没有成功。
还要注意:多次重启并没有解决任何问题
问题:
1.我如何调出这些接口
2.为什么一切正常时会出现无法调出界面的问题
如果我遗漏了什么请告诉我
更多信息:
我的接口文件:
$ sudo cat /etc/network/interfaces
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.0.254
subnet 255.255.255.0
gateway 192.168.8.254
network 192.168.0.0
broadcast 192.168.0.255
allow-hotplug wlan2
iface wlan0 inet static
address 192.168.4.254
subnet 255.255.255.0
gateway 192.168.8.254
network 192.168.4.0
broadcast 192.168.4.255
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.254
subnet 255.255.255.0
gateway 192.168.8.254
network 192.168.1.0
broadcast 192.168.1.255
allow-hotplug wlan1
iface wlan1 inet static
address 192.168.8.254
subnet 255.255.255.0
gateway 192.168.8.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
日志:
跑步sudo ip link set wlan0 down
dmesg
报告:n/a
但
/var/log/syslog
报告称:4 月 24 日 20:47:09 网关 avahi-daemon[480]: 接口 wlan0.IPv4 不再与 mDNS 相关。
4 月 24 日 20:47:09 网关 avahi-daemon[480]: 离开接口 wlan0.IPv4 上地址为 192.168.0.254 的 mDNS 多播组。
4 月 24 日 20:47:09 网关 avahi-daemon[480]: 撤回 wlan0 上 192.168.0.254 的地址记录。
然后跑步sudo ip link set wlan0 up
dmesg
报告:IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
但
/var/log/syslog
报告称:4 月 24 日 20:50:06 网关 avahi-daemon[480]: 加入接口 wlan0.IPv4 上的 mDNS 多播组,地址为 192.168.0.254。
4 月 24 日 20:50:06 网关 avahi-daemon[480]: mDNS 的新相关接口 wlan0.IPv4。
4 月 24 日 20:50:06 网关 avahi-daemon[480]: 在 wlan0.IPv4 上为 192.168.0.254 注册新的地址记录。
4 月 24 日 20:50:06 网关内核:[2964.213013] IPv6:ADDRCONF(NETDEV_UP):wlan0:链接未准备好
网卡状态
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether b8:27:eb:e5:67:fb brd ff:ff:ff:ff:ff:ff
inet 192.168.1.254/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::ba27:ebff:fee5:67fb/64 scope link
valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 40:a5:ef:d9:9c:4f brd ff:ff:ff:ff:ff:ff
inet 192.168.0.254/24 brd 192.168.0.255 scope global wlan0
valid_lft forever preferred_lft forever
4: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether b8:27:eb:b0:32:ae brd ff:ff:ff:ff:ff:ff
inet 192.168.8.254/24 brd 192.168.8.255 scope global wlan1
valid_lft forever preferred_lft forever
inet6 fe80::ba27:ebff:feb0:32ae/64 scope link
valid_lft forever preferred_lft forever
5: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
link/none
inet 192.168.10.1 peer 192.168.10.2/32 scope global tun0
valid_lft forever preferred_lft forever
6: tun1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
link/none
inet 192.168.11.1 peer 192.168.11.2/32 scope global tun1
valid_lft forever preferred_lft forever
7: wlan2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 90:f6:52:13:aa:82 brd ff:ff:ff:ff:ff:ff
NIC 信息
$ sudo lshw -C net
*-usb:1
description: Wireless interface
product: USB2.0 WLAN
vendor: ATHEROS
physical id: 2
bus info: usb@1:1.2
logical name: wlan2
version: 1.08
serial: 12345
capabilities: usb-2.00 ethernet physical wireless
configuration: broadcast=yes driver=ath9k_htc driverversion=4.4.50-v7+ firmware=1.3 link=no maxpower=500mA multicast=yes speed=480Mbit/s wireless=IEEE 802.11bgn
*-usb:2
description: Wireless interface
product: 802.11n NIC
vendor: Realtek
physical id: 5
bus info: usb@1:1.5
logical name: wlan0
version: 0.00
serial: 123456
capabilities: usb-2.00 ethernet physical wireless
configuration: broadcast=yes driver=rtl8812au ip=192.168.0.254 maxpower=500mA multicast=yes speed=480Mbit/s wireless=unassociated
*-network:0
description: Ethernet interface
physical id: 2
logical name: eth0
serial: b8:27:eb:e5:67:fb
size: 100Mbit/s
capacity: 100Mbit/s
capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=smsc95xx driverversion=22-Aug-2005 duplex=full firmware=smsc95xx USB 2.0 Ethernet ip=192.168.1.254 link=yes multicast=yes port=MII speed=100Mbit/s
*-network:1
description: Wireless interface
physical id: 3
logical name: wlan1
serial: b8:27:eb:b0:32:ae
capabilities: ethernet physical wireless
configuration: broadcast=yes driver=brcmfmac driverversion=7.45.41.26 firmware=01-df77e4a7 ip=192.168.8.254 multicast=yes wireless=IEEE 802.11bgn
答案1
所以过了一段时间,我发现 Raspbian 使用 ifupdown 包,你可以从这里。
所以您的界面无法出现的原因可能有所不同,因此我无法告诉您原因是什么,但如果用 Google 搜索,日志肯定可以帮助您。
获取日志
要找到这些日志,请使用以下任一方式快速更新状态:
systemctl status networking.service
或者查看详细日志:
journalctl -u networking.service
关于networking.service
您可以在此处找到服务文件/lib/systemd/system/networking.service
使用 nano/vim 打开它(我更喜欢 nano)以查看
该服务运行/sbin/ifup -a --read-environment
,但您可以添加额外的详细信息-v
以获取有关网络接口的更多信息
因此,运行/sbin/ifup -a --read-environment -v
将让您了解为什么接口无法启动。
您可以找到上述命令的示例输出这里, 由此AskUbuntu 帖子