web-dev-qa-db-fra.com

Est-il possible d'installer des pilotes Atheros e2400?

J'ai une nouvelle carte mère: MSI Z170A GAMING M5. Cette carte mère possède un contrôleur Ethernet Atheros Killer e2400. Quand je fais lspci -nn, je reçois:

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

Google n'a pas semblé connaître la réponse. Seul un problème similaire non résolu sur le forum openSUSE.

9
Dylan Westra

Je publie ceci de ma compilation Skylake MSI Z170A GAMING M5 à l’aide de mon Killer E2400 sur Ubuntu Gnome! Voici les étapes (plus ou moins) simples que j'ai utilisées pour le faire fonctionner.

D'abord, nous suivrons quelques instructions de 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

Cette URL git correspond à 15.04 Vivid Vervet. Vous voudriez remplacer vivid par votre nom de code de version. Cette dernière étape peut prendre un peu de temps, alors détendez-vous et savourez que votre E2400 fonctionnera bientôt.

Une fois que cela est terminé, nous allons modifier le pilote alx pour inclure notre E2400 (n'hésitez pas à utiliser l'éditeur de texte de votre choix)

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

Recherchez la ligne définissant ALX_DEV_ID_E2200 (vous pouvez simplement rechercher E2200) et ajoutez-la en dessous.

#define ALX_DEV_ID_E2400                0xe0a1

Prochain,

Sudo -H gedit main.c

Encore une fois, recherchez E2200 et après les lignes { PCI_VDEVICE(ATTANSIC, ALX_DEV_ID_E2200), .driver_data = ALX_DEV_QUIRK_MSI_INTX_DISABLE_BUG }, add

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

Maintenant, tout ce qui reste à faire est de faire et d'installer les pilotes

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

Remarque: Après l'exécution de la dernière ligne, vous devriez voir le module charger à partir de ...extra/alx.ko. Sinon, vous devrez peut-être renommer le alx.ko qu'il a trouvé en alx.ko.bak ou quelque chose de ce genre, puis réexécuter les trois dernières commandes.

Votre E2400 devrait maintenant apparaître pour votre plus grand plaisir en réseautage!

12
BattleDingo

Mise à jour pour Ubuntu 14.04 (Trusty):

Selon commentaire de chili555 sur une question similaire, ce périphérique est pris en charge par le noyau fourni avec Ubuntu 16.04. Heureusement, on peut mettre à jour le même noyau dans Ubuntu 14.04 via les mises à niveau de LTS/HWE:

  1. Installez les paquets du noyau:

    Sudo apt install linux-generic-lts-xenial
    
  2. Redémarrez la machine. Le noyau nouvellement installé devrait être la nouvelle option de démarrage par défaut pour Grub.

Plus d'infos: buntu Wiki - Pile d'activation LTS


Message original (toujours applicable aux autres versions d'Ubuntu avant le 16.04)

Sans appliquer le correctif approprié et recompiler le module de noyau concerné, vous pourrez peut-être enregistrer de nouveaux ID de périphérique PCI ( documentation ) avec le périphérique existant conducteurs:

L'écriture d'un ID de périphérique dans ce fichier tentera d'ajouter de manière dynamique un nouvel ID de périphérique à un pilote de périphérique PCI. Cela peut permettre au pilote de prendre en charge davantage de matériel que celui indiqué dans la table de prise en charge des ID de périphérique statiques du pilote au moment de la compilation. Le format de l'ID de périphérique est le suivant: VVVV DDDD SVVV SDDD CCCC MMMM PPPP. Il s’agit de l’ID du fournisseur, de l’ID de périphérique, de l’ID de fournisseur du sous-système, de l’ID de périphérique du sous-système, de la classe, du masque de classe et des données de pilote privé. Les champs ID fournisseur et ID appareil sont obligatoires, les autres sont facultatifs. Une fois l’ID ajouté, le pilote recherche le périphérique et tente de s'y connecter. Par exemple:

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

Donc, dans ce cas, vous devriez être bon avec:

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

J'ai deviné le nom du pilote alx à partir du patch mentionné dans les commentaires. Si ce n'est pas le bon nom de module de pilote, recherchez une alternative.

7
David Foerster

J'ai créé une version DKMS de cette en utilisant le code source du noyau 4.4

Les instructions sont:

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

Redémarrer

J'ai testé cela dans l'ancien noyau 3.13.0-24 et cela fonctionne avec 4.2 qui indique correctement que c'est exactement le même que le module présent dans le noyau

2
Jeremy31