Everdo Network Sync Guide

Hi, I’m quite new to linux. And I’m using Pop_OS! distro which is based on Ubuntu 18.04 LTS. I just got a Everdo Pro on it!

And now I’m trying to make it my Sync Server and my iOS (just installed it) a Clients.

Problems: I don’t know how to:
“Find the IP address of [my] Server computer on the local network”

or which is my Port either.

I have tried different IPs using nmap but all I got was a msg of “Everdo API is down”.

Can somebody help me to discover it? thanks a lot.

You can use ifconfig to find the IP address of the network interface. For example here the IP address is 192.168.1.38

$ ifconfig
enp0s25: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.38  netmask 255.255.255.0  broadcast 192.168.1.38192.168.1.38192.168.1.255
        inet6 fe80::6af7:28ff:fe8d:e825  prefixlen 64  scopeid 0x20<link>
        ether 68:f7:28:8d:e8:25  txqueuelen 1000  (Ethernet)
        RX packets 3918330  bytes 3484500157 (3.2 GiB)
        RX errors 0  dropped 4084  overruns 0  frame 0
        TX packets 2655804  bytes 559113323 (533.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 20  memory 0xe1200000-e1220000

The port you can set to 11111, unless it’s occupied by something else, in which case you can set it to 11112 or anything else.

So the IP address is the address of your computer (server) on the network. The port is the address of the Everdo application on that computer. You can choose any free port, but you should specify the right IP address. If everything is OK, then you should see a green notification when Everdo starts.

1 Like

Still not working. Status: EADDRNOTAVAIL
How can I see if the port is being used somewhere else?

➜  ~ ifconfig
enp7s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.11  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::9647:1c9:4403:3175  prefixlen 64  scopeid 0x20<link>
        inet6 fd30:68e3:d7a1:3:3d30:7677:b865:6c59  prefixlen 64  scopeid 0x0<global>
        inet6 fd30:68e3:d7a1:3:50e2:20c1:ecfb:2f4b  prefixlen 64  scopeid 0x0<global>
        ether 00:e0:4c:68:00:8b  txqueuelen 1000  (Ethernet)
        RX packets 410278  bytes 280483070 (280.4 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 399043  bytes 310279516 (310.2 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 2378  bytes 482901 (482.9 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2378  bytes 482901 (482.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

So this should be the IP address in the API configuration. I’m not sure how to check which ports are occupied. I would just try a few increments. The probability that you have many consecutive non-standard ports taken by other apps is low.

1 Like

ok! now I have my “API is listening” status on my Server

Then I tried to configure my iOS as Client – at Local Network but I got a

Error: communication error

Typically, this indicates a network/firewall/VPN or some other network setup issue. But the network sync functionality has only recently been added to the iOS app. So it might also be a bug.

First, make sure the phone is connected to the same physical network as the server.

Then here’s a test you can use to determine whether the device can access the server. Trying it on different devices on the same network might help diagnose the issue.

1 Like

I just tried the test but got a
Safari cannot open the page because it could not connect to the server.

I don’t use VPN or special firewall. I don’t know (yet) how to do it, but I can try: is it possible that a static IP would solve the issue?
I’m running my Server on a Linux – Pop!_OS based on Ubuntu 18.04 – Dell laptop.

I’ll try other devices but only have androids around.

I can’t find a tutorial to set a static IP that work in my OS

My point is that it is difficult to diagnose this remotely. Your server can be inaccessible to other devices on the network for any number of reasons, one of which is a firewall getting in the way.

A static IP address makes sure that it does not ever change, so you don’t need to reconfigure your server and your devices every time the network connection resets.

Have you tried the method I linked to in the previous post on the server itself, as well as on other devices?

There’s probably a support channel for your distribution. It should definitely be possible to do on any linux computer, but the methods vary. It may be easier to do this at the router level. Some routers have the ability to “fix” the IP address of a specific device. This is usually available in the router configuration app / web UI.

1 Like

If you’re lucky you can use the computer name / hostname because the name does not change even when the ip address changes

I found a way to do this! Now my Server is with a
Static IP 192.168.0.112
And it’s Status is still API is listening (green)
cool.

But on the iOS Client side, although it got confused – like opening with it’s Sync Status OK (green) at Settings – when I go to Setup Sync > Network Settings and click Clean Pull, it gives me back a Status: communication error (red)
And I did the test again and got a slightly different msg:
Safari could not open the page because the server stopped responding.

Can you open the test URL on the server computer, or on any other device on the same network?

1 Like

on my Server computer:

# Your connection is not private
Attackers might be trying to steal your information from **192.168.0.112** (for example, passwords, messages, or credit cards). [Learn more](chrome-error://chromewebdata/#)
NET::ERR_CERT_AUTHORITY_INVALID

On Clients:
iOS Safari:
Safari could not open the page because the server stopped responding.

iOS Chrome:
This site can't be reached
192.168.0.112 took too long to respond.
Try:
Checking the connection
ERR_CONNECTION_TIMED_OUT

Android Chrome:
404. That's an error
The requested URL [...] was not found on this server.

The first message indicates that the server is definitely up and responding.
The iOS message indicates lack of connectivity between the devices.

You can also check if there’s a firewall enabled on your server machine by running sudo ufw status in the terminal. If the status is “active” then the firewall is on and it will block any communication with the computer by default. You’ll then need to configure it to open the port for Everdo.

1 Like

HÁ! IT’S ALIVE!!
firewall was active; I just sudo ufw allow 11114 and now it syncs \o/
thank you very much by your help and patience.

That’s great. Thanks for reporting back, I’m sure this might help other users as well.

Hi, I’m trying to setup my MacBook as the server with iPhone as the client, the server is up n running, configured a static ip, however I’m getting Status Comm error: Could not connect to server …

Have you looked at this page in particular the troubleshooting section?

yeap I did, set up a static ip, restarted the app a few times.

I tried the 4 steps in troubleshooting (when server is up but no connection)

Tried the connection test and my phone couldn’t reach the website

In most cases this means a firewall is blocking requests. Have you tried disabling the firewall on the computer?