Setting up Octopi on linux laptop


#1

I am attempting to set up octoprint on an old i386 laptop that I have that is currently running Ubuntu. I would like to have my printer plugged into this laptop and be able to access it from my main computer or hopefully an iPad. I have tried flashing an Octopi image to a flash drive using win32 disk imager (also tried etcher) and booting the laptop from the flash drive but it seems to not be working. The laptop stays on a black screen with a blinking cursor in the upper left hand corner. Attempting to ping it on octopi.local does nothing and the laptop does not show up as a device connected to my network. I have tried using WiFi by configuring it in the networking text file to no avail. I have also tried a wired Ethernet connection with no luck. Any help would be much appreciated.


#2

Hi @Casey!

The OctoPi image is, as the name implies, only for a Raspberry Pi.
But you can try this. It's for Raspian but should work for Ubuntu as well


#3

The Linux source install is a pretty deep dive for someone new to Linux but well worth it. I have built 3 new x86 based Octoprints to get away from the RPI and the performance bottlenecks. No more pauses in prints and timelapse renders in light speed in comparison which is to be expected. You can get a Lenovo small form factor computer or an HP Thin Client that will run circles around the RPI for a few dollars more than the Pi 3b+/Case/Power on ebay. I set all 3 up with Ubuntu 18.04 enabled wake on lan so I can shut them down all the way, wake them, connect to printer and print while never touching the Octoprint computer.


#4

Are there any good resources that would walk me through what it takes to get it to wake on lan and connect to the printer?


#5

Not really any guide that I have found. Take 1 step at a time. Make the computer run under linux first then follow the install of Octoprint above. If the laptop supports wake on lan that is not "too hard" to achieve. Not all do but WOL will be referred to in the power section of the BIOS if it does. A 386 laptop is gonna be pretty busy with a modern linux on it maybe too busy not sure.


#6

So I setup Octopi as per the instructions for raspbian. I got through to the step where you start the octoprint server. It seems to start but I cannot access it through octopi.local or the ip of the laptop. I know I must be missing something but I'm pretty new at this and I don't really understand whats going on under the hood. What can I try to get it working? I attached an image of the terminal after starting the octoprint server. The screenshot shows the end of the terminal. I just stops after that last line and doesn't do anything else. I assumed it was running.


#7

That "Listening on..." line looks a little suspicious to me, as if it's only listening on the IPv6 side of things.

In another console window, try running ~/scripts/welcome and see what it says.


#8

Running ~/scripts/welcome only said no directory found. There was no scripts folder that I could find. Maybe just looking in the wrong place? Also I attempted to start octoprint while connected via ethernet and still no luck. Just to double check all I should have to do is type
~/OctoPrint/venv/bin/octoprint serve
and octoprint should start working and be accessible via the ip of the laptop right?


#9

My listen line is the same as above (2018-12-22 02:44:05,137 - octoprint.server - INFO - Listening on http://[::]:5000) HTTP connection would be to http://your_ip_here:5000 if you have not setup haproxy which is a bit later in the instructions I believe.


#10

My bad, that's a script that's supplied by Guy as part of the OctoPi image. We're trying to see what OctoPrint is listening on. On a Pi install, you get this each time you remote in with ssh, for example, and it will indicate a few things which are nice to know.

~/scripts/welcome

#!/bin/bash

_NAME=$(hostname)
_IP=$(hostname -I)
_OCTOPRINT_VERSION=$(/home/pi/oprint/bin/python -c "from octoprint._version import get_versions; print(get_versions()['version'])" || echo "unknown")
_OCTOPI_VERSION=$(cat /etc/octopi_version || echo "unknown")

echo
echo "------------------------------------------------------------------------------"
echo "Access OctoPrint from a web browser on your network by navigating to any of:"
echo

for name in $_NAME;
do
    echo "    http://$name.local"
done
for ip in $_IP;
do
    echo "    http://$ip"
done

echo "------------------------------------------------------------------------------"
echo "OctoPrint version : $_OCTOPRINT_VERSION"
echo "OctoPi version    : $_OCTOPI_VERSION"
echo "------------------------------------------------------------------------------"
echo

So run hostname -I and tell us what it says.


#11

It turns out it was working I just wasn't accessing it correctly. I didnt know I needed the :5000 after the IP. I knew I was missing something simple. Thanks for the help it's all working now.