With the COVID-19 lockdown in place, I suddenly found myself working from home more than I’d ever done before, from the end of March 2020. I’d worked from home sporadically before, but doing so permanently highlighted some issues with my home WiFi setup. To cut a long story short, I decided to install a Google Nest WiFi setup, to make use of the mesh network functionality, to improve the WiFi coverage in the house.
As a secondary requirement, I wanted the WiFi to extend to the garage, as I’m spending a lot of time there at the moment (see my other blog for more info on that – https://theredmini.co.uk). I was hoping that installing a Google point in the garage would be sufficient and it would have a strong enough signal to pair with the router in the house, though I always suspected that wouldn’t work. I initially ordered a Google Nest Wifi bundle with one router and one point. I set the router up and tried the point in the garage, but the signal wasn’t strong enough for it to work properly. I resorted to plan B; to buy another router/point pack and install the router in the garage, running a network cable from the house to the garage. I could have just bought a router on its own, but I wanted the extra point for the house.
Up until this point, setup of the Google Nest WiFi system had been really straightforward, simply adding devices via the Google Home app. Adding the second router was a bit more troublesome. I’d read up before I bought anything, to make sure that a second router could be added as a slave to the master router in the house, as I figured I’d need to wire a connection to the garage and the Google Nest Wifi points have no wired connection, making another router my only option. I find this a bit annoying, as I’d prefer to use a point in the garage, as it also comes with the Google Assistant, which the router doesn’t have.
Here’s what I’d planned:
On my existing modem/router (a BT Smart Hub), I’d disabled WiFi. I had a wired connection from my BT Smart Hub to a 16-port Gigabit unmanaged switch. I also connected my Google Nest router to this switch. This was enough to get the Google Nest WiFi working, with the points attaching via a wireless mesh network to the Google Nest Router.
I ran a network cable from the house to the garage and connected it to the switch at the house end. At the garage end, I connected the cable up to the new Google Nest WiFi router. This is where my problems began, as when I tried to set up the new router via the Google Home app, I kept getting an error saying there was a “Problem connecting to cloud”.
I thought I must have a cable connection issue, but after going through and validating all the cabling, I figured it must be an issue with having two routers on the same network. I knew this was supposed to work, so I started Googling for a solution. One thing I found on a Google forum indicated that there shouldn’t be any other devices between the primary and slave routers. As mine were connected via a switch, I tried connecting the primary router’s WAN port directly to the BT Smart Hub and the cable from the garage router directly into the LAN port of the primary router. I then tried setting up the secondary router and it worked just fine. The new setup looks like this:
So, the long and short of it is that if you want to add a secondary router, make sure it’s wired directly into the primary router and not via a switch.
One question that I’m left with is what if I wanted more than two routers? As each router only has one WAN and one LAN port, I guess the routers would have to be daisy-chained, so the second router connects to the first and the third connects to the second etc. In my scenario, where my second router is in the garage, that would be very inconvenient, though luckily I’m quite happy with my setup now and have no plans for a third router.
Along the way of trying to figure this out, I found out a few things on my router that could be useful, so I thought I’d share them.
Firstly, although the instructions that come with the Google Nest WiFi tell you to use the Google Home app to set it up, you can also download the Google WiFi app, which gives you a lot more information about your network and allows you to configure it in much more detail.
Secondly, the Google Nest WiFi does have an API, which although fairly rudimentary, can actually be used to glean some useful information about your network and its status.
The Google Nest WiFi router has a default IP address on its LAN port of 192.168.86.1. It then assigns 192.168.86.20 to 192.168.86.250 as a DHCP pool for devices connected to the WiFi. If you try to access 192.168.86.1 via a web browser, you just get a page telling you to download the Google WiFi app, like this:
However, you can access the API at 192.168.86.1/api/v1
There are a number of API interfaces, however most of them aren’t that useful. The two that I found very useful are status and diagnostics-report. For example to get the status, you’d browse to:
192.168.86.1/api/v1/status
For the diagnostics report:
192.168.86.1/api/v1/diagnostic-report
The status output is most useful for telling you about the status of the WAN link (the connection to your broadband router). There’s also a wan-configuration command, but in my case, all it outputs is “DHCP”. Not very useful. The status command output from my router looks like this:
{
“setupState”: “GWIFI_OOBE_COMPLETE”,
“software”: {
“blockingUpdate”: 1,
“softwareVersion”: “12371.71.11”,
“updateChannel”: “stable-channel”,
“updateNewVersion”: “0.0.0.0”,
“updateProgress”: 0.0,
“updateRequired”: false,
“updateStatus”: “idle”
},
“system”: {
“countryCode”: “gb”,
“groupRole”: “root”,
“hardwareId”: “MISTRAL D2C-A2A-A3R-I9R”,
“lan0Link”: true,
“modelId”: “MISTRAL”,
“uptime”: 264189
},
“vorlonInfo”: {
“migrationMode”: “voobed”
},
“wan”: {
“captivePortal”: false,
“ethernetLink”: true,
“gatewayIpAddress”: “192.168.1.254”,
“invalidCredentials”: false,
“ipAddress”: true,
“ipMethod”: “dhcp”,
“ipPrefixLength”: 24,
“leaseDurationSeconds”: 86400,
“localIpAddress”: “192.168.1.120”,
“nameServers”: [ “8.8.8.8”, “8.8.4.4”, “192.168.1.254” ],
“online”: true,
“pppoeDetected”: false
}
}
The first three sections aren’t that interesting, but the “wan” section at the bottom tells me that the WAN port is active (ethernetLink : true) and its IP address, along with the DHCP lease duration, the IP address of the gateway (in my case, my BT Smart Hub) and the configured DNS servers.
More useful still is the diagnostic-report interface. This gives quite a verbose output, which is downloaded as a text file rather than presented in the browser window. This file consists of some text at the top, with a large section of encoded data, then another text section at the bottom.
The text at the top has a couple of interesting, if not all that useful bits of info, including the OS version (it runs Chrome OS) and some memory utilisation stats.
The text at the bottom of the file is more useful. There, you’ll find all kinds of things, like the settings for the intensity of the LED, to the results of the last Internet speed test. The most useful bit, to my mind is the station_state_updates section. In here, you’ll find a station_state_update stanza for each of your connected devices. An example from my network is the device that I’m writing this on:
station_state_update {
station_info {
station_id: “4023513E232F5AEEFE281E7E736ACEFCC5F6C900EB3ED0584652B2F3A16DCFF0”
mdns_name: “Neils-MacBook.local”
connected: true
ip_addresses: “192.168.86.42”
wireless: false
dhcp_hostname: “*************”
wireless_interface: NOT_APPLICABLE
taxonomy_ids: “0C41635CF7F17F33A75EACF1CF0B97D0D7566E2B5D59C965DC415791AAB99D91”
dns_sd_features {
key: “Neil\342\200\231s MacBook._device-info._tcp.local”
value: “model=MacBook9,1”
}
last_seen_seconds_since_epoch: 0
oui: “a8667f”
guest: false
os_version: “”
device_model: “”
os_build: “”
}
}
There’s all sorts of useful info in there, including the name of the device, it’s assigned IP address, the time it was last seen active on the network and interestingly, some fields for OS version information, which aren’t populated on any of my attached devices.
Below the station_state_updates section is all sorts of info about the DHCP pool, any DHCP reservations, DNS servers, Quality of Service (QoS) configuration, content filtering, WiFi radio info (including channel numbers), mesh network info and all kinds of other stuff. Most of it not that useful, but interesting to poke around.
One thing that does still bug me about the whole setup is that if you want a wired connection, your only option is the router, which doesn’t have Google Assistant capability. I would have preferred to use a point in the garage, rather than a router, so I’d have the Google Assistant available. It would be quite handy to simply ask a question and get an answer, rather than having to use my phone with mucky hands from working on the Mini! Unfortunately though, I’ve had to use a router in the garage, as that’s the only way to get a wired connection. I could, of course add a point in the garage, which would connect via mesh to the router, but we’re getting into expensive territory at that point.
I guess Google have to build these things to a price and adding a wired network port to the point would have increased the cost slightly. It would also have made the design more difficult, as a network port would have got in the way of the speaker on a point a little bit. I’d rather Google offered the option of a wireless only, or a wired point, even if it were a little more expensive, though I guess that would involve a whole lot more manufacturing and made the product line-up more complicated.
Still, I’m pretty happy with the setup I’ve got now, even if I’m still missing Google Assistant capability in the garage.