フル機能のWLAN USBアダプタ

フル機能のWLAN USBアダプタ

私は純粋なクライアントだけでなくアクセスポイントとしても使用でき、AdHoc設定でも使用できるWLAN USBアダプタを探しています。 IEEE 802.11nをサポートし、かなり速い転送速度(300Mbps)を持つ必要があります。

自分のコンピュータに合わせてカスタムカーネルをコンパイルするとき、ドライバは現在のカーネル(作成時に3.7.1)の一部として提供する必要があり、外部からビルドする必要はありません。可能であれば、外部ファームウェアのインストールも避けたいと思います。ドライバとハードウェアはスリープモードをサポートする必要があります。

現在、私はほぼすべての機能を備えていますが、ロード時に数分ごとにクラッシュして再起動する必要があるAVM Fritz Wlan Stick Nを使用しています。そのため、安定性も求められます。

このような素晴らしいデバイスが実際に存在するのでしょうか?

ベストアンサー1

その間、いくつかの機器を購入してテストしました。私の選択は以下から大きなインスピレーションを受けました。リスト@Renatが提案しました。ここで私が見つけた結果を整理します。

AVMフリッツ

これマイナーな変形AVM Fritz Wlan Stick Nは2.4GHzのみをサポートしますが、大きなもの2.4および5GHzのマルチバンドサポートが特徴です。両方に依存ナイフ9170ドライバモジュール。顧客として、彼らは災いです。彼らは頻繁に衝突します。カーネルは1秒以内に再起動しますが、再接続する必要があり、時間がかかります。 SSHのようなものはもちろんライブ接続もできません。そして問題が蓄積しているようです。このスティックを長期間使用すると、故障がより頻繁に発生し、スティックが最大数分間しか機能しなくなりました。モジュールパラメータを調整し、パスワードなしそしてノートデバイスハードウェアに課される負荷を減らすために、一時修正のみが行われます。

しかし、APモードで複数の帯域をテストするときは完璧に動作しました。ビデオストリーミングとSFTPファイル転送は300MBit / sに達することができます。

TP-Link

TP-Linkを使用すると、もう一度次の選択に直面します。TL-WDN3200デュアルバンド変形と2.4GHzのみTL-WN821N。最初はツリー外部ドライバをコンパイルする必要があるため、すぐにシングルバンドモデルに切り替えました。 TL-WN821N用ath9k_htcモジュールはLinuxカーネルに含まれています。 Fritzモデルよりも伝送速度と接続品質がわずかに高く、2層と一部の壁でテストされています。また、これよりはるかに少ない頻繁にクラッシュし、1日に数回発生します。しかし、これが起こると、ネットワークサブシステムのかなりの部分を凍結してパフォーマンスを補償します。ネットワークデバイス(多くのIPCソリューションが依存するループバックを含む)にアクセスしようとするすべてのシステムコールは停止し、デバイスのプラグを抜くかカーネルモジュールが削除されるまで返されません。私はそれをいくつかのWindowsユーザーに寄付し、それ以来クライアントとして働いています。

水牛

ようやく試してみました。バッファロー WLI-UC-G300HP。 300MBit/s の評価もありますが、パフォーマンスは前述のものより少し遅くなります。一部の壁や床では、接続品質が良好で、特に狭いスペースで完全に拡張できる調整可能な小さなアンテナを使用する場合は、さらにそうです。今何ヶ月も使っていますが、とても満足しています。

唯一の欠点は、どのドライバーも自動的にデバイスの責任を感じないことです。実際には、これはよくテストされた製品で使用できます。RT2800USB基準寸法。これをカーネルに教える方法は2つあります。

ランタイム時

ルートとして発行

modprobe rt2800usb
echo 0411 01a8 > /sys/bus/usb/drivers/rt2800usb/new_id

最初の行はモジュールを挿入します。 2番目は、ドライバーにデバイスと製品IDを伝えます。この番号はで確認できますが、lsusbWLI-UC-G300HPに提供されている番号でなければなりません。その後、ドライバはモジュールのコマンドを引き継ぐ。これはudevルールを介して持続できます。私の場合は、別のアプローチを選択してください

カーネルのコンパイル

とにかくカーネルを直接ビルドするときは、次のパッチを適用するだけです。

diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index 098613e..2ded919 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -953,6 +953,7 @@ static struct usb_device_id rt2800usb_device_table[] = {
        { USB_DEVICE(0x0411, 0x016f) },
        { USB_DEVICE(0x0411, 0x01a2) },
        { USB_DEVICE(0x0411, 0x01ee) },
+       { USB_DEVICE(0x0411, 0x01a8) },
        /* Corega */
        { USB_DEVICE(0x07aa, 0x002f) },
        { USB_DEVICE(0x07aa, 0x003c) },

モジュールの内部データベースに ID を追加することで、モジュールがデバイスを管理するようにデフォルトでインセンティブを提供します。

おすすめ記事