0

I will need to use my Raspberry Pi soon without an internet connection and am trying to set it up to run headless through an ethernet connection.

I am using a Chromebook Samsung 3 running Linux in a Crostini container to connect with a Raspberry Pi 3 B. I am able to SSH into my Raspberry Pi with my Chromebook just fine over a WiFi connection. I followed this guide to do the following:

1) SSH into the Pi

sudo ssh pi@192.168.0.61

2) Turn on predictable network names using raspi-config

3) Gather info using

ip -4 addr show | grep global
ip route | grep default | awk ‘{print $3}’
cat /etc/resolv.conf

4) Based on results above, append dhcpcd.conf file by adding these lines to the end of the file

interface eth0
static ip_address=10.1.1.99/24
static routers=10.1.1.1
static domain_name_servers=10.1.1.1
static domain_search=raspberrypi.local

interface eth0
fallback static_eth0

interface wlan0
static ip_address=10.1.1.98/24
static routers=10.1.1.1
static domain_name_servers=10.1.1.1

interface wlan0
fallback static_wlan0

5) Update and upgrade

sudo apt-get update
sudo apt-get upgrade
sudo reboot

However when I turn off WiFi on my Chromebook, turn on my Pi, connect the ethernet cable from the Pi to my Chromebook (through an ethernet to USB converter), and try to enter either with sudo ssh pi@192.168.0.99 or sudo ssh pi@raspberrypi.local, I still receive the errors ssh: connect to host 192.168.0.99 port 22: Network is unreachable or ssh: Could not resolve hostname raspberrypi.local: Name or service not known respectively

What troubleshooting can I do to try to remedy this?


Update:

Method 1)

  • I completely wiped my Pi's SD card and re-wrote the 'Raspbian Stretch with desktop and recommended software' image to the SD card.
  • All I did next to the Pi was put a blank 'SSH' file into 'boot' (to enable SSH) and then popped the SD Card back into my Pi.
  • With avahi-daemon, libnss-mdns, and SSH all installed on my Chromebook's Linux terminal and with my ethernet cable to USB plugged in between my Pi and my Chromebook, and my Chromebook saying it was trying to connect to a new ethernet connection, I tried the command ssh pi@raspberrypi.local but still got the error

    ssh: Could not resolve hostname raspberrypi.local: Name or service not known

Alternative Method (no ethernet cable)

This doesn't quite answer the original question because it doesn't involve an ethernet cable, but does allow wireless, headless access to the Raspberry Pi by making it into an access point. Source 1, Source 2

  • Wiped Pi SD card, rewrote 'Raspbian Stretch with desktop and recommended software' image to SD card, added wpa_supplicant.conf with my home network info and blank SSH file into boot folder of SD card, added reinserted SD card in Pi
  • SSH'd into my Pi with sudo ssh pi@192.168.0.61 (note that your IP address will differ and that the default Raspberry Pi login/password is pi/raspberry) and then ran the following:

    sudo apt update
    sudo git clone https://github.com/simondlevy/RPiAdHocWiFi
    cd RPiAdHocWiFi
    sudo ./install.sh
    sudo reboot
    sudo ssh pi@192.168.2.2
    
talker90
  • 1
  • 2
  • It is difficult to make any sensible comment, because frankly I have no idea what you have done to the Pi. Have you noted the comments in my Answer? Post current file contents and output of ip a – Milliways May 25 '19 at 08:41
  • Hello again! Thanks for all of your help with this! I re-updated Method 2 in my question with exactly what I have done so far with my Pi. I included my ip a output for my Pi in the update as well because it was too long to post here – talker90 May 25 '19 at 09:35
  • Hello! I noted this below as well, but I found a quick solution to making my Raspberry Pi into an access point and it worked really well, I added it in under "Alternative Method" in the question above. – talker90 May 28 '19 at 20:01
  • It's very deceptive here that you have said "a Chromebook Samsung 3 running Linux" when what is clear from your other comments is it is a chromebook running Chrome OS with a linux container. There are a lot of gotchas and restrictions that apply to the latter that would not apply to the former. In future you should make this clear otherwise you stand to waste a lot of your and other people's time. – goldilocks May 28 '19 at 21:17
  • Ah yes, thank you, I will edit it. I am running Chromeos with a Linux container. Thanks! – talker90 Jun 05 '19 at 02:06

2 Answers2

3

There is no need to do much configuration when using an ethernet cable. With default Raspbian Stretch everything works out of the box. Just flash the image, and boot it on your RasPi. If there is a DHCP server running on the other side of the ethernet cable then the RasPi will get its configuration from it including an ip address. If there is no DHCP server running then it uses avahi aka Zeroconf aka Bonjour with a Link-local address using mDNS name raspberrypi.local.

So just make sure that your Linux machine have avahi and mDNS installed. On a Debian distribution it would be the packages avahi-daemon and libnss-mdns.

Then you should be able to

linux ~$ ping raspberrypi.local

and if you have ssh enabled on the RasPi then

linux ~$ ssh pi@raspberrypi.local

should also do. If not then it is a problem of your Chromebook, not of the Raspberry Pi.

