仲間のUbuntuniansこんにちは;)
Ubuntuで慣れているように魔法のように機能すると考えて、この安価なRalink wifiアダプターを購入しました。 ;)しかし、このドライバーのインストールは、予想以上に多くのトラブルを引き起こしています。ボードを数時間かけてすべてを試してきました。まあ...私はこれが正しいアプローチであることを最初から知っていました(答えを意味します):
Ralink MT7601U(148f:7601)Wi-Fiアダプターのインストール
しかし、パッチを適用しても、次の結果が得られます。
ahti@ahti:~/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913$ make
make -C tools
make[1]: Siirrytään hakemistoon "/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/tools"
gcc -g bin2h.c -o bin2h
make[1]: Poistutaan hakemistosta "/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/tools"
/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/tools/bin2h
cp -f os/linux/Makefile.6 /home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/Makefile
make -C /lib/modules/3.2.0-70-generic/build SUBDIRS=/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux modules
make[1]: Siirrytään hakemistoon "/usr/src/linux-headers-3.2.0-70-generic"
CC [M] /home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/../../os/linux/rt_profile.o
In file included from /home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/include/rtmp_os.h:44:0,
from /home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/include/rtmp_comm.h:75,
from /home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/include/rt_config.h:33,
from /home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/../../os/linux/rt_profile.c:28:
/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/include/os/rt_linux.h:282:2: virhe: unknown type name ”kuid_t”
/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/include/os/rt_linux.h:283:2: virhe: unknown type name ”kgid_t”
/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/../../os/linux/rt_profile.c: Funktio ”announce_802_3_packet”:
/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/../../os/linux/rt_profile.c:331:16: varoitus: käyttämätön muuttuja ”pAd” [-Wunused-variable]
/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/../../os/linux/rt_profile.c: Funktio ”STA_MonPktSend”:
/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/../../os/linux/rt_profile.c:399:9: varoitus: format ”%d” expects argument of type ”int”, but argument 3 has type ”long unsigned int” [-Wformat]
make[2]: *** [/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/../../os/linux/rt_profile.o] Virhe 1
make[1]: *** [_module_/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux] Virhe 2
make[1]: Poistutaan hakemistosta "/usr/src/linux-headers-3.2.0-70-generic"
make: *** [LINUX] Virhe 2
コンソール出力がフィンランド語であることをごめんなさい(とにかく、これらの奇妙なコンソール出力を英語で変更するにはどうすればよいですか?主にターミナルセッションですべてに英語ロケールを使用できない場合、aptおよび構築ツール用?不可能です?)
しかし、ええ、それは基本的に私が今いるところです。
また、 ndis wrapper approach を使用しようとしましたが、unshieldはWindowsドライバーの実行可能ファイルを抽出できず、.sys/.infコンボがどこにも見つからなかったため、アイデアは捨てられました。
任意の助けに感謝します。これはユーザー名前空間の問題であることは知っていますが、カーネルコーディングは行っていませんが、それでも私はコーダーなので、自分でこれを解決することはできません。
ああ、必要に応じて私のシステム情報のごく一部:Ubuntu 12.04(正確)、カーネル:3.2.0-70-generic(#105-Ubuntu SMP Wed Sep 24 19:49:16 UTC 2014)、GCCバージョン:4.6(x86_64 -linux-gnu)、Gnome 3.4.2
事前に感謝します!
自分に答えます。
私はパッチを適用したくありませんでした。パッチを適用せずに、ドライバーをコンパイルしました。ただし、間違ってマップするか、148f:760b(<-1の代わりにbに注意)usbアダプターで動作しないようです。デバイスリストを変更して新しいエイリアスを追加しましたが、ドライバーまたはそれに関連する他のデータをロードした後でも、アダプターは認識されませんでした。
しかし、Windows 7でドライバーをインストールしたとき(Windows XPでは動作しなかったようです)、インストールプロセスがC:/ ProgramData/Mediatek Driver/RT2870 Wireless LAN Card/Driver /にあるドライバーフォルダーにUbuntuにコピーされた後、 ndisラッパーとndiswrapper-dkmsパッケージでロードすると、アダプターはすぐに機能しました。実際、Windows側では、何らかの理由でwlanがまったく認識されませんでしたが、Ubuntuではワンクリックですぐにワイヤレスでオンラインになりました。
そのため、あちこちで奇妙な振る舞いをしましたが、最終的には機能しています。
おそらくUbuntu 12.04はもう使用していませんが、いずれにしても、パッチを適用したときに発生したコンパイルエラーの解決策は次のとおりです。
パッチは、Linuxカーネル> = .5ですぐに使用できます。 Ubuntuの12.04カーネルで動作させるには.2少し修正する必要があります。
include/os/rt_linux.h
、次のブロックを探します。私のバージョンでは、行280から始まりますが、ソースをどこから入手したかによって、あなたのものは少し異なるかもしれません:
typedef struct _OS_FS_INFO_
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)
uid_t fsuid;
gid_t fsgid;
#else
kuid_t fsuid;
kgid_t fsgid;
#endif
mm_segment_t fs;
} OS_FS_INFO;
この行を取得します(私の場合は282):
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)
に変更します
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
今すぐコンパイルしてみてください、それは動作するはずです:)