Soucis avec le driver e1000e

Bonjour à tous :slightly_smiling:

avec ma Wheezy,

$ uname -a Linux pitcairn 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1 x86_64 GNU/Linux
j’ai une carte ethernet reconnue

$ lspci ... 00:19.0 Ethernet controller: Intel Corporation 82579V Gigabit Network Connection (rev 05) ...
et le module e1000e d’installé

$ modinfo e1000e filename: /lib/modules/3.2.0-4-amd64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko version: 2.3.2-k ... depends: ...
le soucis est que je sais pas pourquoi j’ai cette erreur :

$ modprobe -v e1000e insmod /lib/modules/3.2.0-4-amd64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko ERROR: could not insert 'e1000e': Unknown symbol in module, or inknown parameter (sed dmesg) $ dmesg | tail -n 3 [...] e1000e: Unknown symbol pcie_capability_read_word (err 0) [...] e1000e: Unknown symbol pcie_capability_write_word (err 0) [...] e1000e: Unknown symbol pcie_capability_clear_and_set_word (err 0)
En forçant la commande modprobe, j’obtiens une nouvelle information :

$ modprobe --force e1000e $ dmesg | tail -n 1 [...] e1000e: no symbol version for module_layout

Et encore moins comment le réglé.
Bref, finalement, je ne peux pas monter ma carte réseau.
J’ai bien cherché sur l’Internet, mais rien …

Merci de votre aide. :023

Salut, t’as essayé avec un kernel depuis wheezy-backports pour voir ?

Sinon, bah, rapport de bug je dirais…

Je ne crois qu’il soit nécessaire de faire un rapport de bug :

  • car ma connexion fonctionnait très bien avant d’installer virtualbox (que j’ai viré depuis).
  • un rapport de bug c’est bien, mais ca ne résouds le problème :slightly_smiling:

Soit, mais là, sachant que je n’ai pas de connexion, je ne sais pas comment faire ca !
Merci de ton aide.

Tu le télécharges via: packages.debian.org/wheezy-back … mage-amd64
Tu le mets sur une clé USB, et

Je n’avais pas vu le détail “ça marchait avant”. Si emettre un rapport de bug n’est pas cohérent dans le cas présent, mettre à jour le noyau ne l’est pas non plus.
D’autres utilisateurs ont déjà posté sur ce forum au sujet de cette carte, et sont parvenus à la faire fonctionner.
Donc on soupçonnera plus un problème de config ici.

Aussi, tu n’as copié que les 3 dernières lignes de ton dmesg. Ca aurait pu être utile d’avoir plus.

En installant le paquet [mono]linux-image-amd64_3.13+56~bpo70+1_amd64[/mono],
j’ai rencontré un soucis qui m’échappe :

$ dpkg -i linux-image-amd64_3.13+56~bpo70+1_amd64 dpkg: erreur de traitement de linux-image-amd64_3.13+56~bpo70+1_amd64 (--install) : l'architecture du paquet (amd64) ne correspond pas à celle du système (i386) Des erreurs ont été rencontrées pendant l'exécution : linux-image-amd64_3.13+56~bpo70+1_amd64
L’ordinateur a un processeur AMD Radeon HD 8470, et il me semble que c’est une architechture 64 bit;
de plus, j’obtient :

$ arch x86_64 :think:

Que donnent:

dpkg --print-foreign-architectures dpkg --print-architecture

Tu dois avoir un problème avec ta config des dépots. (sources.list, ou autre).

Colle également ton fichier /etc/apt/sources.list, ainsi qu’un:

$ dpkg --print-foreign-architectures $ dpkg --print-architecture i386 $ arch x86_64 $ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit
Tout cela me laisse croire que le CPU a bien l’architecture 64 bit,
mais les paquets ont été installés en 32 bits.

Sinon pour les dépots, j’ai le fichier /etc/apt/sources.list suivant :

[code]deb http://ftp.fr.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.fr.debian.org/debian wheezy main contrib non-free

deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

deb http://ftp.debian.org/debian/ wheezy-updates main contrib
deb-src http://ftp.debian.org/debian/ wheezy-updates main contrib[/code]
et