Ingo
  • 42,107
  • 20
  • 85
  • 197
  • Thank you! This doesn't work for me, however I wonder if the issue is that with Chromeos you need to right click on a folder/device and select "Share with Linux" to be able to access it from the Linux command line. When I connect my Raspberry Pi to my Chromebook through an Ethernet cord into a USB converter into my Chromebook, it does not appear in my list in the Files app, so I am unable to right click and select "Share with Linux." I wonder if there is a way to force it to mount onto my Chromebook so it appears in the Files app or to find the Pi and "Share with Linux" from the command line? – talker90 May 22 '19 at 16:47
  • So now I completely wiped my Pi's SD card and re-wrote the 'Raspbian Stretch with desktop and recommended software' image to the SD card. All I did next to the Pi was put a blank 'SSH' file into 'boot' and then popped it back into my Pi. With both avahi-daemon, libnss-mdns, and SSH installed on my Chromebook's Linux terminal and with my ethernet cable to USB plugged in between my Pi and my Chromebook, I still get the error ssh: Could not resolve hostname raspberrypi.local: Name or service not known following the command ssh pi@raspberrypi.local – talker90 May 25 '19 at 07:45
  • @talker90 If you made a clean Raspbian installation from scratch as you described and it doesn't work, then it is not a problem of the Raspberry Pi. I have tested it with a Linux Laptop to connect to the RasPi. It works as described in the answer and also confirmed in the answer from Milliways. To verify you may consider to try it with a Linux Laptop? So please look at your Chromebook what's wrong with it. Chromebook is out of scope on this site. – Ingo May 25 '19 at 08:47
  • Hello! Thanks! I'm wondering if the Chromebook is having a problem because you currently have to manually share USB devices with Linux but I have been unable to find my Pi as a USB device to do so. The current version is ChromeOS 74 but it looks like version 75 will allow USB devices to automatically be shared with Linux. This could be the issue? – talker90 May 25 '19 at 16:06
  • @talker90 The links you have given are about Chrome OS. What does Chrome OS need on the RasPi that is not working? – Ingo May 25 '19 at 16:16
  • I'm unsure if I'm on the right track, but I am wondering if the ethernet connection is not working because Linux on my Chromebook is potentially not able to interact with it as a USB device. The current OS on my Chromebook requires you to manually share USB devices with Linux on my Chromebook but I am not able to see the Pi as a USB device in my files to manually share it – talker90 May 25 '19 at 16:39
  • @talker90 The port on the RasPi to plug in an ethernet cord is managed by an ethernet interface. It has nothing to do with an USB connection. If I plug in an USB/ethernet dongle into an USB port of the RasPi then Raspbian manages it as an ethernet device, completely hide the USB plug in. You will just find an additional ethernet interface e.g. eth1. I would expect the same on your Chromebook. – Ingo May 25 '19 at 16:51
  • Hello, oh yes you are absolutely correct, thank you. I was definitely way off with my USB theory. When I plug my Pi into my Chromebook, my Chromebook indeed tries to start connecting to ethernet. It keeps saying connecting and if I try to click Configure and type in the default username/password (pi/raspberry) I get the error Error configuring network – talker90 May 25 '19 at 17:52
0

You have used 2 fallback static_wlan0 static_eth0 but not defined either, although as you have assigned static addresses this is unlikely to do anything.

If you enabled predictable network names then you WILL NOT have an eth0 interface!

dhcpcd has likely tried to access a DHCP server and failed to obtain an IP address.

"static domain_search=raspberrypi.local" is meaningless

I don't know why you would use sudo ssh pi@192.168.0.99 when you are attempting to assign 10.1.1.99 to the Pi.

It is difficult to know what to suggest, as it is unclear what you are trying to do. I suggest re-reading the linked tutorial.

If you did NOTHING to the Pi, and connected the Ethernet cable to a Linux machine ssh pi@raspberrypi.local should work over a Link-local address (although I know nothing of chromebooks).

If you are merely trying to access your Pi when it has no internet access you could try Raspberry Pi as an Access Point OR WiFi client which I use when travelling.

Milliways
  • 59,890
  • 31
  • 101
  • 209
  • Thank you! I am indeed just trying to access my Pi when it has no internet access. I followed the instructions you posted to set up my Pi as an access point/WiFi client.

    Then how do I access the Pi after this procedure? Should I see it as a WiFi network when I turn my WiFi off? I won't need to use an ethernet cable because my Pi will be providing the WiFi signal?

    – talker90 May 19 '19 at 03:04
  • You should see the Pi as an Access Point using the name and password configured – Milliways May 19 '19 at 04:07
  • Thanks! I see my Pi as an access point, but when I log into it I get the following error on my Chromebook:

    Network connection error Failed to connect to network 'pi': DHCP lookup failed

    Do you know what I could troubleshoot to remedy this?

    – talker90 May 23 '19 at 15:31
  • I guess I have a couple direct questions on the guide you posted if you could help, within the dhcpcd.conf file should I copy/paste static ip_address=10.1.4.1/24 or should I match the format of the IP that my Pi already had on my network (in this case something like static ip_address=192.168.0.61/24 ). I did some searching but couldn't figure out, if I go with the latter and need to match formatting, what would I change out as an appropriate range for the line dhcp-range=10.1.4.2,10.1.4.20,255.255.255.0,24h in the file dnsmasq.conf to match the IP of 192.168.0.61/24? – talker90 May 25 '19 at 07:55
  • DO NOT post detail in Comments - it is impossible to read – Milliways May 25 '19 at 07:58
  • Okay, thank you, I edited my original question above with an "Update" section if that makes it clearer. Thanks for your help – talker90 May 25 '19 at 08:25
  • Hello! I found a quick solution to making my Raspberry Pi into an access point and it worked really well, I added it in under "Alternative Method" in the question above. – talker90 May 28 '19 at 20:01