Uma forma de customizar a configuração é copiar o diretório /etc de um roteador já configurado para a o diretório trunk/package/files da árvore de compilação do OpenWrt ,antes da compilação final da imagem (make).
Porém eu queria que cada roteador tivesse um SSID diferente, tipo REDE-XX, onde o XX é o último byte em hexa do endereço MAC da placa Wireless do roteador. Também seria importante que a chave WPA2 fosse diferente para roteador e que ela fosse de fácil acesso para o cliente. Então optei por utilizar o MAC completo como chave (sem os ":"), já que ele está impresso em uma etiqueta embaixo do equipamento.
No OpenWrt, se não existir um arquivo padrão /etc/config/wireless, ele é criado no primeiro "boot" do equipamento pelo script /sbin/wifi, que por sua vez utiliza a biblioteca /lib/wifi/mac80211.sh.
O que fiz foi alterar o arquivo trunk/package/mac80211/files/lib/wifi/mac80211.sh na árvore de compilação, alterando as últimas linhas do para o seguinte:
...
new_ssid=" option ssid REDE-$(cut -f6 -d: /sys/class/ieee80211/${dev}/macaddress)"
new_pass=" option key $(cut -c1-2,4-5,7-8,10-11,13-14,16-17 /sys/class/ieee80211/${dev}/macaddress)"
cat <<EOF
config wifi-device radio$devidx
option type mac80211
option channel ${channel}
option hwmode 11${mode_11n}${mode_band}
$dev_id
$ht_capab
# REMOVE THIS LINE TO ENABLE WIFI:
#option disabled 1
config wifi-iface
option device radio$devidx
option network lan
option mode ap
$new_ssid
option encryption psk2
$new_pass
...
A ideia básica do que eu fiz está aí, mas somente edite o arquivo se conseguir entender o código.
Nenhum comentário:
Postar um comentário