
それはすべて、自宅のコンピューターのマザーボードを交換したときに始まりました。 古いボードには、通常のRealtek 8187にUSB Wi-Fiアダプターが組み込まれており、2年前からWindowsのアクセスポイントとして適切に機能していました。 新しいWi-Fiボードにはモジュールはありませんでしたが、素晴らしいIntel Atom 525にはサーバーが1つありましたが、PCIスロットがほとんどありませんでした。
少し考えてから、私は最初は無邪気なものを作ることにしました。最初は私にはそうでしたが、通常のUSBアダプターでソフトウェアWi-Fiアクセスポイントを起動しました。 彼らが私を待っていると私に警告したら、私は最初からアイデアをあきらめるでしょう! 安価なアダプターを手に入れましたが、それをいじる過程でのみ、「間違った」チップセットで「間違った」USBを使用することはLinuxにとって本当の暴力であることに気付きました。 Linuxの達人は助けを拒否しました!
それでも、
Ralink 2870/3070および
Atheros 9170チップセットを使用してDebian 6.0を友達にできたので、この恐ろしい秘密を全世界に公開する準備ができました!
まえがき
近年、LinuxカーネルのWi-Fiシステムは大幅に改善されました。 サブシステムをモジュールに分割し、MACレベルの手順を繰り返して別のカーネルモジュールと別のデーモンに移動し、物理デバイスドライバーを書き換えるという考え方は非常に簡単でした。 そのため、開発者のWebサイトで読むことができるコンポーネントがたくさんありました:
wireless.kernel.org/en/users/Documentationしばしば起こるように、美しい理論は人生の厳しい散文の影響を受けています。 この場合、Ralink 2870/3070およびAtheros 9170チップセットごとに、カーネルには2つのバージョンのドライバーが含まれています。新しい「ネットリンクスタイル」は、誰もが方法を知っているが、そのままでは機能しない。 デフォルトでは、相互に排他的なドライバーは悲しい結果として同時に開始しようとします。 しかし、かなりの不満は、原因になりそうです!
ドライバーを起動します。 Wifiだけのwifi
あなたが通常のユーザーで、既存のWi-Fiネットワークに接続したいだけなら、Debian 6(および他の同様のubuntarium)で次のことをする必要があります:
人気のあるDlink DWA-140が収集されるRT2870 / 3070チップセットの場合、TL-WN727Nファームウェアをダウンロードすることを忘れない古いスタイルのドライバーrt2870staを残すことをお勧めします。
apt-get install firmware-ralink wireless-tools
次に、/ etc / modprobe.d / blacklist.confに移動して、新しいスタイルのドライバーの起動をブロックします。
blacklist rt2x00usb blacklist rt2x00lib blacklist rt2800usb
その後、USBホイッスルを接続して、dmesgを注意深く見ることができます。 ドライバーの競合について書かれている場合は、間違えたか、競合するすべてのドライバーを禁止していません。 ファームウェアの不足について書かれている場合は、ファームウェアがありません(予想外ですか?)。 タイプ
ls -l /lib/firmare
は次のようになります。
-rw-r--r-- 1 root root 8192 6 22:34 rt2561.bin
-rw-r--r-- 1 root root 8192 6 22:34 rt2561s.bin
-rw-r--r-- 1 root root 8192 6 22:34 rt2661.bin
-rw-r--r-- 1 root root 8192 6 22:34 rt2860.bin
-rw-r--r-- 1 root root 8192 19 11:46 rt2870.bin
-rw-r--r-- 1 root root 4096 4 05:40 rt2870.bin.old
-rw-r--r-- 1 root root 8192 28 2009 rt2870.bin.ralink
-rw-r--r-- 1 root root 4096 6 22:34 rt3070.bin
-rw-r--r-- 1 root root 4096 6 22:34 rt3071.bin
-rw-r--r-- 1 root root 8192 6 22:34 rt3090.bin
-rw-r--r-- 1 root root 2048 6 22:34 rt73.bin
好奇心itive盛な読者は、おそらくキャッチに気付いたが、それについてはまだ覚えている。
Ar9170の場合、同様の手順。 Dlink DWA-130、160、および非常に人気のあるTL-WN821N v2が狭い円で含まれています。 Netgear WNA1000が私の手に落ちました。
apt-get install firmware-atheros wireless-tools
フリッカーcarl9170と行く!
次に、/ etc / network / interfacesに移動して、次のように記述します。
iface wlan0 inet static address 192.168.1.1 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255
ifup wlan0
実行します。 次に、何らかのグラフィカルユーティリティがネットワークに接続できます。 たとえば、最終構成には、「ネットワークマネージャー」が適しています。
親愛なるhabrayuzerがすでにWi-Fiを点滅させており、他に何も必要ない場合は、お気軽にトピックを閉じてください。
ドライバーを起動します。 精神に強い
だから、永続的なhabrayuzerは、認められたグルの懐疑論にもかかわらず、USB Wi-Fiをアクセスポイントモードで実行したいのです。
まず、アダプターを選択するための2つの簡単なヒント:
「ちょうどWi-Fi」セクションからのすべての推奨事項を取り消します! インターネット上のブログの90%は、このナンセンスに満ちています。 古いスタイルのドライバーを無効にし、最新のカーネルバージョンでも機能しない新しいドライバーを起動します。つまり、コンパイルする時間です。 これを読んでいる間に、開発者はおそらくドライバーの1〜2個のバグを修正し、新しいバグを追加したと思われます。
つまり 、compat-wirelessの最新バージョンをダウンロードします:
www.orbit-lab.org/kernel/compat-wireless-2.62.6.14以降のドライバーと互換性があります。
次に、指示に従います:
wireless.kernel.org/en/users/Download/stableマルチスレッドイネーブルフラグを無視して、すべてが非常に長い時間コンパイルされます。
declare -x CONCURRENCY_LEVEL="4"
コンパイルおよびインストール後、/ etc / modprobe.d / blacklist.confで古いスタイルを無効にすることを忘れないでください
blacklist rt2870sta blacklist ar9170usb
そしてもちろん、以前にロードしたドライバーをアンロードすることを忘れないでください:
rmmod rt2870sta rmmod ar9170usb
新しいスタイルのドライバーは、次のように正しくアンロードされます(デバッグ時に役立ちます)。
rmmod rt2800usb rmmod rt2800lib rmmod rt2x00usb rmmod rt2x00lib rmmod mac80211 rmmod cfg80211
または:
rmmod carl9170 rmmod ath rmmod mac80211 rmmod cfg80211
ファームウェアのひどい秘密!
すべてがそうです。 私たちは
modprobe
を
modprobe
ます...そして完全な失望です! ログで再びファームウェアを誓います。 実際、新しいドライバーには異なるファームウェアもあります。 Ralinkaの場合は、www.ralinktech.com / support.php?s = 2にアクセスして、
RT2870_Firmware_V22などをダウンロードしてください。
解凍して/ lib / firmwareに書き込み、同じ名前のこのファイルのサイズが正確に2倍異なることがあるのではないかと思います! 気配りのある読者はすでにこの事実に気付いています。 実際、数か月前、開発者は
rt2870と
rt3070チップセットのドライバーを1つに
まとめました。 苦労せずに、ドライバーと2870という名前のファームウェアをスライリーと名付けましたが、Ralinkページでファームウェア3070を見たことがありますか? そして、私は見ませんでした、しかし、それはそこにあります! DWA-140アダプターは3070チップセットで作成され、rt2800usbドライバーによって認識されます。
Aterosを少し簡単に使用して、開発者のページに
アクセスし 、最新バージョンをダウンロードしてください:
wireless.kernel.org/en/users/Drivers/carl9170#Firmwareファームウェアを正確に処理するために、ドライバーモジュールが必要としているものに注目します。次に例を示します。
modinfo carl9170 | grep firm
そして、必要なファームウェアが以下であることを確認します。
ls /lib/firmware/
rmmod、modprobe、lsmod、およびhurrayを使用した、すでによく知られた操作! 正しいドライバーを選択しました。つまり、切望されているコマンドを入力するときです。
iwconfig wlan0 mode Master
ああ! エラー!
SET failed on device wlan0 ; Invalid argument.
すべてが無駄に終わったのですか? もちろん違います。 それは、新しいサブシステムが独自のパスを持っているということです。そして、新しいサブシステムでよく起こるように、古いサブシステムとサブシステムを明確に否定します。 フォーラムでは、この問題は次のように議論されています。
-なんで?
-RTFM!
-あなた自身RTFW! 天国、天国はそんなキュウを見たことがない!
マニュアルには、今後、アクセスポイントのすべての設定はhostapdプログラム(
wireless.kernel.org/en/users/Documentation/hostapd)を介して行われると書かれています。
sidリポジトリをDebianに接続し(残りはすべて絶望的に古いバージョンです)、radio fwおよびhostapdデーモンを操作するための新しいユーティリティをインストールします
apt-getinstall iw hostapd
その後、
iw list
を作成し、大切なサポートされているインターフェイスモードであるAPと、同時に周波数のリストを確認します。
タンバリンと踊る。 Hostapd
構成の構成を開始する前に、3つの重要なことを知る必要があります。
1.このデーモンの内部には、起動/再起動プロセス中にインターフェイスの状態を予期せず変更する小さくて有害なろくでなしがあります。 wlan0が消えることもあれば、IPが消えることもあれば、ifdown ifupが役立つこともあれば、役に立たないこともあります。 このような状況でのRalinkは非常に悪く、Aterosはもう少し安定しています。 そのため、hostapdを開始する前に、無線インターフェイスが起動し、そのIPアドレスが有効であることを確認します。 インターフェイスを上げることができない場合、暴力を使用します-Linuxを再起動します! (はい、はい、これは冗談ではありません!)
2.最初に、暗号化なしですべての設定をチェックします! また、dhcpdも確認することを忘れないでください。dhcpdは、インターフェイスを再起動するときに死ぬこともあります。 これがLinux + USB =嫌いな理由です! dhcpなしでhostapdを設定し、クライアントに固定IPアドレスを設定し、最後にのみdhcpdを設定することをお勧めします。
3.確認するには、まずコンソールで診断を使用して、まず
hostapd -d /etc/hostapd/hostapd.conf
を実行します。
次に、説明付きのhostapd構成。 (更新:コメントを修正、#は行末で機能しない)
起動後、まず
ifconfig
と入力して、特別なインターフェイスが表示されることを確認します
mon.wlan0 Link encap:UNSPEC HWaddr 30-46-9A-00-6D-04-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:42603 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3887500 (3.7 MiB) TX bytes:0 (0.0 B)
コンソールで(hostapd -dを実行した場合)、認証プロセス中に何が起こるかを確認します。 WPAが構成されていて、接続がフェーズ2/4を超えない場合、パスワードは誤って入力されています。 そこにはまだ多くのあいまいなメッセージが表示されます。
叙情的な余談
そのため、
hostapdを使用して、
Ralink 3070チップセットで
Dlink DWA-140を実行するすべての希望を失いました。 私は間違いなく暗号化せずに動作させることができましたが、暗号化を有効にしたとき、私は間違いを犯したか、このモジュールがカーネル暗号化モジュールで実際にうまく動作しませんでした。
Atheros 9170チップセット上の
Netgear WNA1000に暗号化を含めることで、最終コードを既に実装しました。これは、本当によく機能し、すべての暗号化モジュールを正しくロードします。
Ralinkを暗号化して実行することは可能だったと思うので、DWA-140の幸せな所有者の問題に弾丸を入れることをお勧めします。 コメントであなたの成功や問題について書き、一緒にそれを理解してみてください。
あとがきの代わりに
パントリーまたはクローゼットで、USB Wi-Fiアダプターを備えた小さなサーバーが静かに賑やかになりました。完了した作業を楽しむことができます。 しかし、そこにありました! アクセスポイントが詰め込まれた近代的な高層ビルでは、すべての側面からの干渉があります。 チャンネルを選択するには、放送番組
InSSIDerを勉強することをお勧めします
これは、夕方のウィンドウでのチャンネル選択の様子です。
