Two Workarounds To Try if Your Chumby Stop Responding to ssh Commands

When I use ssh to access my Chumby from my Windows 7 machine, the shell stops responding after about 30 minutes. The problem is sometimes accompanied by either a “Write failed: Broken pipe” message or a “Network error: Software caused connection abort” message, as shown in the following screen shot:

The Chumby appears to freeze, but it is actually still running: I can access it from a Linux machine.

After a bit of searching, I discovered that other people have this problem too. The cause of the problem is that Windows has forgotten about the Chumby. You can use two techniques to work around this problem: enable keepalives or add a static arp entry.

Technique One
If you use PuTTY, a free terminal program, try enabling keepalives. In the Connection options, enter a nonzero value in the keepalives field, as shown in the following screen shot:

I have found that a value of 60 seconds works well.

Technique Two
If you don’t use PuTTY or technique one doesn’t work, try adding a static entry to the Windows arp table. To add a static arp entry, follow these steps:

1. Record the MAC (hardware) address of your Chumby. If you can log in to your Chumby by using ssh, you can find the MAC address by running the Linux ifconfig command. The MAC address will be listed in the HWaddr field. If you can’t log in to your Chumby, press the button on the top of your Chumby, click SETTINGS, and then click CHUMBY INFO. The MAC address is listed in the middle of the screen.

2. On your Windows machine, start a PowerShell by clicking Start->Control Panel>Administrative Tools->Windows PowerShell Modules:

You can also use a regular command window, but I prefer the PowerShell because it has more Linux-like commands, such as history.

3. In the PowerShell, enter the following commands highlighted in bold:

C:\Windows\system32> netsh interface ipv4 delete arpcache

C:\Windows\system32> netsh interface ipv4 add neighbors "Local Area connection" ChumbyIPAddress ChumbyMACAddress

Replace ChumbyIPAddress with your Chumby IP address, and replace ChumbyMACAddress with your Chumby MAC address.

For example, on my machine, I enter the following command:

C:\Windows\system32> netsh interface ipv4 add neighbors "Local Area connection" “192.168.1.100”  "01-23-45-56-78-90"

The entire command needs to be on one line; it’s split into two lines in the above examples to improve readability.

Note: On Windows, the digits of the MAC address are separated with a “-” character even though they are separated with a “:” character on Linux.

To verify that the arp table includes the newly added IP address, enter the following command:

C:\Windows\system32> arp -a

Finally, try to ping your chumby:

C:\Windows\system32> ping ChumbyIPAddress

Replace ChumbyIPAddress with the IP address of your Chumby. If the ping responds with data, you should now be able to ssh to your Chumby and stay connected for many hours without interruption.

Further Reading

●     You can find PuTTYhere: http://www.chiark.greenend.org.uk/~sgtatham/putty/.
●     A basic explanation of how arp works on Windows can be found at http://www.petri.co.il/csc_arp_cache.htm.
●     This post on the Chumby forum discusses the arp technique.

Comments are closed.