Linux Device Troubleshooting Guide
The first thing you should always do when troubleshooting a device running a Linux OS is to try establishing a connection to it via Device Management.
What questions should I be asking?
How is it not working? What is the problem?
What is the error message?
What available tools can be used to diagnose the issue?
CTRL + ALT + F9 (keyboard plugged into the device locally) – This is the most powerful tool you have at your disposal if you cannot establish a connection to the device. This keyboard shortcut displays all network information the device is currently configured with.
systemctl restart display-manager – restarts the application
It’s always useful to be able to restart the application without having to reboot the whole device. If a change has been made and you’d like to see if FullCount loads correctly give this a try.
reboot – reboots the device. This will kill your connection to the device.
ping command – sends packets of data to another host to elicit a response
This is a basic network communication test that FullCount Support should always exercise when troubleshooting an application problem – this is because pinging the host location URL gives us an idea of how well a device can communicate with our application or another host. Anything greater than 0% packet loss can be concerning as well as spikes in packet latency.
To execute this command, simply type ping followed by a destination host (a printer, a terminal, our domain, etc).
Examples:
ping 192.168.11.20
ping google.com
Here is an example of a ping test getting a response back from its destination:
If you are unable to communicate with the host you’re sending packets to, you might see the command “hang” or give this output:
Keep an eye on the last column of each received packet – this tells us how long the packet took to get to its destination and back. If you see sustained spikes of +200 ms then that could indicate sluggish/slow application.
nslookup command – queries internet domain name servers
All of our POS devices will require the use of a DNS server to run the FullCount Touchscreen because we are a web-based application. Without functioning DNS the application will not work because it will not be able to find our application on the web. Most equipment will be set up with redundant DNS configurations so when the primary DNS server fails the secondary DNS will kick in. This seems great, however, it is not uncommon to experience application issues when only the primary DNS server is down anyway. Furthermore, if the secondary DNS server is carrying all the weight then you can expect a slow/sluggish application because the primary DNS will continue to be used and will always fail before the secondary DNS steps in.
To execute this command, simply type nslookup followed by the domain you are trying to resolve. If you’d like to specify which DNS server you’re using for the query then add the IP address of that server after the domain.
Examples:
nslookup google.com
nslookup moen.com
nslookup portal.fullcount.net 8.8.8.8
Here is an example of positive standard output for nslookup:
The DNS server resolves the domain portal.fullcount.net to the address of 208.69.145.98, which is correct. This output also tells us that the server used for the query was 192.168.11.2 which is the primary DNS of the device used in the screenshot – everything here looks good.
Keep an eye out for standard output where the secondary DNS is the server that was used for the query – this would likely mean the primary DNS server is failing. In this scenario, you could try nslookup portal.fullcount.net [primary DNS] to see what results you get.
Here is an example of a standard error for nslookup:
This isn’t good. To verify we don’t have a hardware failure or local network issue you should try using Google’s public DNS, 8.8.8.8, to resolve portal.fullcount.net to ensure that the domain can be resolved from the device at all.
ssh – secure shell; establishes a secure tunnel between you and the host if you are attempting to connect to which allows for remote control of the device.
Device Management establishes SSH tunnels through a UI which makes it convenient to connect to a community’s devices. There are instances though where you might not be able to connect to a device via a requested connection but you are able to ping the device from a device that you did get a successful connection to. In these situations, try to SSH into the device using the ssh command. Simply enter the IP address of the host you want to connection and type yes followed by pressing Enter to get through.
arp -n - used to obtain MAC addresses
The arp command displays a table contains MAC addresses of recently pinged devices on the local area network. This command is helpful for checking if an IP conflict has occurred or simply verifying that the IP address you've pinged is the device you think it is.
arp -n