Estou tentando criar um wifi ad-hoc composto por 5 computadores (um PC com Windows e 4 raspberry pi carregados com um raspbian). O raspberry pi fala através do mqtt, mas esse não é o ponto. O problema que tenho é que sempre preciso fazer o seguinte para ter a wlan0
interface após cada reinicialização:
sudo ifdown wlan0
sudo ifup wlan0
Você sabe por quê? Aqui está o meu conf (o mesmo em cada pi, exceto o endereço IP, obviamente!)
~ % 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
Qualquer ideia?
Parece funcionar, mas nem sempre - como 1 bota em 10, realmente estranho ?!
debian
networking
raspberry-pi
xavier.seignard
fonte
fonte
wlan0
não tem ipgateway 192.168.1.254
diretamente sob anetmask 255.255.255.0
linha em seu/etc/network/interfaces
arquivoRespostas:
Você já tentou uma das soluções abaixo? Preciso adivinhar a resposta aqui, pois o problema não é fácil de reproduzir, pode ser um problema com o driver que você obteve.
No arquivo de interfaces, tente comentar "auto wlan0" e apenas mantenha "allow-hotplug wlan0"
Provavelmente não é a solução ideal que você está procurando, mas tente criar um novo script de shell com privilégios de execução no seu diretório de scripts favoritos com o seguinte conteúdo.
Em seguida, adicione a seguinte linha ao seu arquivo de interfaces.
Quando o seu computador inicia sem a conexão sem fio ativa. Tente mexer com
iwconfig
parâmetros diferentes (tente man iwconfig para obter uma lista completa) até que sua interface apareça. Eu acho que pode ser umatxpower
espécie de interruptor que pode ajudá-lo aqui. Se isso funcionar para você, usepre-up <command-that-worked>
no seu arquivo de interfaces como na 2ª resposta e deixe o comando lá.Então, algo assim no final (lembre-se de passar caminhos absolutos para (pré | pós) -up
fonte
/etc/rc.local
. Eu deveria tentar a terceira solução que você está dando. Obrigado!Exatamente o mesmo problema aqui. O problema era um problema de tempo: o wlan0 não estava pronto quando o processo de inicialização emitiu o arquivo
ifup
.Eu resolvi isso adicionando uma instrução de espera
pre-up sleep 5
a wlan0 no arquivo de interfaces:fonte
Talvez você queira usar redes "locais" diferentes para as interfaces eth0 e wlan0.
Então, para wlan, use rede como
10.10.0.1
, mascara255.255.255.0
E para eth use rede192.168.0.1
, como , mascara255.255.255.0
Não tive esse problema no RPI (provavelmente porque sempre mantenho os IPs de rede wlan0 e eth0 muito diferentes). Mas, no PC com Windows, tenho esse problema o tempo todo: quando uso a rede sem fio
192.168.1.x
e conecto a porta Ethernet, por exemplo, meu192.168.0.x
endereço com endereço ( veja o terceiro octeto), sempre perco a conexão de rede.fonte
Remova o comentário
auto eth0
,auto eth1
ouauto wlan
para a interface que você deseja aparecer quando as botas de unidade.fonte