我正在尝试在 PC 和 Rasberry Pi 4b 上/之间建立一个 wifi 网状网络(不使用板载 wifi)。但似乎在 PC 节点方面遇到了障碍。
出于某种原因,显然只有 Rasberry Pi 可以看到 PC 节点,但 PC 似乎看不到 RasberryPi 节点。当我iw dev mesh0 station dump
在两者上运行时,只有 Pi 给我任何输出。(见下文)
一些注意事项:
两台计算机都运行网络管理器。但是,我已经通过它们的永久 MAC 地址(通过使用确认)和接口设备名称设置了以前由网络管理器不管理的 WIFI 设备。(包括按名称创建的设备)
ethtool --show-permaddr <interface>
mesh0
最初遵循的指南是mjuenema.github.io/80211s_wireless_mesh/ (存档快照)
值得注意的摘录示例:
$ sudo iw dev wlan1 interface add mesh0 type mp mesh_id MYMESHID $ sudo iw dev mesh0 set channel 4 $ sudo ifconfig wlan1 down $ sudo ifconfig mesh0 up $ sudo ip addr add 10.1.100.10/24 dev mesh0
我已经确认rfkill不会干扰任何一方。
PC usb wifi dongle LED 正在闪烁,好像实际上可能正在进行一些(空闲)活动。至少表明它处于活动状态。
之间的物理距离仅为 4-5 米,因此我相信可以排除信号强度问题。
使用的操作系统是:( 信息来自uname -r
)
- PC 正在运行 Arch(内核5.7.12-zen1-1-zen)
- Pi 正在运行 ARM Arch(内核5.4.51-1-ARCH)
使用的网络设备是:( 信息来自lsusb
)
- 在 PC 上(一些 Jensen USB 加密狗):Ralink Technology, Corp. 802.11 n WLAN
- 视觉上看起来是: http: //www.jensenofscandinavia.com/en/downloads/alnano/
- 它似乎正在使用
rt2800usb
驱动程序v2.3.0 (ID 148f:8070 / RT8070) - 目前无法在线找到更详细的规格/文档。
- 在 Pi (一些外部 USB wifi)上:Ralink Technology, Corp. RT2870/RT3070 无线适配器
- 似乎也在使用
rt2800usb
驱动程序v2.3.0 (ID 148f:3070 / RT3070) - (品牌和型号目前不确定)
- 似乎也在使用
运行iw dev mesh0 station dump
,如后面的指南中所述,在 PC上完全没有输出,甚至没有任何错误消息,它以退出代码 0 退出.. 这是我觉得相当意外和奇怪的事情..
但是在 Pi 上,我会得到类似于以下内容的输出:
Station 34:21:09:07:36:e2 (on mesh0) # WHICH IS AFAIK THE PCs EXPECTED 'mesh0' MAC (as shown further down below)
inactive time: 710 ms
rx bytes: 293888
rx packets: 7168
tx bytes: 846996
tx packets: 13234
tx retries: 42352
tx failed: 13234
rx drop misc: 337
signal: -53 dBm
signal avg: -53 dBm
Toffset: 18446744073676093275 us
tx bitrate: 1.0 MBit/s
tx duration: 0 us
rx duration: 0 us
mesh llid: 19732
mesh plid: 0
mesh plink: OPN_SNT
mesh local PS mode: UNKNOWN
mesh peer PS mode: UNKNOWN
mesh non-peer PS mode: ACTIVE
authorized: yes
authenticated: yes
associated: yes
preamble: long
WMM/WME: yes
MFP: no
TDLS peer: no
DTIM period: 2
beacon interval:1000
connected time: 3935 seconds
associated at [boottime]: 3549.455s
associated at: 18446725625934785637 ms
current time: 18446744072675308235 ms
我对为什么 PC 不产生任何输出感到困惑。
(尽管据我所知,据我所知,这甚至可能是正常行为;两个节点中只有一个节点会报告看到另一个节点。因为在我早些时候尝试蝙蝠侠时发生了非常相似的事情- adv 网格。Pi 会报告看到 PC 低谷的地方batctl
,尽管 PC 上没有列出任何内容。)
在两台计算机上运行iw mesh0 info
,ifconfig mesh0
和给我:iwconfig
iw phy phy<X> info
在 PI 上:
Interface mesh0
ifindex 5
wdev 0x100000002
addr 00:0f:02:2d:cc:45
type mesh point
wiphy 1
channel 4 (2427 MHz), width: 20 MHz (no HT), center1: 2427 MHz
txpower 20.00 dBm
.
mesh0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.20.0.2 netmask 255.252.0.0 broadcast 10.23.255.255
inet6 fe80::20f:2ff:fe2d:cc45 prefixlen 64 scopeid 0x20<link>
ether 00:0f:02:2d:cc:45 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 188 bytes 28372 (27.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
.
mesh0 IEEE 802.11 Mode:Auto Tx-Power=20 dBm
Retry short long limit:2 RTS thr:off Fragment thr:off
Power Management:off
wlp1s0u1u2 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry short long limit:2 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
.
( https://pastebin.com/raw/sJR1eDsc的完整iw phy phy1 info
输出)
在电脑上:
Interface mesh0
ifindex 7
wdev 0x2
addr 34:21:09:07:36:e2
type mesh point
wiphy 0
channel 4 (2427 MHz), width: 20 MHz (no HT), center1: 2427 MHz
txpower 20.00 dBm
.
mesh0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.20.0.1 netmask 255.252.0.0 broadcast 10.23.255.255
inet6 fe80::3621:9ff:fe07:36e2 prefixlen 64 scopeid 0x20<link>
ether 34:21:09:07:36:e2 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 8 overruns 0 frame 0
TX packets 701 bytes 150487 (146.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
.
wlp3s0f0u3 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry short long limit:2 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
mesh0 IEEE 802.11 Mode:Auto Tx-Power=20 dBm
Retry short long limit:2 RTS thr:off Fragment thr:off
Power Management:off
.
( https://pastebin.com/raw/9hD1G6YZ的完整iw phy phy0 info
输出)
我不确定如何进一步解决这个问题..或者甚至这是否真的完全正常。(虽然我想在进一步使事情复杂化之前将其排除在潜在问题之外)
可能是相对较旧的Jensen USB 加密狗有问题吗?即使它报告支持“网格点”模式?
我很感激任何形式的提示、建议或帮助。注意:我对网状网络(或一般的高级网络)非常陌生
如果我提供的任何其他信息可能有用,请通过评论告诉我。
只是一些可能有价值的“自我注释”链接:
在经历了很多挫折之后,我认为可以肯定地说我的问题可能是由以下组合引起的;Jensen USB 加密狗,rt2800usb固件驱动程序(带有特定的加密狗),也许还有一些关于特定内核版本的东西……甚至可能是 PC 本身,我不知道。
当我最终在同一台 PC 上测试(rtl8192cu) Netgear 加密狗时,PC 和 Pi 之间的网状网络立即工作。
出于某种奇怪的原因,Jensen USB 加密狗上的网状网络后来在另一台 PC 上尝试时也开始工作。(运行 Arch,内核 5.7.12-arch1-1)
一旦发现它们都在工作,设置每个节点变得轻而易举。
作为参考,这是我打算用作 dhcpd 等的节点的设置方式:
几秒钟后,其他人可以看到该节点,反之亦然。(我
watch iw dev mesh0 mpath dump
在每个节点上运行,所以不必一直手动更新它)。导致在三个节点中的每一个上弹出类似这样的内容: