web-dev-qa-db-ja.com

Atheros e2400ドライバーをインストールする方法はありますか?

新しいマザーボードMSI Z170A GAMING M5を使用しています。このマザーボードには、Atherosのキラーe2400イーサネットコントローラーが搭載されています。 lspci -nnを実行すると、次の結果が得られます。

03.00.0 Ethernet controller [0200]: Qualcomm Atheros Device [1969:e0a1] (rev 10)

Googleは答えを知らなかったようです。 openSUSEフォーラムで同様の未解決の問題のみ。

9
Dylan Westra

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がネットワークを楽しむために表示されます。

12
BattleDingo

Ubuntu 14.04(Trusty)の更新:

chili555のコメント によると、デバイスはUbuntu 16.04に同梱されているカーネルでサポートされているという同様の質問についてです。幸いなことに、LTS/HWEアップグレードを介してUbuntu 14.04の同じカーネルにアップグレードできます。

  1. カーネルパッケージをインストールします。

    Sudo apt install linux-generic-lts-xenial
    
  2. マシンを再起動します。新しくインストールされたカーネルは、Grubの新しいデフォルトブートオプションになります。

詳細: buntu Wiki – LTS Enablement Stack


元の投稿(16.04以前のその他のUbuntuリリースにも適用可能)

適切なパッチ を適用して、影響を受けるカーネルモジュールを再コンパイルする以外は、 新しい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を推測しました。正しいドライバーモジュール名でない場合は、代替を検索します。

7
David Foerster

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と共に動作し、カーネルに存在するモジュールとまったく同じであると正しく述べています

2
Jeremy31