
Моя цель — чтобы два или более устройств (кстати, 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 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
Одно устройство не может пинговать другое. Кстати, каждое устройство может пинговать своесобственныйip успешно.
Я использую кастомную версию Linux, созданную с помощью Build Root, поэтому у меня нет доступа ко всем инструментам, которые есть в более стандартной установке Linux, но у меня есть или я могу получить многие из распространенных.
Большое спасибо за прочтение. Буду очень признателен за любые предложения по устранению неполадок!
Для чего это стоит, вот вывод ifconfig
и iwconfig
, это с одного устройства, другое устройство сообщает идентичные результаты, за исключением IP-адресов и 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. Аппаратно поддерживаются только точки доступа и станции.