Eu configurei hostapd
e udhcpd
para minha wlan0. Após a inicialização, o hostapd
está em execução e vejo o ssid com outro dispositivo, mas não recebo um endereço dhcp. Bem, não posso, porque o udhcpd não está em execução e systemctl status udhcpd.service
afirma:
● udhcpd.service - LSB: Start busybox udhcpd at boot time
Loaded: loaded (/etc/init.d/udhcpd)
Active: active (exited) since Thu 2017-03-16 14:24:06 CET; 7min ago
Process: 611 ExecStart=/etc/init.d/udhcpd start (code=exited, status=0/SUCCESS)
Mar 16 14:24:06 testo-mx6 systemd[1]: Starting LSB: Start busybox udhcpd at boot time...
Mar 16 14:24:06 testo-mx6 systemd[1]: Started LSB: Start busybox udhcpd at boot time.
Mar 16 14:24:06 testo-mx6 udhcpd[611]: Starting very small Busybox based DHCP server: udhcpd.
Ativo, mas saiu? E por que saiu? Eu tentei um monte de reinicializações e reinicializações de interface e finalmente encontrei este script para ser confiável:
#!/bin/sh
systemctl stop udhcpd.service
systemctl stop hostapd.service
ifdown wlan0
ifup wlan0
sleep 1
systemctl start udhcpd.service
Agora tudo está funcionando conforme o esperado. Mas usar esse script é uma solução desagradável. Eu quero que os serviços sejam iniciados como supostos.
Meu /etc/udhcpd.conf
parece
start 192.168.42.20 #default: 192.168.0.20
end 192.168.42.254 #default: 192.168.0.254
interface wlan0 #default: eth0
max_leases 2 #default: 254
siaddr 192.168.42.42 #default: 0.0.0.0
sname foobar #default: (none)
option domain local
option lease 864000 # 10 days of seconds
e /etc/network/interfaces
auto wlan0
iface wlan0 inet static
hostapd /etc/hostapd/hostapd.conf
address 192.168.42.42
netmask 255.255.255.0
E, caso seja relevante, também o /etc/hostapd/hostapd.conf
:
interface=wlan0
driver=nl80211
channel=1
hw_mode=g
wmm_enabled=0
max_num_sta=1
ssid=foobar
Eu tentei colocar um sleep
na inicialização /etc/init.d/udhcpd
(parecia ter ajudado em outra postagem que encontrei), mas sem sucesso.