CHAMP:Manual: Difference between revisions
Monnierast (talk | contribs) No edit summary |
Monnierast (talk | contribs) No edit summary |
||
Line 276: | Line 276: | ||
make install | make install | ||
reboot | |||
Now with lsmod you should see an extra module: | |||
astropci 10944 0 | |||
I have not figured out how to create the node /dev/astropci automatically. | |||
execute this command to create the node: | |||
astropci_make_node | |||
you can test the RTOS with xeno-test | you can test the RTOS with xeno-test | ||
Line 289: | Line 299: | ||
ln -s /usr/lib/xenomai/switchtest /usr/bin/switchtest | ln -s /usr/lib/xenomai/switchtest /usr/bin/switchtest | ||
ln -s /usr/lib/xenomai/unit /usr/bin/unit | ln -s /usr/lib/xenomai/unit /usr/bin/unit | ||
Install CVS and SVN to retrieve MIRC anc CHAMP trees. | |||
aptitude install cvs subversion | |||
Now test compile of old mirkwood code | |||
install dependencies | |||
aptitude install fftw3 | |||
aptitude install fftw3-dev | |||
aptitude install fftw3-doc | |||
---+++ RTNET | ---+++ RTNET | ||
Building RTNET | |||
Download git tree in /usr/src/ | |||
git clone git://rtnet.git.sourceforge.net/gitroot/rtnet/rtnet | |||
Change name of directory to a tag name (otherwise dhmake refuses to write debian info to dir) | |||
mv rtnet rtnet-0.9.11 | |||
Install the package dh_make | |||
aptitude install dh-make | |||
cd rtnet-0.9.11/ | |||
dh_make --createorig | |||
Type of package: single binary, multiple binary, library, kernel module or cdbs? | |||
[s/m/l/k/b] b | |||
Maintainer name : root | |||
Email-Address : root@fangorn.chara-array.org | |||
Date : Fri, 27 Nov 2009 03:15:25 -0800 | |||
Package Name : rtnet | |||
Version : 0.9.11 | |||
License : blank | |||
Using dpatch : no | |||
Type of Package : cdbs | |||
Hit <enter> to confirm: | |||
Done. Please edit the files in the debian/ subdirectory now. rtnet | |||
uses a configure script, so you probably don't have to edit the Makefiles. | |||
fangorn:/usr/src/rtnet-0.9.11# git clone git://rtnet.git.sourceforge.net/gitroot/rtnet/rtnet | |||
Initialized empty Git repository in /usr/src/rtnet-0.9.11/rtnet/.git/ | |||
'b' option worked when I compiled the package. | |||
Need to run this script for building dependencies: | |||
/usr/lib/pbuilder/pbuilder-satisfydepends | |||
Then run: | |||
git-buildpackage -us -uc -rfakeroot --git-debian-branch=master --git-upstream-branch=origin/master --git-ignore-new | |||
The following packages are created: | |||
rtnet_0.9.11-1.diff.gz rtnet_0.9.11-1.dsc rtnet_0.9.11-1_i386.build rtnet_0.9.11-1_i386.changes rtnet_0.9.11-1_i386.deb rtnet_0.9.11.orig.tar.gz | |||
install debian package: | |||
dpkg -i rtnet_0.9.11-1_i386.deb | |||
edit /etc/rtnet.conf | |||
need to change: | |||
RT_DRIVER="rt_e1000" #driver for our intel chipset | |||
RT_DRIVER_OPTIONS="cards=0,1" #This loads RT driver for eth1 | |||
IPADDR="10.0.0.10" | |||
# Simple setup: List of TDMA slaves | |||
TDMA_SLAVES="10.0.0.9" # this is the VME address (could add mirkwood too as 10.0.0.8) | |||
To test RTNET do the following | |||
Shutdown network interface/s | |||
ifdown eth0 | |||
remove standard network driver for ethernet cards: | |||
modprobe -r e1000 | |||
start rtnet: | |||
rtnet start | |||
add a route to the VME CPU | |||
rtroute add 10.0.0.9 00:01:af:17:a4:53 dev rteth0 | |||
reinsert non-RT ethernet driver | |||
modprobe e1000 | |||
Test connection: | |||
rtping 10.0.0.9 | |||
---+++ Analogy (comedi) | ---+++ Analogy (comedi) |
Revision as of 00:29, 27 May 2010
Manual for the CHARA-Michigan Phasetracker*
- CHAMP*
%TOC% Bold text ---+ Overview
---+ Quick Startup Guide
---+ Alignment ---++ Nightly Alignment ---++ Full Alignment
---+ Hardware Subsystems ---++ Overview ---++ Dichroic Pickoffs
---+ Real-time system ---++ Xenomai ---+++ Install Debian network install using debian-503-i386-businesscard.iso
I used linux.csua.berkrley.edu as a mirror for Debian archive. The install is pretty straightforward. I used guided partitioning using entire disc.
After install and reboot edit /etc/network/interfaces to look like this:
- This file describes the network interfaces available on your system
- and how to activate them. For more information, see interfaces(5).
- The loopback network interface
auto lo iface lo inet loopback
- The primary network interface
allow-hotplug eth0 iface eth0 inet static
address 192.168.3.136 netmask 255.255.255.0 network 192.168.3.0 broadcast 192.168.3.255 gateway 192.168.3.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 192.153.157.142 dns-search chara-array.org
if you want to work remotely install ssh server aptitude install openssh-server
aptitude search package will search a package in the debian archive.
Once installation finished create a file called preference in /etc/apt
Package: * Pin: release a=stable Pin-Priority: 700
Package: * Pin: release a=testing Pin-Priority: 650
Package: * Pin: release a=unstable Pin-Priority: 600
Then modify /etc/apt/sources.list to look like this:
- deb cdrom:[Debian GNU/Linux 5.0.2 _Lenny_ - Official i386 NETINST Binary-1 20090629-11:06]/ lenny main
- deb cdrom:[Debian GNU/Linux 5.0.2 _Lenny_ - Official i386 NETINST Binary-1 20090629-11:06]/ lenny main
- stable
deb http://linux.csua.berkeley.edu/debian/ lenny main non-free contrib deb-src http://linux.csua.berkeley.edu/debian/ lenny main non-free contrib deb http://security.debian.org/ lenny/updates main non-free contrib deb-src http://security.debian.org/ lenny/updates main non-free contrib deb http://volatile.debian.org/debian-volatile lenny/volatile main non-free contrib deb-src http://volatile.debian.org/debian-volatile lenny/volatile main non-free contrib
- testing
deb http://ftp.us.debian.org/debian testing main non-free contrib deb-src http://ftp.us.debian.org/debian testing main non-free contrib
- unstable
deb http://ftp.us.debian.org/debian unstable main non-free contrib deb-src http://ftp.us.debian.org/debian unstable main non-free contrib
aptitude update aptitude safe-upgrade aptitude full-upgrade
if you get this: E: Dynamic MMap ran out of room
Add the following line to /etc/apt/apt.conf
APT::Cache-Limit "8388608";
You will be on debian STABLE. you can install packages from testing or unstable by typing:
aptitude install <package> /unstable (or /testing)
Install screen (useful when compiling remotely if ssh connection dies)
aptitude install screen
run screen
Now install the latest xenomai
cd /usr/src
Install the packages necessary to compile the kernel. aptitude install kernel-package ncurses-dev fakeroot bzip2
Install package to retrieve latest stable xenomai from the git repository aptitude install git-buildpackage aptitude install pbuilder
Using new howto on: http://www.xenomai.org/index.php/Building_Debian_packages
aptitude install devscripts debhelper dh-kpatches findutils
rom a Git repository
To build from a git Repository install these additional packages and clone the Git repository:
- apt-get install git-core git-buildpackage
- cd /usr/src
$ git clone git://xenomai.org/xenomai-2.5.git
Change to the Xenomai Git working tree and update the repository:
$ cd xenomai-2.5 && git fetch origin
Create and checkout a new branch based on a git treeish object. In this example, we create a branch v2.5.3-deb based on git tag v2.5.3:
xenomai-2.5$ git checkout -b v2.5.3-deb v2.5.3
Create a new debian changelog entry:
xenomai-2.5$ DEBEMAIL="your@email" DEBFULLNAME="Your Name" debchange -v 2.5.3-0.1 Release 2.5.3
Commit the changelog to the v2.5.3-deb branch:
xenomai-2.5$ git commit -a --author="Your Name <your@email>" -m 2.5.3-0.1
Build the packages in the parent directory:
xenomai-2.5$ git-buildpackage \
--git-upstream-branch=v2.5.3 \ --git-debian-branch=v2.5.3-deb \ --git-export-dir=.. \ -uc -us
Switch back to the master branch and delete the branch v2.5.3-deb:
xenomai-2.5$ git checkout master && git branch -D v2.5.3-deb
use dpkg to install the packages:
- dpkg -i *.deb
dpkg-query -W -f'${Description}\n' linux-patch-xenomai | grep Patch-file
Apply the Xenomai adeos-ipipe patch and compile kernel:
tar -jxf linux-2.6.32.11.tar.bz2 && cd linux-2.6.32.11
remember to copy to this directory the .config file used in the previous kernel cp /boot/config-2.6.32.11-xenomai-2.5.3 .config (note: this file could be called differently).
since we copied the old .config file we can use --config oldconfig if you want to edit the kernel configuration use --config menuconfig (NEVER edit .config manually).
Compile and patch the kernel:
CONCURRENCY_LEVEL=2 fakeroot make-kpkg --initrd --added-patches xenomai --append-to-version -xenomai-2.5.3 --revision 1.0 --config oldconfig binary-arch
If you need to recompile the kernel additional times, avoid reapplying the xenomai patch:
CONCURRENCY_LEVEL=2 fakeroot make-kpkg --initrd --revision=ipipe.2.0.05 binary-arch
install the kernel
dpkg -i linux-image-2.6.31.1_ipipe.2.0.05_i386.deb
modify /boot/grub/menu.lst root= should not use the device (/dev/sda1) since that may change. Use the UUID (obtained typing blkid) or the label of the disc
Also append "noht mem=2048M memmap=1024M" to the real time kernel using the asgtropci board.
install kernel and headers dpkg -i linux-image*.deb
emacs /boot/grub/menu.lst
title Debian GNU/Linux, kernel 2.6.32.11-xenomai-2.5.3 root (hd0,0) kernel /boot/vmlinuz-2.6.32.11-xenomai-2.5.3 root=LABEL=ROOTFS_TEST ro noht mem=2048M memmap=1024M pci=routeirq initrd /boot/initrd.img-2.6.32.11-xenomai-2.5.3
title Debian GNU/Linux, kernel 2.6.32.11-xenomai-2.5.3 (single-user mode) root (hd0,0) kernel /boot/vmlinuz-2.6.32.11-xenomai-2.5.3 root=LABEL=ROOTFS_TEST ro single initrd /boot/initrd.img-2.6.32.11-xenomai-2.5.3
title Debian GNU/Linux, kernel 2.6.26-2-686 root (hd0,0) kernel /boot/vmlinuz-2.6.26-2-686 root=LABEL=ROOTFS_TEST ro quiet initrd /boot/initrd.img-2.6.26-2-686
Also modify /etc/fstab to use UUID or LABEL instead of devices. Label names have to be unique:
- /etc/fstab: static file system information.
- <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0 LABEL=ROOTFS-XENO / ext3 errors=remount-ro 0 1 LABEL=SWAP-XENO none swap sw 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
Modify /etc/modules to look like this:
- /etc/modules: kernel modules to load at boot time.
- This file contains the names of kernel modules that should be loaded
- at boot time, one per line. Lines beginning with "#" are ignored.
- Parameters can be specified after the module name.
loop xeno_native xeno_rtdm
In this way the xenomai modules are loaded at boot time.
and reboot
Type lsmod to see the kernel modules loaded. It should show:
Module Size Used by xeno_native 105088 0 analogy_ni_pcimio 15644 0 analogy_ni_mio 44860 1 analogy_ni_pcimio analogy_ni_tio 24956 1 analogy_ni_mio analogy_8255 3900 1 analogy_ni_mio analogy_ni_mite 10140 3 analogy_ni_pcimio,analogy_ni_mio,analogy_ni_tio xeno_analogy 40220 5 analogy_ni_pcimio,analogy_ni_mio,analogy_ni_tio,analogy_8255,analogy_ni_mite xeno_rtdm 28436 2 analogy_ni_mio,xeno_analogy ext3 109636 1 jbd 43920 1 ext3 mbcache 6272 1 ext3 ide_pci_generic 3712 0 ide_core 74204 1 ide_pci_generic ata_piix 15748 2 sata_mv 26448 0 e1000 114208 0 libata 142156 2 ata_piix,sata_mv unix 22992 10
all the analogy drives are the real-time comedi drivers (not present in mirkwood).
Obtain the astropci driver from the Bob Leach site. For kernel 2.6.30 is astropciFC11.tar.bz2.
tar xjf astropciFC11.tar.bz2 cd /usr/src/astropci/FC11/ make default make install
reboot
Now with lsmod you should see an extra module: astropci 10944 0
I have not figured out how to create the node /dev/astropci automatically.
execute this command to create the node:
astropci_make_node
you can test the RTOS with xeno-test
xeno-test was broken but I fixed it doing the following links:
ln -s /usr/lib/xenomai/clocktest /usr/bin/clocktest ln -s /usr/lib/xenomai/cyclictest /usr/bin/cyclictest ln -s /usr/lib/xenomai/irqloop /usr/bin/irqloop ln -s /usr/lib/xenomai/klatency /usr/bin/klatency ln -s /usr/lib/xenomai/latency /usr/bin/latency ln -s /usr/lib/xenomai/sigtest /usr/bin/sigtest ln -s /usr/lib/xenomai/switchtest /usr/bin/switchtest ln -s /usr/lib/xenomai/unit /usr/bin/unit
Install CVS and SVN to retrieve MIRC anc CHAMP trees.
aptitude install cvs subversion
Now test compile of old mirkwood code
install dependencies
aptitude install fftw3 aptitude install fftw3-dev aptitude install fftw3-doc
---+++ RTNET
Building RTNET
Download git tree in /usr/src/
git clone git://rtnet.git.sourceforge.net/gitroot/rtnet/rtnet
Change name of directory to a tag name (otherwise dhmake refuses to write debian info to dir)
mv rtnet rtnet-0.9.11
Install the package dh_make
aptitude install dh-make
cd rtnet-0.9.11/
dh_make --createorig
Type of package: single binary, multiple binary, library, kernel module or cdbs?
[s/m/l/k/b] b
Maintainer name : root Email-Address : root@fangorn.chara-array.org Date : Fri, 27 Nov 2009 03:15:25 -0800 Package Name : rtnet Version : 0.9.11 License : blank Using dpatch : no Type of Package : cdbs Hit <enter> to confirm: Done. Please edit the files in the debian/ subdirectory now. rtnet uses a configure script, so you probably don't have to edit the Makefiles. fangorn:/usr/src/rtnet-0.9.11# git clone git://rtnet.git.sourceforge.net/gitroot/rtnet/rtnet Initialized empty Git repository in /usr/src/rtnet-0.9.11/rtnet/.git/
'b' option worked when I compiled the package.
Need to run this script for building dependencies: /usr/lib/pbuilder/pbuilder-satisfydepends
Then run:
git-buildpackage -us -uc -rfakeroot --git-debian-branch=master --git-upstream-branch=origin/master --git-ignore-new
The following packages are created:
rtnet_0.9.11-1.diff.gz rtnet_0.9.11-1.dsc rtnet_0.9.11-1_i386.build rtnet_0.9.11-1_i386.changes rtnet_0.9.11-1_i386.deb rtnet_0.9.11.orig.tar.gz
install debian package:
dpkg -i rtnet_0.9.11-1_i386.deb
edit /etc/rtnet.conf
need to change:
RT_DRIVER="rt_e1000" #driver for our intel chipset RT_DRIVER_OPTIONS="cards=0,1" #This loads RT driver for eth1
IPADDR="10.0.0.10"
- Simple setup: List of TDMA slaves
TDMA_SLAVES="10.0.0.9" # this is the VME address (could add mirkwood too as 10.0.0.8)
To test RTNET do the following
Shutdown network interface/s
ifdown eth0
remove standard network driver for ethernet cards: modprobe -r e1000
start rtnet:
rtnet start
add a route to the VME CPU
rtroute add 10.0.0.9 00:01:af:17:a4:53 dev rteth0
reinsert non-RT ethernet driver
modprobe e1000
Test connection:
rtping 10.0.0.9
---+++ Analogy (comedi)
We have provided 3 sets of pickoff optics for use with CHAMP (the angle-of-incidence is 3 degrees). Each is designed with a 30' wedge and have been oriented with
thick part down (i.e., transmitted beams is bent downward by 13.7', which may be relevant for downstream combiners during alignment procedure).
All substrates have a broadband AR coating on the back-surface and the reflected light comes primarily from the front surface.
* Short-wave Pass (SWP):
These IR-grade Fused Silica substrates are coated with a dichroic coating to reflect K' band (2-2.3 microns) and to transmit JH bands (1.1-1.8 microns).
- Media:omega_swp.pdf: Performance of Shortwave Pass Dichroic (Omega)
%BR%
* Long-wave Pass (LWP):
These Calcium Fluoride substrates are coated with a dichroic coating to reflect JH bands (1.1-1.8 microns) and to transmit K' band (2-2.3 microns and longer for possible future experiments).
- Media:lwp_performance_001.pdf: Performance of Longwave Pass Dichroic (Omega)
%BR%
* Pickoffs Beam-splitters (BS):
These Calcium Fluoride beamsplitters were rejected from American Torch due to the coating not meeting specifications and the performance curves being proven unreliable. We believe the the coatings are about 50/50 at HK bands but are more like 75/25 (mostly transmitting) at J and beyond K band. This might prove useful in the future, but we do not expect these pickoff optics to be the best choice for most observers. Here is a measured transmission curve from the company, although we have not verified the accuracy yet:
- Media:Torch_BS_performance.pdf: Performance for (rejected) Beamsplitter Coatings (American Torch)
%BR%
---++ Piezo Scanners Piezojena 8micron Hardware card from National Instruments
---++ Beamsplitters
The IR-grade Fused silica beamsplitters are 50% +/- 10% over the full JHK' bandpasses. The coatings were done by Omega Optical and you can find the coating performance here. The angle of incidence is ~11.5 degrees.
- Media:omega_bs.pdf: Beamsplitter Performance (Omega)
%BR% ---++ Towers of Power ---++ Image Slicers ---++ CHAMP Dewar ---++ Filterset ---++ Triplet ---++ HAWAII-1 Detector
---+ Software ---++ Interface Computer (wolverine) ---+++ CHAMP control ---+++ Actuators ---++ Realtime Computer (champ) ---+++ Camera Readout ---+++ Piezo control ---+++ Delay line communication
---+ Appendices
---++ Diagrams
targets filter box diagram filterwheel key
---++ Spares
Optics
- Two (2) fused silica beam splitters for CHAMP combiner
- One (1) fused silica short-wave pass (SWP) dichroic pickoff
- One (1) calcium fluoride long-wave page (LWP) dichroic pickoff
- One (1) elliptical mirror mounted to invar piezo mount
- Four (4) f=450mm spherical mirrors for Tower of Power
- One (1) image slicer T1
- One (1) image slicer T2
- One (1) image slicer B1 [note: we are using the spare. the original B1 has some coating problems near apex and is put back as a backup/spare
- One (1) image slicer B2 [note: the backup spare B2 has slight problem where the bottom-right quad, B2d, is too large in one dimension. This means the pyramid will not fit in the holder. If one needs to use this backup, one will need to mill-out extra clearance in the holder]
Other things: TBDocumented, some card for camera electronics. zabar motors.
- One (1) motherboard for servers (compatible with mirkwood, champ -- one kept at CHARA, one at UM)
-- Main.monnier - 08 Feb 2009