私は新しいマザーボードを持っています:MSI Z170A GAMING M5。このマザーボードには、Atherosキラーe2400イーサネットコントローラが搭載されています。私がするときlspci -nn
、私は得ます:
03.00.0 Ethernet controller [0200]: Qualcomm Atheros Device [1969:e0a1] (rev 10)
グーグルは答えを知りませんでした。openSUSEフォーラムでは同様の未解決の問題のみ。
私は新しいマザーボードを持っています:MSI Z170A GAMING M5。このマザーボードには、Atherosキラーe2400イーサネットコントローラが搭載されています。私がするときlspci -nn
、私は得ます:
03.00.0 Ethernet controller [0200]: Qualcomm Atheros Device [1969:e0a1] (rev 10)
グーグルは答えを知りませんでした。openSUSEフォーラムでは同様の未解決の問題のみ。
回答:
Ubuntu GnomeでKiller E2400を使用してSkylake MSI Z170A GAMING M5ビルドからこれを投稿しています!以下は、私がそれを機能させるために使用した(多かれ少なかれ)単純なステップです。
まず、Ubuntuからの指示に従います
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の新しいデフォルトのブートオプションになります。
適切なパッチを適用して影響を受けるカーネルモジュールを再コンパイルすることなく、既存のデバイスドライバーで新しいPCIデバイスID(ドキュメント)を登録できる場合があります。
このファイルにデバイスIDを書き込むと、PCIデバイスドライバに新しいデバイスIDが動的に追加されます。これにより、ドライバーは、コンパイル時にドライバーの静的デバイス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
からドライバ名を推測しました。正しいドライバモジュール名でない場合は、別の名前を検索してください。
sudo chmod 777 /sys/bus/pci/drivers/alx/new_id
最初にしなければなりませんでした。次にsudo
、他のすべてのコマンドにも使用する必要がありました。
sudo -i
)を起動してから上記のコマンドを実行するか、b)を使用sudo modprobe alx && echo 1969 e0a1 | sudo tee /sys/bus/pci/drivers/alx/new_id
してファイルをスーパーユーザーとして開くことにより、これらのファイルにスーパーユーザーとして書き込む必要があります。
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と一緒に機能し、カーネルに存在するモジュールとまったく同じであると正しく述べています