Je fais une application graphique qui contrôlera mon ordinateur portable afin de le faire agir comme un hotspot wifi. Je peux changer les distributions, donc je veux trouver une solution qui fonctionnera généralement pour toutes les distributions. Je fais actuellement cela sur Fedora 17.
L'utilisation du bouton "Utiliser comme point d'accès" de NetworkManager fonctionne très bien pour créer un point d'accès ad-hoc:
Je veux recréer cette fonctionnalité avec des commandes de terminal.
Voici deux méthodes que j'ai essayé d'accomplir, mais je n'ai pas encore trouvé de solution.
Méthode 1: iwconfig
En utilisant la recherche à travers le Web, j'ai essayé la commande suivante:
# 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
où saved-hotspot-iptables
est un fichier que j'ai généré avec iptables-save > saved-hotspot-iptables
les iptables définis par la fonction "Use as Hotspot".
Méthode 1 Problème Les
périphériques peuvent voir le SSID mais ne peuvent pas se connecter. L'exécution ip a
révèle ce qui suit à propos de wlan0:
...
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DORMANT qlen 1000
...
L'avis NO-CARRIER
est présent et l'état est à la DORMANT
place de UP
.
L'exécution ifconfig wlan0
montre ce qui suit:
...
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
...
Notez qu'il RUNNING
manque l'un des drapeaux.
Méthode 2: nmcli
Si le bouton «Utiliser comme point d'accès» de NetworkManager est appuyé au moins une fois sur le système, il /etc/sysconfig/network-scripts/ifcfg-Hotspot
est créé et je peux utiliser la commande suivante pour démarrer un point d'accès fonctionnel:
# ifconfig wlan0 up
# nmcli con up id Hotspot
# iwconfig wlan0 essid my-lappy key 0123456789
Méthode 2 Problème
Si l'utilisateur n'a jamais appuyé sur "Utiliser comme point d'accès" sur NetworkManager auparavant, nmcli con up id Hotspot
cela ne fonctionnera pas. J'ai regardé nm-connection-editor --create
mais je n'ai pas trouvé beaucoup d'informations. J'ai également étudié la création manuelle, /etc/sysconfig/network-scripts/ifcfg-Hotspot
mais cette méthode ne semble ni élégante ni extensible à d'autres distributions.