https://optics.eee.nottingham.ac.uk/w/api.php?action=feedcontributions&user=Samuel+Achamfuo-Yeboah&feedformat=atomApplied Optics Wiki - User contributions [en]2024-03-29T14:20:10ZUser contributionsMediaWiki 1.27.1https://optics.eee.nottingham.ac.uk/w/index.php?title=Installing_SuSE_11.4&diff=1230Installing SuSE 11.42011-06-17T17:06:23Z<p>Samuel Achamfuo-Yeboah: /* Multimedia */</p>
<hr />
<div>Back to [[Linux How-tos]]<br />
<br />
==Installing SUSE 11.4 on AO linux computers.==<br />
<br />
=== First and most important step:===<br />
<br />
Be prepared to trash your computer and lose everything stored on it.<br />
<br />
So make sure you know what software you installed on it before you decided to update the system, also make sure <br />
you know what every other user installed on it. Look in /etc and /local for evidence of non standard software (eg<br />
matlab, comsol, cadence, coventor etc and locally produced software such as c_scan, BNS, etc and check in /etc for evidence<br />
of configuration files eg /etc/stages /etc/andor etc).<br />
<br />
Back up anything you might need - files, programs, data, configurations etc.<br />
<br />
However, if you are on the AO linux network your personal files and data are most likely stored on the server (anything<br />
in /home is on the server).<br />
<br />
* If in doubt ASK someone in the know *<br />
<br />
=== Second step: Your computer ===<br />
<br />
* What kind of processor? (arch)<br />
* What disks / partitions does it have? (df, mount, cat /etc/fstab)<br />
* what is the hostname? (hostname)<br />
* What are your network settings? (/sbin/ifconfig - you are looking for the numbers after "inet addr:" in the "eth0" section)<br />
* What is the root password? (you should know)<br />
* What cards / screens / gadgets does it have?<br />
<br />
=== Third step: ===<br />
<br />
Get hold of the SUSE 11.4 install DVD for your computer. If the arch is i386/i586/i686 (32 bit machines) you will need the i586<br />
disk (labelled "32-bit"). If the arch is x86_64 (64 bit machines) you need the x86_64 disk (labelled "64-bit").<br />
<br />
=== Fourth step: The install ===<br />
<br />
Stick the DVD in the drive, reboot the computer, select "Installation" (rather than "Boot from hard disk") on the boot menu, then follow the instructions:<br />
<br />
*Language: English (UK) (keyboard should automatically change to UK too)<br />
*License agreement appears here, but it just assumes you agree when you click next.<br />
*New installation (not upgrade)<br />
*'''DESELECT "Use Automatic Configuration"''' - otherwise the installer will assume you want to use DHCP for the network settings, which we don't want to do as the PC probably isn't in the DHCP tables (or if it is, it'll have the wrong IP address)<br />
*UK timezone (this should come up automatically. If US timezone came up, then you forgot to select UK keyboard. You can go back to put this right.)<br />
*KDE desktop (unless you specifically want Gnome and are prepared to fix things yourself) - KDE3.5 is no longer available, so KDE4 is what you will get.<br />
<br />
==== Partitioning:====<br />
<br />
This is probably the most complicated bit, the bit you're most likely to need help with, and the bit that it's important to get correct. If you heeded the warning at the beginning about being prepared to trash your PC (as in wipe all the information stored on the hard drive), then this is the moment that you (probably) will do that.<br />
<br />
* Click "Edit Partition Setup..."<br />
<br />
What you want to end up with is something like:<br />
<br />
* Windows partition (if your computer's already got one) - this can be shrunk by the Suse installer.<br />
* Swap partition (roughly twice the size of your RAM, could be a lot more if a modelling PC): format "Linux swap"<br />
* 20GB root ("/") partition: format "Linux Ext4"<br />
* 30GB "/eee" partition: format "Linux Ext4"<br />
* 20GB "/spare_for_future_upgrade" partition: format "Linux Ext4"<br />
* Rest of the disk for "/local_storage": format "Linux Ext4"<br />
<br />
Partitions can be either "Primary" or "extended". For historical reasons, you can have a maximum of 4 "primary" partitions on a hard drive. In practice, what this means is that you should make sda1, sda2, sda3 all primary partitions of the size that you want them; make sda4 the extended partition, taking up the rest of the disk. This isn't really a proper partition itself (you'll not be able to mount it), just think of it as a placeholder for all the other partitions you want to add.<br />
<br />
Assuming you have a Windows partition already, taking up the whole of the disk, this will be partition sda1. This needs shrinking to something sensible (20-50GB? depends how much data you want to be able to store on it).<br />
<br />
If you don't have Windows on the hard drive and don't intend to put it on, then make sda1 your swap partition.<br />
<br />
The information about your existing set up is shown in the 'Hard Disks' section of the system view on the left. This is then divided up into a section for each separate hard disk if you have more than one. Selecting your main disk (eg /dev/sda) gives the most useful view. The partitions tab here should show all the partitions and current mount point etc. There are buttons on this screen to edit existing partitions or to create new partitions if those listed above are not present and there is space on the disk. Also check which disks are being formatted - if this is an upgrade of a linux PC, you should only have to format the root partition.<br />
<br />
You should be able to relate the info here to the information about your disks you found during your preparation. Assuming all is well all you need to do is follow the custom partition settings to reformat the 20Gb "spare" partition and mount it as "/". You can leave the rest untouched and anything on the other disks will be preserved. You should set the mount points of the other partitions/disks here. If you do not have a spare partition, the existing root partition will have to be re-formatted and mounted as "/" (ie root for the new installation).<br />
<br />
ASSUMING YOUR COMPUTER DOESN'T MATCH THIS: Stop and ask for advice before proceeding. There are very good reasons for switching to a root + other partition scheme.<br />
<br />
If you create a new partition, you will be asked if you want to create a ''primary'' or ''extended'' partition. The rules are simple:<br />
* If this is anything other than your fourth partition, select ''primary''<br />
* If this is your fourth partition (sda4 or hda4), select ''extended'' then just click "Ok" on the next screen. Then click "create" to create the partition you actually want.<br />
<br />
Assuming you have a sensible partition scheme you can proceed and format your "/" partition. The data on it will be wiped and the new system installed on top of them. This could take the best part of an hour so go and get a cup of tea or fix this page on the wiki...<br />
<br />
After you've decided on a partitioning setup, click "Accept"<br />
<br />
==== More configuration ====<br />
<br />
On the "Create New User" page...<br />
<br />
* Deselect "Use this password for system administrator"<br />
* Deselect "Automatic Login"<br />
* Click "Change..."<br />
* Click "NIS" (under "Authentication Method") then "Accept"<br />
* Click "Next"<br />
* Root password: you should know this - use the previous one.<br />
<br />
On the "Installation Settings" page...<br />
<br />
* Under 'Firewall and SSH' at the bottom, click 'enable and open' where it says, "SSH service will be disabled...". Make sure the firewall is enabled (zone is external). <br />
* Click "Install" then confirm.<br />
* Go for a quick lunch or have a long cup of tea whilst the installer installs the packages from the DVD. This is quicker than previous installations, it only took 15 minutes on a Settee with 4GB of memory. Your mileage may vary.<br />
<br />
Once the package installation is complete, the PC will automatically reboot. From this point on, if the computer reboots, allow it to "Boot from hard disk" after a green multi-language welcome screen.<br />
<br />
==== Bits missing ====<br />
Matt: the next step appears to be NIS configuration but somehow the net config has been skipped so this fails. The essential details for NIS configuration are "applied_optics" and "128.243.74.4 128.243.74.2". Since I got this far without any net settings I've logged in as root (since there are no other users yet) and configured the rest using yast2.<br />
<br />
=== Step five: Configuring your computer for the AO network===<br />
<br />
There are a number of steps in the SUSE install to follow and then a number of steps to configure your computer for the local environment:<br />
<br />
Check install: Just reports errors nothing for you to do.<br />
<br />
* Hostname: This is the name of your computer - use the previous one<br />
* The domain is eee.nottingham.ac.uk<br />
* Deselect "Change Hostname via DHCP"<br />
* Click "Next"<br />
<br />
Network settings: You usually only have one network card and if you have two either know what you are doing or ask for help.<br />
<br />
General network settings: leave alone.<br />
<br />
Firewall:<br />
* In external zone: "Allowed services" (on left): "Add" the following:<br />
# Secure shell server<br />
# NIS client<br />
# NFS client<br />
* "Logging Level" (on left): select "Do not log any" for:<br />
# Accepted Packets<br />
# Not Accepted Packets<br />
<br />
Network interfaces: click this to edit it:<br />
# "Overview" (tab): click "Edit" button, "Address" tab:<br />
## Select "Statically assigned IP Address" button<br />
## Enter your IP address (from your notes)<br />
## Subnet mask 255.255.0.0<br />
## Hostname: (from notes), include the domain as well e.g. "mypc.eee.nottingham.ac.uk"<br />
## Click "Next"<br />
# Hostnames/DNS (tab):<br />
## Hostname and Domain Name should already be filled in as before<br />
## Names servers are 128.243.40.11, 128.243.40.12, 128.243.21.19 '''(note these have changed from previous values, Dec 2008)'''<br />
# Routing (tab):<br />
## Default Gateway: 128.243.1.1<br />
# Click "OK"<br />
<br />
Proxy:<br />
# Click "Enable Proxy"<br />
# Set the first box (HTTP Proxy URL) to http://optics.eee.nottingham.ac.uk:62267<br />
# "No proxy domains" (comma-separated list): localhost, 127.0.0.1, .nottingham.ac.uk, .nott.ac.uk<br />
# Click "Finish"<br />
<br />
Next the install will try to test the network settings - if there isn't a good reason for this to fail it should work!<br />
* Update: will check for updates. The updater will appear, everything is selected automatically so click "Accept". The first stage updates the updater itself, so when this is done click 'next' then 'accept' then the other updates are installed in the same way. This is currently fairly rapid. <br />
At the time of writing no reboot was required here, but as more patches are added it's possible that one of these will require a reboot at this stage.<br />
<br />
* User Authentication Method: NIS should already be selected, so "Configuration of NIS client" page should appear.<br />
## Leave 'Netconfig NIS Policy' on default.<br />
## NIS Domain: applied_optics<br />
## NIS servers: 128.243.74.2 128.243.74.4 (separated by a space)<br />
## Select start automounter<br />
<br />
* Have a quick read of the release notes. The most important note (if you haven't used 11.0) is that you need to press Ctrl-Alt-Backspace '''twice within 2 seconds''' to get the X-server (your desktop) to restart.<br />
* Hardware config: Mainly gets it right but sometimes selects a lower screen resolution than you want or gets the monitor wrong (you usually want 24bit colour). Ignore Printers - these will get set up later.<br />
* Machine restarts some services here and if all is well you can now log in as usual!<br />
<br />
== Post installation configuration and setting up package management==<br />
<br />
* Log in as root, open a konsole (terminal) window<br />
* Cut and paste or type carefully the following and press enter:<br />
echo "128.243.74.2 optics.eee.nottingham.ac.uk optics armchair" >> /etc/hosts<br />
* cd /home/share/suse_hacks/11.3<br />
* Run '''ONE''' of the following scripts, most appropriate script for your location, either:<br />
## ./std_suse_hacks_ao<br />
## ./std_suse_hacks_ibios<br />
## ./std_suse_hacks_sios<br />
## ./std_suse_hacks_vlsi<br />
*There isn't a huge lot of difference except for local stuff like default printers. The script disables the DVD respository, deletes some SUSE irritations (eg beagle), sets up some useful stuff (eg locate) and installs dead useful software such as compilers, latex and xfig. In addition, it also sets up some network stuff, like telling the PC to use the hostname list (/etc/hosts) on armchair. Without this, it won't know the IP addresses of AOG PCs like bed, which means (if you're in SiOS) you won't be able to log in. That's why we do this first (as root), before attempting to log in as yourself.<br />
*An error about a missing file may be reported (File '/repodata/repomd.xml not found on medium...), in that case choose ignore (i) and the rest of the script works as normal. The problem here appears to be that the network-utils repository doesn't exist for this version. Removing it from in Yast later doesn't seem to cause any problems.<br />
*This is probably your best opportunity for going to lunch, as there are quite a lot of packages to download.<br />
*The last part of the script is interactive - this is where you get to choose which of the common "EEE packages" you want (so called because they are managed by Roger Light in EEE and many involve local licenses, and also because they end up in the /eee directory). Follow the instructions on the screen carefully.<br />
*If you come back from lunch and find the installer appears to have crashed, i.e. it doesn't do anything for several minutes '''and''' it's '''not''' asking you to do something, press ''Ctrl-C'' and run the same script again (i.e. press the ''up arrow'' then ''Enter'').<br />
* If you use any of the eee packages (matlab, comsol, cadence, etc), run install_eee_packages. This makes sure the updating script that works with vpm works correctly.<br />
*Log out, and reboot the PC.<br />
<br />
*Log in as yourself - if this doesn't work, then seek advice.<br />
*There are still some configuration things to do, this involves using the YaST configuration suite, you'll find it somewhere in the SuSE menu (or, as root, type "yast2" from a console window). If you run it from the SuSE menu, you will need to provide the root password.<br />
<br />
===Updates===<br />
<br />
Linux PCs, like all PCs, need patching and updating to patch security holes, fix bugs, or offer improvements. Most of these are benign, some (like updating the kernel) can be more disruptive, especially if it's an experimental PC and controls external hardware: it is likely instrument drivers will need recompiling. Other times, "improvements" introduce more bugs than they fix, or change the user interface (or appearence) of an application that you may find annoying.<br />
<br />
Additionally, the act of looking for and installing updates takes CPU, disk and network bandwidth, which you may find annoying (especially if you are on an older PC, or want to run experiments unhindered).<br />
<br />
Saying all that, the process of applying updates is relatively painless these days, and in general, the benefits of keeping your system patched and updatated outweigh the inconveniences.<br />
<br />
Furthermore, '''it is YOUR responsibility, as the person who "owns" the PC, to ensure that it is sufficiently patched that there are no exploitable security vulnerabilities which might compromise your PC or the local network.''' There is not some invisible benign force (i.e. Steve or Roger) that is logging in to make sure this happens. '''YOU''' are responsible. You have various options:<br />
<br />
====1. Automatic online update====<br />
<br />
This checks for updates daily (or weekly) and installs them for you. If any of the updates requires you to answer any questions (i.e. "interactive" patches) then they will be skipped. This includes kernel updates (so they will be skipped) and anything that needs a license agreeing to.<br />
<br />
The std_suse_hacks script now configures this to run automatically.<br />
<br />
====2. openSUSE Updater ("annoying green pea")====<br />
<br />
This sits in your system tray in your panel, and is installed on a per-user basis. If you don't have it (perhaps you disabled it in the past) then you can enable it again by going to (on the Suse menu) Applications -> System -> Desktop Applet -> openSUSE Updater Applet. This will appear as either a small green pea, or a blue "?" circle, or perhaps a red warning triangle. If you right-click, you can configure it. Options include:<br />
* Checking for updates daily<br />
* Automatically check for updates when you log in<br />
* Only check for updates when the system is under low load<br />
<br />
You can use the updater to complement the Automatic Online Update... for example you could log in one day to find that there's a kernel update (which the automatic online update hasn't installed), and you can decide whether to install it or not.<br />
<br />
If you don't want the green pea, then:<br />
* Right-click it, configure it, and deselect "Automatically start updater at login", click "Ok"<br />
* Right-click it, click "Quit"<br />
<br />
====3a. Manually using YaST2====<br />
<br />
This relies on you remembering to do this, every now and then.<br />
<br />
* Run YaST as root<br />
* In the "Software" section, click "Online Update"<br />
<br />
====3b. Manually using zypper====<br />
<br />
As root, type "zypper update"<br />
<br />
===Package management===<br />
<br />
'''zypper''' is the command-line tool you use to install and remove packages. You can use it to:<br />
<br />
* Check for updates: zypper update<br />
* Install an rpm in the current directory (and fetch any dependencies) e.g.: zypper install file.rpm<br />
* Install a package e.g.: zypper install qcad<br />
* Search for packages - lists those that are installed, and those available e.g.: zypper search nvid<br />
* Get information about packages (whether installed or not) e.g.: zypper info qcad<br />
* Find out which package is responsible for a file you've found e.g.: zypper what-provides (or wp) /bin/ls<br />
<br />
There are alternative package managers, such as "smart", which may be better than older versions of zypper. Since 11.0 zypper has been improved enough to be suitable for most users. If you want to use smart, you presumably know enough to be able to manage without help.<br />
<br />
====YaST Software Management====<br />
<br />
Think of this as a user-friendly front-end to zypper.<br />
<br />
=== Graphics card ===<br />
There is a good chance you have an nVIDIA graphics card in your computer. If so you will probably want<br />
to install the nVIDIA graphics driver. This is not included in the default installation because<br />
of licensing issues but YAST can manage it for most cards. <br />
<br />
* Start YaST (see above)<br />
* In the "Software" submenu, click on "Software Repositories"<br />
# Click "Add"<br />
# Select "Community Repositories" then click "Next"<br />
# Add "NVIDIA Repository" then click "Ok"<br />
# If it asks you questions about keys, then trust and import them.<br />
# Click "Finish"<br />
* In the "Software" submenu, click on "Software Management"<br />
# Just click "Accept". It will tell you it's installing some other nvidia-related stuff to satisfy dependencies. Click "Continue"<br />
#When it's done, quit the Software Management utility.<br />
*Quit YaST<br />
*In order to get graphics working well with Comsol etc (which really need the accelerated 3D rendering working) you need to do the following:<br />
# As root, edit /etc/modprobe.d/nvidia (using ''vi'' or something)<br />
# Change the bit where it says "NVreg_DeviceFileMode=0660" to "NVreg_DeviceFileMode=0666" (i.e. change the last "0" to a "6")<br />
* (Explanation: by default, SuSE makes all users members of the "video" group, which has GID 33. This would normally give users complete access to the nvidia devices, /dev/nvidia*. However, because we use NIS for user logins, we do not use the "video" group as the GID is <500, generally reserved for system IDs and likely to be different for the different flavours of UNIX/Linux that we use. By changing the "0" to a "6" (which affects /dev/nvidia*) we are letting anyone read and write to the nvidia card. This is potentially a bit insecure, but it's the easiest way to fix this issue).<br />
*When you log out, X should restart and you should now be running the nVIDIA graphics driver. ''Note that the issue with permissions etc won't get sorted out until after a reboot, though'' (or for the technically-minded the next time the nvidia kernel module is inserted). Try an openGL screen saver or start glxgears.<br />
<br />
If this fails (and it is known to fail for very old and very new cards) you will have to use the manual method - ask for advice. Manually<br />
installed nVIDIA drivers are not automatically updated by YAST and can be screwed up by certain updates<br />
(the kernel) and will require reinstalling - you may wish to turn certain updates off (ask).<br />
<br />
sax2 (the YaST graphics config tool) doesn't really understand nVIDIA cards if it doesn't do what you want then try this<br />
tool instead: http://www.sorgonet.com/linux/nv-online/ which worked for me (Matt)<br />
If you have a certain Sony monitor and NVIDIA won't give you the resolution you need then try an older version of the driver... /home/matt/NVIDIA-Linux-x86_64-1.0-9746-pkg2.run. ** this driver no longer compiles for newer kernels ** -matt<br />
<br />
=== Local Software ===<br />
<br />
* Most of the local software you need (sometimes called the "EEE packages") - things like Matlab, Eagle, Comsol, ISE (to name just a few - big commercial packages, basically, rather than home-written ones) are installed interactively as part of the std_suse_hacks scripts. Additional information about this - if you decide you want to add or remove an EEE package - is contained in [[Installing locally | this web page]].<br />
<br />
* c_scan: there is another wiki page which mentions installing c_scan, as well as other command line utilities and drivers for controlling hardware from your Linux PC: link is [[Experimental PC | here]]. Once you have installed c_scan, if you type "man c_scan" you will get the root of the c_scan documentation. Look at the "See also" section at the bottom for hints on specific modules... this this normally the name of the module/action, preceded by "c_" (e.g. "man c_agilent_trace_scope")<br />
<br />
=== Multimedia ===<br />
<br />
You will probably want the multimedia codecs for SUSE. The easiest way to get these is to follow this link <br />
http://opensuse-community.org/Multimedia and click on "codecs-kde.ymp". This should get you a full set of<br />
multimedia codecs that don't come with SUSE by default because of licensing issues.<br />
<br />
Since this doesn't always work and a "what to do when one-click fails" isn't easy to find what you need to<br />
do is add the packman repo and then install the following if they are already installed:<br />
<br />
ffmpeg<br />
flash-player<br />
gst-fluendo-mp3<br />
java-1_5_0-sun-plugin<br />
k3b-codecs<br />
libdvdcss<br />
libxine1<br />
w32codec-all<br />
<br />
and manually install xine-lib (yast doesn't seem to be able to do this on its own).<br />
<br />
* see below *<br />
<br />
=== fix annoying okular bug ===<br />
By now you'll have okular rather than kpdf or acroread for viewing pdfs. It has an annoying bug in that it displays the meaningless pdf title rather than the filename. There is a fix:<br />
<br />
kwriteconfig --file okularpartrc --group General --key DisplayDocumentTitle --type bool false<br />
<br />
You'll be glad you did it!<br />
<br />
=== Printers ===<br />
<br />
These should get set up when you run the appropriate "suse_hack" script. There is a general page of advice regarding the AOG printers [[Printers and printing | here]].<br />
<br />
=== Misc ===<br />
<br />
If you are installing elsewhere and want to run as a router or firewall using two ethernet cards then set up your first card to access the internet and select<br />
this as the "external zone" in the firewall. Then set up your private network on the other card using 192.168.XX.XX (0.1) as the IP address and 255.255.255.0 as the netmask, use "internal zone" for the firewall setting (this means no firewall between your host and the internal network). Then in yast2 "security and users:firewall:masquerading" X the "Masquerade Networks" box.<br />
<br />
Note: I found yast wanting when restarting this network configuration. So if it doesn't just work don't panic, instead run "/etc/init.d/network restart" and<br />
then try. For some reason yast doesn't seem to kick the second network card back to life properly. Matt.<br />
<br />
== Finally ==<br />
<br />
You should have a working system now and hopefully you won't suddenly remember that something important was installed on one of the disks you wiped. Please fix errors in this wiki.<br />
<br />
Cheers,<br />
Matt, Steve, Roger, John and Samuel</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Installing_SuSE_11.4&diff=1229Installing SuSE 11.42011-06-17T17:03:21Z<p>Samuel Achamfuo-Yeboah: /* Multimedia */</p>
<hr />
<div>Back to [[Linux How-tos]]<br />
<br />
==Installing SUSE 11.4 on AO linux computers.==<br />
<br />
=== First and most important step:===<br />
<br />
Be prepared to trash your computer and lose everything stored on it.<br />
<br />
So make sure you know what software you installed on it before you decided to update the system, also make sure <br />
you know what every other user installed on it. Look in /etc and /local for evidence of non standard software (eg<br />
matlab, comsol, cadence, coventor etc and locally produced software such as c_scan, BNS, etc and check in /etc for evidence<br />
of configuration files eg /etc/stages /etc/andor etc).<br />
<br />
Back up anything you might need - files, programs, data, configurations etc.<br />
<br />
However, if you are on the AO linux network your personal files and data are most likely stored on the server (anything<br />
in /home is on the server).<br />
<br />
* If in doubt ASK someone in the know *<br />
<br />
=== Second step: Your computer ===<br />
<br />
* What kind of processor? (arch)<br />
* What disks / partitions does it have? (df, mount, cat /etc/fstab)<br />
* what is the hostname? (hostname)<br />
* What are your network settings? (/sbin/ifconfig - you are looking for the numbers after "inet addr:" in the "eth0" section)<br />
* What is the root password? (you should know)<br />
* What cards / screens / gadgets does it have?<br />
<br />
=== Third step: ===<br />
<br />
Get hold of the SUSE 11.4 install DVD for your computer. If the arch is i386/i586/i686 (32 bit machines) you will need the i586<br />
disk (labelled "32-bit"). If the arch is x86_64 (64 bit machines) you need the x86_64 disk (labelled "64-bit").<br />
<br />
=== Fourth step: The install ===<br />
<br />
Stick the DVD in the drive, reboot the computer, select "Installation" (rather than "Boot from hard disk") on the boot menu, then follow the instructions:<br />
<br />
*Language: English (UK) (keyboard should automatically change to UK too)<br />
*License agreement appears here, but it just assumes you agree when you click next.<br />
*New installation (not upgrade)<br />
*'''DESELECT "Use Automatic Configuration"''' - otherwise the installer will assume you want to use DHCP for the network settings, which we don't want to do as the PC probably isn't in the DHCP tables (or if it is, it'll have the wrong IP address)<br />
*UK timezone (this should come up automatically. If US timezone came up, then you forgot to select UK keyboard. You can go back to put this right.)<br />
*KDE desktop (unless you specifically want Gnome and are prepared to fix things yourself) - KDE3.5 is no longer available, so KDE4 is what you will get.<br />
<br />
==== Partitioning:====<br />
<br />
This is probably the most complicated bit, the bit you're most likely to need help with, and the bit that it's important to get correct. If you heeded the warning at the beginning about being prepared to trash your PC (as in wipe all the information stored on the hard drive), then this is the moment that you (probably) will do that.<br />
<br />
* Click "Edit Partition Setup..."<br />
<br />
What you want to end up with is something like:<br />
<br />
* Windows partition (if your computer's already got one) - this can be shrunk by the Suse installer.<br />
* Swap partition (roughly twice the size of your RAM, could be a lot more if a modelling PC): format "Linux swap"<br />
* 20GB root ("/") partition: format "Linux Ext4"<br />
* 30GB "/eee" partition: format "Linux Ext4"<br />
* 20GB "/spare_for_future_upgrade" partition: format "Linux Ext4"<br />
* Rest of the disk for "/local_storage": format "Linux Ext4"<br />
<br />
Partitions can be either "Primary" or "extended". For historical reasons, you can have a maximum of 4 "primary" partitions on a hard drive. In practice, what this means is that you should make sda1, sda2, sda3 all primary partitions of the size that you want them; make sda4 the extended partition, taking up the rest of the disk. This isn't really a proper partition itself (you'll not be able to mount it), just think of it as a placeholder for all the other partitions you want to add.<br />
<br />
Assuming you have a Windows partition already, taking up the whole of the disk, this will be partition sda1. This needs shrinking to something sensible (20-50GB? depends how much data you want to be able to store on it).<br />
<br />
If you don't have Windows on the hard drive and don't intend to put it on, then make sda1 your swap partition.<br />
<br />
The information about your existing set up is shown in the 'Hard Disks' section of the system view on the left. This is then divided up into a section for each separate hard disk if you have more than one. Selecting your main disk (eg /dev/sda) gives the most useful view. The partitions tab here should show all the partitions and current mount point etc. There are buttons on this screen to edit existing partitions or to create new partitions if those listed above are not present and there is space on the disk. Also check which disks are being formatted - if this is an upgrade of a linux PC, you should only have to format the root partition.<br />
<br />
You should be able to relate the info here to the information about your disks you found during your preparation. Assuming all is well all you need to do is follow the custom partition settings to reformat the 20Gb "spare" partition and mount it as "/". You can leave the rest untouched and anything on the other disks will be preserved. You should set the mount points of the other partitions/disks here. If you do not have a spare partition, the existing root partition will have to be re-formatted and mounted as "/" (ie root for the new installation).<br />
<br />
ASSUMING YOUR COMPUTER DOESN'T MATCH THIS: Stop and ask for advice before proceeding. There are very good reasons for switching to a root + other partition scheme.<br />
<br />
If you create a new partition, you will be asked if you want to create a ''primary'' or ''extended'' partition. The rules are simple:<br />
* If this is anything other than your fourth partition, select ''primary''<br />
* If this is your fourth partition (sda4 or hda4), select ''extended'' then just click "Ok" on the next screen. Then click "create" to create the partition you actually want.<br />
<br />
Assuming you have a sensible partition scheme you can proceed and format your "/" partition. The data on it will be wiped and the new system installed on top of them. This could take the best part of an hour so go and get a cup of tea or fix this page on the wiki...<br />
<br />
After you've decided on a partitioning setup, click "Accept"<br />
<br />
==== More configuration ====<br />
<br />
On the "Create New User" page...<br />
<br />
* Deselect "Use this password for system administrator"<br />
* Deselect "Automatic Login"<br />
* Click "Change..."<br />
* Click "NIS" (under "Authentication Method") then "Accept"<br />
* Click "Next"<br />
* Root password: you should know this - use the previous one.<br />
<br />
On the "Installation Settings" page...<br />
<br />
* Under 'Firewall and SSH' at the bottom, click 'enable and open' where it says, "SSH service will be disabled...". Make sure the firewall is enabled (zone is external). <br />
* Click "Install" then confirm.<br />
* Go for a quick lunch or have a long cup of tea whilst the installer installs the packages from the DVD. This is quicker than previous installations, it only took 15 minutes on a Settee with 4GB of memory. Your mileage may vary.<br />
<br />
Once the package installation is complete, the PC will automatically reboot. From this point on, if the computer reboots, allow it to "Boot from hard disk" after a green multi-language welcome screen.<br />
<br />
==== Bits missing ====<br />
Matt: the next step appears to be NIS configuration but somehow the net config has been skipped so this fails. The essential details for NIS configuration are "applied_optics" and "128.243.74.4 128.243.74.2". Since I got this far without any net settings I've logged in as root (since there are no other users yet) and configured the rest using yast2.<br />
<br />
=== Step five: Configuring your computer for the AO network===<br />
<br />
There are a number of steps in the SUSE install to follow and then a number of steps to configure your computer for the local environment:<br />
<br />
Check install: Just reports errors nothing for you to do.<br />
<br />
* Hostname: This is the name of your computer - use the previous one<br />
* The domain is eee.nottingham.ac.uk<br />
* Deselect "Change Hostname via DHCP"<br />
* Click "Next"<br />
<br />
Network settings: You usually only have one network card and if you have two either know what you are doing or ask for help.<br />
<br />
General network settings: leave alone.<br />
<br />
Firewall:<br />
* In external zone: "Allowed services" (on left): "Add" the following:<br />
# Secure shell server<br />
# NIS client<br />
# NFS client<br />
* "Logging Level" (on left): select "Do not log any" for:<br />
# Accepted Packets<br />
# Not Accepted Packets<br />
<br />
Network interfaces: click this to edit it:<br />
# "Overview" (tab): click "Edit" button, "Address" tab:<br />
## Select "Statically assigned IP Address" button<br />
## Enter your IP address (from your notes)<br />
## Subnet mask 255.255.0.0<br />
## Hostname: (from notes), include the domain as well e.g. "mypc.eee.nottingham.ac.uk"<br />
## Click "Next"<br />
# Hostnames/DNS (tab):<br />
## Hostname and Domain Name should already be filled in as before<br />
## Names servers are 128.243.40.11, 128.243.40.12, 128.243.21.19 '''(note these have changed from previous values, Dec 2008)'''<br />
# Routing (tab):<br />
## Default Gateway: 128.243.1.1<br />
# Click "OK"<br />
<br />
Proxy:<br />
# Click "Enable Proxy"<br />
# Set the first box (HTTP Proxy URL) to http://optics.eee.nottingham.ac.uk:62267<br />
# "No proxy domains" (comma-separated list): localhost, 127.0.0.1, .nottingham.ac.uk, .nott.ac.uk<br />
# Click "Finish"<br />
<br />
Next the install will try to test the network settings - if there isn't a good reason for this to fail it should work!<br />
* Update: will check for updates. The updater will appear, everything is selected automatically so click "Accept". The first stage updates the updater itself, so when this is done click 'next' then 'accept' then the other updates are installed in the same way. This is currently fairly rapid. <br />
At the time of writing no reboot was required here, but as more patches are added it's possible that one of these will require a reboot at this stage.<br />
<br />
* User Authentication Method: NIS should already be selected, so "Configuration of NIS client" page should appear.<br />
## Leave 'Netconfig NIS Policy' on default.<br />
## NIS Domain: applied_optics<br />
## NIS servers: 128.243.74.2 128.243.74.4 (separated by a space)<br />
## Select start automounter<br />
<br />
* Have a quick read of the release notes. The most important note (if you haven't used 11.0) is that you need to press Ctrl-Alt-Backspace '''twice within 2 seconds''' to get the X-server (your desktop) to restart.<br />
* Hardware config: Mainly gets it right but sometimes selects a lower screen resolution than you want or gets the monitor wrong (you usually want 24bit colour). Ignore Printers - these will get set up later.<br />
* Machine restarts some services here and if all is well you can now log in as usual!<br />
<br />
== Post installation configuration and setting up package management==<br />
<br />
* Log in as root, open a konsole (terminal) window<br />
* Cut and paste or type carefully the following and press enter:<br />
echo "128.243.74.2 optics.eee.nottingham.ac.uk optics armchair" >> /etc/hosts<br />
* cd /home/share/suse_hacks/11.3<br />
* Run '''ONE''' of the following scripts, most appropriate script for your location, either:<br />
## ./std_suse_hacks_ao<br />
## ./std_suse_hacks_ibios<br />
## ./std_suse_hacks_sios<br />
## ./std_suse_hacks_vlsi<br />
*There isn't a huge lot of difference except for local stuff like default printers. The script disables the DVD respository, deletes some SUSE irritations (eg beagle), sets up some useful stuff (eg locate) and installs dead useful software such as compilers, latex and xfig. In addition, it also sets up some network stuff, like telling the PC to use the hostname list (/etc/hosts) on armchair. Without this, it won't know the IP addresses of AOG PCs like bed, which means (if you're in SiOS) you won't be able to log in. That's why we do this first (as root), before attempting to log in as yourself.<br />
*An error about a missing file may be reported (File '/repodata/repomd.xml not found on medium...), in that case choose ignore (i) and the rest of the script works as normal. The problem here appears to be that the network-utils repository doesn't exist for this version. Removing it from in Yast later doesn't seem to cause any problems.<br />
*This is probably your best opportunity for going to lunch, as there are quite a lot of packages to download.<br />
*The last part of the script is interactive - this is where you get to choose which of the common "EEE packages" you want (so called because they are managed by Roger Light in EEE and many involve local licenses, and also because they end up in the /eee directory). Follow the instructions on the screen carefully.<br />
*If you come back from lunch and find the installer appears to have crashed, i.e. it doesn't do anything for several minutes '''and''' it's '''not''' asking you to do something, press ''Ctrl-C'' and run the same script again (i.e. press the ''up arrow'' then ''Enter'').<br />
* If you use any of the eee packages (matlab, comsol, cadence, etc), run install_eee_packages. This makes sure the updating script that works with vpm works correctly.<br />
*Log out, and reboot the PC.<br />
<br />
*Log in as yourself - if this doesn't work, then seek advice.<br />
*There are still some configuration things to do, this involves using the YaST configuration suite, you'll find it somewhere in the SuSE menu (or, as root, type "yast2" from a console window). If you run it from the SuSE menu, you will need to provide the root password.<br />
<br />
===Updates===<br />
<br />
Linux PCs, like all PCs, need patching and updating to patch security holes, fix bugs, or offer improvements. Most of these are benign, some (like updating the kernel) can be more disruptive, especially if it's an experimental PC and controls external hardware: it is likely instrument drivers will need recompiling. Other times, "improvements" introduce more bugs than they fix, or change the user interface (or appearence) of an application that you may find annoying.<br />
<br />
Additionally, the act of looking for and installing updates takes CPU, disk and network bandwidth, which you may find annoying (especially if you are on an older PC, or want to run experiments unhindered).<br />
<br />
Saying all that, the process of applying updates is relatively painless these days, and in general, the benefits of keeping your system patched and updatated outweigh the inconveniences.<br />
<br />
Furthermore, '''it is YOUR responsibility, as the person who "owns" the PC, to ensure that it is sufficiently patched that there are no exploitable security vulnerabilities which might compromise your PC or the local network.''' There is not some invisible benign force (i.e. Steve or Roger) that is logging in to make sure this happens. '''YOU''' are responsible. You have various options:<br />
<br />
====1. Automatic online update====<br />
<br />
This checks for updates daily (or weekly) and installs them for you. If any of the updates requires you to answer any questions (i.e. "interactive" patches) then they will be skipped. This includes kernel updates (so they will be skipped) and anything that needs a license agreeing to.<br />
<br />
The std_suse_hacks script now configures this to run automatically.<br />
<br />
====2. openSUSE Updater ("annoying green pea")====<br />
<br />
This sits in your system tray in your panel, and is installed on a per-user basis. If you don't have it (perhaps you disabled it in the past) then you can enable it again by going to (on the Suse menu) Applications -> System -> Desktop Applet -> openSUSE Updater Applet. This will appear as either a small green pea, or a blue "?" circle, or perhaps a red warning triangle. If you right-click, you can configure it. Options include:<br />
* Checking for updates daily<br />
* Automatically check for updates when you log in<br />
* Only check for updates when the system is under low load<br />
<br />
You can use the updater to complement the Automatic Online Update... for example you could log in one day to find that there's a kernel update (which the automatic online update hasn't installed), and you can decide whether to install it or not.<br />
<br />
If you don't want the green pea, then:<br />
* Right-click it, configure it, and deselect "Automatically start updater at login", click "Ok"<br />
* Right-click it, click "Quit"<br />
<br />
====3a. Manually using YaST2====<br />
<br />
This relies on you remembering to do this, every now and then.<br />
<br />
* Run YaST as root<br />
* In the "Software" section, click "Online Update"<br />
<br />
====3b. Manually using zypper====<br />
<br />
As root, type "zypper update"<br />
<br />
===Package management===<br />
<br />
'''zypper''' is the command-line tool you use to install and remove packages. You can use it to:<br />
<br />
* Check for updates: zypper update<br />
* Install an rpm in the current directory (and fetch any dependencies) e.g.: zypper install file.rpm<br />
* Install a package e.g.: zypper install qcad<br />
* Search for packages - lists those that are installed, and those available e.g.: zypper search nvid<br />
* Get information about packages (whether installed or not) e.g.: zypper info qcad<br />
* Find out which package is responsible for a file you've found e.g.: zypper what-provides (or wp) /bin/ls<br />
<br />
There are alternative package managers, such as "smart", which may be better than older versions of zypper. Since 11.0 zypper has been improved enough to be suitable for most users. If you want to use smart, you presumably know enough to be able to manage without help.<br />
<br />
====YaST Software Management====<br />
<br />
Think of this as a user-friendly front-end to zypper.<br />
<br />
=== Graphics card ===<br />
There is a good chance you have an nVIDIA graphics card in your computer. If so you will probably want<br />
to install the nVIDIA graphics driver. This is not included in the default installation because<br />
of licensing issues but YAST can manage it for most cards. <br />
<br />
* Start YaST (see above)<br />
* In the "Software" submenu, click on "Software Repositories"<br />
# Click "Add"<br />
# Select "Community Repositories" then click "Next"<br />
# Add "NVIDIA Repository" then click "Ok"<br />
# If it asks you questions about keys, then trust and import them.<br />
# Click "Finish"<br />
* In the "Software" submenu, click on "Software Management"<br />
# Just click "Accept". It will tell you it's installing some other nvidia-related stuff to satisfy dependencies. Click "Continue"<br />
#When it's done, quit the Software Management utility.<br />
*Quit YaST<br />
*In order to get graphics working well with Comsol etc (which really need the accelerated 3D rendering working) you need to do the following:<br />
# As root, edit /etc/modprobe.d/nvidia (using ''vi'' or something)<br />
# Change the bit where it says "NVreg_DeviceFileMode=0660" to "NVreg_DeviceFileMode=0666" (i.e. change the last "0" to a "6")<br />
* (Explanation: by default, SuSE makes all users members of the "video" group, which has GID 33. This would normally give users complete access to the nvidia devices, /dev/nvidia*. However, because we use NIS for user logins, we do not use the "video" group as the GID is <500, generally reserved for system IDs and likely to be different for the different flavours of UNIX/Linux that we use. By changing the "0" to a "6" (which affects /dev/nvidia*) we are letting anyone read and write to the nvidia card. This is potentially a bit insecure, but it's the easiest way to fix this issue).<br />
*When you log out, X should restart and you should now be running the nVIDIA graphics driver. ''Note that the issue with permissions etc won't get sorted out until after a reboot, though'' (or for the technically-minded the next time the nvidia kernel module is inserted). Try an openGL screen saver or start glxgears.<br />
<br />
If this fails (and it is known to fail for very old and very new cards) you will have to use the manual method - ask for advice. Manually<br />
installed nVIDIA drivers are not automatically updated by YAST and can be screwed up by certain updates<br />
(the kernel) and will require reinstalling - you may wish to turn certain updates off (ask).<br />
<br />
sax2 (the YaST graphics config tool) doesn't really understand nVIDIA cards if it doesn't do what you want then try this<br />
tool instead: http://www.sorgonet.com/linux/nv-online/ which worked for me (Matt)<br />
If you have a certain Sony monitor and NVIDIA won't give you the resolution you need then try an older version of the driver... /home/matt/NVIDIA-Linux-x86_64-1.0-9746-pkg2.run. ** this driver no longer compiles for newer kernels ** -matt<br />
<br />
=== Local Software ===<br />
<br />
* Most of the local software you need (sometimes called the "EEE packages") - things like Matlab, Eagle, Comsol, ISE (to name just a few - big commercial packages, basically, rather than home-written ones) are installed interactively as part of the std_suse_hacks scripts. Additional information about this - if you decide you want to add or remove an EEE package - is contained in [[Installing locally | this web page]].<br />
<br />
* c_scan: there is another wiki page which mentions installing c_scan, as well as other command line utilities and drivers for controlling hardware from your Linux PC: link is [[Experimental PC | here]]. Once you have installed c_scan, if you type "man c_scan" you will get the root of the c_scan documentation. Look at the "See also" section at the bottom for hints on specific modules... this this normally the name of the module/action, preceded by "c_" (e.g. "man c_agilent_trace_scope")<br />
<br />
=== Multimedia ===<br />
<br />
You will probably want the multimedia codecs for SUSE. The easiest way to get these is to follow this link <br />
http://opensuse-community.org/Multimedia and click on "codecs-kde.ymp". This should get you a full set of<br />
multimedia codecs that don't come with SUSE by default because of licensing issues.<br />
<br />
Since this doesn't always work and a "what to do when one-click fails" isn't easy to find what you need to<br />
do is add the packman repo and then install the following if they are already installed:<br />
<br />
ffmpeg<br />
flash-player<br />
gst-fluendo-mp3<br />
java-1_5_0-sun-plugin<br />
k3b-codecs<br />
libdvdcss<br />
libxine1<br />
w32codec-all<br />
<br />
and manually install xine-lib (yast doesn't seem to be able to do this on its own).<br />
<br />
** see below **<br />
<br />
=== fix annoying okular bug ===<br />
By now you'll have okular rather than kpdf or acroread for viewing pdfs. It has an annoying bug in that it displays the meaningless pdf title rather than the filename. There is a fix:<br />
<br />
kwriteconfig --file okularpartrc --group General --key DisplayDocumentTitle --type bool false<br />
<br />
You'll be glad you did it!<br />
<br />
=== Printers ===<br />
<br />
These should get set up when you run the appropriate "suse_hack" script. There is a general page of advice regarding the AOG printers [[Printers and printing | here]].<br />
<br />
=== Misc ===<br />
<br />
If you are installing elsewhere and want to run as a router or firewall using two ethernet cards then set up your first card to access the internet and select<br />
this as the "external zone" in the firewall. Then set up your private network on the other card using 192.168.XX.XX (0.1) as the IP address and 255.255.255.0 as the netmask, use "internal zone" for the firewall setting (this means no firewall between your host and the internal network). Then in yast2 "security and users:firewall:masquerading" X the "Masquerade Networks" box.<br />
<br />
Note: I found yast wanting when restarting this network configuration. So if it doesn't just work don't panic, instead run "/etc/init.d/network restart" and<br />
then try. For some reason yast doesn't seem to kick the second network card back to life properly. Matt.<br />
<br />
== Finally ==<br />
<br />
You should have a working system now and hopefully you won't suddenly remember that something important was installed on one of the disks you wiped. Please fix errors in this wiki.<br />
<br />
Cheers,<br />
Matt, Steve, Roger, John and Samuel</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Installing_SuSE_11.4&diff=1228Installing SuSE 11.42011-06-17T17:02:56Z<p>Samuel Achamfuo-Yeboah: /* Finally */</p>
<hr />
<div>Back to [[Linux How-tos]]<br />
<br />
==Installing SUSE 11.4 on AO linux computers.==<br />
<br />
=== First and most important step:===<br />
<br />
Be prepared to trash your computer and lose everything stored on it.<br />
<br />
So make sure you know what software you installed on it before you decided to update the system, also make sure <br />
you know what every other user installed on it. Look in /etc and /local for evidence of non standard software (eg<br />
matlab, comsol, cadence, coventor etc and locally produced software such as c_scan, BNS, etc and check in /etc for evidence<br />
of configuration files eg /etc/stages /etc/andor etc).<br />
<br />
Back up anything you might need - files, programs, data, configurations etc.<br />
<br />
However, if you are on the AO linux network your personal files and data are most likely stored on the server (anything<br />
in /home is on the server).<br />
<br />
* If in doubt ASK someone in the know *<br />
<br />
=== Second step: Your computer ===<br />
<br />
* What kind of processor? (arch)<br />
* What disks / partitions does it have? (df, mount, cat /etc/fstab)<br />
* what is the hostname? (hostname)<br />
* What are your network settings? (/sbin/ifconfig - you are looking for the numbers after "inet addr:" in the "eth0" section)<br />
* What is the root password? (you should know)<br />
* What cards / screens / gadgets does it have?<br />
<br />
=== Third step: ===<br />
<br />
Get hold of the SUSE 11.4 install DVD for your computer. If the arch is i386/i586/i686 (32 bit machines) you will need the i586<br />
disk (labelled "32-bit"). If the arch is x86_64 (64 bit machines) you need the x86_64 disk (labelled "64-bit").<br />
<br />
=== Fourth step: The install ===<br />
<br />
Stick the DVD in the drive, reboot the computer, select "Installation" (rather than "Boot from hard disk") on the boot menu, then follow the instructions:<br />
<br />
*Language: English (UK) (keyboard should automatically change to UK too)<br />
*License agreement appears here, but it just assumes you agree when you click next.<br />
*New installation (not upgrade)<br />
*'''DESELECT "Use Automatic Configuration"''' - otherwise the installer will assume you want to use DHCP for the network settings, which we don't want to do as the PC probably isn't in the DHCP tables (or if it is, it'll have the wrong IP address)<br />
*UK timezone (this should come up automatically. If US timezone came up, then you forgot to select UK keyboard. You can go back to put this right.)<br />
*KDE desktop (unless you specifically want Gnome and are prepared to fix things yourself) - KDE3.5 is no longer available, so KDE4 is what you will get.<br />
<br />
==== Partitioning:====<br />
<br />
This is probably the most complicated bit, the bit you're most likely to need help with, and the bit that it's important to get correct. If you heeded the warning at the beginning about being prepared to trash your PC (as in wipe all the information stored on the hard drive), then this is the moment that you (probably) will do that.<br />
<br />
* Click "Edit Partition Setup..."<br />
<br />
What you want to end up with is something like:<br />
<br />
* Windows partition (if your computer's already got one) - this can be shrunk by the Suse installer.<br />
* Swap partition (roughly twice the size of your RAM, could be a lot more if a modelling PC): format "Linux swap"<br />
* 20GB root ("/") partition: format "Linux Ext4"<br />
* 30GB "/eee" partition: format "Linux Ext4"<br />
* 20GB "/spare_for_future_upgrade" partition: format "Linux Ext4"<br />
* Rest of the disk for "/local_storage": format "Linux Ext4"<br />
<br />
Partitions can be either "Primary" or "extended". For historical reasons, you can have a maximum of 4 "primary" partitions on a hard drive. In practice, what this means is that you should make sda1, sda2, sda3 all primary partitions of the size that you want them; make sda4 the extended partition, taking up the rest of the disk. This isn't really a proper partition itself (you'll not be able to mount it), just think of it as a placeholder for all the other partitions you want to add.<br />
<br />
Assuming you have a Windows partition already, taking up the whole of the disk, this will be partition sda1. This needs shrinking to something sensible (20-50GB? depends how much data you want to be able to store on it).<br />
<br />
If you don't have Windows on the hard drive and don't intend to put it on, then make sda1 your swap partition.<br />
<br />
The information about your existing set up is shown in the 'Hard Disks' section of the system view on the left. This is then divided up into a section for each separate hard disk if you have more than one. Selecting your main disk (eg /dev/sda) gives the most useful view. The partitions tab here should show all the partitions and current mount point etc. There are buttons on this screen to edit existing partitions or to create new partitions if those listed above are not present and there is space on the disk. Also check which disks are being formatted - if this is an upgrade of a linux PC, you should only have to format the root partition.<br />
<br />
You should be able to relate the info here to the information about your disks you found during your preparation. Assuming all is well all you need to do is follow the custom partition settings to reformat the 20Gb "spare" partition and mount it as "/". You can leave the rest untouched and anything on the other disks will be preserved. You should set the mount points of the other partitions/disks here. If you do not have a spare partition, the existing root partition will have to be re-formatted and mounted as "/" (ie root for the new installation).<br />
<br />
ASSUMING YOUR COMPUTER DOESN'T MATCH THIS: Stop and ask for advice before proceeding. There are very good reasons for switching to a root + other partition scheme.<br />
<br />
If you create a new partition, you will be asked if you want to create a ''primary'' or ''extended'' partition. The rules are simple:<br />
* If this is anything other than your fourth partition, select ''primary''<br />
* If this is your fourth partition (sda4 or hda4), select ''extended'' then just click "Ok" on the next screen. Then click "create" to create the partition you actually want.<br />
<br />
Assuming you have a sensible partition scheme you can proceed and format your "/" partition. The data on it will be wiped and the new system installed on top of them. This could take the best part of an hour so go and get a cup of tea or fix this page on the wiki...<br />
<br />
After you've decided on a partitioning setup, click "Accept"<br />
<br />
==== More configuration ====<br />
<br />
On the "Create New User" page...<br />
<br />
* Deselect "Use this password for system administrator"<br />
* Deselect "Automatic Login"<br />
* Click "Change..."<br />
* Click "NIS" (under "Authentication Method") then "Accept"<br />
* Click "Next"<br />
* Root password: you should know this - use the previous one.<br />
<br />
On the "Installation Settings" page...<br />
<br />
* Under 'Firewall and SSH' at the bottom, click 'enable and open' where it says, "SSH service will be disabled...". Make sure the firewall is enabled (zone is external). <br />
* Click "Install" then confirm.<br />
* Go for a quick lunch or have a long cup of tea whilst the installer installs the packages from the DVD. This is quicker than previous installations, it only took 15 minutes on a Settee with 4GB of memory. Your mileage may vary.<br />
<br />
Once the package installation is complete, the PC will automatically reboot. From this point on, if the computer reboots, allow it to "Boot from hard disk" after a green multi-language welcome screen.<br />
<br />
==== Bits missing ====<br />
Matt: the next step appears to be NIS configuration but somehow the net config has been skipped so this fails. The essential details for NIS configuration are "applied_optics" and "128.243.74.4 128.243.74.2". Since I got this far without any net settings I've logged in as root (since there are no other users yet) and configured the rest using yast2.<br />
<br />
=== Step five: Configuring your computer for the AO network===<br />
<br />
There are a number of steps in the SUSE install to follow and then a number of steps to configure your computer for the local environment:<br />
<br />
Check install: Just reports errors nothing for you to do.<br />
<br />
* Hostname: This is the name of your computer - use the previous one<br />
* The domain is eee.nottingham.ac.uk<br />
* Deselect "Change Hostname via DHCP"<br />
* Click "Next"<br />
<br />
Network settings: You usually only have one network card and if you have two either know what you are doing or ask for help.<br />
<br />
General network settings: leave alone.<br />
<br />
Firewall:<br />
* In external zone: "Allowed services" (on left): "Add" the following:<br />
# Secure shell server<br />
# NIS client<br />
# NFS client<br />
* "Logging Level" (on left): select "Do not log any" for:<br />
# Accepted Packets<br />
# Not Accepted Packets<br />
<br />
Network interfaces: click this to edit it:<br />
# "Overview" (tab): click "Edit" button, "Address" tab:<br />
## Select "Statically assigned IP Address" button<br />
## Enter your IP address (from your notes)<br />
## Subnet mask 255.255.0.0<br />
## Hostname: (from notes), include the domain as well e.g. "mypc.eee.nottingham.ac.uk"<br />
## Click "Next"<br />
# Hostnames/DNS (tab):<br />
## Hostname and Domain Name should already be filled in as before<br />
## Names servers are 128.243.40.11, 128.243.40.12, 128.243.21.19 '''(note these have changed from previous values, Dec 2008)'''<br />
# Routing (tab):<br />
## Default Gateway: 128.243.1.1<br />
# Click "OK"<br />
<br />
Proxy:<br />
# Click "Enable Proxy"<br />
# Set the first box (HTTP Proxy URL) to http://optics.eee.nottingham.ac.uk:62267<br />
# "No proxy domains" (comma-separated list): localhost, 127.0.0.1, .nottingham.ac.uk, .nott.ac.uk<br />
# Click "Finish"<br />
<br />
Next the install will try to test the network settings - if there isn't a good reason for this to fail it should work!<br />
* Update: will check for updates. The updater will appear, everything is selected automatically so click "Accept". The first stage updates the updater itself, so when this is done click 'next' then 'accept' then the other updates are installed in the same way. This is currently fairly rapid. <br />
At the time of writing no reboot was required here, but as more patches are added it's possible that one of these will require a reboot at this stage.<br />
<br />
* User Authentication Method: NIS should already be selected, so "Configuration of NIS client" page should appear.<br />
## Leave 'Netconfig NIS Policy' on default.<br />
## NIS Domain: applied_optics<br />
## NIS servers: 128.243.74.2 128.243.74.4 (separated by a space)<br />
## Select start automounter<br />
<br />
* Have a quick read of the release notes. The most important note (if you haven't used 11.0) is that you need to press Ctrl-Alt-Backspace '''twice within 2 seconds''' to get the X-server (your desktop) to restart.<br />
* Hardware config: Mainly gets it right but sometimes selects a lower screen resolution than you want or gets the monitor wrong (you usually want 24bit colour). Ignore Printers - these will get set up later.<br />
* Machine restarts some services here and if all is well you can now log in as usual!<br />
<br />
== Post installation configuration and setting up package management==<br />
<br />
* Log in as root, open a konsole (terminal) window<br />
* Cut and paste or type carefully the following and press enter:<br />
echo "128.243.74.2 optics.eee.nottingham.ac.uk optics armchair" >> /etc/hosts<br />
* cd /home/share/suse_hacks/11.3<br />
* Run '''ONE''' of the following scripts, most appropriate script for your location, either:<br />
## ./std_suse_hacks_ao<br />
## ./std_suse_hacks_ibios<br />
## ./std_suse_hacks_sios<br />
## ./std_suse_hacks_vlsi<br />
*There isn't a huge lot of difference except for local stuff like default printers. The script disables the DVD respository, deletes some SUSE irritations (eg beagle), sets up some useful stuff (eg locate) and installs dead useful software such as compilers, latex and xfig. In addition, it also sets up some network stuff, like telling the PC to use the hostname list (/etc/hosts) on armchair. Without this, it won't know the IP addresses of AOG PCs like bed, which means (if you're in SiOS) you won't be able to log in. That's why we do this first (as root), before attempting to log in as yourself.<br />
*An error about a missing file may be reported (File '/repodata/repomd.xml not found on medium...), in that case choose ignore (i) and the rest of the script works as normal. The problem here appears to be that the network-utils repository doesn't exist for this version. Removing it from in Yast later doesn't seem to cause any problems.<br />
*This is probably your best opportunity for going to lunch, as there are quite a lot of packages to download.<br />
*The last part of the script is interactive - this is where you get to choose which of the common "EEE packages" you want (so called because they are managed by Roger Light in EEE and many involve local licenses, and also because they end up in the /eee directory). Follow the instructions on the screen carefully.<br />
*If you come back from lunch and find the installer appears to have crashed, i.e. it doesn't do anything for several minutes '''and''' it's '''not''' asking you to do something, press ''Ctrl-C'' and run the same script again (i.e. press the ''up arrow'' then ''Enter'').<br />
* If you use any of the eee packages (matlab, comsol, cadence, etc), run install_eee_packages. This makes sure the updating script that works with vpm works correctly.<br />
*Log out, and reboot the PC.<br />
<br />
*Log in as yourself - if this doesn't work, then seek advice.<br />
*There are still some configuration things to do, this involves using the YaST configuration suite, you'll find it somewhere in the SuSE menu (or, as root, type "yast2" from a console window). If you run it from the SuSE menu, you will need to provide the root password.<br />
<br />
===Updates===<br />
<br />
Linux PCs, like all PCs, need patching and updating to patch security holes, fix bugs, or offer improvements. Most of these are benign, some (like updating the kernel) can be more disruptive, especially if it's an experimental PC and controls external hardware: it is likely instrument drivers will need recompiling. Other times, "improvements" introduce more bugs than they fix, or change the user interface (or appearence) of an application that you may find annoying.<br />
<br />
Additionally, the act of looking for and installing updates takes CPU, disk and network bandwidth, which you may find annoying (especially if you are on an older PC, or want to run experiments unhindered).<br />
<br />
Saying all that, the process of applying updates is relatively painless these days, and in general, the benefits of keeping your system patched and updatated outweigh the inconveniences.<br />
<br />
Furthermore, '''it is YOUR responsibility, as the person who "owns" the PC, to ensure that it is sufficiently patched that there are no exploitable security vulnerabilities which might compromise your PC or the local network.''' There is not some invisible benign force (i.e. Steve or Roger) that is logging in to make sure this happens. '''YOU''' are responsible. You have various options:<br />
<br />
====1. Automatic online update====<br />
<br />
This checks for updates daily (or weekly) and installs them for you. If any of the updates requires you to answer any questions (i.e. "interactive" patches) then they will be skipped. This includes kernel updates (so they will be skipped) and anything that needs a license agreeing to.<br />
<br />
The std_suse_hacks script now configures this to run automatically.<br />
<br />
====2. openSUSE Updater ("annoying green pea")====<br />
<br />
This sits in your system tray in your panel, and is installed on a per-user basis. If you don't have it (perhaps you disabled it in the past) then you can enable it again by going to (on the Suse menu) Applications -> System -> Desktop Applet -> openSUSE Updater Applet. This will appear as either a small green pea, or a blue "?" circle, or perhaps a red warning triangle. If you right-click, you can configure it. Options include:<br />
* Checking for updates daily<br />
* Automatically check for updates when you log in<br />
* Only check for updates when the system is under low load<br />
<br />
You can use the updater to complement the Automatic Online Update... for example you could log in one day to find that there's a kernel update (which the automatic online update hasn't installed), and you can decide whether to install it or not.<br />
<br />
If you don't want the green pea, then:<br />
* Right-click it, configure it, and deselect "Automatically start updater at login", click "Ok"<br />
* Right-click it, click "Quit"<br />
<br />
====3a. Manually using YaST2====<br />
<br />
This relies on you remembering to do this, every now and then.<br />
<br />
* Run YaST as root<br />
* In the "Software" section, click "Online Update"<br />
<br />
====3b. Manually using zypper====<br />
<br />
As root, type "zypper update"<br />
<br />
===Package management===<br />
<br />
'''zypper''' is the command-line tool you use to install and remove packages. You can use it to:<br />
<br />
* Check for updates: zypper update<br />
* Install an rpm in the current directory (and fetch any dependencies) e.g.: zypper install file.rpm<br />
* Install a package e.g.: zypper install qcad<br />
* Search for packages - lists those that are installed, and those available e.g.: zypper search nvid<br />
* Get information about packages (whether installed or not) e.g.: zypper info qcad<br />
* Find out which package is responsible for a file you've found e.g.: zypper what-provides (or wp) /bin/ls<br />
<br />
There are alternative package managers, such as "smart", which may be better than older versions of zypper. Since 11.0 zypper has been improved enough to be suitable for most users. If you want to use smart, you presumably know enough to be able to manage without help.<br />
<br />
====YaST Software Management====<br />
<br />
Think of this as a user-friendly front-end to zypper.<br />
<br />
=== Graphics card ===<br />
There is a good chance you have an nVIDIA graphics card in your computer. If so you will probably want<br />
to install the nVIDIA graphics driver. This is not included in the default installation because<br />
of licensing issues but YAST can manage it for most cards. <br />
<br />
* Start YaST (see above)<br />
* In the "Software" submenu, click on "Software Repositories"<br />
# Click "Add"<br />
# Select "Community Repositories" then click "Next"<br />
# Add "NVIDIA Repository" then click "Ok"<br />
# If it asks you questions about keys, then trust and import them.<br />
# Click "Finish"<br />
* In the "Software" submenu, click on "Software Management"<br />
# Just click "Accept". It will tell you it's installing some other nvidia-related stuff to satisfy dependencies. Click "Continue"<br />
#When it's done, quit the Software Management utility.<br />
*Quit YaST<br />
*In order to get graphics working well with Comsol etc (which really need the accelerated 3D rendering working) you need to do the following:<br />
# As root, edit /etc/modprobe.d/nvidia (using ''vi'' or something)<br />
# Change the bit where it says "NVreg_DeviceFileMode=0660" to "NVreg_DeviceFileMode=0666" (i.e. change the last "0" to a "6")<br />
* (Explanation: by default, SuSE makes all users members of the "video" group, which has GID 33. This would normally give users complete access to the nvidia devices, /dev/nvidia*. However, because we use NIS for user logins, we do not use the "video" group as the GID is <500, generally reserved for system IDs and likely to be different for the different flavours of UNIX/Linux that we use. By changing the "0" to a "6" (which affects /dev/nvidia*) we are letting anyone read and write to the nvidia card. This is potentially a bit insecure, but it's the easiest way to fix this issue).<br />
*When you log out, X should restart and you should now be running the nVIDIA graphics driver. ''Note that the issue with permissions etc won't get sorted out until after a reboot, though'' (or for the technically-minded the next time the nvidia kernel module is inserted). Try an openGL screen saver or start glxgears.<br />
<br />
If this fails (and it is known to fail for very old and very new cards) you will have to use the manual method - ask for advice. Manually<br />
installed nVIDIA drivers are not automatically updated by YAST and can be screwed up by certain updates<br />
(the kernel) and will require reinstalling - you may wish to turn certain updates off (ask).<br />
<br />
sax2 (the YaST graphics config tool) doesn't really understand nVIDIA cards if it doesn't do what you want then try this<br />
tool instead: http://www.sorgonet.com/linux/nv-online/ which worked for me (Matt)<br />
If you have a certain Sony monitor and NVIDIA won't give you the resolution you need then try an older version of the driver... /home/matt/NVIDIA-Linux-x86_64-1.0-9746-pkg2.run. ** this driver no longer compiles for newer kernels ** -matt<br />
<br />
=== Local Software ===<br />
<br />
* Most of the local software you need (sometimes called the "EEE packages") - things like Matlab, Eagle, Comsol, ISE (to name just a few - big commercial packages, basically, rather than home-written ones) are installed interactively as part of the std_suse_hacks scripts. Additional information about this - if you decide you want to add or remove an EEE package - is contained in [[Installing locally | this web page]].<br />
<br />
* c_scan: there is another wiki page which mentions installing c_scan, as well as other command line utilities and drivers for controlling hardware from your Linux PC: link is [[Experimental PC | here]]. Once you have installed c_scan, if you type "man c_scan" you will get the root of the c_scan documentation. Look at the "See also" section at the bottom for hints on specific modules... this this normally the name of the module/action, preceded by "c_" (e.g. "man c_agilent_trace_scope")<br />
<br />
=== Multimedia ===<br />
<br />
You will probably want the multimedia codecs for SUSE. The easiest way to get these is to follow this link <br />
http://opensuse-community.org/Multimedia and click on "codecs-kde.ymp". This should get you a full set of<br />
multimedia codecs that don't come with SUSE by default because of licensing issues.<br />
<br />
Since this doesn't always work and a "what to do when one-click fails" isn't easy to find what you need to<br />
do is add the packman repo and then install the following if they are already installed:<br />
<br />
ffmpeg<br />
flash-player<br />
gst-fluendo-mp3<br />
java-1_5_0-sun-plugin<br />
k3b-codecs<br />
libdvdcss<br />
libxine1<br />
w32codec-all<br />
<br />
and manually dinstall xine-lib (yast doesn't seem to be able to do this on its own).<br />
<br />
** see below **<br />
<br />
=== fix annoying okular bug ===<br />
By now you'll have okular rather than kpdf or acroread for viewing pdfs. It has an annoying bug in that it displays the meaningless pdf title rather than the filename. There is a fix:<br />
<br />
kwriteconfig --file okularpartrc --group General --key DisplayDocumentTitle --type bool false<br />
<br />
You'll be glad you did it!<br />
<br />
=== Printers ===<br />
<br />
These should get set up when you run the appropriate "suse_hack" script. There is a general page of advice regarding the AOG printers [[Printers and printing | here]].<br />
<br />
=== Misc ===<br />
<br />
If you are installing elsewhere and want to run as a router or firewall using two ethernet cards then set up your first card to access the internet and select<br />
this as the "external zone" in the firewall. Then set up your private network on the other card using 192.168.XX.XX (0.1) as the IP address and 255.255.255.0 as the netmask, use "internal zone" for the firewall setting (this means no firewall between your host and the internal network). Then in yast2 "security and users:firewall:masquerading" X the "Masquerade Networks" box.<br />
<br />
Note: I found yast wanting when restarting this network configuration. So if it doesn't just work don't panic, instead run "/etc/init.d/network restart" and<br />
then try. For some reason yast doesn't seem to kick the second network card back to life properly. Matt.<br />
<br />
== Finally ==<br />
<br />
You should have a working system now and hopefully you won't suddenly remember that something important was installed on one of the disks you wiped. Please fix errors in this wiki.<br />
<br />
Cheers,<br />
Matt, Steve, Roger, John and Samuel</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Installing_SuSE_11.4&diff=1227Installing SuSE 11.42011-06-17T17:02:30Z<p>Samuel Achamfuo-Yeboah: </p>
<hr />
<div>Back to [[Linux How-tos]]<br />
<br />
==Installing SUSE 11.4 on AO linux computers.==<br />
<br />
=== First and most important step:===<br />
<br />
Be prepared to trash your computer and lose everything stored on it.<br />
<br />
So make sure you know what software you installed on it before you decided to update the system, also make sure <br />
you know what every other user installed on it. Look in /etc and /local for evidence of non standard software (eg<br />
matlab, comsol, cadence, coventor etc and locally produced software such as c_scan, BNS, etc and check in /etc for evidence<br />
of configuration files eg /etc/stages /etc/andor etc).<br />
<br />
Back up anything you might need - files, programs, data, configurations etc.<br />
<br />
However, if you are on the AO linux network your personal files and data are most likely stored on the server (anything<br />
in /home is on the server).<br />
<br />
* If in doubt ASK someone in the know *<br />
<br />
=== Second step: Your computer ===<br />
<br />
* What kind of processor? (arch)<br />
* What disks / partitions does it have? (df, mount, cat /etc/fstab)<br />
* what is the hostname? (hostname)<br />
* What are your network settings? (/sbin/ifconfig - you are looking for the numbers after "inet addr:" in the "eth0" section)<br />
* What is the root password? (you should know)<br />
* What cards / screens / gadgets does it have?<br />
<br />
=== Third step: ===<br />
<br />
Get hold of the SUSE 11.4 install DVD for your computer. If the arch is i386/i586/i686 (32 bit machines) you will need the i586<br />
disk (labelled "32-bit"). If the arch is x86_64 (64 bit machines) you need the x86_64 disk (labelled "64-bit").<br />
<br />
=== Fourth step: The install ===<br />
<br />
Stick the DVD in the drive, reboot the computer, select "Installation" (rather than "Boot from hard disk") on the boot menu, then follow the instructions:<br />
<br />
*Language: English (UK) (keyboard should automatically change to UK too)<br />
*License agreement appears here, but it just assumes you agree when you click next.<br />
*New installation (not upgrade)<br />
*'''DESELECT "Use Automatic Configuration"''' - otherwise the installer will assume you want to use DHCP for the network settings, which we don't want to do as the PC probably isn't in the DHCP tables (or if it is, it'll have the wrong IP address)<br />
*UK timezone (this should come up automatically. If US timezone came up, then you forgot to select UK keyboard. You can go back to put this right.)<br />
*KDE desktop (unless you specifically want Gnome and are prepared to fix things yourself) - KDE3.5 is no longer available, so KDE4 is what you will get.<br />
<br />
==== Partitioning:====<br />
<br />
This is probably the most complicated bit, the bit you're most likely to need help with, and the bit that it's important to get correct. If you heeded the warning at the beginning about being prepared to trash your PC (as in wipe all the information stored on the hard drive), then this is the moment that you (probably) will do that.<br />
<br />
* Click "Edit Partition Setup..."<br />
<br />
What you want to end up with is something like:<br />
<br />
* Windows partition (if your computer's already got one) - this can be shrunk by the Suse installer.<br />
* Swap partition (roughly twice the size of your RAM, could be a lot more if a modelling PC): format "Linux swap"<br />
* 20GB root ("/") partition: format "Linux Ext4"<br />
* 30GB "/eee" partition: format "Linux Ext4"<br />
* 20GB "/spare_for_future_upgrade" partition: format "Linux Ext4"<br />
* Rest of the disk for "/local_storage": format "Linux Ext4"<br />
<br />
Partitions can be either "Primary" or "extended". For historical reasons, you can have a maximum of 4 "primary" partitions on a hard drive. In practice, what this means is that you should make sda1, sda2, sda3 all primary partitions of the size that you want them; make sda4 the extended partition, taking up the rest of the disk. This isn't really a proper partition itself (you'll not be able to mount it), just think of it as a placeholder for all the other partitions you want to add.<br />
<br />
Assuming you have a Windows partition already, taking up the whole of the disk, this will be partition sda1. This needs shrinking to something sensible (20-50GB? depends how much data you want to be able to store on it).<br />
<br />
If you don't have Windows on the hard drive and don't intend to put it on, then make sda1 your swap partition.<br />
<br />
The information about your existing set up is shown in the 'Hard Disks' section of the system view on the left. This is then divided up into a section for each separate hard disk if you have more than one. Selecting your main disk (eg /dev/sda) gives the most useful view. The partitions tab here should show all the partitions and current mount point etc. There are buttons on this screen to edit existing partitions or to create new partitions if those listed above are not present and there is space on the disk. Also check which disks are being formatted - if this is an upgrade of a linux PC, you should only have to format the root partition.<br />
<br />
You should be able to relate the info here to the information about your disks you found during your preparation. Assuming all is well all you need to do is follow the custom partition settings to reformat the 20Gb "spare" partition and mount it as "/". You can leave the rest untouched and anything on the other disks will be preserved. You should set the mount points of the other partitions/disks here. If you do not have a spare partition, the existing root partition will have to be re-formatted and mounted as "/" (ie root for the new installation).<br />
<br />
ASSUMING YOUR COMPUTER DOESN'T MATCH THIS: Stop and ask for advice before proceeding. There are very good reasons for switching to a root + other partition scheme.<br />
<br />
If you create a new partition, you will be asked if you want to create a ''primary'' or ''extended'' partition. The rules are simple:<br />
* If this is anything other than your fourth partition, select ''primary''<br />
* If this is your fourth partition (sda4 or hda4), select ''extended'' then just click "Ok" on the next screen. Then click "create" to create the partition you actually want.<br />
<br />
Assuming you have a sensible partition scheme you can proceed and format your "/" partition. The data on it will be wiped and the new system installed on top of them. This could take the best part of an hour so go and get a cup of tea or fix this page on the wiki...<br />
<br />
After you've decided on a partitioning setup, click "Accept"<br />
<br />
==== More configuration ====<br />
<br />
On the "Create New User" page...<br />
<br />
* Deselect "Use this password for system administrator"<br />
* Deselect "Automatic Login"<br />
* Click "Change..."<br />
* Click "NIS" (under "Authentication Method") then "Accept"<br />
* Click "Next"<br />
* Root password: you should know this - use the previous one.<br />
<br />
On the "Installation Settings" page...<br />
<br />
* Under 'Firewall and SSH' at the bottom, click 'enable and open' where it says, "SSH service will be disabled...". Make sure the firewall is enabled (zone is external). <br />
* Click "Install" then confirm.<br />
* Go for a quick lunch or have a long cup of tea whilst the installer installs the packages from the DVD. This is quicker than previous installations, it only took 15 minutes on a Settee with 4GB of memory. Your mileage may vary.<br />
<br />
Once the package installation is complete, the PC will automatically reboot. From this point on, if the computer reboots, allow it to "Boot from hard disk" after a green multi-language welcome screen.<br />
<br />
==== Bits missing ====<br />
Matt: the next step appears to be NIS configuration but somehow the net config has been skipped so this fails. The essential details for NIS configuration are "applied_optics" and "128.243.74.4 128.243.74.2". Since I got this far without any net settings I've logged in as root (since there are no other users yet) and configured the rest using yast2.<br />
<br />
=== Step five: Configuring your computer for the AO network===<br />
<br />
There are a number of steps in the SUSE install to follow and then a number of steps to configure your computer for the local environment:<br />
<br />
Check install: Just reports errors nothing for you to do.<br />
<br />
* Hostname: This is the name of your computer - use the previous one<br />
* The domain is eee.nottingham.ac.uk<br />
* Deselect "Change Hostname via DHCP"<br />
* Click "Next"<br />
<br />
Network settings: You usually only have one network card and if you have two either know what you are doing or ask for help.<br />
<br />
General network settings: leave alone.<br />
<br />
Firewall:<br />
* In external zone: "Allowed services" (on left): "Add" the following:<br />
# Secure shell server<br />
# NIS client<br />
# NFS client<br />
* "Logging Level" (on left): select "Do not log any" for:<br />
# Accepted Packets<br />
# Not Accepted Packets<br />
<br />
Network interfaces: click this to edit it:<br />
# "Overview" (tab): click "Edit" button, "Address" tab:<br />
## Select "Statically assigned IP Address" button<br />
## Enter your IP address (from your notes)<br />
## Subnet mask 255.255.0.0<br />
## Hostname: (from notes), include the domain as well e.g. "mypc.eee.nottingham.ac.uk"<br />
## Click "Next"<br />
# Hostnames/DNS (tab):<br />
## Hostname and Domain Name should already be filled in as before<br />
## Names servers are 128.243.40.11, 128.243.40.12, 128.243.21.19 '''(note these have changed from previous values, Dec 2008)'''<br />
# Routing (tab):<br />
## Default Gateway: 128.243.1.1<br />
# Click "OK"<br />
<br />
Proxy:<br />
# Click "Enable Proxy"<br />
# Set the first box (HTTP Proxy URL) to http://optics.eee.nottingham.ac.uk:62267<br />
# "No proxy domains" (comma-separated list): localhost, 127.0.0.1, .nottingham.ac.uk, .nott.ac.uk<br />
# Click "Finish"<br />
<br />
Next the install will try to test the network settings - if there isn't a good reason for this to fail it should work!<br />
* Update: will check for updates. The updater will appear, everything is selected automatically so click "Accept". The first stage updates the updater itself, so when this is done click 'next' then 'accept' then the other updates are installed in the same way. This is currently fairly rapid. <br />
At the time of writing no reboot was required here, but as more patches are added it's possible that one of these will require a reboot at this stage.<br />
<br />
* User Authentication Method: NIS should already be selected, so "Configuration of NIS client" page should appear.<br />
## Leave 'Netconfig NIS Policy' on default.<br />
## NIS Domain: applied_optics<br />
## NIS servers: 128.243.74.2 128.243.74.4 (separated by a space)<br />
## Select start automounter<br />
<br />
* Have a quick read of the release notes. The most important note (if you haven't used 11.0) is that you need to press Ctrl-Alt-Backspace '''twice within 2 seconds''' to get the X-server (your desktop) to restart.<br />
* Hardware config: Mainly gets it right but sometimes selects a lower screen resolution than you want or gets the monitor wrong (you usually want 24bit colour). Ignore Printers - these will get set up later.<br />
* Machine restarts some services here and if all is well you can now log in as usual!<br />
<br />
== Post installation configuration and setting up package management==<br />
<br />
* Log in as root, open a konsole (terminal) window<br />
* Cut and paste or type carefully the following and press enter:<br />
echo "128.243.74.2 optics.eee.nottingham.ac.uk optics armchair" >> /etc/hosts<br />
* cd /home/share/suse_hacks/11.3<br />
* Run '''ONE''' of the following scripts, most appropriate script for your location, either:<br />
## ./std_suse_hacks_ao<br />
## ./std_suse_hacks_ibios<br />
## ./std_suse_hacks_sios<br />
## ./std_suse_hacks_vlsi<br />
*There isn't a huge lot of difference except for local stuff like default printers. The script disables the DVD respository, deletes some SUSE irritations (eg beagle), sets up some useful stuff (eg locate) and installs dead useful software such as compilers, latex and xfig. In addition, it also sets up some network stuff, like telling the PC to use the hostname list (/etc/hosts) on armchair. Without this, it won't know the IP addresses of AOG PCs like bed, which means (if you're in SiOS) you won't be able to log in. That's why we do this first (as root), before attempting to log in as yourself.<br />
*An error about a missing file may be reported (File '/repodata/repomd.xml not found on medium...), in that case choose ignore (i) and the rest of the script works as normal. The problem here appears to be that the network-utils repository doesn't exist for this version. Removing it from in Yast later doesn't seem to cause any problems.<br />
*This is probably your best opportunity for going to lunch, as there are quite a lot of packages to download.<br />
*The last part of the script is interactive - this is where you get to choose which of the common "EEE packages" you want (so called because they are managed by Roger Light in EEE and many involve local licenses, and also because they end up in the /eee directory). Follow the instructions on the screen carefully.<br />
*If you come back from lunch and find the installer appears to have crashed, i.e. it doesn't do anything for several minutes '''and''' it's '''not''' asking you to do something, press ''Ctrl-C'' and run the same script again (i.e. press the ''up arrow'' then ''Enter'').<br />
* If you use any of the eee packages (matlab, comsol, cadence, etc), run install_eee_packages. This makes sure the updating script that works with vpm works correctly.<br />
*Log out, and reboot the PC.<br />
<br />
*Log in as yourself - if this doesn't work, then seek advice.<br />
*There are still some configuration things to do, this involves using the YaST configuration suite, you'll find it somewhere in the SuSE menu (or, as root, type "yast2" from a console window). If you run it from the SuSE menu, you will need to provide the root password.<br />
<br />
===Updates===<br />
<br />
Linux PCs, like all PCs, need patching and updating to patch security holes, fix bugs, or offer improvements. Most of these are benign, some (like updating the kernel) can be more disruptive, especially if it's an experimental PC and controls external hardware: it is likely instrument drivers will need recompiling. Other times, "improvements" introduce more bugs than they fix, or change the user interface (or appearence) of an application that you may find annoying.<br />
<br />
Additionally, the act of looking for and installing updates takes CPU, disk and network bandwidth, which you may find annoying (especially if you are on an older PC, or want to run experiments unhindered).<br />
<br />
Saying all that, the process of applying updates is relatively painless these days, and in general, the benefits of keeping your system patched and updatated outweigh the inconveniences.<br />
<br />
Furthermore, '''it is YOUR responsibility, as the person who "owns" the PC, to ensure that it is sufficiently patched that there are no exploitable security vulnerabilities which might compromise your PC or the local network.''' There is not some invisible benign force (i.e. Steve or Roger) that is logging in to make sure this happens. '''YOU''' are responsible. You have various options:<br />
<br />
====1. Automatic online update====<br />
<br />
This checks for updates daily (or weekly) and installs them for you. If any of the updates requires you to answer any questions (i.e. "interactive" patches) then they will be skipped. This includes kernel updates (so they will be skipped) and anything that needs a license agreeing to.<br />
<br />
The std_suse_hacks script now configures this to run automatically.<br />
<br />
====2. openSUSE Updater ("annoying green pea")====<br />
<br />
This sits in your system tray in your panel, and is installed on a per-user basis. If you don't have it (perhaps you disabled it in the past) then you can enable it again by going to (on the Suse menu) Applications -> System -> Desktop Applet -> openSUSE Updater Applet. This will appear as either a small green pea, or a blue "?" circle, or perhaps a red warning triangle. If you right-click, you can configure it. Options include:<br />
* Checking for updates daily<br />
* Automatically check for updates when you log in<br />
* Only check for updates when the system is under low load<br />
<br />
You can use the updater to complement the Automatic Online Update... for example you could log in one day to find that there's a kernel update (which the automatic online update hasn't installed), and you can decide whether to install it or not.<br />
<br />
If you don't want the green pea, then:<br />
* Right-click it, configure it, and deselect "Automatically start updater at login", click "Ok"<br />
* Right-click it, click "Quit"<br />
<br />
====3a. Manually using YaST2====<br />
<br />
This relies on you remembering to do this, every now and then.<br />
<br />
* Run YaST as root<br />
* In the "Software" section, click "Online Update"<br />
<br />
====3b. Manually using zypper====<br />
<br />
As root, type "zypper update"<br />
<br />
===Package management===<br />
<br />
'''zypper''' is the command-line tool you use to install and remove packages. You can use it to:<br />
<br />
* Check for updates: zypper update<br />
* Install an rpm in the current directory (and fetch any dependencies) e.g.: zypper install file.rpm<br />
* Install a package e.g.: zypper install qcad<br />
* Search for packages - lists those that are installed, and those available e.g.: zypper search nvid<br />
* Get information about packages (whether installed or not) e.g.: zypper info qcad<br />
* Find out which package is responsible for a file you've found e.g.: zypper what-provides (or wp) /bin/ls<br />
<br />
There are alternative package managers, such as "smart", which may be better than older versions of zypper. Since 11.0 zypper has been improved enough to be suitable for most users. If you want to use smart, you presumably know enough to be able to manage without help.<br />
<br />
====YaST Software Management====<br />
<br />
Think of this as a user-friendly front-end to zypper.<br />
<br />
=== Graphics card ===<br />
There is a good chance you have an nVIDIA graphics card in your computer. If so you will probably want<br />
to install the nVIDIA graphics driver. This is not included in the default installation because<br />
of licensing issues but YAST can manage it for most cards. <br />
<br />
* Start YaST (see above)<br />
* In the "Software" submenu, click on "Software Repositories"<br />
# Click "Add"<br />
# Select "Community Repositories" then click "Next"<br />
# Add "NVIDIA Repository" then click "Ok"<br />
# If it asks you questions about keys, then trust and import them.<br />
# Click "Finish"<br />
* In the "Software" submenu, click on "Software Management"<br />
# Just click "Accept". It will tell you it's installing some other nvidia-related stuff to satisfy dependencies. Click "Continue"<br />
#When it's done, quit the Software Management utility.<br />
*Quit YaST<br />
*In order to get graphics working well with Comsol etc (which really need the accelerated 3D rendering working) you need to do the following:<br />
# As root, edit /etc/modprobe.d/nvidia (using ''vi'' or something)<br />
# Change the bit where it says "NVreg_DeviceFileMode=0660" to "NVreg_DeviceFileMode=0666" (i.e. change the last "0" to a "6")<br />
* (Explanation: by default, SuSE makes all users members of the "video" group, which has GID 33. This would normally give users complete access to the nvidia devices, /dev/nvidia*. However, because we use NIS for user logins, we do not use the "video" group as the GID is <500, generally reserved for system IDs and likely to be different for the different flavours of UNIX/Linux that we use. By changing the "0" to a "6" (which affects /dev/nvidia*) we are letting anyone read and write to the nvidia card. This is potentially a bit insecure, but it's the easiest way to fix this issue).<br />
*When you log out, X should restart and you should now be running the nVIDIA graphics driver. ''Note that the issue with permissions etc won't get sorted out until after a reboot, though'' (or for the technically-minded the next time the nvidia kernel module is inserted). Try an openGL screen saver or start glxgears.<br />
<br />
If this fails (and it is known to fail for very old and very new cards) you will have to use the manual method - ask for advice. Manually<br />
installed nVIDIA drivers are not automatically updated by YAST and can be screwed up by certain updates<br />
(the kernel) and will require reinstalling - you may wish to turn certain updates off (ask).<br />
<br />
sax2 (the YaST graphics config tool) doesn't really understand nVIDIA cards if it doesn't do what you want then try this<br />
tool instead: http://www.sorgonet.com/linux/nv-online/ which worked for me (Matt)<br />
If you have a certain Sony monitor and NVIDIA won't give you the resolution you need then try an older version of the driver... /home/matt/NVIDIA-Linux-x86_64-1.0-9746-pkg2.run. ** this driver no longer compiles for newer kernels ** -matt<br />
<br />
=== Local Software ===<br />
<br />
* Most of the local software you need (sometimes called the "EEE packages") - things like Matlab, Eagle, Comsol, ISE (to name just a few - big commercial packages, basically, rather than home-written ones) are installed interactively as part of the std_suse_hacks scripts. Additional information about this - if you decide you want to add or remove an EEE package - is contained in [[Installing locally | this web page]].<br />
<br />
* c_scan: there is another wiki page which mentions installing c_scan, as well as other command line utilities and drivers for controlling hardware from your Linux PC: link is [[Experimental PC | here]]. Once you have installed c_scan, if you type "man c_scan" you will get the root of the c_scan documentation. Look at the "See also" section at the bottom for hints on specific modules... this this normally the name of the module/action, preceded by "c_" (e.g. "man c_agilent_trace_scope")<br />
<br />
=== Multimedia ===<br />
<br />
You will probably want the multimedia codecs for SUSE. The easiest way to get these is to follow this link <br />
http://opensuse-community.org/Multimedia and click on "codecs-kde.ymp". This should get you a full set of<br />
multimedia codecs that don't come with SUSE by default because of licensing issues.<br />
<br />
Since this doesn't always work and a "what to do when one-click fails" isn't easy to find what you need to<br />
do is add the packman repo and then install the following if they are already installed:<br />
<br />
ffmpeg<br />
flash-player<br />
gst-fluendo-mp3<br />
java-1_5_0-sun-plugin<br />
k3b-codecs<br />
libdvdcss<br />
libxine1<br />
w32codec-all<br />
<br />
and manually dinstall xine-lib (yast doesn't seem to be able to do this on its own).<br />
<br />
** see below **<br />
<br />
=== fix annoying okular bug ===<br />
By now you'll have okular rather than kpdf or acroread for viewing pdfs. It has an annoying bug in that it displays the meaningless pdf title rather than the filename. There is a fix:<br />
<br />
kwriteconfig --file okularpartrc --group General --key DisplayDocumentTitle --type bool false<br />
<br />
You'll be glad you did it!<br />
<br />
=== Printers ===<br />
<br />
These should get set up when you run the appropriate "suse_hack" script. There is a general page of advice regarding the AOG printers [[Printers and printing | here]].<br />
<br />
=== Misc ===<br />
<br />
If you are installing elsewhere and want to run as a router or firewall using two ethernet cards then set up your first card to access the internet and select<br />
this as the "external zone" in the firewall. Then set up your private network on the other card using 192.168.XX.XX (0.1) as the IP address and 255.255.255.0 as the netmask, use "internal zone" for the firewall setting (this means no firewall between your host and the internal network). Then in yast2 "security and users:firewall:masquerading" X the "Masquerade Networks" box.<br />
<br />
Note: I found yast wanting when restarting this network configuration. So if it doesn't just work don't panic, instead run "/etc/init.d/network restart" and<br />
then try. For some reason yast doesn't seem to kick the second network card back to life properly. Matt.<br />
<br />
=== Finally ===<br />
<br />
You should have a working system now and hopefully you won't suddenly remember that something important was installed on one of the disks you wiped. Please fix errors in this wiki.<br />
<br />
Cheers,<br />
Matt, Steve, Roger, John and Samuel</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Installing_SuSE_11.4&diff=1226Installing SuSE 11.42011-06-17T17:00:19Z<p>Samuel Achamfuo-Yeboah: Created page with "Back to Linux How-tos ==Installing SUSE 11.4 on AO linux computers.== === First and most important step:=== Be prepared to trash your computer and lose everything stored o..."</p>
<hr />
<div>Back to [[Linux How-tos]]<br />
<br />
==Installing SUSE 11.4 on AO linux computers.==<br />
<br />
=== First and most important step:===<br />
<br />
Be prepared to trash your computer and lose everything stored on it.<br />
<br />
So make sure you know what software you installed on it before you decided to update the system, also make sure <br />
you know what every other user installed on it. Look in /etc and /local for evidence of non standard software (eg<br />
matlab, comsol, cadence, coventor etc and locally produced software such as c_scan, BNS, etc and check in /etc for evidence<br />
of configuration files eg /etc/stages /etc/andor etc).<br />
<br />
Back up anything you might need - files, programs, data, configurations etc.<br />
<br />
However, if you are on the AO linux network your personal files and data are most likely stored on the server (anything<br />
in /home is on the server).<br />
<br />
* If in doubt ASK someone in the know *<br />
<br />
=== Second step: Your computer ===<br />
<br />
* What kind of processor? (arch)<br />
* What disks / partitions does it have? (df, mount, cat /etc/fstab)<br />
* what is the hostname? (hostname)<br />
* What are your network settings? (/sbin/ifconfig - you are looking for the numbers after "inet addr:" in the "eth0" section)<br />
* What is the root password? (you should know)<br />
* What cards / screens / gadgets does it have?<br />
<br />
=== Third step: ===<br />
<br />
Get hold of the SUSE 11.4 install DVD for your computer. If the arch is i386/i586/i686 (32 bit machines) you will need the i586<br />
disk (labelled "32-bit"). If the arch is x86_64 (64 bit machines) you need the x86_64 disk (labelled "64-bit").<br />
<br />
=== Fourth step: The install ===<br />
<br />
Stick the DVD in the drive, reboot the computer, select "Installation" (rather than "Boot from hard disk") on the boot menu, then follow the instructions:<br />
<br />
*Language: English (UK) (keyboard should automatically change to UK too)<br />
*License agreement appears here, but it just assumes you agree when you click next.<br />
*New installation (not upgrade)<br />
*'''DESELECT "Use Automatic Configuration"''' - otherwise the installer will assume you want to use DHCP for the network settings, which we don't want to do as the PC probably isn't in the DHCP tables (or if it is, it'll have the wrong IP address)<br />
*UK timezone (this should come up automatically. If US timezone came up, then you forgot to select UK keyboard. You can go back to put this right.)<br />
*KDE desktop (unless you specifically want Gnome and are prepared to fix things yourself) - KDE3.5 is no longer available, so KDE4 is what you will get.<br />
<br />
==== Partitioning:====<br />
<br />
This is probably the most complicated bit, the bit you're most likely to need help with, and the bit that it's important to get correct. If you heeded the warning at the beginning about being prepared to trash your PC (as in wipe all the information stored on the hard drive), then this is the moment that you (probably) will do that.<br />
<br />
* Click "Edit Partition Setup..."<br />
<br />
What you want to end up with is something like:<br />
<br />
* Windows partition (if your computer's already got one) - this can be shrunk by the Suse installer.<br />
* Swap partition (roughly twice the size of your RAM, could be a lot more if a modelling PC): format "Linux swap"<br />
* 20GB root ("/") partition: format "Linux Ext4"<br />
* 30GB "/eee" partition: format "Linux Ext4"<br />
* 20GB "/spare_for_future_upgrade" partition: format "Linux Ext4"<br />
* Rest of the disk for "/local_storage": format "Linux Ext4"<br />
<br />
Partitions can be either "Primary" or "extended". For historical reasons, you can have a maximum of 4 "primary" partitions on a hard drive. In practice, what this means is that you should make sda1, sda2, sda3 all primary partitions of the size that you want them; make sda4 the extended partition, taking up the rest of the disk. This isn't really a proper partition itself (you'll not be able to mount it), just think of it as a placeholder for all the other partitions you want to add.<br />
<br />
Assuming you have a Windows partition already, taking up the whole of the disk, this will be partition sda1. This needs shrinking to something sensible (20-50GB? depends how much data you want to be able to store on it).<br />
<br />
If you don't have Windows on the hard drive and don't intend to put it on, then make sda1 your swap partition.<br />
<br />
The information about your existing set up is shown in the 'Hard Disks' section of the system view on the left. This is then divided up into a section for each separate hard disk if you have more than one. Selecting your main disk (eg /dev/sda) gives the most useful view. The partitions tab here should show all the partitions and current mount point etc. There are buttons on this screen to edit existing partitions or to create new partitions if those listed above are not present and there is space on the disk. Also check which disks are being formatted - if this is an upgrade of a linux PC, you should only have to format the root partition.<br />
<br />
You should be able to relate the info here to the information about your disks you found during your preparation. Assuming all is well all you need to do is follow the custom partition settings to reformat the 20Gb "spare" partition and mount it as "/". You can leave the rest untouched and anything on the other disks will be preserved. You should set the mount points of the other partitions/disks here. If you do not have a spare partition, the existing root partition will have to be re-formatted and mounted as "/" (ie root for the new installation).<br />
<br />
ASSUMING YOUR COMPUTER DOESN'T MATCH THIS: Stop and ask for advice before proceeding. There are very good reasons for switching to a root + other partition scheme.<br />
<br />
If you create a new partition, you will be asked if you want to create a ''primary'' or ''extended'' partition. The rules are simple:<br />
* If this is anything other than your fourth partition, select ''primary''<br />
* If this is your fourth partition (sda4 or hda4), select ''extended'' then just click "Ok" on the next screen. Then click "create" to create the partition you actually want.<br />
<br />
Assuming you have a sensible partition scheme you can proceed and format your "/" partition. The data on it will be wiped and the new system installed on top of them. This could take the best part of an hour so go and get a cup of tea or fix this page on the wiki...<br />
<br />
After you've decided on a partitioning setup, click "Accept"<br />
<br />
==== More configuration ====<br />
<br />
On the "Create New User" page...<br />
<br />
* Deselect "Use this password for system administrator"<br />
* Deselect "Automatic Login"<br />
* Click "Change..."<br />
* Click "NIS" (under "Authentication Method") then "Accept"<br />
* Click "Next"<br />
* Root password: you should know this - use the previous one.<br />
<br />
On the "Installation Settings" page...<br />
<br />
* Under 'Firewall and SSH' at the bottom, click 'enable and open' where it says, "SSH service will be disabled...". Make sure the firewall is enabled (zone is external). <br />
* Click "Install" then confirm.<br />
* Go for a quick lunch or have a long cup of tea whilst the installer installs the packages from the DVD. This is quicker than previous installations, it only took 15 minutes on a Settee with 4GB of memory. Your mileage may vary.<br />
<br />
Once the package installation is complete, the PC will automatically reboot. From this point on, if the computer reboots, allow it to "Boot from hard disk" after a green multi-language welcome screen.<br />
<br />
==== Bits missing ====<br />
Matt: the next step appears to be NIS configuration but somehow the net config has been skipped so this fails. The essential details for NIS configuration are "applied_optics" and "128.243.74.4 128.243.74.2". Since I got this far without any net settings I've logged in as root (since there are no other users yet) and configured the rest using yast2.<br />
<br />
=== Step five: Configuring your computer for the AO network===<br />
<br />
There are a number of steps in the SUSE install to follow and then a number of steps to configure your computer for the local environment:<br />
<br />
Check install: Just reports errors nothing for you to do.<br />
<br />
* Hostname: This is the name of your computer - use the previous one<br />
* The domain is eee.nottingham.ac.uk<br />
* Deselect "Change Hostname via DHCP"<br />
* Click "Next"<br />
<br />
Network settings: You usually only have one network card and if you have two either know what you are doing or ask for help.<br />
<br />
General network settings: leave alone.<br />
<br />
Firewall:<br />
* In external zone: "Allowed services" (on left): "Add" the following:<br />
# Secure shell server<br />
# NIS client<br />
# NFS client<br />
* "Logging Level" (on left): select "Do not log any" for:<br />
# Accepted Packets<br />
# Not Accepted Packets<br />
<br />
Network interfaces: click this to edit it:<br />
# "Overview" (tab): click "Edit" button, "Address" tab:<br />
## Select "Statically assigned IP Address" button<br />
## Enter your IP address (from your notes)<br />
## Subnet mask 255.255.0.0<br />
## Hostname: (from notes), include the domain as well e.g. "mypc.eee.nottingham.ac.uk"<br />
## Click "Next"<br />
# Hostnames/DNS (tab):<br />
## Hostname and Domain Name should already be filled in as before<br />
## Names servers are 128.243.40.11, 128.243.40.12, 128.243.21.19 '''(note these have changed from previous values, Dec 2008)'''<br />
# Routing (tab):<br />
## Default Gateway: 128.243.1.1<br />
# Click "OK"<br />
<br />
Proxy:<br />
# Click "Enable Proxy"<br />
# Set the first box (HTTP Proxy URL) to http://optics.eee.nottingham.ac.uk:62267<br />
# "No proxy domains" (comma-separated list): localhost, 127.0.0.1, .nottingham.ac.uk, .nott.ac.uk<br />
# Click "Finish"<br />
<br />
Next the install will try to test the network settings - if there isn't a good reason for this to fail it should work!<br />
* Update: will check for updates. The updater will appear, everything is selected automatically so click "Accept". The first stage updates the updater itself, so when this is done click 'next' then 'accept' then the other updates are installed in the same way. This is currently fairly rapid. <br />
At the time of writing no reboot was required here, but as more patches are added it's possible that one of these will require a reboot at this stage.<br />
<br />
* User Authentication Method: NIS should already be selected, so "Configuration of NIS client" page should appear.<br />
## Leave 'Netconfig NIS Policy' on default.<br />
## NIS Domain: applied_optics<br />
## NIS servers: 128.243.74.2 128.243.74.4 (separated by a space)<br />
## Select start automounter<br />
<br />
* Have a quick read of the release notes. The most important note (if you haven't used 11.0) is that you need to press Ctrl-Alt-Backspace '''twice within 2 seconds''' to get the X-server (your desktop) to restart.<br />
* Hardware config: Mainly gets it right but sometimes selects a lower screen resolution than you want or gets the monitor wrong (you usually want 24bit colour). Ignore Printers - these will get set up later.<br />
* Machine restarts some services here and if all is well you can now log in as usual!<br />
<br />
=== Post installation configuration and setting up package management===<br />
<br />
* Log in as root, open a konsole (terminal) window<br />
* Cut and paste or type carefully the following and press enter:<br />
echo "128.243.74.2 optics.eee.nottingham.ac.uk optics armchair" >> /etc/hosts<br />
* cd /home/share/suse_hacks/11.3<br />
* Run '''ONE''' of the following scripts, most appropriate script for your location, either:<br />
## ./std_suse_hacks_ao<br />
## ./std_suse_hacks_ibios<br />
## ./std_suse_hacks_sios<br />
## ./std_suse_hacks_vlsi<br />
*There isn't a huge lot of difference except for local stuff like default printers. The script disables the DVD respository, deletes some SUSE irritations (eg beagle), sets up some useful stuff (eg locate) and installs dead useful software such as compilers, latex and xfig. In addition, it also sets up some network stuff, like telling the PC to use the hostname list (/etc/hosts) on armchair. Without this, it won't know the IP addresses of AOG PCs like bed, which means (if you're in SiOS) you won't be able to log in. That's why we do this first (as root), before attempting to log in as yourself.<br />
*An error about a missing file may be reported (File '/repodata/repomd.xml not found on medium...), in that case choose ignore (i) and the rest of the script works as normal. The problem here appears to be that the network-utils repository doesn't exist for this version. Removing it from in Yast later doesn't seem to cause any problems.<br />
*This is probably your best opportunity for going to lunch, as there are quite a lot of packages to download.<br />
*The last part of the script is interactive - this is where you get to choose which of the common "EEE packages" you want (so called because they are managed by Roger Light in EEE and many involve local licenses, and also because they end up in the /eee directory). Follow the instructions on the screen carefully.<br />
*If you come back from lunch and find the installer appears to have crashed, i.e. it doesn't do anything for several minutes '''and''' it's '''not''' asking you to do something, press ''Ctrl-C'' and run the same script again (i.e. press the ''up arrow'' then ''Enter'').<br />
* If you use any of the eee packages (matlab, comsol, cadence, etc), run install_eee_packages. This makes sure the updating script that works with vpm works correctly.<br />
*Log out, and reboot the PC.<br />
<br />
*Log in as yourself - if this doesn't work, then seek advice.<br />
*There are still some configuration things to do, this involves using the YaST configuration suite, you'll find it somewhere in the SuSE menu (or, as root, type "yast2" from a console window). If you run it from the SuSE menu, you will need to provide the root password.<br />
<br />
===Updates===<br />
<br />
Linux PCs, like all PCs, need patching and updating to patch security holes, fix bugs, or offer improvements. Most of these are benign, some (like updating the kernel) can be more disruptive, especially if it's an experimental PC and controls external hardware: it is likely instrument drivers will need recompiling. Other times, "improvements" introduce more bugs than they fix, or change the user interface (or appearence) of an application that you may find annoying.<br />
<br />
Additionally, the act of looking for and installing updates takes CPU, disk and network bandwidth, which you may find annoying (especially if you are on an older PC, or want to run experiments unhindered).<br />
<br />
Saying all that, the process of applying updates is relatively painless these days, and in general, the benefits of keeping your system patched and updatated outweigh the inconveniences.<br />
<br />
Furthermore, '''it is YOUR responsibility, as the person who "owns" the PC, to ensure that it is sufficiently patched that there are no exploitable security vulnerabilities which might compromise your PC or the local network.''' There is not some invisible benign force (i.e. Steve or Roger) that is logging in to make sure this happens. '''YOU''' are responsible. You have various options:<br />
<br />
====1. Automatic online update====<br />
<br />
This checks for updates daily (or weekly) and installs them for you. If any of the updates requires you to answer any questions (i.e. "interactive" patches) then they will be skipped. This includes kernel updates (so they will be skipped) and anything that needs a license agreeing to.<br />
<br />
The std_suse_hacks script now configures this to run automatically.<br />
<br />
====2. openSUSE Updater ("annoying green pea")====<br />
<br />
This sits in your system tray in your panel, and is installed on a per-user basis. If you don't have it (perhaps you disabled it in the past) then you can enable it again by going to (on the Suse menu) Applications -> System -> Desktop Applet -> openSUSE Updater Applet. This will appear as either a small green pea, or a blue "?" circle, or perhaps a red warning triangle. If you right-click, you can configure it. Options include:<br />
* Checking for updates daily<br />
* Automatically check for updates when you log in<br />
* Only check for updates when the system is under low load<br />
<br />
You can use the updater to complement the Automatic Online Update... for example you could log in one day to find that there's a kernel update (which the automatic online update hasn't installed), and you can decide whether to install it or not.<br />
<br />
If you don't want the green pea, then:<br />
* Right-click it, configure it, and deselect "Automatically start updater at login", click "Ok"<br />
* Right-click it, click "Quit"<br />
<br />
====3a. Manually using YaST2====<br />
<br />
This relies on you remembering to do this, every now and then.<br />
<br />
* Run YaST as root<br />
* In the "Software" section, click "Online Update"<br />
<br />
====3b. Manually using zypper====<br />
<br />
As root, type "zypper update"<br />
<br />
===Package management===<br />
<br />
'''zypper''' is the command-line tool you use to install and remove packages. You can use it to:<br />
<br />
* Check for updates: zypper update<br />
* Install an rpm in the current directory (and fetch any dependencies) e.g.: zypper install file.rpm<br />
* Install a package e.g.: zypper install qcad<br />
* Search for packages - lists those that are installed, and those available e.g.: zypper search nvid<br />
* Get information about packages (whether installed or not) e.g.: zypper info qcad<br />
* Find out which package is responsible for a file you've found e.g.: zypper what-provides (or wp) /bin/ls<br />
<br />
There are alternative package managers, such as "smart", which may be better than older versions of zypper. Since 11.0 zypper has been improved enough to be suitable for most users. If you want to use smart, you presumably know enough to be able to manage without help.<br />
<br />
====YaST Software Management====<br />
<br />
Think of this as a user-friendly front-end to zypper.<br />
<br />
=== Graphics card ===<br />
There is a good chance you have an nVIDIA graphics card in your computer. If so you will probably want<br />
to install the nVIDIA graphics driver. This is not included in the default installation because<br />
of licensing issues but YAST can manage it for most cards. <br />
<br />
* Start YaST (see above)<br />
* In the "Software" submenu, click on "Software Repositories"<br />
# Click "Add"<br />
# Select "Community Repositories" then click "Next"<br />
# Add "NVIDIA Repository" then click "Ok"<br />
# If it asks you questions about keys, then trust and import them.<br />
# Click "Finish"<br />
* In the "Software" submenu, click on "Software Management"<br />
# Just click "Accept". It will tell you it's installing some other nvidia-related stuff to satisfy dependencies. Click "Continue"<br />
#When it's done, quit the Software Management utility.<br />
*Quit YaST<br />
*In order to get graphics working well with Comsol etc (which really need the accelerated 3D rendering working) you need to do the following:<br />
# As root, edit /etc/modprobe.d/nvidia (using ''vi'' or something)<br />
# Change the bit where it says "NVreg_DeviceFileMode=0660" to "NVreg_DeviceFileMode=0666" (i.e. change the last "0" to a "6")<br />
* (Explanation: by default, SuSE makes all users members of the "video" group, which has GID 33. This would normally give users complete access to the nvidia devices, /dev/nvidia*. However, because we use NIS for user logins, we do not use the "video" group as the GID is <500, generally reserved for system IDs and likely to be different for the different flavours of UNIX/Linux that we use. By changing the "0" to a "6" (which affects /dev/nvidia*) we are letting anyone read and write to the nvidia card. This is potentially a bit insecure, but it's the easiest way to fix this issue).<br />
*When you log out, X should restart and you should now be running the nVIDIA graphics driver. ''Note that the issue with permissions etc won't get sorted out until after a reboot, though'' (or for the technically-minded the next time the nvidia kernel module is inserted). Try an openGL screen saver or start glxgears.<br />
<br />
If this fails (and it is known to fail for very old and very new cards) you will have to use the manual method - ask for advice. Manually<br />
installed nVIDIA drivers are not automatically updated by YAST and can be screwed up by certain updates<br />
(the kernel) and will require reinstalling - you may wish to turn certain updates off (ask).<br />
<br />
sax2 (the YaST graphics config tool) doesn't really understand nVIDIA cards if it doesn't do what you want then try this<br />
tool instead: http://www.sorgonet.com/linux/nv-online/ which worked for me (Matt)<br />
If you have a certain Sony monitor and NVIDIA won't give you the resolution you need then try an older version of the driver... /home/matt/NVIDIA-Linux-x86_64-1.0-9746-pkg2.run. ** this driver no longer compiles for newer kernels ** -matt<br />
<br />
=== Local Software ===<br />
<br />
* Most of the local software you need (sometimes called the "EEE packages") - things like Matlab, Eagle, Comsol, ISE (to name just a few - big commercial packages, basically, rather than home-written ones) are installed interactively as part of the std_suse_hacks scripts. Additional information about this - if you decide you want to add or remove an EEE package - is contained in [[Installing locally | this web page]].<br />
<br />
* c_scan: there is another wiki page which mentions installing c_scan, as well as other command line utilities and drivers for controlling hardware from your Linux PC: link is [[Experimental PC | here]]. Once you have installed c_scan, if you type "man c_scan" you will get the root of the c_scan documentation. Look at the "See also" section at the bottom for hints on specific modules... this this normally the name of the module/action, preceded by "c_" (e.g. "man c_agilent_trace_scope")<br />
<br />
=== Multimedia ===<br />
<br />
You will probably want the multimedia codecs for SUSE. The easiest way to get these is to follow this link <br />
http://opensuse-community.org/Multimedia and click on "codecs-kde.ymp". This should get you a full set of<br />
multimedia codecs that don't come with SUSE by default because of licensing issues.<br />
<br />
Since this doesn't always work and a "what to do when one-click fails" isn't easy to find what you need to<br />
do is add the packman repo and then install the following if they are already installed:<br />
<br />
ffmpeg<br />
flash-player<br />
gst-fluendo-mp3<br />
java-1_5_0-sun-plugin<br />
k3b-codecs<br />
libdvdcss<br />
libxine1<br />
w32codec-all<br />
<br />
and manually dinstall xine-lib (yast doesn't seem to be able to do this on its own).<br />
<br />
** see below **<br />
<br />
=== fix annoying okular bug ===<br />
By now you'll have okular rather than kpdf or acroread for viewing pdfs. It has an annoying bug in that it displays the meaningless pdf title rather than the filename. There is a fix:<br />
<br />
kwriteconfig --file okularpartrc --group General --key DisplayDocumentTitle --type bool false<br />
<br />
You'll be glad you did it!<br />
<br />
=== Printers ===<br />
<br />
These should get set up when you run the appropriate "suse_hack" script. There is a general page of advice regarding the AOG printers [[Printers and printing | here]].<br />
<br />
=== Misc ===<br />
<br />
If you are installing elsewhere and want to run as a router or firewall using two ethernet cards then set up your first card to access the internet and select<br />
this as the "external zone" in the firewall. Then set up your private network on the other card using 192.168.XX.XX (0.1) as the IP address and 255.255.255.0 as the netmask, use "internal zone" for the firewall setting (this means no firewall between your host and the internal network). Then in yast2 "security and users:firewall:masquerading" X the "Masquerade Networks" box.<br />
<br />
Note: I found yast wanting when restarting this network configuration. So if it doesn't just work don't panic, instead run "/etc/init.d/network restart" and<br />
then try. For some reason yast doesn't seem to kick the second network card back to life properly. Matt.<br />
<br />
=== Finally ===<br />
<br />
You should have a working system now and hopefully you won't suddenly remember that something important was installed on one of the disks you wiped. Please fix errors in this wiki.<br />
<br />
Cheers,<br />
Matt, Steve, Roger, John and Samuel</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Experimental_PC&diff=1225Experimental PC2011-06-17T16:50:58Z<p>Samuel Achamfuo-Yeboah: /* Comedi on openSUSE 11.4, Kernel 2.6.37.6-0.5-desktop */</p>
<hr />
<div>Back to [[Linux How-tos]]<br />
<br />
<big>Extra stuff for all the hardware in '''blanket''' & '''pouffe''', the ARRO-SAM PC & OSAM </big><br />
<br />
In December 2007 I upgraded blanket, the PC used to control the ARRO-SAM experiment, to the current version of openSuSE (10.3 when this page was first written, now 11.0). This PC had been running Redhat 9 for a number of years and due to heavy use as an experimental PC and reasonable stability, it had not been updated. Redhat 9 runs a 2.4 kernel, so there were some extra things to do with the drivers and compiling ''c-scan''.<br />
<br />
Addition (April 2008): Rob upgraded pouffe in the O-SAM lab, pretty much the same as blanket accept for ISA PI stages<br />
<br />
The information contained here will also be useful if you want to install any of these bits of hardware on any other Linux PC.<br />
<br />
== Pre-install ==<br />
<br />
=== Scenario 1: inherited PC with working hardware, updating Linux ===<br />
<br />
# Make a list of all the hardware you have (or likely to have) attached to the PC<br />
# From this list, work out which programs/utilities you use<br />
#* Most of these will already be installed in /usr/local/bin/<br />
# Work out how to recompile (and re-install) all these programs<br />
#* Most will have their source code in /home/scan/source/hardware/<br />
# Save all the configuration files you think you might need<br />
#* Most of these will be in /etc/<br />
<br />
Example: updating blanket from RdeHat 9 to SuSE 10.3:<br />
<br />
I tarballed /etc/ and /usr/local/bin/ and stuck the files in my home directory where they would be recoverable after new install. The aim was to retain the old root partition of the old (Redhat 9) system, to enable it to be mounted by the new (SuSE 10.3) system under /old_redhat_9_root/ but since installation involved resizing the old partition (always potentially problematic) it's a good idea to backup anything you think you might need. /etc/ for configuration files (including our own, for the stages, the SLM etc) and /usr/local/bin/ just as a reminder of the extra stuff (mainly our own) that we installed.<br />
<br />
In the event, the old root partition wasn't wiped, and I was able to grab the files from there (/old_redhat_9_root). After the install, I copied the files I'd ''actually'' needed to /home/share/backup_system_files/blanket/<br />
<br />
=== Scenario 2: Adding new hardware to an already up-to-date PC ===<br />
<br />
# Use this wiki, find the instructions for the relevant hardware<br />
# 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> )<br />
<br />
<br />
== Install ==<br />
<br />
I had to resize the old partition as it was taking up all the disk (except for the swap partition). I resized the old partition to 20GB (it had 15GB of stuff in it) and made a new 30GB root partition. I also extended the swap to 4GB.<br />
<br />
Other than that I just did a standard install, then performed the standard local configuration stuff as with any other PC.<br />
<br />
The resizing of the old partition was successful and I was able to copy the files I needed directly from /old_redhat_9_root/etc/<br />
<br />
== Scope (and AFG) utilities ==<br />
<br />
These are the standard command line utilities to grab traces, save setups etc<br />
<br />
=== vxi11 ===<br />
(Used by Agilent and Tek utilities, and a low-level diagnostic tool in its own right)<br />
<br />
*cd /home/scan/source/hardware/vxi11/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**vxi11_cmd<br />
<br />
=== Agilent scope ===<br />
<br />
*cd /home/scan/source/hardware/agilent_scope/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**agetwf<br />
**agilent_load_setup<br />
**agilent_save_setup<br />
<br />
=== Tek scope/AFG ===<br />
<br />
*cd /home/scan/source/hardware/tek/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**tgetwf<br />
**tek_load_setup<br />
**tek_save_setup<br />
**tek_afg_upload_arb<br />
<br />
=== LeCroy scope ===<br />
<br />
==== VXI11-compatible LeCroy scopes ====<br />
Anything bought in 2010 onwards...<br />
<br />
*cd /home/scan/source/hardware/lecroy/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
*lgetwf<br />
<br />
==== VCIP-only LeCroy scopes ====<br />
The old (non-Windows) LT564L scope, and Teti's old Waverunner 6050 (the one that runs Windows 2000).<br />
<br />
*cd /home/scan/source/hardware/ethernet_scope/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**eth_cmd<br />
**/etc/lecroy_tcp/ (empty directory)<br />
*cd /home/scan/source/egetwf/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**egetwf<br />
<br />
== PI PCI stage driver ==<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/library/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**pi_save_pos<br />
**pi_recall_pos<br />
**(pi_user library)<br />
**/etc/pi_stage/stage_database/<br />
<br />
*cd /home/scan/source/hardware/pi_pci_stage/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**set_stages_safe<br />
**manual_pci_stage (manual_stage)<br />
**/etc/pi_stage/position_um '''if''' it doesn't already exist (default stage position file, all axes at 0)<br />
**/etc/pi_stage/installed_stages - this is the default list of installed stages, '''which you may need to edit if yours are different:'''<br />
axis 0 m-531.dd<br />
axis 1 m-531.dd<br />
axis 2 m-605.2dd<br />
axis 3 m-605.2dd<br />
<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/driver/<br />
*make<br />
*sudo ./install_pi_stage_recall<br />
*Installs:<br />
**PI PCI stage device driver<br />
<br />
'''Note:''' if you see something like the following after the last "make"....:<br />
<br />
make -C /lib/modules/2.6.27.45-0.1-default/build M=/home/scan/source/dev/pi_pci/driver_2.6/driver modules<br />
make[1]: Entering directory `/usr/src/linux-2.6.27.45-0.1-obj/x86_64/default'<br />
make[1]: *** No rule to make target `modules'. Stop.<br />
make[1]: Leaving directory `/usr/src/linux-2.6.27.45-0.1-obj/x86_64/default'<br />
make: *** [default] Error 2<br />
<br />
... it means that you don't have the kernel-source package installed. To fix this:<br />
*sudo zypper install kernel-source<br />
then...<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/driver/<br />
*make<br />
*sudo ./install_pi_stage_recall<br />
<br />
<br />
<br />
== PI ISA stage ==<br />
*cd /home/scan/source/hardware/stages<br />
*make -f Makefile.osam clean; make -f Makefile.osam; <br />
*sudo make -f Makefile.osam install<br />
*Installs:<br />
**manual_stage<br />
**/etc/stages/PI_stage_origin '''if''' it doesn't already exist (default stage position file, all axes at 0)<br />
<br />
== Inchworm and IDAC stages ==<br />
*cd /home/scan/source/hardware/IW_driver<br />
*sudo make install<br />
*Installs:<br />
**/etc/stages/IW_stage_origin '''if''' it doesn't already exist (default stage position file, both axes at 0)<br />
*cd /home/scan/source/hardware/IDAC_driver<br />
*sudo make install<br />
*Installs:<br />
**/etc/stages/IDAC_stage_origin '''if''' it doesn't already exist (default stage position file, both axes at 0)<br />
<br />
== BNS SLM ==<br />
*cp -av /old_redhat_9_root/etc/slm /etc/<br />
<br />
*cd /home/scan/source/dev/BNS/driver_2.6/<br />
*make<br />
To install use<br />
*sudo ./install_slm_mtrr<br />
OR<br />
*sudo ./install_for_boot<br />
The latter install the kernel driver in the system and will load it automatically at boot time for you. If you<br />
want it load right now without rebooting use the previous version as well - matt<br />
<br />
*Installs:<br />
**BNS SLM device driver<br />
<br />
*cd /home/scan/source/dev/BNS/utils/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**bns_change_frame (change_frame_bns)<br />
**bns_laser_ab<br />
**bns_power<br />
**bns_power_off<br />
**bns_power_on<br />
**bns_upload_frame (upload1_bns)<br />
<br />
*cd /home/scan/source/hardware/bns_slm/manual_bns/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**manual_bns<br />
<br />
*cd /home/scan/source/hardware/bns_slm/set_bns/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**set_bns<br />
<br />
== FFTW libraries ==<br />
<br />
These are needed by the higher order correction algorithm when using the SLM in c-scan. I use the ''float'' version of the libraries (rather than the standard ''double'' version) for speed, and so an extra option must be set before compiling.<br />
<br />
*cd /home/scan/source/fftw-3.0.1_blanket/<br />
*make distclean; ./configure --enable-float; make; sudo make install<br />
*Installs:<br />
**(FFTW float libraries)<br />
<br />
== Comedi ==<br />
<br />
=== comedi kernel driver compilation ===<br />
<br />
The "current release" version of the comedi is 0.7.76, however this will not compile on modern kernels (it's more than 2 years old). The current comedi policy seems to be one of continuous code development, they seem to have given up on producing "releases." We need to create a directory on the local disk (there is a lot to compile) and download a "cvs snapshot".<br />
<br />
*cd /usr/local/src/<br />
*sudo mkdir comedi<br />
*sudo chown <your_username>: comedi<br />
*cd comedi<br />
<br />
The following two lines are from the comedi download page: http://www.comedi.org/download.html<br />
*cvs -d :pserver:anonymous@cvs.comedi.org:/cvs/comedi login<br />
*cvs -d :pserver:anonymous@cvs.comedi.org:/cvs/comedi co comedi<br />
*cd comedi<br />
*./autogen.sh<br />
The "./configure" script needs some extra arguments to work (ref Roger). "./configure -h" to see all options. These might change in the future.<br />
<br />
For 32-bit (tested by Steve):<br />
*./configure --with-linuxsrcdir=/usr/src/linux<br />
For 64-bit (untested):<br />
*./configure --with-linuxsrcdir=/usr/src/linux --with-rpm-target=x86_64<br />
<br />
*make<br />
*sudo make install<br />
*sudo /sbin/depmod -a<br />
*sudo make dev<br />
<br />
*Installs:<br />
**(comedi libraries)<br />
**(device libraries)<br />
**(comedi devices in /dev/)<br />
<br />
*sudo echo 'KERNEL=="comedi*", MODE="0666"' > /etc/udev/rules.d/53-comedi.rules<br />
**Sets the permissions of the DAQ to world-readable-and-writable during boot<br />
<br />
==== Specific instructions for the Amplicon PCI230 ====<br />
(See also Roger's Troubleshooting Tips below for other cards)<br />
<br />
*sudo echo 'install amplc_pci230 PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH; comedi_config /dev/comedi0 amplc_pci230' >> /etc/modprobe.conf.local<br />
**Means that when you use ''modprobe'' to load the amplc_pci230 module, it automatically runs ''comedi_config'' too.<br />
**Unfortunately, ''udev'' ignores this, so we have to...<br />
*sudo echo '/sbin/modprobe amplc_pci230' >> /etc/init.d/boot.local<br />
*sudo echo '/usr/local/sbin/comedi_config /dev/comedi0 amplc_pci230' >> /etc/init.d/boot.local<br />
**Makes the PCI230 modules get loaded automatically at boot time<br />
<br />
==== Troubleshooting tips ====<br />
<br />
Installing comedi onto different machines may require a slight modification to the approach above.<br />
<br />
*Change the name of driver (amplc_pci230 above) depending on the DAQ card used (e.g. most PCI National instruments DAQ cards use ni_pcimio). A complete list can be viewed on [http://www.comedi.org/hardware.html comedi's hardware list]. <br />
*Some drivers may not compile using make. If this happens, put #if 0 and #endif at the top and bottom of the driver's code respectively. The drivers are located in ./comedi/drivers/, adv_pci1710.c and adv_pci_dio.c have been known to cause problems.<br />
*Once installed, if the modules do not load into the kernal using modprobe (e.g. if comedi_test returns cannot find comedi0 or drivers), insmod may be required. The following needs to be placed in and at the end of /etc/init.d/boot.local (these are for National Instruments DAQ, change drivers as required)<br />
**/sbin/insmod /lib/modules/comedi/comedi.ko<br />
**/sbin/insmod /lib/modules/comedi/drivers/8255.ko<br />
**/sbin/insmod /lib/modules/comedi/drivers/ni_pcimio.ko<br />
**/usr/local/sbin/comedi_config /dev/comedi0 ni_pcimio (if this is not already there)<br />
<br />
==== Dealing with kernel updates ====<br />
<br />
Updates to the kernel mean that the comedi drivers need to be reinstalled. As the kernel updates are usually fairly minor, the comedi drivers usually don't need recompiling. It's annoying having to deal with this, so this solution helps to remove some of that annoyance. When you've installed comedi run the following as root:<br />
<br />
cp -r /lib/modules/$(uname -r)/comedi /lib/modules/<br />
<br />
This will copy your current comedi installation to /lib/modules/comedi.<br />
<br />
Now add the following to /etc/init.d/boot.local (*before* any of the commands to load the comedi modules):<br />
<br />
KERNEL=$(uname -r)<br />
<br />
if [ ! -d /lib/modules/${KERNEL}/comedi/ ]; then<br />
cp -r /lib/modules/comedi /lib/modules/${KERNEL}/<br />
depmod -a<br />
fi<br />
<br />
This will check for the presence of the comedi directory in the modules directory for the current kernel and copy it over if it doesn't exist. ''depmod -a'' updates the module dependencies.<br />
<br />
It is important that if you install a newer version of comedi that you remove /lib/modules/comedi and replace it with your updated version. Also note that some kernel updates may be incompatible with your compiled comedi drivers and so you'll have to recompile and reinstall using the instructions above.<br />
<br />
=== comedilib ===<br />
<br />
comedilib should now be installed automatically through Roger's openSUSE repository. Updates will also become available through the normal update procedure. If this doesn't work for any reason, see Roger or use the old method:<br />
<br />
cd /home/scan/source/hardware/comedi/comedilib-0.8.1/<br />
make distclean; ./configure; make; sudo make install<br />
Installs:<br />
<br />
* libcomedi<br />
* comedi_test<br />
* /usr/local/sbin/comedi_config<br />
<br />
=== Comedi Settings for the NI PCI-6251 ===<br />
<br />
If you want to use the PFI port as a digital output, you must do some extra configuration. This is possible using the demo tools in comedilib (which could also be copied across to your own code of course). So, to change channel 14 of subdevice 7 (ie. pin 1 on the connector) to be a digital output do the following in the comedilib/demo directory:<br />
<br />
* ./choose_routing -s7 -c14 16 # NI_PFI_OUTPUT_DO == 16<br />
* ./dio -s7 -c14 1 # now its an output<br />
* ./outp -s7 -c14 1 # test the output (or 0)<br />
<br />
All these can be set up at boot. Putting /usr/local/bin/choose_rooting -s7 -c** 16 for all/any channels in /etc/rc.d/boot.local and copying (as root) choose_rooting from the demo folder in (compiled?) comedilib to /usr/local/bin/.<br />
<br />
=== Comedi on openSUSE 11.4, Kernel 2.6.37.6-0.5-desktop ===<br />
I did a clean install of openSUSE 11.4 64bit on Settee. I had a few problems, so I thought I'd write down how I finally managed to get it working. This was June 2011, on Settee (Samuel).<br />
<br />
After running ~share/suse_hacks/<suse version>/std_suse_hacks_<location>, make sure to run the install_eee_packages too. This will install comedilib automatically for you, amongst other things.<br />
<br />
I tried to use the kernel tree to install comedi. From /usr/src/linux/ type: '''sudo make menuconfig''', and choose to install modules for comedi and the relevant drivers. Comedi may be found in the tree under Device Drivers >> Staging Drivers >> Data acquisition support (comedi). Use / for search if so desired. Use '''sudo make modules'''; '''sudo make install''' to install. Unfortunately, this method didn't work for me, and the modules for other devices like network cards got overwritten, so I had to rescue the system.<br />
<br />
I thus downloaded the latest snapshot from the [http://www.comedi.org/downloads.html comedi download] page, untarred it to /usr/local/src/comedi, and used '''./autogen.sh''' then '''./configure --with-linuxdir=/usr/src/linux'''. It correctly detected the 64bit arch. Run '''make''' then '''sudo make install''' to install. Use the directions above to add the relevant lines to /etc/init.d/boot.local. Since I use the NI PCI6251, the lines in my boot.local file are :<br />
<br />
KERNEL=$(uname -r)<br />
if [ ! -d /lib/modules/${KERNEL}/comedi/ ]; then<br />
cp -r /lib/modules/comedi /lib/modules/${KERNEL}/<br />
depmod -a<br />
fi<br />
<br />
/usr/local/sbin/comedi_config /dev/comedi0 ni_pcimio<br />
choose_routing -s7 -c0 16 # NI_PFI_OUTPUT_DO == 16<br />
choose_routing -s7 -c1 16 # NI_PFI_OUTPUT_DO == 16<br />
etc etc<br />
choose_routing -s7 -c14 16 # NI_PFI_OUTPUT_DO == 16<br />
choose_routing -s7 -c15 16 # NI_PFI_OUTPUT_DO == 16 <br />
<br />
choose_routing is available from comedilib/demo/.libs/. Copy using sudo to the /usr/local/bin/<br />
<br />
Hopefully that helps.<br />
<br />
== c-scan ==<br />
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).<br />
<br />
*cd /home/scan/source/hardware/scanner/<br />
*make clean; make; sudo make install <br />
*sudo cp ~sds/bin/cscan /usr/local/bin/<br />
*Installs:<br />
**c_scan<br />
**c_scan man pages<br />
**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.<br />
<br />
== Jai CCD camera ==<br />
*sudo cp ~sds/bin/ccd* /usr/local/bin/<br />
*Installs:<br />
**ccd_set_serial<br />
**ccd0<br />
**ccd1<br />
**..<br />
**ccd7 (different shutter speeds)<br />
<br />
== Andor iXon camera ==<br />
You can find the latest driver here: /home/scan/source/hardware/andor_camera/andor you need to copy<br />
this directory to a local disk to build and install the driver and libraries because the andor <br />
supplied script borks if it isn't run as root and the permissions on the nfs disks prevent root<br />
running the script directly.<br />
<br />
The current driver is v2.82 install in December 2008 by Matt. This is broken for kernel versions<br />
2.6.23-2.6.27 and will cause hard kernel lock ups is you install it on these kernels. Under newer<br />
kernels it may not compile because of an error in src/driver/fault.c - just just #define NOPFN_SIGBUS -1<br />
in the preamble of fault.c to fix this. We are waiting for a revised driver.<br />
<br />
== Nanoscope lab / Andor iXon camera ==<br />
The Andor camera setup we use uses a client / server model to overcome some of the shortcomings of<br />
the Andor driver / libraries. All the code can be found in /home/scan/source/hardware/andor_camera/camera.<br />
You need to make the camera_driver and the camera_utils all application code should use and compile<br />
in the camera_client code. Before you use anything the server needs to be running (camera_server).<br />
Placing the following line in boot.local AFTER the Andor code will ensure it runs at boot time:<br />
<pre><br />
echo Installing the camera_server<br />
su matt -c /usr/local/bin/camera_server &<br />
</pre><br />
<br />
Remember the meminfo thing! reserve at least 4Mb of RAM for the driver by adding this to the boot options in the grub boot<br />
script (menu.1st) mem=1000M where 1000 is the size of the RAM in Mb - 4 (maybe 5?) as in:<br />
<br />
<pre><br />
kernel /boot/vmlinuz-2.6.25.18-0.2-default root=/dev/disk/by-id/scsi-SATA_ST340014A_3JX7N160-part2 resume=/dev/sda1 splash=silent showopts mem=1000M vga=0x31a<br />
</pre><br />
<br />
The current driver 2.82-30003 on kernel 2.6.27.xx appears to be working, however, Andor seem to be ironing out a few bugs still so this could be volatile - if you have a working system I suggest leaving it alone.<br />
<br />
2.78 works on pre 2.6.25 (or thereabouts) but not after because it causes hard kernel locks, it also requires a little hacking<br />
to compile on these newer kernels but since it crashes this is a little pointless. 2.82-30002 compiles and doesn't crash<br />
but returns scrambled image data. 2.82-30003 compiles on 2.6.27 kernels but not older ones, it doesn't crash and the image<br />
data seems ok.</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Linux_How-tos&diff=1224Linux How-tos2011-06-17T16:43:23Z<p>Samuel Achamfuo-Yeboah: </p>
<hr />
<div>Back to [[useful information]]<br />
<br />
== Installing stuff ==<br />
*[[Installing SuSE 11.4]]<br />
*[[Installing SuSE 11.3]]<br />
*[[Installing SuSE Kubuntu lucid]]<br />
*[[Installing SuSE 11.1]]<br />
*[[Installing SuSE 11.0]] / [[Troubleshooting SuSE 11.0]]<br />
*[[Installing SuSE 10.3]]<br />
*[[Experimental PC | Extra stuff for Experimental PCs]] - drivers (including ''comedi''), module auto-loading, recompiling etc.<br />
*[[Installing locally | Installing local programs (VPM)]] <br />
*[[Printers and printing]]<br />
*[[Scanners]]<br />
*[[Getting Email Working]]<br />
*[[NX]] - remote graphical login to Linux PCs, from Windows, Linux or Mac<br />
*[[Adding new users]]<br />
*[[Adding a new Linux PC]]<br />
*[[Suse 11.0 on PPC Ti powerbook]] (minority interest!)<br />
<br />
== Other stuff ==<br />
<br />
*[[Svn Properties]]<br />
*[[Converting RCS to X]]<br />
*[[Using bzr]]<br />
*[[How to flush a file descriptor without blocking]]<br />
*[[Notes on presentations using linux]]<br />
*[[Running firefox on multiple machines sharing NFS disk space]]<br />
<br />
== Admin Things ==<br />
<br />
*[[Licence servers]]<br />
*[[Admin Fixes for Packages]] (for if you're the one making a new install of a certain package)<br />
*[[Solaris Hints]]</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Experimental_PC&diff=1223Experimental PC2011-06-17T16:40:52Z<p>Samuel Achamfuo-Yeboah: </p>
<hr />
<div>Back to [[Linux How-tos]]<br />
<br />
<big>Extra stuff for all the hardware in '''blanket''' & '''pouffe''', the ARRO-SAM PC & OSAM </big><br />
<br />
In December 2007 I upgraded blanket, the PC used to control the ARRO-SAM experiment, to the current version of openSuSE (10.3 when this page was first written, now 11.0). This PC had been running Redhat 9 for a number of years and due to heavy use as an experimental PC and reasonable stability, it had not been updated. Redhat 9 runs a 2.4 kernel, so there were some extra things to do with the drivers and compiling ''c-scan''.<br />
<br />
Addition (April 2008): Rob upgraded pouffe in the O-SAM lab, pretty much the same as blanket accept for ISA PI stages<br />
<br />
The information contained here will also be useful if you want to install any of these bits of hardware on any other Linux PC.<br />
<br />
== Pre-install ==<br />
<br />
=== Scenario 1: inherited PC with working hardware, updating Linux ===<br />
<br />
# Make a list of all the hardware you have (or likely to have) attached to the PC<br />
# From this list, work out which programs/utilities you use<br />
#* Most of these will already be installed in /usr/local/bin/<br />
# Work out how to recompile (and re-install) all these programs<br />
#* Most will have their source code in /home/scan/source/hardware/<br />
# Save all the configuration files you think you might need<br />
#* Most of these will be in /etc/<br />
<br />
Example: updating blanket from RdeHat 9 to SuSE 10.3:<br />
<br />
I tarballed /etc/ and /usr/local/bin/ and stuck the files in my home directory where they would be recoverable after new install. The aim was to retain the old root partition of the old (Redhat 9) system, to enable it to be mounted by the new (SuSE 10.3) system under /old_redhat_9_root/ but since installation involved resizing the old partition (always potentially problematic) it's a good idea to backup anything you think you might need. /etc/ for configuration files (including our own, for the stages, the SLM etc) and /usr/local/bin/ just as a reminder of the extra stuff (mainly our own) that we installed.<br />
<br />
In the event, the old root partition wasn't wiped, and I was able to grab the files from there (/old_redhat_9_root). After the install, I copied the files I'd ''actually'' needed to /home/share/backup_system_files/blanket/<br />
<br />
=== Scenario 2: Adding new hardware to an already up-to-date PC ===<br />
<br />
# Use this wiki, find the instructions for the relevant hardware<br />
# 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> )<br />
<br />
<br />
== Install ==<br />
<br />
I had to resize the old partition as it was taking up all the disk (except for the swap partition). I resized the old partition to 20GB (it had 15GB of stuff in it) and made a new 30GB root partition. I also extended the swap to 4GB.<br />
<br />
Other than that I just did a standard install, then performed the standard local configuration stuff as with any other PC.<br />
<br />
The resizing of the old partition was successful and I was able to copy the files I needed directly from /old_redhat_9_root/etc/<br />
<br />
== Scope (and AFG) utilities ==<br />
<br />
These are the standard command line utilities to grab traces, save setups etc<br />
<br />
=== vxi11 ===<br />
(Used by Agilent and Tek utilities, and a low-level diagnostic tool in its own right)<br />
<br />
*cd /home/scan/source/hardware/vxi11/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**vxi11_cmd<br />
<br />
=== Agilent scope ===<br />
<br />
*cd /home/scan/source/hardware/agilent_scope/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**agetwf<br />
**agilent_load_setup<br />
**agilent_save_setup<br />
<br />
=== Tek scope/AFG ===<br />
<br />
*cd /home/scan/source/hardware/tek/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**tgetwf<br />
**tek_load_setup<br />
**tek_save_setup<br />
**tek_afg_upload_arb<br />
<br />
=== LeCroy scope ===<br />
<br />
==== VXI11-compatible LeCroy scopes ====<br />
Anything bought in 2010 onwards...<br />
<br />
*cd /home/scan/source/hardware/lecroy/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
*lgetwf<br />
<br />
==== VCIP-only LeCroy scopes ====<br />
The old (non-Windows) LT564L scope, and Teti's old Waverunner 6050 (the one that runs Windows 2000).<br />
<br />
*cd /home/scan/source/hardware/ethernet_scope/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**eth_cmd<br />
**/etc/lecroy_tcp/ (empty directory)<br />
*cd /home/scan/source/egetwf/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**egetwf<br />
<br />
== PI PCI stage driver ==<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/library/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**pi_save_pos<br />
**pi_recall_pos<br />
**(pi_user library)<br />
**/etc/pi_stage/stage_database/<br />
<br />
*cd /home/scan/source/hardware/pi_pci_stage/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**set_stages_safe<br />
**manual_pci_stage (manual_stage)<br />
**/etc/pi_stage/position_um '''if''' it doesn't already exist (default stage position file, all axes at 0)<br />
**/etc/pi_stage/installed_stages - this is the default list of installed stages, '''which you may need to edit if yours are different:'''<br />
axis 0 m-531.dd<br />
axis 1 m-531.dd<br />
axis 2 m-605.2dd<br />
axis 3 m-605.2dd<br />
<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/driver/<br />
*make<br />
*sudo ./install_pi_stage_recall<br />
*Installs:<br />
**PI PCI stage device driver<br />
<br />
'''Note:''' if you see something like the following after the last "make"....:<br />
<br />
make -C /lib/modules/2.6.27.45-0.1-default/build M=/home/scan/source/dev/pi_pci/driver_2.6/driver modules<br />
make[1]: Entering directory `/usr/src/linux-2.6.27.45-0.1-obj/x86_64/default'<br />
make[1]: *** No rule to make target `modules'. Stop.<br />
make[1]: Leaving directory `/usr/src/linux-2.6.27.45-0.1-obj/x86_64/default'<br />
make: *** [default] Error 2<br />
<br />
... it means that you don't have the kernel-source package installed. To fix this:<br />
*sudo zypper install kernel-source<br />
then...<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/driver/<br />
*make<br />
*sudo ./install_pi_stage_recall<br />
<br />
<br />
<br />
== PI ISA stage ==<br />
*cd /home/scan/source/hardware/stages<br />
*make -f Makefile.osam clean; make -f Makefile.osam; <br />
*sudo make -f Makefile.osam install<br />
*Installs:<br />
**manual_stage<br />
**/etc/stages/PI_stage_origin '''if''' it doesn't already exist (default stage position file, all axes at 0)<br />
<br />
== Inchworm and IDAC stages ==<br />
*cd /home/scan/source/hardware/IW_driver<br />
*sudo make install<br />
*Installs:<br />
**/etc/stages/IW_stage_origin '''if''' it doesn't already exist (default stage position file, both axes at 0)<br />
*cd /home/scan/source/hardware/IDAC_driver<br />
*sudo make install<br />
*Installs:<br />
**/etc/stages/IDAC_stage_origin '''if''' it doesn't already exist (default stage position file, both axes at 0)<br />
<br />
== BNS SLM ==<br />
*cp -av /old_redhat_9_root/etc/slm /etc/<br />
<br />
*cd /home/scan/source/dev/BNS/driver_2.6/<br />
*make<br />
To install use<br />
*sudo ./install_slm_mtrr<br />
OR<br />
*sudo ./install_for_boot<br />
The latter install the kernel driver in the system and will load it automatically at boot time for you. If you<br />
want it load right now without rebooting use the previous version as well - matt<br />
<br />
*Installs:<br />
**BNS SLM device driver<br />
<br />
*cd /home/scan/source/dev/BNS/utils/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**bns_change_frame (change_frame_bns)<br />
**bns_laser_ab<br />
**bns_power<br />
**bns_power_off<br />
**bns_power_on<br />
**bns_upload_frame (upload1_bns)<br />
<br />
*cd /home/scan/source/hardware/bns_slm/manual_bns/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**manual_bns<br />
<br />
*cd /home/scan/source/hardware/bns_slm/set_bns/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**set_bns<br />
<br />
== FFTW libraries ==<br />
<br />
These are needed by the higher order correction algorithm when using the SLM in c-scan. I use the ''float'' version of the libraries (rather than the standard ''double'' version) for speed, and so an extra option must be set before compiling.<br />
<br />
*cd /home/scan/source/fftw-3.0.1_blanket/<br />
*make distclean; ./configure --enable-float; make; sudo make install<br />
*Installs:<br />
**(FFTW float libraries)<br />
<br />
== Comedi ==<br />
<br />
=== comedi kernel driver compilation ===<br />
<br />
The "current release" version of the comedi is 0.7.76, however this will not compile on modern kernels (it's more than 2 years old). The current comedi policy seems to be one of continuous code development, they seem to have given up on producing "releases." We need to create a directory on the local disk (there is a lot to compile) and download a "cvs snapshot".<br />
<br />
*cd /usr/local/src/<br />
*sudo mkdir comedi<br />
*sudo chown <your_username>: comedi<br />
*cd comedi<br />
<br />
The following two lines are from the comedi download page: http://www.comedi.org/download.html<br />
*cvs -d :pserver:anonymous@cvs.comedi.org:/cvs/comedi login<br />
*cvs -d :pserver:anonymous@cvs.comedi.org:/cvs/comedi co comedi<br />
*cd comedi<br />
*./autogen.sh<br />
The "./configure" script needs some extra arguments to work (ref Roger). "./configure -h" to see all options. These might change in the future.<br />
<br />
For 32-bit (tested by Steve):<br />
*./configure --with-linuxsrcdir=/usr/src/linux<br />
For 64-bit (untested):<br />
*./configure --with-linuxsrcdir=/usr/src/linux --with-rpm-target=x86_64<br />
<br />
*make<br />
*sudo make install<br />
*sudo /sbin/depmod -a<br />
*sudo make dev<br />
<br />
*Installs:<br />
**(comedi libraries)<br />
**(device libraries)<br />
**(comedi devices in /dev/)<br />
<br />
*sudo echo 'KERNEL=="comedi*", MODE="0666"' > /etc/udev/rules.d/53-comedi.rules<br />
**Sets the permissions of the DAQ to world-readable-and-writable during boot<br />
<br />
==== Specific instructions for the Amplicon PCI230 ====<br />
(See also Roger's Troubleshooting Tips below for other cards)<br />
<br />
*sudo echo 'install amplc_pci230 PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH; comedi_config /dev/comedi0 amplc_pci230' >> /etc/modprobe.conf.local<br />
**Means that when you use ''modprobe'' to load the amplc_pci230 module, it automatically runs ''comedi_config'' too.<br />
**Unfortunately, ''udev'' ignores this, so we have to...<br />
*sudo echo '/sbin/modprobe amplc_pci230' >> /etc/init.d/boot.local<br />
*sudo echo '/usr/local/sbin/comedi_config /dev/comedi0 amplc_pci230' >> /etc/init.d/boot.local<br />
**Makes the PCI230 modules get loaded automatically at boot time<br />
<br />
==== Troubleshooting tips ====<br />
<br />
Installing comedi onto different machines may require a slight modification to the approach above.<br />
<br />
*Change the name of driver (amplc_pci230 above) depending on the DAQ card used (e.g. most PCI National instruments DAQ cards use ni_pcimio). A complete list can be viewed on [http://www.comedi.org/hardware.html comedi's hardware list]. <br />
*Some drivers may not compile using make. If this happens, put #if 0 and #endif at the top and bottom of the driver's code respectively. The drivers are located in ./comedi/drivers/, adv_pci1710.c and adv_pci_dio.c have been known to cause problems.<br />
*Once installed, if the modules do not load into the kernal using modprobe (e.g. if comedi_test returns cannot find comedi0 or drivers), insmod may be required. The following needs to be placed in and at the end of /etc/init.d/boot.local (these are for National Instruments DAQ, change drivers as required)<br />
**/sbin/insmod /lib/modules/comedi/comedi.ko<br />
**/sbin/insmod /lib/modules/comedi/drivers/8255.ko<br />
**/sbin/insmod /lib/modules/comedi/drivers/ni_pcimio.ko<br />
**/usr/local/sbin/comedi_config /dev/comedi0 ni_pcimio (if this is not already there)<br />
<br />
==== Dealing with kernel updates ====<br />
<br />
Updates to the kernel mean that the comedi drivers need to be reinstalled. As the kernel updates are usually fairly minor, the comedi drivers usually don't need recompiling. It's annoying having to deal with this, so this solution helps to remove some of that annoyance. When you've installed comedi run the following as root:<br />
<br />
cp -r /lib/modules/$(uname -r)/comedi /lib/modules/<br />
<br />
This will copy your current comedi installation to /lib/modules/comedi.<br />
<br />
Now add the following to /etc/init.d/boot.local (*before* any of the commands to load the comedi modules):<br />
<br />
KERNEL=$(uname -r)<br />
<br />
if [ ! -d /lib/modules/${KERNEL}/comedi/ ]; then<br />
cp -r /lib/modules/comedi /lib/modules/${KERNEL}/<br />
depmod -a<br />
fi<br />
<br />
This will check for the presence of the comedi directory in the modules directory for the current kernel and copy it over if it doesn't exist. ''depmod -a'' updates the module dependencies.<br />
<br />
It is important that if you install a newer version of comedi that you remove /lib/modules/comedi and replace it with your updated version. Also note that some kernel updates may be incompatible with your compiled comedi drivers and so you'll have to recompile and reinstall using the instructions above.<br />
<br />
=== comedilib ===<br />
<br />
comedilib should now be installed automatically through Roger's openSUSE repository. Updates will also become available through the normal update procedure. If this doesn't work for any reason, see Roger or use the old method:<br />
<br />
cd /home/scan/source/hardware/comedi/comedilib-0.8.1/<br />
make distclean; ./configure; make; sudo make install<br />
Installs:<br />
<br />
* libcomedi<br />
* comedi_test<br />
* /usr/local/sbin/comedi_config<br />
<br />
=== Comedi Settings for the NI PCI-6251 ===<br />
<br />
If you want to use the PFI port as a digital output, you must do some extra configuration. This is possible using the demo tools in comedilib (which could also be copied across to your own code of course). So, to change channel 14 of subdevice 7 (ie. pin 1 on the connector) to be a digital output do the following in the comedilib/demo directory:<br />
<br />
* ./choose_routing -s7 -c14 16 # NI_PFI_OUTPUT_DO == 16<br />
* ./dio -s7 -c14 1 # now its an output<br />
* ./outp -s7 -c14 1 # test the output (or 0)<br />
<br />
All these can be set up at boot. Putting /usr/local/bin/choose_rooting -s7 -c** 16 for all/any channels in /etc/rc.d/boot.local and copying (as root) choose_rooting from the demo folder in (compiled?) comedilib to /usr/local/bin/.<br />
<br />
=== Comedi on openSUSE 11.4, Kernel 2.6.37.6-0.5-desktop ===<br />
I did a clean install of openSUSE 11.4 64bit on Settee. I had a few problems, so I thought I'd write down how I finally managed to get it working. This was June 2011, on Settee (Samuel).<br />
<br />
After running ~share/suse_hacks/<suse version>/std_suse_hacks_<location>, make sure to run the install_eee_packages too. This will install comedilib automatically for you, amongst other things.<br />
<br />
I tried to use the kernel tree to install comedi. From /usr/src/linux/ type: '''sudo make menuconfig''', and choose to install modules for comedi and the relevant drivers. Comedi may be found in the tree under Device Drivers >> Staging Drivers >> Data acquisition support (comedi). Use / for search if so desired. Use '''sudo make modules'''; '''sudo make install''' to install. Unfortunately, this method didn't work for me, and the modules for other devices like network cards got overwritten, so I had to rescue the system.<br />
<br />
I thus downloaded the latest snapshot from the [http://www.comedi.org/downloads.html comedi download] page, untarred it to /usr/local/src/comedi, and used '''./autogen.sh''' then '''./configure --with-linuxdir=/usr/src/linux'''. It correctly detected the 64bit arch. Run make and make install to install. Use the directions above to add the relevant lines to /etc/init.d/boot.local. Since I use the NI PCI6251, the lines in my boot.local file are :<br />
<br />
KERNEL=$(uname -r)<br />
if [ ! -d /lib/modules/${KERNEL}/comedi/ ]; then<br />
cp -r /lib/modules/comedi /lib/modules/${KERNEL}/<br />
depmod -a<br />
fi<br />
<br />
/usr/local/sbin/comedi_config /dev/comedi0 ni_pcimio<br />
choose_routing -s7 -c0 16 # NI_PFI_OUTPUT_DO == 16<br />
choose_routing -s7 -c1 16 # NI_PFI_OUTPUT_DO == 16<br />
etc etc<br />
choose_routing -s7 -c14 16 # NI_PFI_OUTPUT_DO == 16<br />
choose_routing -s7 -c15 16 # NI_PFI_OUTPUT_DO == 16 <br />
<br />
choose_routing is available from comedilib/demo/.libs/. Copy using sudo to the /usr/local/bin/<br />
<br />
Hopefully that helps.<br />
<br />
== c-scan ==<br />
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).<br />
<br />
*cd /home/scan/source/hardware/scanner/<br />
*make clean; make; sudo make install <br />
*sudo cp ~sds/bin/cscan /usr/local/bin/<br />
*Installs:<br />
**c_scan<br />
**c_scan man pages<br />
**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.<br />
<br />
== Jai CCD camera ==<br />
*sudo cp ~sds/bin/ccd* /usr/local/bin/<br />
*Installs:<br />
**ccd_set_serial<br />
**ccd0<br />
**ccd1<br />
**..<br />
**ccd7 (different shutter speeds)<br />
<br />
== Andor iXon camera ==<br />
You can find the latest driver here: /home/scan/source/hardware/andor_camera/andor you need to copy<br />
this directory to a local disk to build and install the driver and libraries because the andor <br />
supplied script borks if it isn't run as root and the permissions on the nfs disks prevent root<br />
running the script directly.<br />
<br />
The current driver is v2.82 install in December 2008 by Matt. This is broken for kernel versions<br />
2.6.23-2.6.27 and will cause hard kernel lock ups is you install it on these kernels. Under newer<br />
kernels it may not compile because of an error in src/driver/fault.c - just just #define NOPFN_SIGBUS -1<br />
in the preamble of fault.c to fix this. We are waiting for a revised driver.<br />
<br />
== Nanoscope lab / Andor iXon camera ==<br />
The Andor camera setup we use uses a client / server model to overcome some of the shortcomings of<br />
the Andor driver / libraries. All the code can be found in /home/scan/source/hardware/andor_camera/camera.<br />
You need to make the camera_driver and the camera_utils all application code should use and compile<br />
in the camera_client code. Before you use anything the server needs to be running (camera_server).<br />
Placing the following line in boot.local AFTER the Andor code will ensure it runs at boot time:<br />
<pre><br />
echo Installing the camera_server<br />
su matt -c /usr/local/bin/camera_server &<br />
</pre><br />
<br />
Remember the meminfo thing! reserve at least 4Mb of RAM for the driver by adding this to the boot options in the grub boot<br />
script (menu.1st) mem=1000M where 1000 is the size of the RAM in Mb - 4 (maybe 5?) as in:<br />
<br />
<pre><br />
kernel /boot/vmlinuz-2.6.25.18-0.2-default root=/dev/disk/by-id/scsi-SATA_ST340014A_3JX7N160-part2 resume=/dev/sda1 splash=silent showopts mem=1000M vga=0x31a<br />
</pre><br />
<br />
The current driver 2.82-30003 on kernel 2.6.27.xx appears to be working, however, Andor seem to be ironing out a few bugs still so this could be volatile - if you have a working system I suggest leaving it alone.<br />
<br />
2.78 works on pre 2.6.25 (or thereabouts) but not after because it causes hard kernel locks, it also requires a little hacking<br />
to compile on these newer kernels but since it crashes this is a little pointless. 2.82-30002 compiles and doesn't crash<br />
but returns scrambled image data. 2.82-30003 compiles on 2.6.27 kernels but not older ones, it doesn't crash and the image<br />
data seems ok.</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Experimental_PC&diff=1222Experimental PC2011-06-17T16:39:15Z<p>Samuel Achamfuo-Yeboah: </p>
<hr />
<div>Back to [[Linux How-tos]]<br />
<br />
<big>Extra stuff for all the hardware in '''blanket''' & '''pouffe''', the ARRO-SAM PC & OSAM </big><br />
<br />
In December 2007 I upgraded blanket, the PC used to control the ARRO-SAM experiment, to the current version of openSuSE (10.3 when this page was first written, now 11.0). This PC had been running Redhat 9 for a number of years and due to heavy use as an experimental PC and reasonable stability, it had not been updated. Redhat 9 runs a 2.4 kernel, so there were some extra things to do with the drivers and compiling ''c-scan''.<br />
<br />
Addition (April 2008): Rob upgraded pouffe in the O-SAM lab, pretty much the same as blanket accept for ISA PI stages<br />
<br />
The information contained here will also be useful if you want to install any of these bits of hardware on any other Linux PC.<br />
<br />
== Pre-install ==<br />
<br />
=== Scenario 1: inherited PC with working hardware, updating Linux ===<br />
<br />
# Make a list of all the hardware you have (or likely to have) attached to the PC<br />
# From this list, work out which programs/utilities you use<br />
#* Most of these will already be installed in /usr/local/bin/<br />
# Work out how to recompile (and re-install) all these programs<br />
#* Most will have their source code in /home/scan/source/hardware/<br />
# Save all the configuration files you think you might need<br />
#* Most of these will be in /etc/<br />
<br />
Example: updating blanket from RdeHat 9 to SuSE 10.3:<br />
<br />
I tarballed /etc/ and /usr/local/bin/ and stuck the files in my home directory where they would be recoverable after new install. The aim was to retain the old root partition of the old (Redhat 9) system, to enable it to be mounted by the new (SuSE 10.3) system under /old_redhat_9_root/ but since installation involved resizing the old partition (always potentially problematic) it's a good idea to backup anything you think you might need. /etc/ for configuration files (including our own, for the stages, the SLM etc) and /usr/local/bin/ just as a reminder of the extra stuff (mainly our own) that we installed.<br />
<br />
In the event, the old root partition wasn't wiped, and I was able to grab the files from there (/old_redhat_9_root). After the install, I copied the files I'd ''actually'' needed to /home/share/backup_system_files/blanket/<br />
<br />
=== Scenario 2: Adding new hardware to an already up-to-date PC ===<br />
<br />
# Use this wiki, find the instructions for the relevant hardware<br />
# 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> )<br />
<br />
<br />
== Install ==<br />
<br />
I had to resize the old partition as it was taking up all the disk (except for the swap partition). I resized the old partition to 20GB (it had 15GB of stuff in it) and made a new 30GB root partition. I also extended the swap to 4GB.<br />
<br />
Other than that I just did a standard install, then performed the standard local configuration stuff as with any other PC.<br />
<br />
The resizing of the old partition was successful and I was able to copy the files I needed directly from /old_redhat_9_root/etc/<br />
<br />
== Scope (and AFG) utilities ==<br />
<br />
These are the standard command line utilities to grab traces, save setups etc<br />
<br />
=== vxi11 ===<br />
(Used by Agilent and Tek utilities, and a low-level diagnostic tool in its own right)<br />
<br />
*cd /home/scan/source/hardware/vxi11/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**vxi11_cmd<br />
<br />
=== Agilent scope ===<br />
<br />
*cd /home/scan/source/hardware/agilent_scope/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**agetwf<br />
**agilent_load_setup<br />
**agilent_save_setup<br />
<br />
=== Tek scope/AFG ===<br />
<br />
*cd /home/scan/source/hardware/tek/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**tgetwf<br />
**tek_load_setup<br />
**tek_save_setup<br />
**tek_afg_upload_arb<br />
<br />
=== LeCroy scope ===<br />
<br />
==== VXI11-compatible LeCroy scopes ====<br />
Anything bought in 2010 onwards...<br />
<br />
*cd /home/scan/source/hardware/lecroy/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
*lgetwf<br />
<br />
==== VCIP-only LeCroy scopes ====<br />
The old (non-Windows) LT564L scope, and Teti's old Waverunner 6050 (the one that runs Windows 2000).<br />
<br />
*cd /home/scan/source/hardware/ethernet_scope/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**eth_cmd<br />
**/etc/lecroy_tcp/ (empty directory)<br />
*cd /home/scan/source/egetwf/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**egetwf<br />
<br />
== PI PCI stage driver ==<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/library/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**pi_save_pos<br />
**pi_recall_pos<br />
**(pi_user library)<br />
**/etc/pi_stage/stage_database/<br />
<br />
*cd /home/scan/source/hardware/pi_pci_stage/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**set_stages_safe<br />
**manual_pci_stage (manual_stage)<br />
**/etc/pi_stage/position_um '''if''' it doesn't already exist (default stage position file, all axes at 0)<br />
**/etc/pi_stage/installed_stages - this is the default list of installed stages, '''which you may need to edit if yours are different:'''<br />
axis 0 m-531.dd<br />
axis 1 m-531.dd<br />
axis 2 m-605.2dd<br />
axis 3 m-605.2dd<br />
<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/driver/<br />
*make<br />
*sudo ./install_pi_stage_recall<br />
*Installs:<br />
**PI PCI stage device driver<br />
<br />
'''Note:''' if you see something like the following after the last "make"....:<br />
<br />
make -C /lib/modules/2.6.27.45-0.1-default/build M=/home/scan/source/dev/pi_pci/driver_2.6/driver modules<br />
make[1]: Entering directory `/usr/src/linux-2.6.27.45-0.1-obj/x86_64/default'<br />
make[1]: *** No rule to make target `modules'. Stop.<br />
make[1]: Leaving directory `/usr/src/linux-2.6.27.45-0.1-obj/x86_64/default'<br />
make: *** [default] Error 2<br />
<br />
... it means that you don't have the kernel-source package installed. To fix this:<br />
*sudo zypper install kernel-source<br />
then...<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/driver/<br />
*make<br />
*sudo ./install_pi_stage_recall<br />
<br />
<br />
<br />
== PI ISA stage ==<br />
*cd /home/scan/source/hardware/stages<br />
*make -f Makefile.osam clean; make -f Makefile.osam; <br />
*sudo make -f Makefile.osam install<br />
*Installs:<br />
**manual_stage<br />
**/etc/stages/PI_stage_origin '''if''' it doesn't already exist (default stage position file, all axes at 0)<br />
<br />
== Inchworm and IDAC stages ==<br />
*cd /home/scan/source/hardware/IW_driver<br />
*sudo make install<br />
*Installs:<br />
**/etc/stages/IW_stage_origin '''if''' it doesn't already exist (default stage position file, both axes at 0)<br />
*cd /home/scan/source/hardware/IDAC_driver<br />
*sudo make install<br />
*Installs:<br />
**/etc/stages/IDAC_stage_origin '''if''' it doesn't already exist (default stage position file, both axes at 0)<br />
<br />
== BNS SLM ==<br />
*cp -av /old_redhat_9_root/etc/slm /etc/<br />
<br />
*cd /home/scan/source/dev/BNS/driver_2.6/<br />
*make<br />
To install use<br />
*sudo ./install_slm_mtrr<br />
OR<br />
*sudo ./install_for_boot<br />
The latter install the kernel driver in the system and will load it automatically at boot time for you. If you<br />
want it load right now without rebooting use the previous version as well - matt<br />
<br />
*Installs:<br />
**BNS SLM device driver<br />
<br />
*cd /home/scan/source/dev/BNS/utils/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**bns_change_frame (change_frame_bns)<br />
**bns_laser_ab<br />
**bns_power<br />
**bns_power_off<br />
**bns_power_on<br />
**bns_upload_frame (upload1_bns)<br />
<br />
*cd /home/scan/source/hardware/bns_slm/manual_bns/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**manual_bns<br />
<br />
*cd /home/scan/source/hardware/bns_slm/set_bns/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**set_bns<br />
<br />
== FFTW libraries ==<br />
<br />
These are needed by the higher order correction algorithm when using the SLM in c-scan. I use the ''float'' version of the libraries (rather than the standard ''double'' version) for speed, and so an extra option must be set before compiling.<br />
<br />
*cd /home/scan/source/fftw-3.0.1_blanket/<br />
*make distclean; ./configure --enable-float; make; sudo make install<br />
*Installs:<br />
**(FFTW float libraries)<br />
<br />
== Comedi ==<br />
<br />
=== comedi kernel driver compilation ===<br />
<br />
The "current release" version of the comedi is 0.7.76, however this will not compile on modern kernels (it's more than 2 years old). The current comedi policy seems to be one of continuous code development, they seem to have given up on producing "releases." We need to create a directory on the local disk (there is a lot to compile) and download a "cvs snapshot".<br />
<br />
*cd /usr/local/src/<br />
*sudo mkdir comedi<br />
*sudo chown <your_username>: comedi<br />
*cd comedi<br />
<br />
The following two lines are from the comedi download page: http://www.comedi.org/download.html<br />
*cvs -d :pserver:anonymous@cvs.comedi.org:/cvs/comedi login<br />
*cvs -d :pserver:anonymous@cvs.comedi.org:/cvs/comedi co comedi<br />
*cd comedi<br />
*./autogen.sh<br />
The "./configure" script needs some extra arguments to work (ref Roger). "./configure -h" to see all options. These might change in the future.<br />
<br />
For 32-bit (tested by Steve):<br />
*./configure --with-linuxsrcdir=/usr/src/linux<br />
For 64-bit (untested):<br />
*./configure --with-linuxsrcdir=/usr/src/linux --with-rpm-target=x86_64<br />
<br />
*make<br />
*sudo make install<br />
*sudo /sbin/depmod -a<br />
*sudo make dev<br />
<br />
*Installs:<br />
**(comedi libraries)<br />
**(device libraries)<br />
**(comedi devices in /dev/)<br />
<br />
*sudo echo 'KERNEL=="comedi*", MODE="0666"' > /etc/udev/rules.d/53-comedi.rules<br />
**Sets the permissions of the DAQ to world-readable-and-writable during boot<br />
<br />
==== Specific instructions for the Amplicon PCI230 ====<br />
(See also Roger's Troubleshooting Tips below for other cards)<br />
<br />
*sudo echo 'install amplc_pci230 PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH; comedi_config /dev/comedi0 amplc_pci230' >> /etc/modprobe.conf.local<br />
**Means that when you use ''modprobe'' to load the amplc_pci230 module, it automatically runs ''comedi_config'' too.<br />
**Unfortunately, ''udev'' ignores this, so we have to...<br />
*sudo echo '/sbin/modprobe amplc_pci230' >> /etc/init.d/boot.local<br />
*sudo echo '/usr/local/sbin/comedi_config /dev/comedi0 amplc_pci230' >> /etc/init.d/boot.local<br />
**Makes the PCI230 modules get loaded automatically at boot time<br />
<br />
==== Troubleshooting tips ====<br />
<br />
Installing comedi onto different machines may require a slight modification to the approach above.<br />
<br />
*Change the name of driver (amplc_pci230 above) depending on the DAQ card used (e.g. most PCI National instruments DAQ cards use ni_pcimio). A complete list can be viewed on [http://www.comedi.org/hardware.html comedi's hardware list]. <br />
*Some drivers may not compile using make. If this happens, put #if 0 and #endif at the top and bottom of the driver's code respectively. The drivers are located in ./comedi/drivers/, adv_pci1710.c and adv_pci_dio.c have been known to cause problems.<br />
*Once installed, if the modules do not load into the kernal using modprobe (e.g. if comedi_test returns cannot find comedi0 or drivers), insmod may be required. The following needs to be placed in and at the end of /etc/init.d/boot.local (these are for National Instruments DAQ, change drivers as required)<br />
**/sbin/insmod /lib/modules/comedi/comedi.ko<br />
**/sbin/insmod /lib/modules/comedi/drivers/8255.ko<br />
**/sbin/insmod /lib/modules/comedi/drivers/ni_pcimio.ko<br />
**/usr/local/sbin/comedi_config /dev/comedi0 ni_pcimio (if this is not already there)<br />
<br />
==== Dealing with kernel updates ====<br />
<br />
Updates to the kernel mean that the comedi drivers need to be reinstalled. As the kernel updates are usually fairly minor, the comedi drivers usually don't need recompiling. It's annoying having to deal with this, so this solution helps to remove some of that annoyance. When you've installed comedi run the following as root:<br />
<br />
cp -r /lib/modules/$(uname -r)/comedi /lib/modules/<br />
<br />
This will copy your current comedi installation to /lib/modules/comedi.<br />
<br />
Now add the following to /etc/init.d/boot.local (*before* any of the commands to load the comedi modules):<br />
<br />
KERNEL=$(uname -r)<br />
<br />
if [ ! -d /lib/modules/${KERNEL}/comedi/ ]; then<br />
cp -r /lib/modules/comedi /lib/modules/${KERNEL}/<br />
depmod -a<br />
fi<br />
<br />
This will check for the presence of the comedi directory in the modules directory for the current kernel and copy it over if it doesn't exist. ''depmod -a'' updates the module dependencies.<br />
<br />
It is important that if you install a newer version of comedi that you remove /lib/modules/comedi and replace it with your updated version. Also note that some kernel updates may be incompatible with your compiled comedi drivers and so you'll have to recompile and reinstall using the instructions above.<br />
<br />
=== comedilib ===<br />
<br />
comedilib should now be installed automatically through Roger's openSUSE repository. Updates will also become available through the normal update procedure. If this doesn't work for any reason, see Roger or use the old method:<br />
<br />
cd /home/scan/source/hardware/comedi/comedilib-0.8.1/<br />
make distclean; ./configure; make; sudo make install<br />
Installs:<br />
<br />
* libcomedi<br />
* comedi_test<br />
* /usr/local/sbin/comedi_config<br />
<br />
=== Comedi Settings for the NI PCI-6251 ===<br />
<br />
If you want to use the PFI port as a digital output, you must do some extra configuration. This is possible using the demo tools in comedilib (which could also be copied across to your own code of course). So, to change channel 14 of subdevice 7 (ie. pin 1 on the connector) to be a digital output do the following in the comedilib/demo directory:<br />
<br />
* ./choose_routing -s7 -c14 16 # NI_PFI_OUTPUT_DO == 16<br />
* ./dio -s7 -c14 1 # now its an output<br />
* ./outp -s7 -c14 1 # test the output (or 0)<br />
<br />
All these can be set up at boot. Putting /usr/local/bin/choose_rooting -s7 -c** 16 for all/any channels in /etc/rc.d/boot.local and copying (as root) choose_rooting from the demo folder in (compiled?) comedilib to /usr/local/bin/.<br />
<br />
=== Comedi openSUSE 11.4, Kernel 2.6.37.6-0.5-desktop ===<br />
I did a clean install of openSUSE 11.4 64bit on Settee. I had a few problems, so I thought I'd write down how I finally managed to get it working. This was June 2011, on Settee (Samuel).<br />
<br />
After running ~share/suse_hacks/<suse version>/std_suse_hacks_<location>, make sure to run the install_eee_packages too. This will install comedilib automatically for you, amongst other things.<br />
<br />
I tried to use the kernel tree to install comedi. From /usr/src/linux/ type: '''sudo make menuconfig''', and choose to install modules for comedi and the relevant drivers. Comedi may be found in the tree under Device Drivers >> Staging Drivers >> Data acquisition support (comedi). Use / for search if so desired. Use '''sudo make modules'''; '''sudo make install''' to install. Unfortunately, this method didn't work for me, and the modules for other devices like network cards got overwritten, so I had to rescue the system.<br />
<br />
I thus downloaded the latest snapshot from the [http://www.comedi.org/downloads.html comedi download] page, untarred it to /usr/local/src/comedi, and used '''./autogen.sh''' then '''./configure --with-linuxdir=/usr/src/linux'''. It correctly detected the 64bit arch. Run make and make install to install. Use the directions above to add the relevant lines to /etc/init.d/boot.local. Since I use the NI PCI6251, the lines in my boot.local file are :<br />
<br />
KERNEL=$(uname -r)<br />
if [ ! -d /lib/modules/${KERNEL}/comedi/ ]; then<br />
cp -r /lib/modules/comedi /lib/modules/${KERNEL}/<br />
depmod -a<br />
fi<br />
<br />
/usr/local/sbin/comedi_config /dev/comedi0 ni_pcimio<br />
choose_routing -s7 -c0 16 # NI_PFI_OUTPUT_DO == 16<br />
choose_routing -s7 -c1 16 # NI_PFI_OUTPUT_DO == 16<br />
etc etc<br />
choose_routing -s7 -c14 16 # NI_PFI_OUTPUT_DO == 16<br />
choose_routing -s7 -c15 16 # NI_PFI_OUTPUT_DO == 16 <br />
<br />
choose_routing is available from comedilib/demo/.libs/. Copy using sudo to the /usr/local/bin/<br />
<br />
Hopefully that helps.<br />
<br />
== c-scan ==<br />
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).<br />
<br />
*cd /home/scan/source/hardware/scanner/<br />
*make clean; make; sudo make install <br />
*sudo cp ~sds/bin/cscan /usr/local/bin/<br />
*Installs:<br />
**c_scan<br />
**c_scan man pages<br />
**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.<br />
<br />
== Jai CCD camera ==<br />
*sudo cp ~sds/bin/ccd* /usr/local/bin/<br />
*Installs:<br />
**ccd_set_serial<br />
**ccd0<br />
**ccd1<br />
**..<br />
**ccd7 (different shutter speeds)<br />
<br />
== Andor iXon camera ==<br />
You can find the latest driver here: /home/scan/source/hardware/andor_camera/andor you need to copy<br />
this directory to a local disk to build and install the driver and libraries because the andor <br />
supplied script borks if it isn't run as root and the permissions on the nfs disks prevent root<br />
running the script directly.<br />
<br />
The current driver is v2.82 install in December 2008 by Matt. This is broken for kernel versions<br />
2.6.23-2.6.27 and will cause hard kernel lock ups is you install it on these kernels. Under newer<br />
kernels it may not compile because of an error in src/driver/fault.c - just just #define NOPFN_SIGBUS -1<br />
in the preamble of fault.c to fix this. We are waiting for a revised driver.<br />
<br />
== Nanoscope lab / Andor iXon camera ==<br />
The Andor camera setup we use uses a client / server model to overcome some of the shortcomings of<br />
the Andor driver / libraries. All the code can be found in /home/scan/source/hardware/andor_camera/camera.<br />
You need to make the camera_driver and the camera_utils all application code should use and compile<br />
in the camera_client code. Before you use anything the server needs to be running (camera_server).<br />
Placing the following line in boot.local AFTER the Andor code will ensure it runs at boot time:<br />
<pre><br />
echo Installing the camera_server<br />
su matt -c /usr/local/bin/camera_server &<br />
</pre><br />
<br />
Remember the meminfo thing! reserve at least 4Mb of RAM for the driver by adding this to the boot options in the grub boot<br />
script (menu.1st) mem=1000M where 1000 is the size of the RAM in Mb - 4 (maybe 5?) as in:<br />
<br />
<pre><br />
kernel /boot/vmlinuz-2.6.25.18-0.2-default root=/dev/disk/by-id/scsi-SATA_ST340014A_3JX7N160-part2 resume=/dev/sda1 splash=silent showopts mem=1000M vga=0x31a<br />
</pre><br />
<br />
The current driver 2.82-30003 on kernel 2.6.27.xx appears to be working, however, Andor seem to be ironing out a few bugs still so this could be volatile - if you have a working system I suggest leaving it alone.<br />
<br />
2.78 works on pre 2.6.25 (or thereabouts) but not after because it causes hard kernel locks, it also requires a little hacking<br />
to compile on these newer kernels but since it crashes this is a little pointless. 2.82-30002 compiles and doesn't crash<br />
but returns scrambled image data. 2.82-30003 compiles on 2.6.27 kernels but not older ones, it doesn't crash and the image<br />
data seems ok.</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Experimental_PC&diff=1221Experimental PC2011-06-17T16:34:19Z<p>Samuel Achamfuo-Yeboah: </p>
<hr />
<div>Back to [[Linux How-tos]]<br />
<br />
<big>Extra stuff for all the hardware in '''blanket''' & '''pouffe''', the ARRO-SAM PC & OSAM </big><br />
<br />
In December 2007 I upgraded blanket, the PC used to control the ARRO-SAM experiment, to the current version of openSuSE (10.3 when this page was first written, now 11.0). This PC had been running Redhat 9 for a number of years and due to heavy use as an experimental PC and reasonable stability, it had not been updated. Redhat 9 runs a 2.4 kernel, so there were some extra things to do with the drivers and compiling ''c-scan''.<br />
<br />
Addition (April 2008): Rob upgraded pouffe in the O-SAM lab, pretty much the same as blanket accept for ISA PI stages<br />
<br />
The information contained here will also be useful if you want to install any of these bits of hardware on any other Linux PC.<br />
<br />
== Pre-install ==<br />
<br />
=== Scenario 1: inherited PC with working hardware, updating Linux ===<br />
<br />
# Make a list of all the hardware you have (or likely to have) attached to the PC<br />
# From this list, work out which programs/utilities you use<br />
#* Most of these will already be installed in /usr/local/bin/<br />
# Work out how to recompile (and re-install) all these programs<br />
#* Most will have their source code in /home/scan/source/hardware/<br />
# Save all the configuration files you think you might need<br />
#* Most of these will be in /etc/<br />
<br />
Example: updating blanket from RdeHat 9 to SuSE 10.3:<br />
<br />
I tarballed /etc/ and /usr/local/bin/ and stuck the files in my home directory where they would be recoverable after new install. The aim was to retain the old root partition of the old (Redhat 9) system, to enable it to be mounted by the new (SuSE 10.3) system under /old_redhat_9_root/ but since installation involved resizing the old partition (always potentially problematic) it's a good idea to backup anything you think you might need. /etc/ for configuration files (including our own, for the stages, the SLM etc) and /usr/local/bin/ just as a reminder of the extra stuff (mainly our own) that we installed.<br />
<br />
In the event, the old root partition wasn't wiped, and I was able to grab the files from there (/old_redhat_9_root). After the install, I copied the files I'd ''actually'' needed to /home/share/backup_system_files/blanket/<br />
<br />
=== Scenario 2: Adding new hardware to an already up-to-date PC ===<br />
<br />
# Use this wiki, find the instructions for the relevant hardware<br />
# 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> )<br />
<br />
<br />
== Install ==<br />
<br />
I had to resize the old partition as it was taking up all the disk (except for the swap partition). I resized the old partition to 20GB (it had 15GB of stuff in it) and made a new 30GB root partition. I also extended the swap to 4GB.<br />
<br />
Other than that I just did a standard install, then performed the standard local configuration stuff as with any other PC.<br />
<br />
The resizing of the old partition was successful and I was able to copy the files I needed directly from /old_redhat_9_root/etc/<br />
<br />
== Scope (and AFG) utilities ==<br />
<br />
These are the standard command line utilities to grab traces, save setups etc<br />
<br />
=== vxi11 ===<br />
(Used by Agilent and Tek utilities, and a low-level diagnostic tool in its own right)<br />
<br />
*cd /home/scan/source/hardware/vxi11/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**vxi11_cmd<br />
<br />
=== Agilent scope ===<br />
<br />
*cd /home/scan/source/hardware/agilent_scope/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**agetwf<br />
**agilent_load_setup<br />
**agilent_save_setup<br />
<br />
=== Tek scope/AFG ===<br />
<br />
*cd /home/scan/source/hardware/tek/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**tgetwf<br />
**tek_load_setup<br />
**tek_save_setup<br />
**tek_afg_upload_arb<br />
<br />
=== LeCroy scope ===<br />
<br />
==== VXI11-compatible LeCroy scopes ====<br />
Anything bought in 2010 onwards...<br />
<br />
*cd /home/scan/source/hardware/lecroy/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
*lgetwf<br />
<br />
==== VCIP-only LeCroy scopes ====<br />
The old (non-Windows) LT564L scope, and Teti's old Waverunner 6050 (the one that runs Windows 2000).<br />
<br />
*cd /home/scan/source/hardware/ethernet_scope/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**eth_cmd<br />
**/etc/lecroy_tcp/ (empty directory)<br />
*cd /home/scan/source/egetwf/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**egetwf<br />
<br />
== PI PCI stage driver ==<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/library/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**pi_save_pos<br />
**pi_recall_pos<br />
**(pi_user library)<br />
**/etc/pi_stage/stage_database/<br />
<br />
*cd /home/scan/source/hardware/pi_pci_stage/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**set_stages_safe<br />
**manual_pci_stage (manual_stage)<br />
**/etc/pi_stage/position_um '''if''' it doesn't already exist (default stage position file, all axes at 0)<br />
**/etc/pi_stage/installed_stages - this is the default list of installed stages, '''which you may need to edit if yours are different:'''<br />
axis 0 m-531.dd<br />
axis 1 m-531.dd<br />
axis 2 m-605.2dd<br />
axis 3 m-605.2dd<br />
<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/driver/<br />
*make<br />
*sudo ./install_pi_stage_recall<br />
*Installs:<br />
**PI PCI stage device driver<br />
<br />
'''Note:''' if you see something like the following after the last "make"....:<br />
<br />
make -C /lib/modules/2.6.27.45-0.1-default/build M=/home/scan/source/dev/pi_pci/driver_2.6/driver modules<br />
make[1]: Entering directory `/usr/src/linux-2.6.27.45-0.1-obj/x86_64/default'<br />
make[1]: *** No rule to make target `modules'. Stop.<br />
make[1]: Leaving directory `/usr/src/linux-2.6.27.45-0.1-obj/x86_64/default'<br />
make: *** [default] Error 2<br />
<br />
... it means that you don't have the kernel-source package installed. To fix this:<br />
*sudo zypper install kernel-source<br />
then...<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/driver/<br />
*make<br />
*sudo ./install_pi_stage_recall<br />
<br />
<br />
<br />
== PI ISA stage ==<br />
*cd /home/scan/source/hardware/stages<br />
*make -f Makefile.osam clean; make -f Makefile.osam; <br />
*sudo make -f Makefile.osam install<br />
*Installs:<br />
**manual_stage<br />
**/etc/stages/PI_stage_origin '''if''' it doesn't already exist (default stage position file, all axes at 0)<br />
<br />
== Inchworm and IDAC stages ==<br />
*cd /home/scan/source/hardware/IW_driver<br />
*sudo make install<br />
*Installs:<br />
**/etc/stages/IW_stage_origin '''if''' it doesn't already exist (default stage position file, both axes at 0)<br />
*cd /home/scan/source/hardware/IDAC_driver<br />
*sudo make install<br />
*Installs:<br />
**/etc/stages/IDAC_stage_origin '''if''' it doesn't already exist (default stage position file, both axes at 0)<br />
<br />
== BNS SLM ==<br />
*cp -av /old_redhat_9_root/etc/slm /etc/<br />
<br />
*cd /home/scan/source/dev/BNS/driver_2.6/<br />
*make<br />
To install use<br />
*sudo ./install_slm_mtrr<br />
OR<br />
*sudo ./install_for_boot<br />
The latter install the kernel driver in the system and will load it automatically at boot time for you. If you<br />
want it load right now without rebooting use the previous version as well - matt<br />
<br />
*Installs:<br />
**BNS SLM device driver<br />
<br />
*cd /home/scan/source/dev/BNS/utils/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**bns_change_frame (change_frame_bns)<br />
**bns_laser_ab<br />
**bns_power<br />
**bns_power_off<br />
**bns_power_on<br />
**bns_upload_frame (upload1_bns)<br />
<br />
*cd /home/scan/source/hardware/bns_slm/manual_bns/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**manual_bns<br />
<br />
*cd /home/scan/source/hardware/bns_slm/set_bns/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**set_bns<br />
<br />
== FFTW libraries ==<br />
<br />
These are needed by the higher order correction algorithm when using the SLM in c-scan. I use the ''float'' version of the libraries (rather than the standard ''double'' version) for speed, and so an extra option must be set before compiling.<br />
<br />
*cd /home/scan/source/fftw-3.0.1_blanket/<br />
*make distclean; ./configure --enable-float; make; sudo make install<br />
*Installs:<br />
**(FFTW float libraries)<br />
<br />
== Comedi ==<br />
<br />
=== comedi kernel driver compilation ===<br />
<br />
The "current release" version of the comedi is 0.7.76, however this will not compile on modern kernels (it's more than 2 years old). The current comedi policy seems to be one of continuous code development, they seem to have given up on producing "releases." We need to create a directory on the local disk (there is a lot to compile) and download a "cvs snapshot".<br />
<br />
*cd /usr/local/src/<br />
*sudo mkdir comedi<br />
*sudo chown <your_username>: comedi<br />
*cd comedi<br />
<br />
The following two lines are from the comedi download page: http://www.comedi.org/download.html<br />
*cvs -d :pserver:anonymous@cvs.comedi.org:/cvs/comedi login<br />
*cvs -d :pserver:anonymous@cvs.comedi.org:/cvs/comedi co comedi<br />
*cd comedi<br />
*./autogen.sh<br />
The "./configure" script needs some extra arguments to work (ref Roger). "./configure -h" to see all options. These might change in the future.<br />
<br />
For 32-bit (tested by Steve):<br />
*./configure --with-linuxsrcdir=/usr/src/linux<br />
For 64-bit (untested):<br />
*./configure --with-linuxsrcdir=/usr/src/linux --with-rpm-target=x86_64<br />
<br />
*make<br />
*sudo make install<br />
*sudo /sbin/depmod -a<br />
*sudo make dev<br />
<br />
*Installs:<br />
**(comedi libraries)<br />
**(device libraries)<br />
**(comedi devices in /dev/)<br />
<br />
*sudo echo 'KERNEL=="comedi*", MODE="0666"' > /etc/udev/rules.d/53-comedi.rules<br />
**Sets the permissions of the DAQ to world-readable-and-writable during boot<br />
<br />
==== Specific instructions for the Amplicon PCI230 ====<br />
(See also Roger's Troubleshooting Tips below for other cards)<br />
<br />
*sudo echo 'install amplc_pci230 PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH; comedi_config /dev/comedi0 amplc_pci230' >> /etc/modprobe.conf.local<br />
**Means that when you use ''modprobe'' to load the amplc_pci230 module, it automatically runs ''comedi_config'' too.<br />
**Unfortunately, ''udev'' ignores this, so we have to...<br />
*sudo echo '/sbin/modprobe amplc_pci230' >> /etc/init.d/boot.local<br />
*sudo echo '/usr/local/sbin/comedi_config /dev/comedi0 amplc_pci230' >> /etc/init.d/boot.local<br />
**Makes the PCI230 modules get loaded automatically at boot time<br />
<br />
==== Troubleshooting tips ====<br />
<br />
Installing comedi onto different machines may require a slight modification to the approach above.<br />
<br />
*Change the name of driver (amplc_pci230 above) depending on the DAQ card used (e.g. most PCI National instruments DAQ cards use ni_pcimio). A complete list can be viewed on [http://www.comedi.org/hardware.html comedi's hardware list]. <br />
*Some drivers may not compile using make. If this happens, put #if 0 and #endif at the top and bottom of the driver's code respectively. The drivers are located in ./comedi/drivers/, adv_pci1710.c and adv_pci_dio.c have been known to cause problems.<br />
*Once installed, if the modules do not load into the kernal using modprobe (e.g. if comedi_test returns cannot find comedi0 or drivers), insmod may be required. The following needs to be placed in and at the end of /etc/init.d/boot.local (these are for National Instruments DAQ, change drivers as required)<br />
**/sbin/insmod /lib/modules/comedi/comedi.ko<br />
**/sbin/insmod /lib/modules/comedi/drivers/8255.ko<br />
**/sbin/insmod /lib/modules/comedi/drivers/ni_pcimio.ko<br />
**/usr/local/sbin/comedi_config /dev/comedi0 ni_pcimio (if this is not already there)<br />
<br />
==== Dealing with kernel updates ====<br />
<br />
Updates to the kernel mean that the comedi drivers need to be reinstalled. As the kernel updates are usually fairly minor, the comedi drivers usually don't need recompiling. It's annoying having to deal with this, so this solution helps to remove some of that annoyance. When you've installed comedi run the following as root:<br />
<br />
cp -r /lib/modules/$(uname -r)/comedi /lib/modules/<br />
<br />
This will copy your current comedi installation to /lib/modules/comedi.<br />
<br />
Now add the following to /etc/init.d/boot.local (*before* any of the commands to load the comedi modules):<br />
<br />
KERNEL=$(uname -r)<br />
<br />
if [ ! -d /lib/modules/${KERNEL}/comedi/ ]; then<br />
cp -r /lib/modules/comedi /lib/modules/${KERNEL}/<br />
depmod -a<br />
fi<br />
<br />
This will check for the presence of the comedi directory in the modules directory for the current kernel and copy it over if it doesn't exist. ''depmod -a'' updates the module dependencies.<br />
<br />
It is important that if you install a newer version of comedi that you remove /lib/modules/comedi and replace it with your updated version. Also note that some kernel updates may be incompatible with your compiled comedi drivers and so you'll have to recompile and reinstall using the instructions above.<br />
<br />
=== comedilib ===<br />
<br />
comedilib should now be installed automatically through Roger's openSUSE repository. Updates will also become available through the normal update procedure. If this doesn't work for any reason, see Roger or use the old method:<br />
<br />
cd /home/scan/source/hardware/comedi/comedilib-0.8.1/<br />
make distclean; ./configure; make; sudo make install<br />
Installs:<br />
<br />
* libcomedi<br />
* comedi_test<br />
* /usr/local/sbin/comedi_config<br />
<br />
=== Comedi Settings for the NI PCI-6251 ===<br />
<br />
If you want to use the PFI port as a digital output, you must do some extra configuration. This is possible using the demo tools in comedilib (which could also be copied across to your own code of course). So, to change channel 14 of subdevice 7 (ie. pin 1 on the connector) to be a digital output do the following in the comedilib/demo directory:<br />
<br />
* ./choose_routing -s7 -c14 16 # NI_PFI_OUTPUT_DO == 16<br />
* ./dio -s7 -c14 1 # now its an output<br />
* ./outp -s7 -c14 1 # test the output (or 0)<br />
<br />
All these can be set up at boot. Putting /usr/local/bin/choose_rooting -s7 -c** 16 for all/any channels in /etc/rc.d/boot.local and copying (as root) choose_rooting from the demo folder in (compiled?) comedilib to /usr/local/bin/.<br />
<br />
=== Comedi openSUSE 11.4, Kernel 2.6.37.6-0.5-desktop ===<br />
I did a clean install of openSUSE 11.4 64bit on Settee. I had a few problems, so I thought I'd write down how I finally managed to get it working. This was June 2011, on Settee (Samuel).<br />
<br />
After running ~share/suse_hacks/<suse version>/std_suse_hacks_<location>, make sure to run the install_eee_packages too. This will install comedilib automatically for you, amongst other things.<br />
<br />
I tried to use the kernel tree to install comedi. From /usr/src/linux/ type: sudo make menuconfig, and choose to install modules for comedi and the relevant drivers. Comedi may be found in the tree under Device Drivers >> Staging Drivers >> Data acquisition support (comedi). Use / for search if so desired. Use sudo make modules; 'sudo make install' to install. Unfortunately, this method didn't work for me, and the modules for other devices like network cards got overwritten, so I had to rescue the system.<br />
<br />
I thus downloaded the latest snapshot from [http://www.comedi.org/downloads.html the comedi download page], untarred it to /usr/local/src/comedi, and used ./autogen.sh then ./configure --with-linuxdir=/usr/src/linux. It correctly detected the 64bit arch. Run make and make install to install. Use the directions above to add the relevant lines to /etc/init.d/boot.local. Since I use the NI PCI6251, the lines in my boot.local file are :<br />
<br />
KERNEL=$(uname -r)<br />
if [ ! -d /lib/modules/${KERNEL}/comedi/ ]; then<br />
cp -r /lib/modules/comedi /lib/modules/${KERNEL}/<br />
depmod -a<br />
fi<br />
<br />
/usr/local/sbin/comedi_config /dev/comedi0 ni_pcimio<br />
choose_routing -s7 -c0 16 # NI_PFI_OUTPUT_DO == 16<br />
choose_routing -s7 -c1 16 # NI_PFI_OUTPUT_DO == 16<br />
etc etc<br />
choose_routing -s7 -c14 16 # NI_PFI_OUTPUT_DO == 16<br />
choose_routing -s7 -c15 16 # NI_PFI_OUTPUT_DO == 16 <br />
<br />
Hopefully that helps.<br />
<br />
== c-scan ==<br />
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).<br />
<br />
*cd /home/scan/source/hardware/scanner/<br />
*make clean; make; sudo make install <br />
*sudo cp ~sds/bin/cscan /usr/local/bin/<br />
*Installs:<br />
**c_scan<br />
**c_scan man pages<br />
**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.<br />
<br />
== Jai CCD camera ==<br />
*sudo cp ~sds/bin/ccd* /usr/local/bin/<br />
*Installs:<br />
**ccd_set_serial<br />
**ccd0<br />
**ccd1<br />
**..<br />
**ccd7 (different shutter speeds)<br />
<br />
== Andor iXon camera ==<br />
You can find the latest driver here: /home/scan/source/hardware/andor_camera/andor you need to copy<br />
this directory to a local disk to build and install the driver and libraries because the andor <br />
supplied script borks if it isn't run as root and the permissions on the nfs disks prevent root<br />
running the script directly.<br />
<br />
The current driver is v2.82 install in December 2008 by Matt. This is broken for kernel versions<br />
2.6.23-2.6.27 and will cause hard kernel lock ups is you install it on these kernels. Under newer<br />
kernels it may not compile because of an error in src/driver/fault.c - just just #define NOPFN_SIGBUS -1<br />
in the preamble of fault.c to fix this. We are waiting for a revised driver.<br />
<br />
== Nanoscope lab / Andor iXon camera ==<br />
The Andor camera setup we use uses a client / server model to overcome some of the shortcomings of<br />
the Andor driver / libraries. All the code can be found in /home/scan/source/hardware/andor_camera/camera.<br />
You need to make the camera_driver and the camera_utils all application code should use and compile<br />
in the camera_client code. Before you use anything the server needs to be running (camera_server).<br />
Placing the following line in boot.local AFTER the Andor code will ensure it runs at boot time:<br />
<pre><br />
echo Installing the camera_server<br />
su matt -c /usr/local/bin/camera_server &<br />
</pre><br />
<br />
Remember the meminfo thing! reserve at least 4Mb of RAM for the driver by adding this to the boot options in the grub boot<br />
script (menu.1st) mem=1000M where 1000 is the size of the RAM in Mb - 4 (maybe 5?) as in:<br />
<br />
<pre><br />
kernel /boot/vmlinuz-2.6.25.18-0.2-default root=/dev/disk/by-id/scsi-SATA_ST340014A_3JX7N160-part2 resume=/dev/sda1 splash=silent showopts mem=1000M vga=0x31a<br />
</pre><br />
<br />
The current driver 2.82-30003 on kernel 2.6.27.xx appears to be working, however, Andor seem to be ironing out a few bugs still so this could be volatile - if you have a working system I suggest leaving it alone.<br />
<br />
2.78 works on pre 2.6.25 (or thereabouts) but not after because it causes hard kernel locks, it also requires a little hacking<br />
to compile on these newer kernels but since it crashes this is a little pointless. 2.82-30002 compiles and doesn't crash<br />
but returns scrambled image data. 2.82-30003 compiles on 2.6.27 kernels but not older ones, it doesn't crash and the image<br />
data seems ok.</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Experimental_PC&diff=1220Experimental PC2011-06-17T16:28:11Z<p>Samuel Achamfuo-Yeboah: </p>
<hr />
<div>Back to [[Linux How-tos]]<br />
<br />
<big>Extra stuff for all the hardware in '''blanket''' & '''pouffe''', the ARRO-SAM PC & OSAM </big><br />
<br />
In December 2007 I upgraded blanket, the PC used to control the ARRO-SAM experiment, to the current version of openSuSE (10.3 when this page was first written, now 11.0). This PC had been running Redhat 9 for a number of years and due to heavy use as an experimental PC and reasonable stability, it had not been updated. Redhat 9 runs a 2.4 kernel, so there were some extra things to do with the drivers and compiling ''c-scan''.<br />
<br />
Addition (April 2008): Rob upgraded pouffe in the O-SAM lab, pretty much the same as blanket accept for ISA PI stages<br />
<br />
The information contained here will also be useful if you want to install any of these bits of hardware on any other Linux PC.<br />
<br />
== Pre-install ==<br />
<br />
=== Scenario 1: inherited PC with working hardware, updating Linux ===<br />
<br />
# Make a list of all the hardware you have (or likely to have) attached to the PC<br />
# From this list, work out which programs/utilities you use<br />
#* Most of these will already be installed in /usr/local/bin/<br />
# Work out how to recompile (and re-install) all these programs<br />
#* Most will have their source code in /home/scan/source/hardware/<br />
# Save all the configuration files you think you might need<br />
#* Most of these will be in /etc/<br />
<br />
Example: updating blanket from RdeHat 9 to SuSE 10.3:<br />
<br />
I tarballed /etc/ and /usr/local/bin/ and stuck the files in my home directory where they would be recoverable after new install. The aim was to retain the old root partition of the old (Redhat 9) system, to enable it to be mounted by the new (SuSE 10.3) system under /old_redhat_9_root/ but since installation involved resizing the old partition (always potentially problematic) it's a good idea to backup anything you think you might need. /etc/ for configuration files (including our own, for the stages, the SLM etc) and /usr/local/bin/ just as a reminder of the extra stuff (mainly our own) that we installed.<br />
<br />
In the event, the old root partition wasn't wiped, and I was able to grab the files from there (/old_redhat_9_root). After the install, I copied the files I'd ''actually'' needed to /home/share/backup_system_files/blanket/<br />
<br />
=== Scenario 2: Adding new hardware to an already up-to-date PC ===<br />
<br />
# Use this wiki, find the instructions for the relevant hardware<br />
# 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> )<br />
<br />
<br />
== Install ==<br />
<br />
I had to resize the old partition as it was taking up all the disk (except for the swap partition). I resized the old partition to 20GB (it had 15GB of stuff in it) and made a new 30GB root partition. I also extended the swap to 4GB.<br />
<br />
Other than that I just did a standard install, then performed the standard local configuration stuff as with any other PC.<br />
<br />
The resizing of the old partition was successful and I was able to copy the files I needed directly from /old_redhat_9_root/etc/<br />
<br />
== Scope (and AFG) utilities ==<br />
<br />
These are the standard command line utilities to grab traces, save setups etc<br />
<br />
=== vxi11 ===<br />
(Used by Agilent and Tek utilities, and a low-level diagnostic tool in its own right)<br />
<br />
*cd /home/scan/source/hardware/vxi11/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**vxi11_cmd<br />
<br />
=== Agilent scope ===<br />
<br />
*cd /home/scan/source/hardware/agilent_scope/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**agetwf<br />
**agilent_load_setup<br />
**agilent_save_setup<br />
<br />
=== Tek scope/AFG ===<br />
<br />
*cd /home/scan/source/hardware/tek/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**tgetwf<br />
**tek_load_setup<br />
**tek_save_setup<br />
**tek_afg_upload_arb<br />
<br />
=== LeCroy scope ===<br />
<br />
==== VXI11-compatible LeCroy scopes ====<br />
Anything bought in 2010 onwards...<br />
<br />
*cd /home/scan/source/hardware/lecroy/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
*lgetwf<br />
<br />
==== VCIP-only LeCroy scopes ====<br />
The old (non-Windows) LT564L scope, and Teti's old Waverunner 6050 (the one that runs Windows 2000).<br />
<br />
*cd /home/scan/source/hardware/ethernet_scope/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**eth_cmd<br />
**/etc/lecroy_tcp/ (empty directory)<br />
*cd /home/scan/source/egetwf/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**egetwf<br />
<br />
== PI PCI stage driver ==<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/library/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**pi_save_pos<br />
**pi_recall_pos<br />
**(pi_user library)<br />
**/etc/pi_stage/stage_database/<br />
<br />
*cd /home/scan/source/hardware/pi_pci_stage/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**set_stages_safe<br />
**manual_pci_stage (manual_stage)<br />
**/etc/pi_stage/position_um '''if''' it doesn't already exist (default stage position file, all axes at 0)<br />
**/etc/pi_stage/installed_stages - this is the default list of installed stages, '''which you may need to edit if yours are different:'''<br />
axis 0 m-531.dd<br />
axis 1 m-531.dd<br />
axis 2 m-605.2dd<br />
axis 3 m-605.2dd<br />
<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/driver/<br />
*make<br />
*sudo ./install_pi_stage_recall<br />
*Installs:<br />
**PI PCI stage device driver<br />
<br />
'''Note:''' if you see something like the following after the last "make"....:<br />
<br />
make -C /lib/modules/2.6.27.45-0.1-default/build M=/home/scan/source/dev/pi_pci/driver_2.6/driver modules<br />
make[1]: Entering directory `/usr/src/linux-2.6.27.45-0.1-obj/x86_64/default'<br />
make[1]: *** No rule to make target `modules'. Stop.<br />
make[1]: Leaving directory `/usr/src/linux-2.6.27.45-0.1-obj/x86_64/default'<br />
make: *** [default] Error 2<br />
<br />
... it means that you don't have the kernel-source package installed. To fix this:<br />
*sudo zypper install kernel-source<br />
then...<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/driver/<br />
*make<br />
*sudo ./install_pi_stage_recall<br />
<br />
<br />
<br />
== PI ISA stage ==<br />
*cd /home/scan/source/hardware/stages<br />
*make -f Makefile.osam clean; make -f Makefile.osam; <br />
*sudo make -f Makefile.osam install<br />
*Installs:<br />
**manual_stage<br />
**/etc/stages/PI_stage_origin '''if''' it doesn't already exist (default stage position file, all axes at 0)<br />
<br />
== Inchworm and IDAC stages ==<br />
*cd /home/scan/source/hardware/IW_driver<br />
*sudo make install<br />
*Installs:<br />
**/etc/stages/IW_stage_origin '''if''' it doesn't already exist (default stage position file, both axes at 0)<br />
*cd /home/scan/source/hardware/IDAC_driver<br />
*sudo make install<br />
*Installs:<br />
**/etc/stages/IDAC_stage_origin '''if''' it doesn't already exist (default stage position file, both axes at 0)<br />
<br />
== BNS SLM ==<br />
*cp -av /old_redhat_9_root/etc/slm /etc/<br />
<br />
*cd /home/scan/source/dev/BNS/driver_2.6/<br />
*make<br />
To install use<br />
*sudo ./install_slm_mtrr<br />
OR<br />
*sudo ./install_for_boot<br />
The latter install the kernel driver in the system and will load it automatically at boot time for you. If you<br />
want it load right now without rebooting use the previous version as well - matt<br />
<br />
*Installs:<br />
**BNS SLM device driver<br />
<br />
*cd /home/scan/source/dev/BNS/utils/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**bns_change_frame (change_frame_bns)<br />
**bns_laser_ab<br />
**bns_power<br />
**bns_power_off<br />
**bns_power_on<br />
**bns_upload_frame (upload1_bns)<br />
<br />
*cd /home/scan/source/hardware/bns_slm/manual_bns/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**manual_bns<br />
<br />
*cd /home/scan/source/hardware/bns_slm/set_bns/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**set_bns<br />
<br />
== FFTW libraries ==<br />
<br />
These are needed by the higher order correction algorithm when using the SLM in c-scan. I use the ''float'' version of the libraries (rather than the standard ''double'' version) for speed, and so an extra option must be set before compiling.<br />
<br />
*cd /home/scan/source/fftw-3.0.1_blanket/<br />
*make distclean; ./configure --enable-float; make; sudo make install<br />
*Installs:<br />
**(FFTW float libraries)<br />
<br />
== Comedi ==<br />
<br />
=== comedi kernel driver compilation ===<br />
<br />
The "current release" version of the comedi is 0.7.76, however this will not compile on modern kernels (it's more than 2 years old). The current comedi policy seems to be one of continuous code development, they seem to have given up on producing "releases." We need to create a directory on the local disk (there is a lot to compile) and download a "cvs snapshot".<br />
<br />
*cd /usr/local/src/<br />
*sudo mkdir comedi<br />
*sudo chown <your_username>: comedi<br />
*cd comedi<br />
<br />
The following two lines are from the comedi download page: http://www.comedi.org/download.html<br />
*cvs -d :pserver:anonymous@cvs.comedi.org:/cvs/comedi login<br />
*cvs -d :pserver:anonymous@cvs.comedi.org:/cvs/comedi co comedi<br />
*cd comedi<br />
*./autogen.sh<br />
The "./configure" script needs some extra arguments to work (ref Roger). "./configure -h" to see all options. These might change in the future.<br />
<br />
For 32-bit (tested by Steve):<br />
*./configure --with-linuxsrcdir=/usr/src/linux<br />
For 64-bit (untested):<br />
*./configure --with-linuxsrcdir=/usr/src/linux --with-rpm-target=x86_64<br />
<br />
*make<br />
*sudo make install<br />
*sudo /sbin/depmod -a<br />
*sudo make dev<br />
<br />
*Installs:<br />
**(comedi libraries)<br />
**(device libraries)<br />
**(comedi devices in /dev/)<br />
<br />
*sudo echo 'KERNEL=="comedi*", MODE="0666"' > /etc/udev/rules.d/53-comedi.rules<br />
**Sets the permissions of the DAQ to world-readable-and-writable during boot<br />
<br />
==== Specific instructions for the Amplicon PCI230 ====<br />
(See also Roger's Troubleshooting Tips below for other cards)<br />
<br />
*sudo echo 'install amplc_pci230 PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH; comedi_config /dev/comedi0 amplc_pci230' >> /etc/modprobe.conf.local<br />
**Means that when you use ''modprobe'' to load the amplc_pci230 module, it automatically runs ''comedi_config'' too.<br />
**Unfortunately, ''udev'' ignores this, so we have to...<br />
*sudo echo '/sbin/modprobe amplc_pci230' >> /etc/init.d/boot.local<br />
*sudo echo '/usr/local/sbin/comedi_config /dev/comedi0 amplc_pci230' >> /etc/init.d/boot.local<br />
**Makes the PCI230 modules get loaded automatically at boot time<br />
<br />
==== Troubleshooting tips ====<br />
<br />
Installing comedi onto different machines may require a slight modification to the approach above.<br />
<br />
*Change the name of driver (amplc_pci230 above) depending on the DAQ card used (e.g. most PCI National instruments DAQ cards use ni_pcimio). A complete list can be viewed on [http://www.comedi.org/hardware.html comedi's hardware list]. <br />
*Some drivers may not compile using make. If this happens, put #if 0 and #endif at the top and bottom of the driver's code respectively. The drivers are located in ./comedi/drivers/, adv_pci1710.c and adv_pci_dio.c have been known to cause problems.<br />
*Once installed, if the modules do not load into the kernal using modprobe (e.g. if comedi_test returns cannot find comedi0 or drivers), insmod may be required. The following needs to be placed in and at the end of /etc/init.d/boot.local (these are for National Instruments DAQ, change drivers as required)<br />
**/sbin/insmod /lib/modules/comedi/comedi.ko<br />
**/sbin/insmod /lib/modules/comedi/drivers/8255.ko<br />
**/sbin/insmod /lib/modules/comedi/drivers/ni_pcimio.ko<br />
**/usr/local/sbin/comedi_config /dev/comedi0 ni_pcimio (if this is not already there)<br />
<br />
==== Dealing with kernel updates ====<br />
<br />
Updates to the kernel mean that the comedi drivers need to be reinstalled. As the kernel updates are usually fairly minor, the comedi drivers usually don't need recompiling. It's annoying having to deal with this, so this solution helps to remove some of that annoyance. When you've installed comedi run the following as root:<br />
<br />
cp -r /lib/modules/$(uname -r)/comedi /lib/modules/<br />
<br />
This will copy your current comedi installation to /lib/modules/comedi.<br />
<br />
Now add the following to /etc/init.d/boot.local (*before* any of the commands to load the comedi modules):<br />
<br />
KERNEL=$(uname -r)<br />
<br />
if [ ! -d /lib/modules/${KERNEL}/comedi/ ]; then<br />
cp -r /lib/modules/comedi /lib/modules/${KERNEL}/<br />
depmod -a<br />
fi<br />
<br />
This will check for the presence of the comedi directory in the modules directory for the current kernel and copy it over if it doesn't exist. ''depmod -a'' updates the module dependencies.<br />
<br />
It is important that if you install a newer version of comedi that you remove /lib/modules/comedi and replace it with your updated version. Also note that some kernel updates may be incompatible with your compiled comedi drivers and so you'll have to recompile and reinstall using the instructions above.<br />
<br />
=== comedilib ===<br />
<br />
comedilib should now be installed automatically through Roger's openSUSE repository. Updates will also become available through the normal update procedure. If this doesn't work for any reason, see Roger or use the old method:<br />
<br />
cd /home/scan/source/hardware/comedi/comedilib-0.8.1/<br />
make distclean; ./configure; make; sudo make install<br />
Installs:<br />
<br />
* libcomedi<br />
* comedi_test<br />
* /usr/local/sbin/comedi_config<br />
<br />
=== Comedi Settings for the NI PCI-6251 ===<br />
<br />
If you want to use the PFI port as a digital output, you must do some extra configuration. This is possible using the demo tools in comedilib (which could also be copied across to your own code of course). So, to change channel 14 of subdevice 7 (ie. pin 1 on the connector) to be a digital output do the following in the comedilib/demo directory:<br />
<br />
* ./choose_routing -s7 -c14 16 # NI_PFI_OUTPUT_DO == 16<br />
* ./dio -s7 -c14 1 # now its an output<br />
* ./outp -s7 -c14 1 # test the output (or 0)<br />
<br />
All these can be set up at boot. Putting /usr/local/bin/choose_rooting -s7 -c** 16 for all/any channels in /etc/rc.d/boot.local and copying (as root) choose_rooting from the demo folder in (compiled?) comedilib to /usr/local/bin/.<br />
<br />
=== Comedi openSUSE 11.4, Kernel 2.6.37.6-0.5-desktop ===<br />
I did a clean install of openSUSE 11.4 64bit on Settee. I had a few problems, so I thought I'd write down how I finally managed to get it working. This was June 2011, on Settee (Samuel).<br />
<br />
After running ~share/suse_hacks/<suse version>/std_suse_hacks_<location>, make sure to run the install_eee_packages too. This will install comedilib automatically for you, amongst other things.<br />
<br />
I tried to use the kernel tree to install comedi. From /usr/src/linux/ type: sudo make menuconfig, and choose to install modules for comedi and the relevant drivers. Comedi may be found in the tree under Device Drivers >> Staging Drivers >> Data acquisition support (comedi). Use / for search if so desired. Use sudo make modules; 'sudo make install' to install. Unfortunately, this method didn't work for me, and the modules for other devices like network cards got overwritten, so I had to rescue the system.<br />
<br />
I thus downloaded the latest snapshot from www.comedi.org, untarred it to /usr/local/src/comedi, and used ./autogen.sh then ./configure --with-linuxdir=/usr/src/linux. It correctly detected the 64bit arch. Run make and make install to install. Use the directions above to add the relevant lines to /etc/init.d/boot.local. Since I use the NI PCI6251, the lines in my boot.local file are :<br />
<br />
KERNEL=$(uname -r)<br />
if [ ! -d /lib/modules/${KERNEL}/comedi/ ]; then<br />
cp -r /lib/modules/comedi /lib/modules/${KERNEL}/<br />
depmod -a<br />
fi<br />
<br />
/usr/local/sbin/comedi_config /dev/comedi0 ni_pcimio<br />
choose_routing -s7 -c0 16 # NI_PFI_OUTPUT_DO == 16<br />
choose_routing -s7 -c1 16 # NI_PFI_OUTPUT_DO == 16<br />
etc etc<br />
choose_routing -s7 -c14 16 # NI_PFI_OUTPUT_DO == 16<br />
choose_routing -s7 -c15 16 # NI_PFI_OUTPUT_DO == 16 <br />
<br />
Hopefully that helps.<br />
<br />
<br />
== c-scan ==<br />
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).<br />
<br />
*cd /home/scan/source/hardware/scanner/<br />
*make clean; make; sudo make install <br />
*sudo cp ~sds/bin/cscan /usr/local/bin/<br />
*Installs:<br />
**c_scan<br />
**c_scan man pages<br />
**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.<br />
<br />
== Jai CCD camera ==<br />
*sudo cp ~sds/bin/ccd* /usr/local/bin/<br />
*Installs:<br />
**ccd_set_serial<br />
**ccd0<br />
**ccd1<br />
**..<br />
**ccd7 (different shutter speeds)<br />
<br />
== Andor iXon camera ==<br />
You can find the latest driver here: /home/scan/source/hardware/andor_camera/andor you need to copy<br />
this directory to a local disk to build and install the driver and libraries because the andor <br />
supplied script borks if it isn't run as root and the permissions on the nfs disks prevent root<br />
running the script directly.<br />
<br />
The current driver is v2.82 install in December 2008 by Matt. This is broken for kernel versions<br />
2.6.23-2.6.27 and will cause hard kernel lock ups is you install it on these kernels. Under newer<br />
kernels it may not compile because of an error in src/driver/fault.c - just just #define NOPFN_SIGBUS -1<br />
in the preamble of fault.c to fix this. We are waiting for a revised driver.<br />
<br />
== Nanoscope lab / Andor iXon camera ==<br />
The Andor camera setup we use uses a client / server model to overcome some of the shortcomings of<br />
the Andor driver / libraries. All the code can be found in /home/scan/source/hardware/andor_camera/camera.<br />
You need to make the camera_driver and the camera_utils all application code should use and compile<br />
in the camera_client code. Before you use anything the server needs to be running (camera_server).<br />
Placing the following line in boot.local AFTER the Andor code will ensure it runs at boot time:<br />
<pre><br />
echo Installing the camera_server<br />
su matt -c /usr/local/bin/camera_server &<br />
</pre><br />
<br />
Remember the meminfo thing! reserve at least 4Mb of RAM for the driver by adding this to the boot options in the grub boot<br />
script (menu.1st) mem=1000M where 1000 is the size of the RAM in Mb - 4 (maybe 5?) as in:<br />
<br />
<pre><br />
kernel /boot/vmlinuz-2.6.25.18-0.2-default root=/dev/disk/by-id/scsi-SATA_ST340014A_3JX7N160-part2 resume=/dev/sda1 splash=silent showopts mem=1000M vga=0x31a<br />
</pre><br />
<br />
The current driver 2.82-30003 on kernel 2.6.27.xx appears to be working, however, Andor seem to be ironing out a few bugs still so this could be volatile - if you have a working system I suggest leaving it alone.<br />
<br />
2.78 works on pre 2.6.25 (or thereabouts) but not after because it causes hard kernel locks, it also requires a little hacking<br />
to compile on these newer kernels but since it crashes this is a little pointless. 2.82-30002 compiles and doesn't crash<br />
but returns scrambled image data. 2.82-30003 compiles on 2.6.27 kernels but not older ones, it doesn't crash and the image<br />
data seems ok.</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Experimental_PC&diff=1219Experimental PC2011-06-17T16:25:53Z<p>Samuel Achamfuo-Yeboah: </p>
<hr />
<div>Back to [[Linux How-tos]]<br />
<br />
<big>Extra stuff for all the hardware in '''blanket''' & '''pouffe''', the ARRO-SAM PC & OSAM </big><br />
<br />
In December 2007 I upgraded blanket, the PC used to control the ARRO-SAM experiment, to the current version of openSuSE (10.3 when this page was first written, now 11.0). This PC had been running Redhat 9 for a number of years and due to heavy use as an experimental PC and reasonable stability, it had not been updated. Redhat 9 runs a 2.4 kernel, so there were some extra things to do with the drivers and compiling ''c-scan''.<br />
<br />
Addition (April 2008): Rob upgraded pouffe in the O-SAM lab, pretty much the same as blanket accept for ISA PI stages<br />
<br />
The information contained here will also be useful if you want to install any of these bits of hardware on any other Linux PC.<br />
<br />
== Pre-install ==<br />
<br />
=== Scenario 1: inherited PC with working hardware, updating Linux ===<br />
<br />
# Make a list of all the hardware you have (or likely to have) attached to the PC<br />
# From this list, work out which programs/utilities you use<br />
#* Most of these will already be installed in /usr/local/bin/<br />
# Work out how to recompile (and re-install) all these programs<br />
#* Most will have their source code in /home/scan/source/hardware/<br />
# Save all the configuration files you think you might need<br />
#* Most of these will be in /etc/<br />
<br />
Example: updating blanket from RdeHat 9 to SuSE 10.3:<br />
<br />
I tarballed /etc/ and /usr/local/bin/ and stuck the files in my home directory where they would be recoverable after new install. The aim was to retain the old root partition of the old (Redhat 9) system, to enable it to be mounted by the new (SuSE 10.3) system under /old_redhat_9_root/ but since installation involved resizing the old partition (always potentially problematic) it's a good idea to backup anything you think you might need. /etc/ for configuration files (including our own, for the stages, the SLM etc) and /usr/local/bin/ just as a reminder of the extra stuff (mainly our own) that we installed.<br />
<br />
In the event, the old root partition wasn't wiped, and I was able to grab the files from there (/old_redhat_9_root). After the install, I copied the files I'd ''actually'' needed to /home/share/backup_system_files/blanket/<br />
<br />
=== Scenario 2: Adding new hardware to an already up-to-date PC ===<br />
<br />
# Use this wiki, find the instructions for the relevant hardware<br />
# 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> )<br />
<br />
<br />
== Install ==<br />
<br />
I had to resize the old partition as it was taking up all the disk (except for the swap partition). I resized the old partition to 20GB (it had 15GB of stuff in it) and made a new 30GB root partition. I also extended the swap to 4GB.<br />
<br />
Other than that I just did a standard install, then performed the standard local configuration stuff as with any other PC.<br />
<br />
The resizing of the old partition was successful and I was able to copy the files I needed directly from /old_redhat_9_root/etc/<br />
<br />
== Scope (and AFG) utilities ==<br />
<br />
These are the standard command line utilities to grab traces, save setups etc<br />
<br />
=== vxi11 ===<br />
(Used by Agilent and Tek utilities, and a low-level diagnostic tool in its own right)<br />
<br />
*cd /home/scan/source/hardware/vxi11/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**vxi11_cmd<br />
<br />
=== Agilent scope ===<br />
<br />
*cd /home/scan/source/hardware/agilent_scope/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**agetwf<br />
**agilent_load_setup<br />
**agilent_save_setup<br />
<br />
=== Tek scope/AFG ===<br />
<br />
*cd /home/scan/source/hardware/tek/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**tgetwf<br />
**tek_load_setup<br />
**tek_save_setup<br />
**tek_afg_upload_arb<br />
<br />
=== LeCroy scope ===<br />
<br />
==== VXI11-compatible LeCroy scopes ====<br />
Anything bought in 2010 onwards...<br />
<br />
*cd /home/scan/source/hardware/lecroy/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
*lgetwf<br />
<br />
==== VCIP-only LeCroy scopes ====<br />
The old (non-Windows) LT564L scope, and Teti's old Waverunner 6050 (the one that runs Windows 2000).<br />
<br />
*cd /home/scan/source/hardware/ethernet_scope/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**eth_cmd<br />
**/etc/lecroy_tcp/ (empty directory)<br />
*cd /home/scan/source/egetwf/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**egetwf<br />
<br />
== PI PCI stage driver ==<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/library/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**pi_save_pos<br />
**pi_recall_pos<br />
**(pi_user library)<br />
**/etc/pi_stage/stage_database/<br />
<br />
*cd /home/scan/source/hardware/pi_pci_stage/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**set_stages_safe<br />
**manual_pci_stage (manual_stage)<br />
**/etc/pi_stage/position_um '''if''' it doesn't already exist (default stage position file, all axes at 0)<br />
**/etc/pi_stage/installed_stages - this is the default list of installed stages, '''which you may need to edit if yours are different:'''<br />
axis 0 m-531.dd<br />
axis 1 m-531.dd<br />
axis 2 m-605.2dd<br />
axis 3 m-605.2dd<br />
<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/driver/<br />
*make<br />
*sudo ./install_pi_stage_recall<br />
*Installs:<br />
**PI PCI stage device driver<br />
<br />
'''Note:''' if you see something like the following after the last "make"....:<br />
<br />
make -C /lib/modules/2.6.27.45-0.1-default/build M=/home/scan/source/dev/pi_pci/driver_2.6/driver modules<br />
make[1]: Entering directory `/usr/src/linux-2.6.27.45-0.1-obj/x86_64/default'<br />
make[1]: *** No rule to make target `modules'. Stop.<br />
make[1]: Leaving directory `/usr/src/linux-2.6.27.45-0.1-obj/x86_64/default'<br />
make: *** [default] Error 2<br />
<br />
... it means that you don't have the kernel-source package installed. To fix this:<br />
*sudo zypper install kernel-source<br />
then...<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/driver/<br />
*make<br />
*sudo ./install_pi_stage_recall<br />
<br />
<br />
<br />
== PI ISA stage ==<br />
*cd /home/scan/source/hardware/stages<br />
*make -f Makefile.osam clean; make -f Makefile.osam; <br />
*sudo make -f Makefile.osam install<br />
*Installs:<br />
**manual_stage<br />
**/etc/stages/PI_stage_origin '''if''' it doesn't already exist (default stage position file, all axes at 0)<br />
<br />
== Inchworm and IDAC stages ==<br />
*cd /home/scan/source/hardware/IW_driver<br />
*sudo make install<br />
*Installs:<br />
**/etc/stages/IW_stage_origin '''if''' it doesn't already exist (default stage position file, both axes at 0)<br />
*cd /home/scan/source/hardware/IDAC_driver<br />
*sudo make install<br />
*Installs:<br />
**/etc/stages/IDAC_stage_origin '''if''' it doesn't already exist (default stage position file, both axes at 0)<br />
<br />
== BNS SLM ==<br />
*cp -av /old_redhat_9_root/etc/slm /etc/<br />
<br />
*cd /home/scan/source/dev/BNS/driver_2.6/<br />
*make<br />
To install use<br />
*sudo ./install_slm_mtrr<br />
OR<br />
*sudo ./install_for_boot<br />
The latter install the kernel driver in the system and will load it automatically at boot time for you. If you<br />
want it load right now without rebooting use the previous version as well - matt<br />
<br />
*Installs:<br />
**BNS SLM device driver<br />
<br />
*cd /home/scan/source/dev/BNS/utils/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**bns_change_frame (change_frame_bns)<br />
**bns_laser_ab<br />
**bns_power<br />
**bns_power_off<br />
**bns_power_on<br />
**bns_upload_frame (upload1_bns)<br />
<br />
*cd /home/scan/source/hardware/bns_slm/manual_bns/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**manual_bns<br />
<br />
*cd /home/scan/source/hardware/bns_slm/set_bns/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**set_bns<br />
<br />
== FFTW libraries ==<br />
<br />
These are needed by the higher order correction algorithm when using the SLM in c-scan. I use the ''float'' version of the libraries (rather than the standard ''double'' version) for speed, and so an extra option must be set before compiling.<br />
<br />
*cd /home/scan/source/fftw-3.0.1_blanket/<br />
*make distclean; ./configure --enable-float; make; sudo make install<br />
*Installs:<br />
**(FFTW float libraries)<br />
<br />
== Comedi ==<br />
<br />
=== comedi kernel driver compilation ===<br />
<br />
The "current release" version of the comedi is 0.7.76, however this will not compile on modern kernels (it's more than 2 years old). The current comedi policy seems to be one of continuous code development, they seem to have given up on producing "releases." We need to create a directory on the local disk (there is a lot to compile) and download a "cvs snapshot".<br />
<br />
*cd /usr/local/src/<br />
*sudo mkdir comedi<br />
*sudo chown <your_username>: comedi<br />
*cd comedi<br />
<br />
The following two lines are from the comedi download page: http://www.comedi.org/download.html<br />
*cvs -d :pserver:anonymous@cvs.comedi.org:/cvs/comedi login<br />
*cvs -d :pserver:anonymous@cvs.comedi.org:/cvs/comedi co comedi<br />
*cd comedi<br />
*./autogen.sh<br />
The "./configure" script needs some extra arguments to work (ref Roger). "./configure -h" to see all options. These might change in the future.<br />
<br />
For 32-bit (tested by Steve):<br />
*./configure --with-linuxsrcdir=/usr/src/linux<br />
For 64-bit (untested):<br />
*./configure --with-linuxsrcdir=/usr/src/linux --with-rpm-target=x86_64<br />
<br />
*make<br />
*sudo make install<br />
*sudo /sbin/depmod -a<br />
*sudo make dev<br />
<br />
*Installs:<br />
**(comedi libraries)<br />
**(device libraries)<br />
**(comedi devices in /dev/)<br />
<br />
*sudo echo 'KERNEL=="comedi*", MODE="0666"' > /etc/udev/rules.d/53-comedi.rules<br />
**Sets the permissions of the DAQ to world-readable-and-writable during boot<br />
<br />
==== Specific instructions for the Amplicon PCI230 ====<br />
(See also Roger's Troubleshooting Tips below for other cards)<br />
<br />
*sudo echo 'install amplc_pci230 PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH; comedi_config /dev/comedi0 amplc_pci230' >> /etc/modprobe.conf.local<br />
**Means that when you use ''modprobe'' to load the amplc_pci230 module, it automatically runs ''comedi_config'' too.<br />
**Unfortunately, ''udev'' ignores this, so we have to...<br />
*sudo echo '/sbin/modprobe amplc_pci230' >> /etc/init.d/boot.local<br />
*sudo echo '/usr/local/sbin/comedi_config /dev/comedi0 amplc_pci230' >> /etc/init.d/boot.local<br />
**Makes the PCI230 modules get loaded automatically at boot time<br />
<br />
==== Troubleshooting tips ====<br />
<br />
Installing comedi onto different machines may require a slight modification to the approach above.<br />
<br />
*Change the name of driver (amplc_pci230 above) depending on the DAQ card used (e.g. most PCI National instruments DAQ cards use ni_pcimio). A complete list can be viewed on [http://www.comedi.org/hardware.html comedi's hardware list]. <br />
*Some drivers may not compile using make. If this happens, put #if 0 and #endif at the top and bottom of the driver's code respectively. The drivers are located in ./comedi/drivers/, adv_pci1710.c and adv_pci_dio.c have been known to cause problems.<br />
*Once installed, if the modules do not load into the kernal using modprobe (e.g. if comedi_test returns cannot find comedi0 or drivers), insmod may be required. The following needs to be placed in and at the end of /etc/init.d/boot.local (these are for National Instruments DAQ, change drivers as required)<br />
**/sbin/insmod /lib/modules/comedi/comedi.ko<br />
**/sbin/insmod /lib/modules/comedi/drivers/8255.ko<br />
**/sbin/insmod /lib/modules/comedi/drivers/ni_pcimio.ko<br />
**/usr/local/sbin/comedi_config /dev/comedi0 ni_pcimio (if this is not already there)<br />
<br />
==== Dealing with kernel updates ====<br />
<br />
Updates to the kernel mean that the comedi drivers need to be reinstalled. As the kernel updates are usually fairly minor, the comedi drivers usually don't need recompiling. It's annoying having to deal with this, so this solution helps to remove some of that annoyance. When you've installed comedi run the following as root:<br />
<br />
cp -r /lib/modules/$(uname -r)/comedi /lib/modules/<br />
<br />
This will copy your current comedi installation to /lib/modules/comedi.<br />
<br />
Now add the following to /etc/init.d/boot.local (*before* any of the commands to load the comedi modules):<br />
<br />
KERNEL=$(uname -r)<br />
<br />
if [ ! -d /lib/modules/${KERNEL}/comedi/ ]; then<br />
cp -r /lib/modules/comedi /lib/modules/${KERNEL}/<br />
depmod -a<br />
fi<br />
<br />
This will check for the presence of the comedi directory in the modules directory for the current kernel and copy it over if it doesn't exist. ''depmod -a'' updates the module dependencies.<br />
<br />
It is important that if you install a newer version of comedi that you remove /lib/modules/comedi and replace it with your updated version. Also note that some kernel updates may be incompatible with your compiled comedi drivers and so you'll have to recompile and reinstall using the instructions above.<br />
<br />
=== comedilib ===<br />
<br />
comedilib should now be installed automatically through Roger's openSUSE repository. Updates will also become available through the normal update procedure. If this doesn't work for any reason, see Roger or use the old method:<br />
<br />
cd /home/scan/source/hardware/comedi/comedilib-0.8.1/<br />
make distclean; ./configure; make; sudo make install<br />
Installs:<br />
<br />
* libcomedi<br />
* comedi_test<br />
* /usr/local/sbin/comedi_config<br />
<br />
=== Comedi Settings for the NI PCI-6251 ===<br />
<br />
If you want to use the PFI port as a digital output, you must do some extra configuration. This is possible using the demo tools in comedilib (which could also be copied across to your own code of course). So, to change channel 14 of subdevice 7 (ie. pin 1 on the connector) to be a digital output do the following in the comedilib/demo directory:<br />
<br />
* ./choose_routing -s7 -c14 16 # NI_PFI_OUTPUT_DO == 16<br />
* ./dio -s7 -c14 1 # now its an output<br />
* ./outp -s7 -c14 1 # test the output (or 0)<br />
<br />
All these can be set up at boot. Putting /usr/local/bin/choose_rooting -s7 -c** 16 for all/any channels in /etc/rc.d/boot.local and copying (as root) choose_rooting from the demo folder in (compiled?) comedilib to /usr/local/bin/.<br />
<br />
=== Comedi openSUSE 11.4, Kernel 2.6.37.6-0.5-desktop [June 2011, on Settee, Samuel] ===<br />
I did a clean install of openSUSE 11.4 64bit on Settee. I had a few problems, so I thought I'd write down how I finally managed to get it working.<br />
<br />
After running ~share/suse_hacks/<suse version>/std_suse_hacks_<location>, make sure to run the install_eee_packages too. This will install comedilib automatically for you, amongst other things.<br />
<br />
I tried to use the kernel tree to install comedi. From /usr/src/linux/ type: sudo make menuconfig, and choose to install modules for comedi and the relevant drivers. Comedi may be found in the tree under Device Drivers >> Staging Drivers >> Data acquisition support (comedi). Use / for search if so desired. Use sudo make modules; 'sudo make install' to install. Unfortunately, this method didn't work for me, and the modules for other devices like network cards got overwritten, so I had to rescue the system.<br />
<br />
I thus downloaded the latest snapshot from www.comedi.org, untarred it to /usr/local/src/comedi, and used ./autogen.sh then ./configure --with-linuxdir=/usr/src/linux. It correctly detected the 64bit arch. Run make and make install to install. Use the directions above to add the relevant lines to /etc/init.d/boot.local. Since I use the NI PCI6251, the lines in my boot.local file are :<br />
<br />
KERNEL=$(uname -r)<br />
if [ ! -d /lib/modules/${KERNEL}/comedi/ ]; then<br />
cp -r /lib/modules/comedi /lib/modules/${KERNEL}/<br />
depmod -a<br />
fi<br />
<br />
/usr/local/sbin/comedi_config /dev/comedi0 ni_pcimio<br />
choose_routing -s7 -c0 16 # NI_PFI_OUTPUT_DO == 16<br />
choose_routing -s7 -c1 16 # NI_PFI_OUTPUT_DO == 16<br />
etc etc<br />
choose_routing -s7 -c14 16 # NI_PFI_OUTPUT_DO == 16<br />
choose_routing -s7 -c15 16 # NI_PFI_OUTPUT_DO == 16 <br />
<br />
Hopefully that helps.<br />
<br />
<br />
== c-scan ==<br />
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).<br />
<br />
*cd /home/scan/source/hardware/scanner/<br />
*make clean; make; sudo make install <br />
*sudo cp ~sds/bin/cscan /usr/local/bin/<br />
*Installs:<br />
**c_scan<br />
**c_scan man pages<br />
**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.<br />
<br />
== Jai CCD camera ==<br />
*sudo cp ~sds/bin/ccd* /usr/local/bin/<br />
*Installs:<br />
**ccd_set_serial<br />
**ccd0<br />
**ccd1<br />
**..<br />
**ccd7 (different shutter speeds)<br />
<br />
== Andor iXon camera ==<br />
You can find the latest driver here: /home/scan/source/hardware/andor_camera/andor you need to copy<br />
this directory to a local disk to build and install the driver and libraries because the andor <br />
supplied script borks if it isn't run as root and the permissions on the nfs disks prevent root<br />
running the script directly.<br />
<br />
The current driver is v2.82 install in December 2008 by Matt. This is broken for kernel versions<br />
2.6.23-2.6.27 and will cause hard kernel lock ups is you install it on these kernels. Under newer<br />
kernels it may not compile because of an error in src/driver/fault.c - just just #define NOPFN_SIGBUS -1<br />
in the preamble of fault.c to fix this. We are waiting for a revised driver.<br />
<br />
== Nanoscope lab / Andor iXon camera ==<br />
The Andor camera setup we use uses a client / server model to overcome some of the shortcomings of<br />
the Andor driver / libraries. All the code can be found in /home/scan/source/hardware/andor_camera/camera.<br />
You need to make the camera_driver and the camera_utils all application code should use and compile<br />
in the camera_client code. Before you use anything the server needs to be running (camera_server).<br />
Placing the following line in boot.local AFTER the Andor code will ensure it runs at boot time:<br />
<pre><br />
echo Installing the camera_server<br />
su matt -c /usr/local/bin/camera_server &<br />
</pre><br />
<br />
Remember the meminfo thing! reserve at least 4Mb of RAM for the driver by adding this to the boot options in the grub boot<br />
script (menu.1st) mem=1000M where 1000 is the size of the RAM in Mb - 4 (maybe 5?) as in:<br />
<br />
<pre><br />
kernel /boot/vmlinuz-2.6.25.18-0.2-default root=/dev/disk/by-id/scsi-SATA_ST340014A_3JX7N160-part2 resume=/dev/sda1 splash=silent showopts mem=1000M vga=0x31a<br />
</pre><br />
<br />
The current driver 2.82-30003 on kernel 2.6.27.xx appears to be working, however, Andor seem to be ironing out a few bugs still so this could be volatile - if you have a working system I suggest leaving it alone.<br />
<br />
2.78 works on pre 2.6.25 (or thereabouts) but not after because it causes hard kernel locks, it also requires a little hacking<br />
to compile on these newer kernels but since it crashes this is a little pointless. 2.82-30002 compiles and doesn't crash<br />
but returns scrambled image data. 2.82-30003 compiles on 2.6.27 kernels but not older ones, it doesn't crash and the image<br />
data seems ok.</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Vlsi:Chips&diff=1218Vlsi:Chips2011-06-17T16:20:09Z<p>Samuel Achamfuo-Yeboah: </p>
<hr />
<div>== Chips Fabricated to Date ==<br />
<br />
{| class="gallery"<br />
|-<br />
! Chip Name<br />
! Date<br />
! Process<br />
! Designers<br />
! Brief Contents<br />
|-<br />
| [[Vlsi:PDFINAL|PDFINAL]]<br />
| 10/2000<br />
| Mietec 0.7um<br />
| Boon Hean Pui<br />
| Various sizes of individual photodiodes. 5x5 photodiode array.<br />
|-<br />
| [[Vlsi:chip1bfinal|chip1bfinal]]<br />
| 10/2001<br />
| Mietec 0.7um<br />
| Boon Hean Pui<br />
| Various sizes of individual photodiodes. 5x5 photodiode array. Integrating pixel.<br />
|-<br />
| [[Vlsi:SplitPD1v3|SplitPD1v3]]<br />
| 12/2001<br />
| Mietec 0.7um<br />
| Steve Sharples<br />
| 20x2 photodiodes arranged as a knife edge detector.<br />
|-<br />
| [[Vlsi:CTRchip1v3|CTRchip1v3]]<br />
| 04/2002<br />
| Mietec 0.7um<br />
| Boon Hean Pui<br />
| Centroid detector with 5x5 integrating pixel array.<br />
|-<br />
| [[Vlsi:MLCv1|MLCv1]]<br />
| 05/2003<br />
| AMS CSI 0.35um<br />
| Przemek Dmochowski<br/> Boon Hean Pui<br />
| As PDFINAL. Log pixel lock-in.<br />
|-<br />
| [[Vlsi:MLCv2|MLCv2]]<br />
| 12/2003<br />
| AMS CSI 0.35um<br />
| Przemek Dmochowski<br/> Roger Light<br/> Mark Pitter<br />
| Log pixel lock-in, integrating lock-in, 4x4 pixel parallel camera, 8x4 column parallel camera.<br />
|-<br />
| [[Vlsi:PC2|PC2]]<br />
| 12/2003<br />
| AMS C35 0.35um<br />
| Fred Gu<br/> Roger Light<br/> Mark Pitter<br />
| 64x64 pixel log feedback camera. 2x2 integrating lock-in. Band pass filter, low pass filter.<br />
|-<br />
| [[Vlsi:PC3|PC3]]<br />
| 02/2004<br />
| AMS C35 0.35um<br />
| Przemek Dmochowski<br/> Proust Li<br/> Roger Light<br/> Mark Pitter<br/> Steve Sharples<br />
| 64x64 pixel log feedback camera. Photoacoustic circuits with split photodiodes. 2x2 log feedback camera. Differential pair mixer. Comparator.<br />
|-<br />
| [[Vlsi:DOP1|DOP1]]<br />
| 09/2004<br />
| AMS C35 0.35um<br />
| Fred Gu<br/> David He<br/> Chayut Kongsavatsak<br/> Proust Li<br/> Roger Light<br/> Kuldip Modha<br />
| 16x1 front end and digital filtering. 10-bit SAR ADC. Two stage f/b amplifier. HDA and GM-C to give band pass filter. Darlington pair amplified photodiode.<br />
|-<br />
| [[Vlsi:RF1|RF1]]<br />
| 04/2005<br />
| AMS C35 0.35um<br />
| Frank Dong<br/> Fred Gu<br/> Proust Li<br/> Kuldip Modha<br/> Robbie ???<br />
| Three pixel front ends. 5.7GHz frequency divider. UWB low noise amplifier, UWB pulse generator. 5GHz mixer.<br />
|-<br />
| [[Vlsi:IL4|IL4]]<br />
| 09/2005<br />
| AMS C35 0.35um<br />
| Roger Light<br />
| 128x128 integrating pixel camera.<br />
|-<br />
| [[Vlsi:MLCv5|MLCv5]]<br />
| 09/2005<br />
| AMS C35 0.35um<br />
| Przemek Dmochowski<br />
| 24x32 high speed lock-in camera.<br />
|-<br />
| [[Vlsi:DOP2|DOP2]]<br />
| 12/2005<br />
| AMS C35 0.35um<br />
| Fred Gu<br/> Chayut Kongsavatsak<br />
| 32x32 feedback frontend no digital processing. Analogue processing.<br />
|-<br />
| [[Vlsi:Atto1a|Atto1a]]<br />
| 01/2006<br />
| AMS C35 0.35um<br />
| Frank Dong<br/> David He<br/> Mark Pitter<br />
| Four different 16x16 integrating pixel cameras. Differential front end pixel. Quadrature VCO.<br />
|-<br />
| [[Vlsi:Atto1b|Atto1b]]<br />
| 02/2006<br />
| AMS C35 0.35um<br />
| Vladimir Ivchenko<br/> Proust Li<br/> Kuldip Modha<br/> Mark Pitter<br />
| 64x64 integrating pixel camera. UWB pulse generator. 6GHz amplifier, photodetector at 3GHz, 5GHz mixer. Ultrasound pulse receiver / op-amps.<br />
|-<br />
| [[Vlsi:iWFS1|iWFS1]]<br />
| 09/2006<br />
| AMS C35 0.35um<br />
| David He<br/> Proust Li<br/> Roger Light<br/> Ian Stockford<br />
| 4 by 32x32 integrating pixel cameras. 4 by 1x1 integrating pixel camera. Inter-digitated photodiode. Differential front end.<br />
|-<br />
| [[Vlsi:PC4|PC4]]<br />
| 09/2006<br />
| AMS C35 0.35um<br />
| Nick Johnston<br />
| 64x64 log feedback pixel with gated averager.<br />
|-<br />
| [[Vlsi:UPR2|UPR2]]<br />
| 02/2007<br />
| AMS C35 0.35um<br />
| Vladimir Ivchenko<br />
| ???<br />
|-<br />
| [[Vlsi:BVIPS1|BVIPS1]]<br />
| 06/2007<br />
| AMS C35 0.35um<br />
| John Himsworth, Frank Lin<br />
| 64x1 main array using log pixels, shared photodiodes for 8x1 linear TIA, 32x1 log pixel with w-filters, re-layout of DOP2_qg, 4x1 op-amp I->Vs<br />
|-<br />
| [[Vlsi:RF2|RF2]]<br />
| 06/2007<br />
| AMS C35 0.35um<br />
| ???<br />
| ???<br />
|-<br />
| [[Vlsi:SPAD1|SPAD1]]<br />
| 06/2007<br />
| UMC L180<br />
| Suhaila Isaak<br />
| ???<br />
|-<br />
| [[Vlsi:Atto2|Atto2]]<br />
| 12/2007<br />
| AMS C35 0.35um<br />
| Nick Johnston, Roger Light, Mark Pitter<br />
| 64x1 integrating camera with four very large integration capacitors.<br />
|-<br />
| [[Vlsi:iWFS2|iWFS2]]<br />
| 01/2008<br />
| AMS C35 0.35um<br />
| Kuldip Modha<br />
| ????<br />
|-<br />
| [[Vlsi:SPAD2|SPAD2]]<br />
| 05/2008<br />
| UMC L180<br />
| Suhaila Isaak<br/>Roger Light<br />
| ????<br />
|-<br />
| [[Vlsi:Atto1c|Atto1c]]<br />
| 06/2008<br />
| AMS C35 0.35um<br />
| Nick Johnston<br/> Samuel Achamfuo-Yeboah<br />
| Atto1c. MLCv6FE test pixel<br />
|-<br />
| [[Vlsi:PC5|PC5]]<br />
| 06/2008<br />
| AMS C35 0.35um<br />
| Nick Johnston<br />
| PC5<br />
|-<br />
| [[Vlsi:LIDAR1|LIDAR1]]<br />
| 06/2010<br />
| AMS C35 0.35um<br />
| Samuel Achamfuo-Yeboah<br />
| LIDAR1: High speed modulated light camera. 32*32 pixels.<br />
|-<br />
|}</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Vlsi:Chips&diff=1217Vlsi:Chips2011-06-17T16:18:45Z<p>Samuel Achamfuo-Yeboah: </p>
<hr />
<div>== Chips Fabricated to Date ==<br />
<br />
{| class="gallery"<br />
|-<br />
! Chip Name<br />
! Date<br />
! Process<br />
! Designers<br />
! Brief Contents<br />
|-<br />
| [[Vlsi:PDFINAL|PDFINAL]]<br />
| 10/2000<br />
| Mietec 0.7um<br />
| Boon Hean Pui<br />
| Various sizes of individual photodiodes. 5x5 photodiode array.<br />
|-<br />
| [[Vlsi:chip1bfinal|chip1bfinal]]<br />
| 10/2001<br />
| Mietec 0.7um<br />
| Boon Hean Pui<br />
| Various sizes of individual photodiodes. 5x5 photodiode array. Integrating pixel.<br />
|-<br />
| [[Vlsi:SplitPD1v3|SplitPD1v3]]<br />
| 12/2001<br />
| Mietec 0.7um<br />
| Steve Sharples<br />
| 20x2 photodiodes arranged as a knife edge detector.<br />
|-<br />
| [[Vlsi:CTRchip1v3|CTRchip1v3]]<br />
| 04/2002<br />
| Mietec 0.7um<br />
| Boon Hean Pui<br />
| Centroid detector with 5x5 integrating pixel array.<br />
|-<br />
| [[Vlsi:MLCv1|MLCv1]]<br />
| 05/2003<br />
| AMS CSI 0.35um<br />
| Przemek Dmochowski<br/> Boon Hean Pui<br />
| As PDFINAL. Log pixel lock-in.<br />
|-<br />
| [[Vlsi:MLCv2|MLCv2]]<br />
| 12/2003<br />
| AMS CSI 0.35um<br />
| Przemek Dmochowski<br/> Roger Light<br/> Mark Pitter<br />
| Log pixel lock-in, integrating lock-in, 4x4 pixel parallel camera, 8x4 column parallel camera.<br />
|-<br />
| [[Vlsi:PC2|PC2]]<br />
| 12/2003<br />
| AMS C35 0.35um<br />
| Fred Gu<br/> Roger Light<br/> Mark Pitter<br />
| 64x64 pixel log feedback camera. 2x2 integrating lock-in. Band pass filter, low pass filter.<br />
|-<br />
| [[Vlsi:PC3|PC3]]<br />
| 02/2004<br />
| AMS C35 0.35um<br />
| Przemek Dmochowski<br/> Proust Li<br/> Roger Light<br/> Mark Pitter<br/> Steve Sharples<br />
| 64x64 pixel log feedback camera. Photoacoustic circuits with split photodiodes. 2x2 log feedback camera. Differential pair mixer. Comparator.<br />
|-<br />
| [[Vlsi:DOP1|DOP1]]<br />
| 09/2004<br />
| AMS C35 0.35um<br />
| Fred Gu<br/> David He<br/> Chayut Kongsavatsak<br/> Proust Li<br/> Roger Light<br/> Kuldip Modha<br />
| 16x1 front end and digital filtering. 10-bit SAR ADC. Two stage f/b amplifier. HDA and GM-C to give band pass filter. Darlington pair amplified photodiode.<br />
|-<br />
| [[Vlsi:RF1|RF1]]<br />
| 04/2005<br />
| AMS C35 0.35um<br />
| Frank Dong<br/> Fred Gu<br/> Proust Li<br/> Kuldip Modha<br/> Robbie ???<br />
| Three pixel front ends. 5.7GHz frequency divider. UWB low noise amplifier, UWB pulse generator. 5GHz mixer.<br />
|-<br />
| [[Vlsi:IL4|IL4]]<br />
| 09/2005<br />
| AMS C35 0.35um<br />
| Roger Light<br />
| 128x128 integrating pixel camera.<br />
|-<br />
| [[Vlsi:MLCv5|MLCv5]]<br />
| 09/2005<br />
| AMS C35 0.35um<br />
| Przemek Dmochowski<br />
| 24x32 high speed lock-in camera.<br />
|-<br />
| [[Vlsi:DOP2|DOP2]]<br />
| 12/2005<br />
| AMS C35 0.35um<br />
| Fred Gu<br/> Chayut Kongsavatsak<br />
| 32x32 feedback frontend no digital processing. Analogue processing.<br />
|-<br />
| [[Vlsi:Atto1a|Atto1a]]<br />
| 01/2006<br />
| AMS C35 0.35um<br />
| Frank Dong<br/> David He<br/> Mark Pitter<br />
| Four different 16x16 integrating pixel cameras. Differential front end pixel. Quadrature VCO.<br />
|-<br />
| [[Vlsi:Atto1b|Atto1b]]<br />
| 02/2006<br />
| AMS C35 0.35um<br />
| Vladimir Ivchenko<br/> Proust Li<br/> Kuldip Modha<br/> Mark Pitter<br />
| 64x64 integrating pixel camera. UWB pulse generator. 6GHz amplifier, photodetector at 3GHz, 5GHz mixer. Ultrasound pulse receiver / op-amps.<br />
|-<br />
| [[Vlsi:iWFS1|iWFS1]]<br />
| 09/2006<br />
| AMS C35 0.35um<br />
| David He<br/> Proust Li<br/> Roger Light<br/> Ian Stockford<br />
| 4 by 32x32 integrating pixel cameras. 4 by 1x1 integrating pixel camera. Inter-digitated photodiode. Differential front end.<br />
|-<br />
| [[Vlsi:PC4|PC4]]<br />
| 09/2006<br />
| AMS C35 0.35um<br />
| Nick Johnston<br />
| 64x64 log feedback pixel with gated averager.<br />
|-<br />
| [[Vlsi:UPR2|UPR2]]<br />
| 02/2007<br />
| AMS C35 0.35um<br />
| Vladimir Ivchenko<br />
| ???<br />
|-<br />
| [[Vlsi:BVIPS1|BVIPS1]]<br />
| 06/2007<br />
| AMS C35 0.35um<br />
| John Himsworth, Frank Lin<br />
| 64x1 main array using log pixels, shared photodiodes for 8x1 linear TIA, 32x1 log pixel with w-filters, re-layout of DOP2_qg, 4x1 op-amp I->Vs<br />
|-<br />
| [[Vlsi:RF2|RF2]]<br />
| 06/2007<br />
| AMS C35 0.35um<br />
| ???<br />
| ???<br />
|-<br />
| [[Vlsi:SPAD1|SPAD1]]<br />
| 06/2007<br />
| UMC L180<br />
| Suhaila Isaak<br />
| ???<br />
|-<br />
| [[Vlsi:Atto2|Atto2]]<br />
| 12/2007<br />
| AMS C35 0.35um<br />
| Nick Johnston, Roger Light, Mark Pitter<br />
| 64x1 integrating camera with four very large integration capacitors.<br />
|-<br />
| [[Vlsi:iWFS2|iWFS2]]<br />
| 01/2008<br />
| AMS C35 0.35um<br />
| Kuldip Modha<br />
| ????<br />
|-<br />
| [[Vlsi:SPAD2|SPAD2]]<br />
| 05/2008<br />
| UMC L180<br />
| Suhaila Isaak<br/>Roger Light<br />
| ????<br />
|-<br />
| [[Vlsi:Atto1c|Atto1c]]<br />
| 06/2008<br />
| AMS C35 0.35um<br />
| Nick Johnston<br/> Samuel Achamfuo-Yeboah<br />
| Atto1c. MLCv6FE test pixel<br />
|-<br />
| [[Vlsi:PC5|PC5]]<br />
| 06/2008<br />
| AMS C35 0.35um<br />
| Nick Johnston<br />
| PC5<br />
|-<br />
| [[Vlsi:LIDAR1]]<br />
| 06/2010<br />
| AMS C35 0.35um<br />
| Samuel Achamfuo-Yeboah<br />
| LIDAR1<br />
| High speed modulated light camera<br />
|-<br />
|}</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Vlsi:Chips&diff=1216Vlsi:Chips2011-06-17T16:17:12Z<p>Samuel Achamfuo-Yeboah: </p>
<hr />
<div>== Chips Fabricated to Date ==<br />
<br />
{| class="gallery"<br />
|-<br />
! Chip Name<br />
! Date<br />
! Process<br />
! Designers<br />
! Brief Contents<br />
|-<br />
| [[Vlsi:PDFINAL|PDFINAL]]<br />
| 10/2000<br />
| Mietec 0.7um<br />
| Boon Hean Pui<br />
| Various sizes of individual photodiodes. 5x5 photodiode array.<br />
|-<br />
| [[Vlsi:chip1bfinal|chip1bfinal]]<br />
| 10/2001<br />
| Mietec 0.7um<br />
| Boon Hean Pui<br />
| Various sizes of individual photodiodes. 5x5 photodiode array. Integrating pixel.<br />
|-<br />
| [[Vlsi:SplitPD1v3|SplitPD1v3]]<br />
| 12/2001<br />
| Mietec 0.7um<br />
| Steve Sharples<br />
| 20x2 photodiodes arranged as a knife edge detector.<br />
|-<br />
| [[Vlsi:CTRchip1v3|CTRchip1v3]]<br />
| 04/2002<br />
| Mietec 0.7um<br />
| Boon Hean Pui<br />
| Centroid detector with 5x5 integrating pixel array.<br />
|-<br />
| [[Vlsi:MLCv1|MLCv1]]<br />
| 05/2003<br />
| AMS CSI 0.35um<br />
| Przemek Dmochowski<br/> Boon Hean Pui<br />
| As PDFINAL. Log pixel lock-in.<br />
|-<br />
| [[Vlsi:MLCv2|MLCv2]]<br />
| 12/2003<br />
| AMS CSI 0.35um<br />
| Przemek Dmochowski<br/> Roger Light<br/> Mark Pitter<br />
| Log pixel lock-in, integrating lock-in, 4x4 pixel parallel camera, 8x4 column parallel camera.<br />
|-<br />
| [[Vlsi:PC2|PC2]]<br />
| 12/2003<br />
| AMS C35 0.35um<br />
| Fred Gu<br/> Roger Light<br/> Mark Pitter<br />
| 64x64 pixel log feedback camera. 2x2 integrating lock-in. Band pass filter, low pass filter.<br />
|-<br />
| [[Vlsi:PC3|PC3]]<br />
| 02/2004<br />
| AMS C35 0.35um<br />
| Przemek Dmochowski<br/> Proust Li<br/> Roger Light<br/> Mark Pitter<br/> Steve Sharples<br />
| 64x64 pixel log feedback camera. Photoacoustic circuits with split photodiodes. 2x2 log feedback camera. Differential pair mixer. Comparator.<br />
|-<br />
| [[Vlsi:DOP1|DOP1]]<br />
| 09/2004<br />
| AMS C35 0.35um<br />
| Fred Gu<br/> David He<br/> Chayut Kongsavatsak<br/> Proust Li<br/> Roger Light<br/> Kuldip Modha<br />
| 16x1 front end and digital filtering. 10-bit SAR ADC. Two stage f/b amplifier. HDA and GM-C to give band pass filter. Darlington pair amplified photodiode.<br />
|-<br />
| [[Vlsi:RF1|RF1]]<br />
| 04/2005<br />
| AMS C35 0.35um<br />
| Frank Dong<br/> Fred Gu<br/> Proust Li<br/> Kuldip Modha<br/> Robbie ???<br />
| Three pixel front ends. 5.7GHz frequency divider. UWB low noise amplifier, UWB pulse generator. 5GHz mixer.<br />
|-<br />
| [[Vlsi:IL4|IL4]]<br />
| 09/2005<br />
| AMS C35 0.35um<br />
| Roger Light<br />
| 128x128 integrating pixel camera.<br />
|-<br />
| [[Vlsi:MLCv5|MLCv5]]<br />
| 09/2005<br />
| AMS C35 0.35um<br />
| Przemek Dmochowski<br />
| 24x32 high speed lock-in camera.<br />
|-<br />
| [[Vlsi:DOP2|DOP2]]<br />
| 12/2005<br />
| AMS C35 0.35um<br />
| Fred Gu<br/> Chayut Kongsavatsak<br />
| 32x32 feedback frontend no digital processing. Analogue processing.<br />
|-<br />
| [[Vlsi:Atto1a|Atto1a]]<br />
| 01/2006<br />
| AMS C35 0.35um<br />
| Frank Dong<br/> David He<br/> Mark Pitter<br />
| Four different 16x16 integrating pixel cameras. Differential front end pixel. Quadrature VCO.<br />
|-<br />
| [[Vlsi:Atto1b|Atto1b]]<br />
| 02/2006<br />
| AMS C35 0.35um<br />
| Vladimir Ivchenko<br/> Proust Li<br/> Kuldip Modha<br/> Mark Pitter<br />
| 64x64 integrating pixel camera. UWB pulse generator. 6GHz amplifier, photodetector at 3GHz, 5GHz mixer. Ultrasound pulse receiver / op-amps.<br />
|-<br />
| [[Vlsi:iWFS1|iWFS1]]<br />
| 09/2006<br />
| AMS C35 0.35um<br />
| David He<br/> Proust Li<br/> Roger Light<br/> Ian Stockford<br />
| 4 by 32x32 integrating pixel cameras. 4 by 1x1 integrating pixel camera. Inter-digitated photodiode. Differential front end.<br />
|-<br />
| [[Vlsi:PC4|PC4]]<br />
| 09/2006<br />
| AMS C35 0.35um<br />
| Nick Johnston<br />
| 64x64 log feedback pixel with gated averager.<br />
|-<br />
| [[Vlsi:UPR2|UPR2]]<br />
| 02/2007<br />
| AMS C35 0.35um<br />
| Vladimir Ivchenko<br />
| ???<br />
|-<br />
| [[Vlsi:BVIPS1|BVIPS1]]<br />
| 06/2007<br />
| AMS C35 0.35um<br />
| John Himsworth, Frank Lin<br />
| 64x1 main array using log pixels, shared photodiodes for 8x1 linear TIA, 32x1 log pixel with w-filters, re-layout of DOP2_qg, 4x1 op-amp I->Vs<br />
|-<br />
| [[Vlsi:RF2|RF2]]<br />
| 06/2007<br />
| AMS C35 0.35um<br />
| ???<br />
| ???<br />
|-<br />
| [[Vlsi:SPAD1|SPAD1]]<br />
| 06/2007<br />
| UMC L180<br />
| Suhaila Isaak<br />
| ???<br />
|-<br />
| [[Vlsi:Atto2|Atto2]]<br />
| 12/2007<br />
| AMS C35 0.35um<br />
| Nick Johnston, Roger Light, Mark Pitter<br />
| 64x1 integrating camera with four very large integration capacitors.<br />
|-<br />
| [[Vlsi:iWFS2|iWFS2]]<br />
| 01/2008<br />
| AMS C35 0.35um<br />
| Kuldip Modha<br />
| ????<br />
|-<br />
| [[Vlsi:SPAD2|SPAD2]]<br />
| 05/2008<br />
| UMC L180<br />
| Suhaila Isaak<br/>Roger Light<br />
| ????<br />
|-<br />
| [[Vlsi:Atto1c|Atto1c]]<br />
| 06/2008<br />
| AMS C35 0.35um<br />
| Nick Johnston<br/> Samuel Achamfuo-Yeboah<br />
| Atto1c. MLCv6FE test pixel<br />
|-<br />
| [[Vlsi:PC5|PC5]]<br />
| 06/2008<br />
| AMS C35 0.35um<br />
| Nick Johnston<br />
| PC5<br />
|-<br />
| [[vlsi:LIDAR1]]<br />
| 06/2010<br />
| AMS C35 0.35um<br />
| Samuel Achamfuo-Yeboah<br />
| LIDAR1<br />
| High speed modulated light camera<br />
|}</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Experimental_PC&diff=1215Experimental PC2011-06-17T16:06:38Z<p>Samuel Achamfuo-Yeboah: </p>
<hr />
<div>Back to [[Linux How-tos]]<br />
<br />
<big>Extra stuff for all the hardware in '''blanket''' & '''pouffe''', the ARRO-SAM PC & OSAM </big><br />
<br />
In December 2007 I upgraded blanket, the PC used to control the ARRO-SAM experiment, to the current version of openSuSE (10.3 when this page was first written, now 11.0). This PC had been running Redhat 9 for a number of years and due to heavy use as an experimental PC and reasonable stability, it had not been updated. Redhat 9 runs a 2.4 kernel, so there were some extra things to do with the drivers and compiling ''c-scan''.<br />
<br />
Addition (April 2008): Rob upgraded pouffe in the O-SAM lab, pretty much the same as blanket accept for ISA PI stages<br />
<br />
The information contained here will also be useful if you want to install any of these bits of hardware on any other Linux PC.<br />
<br />
== Pre-install ==<br />
<br />
=== Scenario 1: inherited PC with working hardware, updating Linux ===<br />
<br />
# Make a list of all the hardware you have (or likely to have) attached to the PC<br />
# From this list, work out which programs/utilities you use<br />
#* Most of these will already be installed in /usr/local/bin/<br />
# Work out how to recompile (and re-install) all these programs<br />
#* Most will have their source code in /home/scan/source/hardware/<br />
# Save all the configuration files you think you might need<br />
#* Most of these will be in /etc/<br />
<br />
Example: updating blanket from RdeHat 9 to SuSE 10.3:<br />
<br />
I tarballed /etc/ and /usr/local/bin/ and stuck the files in my home directory where they would be recoverable after new install. The aim was to retain the old root partition of the old (Redhat 9) system, to enable it to be mounted by the new (SuSE 10.3) system under /old_redhat_9_root/ but since installation involved resizing the old partition (always potentially problematic) it's a good idea to backup anything you think you might need. /etc/ for configuration files (including our own, for the stages, the SLM etc) and /usr/local/bin/ just as a reminder of the extra stuff (mainly our own) that we installed.<br />
<br />
In the event, the old root partition wasn't wiped, and I was able to grab the files from there (/old_redhat_9_root). After the install, I copied the files I'd ''actually'' needed to /home/share/backup_system_files/blanket/<br />
<br />
=== Scenario 2: Adding new hardware to an already up-to-date PC ===<br />
<br />
# Use this wiki, find the instructions for the relevant hardware<br />
# 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> )<br />
<br />
<br />
== Install ==<br />
<br />
I had to resize the old partition as it was taking up all the disk (except for the swap partition). I resized the old partition to 20GB (it had 15GB of stuff in it) and made a new 30GB root partition. I also extended the swap to 4GB.<br />
<br />
Other than that I just did a standard install, then performed the standard local configuration stuff as with any other PC.<br />
<br />
The resizing of the old partition was successful and I was able to copy the files I needed directly from /old_redhat_9_root/etc/<br />
<br />
== Scope (and AFG) utilities ==<br />
<br />
These are the standard command line utilities to grab traces, save setups etc<br />
<br />
=== vxi11 ===<br />
(Used by Agilent and Tek utilities, and a low-level diagnostic tool in its own right)<br />
<br />
*cd /home/scan/source/hardware/vxi11/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**vxi11_cmd<br />
<br />
=== Agilent scope ===<br />
<br />
*cd /home/scan/source/hardware/agilent_scope/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**agetwf<br />
**agilent_load_setup<br />
**agilent_save_setup<br />
<br />
=== Tek scope/AFG ===<br />
<br />
*cd /home/scan/source/hardware/tek/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**tgetwf<br />
**tek_load_setup<br />
**tek_save_setup<br />
**tek_afg_upload_arb<br />
<br />
=== LeCroy scope ===<br />
<br />
==== VXI11-compatible LeCroy scopes ====<br />
Anything bought in 2010 onwards...<br />
<br />
*cd /home/scan/source/hardware/lecroy/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
*lgetwf<br />
<br />
==== VCIP-only LeCroy scopes ====<br />
The old (non-Windows) LT564L scope, and Teti's old Waverunner 6050 (the one that runs Windows 2000).<br />
<br />
*cd /home/scan/source/hardware/ethernet_scope/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**eth_cmd<br />
**/etc/lecroy_tcp/ (empty directory)<br />
*cd /home/scan/source/egetwf/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**egetwf<br />
<br />
== PI PCI stage driver ==<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/library/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**pi_save_pos<br />
**pi_recall_pos<br />
**(pi_user library)<br />
**/etc/pi_stage/stage_database/<br />
<br />
*cd /home/scan/source/hardware/pi_pci_stage/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**set_stages_safe<br />
**manual_pci_stage (manual_stage)<br />
**/etc/pi_stage/position_um '''if''' it doesn't already exist (default stage position file, all axes at 0)<br />
**/etc/pi_stage/installed_stages - this is the default list of installed stages, '''which you may need to edit if yours are different:'''<br />
axis 0 m-531.dd<br />
axis 1 m-531.dd<br />
axis 2 m-605.2dd<br />
axis 3 m-605.2dd<br />
<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/driver/<br />
*make<br />
*sudo ./install_pi_stage_recall<br />
*Installs:<br />
**PI PCI stage device driver<br />
<br />
'''Note:''' if you see something like the following after the last "make"....:<br />
<br />
make -C /lib/modules/2.6.27.45-0.1-default/build M=/home/scan/source/dev/pi_pci/driver_2.6/driver modules<br />
make[1]: Entering directory `/usr/src/linux-2.6.27.45-0.1-obj/x86_64/default'<br />
make[1]: *** No rule to make target `modules'. Stop.<br />
make[1]: Leaving directory `/usr/src/linux-2.6.27.45-0.1-obj/x86_64/default'<br />
make: *** [default] Error 2<br />
<br />
... it means that you don't have the kernel-source package installed. To fix this:<br />
*sudo zypper install kernel-source<br />
then...<br />
*cd /home/scan/source/dev/pi_pci/driver_2.6/driver/<br />
*make<br />
*sudo ./install_pi_stage_recall<br />
<br />
<br />
<br />
== PI ISA stage ==<br />
*cd /home/scan/source/hardware/stages<br />
*make -f Makefile.osam clean; make -f Makefile.osam; <br />
*sudo make -f Makefile.osam install<br />
*Installs:<br />
**manual_stage<br />
**/etc/stages/PI_stage_origin '''if''' it doesn't already exist (default stage position file, all axes at 0)<br />
<br />
== Inchworm and IDAC stages ==<br />
*cd /home/scan/source/hardware/IW_driver<br />
*sudo make install<br />
*Installs:<br />
**/etc/stages/IW_stage_origin '''if''' it doesn't already exist (default stage position file, both axes at 0)<br />
*cd /home/scan/source/hardware/IDAC_driver<br />
*sudo make install<br />
*Installs:<br />
**/etc/stages/IDAC_stage_origin '''if''' it doesn't already exist (default stage position file, both axes at 0)<br />
<br />
== BNS SLM ==<br />
*cp -av /old_redhat_9_root/etc/slm /etc/<br />
<br />
*cd /home/scan/source/dev/BNS/driver_2.6/<br />
*make<br />
To install use<br />
*sudo ./install_slm_mtrr<br />
OR<br />
*sudo ./install_for_boot<br />
The latter install the kernel driver in the system and will load it automatically at boot time for you. If you<br />
want it load right now without rebooting use the previous version as well - matt<br />
<br />
*Installs:<br />
**BNS SLM device driver<br />
<br />
*cd /home/scan/source/dev/BNS/utils/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**bns_change_frame (change_frame_bns)<br />
**bns_laser_ab<br />
**bns_power<br />
**bns_power_off<br />
**bns_power_on<br />
**bns_upload_frame (upload1_bns)<br />
<br />
*cd /home/scan/source/hardware/bns_slm/manual_bns/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**manual_bns<br />
<br />
*cd /home/scan/source/hardware/bns_slm/set_bns/<br />
*make clean; make; sudo make install<br />
*Installs:<br />
**set_bns<br />
<br />
== FFTW libraries ==<br />
<br />
These are needed by the higher order correction algorithm when using the SLM in c-scan. I use the ''float'' version of the libraries (rather than the standard ''double'' version) for speed, and so an extra option must be set before compiling.<br />
<br />
*cd /home/scan/source/fftw-3.0.1_blanket/<br />
*make distclean; ./configure --enable-float; make; sudo make install<br />
*Installs:<br />
**(FFTW float libraries)<br />
<br />
== Comedi ==<br />
<br />
=== comedi kernel driver compilation ===<br />
<br />
The "current release" version of the comedi is 0.7.76, however this will not compile on modern kernels (it's more than 2 years old). The current comedi policy seems to be one of continuous code development, they seem to have given up on producing "releases." We need to create a directory on the local disk (there is a lot to compile) and download a "cvs snapshot".<br />
<br />
*cd /usr/local/src/<br />
*sudo mkdir comedi<br />
*sudo chown <your_username>: comedi<br />
*cd comedi<br />
<br />
The following two lines are from the comedi download page: http://www.comedi.org/download.html<br />
*cvs -d :pserver:anonymous@cvs.comedi.org:/cvs/comedi login<br />
*cvs -d :pserver:anonymous@cvs.comedi.org:/cvs/comedi co comedi<br />
*cd comedi<br />
*./autogen.sh<br />
The "./configure" script needs some extra arguments to work (ref Roger). "./configure -h" to see all options. These might change in the future.<br />
<br />
For 32-bit (tested by Steve):<br />
*./configure --with-linuxsrcdir=/usr/src/linux<br />
For 64-bit (untested):<br />
*./configure --with-linuxsrcdir=/usr/src/linux --with-rpm-target=x86_64<br />
<br />
*make<br />
*sudo make install<br />
*sudo /sbin/depmod -a<br />
*sudo make dev<br />
<br />
*Installs:<br />
**(comedi libraries)<br />
**(device libraries)<br />
**(comedi devices in /dev/)<br />
<br />
*sudo echo 'KERNEL=="comedi*", MODE="0666"' > /etc/udev/rules.d/53-comedi.rules<br />
**Sets the permissions of the DAQ to world-readable-and-writable during boot<br />
<br />
==== Specific instructions for the Amplicon PCI230 ====<br />
(See also Roger's Troubleshooting Tips below for other cards)<br />
<br />
*sudo echo 'install amplc_pci230 PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH; comedi_config /dev/comedi0 amplc_pci230' >> /etc/modprobe.conf.local<br />
**Means that when you use ''modprobe'' to load the amplc_pci230 module, it automatically runs ''comedi_config'' too.<br />
**Unfortunately, ''udev'' ignores this, so we have to...<br />
*sudo echo '/sbin/modprobe amplc_pci230' >> /etc/init.d/boot.local<br />
*sudo echo '/usr/local/sbin/comedi_config /dev/comedi0 amplc_pci230' >> /etc/init.d/boot.local<br />
**Makes the PCI230 modules get loaded automatically at boot time<br />
<br />
==== Troubleshooting tips ====<br />
<br />
Installing comedi onto different machines may require a slight modification to the approach above.<br />
<br />
*Change the name of driver (amplc_pci230 above) depending on the DAQ card used (e.g. most PCI National instruments DAQ cards use ni_pcimio). A complete list can be viewed on [http://www.comedi.org/hardware.html comedi's hardware list]. <br />
*Some drivers may not compile using make. If this happens, put #if 0 and #endif at the top and bottom of the driver's code respectively. The drivers are located in ./comedi/drivers/, adv_pci1710.c and adv_pci_dio.c have been known to cause problems.<br />
*Once installed, if the modules do not load into the kernal using modprobe (e.g. if comedi_test returns cannot find comedi0 or drivers), insmod may be required. The following needs to be placed in and at the end of /etc/init.d/boot.local (these are for National Instruments DAQ, change drivers as required)<br />
**/sbin/insmod /lib/modules/comedi/comedi.ko<br />
**/sbin/insmod /lib/modules/comedi/drivers/8255.ko<br />
**/sbin/insmod /lib/modules/comedi/drivers/ni_pcimio.ko<br />
**/usr/local/sbin/comedi_config /dev/comedi0 ni_pcimio (if this is not already there)<br />
<br />
==== Dealing with kernel updates ====<br />
<br />
Updates to the kernel mean that the comedi drivers need to be reinstalled. As the kernel updates are usually fairly minor, the comedi drivers usually don't need recompiling. It's annoying having to deal with this, so this solution helps to remove some of that annoyance. When you've installed comedi run the following as root:<br />
<br />
cp -r /lib/modules/$(uname -r)/comedi /lib/modules/<br />
<br />
This will copy your current comedi installation to /lib/modules/comedi.<br />
<br />
Now add the following to /etc/init.d/boot.local (*before* any of the commands to load the comedi modules):<br />
<br />
KERNEL=$(uname -r)<br />
<br />
if [ ! -d /lib/modules/${KERNEL}/comedi/ ]; then<br />
cp -r /lib/modules/comedi /lib/modules/${KERNEL}/<br />
depmod -a<br />
fi<br />
<br />
This will check for the presence of the comedi directory in the modules directory for the current kernel and copy it over if it doesn't exist. ''depmod -a'' updates the module dependencies.<br />
<br />
It is important that if you install a newer version of comedi that you remove /lib/modules/comedi and replace it with your updated version. Also note that some kernel updates may be incompatible with your compiled comedi drivers and so you'll have to recompile and reinstall using the instructions above.<br />
<br />
=== comedilib ===<br />
<br />
comedilib should now be installed automatically through Roger's openSUSE repository. Updates will also become available through the normal update procedure. If this doesn't work for any reason, see Roger or use the old method:<br />
<br />
cd /home/scan/source/hardware/comedi/comedilib-0.8.1/<br />
make distclean; ./configure; make; sudo make install<br />
Installs:<br />
<br />
* libcomedi<br />
* comedi_test<br />
* /usr/local/sbin/comedi_config<br />
<br />
=== Comedi Settings for the NI PCI-6251 ===<br />
<br />
If you want to use the PFI port as a digital output, you must do some extra configuration. This is possible using the demo tools in comedilib (which could also be copied across to your own code of course). So, to change channel 14 of subdevice 7 (ie. pin 1 on the connector) to be a digital output do the following in the comedilib/demo directory:<br />
<br />
* ./choose_routing -s7 -c14 16 # NI_PFI_OUTPUT_DO == 16<br />
* ./dio -s7 -c14 1 # now its an output<br />
* ./outp -s7 -c14 1 # test the output (or 0)<br />
<br />
All these can be set up at boot. Putting /usr/local/bin/choose_rooting -s7 -c** 16 for all/any channels in /etc/rc.d/boot.local and copying (as root) choose_rooting from the demo folder in (compiled?) comedilib to /usr/local/bin/.<br />
<br />
=== Comedi openSUSE 11.4, Kernel 2.6.37.6-0.5-desktop [June 2011, on Settee, Samuel] ===<br />
I did a clean install of openSUSE 11.4 64bit on Settee. I had a few problems, so I thought I'd write down how I finally managed to get it working.<br />
<br />
After running ~share/suse_hacks/<suse version>/std_suse_hacks_<location>, make sure to run the install_eee_packages too. This will install comedilib automatically for you, amongst other things.<br />
<br />
I tried to use the kernel tree to install comedi. From /usr/src/linux/ type: sudo make menuconfig, and choose to install modules for comedi and the relevant drivers. Comedi may be found in the tree under Device Drivers >> Staging Drivers >> Data acquisition support (comedi). Use / for search if so desired. Use sudo make modules; 'sudo make install' to install. Unfortunately, this method didn't work for me, and the modules for other devices like network cards got overwritten, so I had to rescue the system.<br />
<br />
I thus downloaded the latest snapshot from www.comedi.org, untarred it to /usr/local/src/comedi, and used ./autogen.sh then ./configure --with-linuxdir=/usr/src/linux. It correctly detected the 64bit arch. Run make and make install to install. Use the directions above to add the relevant lines to /etc/init.d/boot.local. Since I use the NI PCI6251, the lines in my boot.local file are :<br />
<br />
KERNEL=$(uname -r)<br />
if [ ! -d /lib/modules/${KERNEL}/comedi/ ]; then<br />
cp -r /lib/modules/comedi /lib/modules/${KERNEL}/<br />
depmod -a<br />
fi<br />
/usr/local/sbin/comedi_config /dev/comedi0 ni_pcimio<br />
choose_routing -s7 -c0 16 # NI_PFI_OUTPUT_DO == 16<br />
# etc etc<br />
choose_routing -s7 -c15 16 # NI_PFI_OUTPUT_DO == 16 <br />
<br />
Hopefully that helps.<br />
<br />
<br />
== c-scan ==<br />
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).<br />
<br />
*cd /home/scan/source/hardware/scanner/<br />
*make clean; make; sudo make install <br />
*sudo cp ~sds/bin/cscan /usr/local/bin/<br />
*Installs:<br />
**c_scan<br />
**c_scan man pages<br />
**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.<br />
<br />
== Jai CCD camera ==<br />
*sudo cp ~sds/bin/ccd* /usr/local/bin/<br />
*Installs:<br />
**ccd_set_serial<br />
**ccd0<br />
**ccd1<br />
**..<br />
**ccd7 (different shutter speeds)<br />
<br />
== Andor iXon camera ==<br />
You can find the latest driver here: /home/scan/source/hardware/andor_camera/andor you need to copy<br />
this directory to a local disk to build and install the driver and libraries because the andor <br />
supplied script borks if it isn't run as root and the permissions on the nfs disks prevent root<br />
running the script directly.<br />
<br />
The current driver is v2.82 install in December 2008 by Matt. This is broken for kernel versions<br />
2.6.23-2.6.27 and will cause hard kernel lock ups is you install it on these kernels. Under newer<br />
kernels it may not compile because of an error in src/driver/fault.c - just just #define NOPFN_SIGBUS -1<br />
in the preamble of fault.c to fix this. We are waiting for a revised driver.<br />
<br />
== Nanoscope lab / Andor iXon camera ==<br />
The Andor camera setup we use uses a client / server model to overcome some of the shortcomings of<br />
the Andor driver / libraries. All the code can be found in /home/scan/source/hardware/andor_camera/camera.<br />
You need to make the camera_driver and the camera_utils all application code should use and compile<br />
in the camera_client code. Before you use anything the server needs to be running (camera_server).<br />
Placing the following line in boot.local AFTER the Andor code will ensure it runs at boot time:<br />
<pre><br />
echo Installing the camera_server<br />
su matt -c /usr/local/bin/camera_server &<br />
</pre><br />
<br />
Remember the meminfo thing! reserve at least 4Mb of RAM for the driver by adding this to the boot options in the grub boot<br />
script (menu.1st) mem=1000M where 1000 is the size of the RAM in Mb - 4 (maybe 5?) as in:<br />
<br />
<pre><br />
kernel /boot/vmlinuz-2.6.25.18-0.2-default root=/dev/disk/by-id/scsi-SATA_ST340014A_3JX7N160-part2 resume=/dev/sda1 splash=silent showopts mem=1000M vga=0x31a<br />
</pre><br />
<br />
The current driver 2.82-30003 on kernel 2.6.27.xx appears to be working, however, Andor seem to be ironing out a few bugs still so this could be volatile - if you have a working system I suggest leaving it alone.<br />
<br />
2.78 works on pre 2.6.25 (or thereabouts) but not after because it causes hard kernel locks, it also requires a little hacking<br />
to compile on these newer kernels but since it crashes this is a little pointless. 2.82-30002 compiles and doesn't crash<br />
but returns scrambled image data. 2.82-30003 compiles on 2.6.27 kernels but not older ones, it doesn't crash and the image<br />
data seems ok.</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Vlsi:Cadence_Tips&diff=488Vlsi:Cadence Tips2009-02-10T12:27:03Z<p>Samuel Achamfuo-Yeboah: Added diagrams to Voltage Storm analysis procedure.</p>
<hr />
<div>=== Virtual Connections in Assura LVS ===<br />
<br />
If you have two wires on a layout that are unconnected but will be connected together in a higher level then place a pin on both wires. When running Assura LVS you need to set some further options. Enable "View avParameters" and then click "Modify avParameters...". Find the "joinPins" option, enable it ("Use in run") and set it to "Top". Click OK to close the avParameters window. Now enable "View Additional Functions" followed by "Use joinableNet Function". Now click "Modify joinableNet Function...". In the new window enable "root cell?" then add your net to the "Net Names to Join" box and click "Add to Command List (below)" to add it. Click OK to close the joinableNet window and then run LVS as normal.<br />
<br />
=== Voltage / Current Pulse Sources ===<br />
<br />
I can never remember which voltage/current is which, so I've created an image to remind me: [[Image:Vpulse.png]]<br />
<br />
=== Voltage Storm Analysis ===<br />
Voltage Storm is a tool that allows the analysis of IR drops. For example, it can be used to monitor the distribution of VDD across an array of pixels.<br />
Follow this procedure for the analysis:<br />
* Create your schematic and layout. <br />
* Make sure your labels are in the center of any path or metal or poly they are on.<br />
* From the '''Create''' menu, choose '''Pins from labels...''' and click OK to create pins on the layout.<br />
* Run LVS from Assura, and then run RCX to generate the extracted view. You may need to use the JoinableNet function if you haven't joined some nets together.<br />
* In the RCX window, choose to extract RC and use '''infinite Max Fracture Lengths squares''' in the Extraction tab, and enable '''extract parasitic resistor width''' (Netlisting Tab).<br />
* Set up a test bench configuration, containing the extracted view. Use the hierarchy editor.<br />
* Run a simulation that uses the extracted view. A short transient, AC or DC simulation is fine.<br />
* From your Spectre ADE window, choose '''Session >> Schematic Window''' to open the test cell, and descend into the extracted view. This makes sure that you are in context.<br />
* From the extracted view menu, choose '''Tools >> Voltage Storm''' from the menu.<br />
* Select from the '''EM and IR''' menu, '''IR Drop Analysis'''<br />
* Accept the use of the presistor (default)<br />
* If all was correctly set up, your pins and available signals will be listed. Select the pins or signals of interest, using the '''CTRL''' key for multiple selections.<br />
* Enter or browse to your simulation directory.<br />
* Highlight one of the simulations in the list box.<br />
* Press OK. The tool will perform some operations (can be seen in the CIW), and an '''IR Voltage Drop Results''' window will pop up. <br />
* This allows you to choose on of those pins/signals chosen earlier, and study the drop.<br />
* To display the voltage distribution, click one of the buttons near the bottom of the form. '''Hide layers, Display highlights''' is particularly useful.<br />
* It may be necessary to load a resource file in your LSW to get the layers to display in a nice format. From the LSW, choose '''Edit >> Resource Editor''', and from that window choose '''File >> Load'''<br />
* The voltage variation is shown in the form of a colour map on the extracted layout window.<br />
<br />
[[Image:MLCv6VDDirDrop8pin.png|300px|VDD Distribution shown on colour map]] [[Image:MLCv6VDDirDrop8pinlegend.png|290px|Legend for Colourmap]]<br />
<br />
<br />
== RC Extraction for C35/S35/H35 in IC 6.1 ==<br />
<br />
To run RCX successfully, you must first pass LVS correctly as normal. Do this by running LVS without any switches. If you run RCX now, it will fail. Now carry out LVS with the switch "resimulate_extracted" to guarantee that also substrate shorts are found correctly. RCX will run without any problems (note that you must not use the "resimulate_extracted" switch for normal LVS runs as it may give false results.</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=File:MLCv6VDDirDrop8pinlegend.png&diff=487File:MLCv6VDDirDrop8pinlegend.png2009-02-10T12:24:40Z<p>Samuel Achamfuo-Yeboah: Legend for Voltage Storm.</p>
<hr />
<div>Legend for Voltage Storm.</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=File:MLCv6VDDirDrop8pin.png&diff=486File:MLCv6VDDirDrop8pin.png2009-02-10T12:17:05Z<p>Samuel Achamfuo-Yeboah: uploaded a new version of "Image:MLCv6VDDirDrop8pin.png": Voltage Storm Analysis for a chip with 8 VDD supplied from 8 Points around the perimeter of the chip, and with Metal 3 used as a VDD supply layer. (c35b4)</p>
<hr />
<div></div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=File:MLCv6VDDirDrop8pin.png&diff=485File:MLCv6VDDirDrop8pin.png2009-02-10T12:14:35Z<p>Samuel Achamfuo-Yeboah: </p>
<hr />
<div></div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Vlsi:Cadence_Tips&diff=462Vlsi:Cadence Tips2009-01-13T20:26:38Z<p>Samuel Achamfuo-Yeboah: Added a summary of Voltage Storm analysis procedure.</p>
<hr />
<div>=== Virtual Connections in Assura LVS ===<br />
<br />
If you have two wires on a layout that are unconnected but will be connected together in a higher level then place a pin on both wires. When running Assura LVS you need to set some further options. Enable "View avParameters" and then click "Modify avParameters...". Find the "joinPins" option, enable it ("Use in run") and set it to "Top". Click OK to close the avParameters window. Now enable "View Additional Functions" followed by "Use joinableNet Function". Now click "Modify joinableNet Function...". In the new window enable "root cell?" then add your net to the "Net Names to Join" box and click "Add to Command List (below)" to add it. Click OK to close the joinableNet window and then run LVS as normal.<br />
<br />
=== Voltage / Current Pulse Sources ===<br />
<br />
I can never remember which voltage/current is which, so I've created an image to remind me: [[Image:Vpulse.png]]<br />
<br />
=== Voltage Storm Analysis ===<br />
Voltage Storm is a tool that allows the analysis of IR drops. For example, it can be used to monitor the distribution of VDD across an array of pixels.<br />
Follow this procedure for the analysis:<br />
* Create your schematic and layout. <br />
* Make sure your labels are in the center of any path or metal or poly they are on.<br />
* From the '''Create''' menu, choose '''Pins from labels...''' and click OK to create pins on the layout.<br />
* Run LVS from Assura, and then run RCX to generate the extracted view. You may need to use the JoinableNet function if you haven't joined some nets together.<br />
* In the RCX window, choose to extract RC and use '''infinite Max Fracture Lengths squares''' in the Extraction tab, and enable '''extract parasitic resistor width''' (Netlisting Tab).<br />
* Set up a test bench configuration, containing the extracted view. Use the hierarchy editor.<br />
* Run a simulation that uses the extracted view. A short transient, AC or DC simulation is fine.<br />
* From your Spectre ADE window, choose '''Session >> Schematic Window''' to open the test cell, and descend into the extracted view. This makes sure that you are in context.<br />
* From the extracted view menu, choose '''Tools >> Voltage Storm''' from the menu.<br />
* Select from the '''EM and IR''' menu, '''IR Drop Analysis'''<br />
* Accept the use of the presistor (default)<br />
* If all was correctly set up, your pins and available signals will be listed. Select the pins or signals of interest, using the '''CTRL''' key for multiple selections.<br />
* Enter or browse to your simulation directory.<br />
* Highlight one of the simulations in the list box.<br />
* Press OK. The tool will perform some operations (can be seen in the CIW), and an '''IR Voltage Drop Results''' window will pop up. <br />
* This allows you to choose on of those pins/signals chosen earlier, and study the drop.<br />
* To display the voltage distribution, click one of the buttons near the bottom of the form. '''Hide layers, Display highlights''' is particularly useful.<br />
* It may be necessary to load a resource file in your LSW to get the layers to display in a nice format. From the LSW, choose '''Edit >> Resource Editor''', and from that window choose '''File >> Load'''<br />
* The voltage variation is shown in the form of a colour map on the extracted layout window.</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Vlsi:Chips&diff=375Vlsi:Chips2008-10-10T16:10:13Z<p>Samuel Achamfuo-Yeboah: </p>
<hr />
<div>== Chips Fabricated to Date ==<br />
<br />
{| class="gallery"<br />
|-<br />
! Chip Name<br />
! Date<br />
! Process<br />
! Designers<br />
! Brief Contents<br />
|-<br />
| [[Vlsi:PDFINAL|PDFINAL]]<br />
| 10/2000<br />
| Mietec 0.7um<br />
| Boon Hean Pui<br />
| Various sizes of individual photodiodes. 5x5 photodiode array.<br />
|-<br />
| [[Vlsi:chip1bfinal|chip1bfinal]]<br />
| 10/2001<br />
| Mietec 0.7um<br />
| Boon Hean Pui<br />
| Various sizes of individual photodiodes. 5x5 photodiode array. Integrating pixel.<br />
|-<br />
| [[Vlsi:SplitPD1v3|SplitPD1v3]]<br />
| 12/2001<br />
| Mietec 0.7um<br />
| Steve Sharples<br />
| 20x2 photodiodes arranged as a knife edge detector.<br />
|-<br />
| [[Vlsi:CTRchip1v3|CTRchip1v3]]<br />
| 04/2002<br />
| Mietec 0.7um<br />
| Boon Hean Pui<br />
| Centroid detector with 5x5 integrating pixel array.<br />
|-<br />
| [[Vlsi:MLCv1|MLCv1]]<br />
| 05/2003<br />
| AMS CSI 0.35um<br />
| Przemek Dmochowski<br/> Boon Hean Pui<br />
| As PDFINAL. Log pixel lock-in.<br />
|-<br />
| [[Vlsi:MLCv2|MLCv2]]<br />
| 12/2003<br />
| AMS CSI 0.35um<br />
| Przemek Dmochowski<br/> Roger Light<br/> Mark Pitter<br />
| Log pixel lock-in, integrating lock-in, 4x4 pixel parallel camera, 8x4 column parallel camera.<br />
|-<br />
| [[Vlsi:PC2|PC2]]<br />
| 12/2003<br />
| AMS C35 0.35um<br />
| Fred Gu<br/> Roger Light<br/> Mark Pitter<br />
| 64x64 pixel log feedback camera. 2x2 integrating lock-in. Band pass filter, low pass filter.<br />
|-<br />
| [[Vlsi:PC3|PC3]]<br />
| 02/2004<br />
| AMS C35 0.35um<br />
| Przemek Dmochowski<br/> Proust Li<br/> Roger Light<br/> Mark Pitter<br/> Steve Sharples<br />
| 64x64 pixel log feedback camera. Photoacoustic circuits with split photodiodes. 2x2 log feedback camera. Differential pair mixer. Comparator.<br />
|-<br />
| [[Vlsi:DOP1|DOP1]]<br />
| 09/2004<br />
| AMS C35 0.35um<br />
| Fred Gu<br/> David He<br/> Chayut Kongsavatsak<br/> Proust Li<br/> Roger Light<br/> Kuldip Modha<br />
| 16x1 front end and digital filtering. 10-bit SAR ADC. Two stage f/b amplifier. HDA and GM-C to give band pass filter. Darlington pair amplified photodiode.<br />
|-<br />
| [[Vlsi:RF1|RF1]]<br />
| 04/2005<br />
| AMS C35 0.35um<br />
| Frank Dong<br/> Fred Gu<br/> Proust Li<br/> Kuldip Modha<br/> Robbie ???<br />
| Three pixel front ends. 5.7GHz frequency divider. UWB low noise amplifier, UWB pulse generator. 5GHz mixer.<br />
|-<br />
| [[Vlsi:IL4|IL4]]<br />
| 09/2005<br />
| AMS C35 0.35um<br />
| Roger Light<br />
| 128x128 integrating pixel camera.<br />
|-<br />
| [[Vlsi:MLCv5|MLCv5]]<br />
| 09/2005<br />
| AMS C35 0.35um<br />
| Przemek Dmochowski<br />
| 24x32 high speed lock-in camera.<br />
|-<br />
| [[Vlsi:DOP2|DOP2]]<br />
| 12/2005<br />
| AMS C35 0.35um<br />
| Fred Gu<br/> Chayut Kongsavatsak<br />
| 32x32 feedback frontend no digital processing. Analogue processing.<br />
|-<br />
| [[Vlsi:Atto1a|Atto1a]]<br />
| 01/2006<br />
| AMS C35 0.35um<br />
| Frank Dong<br/> David He<br/> Mark Pitter<br />
| Four different 16x16 integrating pixel cameras. Differential front end pixel. Quadrature VCO.<br />
|-<br />
| [[Vlsi:Atto1b|Atto1b]]<br />
| 02/2006<br />
| AMS C35 0.35um<br />
| Vladimir Ivchenko<br/> Proust Li<br/> Kuldip Modha<br/> Mark Pitter<br />
| 64x64 integrating pixel camera. UWB pulse generator. 6GHz amplifier, photodetector at 3GHz, 5GHz mixer. Ultrasound pulse receiver / op-amps.<br />
|-<br />
| [[Vlsi:iWFS1|iWFS1]]<br />
| 09/2006<br />
| AMS C35 0.35um<br />
| David He<br/> Proust Li<br/> Roger Light<br/> Ian Stockford<br />
| 4 by 32x32 integrating pixel cameras. 4 by 1x1 integrating pixel camera. Inter-digitated photodiode. Differential front end.<br />
|-<br />
| [[Vlsi:PC4|PC4]]<br />
| 09/2006<br />
| AMS C35 0.35um<br />
| Nick Johnston<br />
| 64x64 log feedback pixel with gated averager.<br />
|-<br />
| [[Vlsi:UPR2|UPR2]]<br />
| ??/????<br />
| AMS C35 0.35um<br />
| Vladimir Ivchenko<br />
| ???<br />
|-<br />
| [[Vlsi:BVIPS1|BVIPS1]]<br />
| ??/????<br />
| AMS C35 0.35um<br />
| John Himsworth, Frank Lin<br />
| 64x1 main array using log pixels, shared photodiodes for 8x1 linear TIA, 32x1 log pixel with w-filters, re-layout of DOP2_qg, 4x1 op-amp I->Vs<br />
|-<br />
| [[Vlsi:RF2|RF2]]<br />
| ??/????<br />
| AMS C35 0.35um<br />
| ???<br />
| ???<br />
|-<br />
| [[Vlsi:SPAD1|SPAD1]]<br />
| ??/????<br />
| UMC L180<br />
| ???<br />
| ???<br />
|-<br />
| [[Vlsi:Atto2|Atto2]]<br />
| 12/2007<br />
| AMS C35 0.35um<br />
| Nick Johnston, Roger Light, Mark Pitter<br />
| 64x1 integrating camera with four very large integration capacitors.<br />
|-<br />
| [[Vlsi:iWFS2|iWFS2]]<br />
| ??/????<br />
| AMS C35 0.35um<br />
| Kuldip Modha<br />
| ????<br />
|-<br />
| [[Vlsi:Atto1c|Atto1c]]<br />
| 10/2008<br />
| AMS C35 0.35um<br />
| Nick Johnston<br/> Samuel Achamfuo-Yeboah<br />
| Atto1c. MLCv6FE test pixel<br />
|}</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Vlsi:Chips&diff=374Vlsi:Chips2008-10-10T13:04:24Z<p>Samuel Achamfuo-Yeboah: </p>
<hr />
<div>== Chips Fabricated to Date ==<br />
<br />
{| class="gallery"<br />
|-<br />
! Chip Name<br />
! Date<br />
! Process<br />
! Designers<br />
! Brief Contents<br />
|-<br />
| [[Vlsi:PDFINAL|PDFINAL]]<br />
| 10/2000<br />
| Mietec 0.7um<br />
| Boon Hean Pui<br />
| Various sizes of individual photodiodes. 5x5 photodiode array.<br />
|-<br />
| [[Vlsi:chip1bfinal|chip1bfinal]]<br />
| 10/2001<br />
| Mietec 0.7um<br />
| Boon Hean Pui<br />
| Various sizes of individual photodiodes. 5x5 photodiode array. Integrating pixel.<br />
|-<br />
| [[Vlsi:SplitPD1v3|SplitPD1v3]]<br />
| 12/2001<br />
| Mietec 0.7um<br />
| Steve Sharples<br />
| 20x2 photodiodes arranged as a knife edge detector.<br />
|-<br />
| [[Vlsi:CTRchip1v3|CTRchip1v3]]<br />
| 04/2002<br />
| Mietec 0.7um<br />
| Boon Hean Pui<br />
| Centroid detector with 5x5 integrating pixel array.<br />
|-<br />
| [[Vlsi:MLCv1|MLCv1]]<br />
| 05/2003<br />
| AMS CSI 0.35um<br />
| Przemek Dmochowski<br/> Boon Hean Pui<br />
| As PDFINAL. Log pixel lock-in.<br />
|-<br />
| [[Vlsi:MLCv2|MLCv2]]<br />
| 12/2003<br />
| AMS CSI 0.35um<br />
| Przemek Dmochowski<br/> Roger Light<br/> Mark Pitter<br />
| Log pixel lock-in, integrating lock-in, 4x4 pixel parallel camera, 8x4 column parallel camera.<br />
|-<br />
| [[Vlsi:PC2|PC2]]<br />
| 12/2003<br />
| AMS C35 0.35um<br />
| Fred Gu<br/> Roger Light<br/> Mark Pitter<br />
| 64x64 pixel log feedback camera. 2x2 integrating lock-in. Band pass filter, low pass filter.<br />
|-<br />
| [[Vlsi:PC3|PC3]]<br />
| 02/2004<br />
| AMS C35 0.35um<br />
| Przemek Dmochowski<br/> Proust Li<br/> Roger Light<br/> Mark Pitter<br/> Steve Sharples<br />
| 64x64 pixel log feedback camera. Photoacoustic circuits with split photodiodes. 2x2 log feedback camera. Differential pair mixer. Comparator.<br />
|-<br />
| [[Vlsi:DOP1|DOP1]]<br />
| 09/2004<br />
| AMS C35 0.35um<br />
| Fred Gu<br/> David He<br/> Chayut Kongsavatsak<br/> Proust Li<br/> Roger Light<br/> Kuldip Modha<br />
| 16x1 front end and digital filtering. 10-bit SAR ADC. Two stage f/b amplifier. HDA and GM-C to give band pass filter. Darlington pair amplified photodiode.<br />
|-<br />
| [[Vlsi:RF1|RF1]]<br />
| 04/2005<br />
| AMS C35 0.35um<br />
| Frank Dong<br/> Fred Gu<br/> Proust Li<br/> Kuldip Modha<br/> Robbie ???<br />
| Three pixel front ends. 5.7GHz frequency divider. UWB low noise amplifier, UWB pulse generator. 5GHz mixer.<br />
|-<br />
| [[Vlsi:IL4|IL4]]<br />
| 09/2005<br />
| AMS C35 0.35um<br />
| Roger Light<br />
| 128x128 integrating pixel camera.<br />
|-<br />
| [[Vlsi:MLCv5|MLCv5]]<br />
| 09/2005<br />
| AMS C35 0.35um<br />
| Przemek Dmochowski<br />
| 24x32 high speed lock-in camera.<br />
|-<br />
| [[Vlsi:DOP2|DOP2]]<br />
| 12/2005<br />
| AMS C35 0.35um<br />
| Fred Gu<br/> Chayut Kongsavatsak<br />
| 32x32 feedback frontend no digital processing. Analogue processing.<br />
|-<br />
| [[Vlsi:Atto1a|Atto1a]]<br />
| 01/2006<br />
| AMS C35 0.35um<br />
| Frank Dong<br/> David He<br/> Mark Pitter<br />
| Four different 16x16 integrating pixel cameras. Differential front end pixel. Quadrature VCO.<br />
|-<br />
| [[Vlsi:Atto1b|Atto1b]]<br />
| 02/2006<br />
| AMS C35 0.35um<br />
| Vladimir Ivchenko<br/> Proust Li<br/> Kuldip Modha<br/> Mark Pitter<br />
| 64x64 integrating pixel camera. UWB pulse generator. 6GHz amplifier, photodetector at 3GHz, 5GHz mixer. Ultrasound pulse receiver / op-amps.<br />
|-<br />
| [[Vlsi:iWFS1|iWFS1]]<br />
| 09/2006<br />
| AMS C35 0.35um<br />
| David He<br/> Proust Li<br/> Roger Light<br/> Ian Stockford<br />
| 4 by 32x32 integrating pixel cameras. 4 by 1x1 integrating pixel camera. Inter-digitated photodiode. Differential front end.<br />
|-<br />
| [[Vlsi:PC4|PC4]]<br />
| 09/2006<br />
| AMS C35 0.35um<br />
| Nick Johnston<br />
| 64x64 log feedback pixel with gated averager.<br />
|-<br />
| [[Vlsi:UPR2|UPR2]]<br />
| ??/????<br />
| AMS C35 0.35um<br />
| Vladimir Ivchenko<br />
| ???<br />
|-<br />
| [[Vlsi:BVIPS1|BVIPS1]]<br />
| ??/????<br />
| AMS C35 0.35um<br />
| John Himsworth, Frank Lin<br />
| 64x1 main array using log pixels, shared photodiodes for 8x1 linear TIA, 32x1 log pixel with w-filters, re-layout of DOP2_qg, 4x1 op-amp I->Vs<br />
|-<br />
| [[Vlsi:RF2|RF2]]<br />
| ??/????<br />
| AMS C35 0.35um<br />
| ???<br />
| ???<br />
|-<br />
| [[Vlsi:SPAD1|SPAD1]]<br />
| ??/????<br />
| UMC L180<br />
| ???<br />
| ???<br />
|-<br />
| [[Vlsi:Atto2|Atto2]]<br />
| 12/2007<br />
| AMS C35 0.35um<br />
| Nick Johnston, Roger Light, Mark Pitter<br />
| 64x1 integrating camera with four very large integration capacitors.<br />
|-<br />
| [[Vlsi:iWFS2|iWFS2]]<br />
| ??/????<br />
| AMS C35 0.35um<br />
| Kuldip Modha<br />
| ????<br />
|-<br />
| [[Vlsi:Atto1c|Atto1c]]<br />
| 10/2008<br />
| AMS C35 0.35um<br />
| Nick Johnston, Samuel Achamfuo-Yeboah<br />
| Atto1c. MLCv6FE test pixel<br />
|}</div>Samuel Achamfuo-Yeboahhttps://optics.eee.nottingham.ac.uk/w/index.php?title=Vlsi:Chips&diff=373Vlsi:Chips2008-10-10T13:03:02Z<p>Samuel Achamfuo-Yeboah: Added atto1c to the bottom of the list</p>
<hr />
<div>== Chips Fabricated to Date ==<br />
<br />
{| class="gallery"<br />
|-<br />
! Chip Name<br />
! Date<br />
! Process<br />
! Designers<br />
! Brief Contents<br />
|-<br />
| [[Vlsi:PDFINAL|PDFINAL]]<br />
| 10/2000<br />
| Mietec 0.7um<br />
| Boon Hean Pui<br />
| Various sizes of individual photodiodes. 5x5 photodiode array.<br />
|-<br />
| [[Vlsi:chip1bfinal|chip1bfinal]]<br />
| 10/2001<br />
| Mietec 0.7um<br />
| Boon Hean Pui<br />
| Various sizes of individual photodiodes. 5x5 photodiode array. Integrating pixel.<br />
|-<br />
| [[Vlsi:SplitPD1v3|SplitPD1v3]]<br />
| 12/2001<br />
| Mietec 0.7um<br />
| Steve Sharples<br />
| 20x2 photodiodes arranged as a knife edge detector.<br />
|-<br />
| [[Vlsi:CTRchip1v3|CTRchip1v3]]<br />
| 04/2002<br />
| Mietec 0.7um<br />
| Boon Hean Pui<br />
| Centroid detector with 5x5 integrating pixel array.<br />
|-<br />
| [[Vlsi:MLCv1|MLCv1]]<br />
| 05/2003<br />
| AMS CSI 0.35um<br />
| Przemek Dmochowski<br/> Boon Hean Pui<br />
| As PDFINAL. Log pixel lock-in.<br />
|-<br />
| [[Vlsi:MLCv2|MLCv2]]<br />
| 12/2003<br />
| AMS CSI 0.35um<br />
| Przemek Dmochowski<br/> Roger Light<br/> Mark Pitter<br />
| Log pixel lock-in, integrating lock-in, 4x4 pixel parallel camera, 8x4 column parallel camera.<br />
|-<br />
| [[Vlsi:PC2|PC2]]<br />
| 12/2003<br />
| AMS C35 0.35um<br />
| Fred Gu<br/> Roger Light<br/> Mark Pitter<br />
| 64x64 pixel log feedback camera. 2x2 integrating lock-in. Band pass filter, low pass filter.<br />
|-<br />
| [[Vlsi:PC3|PC3]]<br />
| 02/2004<br />
| AMS C35 0.35um<br />
| Przemek Dmochowski<br/> Proust Li<br/> Roger Light<br/> Mark Pitter<br/> Steve Sharples<br />
| 64x64 pixel log feedback camera. Photoacoustic circuits with split photodiodes. 2x2 log feedback camera. Differential pair mixer. Comparator.<br />
|-<br />
| [[Vlsi:DOP1|DOP1]]<br />
| 09/2004<br />
| AMS C35 0.35um<br />
| Fred Gu<br/> David He<br/> Chayut Kongsavatsak<br/> Proust Li<br/> Roger Light<br/> Kuldip Modha<br />
| 16x1 front end and digital filtering. 10-bit SAR ADC. Two stage f/b amplifier. HDA and GM-C to give band pass filter. Darlington pair amplified photodiode.<br />
|-<br />
| [[Vlsi:RF1|RF1]]<br />
| 04/2005<br />
| AMS C35 0.35um<br />
| Frank Dong<br/> Fred Gu<br/> Proust Li<br/> Kuldip Modha<br/> Robbie ???<br />
| Three pixel front ends. 5.7GHz frequency divider. UWB low noise amplifier, UWB pulse generator. 5GHz mixer.<br />
|-<br />
| [[Vlsi:IL4|IL4]]<br />
| 09/2005<br />
| AMS C35 0.35um<br />
| Roger Light<br />
| 128x128 integrating pixel camera.<br />
|-<br />
| [[Vlsi:MLCv5|MLCv5]]<br />
| 09/2005<br />
| AMS C35 0.35um<br />
| Przemek Dmochowski<br />
| 24x32 high speed lock-in camera.<br />
|-<br />
| [[Vlsi:DOP2|DOP2]]<br />
| 12/2005<br />
| AMS C35 0.35um<br />
| Fred Gu<br/> Chayut Kongsavatsak<br />
| 32x32 feedback frontend no digital processing. Analogue processing.<br />
|-<br />
| [[Vlsi:Atto1a|Atto1a]]<br />
| 01/2006<br />
| AMS C35 0.35um<br />
| Frank Dong<br/> David He<br/> Mark Pitter<br />
| Four different 16x16 integrating pixel cameras. Differential front end pixel. Quadrature VCO.<br />
|-<br />
| [[Vlsi:Atto1b|Atto1b]]<br />
| 02/2006<br />
| AMS C35 0.35um<br />
| Vladimir Ivchenko<br/> Proust Li<br/> Kuldip Modha<br/> Mark Pitter<br />
| 64x64 integrating pixel camera. UWB pulse generator. 6GHz amplifier, photodetector at 3GHz, 5GHz mixer. Ultrasound pulse receiver / op-amps.<br />
|-<br />
| [[Vlsi:iWFS1|iWFS1]]<br />
| 09/2006<br />
| AMS C35 0.35um<br />
| David He<br/> Proust Li<br/> Roger Light<br/> Ian Stockford<br />
| 4 by 32x32 integrating pixel cameras. 4 by 1x1 integrating pixel camera. Inter-digitated photodiode. Differential front end.<br />
|-<br />
| [[Vlsi:PC4|PC4]]<br />
| 09/2006<br />
| AMS C35 0.35um<br />
| Nick Johnston<br />
| 64x64 log feedback pixel with gated averager.<br />
|-<br />
| [[Vlsi:UPR2|UPR2]]<br />
| ??/????<br />
| AMS C35 0.35um<br />
| Vladimir Ivchenko<br />
| ???<br />
|-<br />
| [[Vlsi:BVIPS1|BVIPS1]]<br />
| ??/????<br />
| AMS C35 0.35um<br />
| John Himsworth, Frank Lin<br />
| 64x1 main array using log pixels, shared photodiodes for 8x1 linear TIA, 32x1 log pixel with w-filters, re-layout of DOP2_qg, 4x1 op-amp I->Vs<br />
|-<br />
| [[Vlsi:RF2|RF2]]<br />
| ??/????<br />
| AMS C35 0.35um<br />
| ???<br />
| ???<br />
|-<br />
| [[Vlsi:SPAD1|SPAD1]]<br />
| ??/????<br />
| UMC L180<br />
| ???<br />
| ???<br />
|-<br />
| [[Vlsi:Atto2|Atto2]]<br />
| 12/2007<br />
| AMS C35 0.35um<br />
| Nick Johnston, Roger Light, Mark Pitter<br />
| 64x1 integrating camera with four very large integration capacitors.<br />
|-<br />
| [[Vlsi:iWFS2|iWFS2]]<br />
| ??/????<br />
| AMS C35 0.35um<br />
| Kuldip Modha<br />
| ????<br />
|-<br />
| [[Vlsi:atto1c|atto1c]]<br />
| 10/2008<br />
| AMS C35 0.35um<br />
| Nick Johnson, Samuel Achamfuo-Yeboah<br />
| Atto1c. MLCv6FE test pixel<br />
|}</div>Samuel Achamfuo-Yeboah