Forum Programmation.shell Commande dmesg | grep

Posté par . Licence CC by-sa
Tags : aucun
1
8
avr.
2016

Bonjour,
Je rencontre un petit souci que je n'arrive pas comprendre.
Lorsque je tape la commande dmesg | grep eth0, il ne m'affiche pas les informations nécessaires comme prévu. J'ai plutot ce résultat:

[ 19.658198] ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 23.445242] ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 23.449411] ADDRCONF(NETDEV_UP): eth0: link is not ready

Quelqu'un pourrait-il m'aider à comprendre pourquoi ? Et éventuellement comment résoudre cela

Merci d'avance pour l'aide.

  • # informations nécessaires

    Posté par . Évalué à 2. Dernière modification le 08/04/16 à 19:44.

    Tu attends quoi comme « informations nécessaires » ?

    Chez moi ça donne ça :

    $ dmesg | grep eth0
    [    0.695213] e1000e 0000:00:19.0 eth0: registered PHC clock
    [    0.695216] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) ac:22:0b:4e:13:47
    [    0.695217] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
    [    0.695243] e1000e 0000:00:19.0 eth0: MAC: 11, PHY: 12, PBA No: FFFFFF-0FF
    [    2.519480] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [    4.136978] e1000e: eth0 NIC Link is Up 100 Mbps Full Duplex, Flow Control: None
    [    4.136981] e1000e 0000:00:19.0 eth0: 10/100 speed: disabling TSO
    [    4.137009] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    
    • [^] # Re: informations nécessaires

      Posté par . Évalué à 1.

      Merci nonas pour ton retour !
      Je remarque que chez toi la sortie est différente.
      Je cherche à voir l'adresse MAC placée dans le journal d'activité du système après le boot. Je connais d'autres méthodes pour réussir à voir mon adresse MAC mais j'aimerais tester avec cette commande …
      Pourquoi de mon coté elle ne s'affiche pas ?

      • [^] # Re: informations nécessaires

        Posté par . Évalué à 2.

        Le log kernel varie en fonction des pilotes utilisés. Chaque pilote l'utilise comme il veut. Bref, c'est tout à fait normal de ne pas avoir les même infos sur du matériel différent ou sur une version différente du noyau (ou encore d'un boot à l'autre car l'ordre d'initialisation peut varier).

        Pourquoi ne pas utiliser les commandes ip ou ifconfig, voir le fichier /sys/class/net/eth0/address ?

        • [^] # Re: informations nécessaires

          Posté par . Évalué à 1.

          Merci benja.
          Justement pourquoi ne pas utiliser ip ou ifconfig, je disais que je sais que c'est possible également avec ces commandes mais ma demande concerne uniquement la méthode du log kernel pour pouvoir répérer la ligne qui me décrit l'adresse MAC de ma carte réseau.
          Tu aurais une autre alternative à part la commande dmesg | grep eth0 ?
          J'avais également une autre question en passant, la carte 3c501 positionnait l'adresse MAC de quelle manière ?

          Merci d'avance.

          • [^] # Re: informations nécessaires

            Posté par . Évalué à 4.

            Quand tu lance dmesg, sans grep, tu a des logs complets (jusqu'aux premiers dixièmes de secondes) ?

            La taille du buffer de logs est limitée, si un pilote spam beaucoup de messages tu risque de perdre les logs plus anciens.

          • [^] # Re: informations nécessaires

            Posté par . Évalué à 2. Dernière modification le 09/04/16 à 11:22.

            Les problèmes avec dmesg: 1) rien ne garanti que le pilote affiche effectivement la mac 2) comme l'a justement fait remarqué Tonton Benoit, la taille du log est limitée et donc à partir d'un moment les données les plus anciennes disparaissent (bien que normalement sur un système bien configuré, elles se retrouvent dans /var/log/messages).

            Tu aurais une autre alternative à part la commande dmesg | grep eth0 ?

            ip link show dev eth0 | awk '/link\/ether/ {print $2 }'
            cat /sys/class/net/eth0/address
            ifconfig eth0 | awk '/ether/ {print $2 }'

            J'avais également une autre question en passant, la carte 3c501 positionnait l'adresse MAC de quelle manière ?

            La mac est enregistrée dans l'eeprom de la carte. On peut la changer avec avec ethtool (ou mii-tool sur un vieux système), ainsi que le mode media sur les carte 3com (i.e. auto, ou forcer half/full duplex, 10 ou 100Mb). De manière non permanente, on peut changer la mac d'un système qui tourne avec ifconfig: ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx.

    • [^] # Re: informations nécessaires

      Posté par . Évalué à 1.

      Pour ton cas, c'est quelle ligne qui décrit l'adresse MAC de ta carte réseau ? C'est en fait ce que je cherche précisément mais malheureusement rien ne s'affiche à part:

      [ 19.658198] ADDRCONF(NETDEV_UP): eth0: link is not ready
      [ 23.445242] ADDRCONF(NETDEV_UP): eth0: link is not ready
      [ 23.449411] ADDRCONF(NETDEV_UP): eth0: link is not ready

  • # /etc/udev/rules.d/70-persistent-net-rules

    Posté par . Évalué à 2.

    c'est udev qui le remplit, au boot et qui associe la MAC addresse à son nom.

    si ca se trouve tu peux aussi le voir dans le log de udev

  • # Commentaire supprimé

    Posté par . Évalué à -3. Dernière modification le 12/04/16 à 21:23.

    Ce commentaire a été supprimé par l'équipe de modération.

  • # Commentaire supprimé

    Posté par . Évalué à 0. Dernière modification le 12/04/16 à 21:23.

    Ce commentaire a été supprimé par l'équipe de modération.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.