我的目标是让两个或更多设备(顺便说一下 LinkIt Smart 7688)在没有 Wifi 路由器等接入点的现场情况下通过 WiFi 进行通信。最好所有设备都是“对等的”,也就是说,我不希望有一个“特殊”设备充当其他设备的“接入点”。最好不需要 DHCP 服务器。
我已经为具有链接本地地址的 Ad Hoc 网络配置了设备。我在每个设备上运行相同的命令,只是我修改了每个设备的 IP 中的最后一个数字。
modprobe mt7603e
iwconfig wlan0 mode ad-hoc channel 11 essid my-network
ifconfig wlan0 up 169.254.0.2 netmask 255.255.0.0
# In above commend I replaced 169.254.0.2 with 169.254.0.3 on 2nd device
它们似乎加入了同一个网络,第一个设备报告:
wlan0: Creating new IBSS network, BSSID 2a:fa:72:1d:eb:56
第二台设备报告:
wlan0: Selected IBSS BSSID 2a:fa:72:1d:eb:56 based on configured SSID
请注意,第二台设备似乎“选择”了第一台设备创建的网络。
我认为这看起来很有希望,但是尝试从另一个设备 ping 一个设备失败:
ping 169.254.0.2
PING 169.254.0.2 (169.254.0.2) 56(84) bytes of data.
From 169.254.0.3 icmp_seq=1 Destination Host Unreachable
From 169.254.0.3 icmp_seq=2 Destination Host Unreachable
一个设备无法 ping 通另一个设备。顺便说一句,每个设备都可以 ping 通自己的自己的ip成功。
我正在运行使用 Build Root 创建的自定义 Linux,因此我不一定能够访问在更标准的 Linux 安装中可以获得的所有工具,但我拥有或可以获得许多常用工具。
非常感谢您的阅读。我非常感激任何有关解决此问题的建议!
值得一提的是,这是ifconfig
和的输出iwconfig
,这是来自一个设备,另一个设备报告的结果与 ips 和 mac 地址相同。我检查了两者,发现两者Cell
的输出iwconfig
相同:
# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:20 errors:0 dropped:0 overruns:0 frame:0
TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:1515 (1.4 KiB) TX bytes:1515 (1.4 KiB)
wlan0 Link encap:Ethernet HWaddr 9C:65:F9:1B:83:99
inet addr:169.254.0.3 Bcast:169.254.255.255 Mask:255.255.0.0
inet6 addr: fe80::9e65:f9ff:fe1b:8399/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:1152 (1.1 KiB)
# iwconfig
lo no wireless extensions.
wlan0 IEEE 802.11 ESSID:"my-network"
Mode:Ad-Hoc Frequency:2.462 GHz Cell: 2A:FA:72:1D:EB:56
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
eth0 no wireless extensions.
更新:此外,以下是输出ip route show
:
# ip route show
169.254.0.0/16 dev wlan0 proto kernel scope link src 169.254.0.3
答案1
LinkIt Smart 7688 似乎不支持 Ad-Hoc 无线模式。硬件仅支持接入点和站点。