Sto realizzando un'applicazione gui che controllerà il mio laptop per farlo funzionare come un hotspot wifi. Potrei cambiare le distribuzioni, quindi voglio trovare una soluzione che funzionerà generalmente per tutte le distribuzioni. Attualmente lo sto facendo su Fedora 17.
L'uso del pulsante "Usa come hotspot" di NetworkManager funziona molto bene per creare un hotspot ad hoc:
Voglio ricreare questa funzionalità con i comandi del terminale.
Di seguito sono riportati due metodi che ho provato a ottenere questo risultato ma non ho ancora trovato una soluzione.
Metodo 1: iwconfig
Usando la ricerca dall'altra parte del web, ho provato il seguente comando:
# ifconfig wlan0 10.42.0.1 netmask 255.555.255.0 broadcast 10.42.0.255 up
# iwconfig wlan0 essid my-lappy mode ad-hoc key 0123456789
# iptables-restore < saved-hotspot-iptables
# echo 1 > /proc/sys/net/ipv4/ip_forward
# dhclient wlan0
dove si saved-hotspot-iptables
trova un file che ho generato con iptables-save > saved-hotspot-iptables
l'iptables impostato dalla funzione "Usa come hotspot".
Metodo 1 Problema I
dispositivi possono vedere l'SSID ma non sono in grado di connettersi. L'esecuzione ip a
rivela quanto segue su wlan0:
...
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DORMANT qlen 1000
...
L'avviso NO-CARRIER
è presente e lo stato è DORMANT
invece di UP
.
L'esecuzione ifconfig wlan0
mostra quanto segue:
...
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
...
Si noti che RUNNING
manca come una delle bandiere.
Metodo 2: nmcli
Se il pulsante "Usa come hotspot" di NetworkManager viene premuto almeno una volta sul sistema, /etc/sysconfig/network-scripts/ifcfg-Hotspot
viene creato e posso utilizzare il comando seguente per avviare un hotspot funzionante:
# ifconfig wlan0 up
# nmcli con up id Hotspot
# iwconfig wlan0 essid my-lappy key 0123456789
Metodo 2 Problema
Se l'utente non ha mai premuto prima "Usa come hotspot" su NetworkManager, nmcli con up id Hotspot
non funzionerà. Ho guardato nm-connection-editor --create
ma non sono riuscito a trovare molte informazioni. Ho anche cercato di creare manualmente, /etc/sysconfig/network-scripts/ifcfg-Hotspot
ma questo metodo non sembra elegante o estendibile ad altre distribuzioni.