Я пытаюсь создать специальный Wi-Fi, сделанный из 5 компьютеров (один ПК с Windows и 4 Raspberry Pi, загруженные Rasbian). Raspberry Pi будет говорить через MQTT, но это не главное. Проблема, с которой я столкнулся, заключается в том, что мне всегда нужно делать следующее, чтобы wlan0
интерфейс имел после каждой перезагрузки:
sudo ifdown wlan0
sudo ifup wlan0
Ты знаешь почему? Вот мой конф (то же самое на каждом пи, кроме IP-адреса, очевидно!)
~ % ifconfig
eth0 Link encap:Ethernet HWaddr b8:27:eb:ff:88:99
inet addr:192.168.1.41 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:951 errors:0 dropped:0 overruns:0 frame:0
TX packets:266 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:66321 (64.7 KiB) TX bytes:43663 (42.6 KiB)
wlan0 Link encap:Ethernet HWaddr 00:0f:13:51:05:8c
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:42 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:2520 (2.4 KiB)
~ % iwconfig
wlan0 IEEE 802.11bgn ESSID:"mirroir"
Mode:Ad-Hoc Frequency:2.412 GHz Cell: 42:B1:44:EB:D2:C1
Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:on
lo no wireless extensions.
eth0 no wireless extensions.
~ % more /etc/network/interfaces
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
auto wlan0
iface wlan0 inet static
address 192.168.0.2
netmask 255.255.255.0
wireless-channel 1
wireless-essid mirroir
wireless-mode ad-hoc
wireless-key 967136deac
~ % sudo route add -net 192.168.0.0 netmask 255.255.255.0 wlan0
~ % netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 wlan0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
Есть идеи?
Вроде работает, но не всегда - как 1 бут из 10, действительно странно ?!
debian
networking
raspberry-pi
xavier.seignard
источник
источник
wlan0
не имеет IPgateway 192.168.1.254
прямо подnetmask 255.255.255.0
строкой в вашем/etc/network/interfaces
файлеОтветы:
Вы пробовали одно из решений ниже? Я должен угадать ответ здесь, так как проблема не легко воспроизвести, может быть проблема с драйвером, который вы получили.
В файле интерфейсов попробуйте закомментировать «auto wlan0» и просто оставить «allow-hotplug wlan0»
Возможно, это не идеальное решение, которое вы ищете, но попробуйте создать новый сценарий оболочки с привилегиями выполнения в каталоге ваших любимых сценариев со следующим содержимым.
Затем добавьте следующую строку в ваш файл интерфейсов.
Когда компьютер загружается без активного беспроводного соединения. Попробуйте поиграться с
iwconfig
разными параметрами (попробуйте man iwconfig, чтобы получить полный список), пока ваш интерфейс не появится. Я думаю, может быть, что-txpower
то вроде переключателя может помочь вам здесь. Если это работает для вас, используйтеpre-up <command-that-worked>
файл интерфейсов, как во втором ответе, и оставьте команду там.Так что-то вроде этого в конце (не забудьте передать абсолютные пути к (pre | post) -up
источник
/etc/rc.local
. Я должен попробовать третье решение, которое вы даете. Спасибо!Точно такая же проблема здесь. Проблема была во времени: wlan0 не был готов, когда процесс загрузки выдал
ifup
.Я решил это, добавив оператор ожидания
pre-up sleep 5
к wlan0 в файле интерфейсов:источник
Может быть, вы хотите использовать разные «локальные» сети для интерфейсов eth0 и wlan0.
Так что для WLAN использовать сеть, как
10.10.0.1
, маска255.255.255.0
И для Eth использовать сеть, как192.168.0.1
, маска255.255.255.0
У меня не было этой проблемы на RPI (вероятно, потому что я всегда держу IP-адреса сетей wlan0 и eth0 очень разными). Но на моем компьютере с Windows все время возникает эта проблема: когда я использую беспроводную связь с
192.168.1.x
сетевым портом, а затем подключаюсь к Ethernet-порту, например, мой rasbperry с192.168.0.x
адресом (обратите внимание на третий октет), я всегда теряю сетевое соединение.источник
Раскоментируйте
auto eth0
,auto eth1
илиauto wlan
для интерфейса вы хотите , чтобы придумать , когда устройство сапоги.источник