$ ls -l /etc/apt/sources.list.d -rw-r--r-- 1 root root 180 janv. 8 10:54 google-talkplugin.list -rw-r--r-- 1 root root 57 janv. 2 23:41 wandisco-subversion.list -rw-r--r-- 1 root root 57 janv. 2 23:41 wandisco-subversion.list.save
[ul]google-talkplugin.list : un fichier automatiquement configuré, je ne me souvenait même plus qu’il existait !
wandisco-subversion.list : un dépôt pour la version 1.7 de subversion.[/ul]

En fait, je pense qu’il faut que j’installe la version i386 du paquet linux-image-amd64,
si ca existe !

Ton processeur est sans doute en 64bits.
Ton kernel actuel est un 64bits.
Mais le reste de ton système, nous ne savons pas.
Et dpkg pense que la seule architecture configurée, c’est du 32bits.

Donc a priori, le reste de ton système est en 32bits. Quant à savoir pourquoi tu tournes actuellement sur un noyau 64bits, je ne sais pas.

Un petit,

… confirmera/infirmera ces soupçons.

Voila de quoi lever tes doutes alors :slightly_smiling:

$ apt-cache policy libc6 libc6: Installé : 2.13-38+deb7u1 Candidat : 2.13-38+deb7u1 Table de version : *** 2.13-38+deb7u1 0 700 http://ftp.fr.debian.org/debian/ wheezy/main i386 Packages 100 /var/lib/dpkg/status

$ dpkg -l | head -n 30 Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder | État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=attend-traitement-déclenchements |/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais) ||/ Nom Version Architecture Description +++-==========================-==================-==================-========================================================= ii acl 2.2.51-8 i386 Access control list utilities ii acpi 1.6-1 i386 displays information on ACPI devices ii acpi-support-base 0.140-5 all scripts for handling base ACPI events such as the power b ii acpid 1:2.0.16-1+deb7u1 i386 Advanced Configuration and Power Interface event daemon ii adduser 3.113+nmu3 all add and remove users and groups ii adjtimex 1.29-2.2 i386 kernel time variables configuration utility ii alsa-base 1.0.25+3~deb7u1 all ALSA driver configuration files ii alsa-firmware-loaders 1.0.25-2 i386 ALSA software loaders for specific hardware ii alsa-oss 1.0.25-1 i386 ALSA wrapper for OSS applications ii alsa-tools 1.0.25-2 i386 Console based ALSA utilities for specific hardware ii alsa-utils 1.0.25-4 i386 Utilities for configuring and using ALSA ii alsaplayer-alsa 0.99.80-5.1 i386 PCM player designed for ALSA (ALSA output module) ii alsaplayer-common 0.99.80-5.1 i386 PCM player designed for ALSA (common files) ii alsaplayer-daemon 0.99.80-5.1 i386 PCM player designed for ALSA (non-interactive version) ii alsaplayer-jack 0.99.80-5.1 i386 PCM player designed for ALSA (JACK output module) ii ant-doc 1.8.2-4 all Java based build tool like make - API documentation and m ii antlr 2.7.7+dfsg-4 all language tool for constructing recognizers, compilers etc ii apache2 2.2.22-13+deb7u1 i386 Apache HTTP Server metapackage ii apache2-doc 2.2.22-13+deb7u1 all Apache HTTP Server documentation ii apache2-mpm-prefork 2.2.22-13+deb7u1 i386 Apache HTTP Server - traditional non-threaded model ii apache2-suexec 2.2.22-13+deb7u1 i386 Standard suexec program for Apache 2 mod_suexec

Oui, moi non plus, je ne sais pas pourquoi.
A priori, je crois que les binaires auraient dû être en 64 bits !

Donc tu as installé un système 32bits. Ca n’est pas très grave.

Le kernel que tu dois te procurer est le 32bits.
L’un de ceux-ci:
packages.debian.org/wheezy-back … .1-686-pae
packages.debian.org/wheezy-back … .1-686-pae

Mais puisque maintenant on a identifié ton problème, tu peux installer un kernel 32bits depuis Wheezy (et non pas depuis les Wheezy-backports).

