Trouble Shooting

Emotion for SPEC users

The MASSIF-1/3 and ID30B endstations use the new python software e-motion instead of SPEC (in use on the endstations of ID23 and ID29) for the low-level hardware interaction. Thus, there is no session like SPEC(OH) and SPEC(EH) that has to be running for a regular user experiment, because mxcube now talks directly to the hardware.

If you need to issue commands via emotion, there is a web interface available ("khoros" in the browser), which requires the "beamline control web server" to be running. Try hitting "Reload" in the browser if you get an error message.

And again, for the normal operation of mxcube, this beamline control server is not necessary.

The e-motion syntax (python!) is somewhat different of SPEC, for example:

e-motion SPEC
sampx.position() wm sampx
sampx.move(0.01) mv sampx 0.01
sampx.rmove(0.01) mvr sampx 0.01
minidiff.full_init() minidiff_init / microdiff_init
minidiff.omega_init() phi_init
detcover.set_in() detcoverin
print_position()  --
print_tablepos()  --


Goniometer axis (omega) does not turn

Sometimes the goniometer axis ("omega") does not rotate anymore. This causes various symptoms, e.g., problems during centring or sample (un)mounting. To test, simple try to turn the omega axis in mxcube by 90 degrees. If this works, the omega axis is OK.

If not, do the following to revive it:

1.) Start the "device servers" application from the start menu: 




Near the bottom, under "emotion_server", there is a line "id30a3". Right-click on this line and select "kill", then wait until the line turns red (you'll have to select another line to see the color of this entry). Then right-click it again, and select "start".

2.) Close the "Beamline control web server" terminal window by typing Control-C.

3.) Start the "Beamline control web server" from the Start menu.

4.) Go to the "bliss" tab in the web browser, and reload the page if the tab is already open, or open a new bliss tab from the Start menu or the bookmarks bar. In this bliss tab, type the command: minidiff.omega_init()

...and now the omega axis should be working again. Restarting mxcube is usually not necessary.


Discrepancy between position and dial

If during minidiff.full_init() there is an error about "discrepancy between dial and position", for example for the omega axis, set the position to the dial value by typing this command in the bliss tab:


(replace "omega" by the name of the motor in the error message)

...and then reinitialize the motor with this command (in the bliss tab):


...or simply repeat the minidiff.full_init()


Eiger detector does not record images

First check if the omega axis rotates properly (e.g. by turning it by 90 degrees with mxcube). If it does not, follow the procedure described above ("Goniometer axis (omega) does not turn").

If the omega axis works properly but the Eiger detector does not record images (or only some of the image files are visible), ask your Local Contact to try the following actions (listed in increasing order of aggressiveness):

  • Close the "EIGER CONTROL" window, and restart it with the "Start detector software" entry in the start menu.
  • Try in mxcube if this solved the problem.
  • If not, go to the web page of the Eiger detector by typing the address "lid30a3eiger1". There, go to "System settings", and then (in the menu on the left-hand side) click on "Eiger" and then on "DCU-Control". In the list of commands, click on "Restart DAQ", and wait until it is finished. Be careful NOT to click on "Reboot" or "Poweroff" (yet)!
  • Try in mxcube if this solved the problem.
  • If not, go to "Commands" on the Eiger web page and then click on "command/initialize" and wait until it is finished (about 2 minutes).
  • Try in mxcube if this solved the problem.
  • If not, go to "DCU-Control" on the Eiger web page and click on "Reboot" (takes about 10 minutes). Afterwards, close the "EIGER CONTROL" window, and restart it with the "Start detector software" entry in the start menu. 
  • Try in mxcube if this solved the problem. Note that the first images recorded after a reboot take much longer, because the detector automatically does an initialisation (see above), which takes 2 minutes.


No beam because monochromator motor is off

If you slowly (over one or two hours) lose beam intensity until the beam in mostly gone, check whether the msi_th motor in the IcePap rack in front of MASSIF-1 is on (green LED). The Beamline Status Overview application also checks this motor. If it is off, switch it on with the small "enable" switch.

Then do a Center Beam, and repeat this after 30 minutes or so, because there might be some thermalisation drift if the motor had been off for an extended period of time.