Project

General

Profile

Actions

Test Network Connection Between Remote and Instrument Computers » History » Revision 6

« Previous | Revision 6/42 (diff) | Next »
Anchi Cheng, 05/22/2010 11:13 PM


Test Network Connection Between Remote and Microscope Computers

By far the biggest installation problem comes from network connection is block at the microscope computer from the remote computer where the main Leginon program is run. Here is a
test to do before trying to start leginon operation at the remote computer. Leginon bulletin board has a thread that has "various problems and solutions" http://emg.nysbc.org/bb/viewtopic.php?t=7 from users.

Start a Test Launcher on the Microscope Computer

  • scope> go to the location where Leginon is installed, generally
C:\Python25\Lib\site-packages\Leginon\
  • scope> double click on test1.py. You should see something like this:
INFO localtransport server created at location {'instance': <localtransport.Server object at 0x40e614cc>}
INFO tcptransport server created at location {'hostname': 'myscope', 'port': 49152}
INFO <class 'event.SetManagerEvent'> binding added for destination myscope, method <function printData at 0x40e63c34>
ACCEPTING CONNECTIONS AT:  myscope:49152
hit enter to kill

**If the line before last says ACCEPTING CONNECTIONS ...., you have an openned
port on this host.

  • Write down the name of the hose, in this case "myscope", and the opened port, in this case "49152", and proceed to try to connect to that computer from the remote compute in the next step.

Attempt Connection from the Remote Computer

  • remote linux computer> go to the location where Leginon is installed, if not
    remenber, type the following to find out.
start-leginon.py -v
  • remote linux computer> start the 2nd test script with the host name of the
    microscope computer and its open port
remote linux computer/Leginon>test2.py myscope 49152

You should see something like this:

INFO localtransport server created at location {'instance': <localtransport.Server object at 0x2b08e0d43810>}
INFO tcptransport server created at location {'hostname': 'myremote', 'port': 49152}
ACCEPTING CONNECTIONS AT:  myremote:49152
INFO <class 'event.NodeAvailableEvent'> binding added for destination myremote, method <function printData at 0x2b08e0d51c80>
CONNECTING TO:  myscope:49154
WARNING localtransport client add failed
INFO tcptransport client added
INFO server location set to to {'TCP transport': {'hostname': 'myscope', 'port': 49154}}
hit enter to kill

INFO handling threaded
INFO inserted in queue (class NodeAvailableEvent)
INFO <class 'event.NodeAvailableEvent'> handling destination defcon1, method <function printData at 0x2b08e0d51c80>
REMOTE CLIENT RESPONDED:  myscope:49154

If you get the last line "REMOTE CLIENT RESPONDED" with correct hostname and port, the
connection is fine. You can go to next section to test Leginon run on the remote
computer.

.

Problem solving tips

Most likely reason for the failure of the test: FIREWALL

  • The easiest solution is have the involving computers inside the same
    firewall.
  • Alternatively, you can <link linkend="ports_open">open specific ports for Leginon
    system</link> as described in the Leginon bulletin board thread on "network problem, Leginon not seeing
    tecnai host": http://emg.nysbc.org/bb/viewtopic.php?t=7

Another possible reason for the failure of the test: HOST file requirement

<title>Try add the client host in your host file on the main Leginon computer, and vice
versa.</title>
Modify your host file to include the host (Create it if not exist).

  • On Linux, this file is

/etc/hosts

  • On Window XP, this file is

C:\\WINDOWS\system32\drivers\etc\hosts

  • On Window NT, this file is

C:\\WINNT\system32\drivers\etc\hosts


< Test Leginon on the Computer Controlling the Microscope | Run Leginon Client on the Microscope Computer >


Updated by Anchi Cheng over 14 years ago · 6 revisions