树莓派不会调出wlanX接口-多个无线接口

Cyb*_*beX 8 networking linux debian wireless-networking raspberry-pi

让我直接跳进去。

我正在使用运行最新版本 raspbian(像素)的 raspberry pi 3 作为路由器/wifi 热点


我有 3 个无线接口:

  1. 内置wifi接口(brcmfmac
  2. 用于 2.4Ghz Wifi-AP 的TP-Link WN722(尚未工作)(ath9k_htc
  3. Comfast CF-912AC ( rtl88112au )

每个接口的用途:

  • wlan0 => 5Ghz hostapd 守护进程
  • WLAN1 =>链接的路由器(参考wpa_supplicantinterfaces文件)
  • wlan2 => 2.4Ghz hostapd 守护进程(不可操作)

查看底部了解更多信息


问题:

这是一个经常出现的问题,我遇到过,使用 Raspberry Pi 的

我根本无法调出接口wlan0wlan2,并且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.
Run Code Online (Sandbox Code Playgroud)

并与wlan0wlan2被向下看到ip addr

`sudo ip link set wlan0 up`

`sudo ip link set wlan2 up`
Run Code Online (Sandbox Code Playgroud)

无法成功启动这些接口(使用ip工具确认关闭状态)。


这怎么发生的:

注意:之前一切正常,虽然我永远无法打开我的 tp-link wifi 适配器,ath9k_htc,所以我把它放下了

  1. 我正忙于配置我的 raspberry pi 以在其上运行第二个 hostapd 守护程序wlan2(我会在驱动程序问题之后对其进行整理):

    • 复制我的工作 hostapd 配置并将其修改为 2.4Ghz,保存到/etc/hostapd具有唯一名称的目录中。
  2. 我用作dnsmasqdhcp 服务器,在那里dhcpcd被禁用和停止:

    • 我配置/etc/dnsmasq.conf也监听接口wlan2,添加 ip 监听192.168.4.254不确定是否需要
  3. 最后编辑/etc/default/hostapd.conf并添加了第二个hostapd配置,这里提到了空格分隔

  4. 最后,在这 2 个服务上调用了重启

    sudo service dnsmasq restart

    sudo service hostapd restart

这就是一切都陷入地狱的地方。

调用已sudo service networking restart关闭wlan0(现有的 5ghz hostapd 守护程序),此后我无法启动它,也无法启动wlan0. 然而eth0wlan1熬夜,即

总之:

我有一个 5Ghz wifi 热点,并试图创建一个 2.4Ghz 热点,现在我在没有热点的热点

我删除了所有设置(即恢复到以前的工作状态)但没有成功。

注意aswel:几次重启没有解决任何问题


问题:

1.如何调出这些界面

2、为什么在一切正常的情况下会出现无法调出界面的问题

ps 如果我错过了什么,请告诉我


更多信息:

我的接口文件:

$ 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
Run Code Online (Sandbox Code Playgroud)

日志:

跑步 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]:在地址为 192.168.0.254 的接口 wlan0.IPv4 上离开 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]:在地址为 192.168.0.254 的接口 wlan0.IPv4 上加入 mDNS 多播组。

    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
Run Code Online (Sandbox Code Playgroud)

网卡信息

$ 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
Run Code Online (Sandbox Code Playgroud)

Cyb*_*beX 0

所以过了一段时间,我发现 Raspbian 使用 ifupdown 包,你可以从这里手动下载。

因此,您的界面无法出现的原因可能会有所不同,因此我无法告诉您原因是什么,但如果通过 Google 搜索,日志绝对可以帮助您。

获取日志

要查找这些日志,请使用以下任一方法进行快速状态更新:

systemctl status networking.service
Run Code Online (Sandbox Code Playgroud)

或者查看详细日志:

journalctl -u networking.service
Run Code Online (Sandbox Code Playgroud)

关于networking.service

您可以在此处找到服务文件/lib/systemd/system/networking.service

使用nano/vim(我更喜欢nano)打开查看

该服务正在运行/sbin/ifup -a --read-environment,但您可以添加额外的详细信息-v以获取有关网络接口的更多信息。

因此,运行/sbin/ifup -a --read-environment -v将使您深入了解为什么无法调出接口。

您可以在AskUbuntu 帖子找到上述命令的示例输出