Problème lors d'attribution d'adresse ip fixe APIPA

Linux Raspberry pi

Le problème exposé dans ce sujet a été résolu.

Bonjour, J’essaye d’attribuer à ma raspberry pi une adresse IP fixe mais lorsque j’essaie de la pinger après avoir bien fait attention à être sur le même réseau je n’y parvient pas. Afin de faire cela, j’ai ajouté à la fin de mon fichier cmdline.txt mon adresse ip de la manière suivante:

root=/dev/mmcblk0p2 rootwait console=tty1 console=ttyAMA0,115200 ip=169.254.0.50

Et j’ai laissé le fichier config.txt avec ses valeurs par defaut que voici:

# Please note that this is only a sample, we recommend you to change it to fit
# your needs.
# You should override this file using a post-build script.
# See http://buildroot.org/manual.html#rootfs-custom
# and http://elinux.org/RPiconfig for a description of config.txt syntax

kernel=zImage

# To use an external initramfs file
#initramfs rootfs.cpio.gz

# Disable overscan assuming the display supports displaying the full resolution
# If the text shown on the screen disappears off the edge, comment this out
disable_overscan=1

# How much memory in MB to assign to the GPU on Pi models having
# 256, 512 or 1024 MB total memory
gpu_mem_256=100
gpu_mem_512=100
gpu_mem_1024=100

# fixes rpi3 ttyAMA0 serial console
dtoverlay=pi3-miniuart-bt

Pourriez vous m’expliquer ce que j’ai mal fait svp ?

Merci d’avance pour votre aide :)

+0 -0

Bonjour,

Merci pour vos réponse :) J’ai branché directement ma raspberry à mon pc via un câble ethernet. j’ai suivi ce tutoriel: j’ai mis cette adresse sur mon pc: 169.254.0.22 et ce masque de sous réseau: 255.255.0.0 J’ai réalisé la même manip en utilisant raspberry pi os à la place et en modifiant le fichier cmdline.txt de la manière suivante:

console=serial0,115200 console=tty1 root=PARTUUID=e0df1923-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait ip=169.254.0.50

et la j’ai pu pinger ma raspberry et me connecter en ssh.

Peut être que j’ai placé l’adresse à une mauvaise position dans mon autre cmdline ?

+0 -0

Tu sais parfois c’est juste le câble qui tient mal.
Ta première ligne semble suivre le format de cmdline.txt. Je dirais que le problème ne venait pas de ça.

+0 -0

Non, je pense que ça marche quand tu te connectes en direct parce qu’effectivement, ton raspberry attribue l’adresse IP, mais ce n’est pas le cas en te connectant à un réseau local. C’est ta box qui gère les adresses IP, elle a dû en attribuer une autre. Reconnecte-toi à ta box et regarde dans les appareils connectés ce qu’elle indique.

+0 -0

Rebonjour, J’ai vérifié que le câble était branché correctement mais j’ai toujours le problème. Je ne peux pas me connecter à ma box car je n’en ai pas. Peut être que le problème vient de ma configuration réseau ? Voici ce que j’obtiens lorsque je lance la commande route -n sur mon PC:

Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
0.0.0.0         192.168.43.1    0.0.0.0         UG    600    0        0 wlp2s0
169.254.0.0     0.0.0.0         255.255.0.0     U     100    0        0 enp3s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlp2s0
192.168.43.0    0.0.0.0         255.255.255.0   U     600    0        0 wlp2s0

Cela vous semble t’il correct ?

+0 -0

La box n’attribue pas d’IP si on n’en demande pas.

Vu qu’ici la RaspberryPi est configurée comme static, je suppose qu’il n’y a pas de requête DHCP. Et donc que la box n’attribue pas d’adresse.

Quand on est sur un réseau régit par un serveur DHCP, soit on prend une adresse du réseau (et on risque le conflit d’adresse), soit on demande une adresse au serveur DHCP (sachant qu’on peut demandé une adresse de préférence).


C’est quoi ça ? La table de routage de ta machine (pas la Rpi ?).

Pourquoi ça:

169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlp2s0

