pi_black_glow2

How To Set Up Raspberry Pi Without Monitor (DHCP, ya you know me!)


In this article we will take the SD card containing Raspbian Wheezy that we created in my last post, and we are going to boot the Pi blind, aka set up Raspberry Pi without monitor.

If you plan to use the Pi as a server rather than a desktop environment, you do your work from the command line, or you just want to save money on accessories, we can completely remove any need for a monitor, keyboard, mouse, etc by taking advantage of DHCP.

I am going to make a couple of safe assumptions here before I go any further.

  • 1. You have a router that you know how to access. (if you don’t it should be easy enough to find out how using the google machine)
  • 2. That router is running DHCP.
  • 3. You will connect the Pi to that router via Ethernet on initial boot.
  • 4. You have an alternate computer connected to this router’s network.

I feel I can safely assume that even the biggest n00b will satisfy these requirements. If, in the case you are not connecting to a router, or it isn’t running DHCP or you aren’t connecting via Ethernet cable to that router, or you don’t have another computer, then fine…you need a monitor.

For the rest of us, lets continue.

Using either the 2012-07-15 or 2012-08-16  releases of Wheezy, you will have created an image that will boot with DHCP and SSH enabled. What this means is the minute you power up the Pi, it will ask your local network for an IP and assuming boot went smoothly, it will allow remote access using the default credentials (user = pi, pass = raspberry). You may have been advised that, without a monitor, you won’t know the IP your Pi is given, however as long as you can admin the router you are using, you will always know the IP.

So how do we find the IP?

Well the router you are using, whether high end or a run of the mill ISP provided box, will keep a record of all the IPs it has handed out and to whom – aka DHCP bindings. All we need to do is to ask it for that list before we plug in the Pi then ask again after the Pi comes alive.  Now, there are many a router out there, but the general idea is the same on all of them. You will need to connect to your router and you will need to know the proper credentials to get in. Personally I use Cisco IOS and Juniper Junos based routers, so i SSH into mine. Apple users can use their Airport utility to find the same info, and most others will just need to point their browser to a specific address to log in (ie 192.168.1.1). Regardless we all will find the DHCP bindings once we log in.

Here is how to find the DHCP client list on some common routers:

Cisco IOS
(via CLI)

n00brouter#show ip dhcp binding

IP address          Client-ID/       Lease expiration        Type
Hardware address/

192.168.2.21    xxxx.ff61.xxxx.ae    Aug 27 2012 11:21 PM     Automatic
192.168.2.26    xxxx.cba1.xxxx.6f    Aug 28 2012 12:40 AM     Automatic
192.168.2.28    xxxx.11be.xxxxx.b3   Aug 27 2012 08:12 PM     Automatic

Juniper SRX100B

user@host> show system services dhcp binding

address   MAC address  Binding Type   Lease expires at
192.168.1.2   00:a0:12:00:12:ab  static    never
192.168.1.3   00:a0:12:00:13:02  dynamic   2004-05-03 13:01:42 PDT

Apple Extreme Base Station (2nd Gen)

**please advise if New basestations/Timecapsules has different DHCP client list location**

Airport Utility > Advanced > Logging & Statistics > Logs & Statistics > DHCP Clients

Please post your router model and how you found the DHCP bindings aka DHCP client list in the comments below and I will add it to the list!!

Unable to find the DHCP bindings? Post your router model below and I will try and help!!

As you can see, although the exact process may differ, all the routers provide the same information. As long as you have admin access to the router you are connected to, you will be able to glean the IP your Pi is given and subsequently SSH to it without the need for a monitor!

Now you can fire up your favorite terminal application and SSH to this IP with the default credentials.

For example from my Macbook Pro terminal:

MBP:~ n00bamin$ ssh pi@192.168.1.23
pi@192.168.1.23′s password: raspberry

On a windows machine I recommend using PuTTY. Just insert the IP as the hostname and login with user Pi and password Raspberry.

There you have it! No fussing with HDMI cables to your TV or buying extra accessories and now we have full access to get started with our Pi!

24 thoughts on “How To Set Up Raspberry Pi Without Monitor (DHCP, ya you know me!)”

  1. Hey man, thanks for your effort! I have an ICIDU NI-707534 v1 00000000 running firmware 3.12.5 Build 110104 Rel.57776n. And here you can find the DHCP bindings under DHCP > DHCP Clients List next to “raspberrypi” so no need for plugging and unplugging ;)

    1. Thanks Antoine!

      Sorry for the delay in getting your comment up! Been busy at work and working on a few certs…back in action now! Will add your Router to the list!

    1. did you install nmap on its own or get it as part of a pwnieexpress’s distros? Most bare ubuntu or debain installs won’t include nmap, but I will give this a shot.

      This is likely my next tutorial when i have some time, pi running raspberrypwn.

    2. I do something similiar:
      nmap -sn 192.168.1.2-254
      this skips the port scan and also skips the default gateway and broadcast address, usually take about 8 seconds to run on my network.

  2. Hi Everyone,
    FYI, I setup a DHCP server on Windows 8 and SSHed with R-Pi with Putty.
    The steps are:
    1. Download the DHCP server software from http://www.dhcpserver.de
    2. Setup a server with the wizard. It generates a ini file which stores the configuration. Some of the settings like IPBIND can be different depending on your ethernet card. My reference is http://www.linuxcircle.com/2013/05/03/connecting-rpi-to-netbook/ . The ini file generated for me is:

    [SETTINGS]
    IPPOOL_1=192.168.1.10-100
    IPBIND_1=169.254.228.132
    AssociateBindsToPools=1
    Trace=1
    DeleteOnRelease=1
    ExpiredLeaseTimeout=3600

    [GENERAL]
    LEASETIME=86400
    NODETYPE=8
    SUBNETMASK=255.255.255.0
    NEXTSERVER=192.168.1.8
    DNS_0=10.0.0.138
    ROUTER_0=192.168.1.8

    [DNS-SETTINGS]
    EnableDNS=1
    FORWARD=10.0.0.138

    [TFTP-SETTINGS]
    EnableTFTP=0
    ROOT=C:\Users\prith_000\Documents\Masters Course Work\5HC99 – Embedded Vision Control\dhcp\wwwroot
    WritePermission=0

    [HTTP-SETTINGS]
    EnableHTTP=1
    ROOT=C:\Users\prith_000\Documents\Masters Course Work\5HC99 – Embedded Vision Control\dhcp\wwwroot

    3. Connect the Pi to the ethernet and power it up. It must have DHCP enabled.
    4. Open the status page by opening in your browser http://127.0.0.1/dhcpstatus.xml
    5. In that you must see your Pi’s host name in the DHCP client list. Note its IP address.
    6. Open Putty.exe. (Download it from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html).
    7. Add the IP address from the status page. Leave the port as 22.
    8. You must then enter the username and password for the ssh and you are ready to go!
    Thanks for the guide on this page.

    1. Nice work EarthLord! All you windows users take note! (be sure to update the ipPool/Router/DNS settings according to your set up!

  3. Hi man,

    i’m facing problems while looking for DHCP Clients.
    I don’t want to use monitor on any step! i just wrote debian on SD Card, stick on RPi and network on DL-524 d-link router.
    The DHCP option on browser seems not to find the RPi…only shows my PC!!

    can you help me with this?

    thanks in advanced!

  4. the light orange don’t blink, but my router is ok…
    i think the debian has to be configured with monitor before accept network connections…

    1. definitely doesn’t need a monitor to ssh to it.
      did you manage to get it working yet?

  5. i wasn’t able to find the raspi on my web router monitor…
    it seems DHCP don’t give an IP to raspi…
    i don’t have a HDMi then, i gave it back to my friend

    :/

  6. Hi there every one, here every one is sharing such know-how, therefore it’s pleasant to read this web site, and I used to pay a quick visit this weblog every day.

  7. Hey.. Thanks for the information. But I am facing the same issue as eduard. I have motorola SGB router. I could not find raspberry on the DHCP client list. Could that be because, raspberry pi needs to authenticate with router to get an ip assigned?

  8. Thank you for very useful guide!
    However, I got stuck at trying to connect RPi through PuTTy. I was able to track the DHCP connection and entered the IP to PuTTy. But PuTTy fail to connect.
    When I log to router I can see that PuTTy was trying to get to the IP through TCP and 22 port. Should I change anything in PuTTy? What are the right settings?

    1. Hey Aidis,

      Can you ping the Pi’s IP from the computer that you are trying to ssh from???

  9. For the optimum online router (web interface):
    Login to the router at http://192.168.1.1 using your optimum login id and password.

    This will take you to the basic router settings page. Click generate an updated map. You should now see it connected under the Wired item list.

  10. I dnt hv router or extra monitor, what i hv is:
    1. raspi board
    2. SD card with default raspiOS
    3. card reader
    4. a windows/linux machine
    5. Ethernet cable

    what to edit in sd card to turn on DHCP and after steps, so that i can run it in windows environment
    thanks in advance

  11. Another way is to note the MAC address of the Ethernet interface of the Raspberry Pi. The use the command: arp-a
    to find all the devices on the local network. The IP address which has been assigned by DHCP will be displayed next to the Ethernet’s MAC address. From there, we know now how to ssh to the Raspberry Pi.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>