SOLUTION: There's a typo in the IP address on my laptop Ethernet interface (see the accepted answer). The following writeup is most probably proper setup.

I'd like to communicate with Raspberry Pi (rpi) via point-to-point Ethernet between my laptop and the rpi.

My laptop is connected to the Internet via wireless wlan0 interface managed by NetworkManager (DHCP). My Ethernet interface is eth0 and I've explicitly told NetworkManager to ignore it (nmcli dev set eth0 managed no).

rpi apparently assigns address in the range to its Ethernet interface. When I run tcpdump on my laptop Ethernet interface (tcpdump -i eth0 -e) I can see the rpi talking from I'd like to at least ping it from my laptop.

First I assign IP address to the Ethernet interface on my laptop:

root@localhost ~ # ip addr add dev eth0

Then I check that it has the correct address:

root@localhost ~ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether f5:fc:60:62:92:f1 brd ff:ff:ff:ff:ff:ff
    inet brd scope global dynamic noprefixroute wlan0
       valid_lft 1893sec preferred_lft 1893sec
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 50:e5:3c:f4:34:11 brd ff:ff:ff:ff:ff:ff
    inet scope global eth0
       valid_lft forever preferred_lft forever

Then I check the route table:

root@localhost ~ # ip r
default via dev wlan0 proto dhcp metric 600 dev eth0 proto kernel scope link src dev wlan0 proto kernel scope link src metric 600

I assume that anything to will be picked up by second route entry.

But apparently it's picked up by default route entry:

root@localhost ~ # traceroute
traceroute to (, 30 hops max, 60 byte packets
 1  _gateway (  4.961 ms  10.669 ms  10.681 ms^C

Could you please explain why is the packet routed through the default route and what's the most proper way to set up such point to point network?

I've also tried to use the -B switch of ping to force the interface:

root@localhost ~ # ping -B eth0

Now in the tcpdump output I can see echo requests and replies from rpi but apparently it's not delivered to the ping because it's silent. Why?

0 to its Ethernet interface. When I run tcpdump on my laptop Ethernet interface (tcpdump -i eth0 -e) I can see the rpi talking from

You seem to have a typo. Your RPI is And you assigned to your other computer. 254!=245.

Though if your RPi is really getting a APIPA address in the 169.254/16 range it makes me wonder if you even have good connectivity.

  • Well, that is embarrassing. Thank you! Now it works. Should I delete the question? – Mark Howard Jan 19 '18 at 20:54
  • You don't have to delete it. – Zoredache Jan 19 '18 at 21:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.