Donc celui-ci:
https://packages.debian.org/wheezy/kernel/linux-image-3.2.0-4-686-pae

Voilà donc ce paquet d’installé.

J’essaie de me renseigner sur l’Internet au fils des messages.
Mais là, je ne sais pas si mon système peut rebooter avec ce noyau,
parce que j’utilise Grub. Je vais donc essayer de trouver une confirmation
avant de rebooter :slightly_smiling:

Si tu n’as pas désinstallé ton kernel actuel, pas de raison que tu n’y parviennes pas.

Une façon de constater quels noyaux seront dispos au redémarrage:

… puis regarder les “menuentry”.

[quote=“polymorphisme”][…] e1000e: Unknown symbol pcie_capability_read_word (err 0)
[…] e1000e: Unknown symbol pcie_capability_write_word (err 0)
[…] e1000e: Unknown symbol pcie_capability_clear_and_set_word (err 0)[/quote]
Généralement, cette erreur vient d’une différence de version entre l’image du noyau active et le module du noyau qu’on tente de charger, et cette différence vient du fait qu’on a mis à jour le noyau avec ses modules et qu’on essaie de charger le nouveau module avec l’ancien noyau. Par exemple parce qu’on n’a pas encore redémarré le système. Si le problème persiste après redémarrage, cela signifie que l’image du noyau effectivement lancée par le chargeur d’amorçage (grub, lilo…) ne correspond pas au noyau installé. Raisons possibles : /boot mal monté, chargeur d’amorçage mal configuré… (résultant dans le fait que le chargeur va chercher l’image du noyau à un autre endroit que celui où elle a été installée en dernier).

J’observe d’ailleurs que ces symboles sont dans le /boot/System.map du noyau 3.2 le plus récent de Wheezy (basé sur la version 3.2.57-3), mais pas dans celui du noyau 3.2 inclus dans le CD d’installation de Wheezy 7.1 (basé sur la version 3.2.46-1, comme ton noyau actif). Quelle est la version du paquet du noyau installé vue par dpkg/apt ?

Petit complément :
En contournement temporaire pour retrouver le réseau, si tu as encore le .deb du noyau actif (linux-image-3.2.0-4-amd64_3.2.46-1_i386.deb ou approchant) dans le cache APT (/var/cache/apt/archives/) ou sur un CD d’installation, tu peux l’extraire dans un répertoire temporaire avec [mono]dpkg-deb -x[/mono] et charger le module lib/modules/3.2.0-4-amd64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko dans ce répertoire temporaire avec [mono]insmod[/mono].

@Zbf

J’ai installé le paquet [mono]linux-image-3.2.0-4-686-pae.deb[/mono],
le fichier [mono]/boot/grub/grub.cfg[/mono] contient bien une entrée de menu menuentry
pour cette image.
Je peux rebooter, mais Grub ne propose pas d’entrée pour cette image.
J’ai essayé de définir les paramètres pour cette nouvelle image :
sans succès. Je n’ai pas assez d’expérience sur ce sujet. :confused:

@PascalHambourg

apt-cache policy linux-image-3.2.0-4-amd64 linux-image-3.2.0-4-amd64: Installé : 3.2.57-3+deb7u1 Candidat : 3.2.57-3+deb7u1 Table de version : *** 3.2.57-3+deb7u1 0 700 http://security.debian.org/ wheezy/updates/main i386 Packages 100 /var/lib/dpkg/status 3.2.57-3 0 700 http://ftp.fr.debian.org/debian/ wheezy/main i386 Packages

J’ai fais les manipulations suivantes :

cp /var/cache/apt/archives/linux-image-3.2.0-4-amd64_3.2.46-1_i386.deb /usr/local/tmp cd /usr/local/tmp dpkg-deb -x linux-image-3.2.0-4-amd64_3.2.46-1_i386.deb
Mais je ne vois pas comment charger le module e1000e dans ce noyau !

C’est quand même bizarre.
L’installation d’un nouveau noyau se fait toute seule sous Debian (l’installation du paquet entraîne une mise à jour automatique de grub). Donc à tous les coups en redémarrant on retrouve le nouveau noyau listé, sauf s’il y a eu une erreur pendant l’installation du paquet.

