Experimental PC
2022 Update
Much of the information in the Experimental PC old page is now out-dated and/or refers to hardware that is no longer in use. This new page attempts to build a modern version, please contribute by adding instructions for software they use regularly.
Back to Linux How-tos
Contents
Extra stuff for all the experimental hardware that might need setting up, for instance in PCs like blanket, carpet, pouffe etc.
The information contained here will also be useful if you want to install any of these bits of hardware on any other Linux PC.
Includes a bit of information about c-scan too.
Pre-install
Scenario 1: inherited PC with working hardware, updating Linux
- Make a list of all the hardware you have (or likely to have) attached to the PC
- From this list, work out which programs/utilities you use
- Most of these will already be installed in /usr/local/bin/
- Work out how to recompile (and re-install) all these programs
- Most will have their source code in /home/scan/source/hardware/
- Save all the configuration files you think you might need
- Most of these will be in /etc/
Scenario 2: Adding new hardware to an already up-to-date PC
- Use this wiki, find the instructions for the relevant hardware
- Any extra configuration files you need (e.g. /etc/stages/IW_stage_origin) - copy off a PC that already has this hardware installed (or you may find a copy in /home/share/backup_system_files/<name of PC> )
Scope (and AFG) utilities
These are the standard command-line utilities to grab traces, save setups etc
vxi11
(Used by Agilent and Tek utilities, and a low-level diagnostic tool in its own right)
- cd /home/scan/source/hardware/vxi11/
- make clean; make; sudo make install
- Installs:
- vxi11_cmd
- vxi11 user library
Agilent scope
- cd /home/scan/source/hardware/agilent_scope/
- make clean; make; sudo make install
- Installs:
- agetwf
- agilent_load_setup
- agilent_save_setup
Tek scope/AFG
- cd /home/scan/source/hardware/tek/
- make clean; make; sudo make install
- Installs:
- tgetwf
- tek_load_setup
- tek_save_setup
- tek_afg_upload_arb
- tek user library
LeCroy scope
VXI11-compatible LeCroy scopes
Anything bought in 2010 onwards (generally black, though we've got one blue one)...
- cd /home/scan/source/hardware/lecroy/
- make clean; make; sudo make install
- Installs:
- lgetwf
PI PCI stage driver
- cd /home/scan/source/dev/pi_pci/driver_2.6/library/
- make clean; make; sudo make install
- Installs:
- pi_save_pos
- pi_recall_pos
- (pi_user library)
- /etc/pi_stage/stage_database/
- cd /home/scan/source/hardware/pi_pci_stage/
- make clean; make; sudo make install
- Installs:
- set_stages_safe
- manual_pci_stage (manual_stage)
- /etc/pi_stage/position_um if it doesn't already exist (default stage position file, all axes at 0)
- /etc/pi_stage/installed_stages - this is the default list of installed stages, which you may need to edit if yours are different:
axis 0 m-531.dd axis 1 m-531.dd axis 2 m-605.2dd axis 3 m-605.2dd
- cd /home/scan/source/dev/pi_pci/driver_2.6/driver/
- make
- sudo ./install_pi_stage_recall
- Installs:
- PI PCI stage device driver
Note: if you see something like the following after the last "make"....:
make -C /lib/modules/2.6.27.45-0.1-default/build M=/home/scan/source/dev/pi_pci/driver_2.6/driver modules make[1]: Entering directory `/usr/src/linux-2.6.27.45-0.1-obj/x86_64/default' make[1]: *** No rule to make target `modules'. Stop. make[1]: Leaving directory `/usr/src/linux-2.6.27.45-0.1-obj/x86_64/default' make: *** [default] Error 2
... it means that you don't have the kernel-source package installed. To fix this:
- sudo zypper install kernel-source
then...
- cd /home/scan/source/dev/pi_pci/driver_2.6/driver/
- make
- sudo ./install_pi_stage_recall
For kernels newer than 2.6.36, I had to make changes to the driver to get it to compile, replacing ioctl with unblocked_ioctl (and also in the BNS driver).
PI USB stage driver
This is a bunch of lines we ran to in order to the usb stages (kinda..) to work. I think the format of udev rules has changed since the scripts were first written and the SYSFS should be replaced with ATTRS. This should fix the problem of the device not being recognised automatically when plugged in.
- cd /home/scan/source/hardware/pi_usb_stage/utils/cmd_line_utils/
- make clean; make all; sudo make install;
- sudo /sbin/modprobe -q ftdi_sio vendor=0x1a72 product=0x1007 (for dc motor controller, product=0x1001 for stepper motor controller)
- sudo ./actually_install_pi_usb
- (maybe run pi_usb_send MN /dev/pi_usb0)
- check if /etc/udev/rules.d/98-pi-usb.rules exists
- cd /home/scan/source/hardware/pi_usb_stage/utils/manual_usb_stage/
- make clean; make all; sudo make install;
- ... restart?
- look at /etc/pi_stage/usb_installed_stages, change stage_model_here to whatever model file you need to use... (axis 0 m-062.pd)
Newport mirrors
Control of the capacitive feedback newport CONEX mirror. Separate scripts for Newport Agilis.
- cd /home/scan/source/hardware/newport_CONEX
- sudo make; sudo make install;
- Installs:
newport_control
ThorLabs APT control components
See ThorLabs apt stages.
c-scan
I had to make a once-only change to blanket's c_scan Makefile, due to going from a 2.4 kernel to a 2.6 kernel (and subsequent change of BNS device driver).
- cd /home/scan/source/hardware/scanner/
- make clean; make; sudo make install
- sudo cp ~sds/bin/cscan /usr/local/bin/
- Installs:
- c_scan
- c_scan man pages
- cscan: this performs a "touch" on the con-file that you're running with c_scan, so you can see the time at which you started the scan, and - by the time stamp on the data file - the time at which you finished the scan.
d-scan
To be written.