新しいマザーボードMSI Z170A GAMING M5を使用しています。このマザーボードには、Atherosのキラーe2400イーサネットコントローラーが搭載されています。 lspci -nn
を実行すると、次の結果が得られます。
03.00.0 Ethernet controller [0200]: Qualcomm Atheros Device [1969:e0a1] (rev 10)
Googleは答えを知らなかったようです。 openSUSEフォーラムで同様の未解決の問題のみ。
Ubuntu GnomeでKiller E2400を使用してSkylake MSI Z170A GAMING M5ビルドから投稿しています!以下は、それを機能させるために使用した(多かれ少なかれ)簡単な手順です。
最初に bunt からの指示に従います。
Sudo apt-get build-dep linux-image-$(uname -r)
Sudo apt-get install git
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-vivid.git
そのgit URLは15.04 Vivid Vervet用です。 vividをリリースコードネームに置き換えます。その最後のステップには少し時間がかかることがあるので、リラックスしてE2400がすぐに動作することを理解してください。
それが終了したら、alxドライバーを変更してE2400を含めます(お好みのテキストエディターを使用してください)
cd ubuntu-vivid/drivers/net/ethernet/atheros/alx/
Sudo -H gedit reg.h
ALX_DEV_ID_E2200を定義する行を見つけ(E2200を検索するだけでよい)、これをその下に追加します。
#define ALX_DEV_ID_E2400 0xe0a1
次、
Sudo -H gedit main.c
繰り返しますが、E2200を見つけて、{ PCI_VDEVICE(ATTANSIC, ALX_DEV_ID_E2200), .driver_data = ALX_DEV_QUIRK_MSI_INTX_DISABLE_BUG },
行の後に追加します
{ PCI_VDEVICE(ATTANSIC, ALX_DEV_ID_E2400),
.driver_data = ALX_DEV_QUIRK_MSI_INTX_DISABLE_BUG },
あとは、ドライバーを作成してインストールするだけです。
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
Sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules_install
Sudo modprobe -r alx
Sudo depmod
Sudo modprobe -v alx
注:最後の行を実行すると、...extra/alx.ko
からのモジュールのロードが表示されるはずです。そうでない場合は、alx.ko
または何かの名前に変更したalx.ko.bak
の名前を変更する必要があります。並べ替え、最後の3つのコマンドを再度実行します。
これで、E2400がネットワークを楽しむために表示されます。
chili555のコメント によると、デバイスはUbuntu 16.04に同梱されているカーネルでサポートされているという同様の質問についてです。幸いなことに、LTS/HWEアップグレードを介してUbuntu 14.04の同じカーネルにアップグレードできます。
カーネルパッケージをインストールします。
Sudo apt install linux-generic-lts-xenial
マシンを再起動します。新しくインストールされたカーネルは、Grubの新しいデフォルトブートオプションになります。
詳細: buntu Wiki – LTS Enablement Stack
適切なパッチ を適用して、影響を受けるカーネルモジュールを再コンパイルする以外は、 新しいPCIデバイスIDを登録する ( ドキュメント )を既存のデバイスにドライバー:
このファイルにデバイスIDを書き込むと、新しいデバイスIDをPCIデバイスドライバーに動的に追加しようとします。これにより、ドライバーは、コンパイル時にドライバーの静的デバイスIDサポートテーブルに含まれていたよりも多くのハードウェアをサポートできます。デバイスIDの形式は
VVVV DDDD SVVV SDDD CCCC MMMM PPPP
です。それは、ベンダーID、デバイスID、サブシステムベンダーID、サブシステムデバイスID、クラス、クラスマスク、およびプライベートドライバーデータです。 [ベンダーID]フィールドと[デバイスID]フィールドは必須ですが、残りはオプションです。 IDが正常に追加されると、ドライバーはデバイスをプローブし、バインドを試みます。例えば:# echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id
そのため、この場合、次のことが得意です。
Sudo modprobe alx
echo 1969 e0a1 | Sudo tee /sys/bus/pci/drivers/alx/new_id >/dev/null
コメントで言及されている パッチ からドライバー名alx
を推測しました。正しいドライバーモジュール名でない場合は、代替を検索します。
4.4カーネルのソースコードを使用して、このDKMSバージョンを作成しました
手順は次のとおりです。
Sudo apt-get install git dkms build-essential linux-headers-generic
git clone https://github.com/jeremyb31/alx.git
Sudo dkms add ./alx
Sudo dkms build alx/2.0
Sudo dkms install alx/2.0
リブート
これを古い3.13.0-24カーネルでテストしましたが、4.2と共に動作し、カーネルに存在するモジュールとまったく同じであると正しく述べています