My Unifi US-16-XG switch was offline. It was still functioning correctly, but it was not in contact with the Controller.
I wasn’t sure how to fix this, but this blog post shows what I now think should always work. It consists of two steps:
- Get the switch talking to the Controller
- Make the above change permanent
The key point to remember: the Controller is always the voice of authority when it comes to your Unifi configuration.
Get the switch talking to the Controller
I connected to the switch via a serial cable. Then I used screen to connect:
screen /dev/tty.usbserial-FTE1VN5U 115200
I’m doing this from my MacBook with OSX 10.13.2, so the command and device you use may vary.
Once connected, I logged in
US-16-XG-01 login: dan Password: BusyBox v1.23.2 (2018-01-04 15:00:45 MST) built-in shell (ash) ___ ___ .__________.__ | | |____ |__\_ ____/__| | | / \| || __) | | (c) 2010-2018 | | | | \ || \ | | Ubiquiti Networks, Inc. |______|___| /__||__/ |__| |_/ http://www.ubnt.com Welcome to UniFi USW-XG! US.v3.9.19#
Let’s display the current status:
US.v3.9.19# info Model: USW-XG Version: 3.9.19.8123 MAC Address: f0:9f:c2:08:f1:17 IP Address: 10.52.0.182 Hostname: US-16-XG-01 Uptime: 135044 seconds Status: Unknown[11] (http://10.55.0.131:8080/inform) US.v3.9.19#
Of note: That is the expected IP Address but the Unknown value beside the expected URL for the controller is not good.
Let’s see if we can ping the controller:
US.v3.9.19# ping 10.55.0.131 PING 10.55.0.131 (10.55.0.131): 56 data bytes ^C --- 10.55.0.131 ping statistics --- 2 packets transmitted, 0 packets received, 100% packet loss
No. OK, let’s go a little deeper.
US.v3.9.19# telnet localhost 2222 Warning! The changes may break controller settings and only be effective until reboot. (UBNT) >
You need to hit ENTER twice after that telnet command.
Now let’s see the network:
(UBNT) >show network show network Interface Status............................... Up IP Address..................................... 10.52.0.182 Subnet Mask.................................... 255.255.255.0 Default Gateway................................ 10.52.0.1 IPv6 Administrative Mode....................... Enabled IPv6 Prefix is ................................ fe80::f29f:c2ff:fe08:f117/64 IPv6 Default Router............................ fe80::20d:b9ff:fe33:8716 Burned In MAC Address.......................... F0:9F:C2:08:F1:17 Locally Administered MAC address............... 00:00:00:00:00:00 MAC Address Type............................... Burned In Configured IPv4 Protocol....................... None Configured IPv6 Protocol....................... None IPv6 AutoConfig Mode........................... Disabled Management VLAN ID............................. 7 (UBNT) >
There is the problem. The Management VLAN ID should be 2, not 7.
Let’s try VLAN 2 instead. That is what my other switch is using.
(UBNT) >enable enable (UBNT) #network mgmt_vlan 2 network mgmt_vlan 2
The enable command is to “Enter into user privilege mode” (see the output of the ? command for more commands). Then I change the management VLAN.
Current status is:
(UBNT) #show network show network Interface Status............................... Up IP Address..................................... 10.52.0.182 Subnet Mask.................................... 255.255.255.0 Default Gateway................................ 10.52.0.1 IPv6 Administrative Mode....................... Enabled IPv6 Prefix is ................................ fe80::f29f:c2ff:fe08:f117/64 IPv6 Default Router............................ fe80::20d:b9ff:fe33:8716 Burned In MAC Address.......................... F0:9F:C2:08:F1:17 Locally Administered MAC address............... 00:00:00:00:00:00 MAC Address Type............................... Burned In Configured IPv4 Protocol....................... None Configured IPv6 Protocol....................... None IPv6 AutoConfig Mode........................... Disabled Management VLAN ID............................. 2
There, we have the correct VLAN, and *now* we can ping the Controller:
(UBNT) >US.v3.9.19# ping 10.55.0.131 PING 10.55.0.131 (10.55.0.131): 56 data bytes 64 bytes from 10.55.0.131: seq=0 ttl=63 time=1.554 ms 64 bytes from 10.55.0.131: seq=1 ttl=63 time=1.231 ms ^C --- 10.55.0.131 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max = 1.231/1.392/1.554 ms
Now let’s show the info:
(UBNT) >exit exitConnection closed by foreign host US.v3.9.19# info Model: USW-XG Version: 3.9.19.8123 MAC Address: f0:9f:c2:08:f1:17 IP Address: 10.52.0.182 Hostname: US-16-XG-01 Uptime: 135419 seconds Status: Connected (http://10.55.0.131:8080/inform) US.v3.9.19#
Good, it is connected to the Controller, as confirmed by the Devices page in the Controller.
Next step: make this permanent.
Make the above change permanent
The next step, to ensure this sticks, is to update your controller settings for this switch.
This screen shot shows the status after I changed Management VLAN from Server to Management. At the top of the page, the DEVICE WITH PENDING CHANGES notice reflects that status.
Once I clicked on QUEUE CHANGES, the switch was reprovisioned.
I then restarted the switch to make sure the settings had taken.
After a recent upgrade, my US-48 switch had the same problem. The above helped me fix it.