web-dev-qa-db-ja.com

Ralink MT7601Uワイヤレスアダプター用ドライブ

何をすべきか本当に分からない。 Ubuntuをインストールしました。現在インターネットに接続していません。 Ralink MT7601Uワイヤレスアダプターを持っています。しかし、それは機能していません。

lsusbはそれを検出します(私は推測します):

Bus 001 Device 060: ID 148f:7601 Ralink Technology, Corp. MT7601U Wireless Adapter

しかし、そのwifiアイコンには何もありません。また、「Sudo lshw -C network」にはイーサネットのみが表示されます。また、この記事の1つで、Ubuntu 17.04(私が持っている)にデフォルトで含まれていることを読みました。もしそうなら、それはなぜ機能しないのですか?何かすべきですかちなみに、Ubuntuのインストール時にデバイスが接続されていませんでした。 ubuntu-cdからインストールするドライバのようなものはありますか?

助けてください。 Ubuntuは初めてです。

rfkill list allおよびSudo modprobe mt7601uは何も返しません。しかし、2番目のユーザーはパスワードを要求しました。

編集:つまり、ソースからドライバーをインストールすることができました。 Nowdmesg | grep mt76は、最初に3行追加します。

usbcore: registered new interface driver mt7601u
mt7601Usta: loading out-of-tree module taints kernel.
mt7601Usta: module verification failed: signature and/or required key missing - tainting kernel

また、iwconfig出力:

ra0             Ralink STA

私は何をすべきか?

1

この問題の解決策がようやく見つかりました。答えは GitHub からです

  • Kernel.orgから対応するカーネルソースをダウンロードします。例:_4.4.0-104-generic_がある場合、バージョン4.4をダウンロードします。 _uname --kernel-release_を実行すると、現在のカーネルバージョンを確認できます

  • アーカイブから、フォルダ_drivers/net/wireless/mediatek/mt7601u_のみを解凍します

  • Phy.cを編集します。関数_mt7601u_init_cal_を検索し、コード1のようにmt7601u_mcu_calibrate(dev, MCU_CAL_RXIQ, 0);をコメントアウトします

  • 関数_mt7601u_phy_recalibrate_after_assoc_を検索し、コード2のようにmt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->curr_temp);をコメントアウトします

  • ビルドモジュール:

    make -C/lib/modules/$(uname -r)/ build M = $(pwd)modules

  • デバイスを削除

    Sudo rmmod mt7601uSudo insmod ./mt7601u.ko

  • デバイスを挿入

  • dmesgにエラーがないこと、およびインターフェイスがIPリンクに表示されていることを確認し、接続の安定性を確認します。

  • 変更を永続的にするには次のカーネルアップグレードまで:元のモジュールをバックアップし、コンパイル済みのモジュールで置き換えます。元のモジュールの場所を見つけるには、_modinfo mt7601u_(文字列ファイル名を表示:/ lib/modules/_KERNEL_VERSION_/kernel/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko)。

私はこの方法をカーネル4.10のUbuntu 16.04で試しました。完璧に動作しています...

コード1:

_// ret = mt7601u_mcu_calibrate(dev, MCU_CAL_RXIQ, 0); 
// if (ret) 
// return ret;
// ret = mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->dpd_temp); 
// if (ret) 
// return ret;
_

コード2:

_void mt7601u_phy_recalibrate_after_assoc(struct mt7601u_dev *dev)
    { 
    // mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->curr_temp);
       mt7601u_rxdc_cal(dev); 
    }
_

それが役に立てば幸い...

0