On dirait que tu soupçonnais déjà qu’il n’apparaisse pas, et bingo il n’apparaît pas. Et pourtant il a sa “Menu Entry”.

Debian a changé la présentation de Grub, et propose une entrée “menu avancé” (ou qqch dans ce goût là) pour pouvoir démarrer sur des noyaux autres que celui par défaut. As-tu cette entrée ? Quelles entrées vois-tu dans ton menu Grub au démarrage ?

Tu as donc installé la version 3.2.57-3+deb7u1 mais d’après uname c’est une autre version qui est active.

Il manque le répertoire de destination dans ta commande dpkg-deb, je vais supposer que c’était “.”, donc /usr/local/tmp. Le module devrait donc se trouver dans /usr/local/tmp/lib/modules/3.2.0-4-amd64/kernel/drivers/net/ethernet/intel/e1000e. Pour le charger avec insmod, il faut spécifier le chemin complet (et charger les éventuelles dépendances que ne gère pas insmod automatiquement contrairement à modprobe, mais ce module n’en a pas) :

Donc le grub qui démarre ne lit pas le bon fichier /boot/grub/grub.cfg, pour une raison à déterminer. Il ne va peut-être pas dans le bon /boot/grub/. Hypothèse : ce n’est pas le grub qui a été installé avec ce système, ou bien il a été installé avec /boot sur la racine alors que maintenant /boot est sur une partition séparée ou vice versa. Tu dois pouvoir vérifier où est la racine du grub qui se lance via le shell de grub, mais je ne me rappelle plus quelle commande fait ça et je n’ai pas de système Linux sous la main. Une solution peut être de réinstaller grub avec [mono]grub-install[/mono].

Je me demande s’il existe pas un rapport avec l’EFI ?

$ ls -l /usr/lib/grub total 20 lrwxrwxrwx 1 root root 34 juil. 3 2013 grub-mkconfig_lib -> ../../share/grub/grub-mkconfig_lib lrwxrwxrwx 1 root root 32 juil. 3 2013 update-grub_lib -> ../../share/grub/update-grub_lib drwxr-xr-x 2 root root 20480 nov. 24 18:45 x86_64-efi total 14644 $ ls -l /boot -rw-r--r-- 1 root root 134721 mai 12 16:21 config-3.2.0-4-686-pae -rw-r--r-- 1 root root 129178 mai 12 16:48 config-3.2.0-4-amd64 drwxr-xr-x 3 root root 4096 mai 15 23:57 extlinux drwxr-xr-x 2 root root 4096 mai 15 23:57 grub -rw-r--r-- 1 root root 2672655 mai 15 23:57 initrd.img-3.2.0-4-686-pae -rw-r--r-- 1 root root 2709734 mai 14 13:45 initrd.img-3.2.0-4-amd64 drwx------ 2 root root 16384 août 13 2013 lost+found -rw-r--r-- 1 root root 1667792 mai 12 16:21 System.map-3.2.0-4-686-pae -rw-r--r-- 1 root root 2111641 mai 12 16:48 System.map-3.2.0-4-amd64 -rw-r--r-- 1 root root 2697312 mai 12 16:17 vmlinuz-3.2.0-4-686-pae -rw-r--r-- 1 root root 2831072 mai 12 16:47 vmlinuz-3.2.0-4-amd64

Un extrait du fichier de configuration de Grub :

[code]cat /mnt/usb/grub.cfg

BEGIN /etc/grub.d/10_linux

