Helium: Setting up, troubleshooting relayed hotspots, maximizing rewards, antenna kits, etc

Properly setting up your helium hotspot to maximise earnings


Getting relayed or disappointed with the low rewards you're getting with your helium hotspot? Let's investigate what might be wrong.


We start of with a picture of what we want to achieve:






1. You forgot to call your ISP to give you a public static IP address.


This first item is not related to relaying, but will affect your rewards greatly anyway so let's dig in.


What's going on

Let's give a little background. Your miner periodically broadcasts your public IP address to everyone else. This is the one you get if you type:  "what's my IP" in google (Example)


Now the problem is that this broadcast of your public IP address takes up to 24 hours for it to be passed around all the miners. Many ISPs out there will give you a non-static public IP, meaning that once every few hours, this IP will change. So this implies that for a few hours every day, existing miners will try to contact you on an old IP address where you're no longer listening.


How to determine if this is affecting you

You have two ways of figuring out if this is happening to you, either by running the miner software locally or else by typing commands to a discord bot on HeliumHiker at https://discord.gg/SWUsqZkZWt


Here you can use two main commands: !peerbook your-hotspot-name and !peerping your-hotspot-name.


Let's see what !peerbook throws up for a valid random hotspot:





Take note of the listen_addr table. That ip address there, 178.30.78.85 must always reflect what your public ip is (typing "what's my ip" in google as above). If it's different, then it's a sure sign that at one point your public IP has changed. 


Fixing it


The simple way to fix it is to call up your ISP and ask for a public IP address, unfortunately they might charge you for this though usually it's a nominal amount.


2. You forgot to setup your ISP router properly


Ok so now from the the section above we have made the other hotspots reach you, meaning they now know how to reach the modem/router that was provided to you by your ISP.

But wait! What should your router do?  


2.1  Firewall


The first thing your router can do is to decide to throw away incoming traffic. This is less silly than it sounds, for there are security implications in letting unauthorised traffic in. Your router will thus often have a set of rules to let you control this. Not all routers offer the same power, some will have some basic global settings: "turn firewall off", "full security", "medium security" and so on like this arris router:



 Others will let you have full control:




In either case you want to be able to tell your router 1 thing: if you see traffic coming INBOUND from ANYWHERE having a TCP port set to 44158, don't block it.


2.2 DHCP reservation


Ok so now your firewall is no longer blocking your packets, so it can thus forward (or "route") that incoming packet to some connected device.

Let's make it give it to one of the devices connected to your router. Now which one is this? Your iphone? Your printer? Ah you wanted your miner. Ok what address is that? 


Every time your miner connects to your router, and periodically thereafter, it gets a new private address from an ip address pool ( "dhcp pool").   Sounds familiar? This is exactly the same thing happening with your public IP address as described in the previous section.

How does that work? 

Each connected network device interface has a unique address (the MAC address, which looks something like: 01:31:00:a4:2b:cc). Your hotspot router probably has two of these, one for WiFi and one for Ethernet; you can find these in your Helium app but they're often also printed on a sticker attached to your hotspot. Here's an example (take note of Wi-Fi MAC and Ethernet MAC values)


 


To continue our story, you therefore need to tell your router: hey if you see this device connecting to you, give it this always fixed private IP instead of a random one.


You do this by going to your router, hunt down the feature named "DHCP reservation" or "home network" or "static address" or whatever your router UI gives you and you feed it two pieces of information: the mac address of your device and a private IP address that is usually something like 192.168.0.123. Here's how it looks in an arris router:





After you've set it, reboot your helium miner and via your helium app under diagnostic you should see the same private address that you told your router to assign.


2.3 NAT port forwarding


Your final step is to tell your router: if anyone talks to you with port 44158 go give it to that fixed private address, in other words your router needs to be told to forward anything it gets on its public IP address on port 44158 to the known private address of your hotspot.

Here's how it looks like in my router, whatever your router's UI looks like, the main bits of information will be the same: if it sees incoming traffic on TCP port 44158, forward it onwards to the same private IP that we previously chose.





2.4 Putting it all together

Let's review what's going on: 
  1. Your router on the internet remains at a known fixed public address because you told your ISP to keep it unchanged.
  2. Your hotspot on your internal network remains at a known fixed private address too because you told your router to always give the same address to a given MAC address.
  3. Your router's firewall is told to let in TCP packets on port 44158
  4. Your router is told to forward any TCP packets on port 44158 to your device set in step 2 

