Atheros e2400 sürücülerini kurmak için herhangi bir yol var mı?


9

Yeni bir anakartım var: MSI Z170A GAMING M5. Bu anakartta bir Atheros katili e2400 Ethernet denetleyicisi vardır. Ben ne zaman lspci -nnben alıyorum:

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

Google cevabı bilmiyor gibiydi. OpenSUSE forumunda yalnızca benzer bir çözülmemiş sorun.



Yuyichao tarafından gönderilen yamayı görüyorum ... comments.gmane.org/gmane.linux.network/376851 Ama nasıl kurabilirim?
user3081568

Şey ... umut verici görünüyor :) sabır ben geuss sahip?
Dylan Westra

1
Git git çekirdeğini skylake grafikleri nedeniyle denemek istediğim için kendi çekirdeğimi derledim. Yukarıdaki yama ile, şu anda sorunsuz bir şekilde Killer e2400 denetleyicisini kullanıyorum
yuyichao

@yuyichao bu yamayı nasıl kullanırım?
PitaJ

Yanıtlar:


12

Bunu Ubuntu Gnome'daki Killer E2400'ümü kullanarak Skylake MSI Z170A GAMING M5 derlememden gönderiyorum! Aşağıda çalışmasını sağlamak için kullandığım (az ya da çok) basit adımlar.

İlk önce Ubuntu'nun bazı talimatlarını takip edeceğiz

sudo apt-get build-dep linux-image-$(uname -r)
sudo apt-get install git
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-vivid.git

Bu git URL'si 15.04 Canlı Vervet içindir. Canlı kodunu sürüm kodunuzla değiştirirsiniz. Bu son adım biraz zaman alabilir, bu yüzden rahatlayın ve E2400'ünüzün yakında çalışacağı bilgisini sunun.

Bu bittiğinde, alx sürücüsünü E2400'ümüzü içerecek şekilde değiştireceğiz (seçtiğiniz metin düzenleyicinizi kullanmaktan çekinmeyin)

cd ubuntu-vivid/drivers/net/ethernet/atheros/alx/
sudo -H gedit reg.h

ALX_DEV_ID_E2200'ü tanımlayan satırı bulun (sadece E2200'ü arayabilirsiniz) ve bunu altına ekleyin

#define ALX_DEV_ID_E2400                0xe0a1

Sonraki,

sudo -H gedit main.c

Yine, E2200'ü bulun ve satırlar { PCI_VDEVICE(ATTANSIC, ALX_DEV_ID_E2200), .driver_data = ALX_DEV_QUIRK_MSI_INTX_DISABLE_BUG },eklendikten sonra

{ PCI_VDEVICE(ATTANSIC, ALX_DEV_ID_E2400),
  .driver_data = ALX_DEV_QUIRK_MSI_INTX_DISABLE_BUG },

Şimdi, geriye kalan tek şey sürücüleri yapmak ve yüklemek

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

Not: Son satırı yürüttükten sonra, modülün yüklendiğini görmelisiniz. ...extra/alx.koBunu yapmazsanız, alx.kobulduğu şeyi alx.ko.bakveya bir şeyi yeniden adlandırmanız ve son üç komutu yeniden çalıştırmanız gerekebilir .

E2400'ünüz artık ağ keyfi için görünmelidir!


Hala 1 gün sonra bekliyoruz, bu yüzden bu henüz tam bir cevap değil, bu yüzden silinmesi için oy verdim ...
Fabby

Sonunda bunu denemek için bir şans var. Cevabımı adım adım talimatları içerecek şekilde güncelledi. Bir cazibe gibi çalışır :)
BattleDingo

Sen bir hayat kurtarıcısın.
Austin Pray

FYI - Ubuntu Gnome 15.10
BattleDingo

Ağ kartınız çalışmadığında sudo apt-get kurulumunu nasıl yapabilirsiniz?
bioShark

7

Ubuntu 14.04 Güncellemesi (Güvenilir):

