web-dev-qa-db-ja.com

「iw」とそのコマンドの一部は出力を返しません

ARMベースのコンピューターをセットアップして、ホットスポットとクライアントになるようにしようとしています。

しかし、そのような機能について私が見つけたすべての情報は、私が抱えている問題を解決するために私にとって重要であると思われるiwコマンドに言及しています。

私には適切に動作しないようです。

_iw wlan0 info_と入力すると、エラーメッセージcommand failed: No such device (-19)が表示されます。

なんでこんなことが起こっているの?

私はDebianWheezyを使用しています。

編集:完全に機能するWiFiドングルをARMコンピューターに接続しています。WiFiドングルは私のネットワーク。

Wifiドングルは_RTL8188CUS_に基づいています。

[〜#〜]重要[〜#〜]

次の手順を実行することで、簡単に機能させることができました。

/etc/apt/sources.listの最初の2つのソースに_contrib non-free_を追加します

実行_apt-get update_実行_apt-get upgrade_

_apt-get install firmware-realtek_を実行します

Wifiドングルを接続する

_iw list_を実行すると、動作するようになります。

トピックから外れていますが、IWが機能する必要がある理由に関連しており、説明後にIWに戻ります

私が持っているwifiドングルは_RTL8188CUS_チップを使用しており、RealTekのリリースノートによると、このチップはバージョン_4.0.0_5967.2021201_の時点で混合モードをサポートするはずです。

混合モードとは、_Station+Station_、_Station+AP_、_Station+P2P_を意味します。

注:モード「ステーション」は「管理対象」とも呼ばれます

私はこのチップでStation + APを使用する方法を数か月間考えてきましたが、これを見つけるまで(私が試している)、使用してセットアップしたすべてのシステムに古いドライバがインストールされています今): https://github.com/pvaret/rtl8192cu-fixes

後で試すリソースが他にもあります。

さて、IWに戻りましょう。

IWは、間違ったドライバが使用されると動作を停止するようです。

間違ったドライバーを使用しても、Wifiドングルを任意のネットワークに接続できますが、IWはデバイスを認識しなくなります。

IWCONFIGは正常に動作し、IFCONFIGは正常に動作します。

だから私は間違ったドライバーが_iw dev_のようなコマンドの動作を停止させると信じています。

追加情報:上記のGITHUBのインストール手順に従うと、モジュール_8192cu_が読み込まれることはありません。

私は知っています、それらは同じドライバー用ではありませんが、RealTekによると_8188cu_で動作するはずです。

4
vaid

wireless_toolsをインストールする必要があります

ターミナルを開き、次のコマンドを入力します。

aptitude install wireless-tools

ネットワークサービスを再起動します。

/etc/init.d/networking restart

更新

iwでインターフェースを追加する必要があります

iw dev wlan0 interface add <name> type <type>

有線接続の場合:

iw phy phy0 interface add <name> type <type>

サポートされているいくつかのモードがあります。サポートされるモードは次のとおりです。

  • モニター

  • 管理[ステーションも]

  • wds

  • メッシュ[またmp]

  • ibss [アドホック]

例:

iw phy phy0 interface add moni0 type monitor
iw dev wlan0 interface add wlan0 type station
1
GAD3R

iwパッケージをインストールします。

 apt-get install iw

次に、iwコマンドがあります。

編集:

現時点では、どこかにバグがあることは明らかです。次の選択肢があります。

  1. 非常に古いカーネル3.4.90( ここを参照 )を使用しているので、カーネルを劇的に更新したい場合があります。 Google全体でこれを行うためのガイドがあります。

  2. 実行しているiwの古いバージョンではなく、バグが存在することを期待して、デバイスドライバを再コンパイルしてみてください。これは次のように行います。Linuxバックポートをダウンロード ここから をダウンロードし、上記のファイルをダウンロードしたディレクトリに移動して、次のコマンドを実行します。

    Sudo apt-get install linux-headers-$(uname -r) build-essential firmware-realtek
    tar xvfz backports-4.4.2-1.tar.gz
    cd backports-4.4.2-1/
    make defconfig-rtlwifi
    make
    Sudo make install
    

再起動して、iwコマンドを再試行してください。これが失敗した場合は、古いカーネルを更新することをお勧めします。3.4がリリースされました 2012年5月

1
MariusMatutiae