Device servers are presented here


Device Server Errors

When an error occurs due to a device server, the error message itself points you to which device server is causing the problem, and sometimes to which 'lid' the device server is running on. This information is contained in the text between quotation marks in the error message, e.g. :

Can't import "id14/calc/eh1".
Device has not been fully imported yet, (hint: start the device server) (8).

The device server in error here is CalcServer on EH1, so it is on hpcc12.

esrf_io() server error.
Error on "id14/wcid147b/wc" sending DevReadNoCachePhys.
GetTCPResponse(): error getting response, slave device failure (hint:check the module hardware)

The device server in error here are the Wagos (wc) and they are running on lid147.

Error moving motor on motor 3, unit 0, "gonz".
Error on "id14/galil145/1" sending AxisMove.

Driver: DMC board error (5/11/0:1).
Specifically: 2 Begin not possible due to limit switch.
Error starting motor 3, unit 0, "gonz".
Motion canceled.

The device server in error here is the galil running on lid145.


Restarting a Device Server

On the NETHOST computer (if unknown try echo $NETHOST), logged as blissadm, you may find where the device server (DS) should run with :

> taco_db devinfo servername

servername is for example id14/calc/eh1 that you get in spec session between the quotation marks.



1) To check device server status, open an xterm on the computer on which the DS in question should run (see below*) and type :

> bliss_dserver status

You would see something like:

Wagods: id145
MaxeVpapds: Lid145_90 Lid145_91 Lid145_92 Lid145_93 Lid145_94
galil: lid145
falconDS: lid145
Serialds: sl145_0
Vct6Card: lid145
Hook: Hook_90
oxford700ds: cryo-eh2
CryoSpyds: id14eh2

To stop and restart a DS, for example, the galil type:

> bliss_dserver stop galil
> bliss_dserver start galil


> bliss_dserver restart galil

e.g. for the falcon DS,

> bliss_dserver restart falconDS

and so on.

* This operation may be done on the beamline control PCs as opid14/23/29, i.e. by simply opening an xterm. For the DSs running on the lids, you must log onto the lid as blissadm.

REMEMBER : Any time you restart a device server, WHICHEVER one it is, remember to do a "reconfig" in Spec. Otherwise Spec doesn't know that the DS has been restarted! You may sometimes also need to restart the data collection GUI (e.g. if falconDS is restarted).


For Phi Control (galil)

For phi, if restarting galil Device Server doesn't work, stop galil then go to blue cupboard where galil is found and switch hardware off at back using big red lit button. Switch off, wait 5 secs, switch on and then restart the galil DS.

Anytime you restart the galil, once you have typed reconfig in Spec you MUST type "phi_init" also in Spec. This re-initialises the reference position of phi to allow for the 3-click centering.

More details can be found on the the Mini-Diffractometer solutions page.


For Detectors

For the ADSC device servers, click ONCE on the "Restart Detector Software" icon on the beamline control PC desktop. Or log on the machine where the detector device server should run as blissadm. Then type to stop the device server of the detector. After a while run to restart it. You could find more troubleshooting there.


For Sample Changer


For the Sample Changer device servers (Tango), these run on the SC control PCs which are generally found in the beamline experimental hutches. To restart the SC device server, unlock the SC GUI (click simply on Unlock, no password) and click on the menu "Devices" and then on "Start Device Server". Remember to relock the SC GUI afterwards, "Devices" - "Lock Local GUI".


For MicroDiff (for minidiff see phi control -Galil-)

For the microdiff device server(Tango) on ID14-3, simply quit the microdiff software and restart it - this automatically starts the device server.


Advanced troubleshooting :

In some cases above advices are not efficient. Here is some commands that could be run by the Local Contact or an Expert users to help in troubleshooting.

  • Sometimes when stopping device servers, bliss_dserver fails to stop the servers. In the output of the bliss_dserver command you will get the PIDs of the servers you are trying to kill and the message Failed! in bold. So copy and paste the PIDs after the dangerous command hereafter : kill -9
  • If you wonder if the device server itself has a problem (It crashes after starting), you may need "bliss_dserver -fg " command instead of the usual bliss_dserver. Then all the output of the device server are redirected to the terminal.