Chili555'in benzer bir soru hakkındaki yorumuna göre , cihaz Ubuntu 16.04 ile birlikte gelen çekirdek tarafından destekleniyor. Neyse ki Ubuntu 14.04'te LTS / HWE yükseltmeleriyle aynı çekirdeğe yükseltilebilir:

  1. Çekirdek paketlerini yükleyin:

    sudo apt install linux-generic-lts-xenial
    
  2. Makineyi yeniden başlatın. Yeni yüklenen çekirdek Grub için yeni varsayılan önyükleme seçeneği olmalıdır.

Daha fazla bilgi: Ubuntu Wiki - LTS Etkinleştirme Yığını


Orijinal yayın (16.04'ten önceki diğer Ubuntu sürümleri için de geçerlidir)

Uygun düzeltme ekini uygulamadan ve etkilenen çekirdek modülünü yeniden derlemeden kısa bir süre sonra , varolan aygıt sürücülerine yeni PCI aygıt kimlikleri ( belgeleri ) kaydedebilirsiniz :

Bu dosyaya bir aygıt kimliği yazmak, bir PCI aygıt sürücüsüne dinamik olarak yeni bir aygıt kimliği eklemeye çalışır. Bu, sürücünün derleme sırasında sürücünün statik aygıt kimliği destek tablosunda bulunandan daha fazla donanımı desteklemesine izin verebilir. Cihaz kimliği için biçimi şöyledir: VVVV DDDD SVVV SDDD CCCC MMMM PPPP. Bu Satıcı Kimliği, Aygıt Kimliği, Alt Sistem Satıcı Kimliği, Alt Sistem Aygıt Kimliği, Sınıf, Sınıf Maskesi ve Özel Sürücü Verisidir. Tedarikçi Kimliği ve Cihaz Kimliği alanları zorunludur, diğerleri isteğe bağlıdır. Bir kimlik başarıyla eklendikten sonra, sürücü aygıtı sorgulayacak ve ona bağlanmaya çalışacaktır. Örneğin:

# echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id

Bu durumda, aşağıdakilerle iyi olmalısınız:

sudo modprobe alx
echo 1969 e0a1 | sudo tee /sys/bus/pci/drivers/alx/new_id >/dev/null

Ben sürücü adını tahmin alxgelen yama yorum olarak bahsedilen. Doğru sürücü modülü adı değilse, bir alternatif arayın.


Siz (neredeyse) itibarlı bir kullanıcı olduğunuzdan: bu, sorunuza cevap veriyorsa , kabul etmek için bu metnin solundaki "0" ın altındaki gri renkli ☑ işaretini tıklamayı unutmayın , bu da "evet, bu cevap geçerli"!
David Foerster

Herhangi bir sürücü oluşturmayı gerektirmeyen güzel bir çözüm! Sıfırlamaya bile gerek yoktu.
BenB

Ayrıca, önce ben de vardı sudo chmod 777 /sys/bus/pci/drivers/alx/new_id. Sonra sudodiğer tüm komutlar için de kullanmak zorunda kaldım .
BenB

2
Ne yaptığınızı bilmiyorsanız, çekirdek parametrelerinin erişim izinlerini dünya çapında yazılabilir olarak değiştirmeyin! Bunun yerine, bu dosyalara a) önce bir süper kullanıcı kabuğu başlatarak ( sudo -i) ve sonra yukarıdaki komutları çalıştırarak veya b) sudo modprobe alx && echo 1969 e0a1 | sudo tee /sys/bus/pci/drivers/alx/new_iddosyayı süper kullanıcı olarak açmak için kullanın .
David Foerster

2

4.4 çekirdekten kaynak kodunu kullanarak bunun DKMS sürümünü yaptım

Talimatlar:

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

Yeniden Başlatma

Bunu eski 3.13.0-24 çekirdeğinde test ettim ve bunun çekirdekte bulunan modülle tam olarak aynı olduğunu doğru şekilde belirten 4.2 ile birlikte çalışır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.