That's all you require. Do NOT open ports 22, 443 or setup DMZ ("forward everything" which implies security headaches). UPnP is meant to do this port forwarding step automatically, but there are many broken implementations so usually the recommendation is to disable it.

3. Checking that you're fine


Let's check that we're all setup fine. A quick and dirty way is to go on http://portchecker.co and put in your public IP address + port 44158:



If it says Port is open, you're doing great. If not, you must have messed up something in your network configuration. 

A stronger way of making sure everything is fine is to go on HeliumHiker bot (see above) and type !peerping your-hotspot-name.


If it manages to connect, you're good to go and the word "relayed" should go away from your app in a couple of hours. You should also make sure that in the peerbook command as shown above, "non" appears under the nat column indicating you're no longer relayed and that you have the listen_addr table printed out too.


What else can I try?

Still cannot get it to work? Double check settings and if you cannot find anything wrong, start off by checking that your miner is actually listening to port 44158 in the first place.

On a mac via network utility:



On Windows you may use Powershell to get the same thing by typing:
Test-NetConnection -ComputerName 192.168.0.99 -Port 44158 

where 192.168.0.99 is whatever private IP you previously assigned (see above).

If your miner seems to work, but port forwarding doesn't, you might want to try a simpler server utility to bypass your miner entirely. For example on a mac you might type:

nc -l -v 44158

to give you feedback if something managed to connect to you. This allows you to go from router to your PC instead of router to your mostly inaccessible miner. 

Similar commands are available for windows (search for "netcat").


4. Antenna Notes


If you are in this section, it hopefully implies your network is fine. Next, you want to figure out why your desired rewards are low. First let's look at what healthy activity looks like from the app:




That "10" at the end implies that this hotspot sent out a beacon, and 10 other hotspots got the signal. Here's an unhealthy one where no one managed to listen in:



The best case scenario is getting 4 witnesses in terms of awards, the max witness count is capped at 25. However more hotspots around you mean you listen in to more of them, therefore you get more witnessing but a lesser reward from each.  

Then there's a question of scaling whereby if you're sharing the same hex with someone else it means you're splitting your reward with that someone else.  Zoom in on London and you will see something like this:




Any green hex with a number in it means that any reward that are received will be divided by the number of hotspots in that hex. Therefore to maximize rewards, you should try and place your miner in a vacant (non-green) hex.

The rules are thus as follows:

  • If you're beaconing (transmitter), the more witnesses to your beacon, the more you earn.
  • If you are witnessing, each additional witness past 4 reduces what is earned by each witness
  • If the transmitter is in a hex where there are other miners, you will get less

That translates to: try and get your antenna reach as many other witnesses as you can and make that miner be in a place where there's no other miner around.

Ok so if you've made it till this point and decided your antenna isn't strong enough, you might considering upgrading. First thing to be aware of is how signal strength affects your reach as shown in the following images:









Ok, cut to the chase, what should you buy?
  • If you're in a crowded city with no line of sight, your 2-4 dbi antenna is probably fine and you should aim to place it as high as you can. Ideally whatever you have already, try placing it a) outside  b) high up  c) avoid obstructions
  • If you have line of sight and need a longer range then generally 5.8-8dbi should be fine. 
I personally went from my stock Bobcat 4dbi to a 6.5 dbi and greatly improved my daily income (currently around $30/day at time of writing):

Mikrotik 6.5 dbi:  Link for EU    ( Alternate antenna for US people )


You probably also want to have a cable to go for it.  Now in order not to loose signal strength you want to be getting a thick LMR-400 cable (like this if you're in the US or try the site where I got mine via https://mcgillmicrowave.com/ ).


Don't go for long cable runs (stick to 5m/16ft) or you'll loose too much signal strength. Instead bring your unit closer to your antenna. 

Depending on your cable and hotspot, you might need some adapters (I used this from EU, or go for this if you're in the US to just get all the possible combinations that you might have).

Occasionally you might need to reset your box. Unless you feel like going up the roof each time, you may use a smart power plug. I use a Meross plug which lets me turn the device via a mobile app or Alexa/GoogleAssistant (US plug or EU plug or UK plug). Another option is this cheap TpLink plug.



Concluding remarks


Once you understand what's going on, it's not terribly difficult to figure out what to do to fix. Hopefully this post has given you a stepping stone.

Send your feedback or describe what other issues you might have in the comments section below. 


Comments

Popular posts from this blog

PlanetWatch FAQs