Je ne comprend pas ce que cette ligne fait là.

Sinon le reste semble bon. Ton interface enp3s0 a bien une IP aussi ? Elle est bien up ?

+1 -0

La box n’attribue pas d’IP si on n’en demande pas.

Vu qu’ici la RaspberryPi est configurée comme static, je suppose qu’il n’y a pas de requête DHCP. Et donc que la box n’attribue pas d’adresse.

Quand on est sur un réseau régit par un serveur DHCP, soit on prend une adresse du réseau (et on risque le conflit d’adresse), soit on demande une adresse au serveur DHCP (sachant qu’on peut demandé une adresse de préférence).


C’est quoi ça ? La table de routage de ta machine (pas la Rpi ?).

Pourquoi ça:

169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlp2s0

Je ne comprend pas ce que cette ligne fait là.

Sinon le reste semble bon. Ton interface enp3s0 a bien une IP aussi ? Elle est bien up ?

ache

Oui, il s’agit bien du routage sur ma machine et non la raspberry. Quant à la seconde adresse sur wlp2s0, je ne sais pas ce qu’elle fait la, j’ai relancer la commande et elle n’y est plus.

Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
0.0.0.0         192.168.43.1    0.0.0.0         UG    600    0        0 wlp2s0
169.254.0.0     0.0.0.0         255.255.0.0     U     100    0        0 enp3s0
192.168.43.0    0.0.0.0         255.255.255.0   U     600    0        0 wlp2s0

Voici la config sur mon PC :

Image utilisateur
Image utilisateur

Je ne suis pas sûr de bien comprendre le fonctionnement de ton installation. Comment essayes-tu de connecter tes appareils en fait ?

Phigger

J’essaye de connecter ma raspberry à mon PC grâce à un câble ethernet les reliant directement entre eux.

+0 -0

Bon et bien tout me semble Ok.

Tu ne peux pas ping 169.254.0.50 ? Je ne comprend pas vraiment pourquoi.

+0 -0

J’ai eu un problème similaire avec une odroid, le problème venait de la carte SD. Une fois sur deux environ, le boot ne marchait pas pour une raison obscure.

+0 -0

Hmm oui, j’ai l’impression que ce serait plutôt ça. Tu dis que tu as testé avec Raspberry pi OS et que ça a fonctionné, c’est avec quel OS que ça ne fonctionne pas ?

Phigger

Il s’agit d’un système que j’ai compilé avec l’outil buildroot, comme je n’ai rien d’autre avec moi qu’un pc portable et un câble ethernet, je n’ai pas pu vérifier son bon fonctionnement. Je vais essayer de me faire prêter un câble usb-uart ce soir, comme ça je pourrais le tester au plus vite :)

Bonjour, J’ai du nouveau ! J’ai testé mon système grâce à un câble uart et il semble fonctionner correctement. J’ai pu lancé les commandes ifconfig et route-n sur ma raspberry et voici ce que j’ai obtenu:

# ifconfig
eth0      Link encap:Ethernet  HWaddr B8:27:EB:E3:54:8D
          inet6 addr: fe80::ba27:ebff:fee3:548d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:957 (957.0 B)  TX bytes:2004 (1.9 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
#

J’ai l’impression que l’adresse ip que je souhaite lui donner n’est pas prise en compte :/ Auriez vous une idée pour régler cela depuis la raspberry ?

EDIT: Les amis, je viens de trouver la solution ! Je me suis rendu dans /etc/network puis j’ai ouvert le fichier interfaces et enfin j’ai supprimé tous les paramètres données dans auto eth0 que voici:

# interface file auto-generated by buildroot

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
  pre-up /etc/network/nfs_check
  wait-delay 15
  hostname $(hostname)

Maintenant mon fichier ressemble à cela:

# interface file auto-generated by buildroot

auto lo
iface lo inet loopback


Avec cette nouvelle configuration j’ai pu pinger la raspberry et aussi me connecter en ssh.

Merci beaucoup pour votre aide, je vais maintenant mettre le sujet en résolu dans l’espoir qu’il pourra aider quelqu’un dans le futur :)

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte