私はラップトップをwifiホットスポットとして機能させるために制御するGUIアプリケーションを作成しています。ディストリビューションを変更する可能性があるので、すべてのディストリビューションで一般的に機能するソリューションを見つけたいと思います。私は現在Fedora 17でこれを行っています。
NetworkManagerの[ホットスポットとして使用]ボタンを使用すると、アドホックホットスポットを作成するのに非常に効果的です。
端末コマンドでこの機能を再現したい。
これを達成するために私が試みた2つの方法を以下に示しますが、解決策はまだ見つかりません。
方法1:iwconfig
ウェブ全体の調査を使用して、次のコマンドを試しました。
# 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
ここで、「ホットスポットとして使用」機能で設定したiptables saved-hotspot-iptables
を使用しiptables-save > saved-hotspot-iptables
て生成したファイルです。
方法1問題
デバイスはSSIDを認識できますが、接続できません。実行するとip a
、wlan0について次のことがわかります。
...
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DORMANT qlen 1000
...
通知NO-CARRIER
があり、状態はではDORMANT
なくですUP
。
実行ifconfig wlan0
すると次のようになります。
...
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
...
RUNNING
フラグの1つとして欠落していることに注意してください。
方法2:nmcliシステムで
NetworkManagerの「ホットスポットとして使用」ボタンを少なくとも1回押すと、/etc/sysconfig/network-scripts/ifcfg-Hotspot
が作成され、次のコマンドを使用してホットスポットを開始できます。
# ifconfig wlan0 up
# nmcli con up id Hotspot
# iwconfig wlan0 essid my-lappy key 0123456789
方法2問題
ユーザーがNetworkManagerで「ホットスポットとして使用」を一度も押したことがない場合、機能しnmcli con up id Hotspot
ません。調べてみましたが、nm-connection-editor --create
あまり情報が見つかりませんでした。手動で作成することも検討しました/etc/sysconfig/network-scripts/ifcfg-Hotspot
が、この方法は洗練されていないか、他のディストリビューションに拡張可能ではありません。