menuentry ‘Debian GNU/Linux, avec Linux 3.2.0-4-686-pae’ --class debian --class gnu-linux --class gnu --class os {
load_video
insmod gzio
insmod part_gpt
insmod ext2
set root=’(hd0,gpt6)'
search --no-floppy --fs-uuid --set=root 253ff0de-344f-4eac-87f6-b60c9cdb8ea0
echo 'Chargement de Linux 3.2.0-4-686-pae …'
linux /vmlinuz-3.2.0-4-686-pae root=UUID=2d5f0709-a78c-4209-9d3f-a601417524dd ro quiet radeon.audio=1
echo 'Chargement du disque mémoire initial …‘
initrd /initrd.img-3.2.0-4-686-pae
}
menuentry ‘Debian GNU/Linux, avec Linux 3.2.0-4-686-pae (mode de dépannage)’ --class debian --class gnu-linux --class gnu --class os {
load_video
insmod gzio
insmod part_gpt
insmod ext2
set root=’(hd0,gpt6)'
search --no-floppy --fs-uuid --set=root 253ff0de-344f-4eac-87f6-b60c9cdb8ea0
echo 'Chargement de Linux 3.2.0-4-686-pae …'
linux /vmlinuz-3.2.0-4-686-pae root=UUID=2d5f0709-a78c-4209-9d3f-a601417524dd ro single
echo 'Chargement du disque mémoire initial …‘
initrd /initrd.img-3.2.0-4-686-pae
}
menuentry ‘Debian GNU/Linux, avec Linux 3.2.0-4-amd64’ --class debian --class gnu-linux --class gnu --class os {
load_video
insmod gzio
insmod part_gpt
insmod ext2
set root=’(hd0,gpt6)'
search --no-floppy --fs-uuid --set=root 253ff0de-344f-4eac-87f6-b60c9cdb8ea0
echo 'Chargement de Linux 3.2.0-4-amd64 …'
linux /vmlinuz-3.2.0-4-amd64 root=UUID=2d5f0709-a78c-4209-9d3f-a601417524dd ro quiet radeon.audio=1
echo 'Chargement du disque mémoire initial …‘
initrd /initrd.img-3.2.0-4-amd64
}
menuentry ‘Debian GNU/Linux, avec Linux 3.2.0-4-amd64 (mode de dépannage)’ --class debian --class gnu-linux --class gnu --class os {
load_video
insmod gzio
insmod part_gpt
insmod ext2
set root=’(hd0,gpt6)'
search --no-floppy --fs-uuid --set=root 253ff0de-344f-4eac-87f6-b60c9cdb8ea0
echo 'Chargement de Linux 3.2.0-4-amd64 …'
linux /vmlinuz-3.2.0-4-amd64 root=UUID=2d5f0709-a78c-4209-9d3f-a601417524dd ro single
echo 'Chargement du disque mémoire initial …'
initrd /initrd.img-3.2.0-4-amd64
}
…[/code]
Et le menu que Grub présente :

[code]GNU Grub version 1.99-27+deb7u1

Debian GNU/Linux, avec Linux 3.2.0-4-amd64
Debian GNU/Linux, avec Linux 3.2.0-4-amd64 (mode de dépannage)
Memory test (memtest86+)
Memory test (memtest86+, serial console 115200)
Memory test (memtest86+, experimental multiboot)
Memory test (memtest86+, serial console 115200, experimental multiboot)[/code]

Je ne saurais dire s’il y a un rapport avec l’EFI. Je n’ai encore jamais utilisé de machine avec démarrage par EFI. Mais si l’EFI lance un grub qui ne va pas lire dans le bon répertoire ou la bonne partition, cela peut expliquer le problème.
D’après ce que comprends de ton grub.cfg, /boot est sur une partition séparée /dev/sda6 dont l’UUID est 253ff0de-344f-4eac-87f6-b60c9cdb8ea0. Est-ce bien le cas actuellement (à vérifier avec df et blkid) ?

/boot est sur une partition séparée /dev/sda6 : oui.

$ df | grep sda6 /dev/sda6 4806140 158120 4403880 4% /boot
L’UUID de la partition /dev/sda6 est 253ff0de-344f-4eac-87f6-b60c9cdb8ea0 : oui.

$ blkid -U 253ff0de-344f-4eac-87f6-b60c9cdb8ea0 /dev/sda6
Mais si l’EFI lance un grub qui ne va pas lire dans le bon répertoire ou la bonne partition, cela peut expliquer le problème. C’est ce que je crois aussi :slightly_smiling: Je suis en train de relire la doc de Grub, mais j’ai l’impression de chercher une aiguille dans une botte de foin.