Recently in the lab we've had some problems thanks to a helpful software update rendering it impossible to connect to a spectrometer. This troubleshooting provides a record of my steps to diagnosing the problem. Hopefully shortening the process in the future. The spectrometer in question is a Bruker ELEXSYS E580/E680 hybrid connected to a HP/Bruker desktop running openSUSE 12.1 x64, with Xepr v2.6b53. You will need super user privileges for almost all of these commands.
If not installed getminicom
su -
Enter root password.
minicom
Make sure that the RS232cable is connected from the spectrometers RS1 port of the ACPU board (bottom left) to the PCs RS232 port. By default the serial port should be/dev/ttyS0if minicom is listening to anything else then change it. Do this by pressing Ctrl+A, O. Select A and change the device to the correct serial port. If you change the port exit minicom and reload it.
Otherwise turn on the spectrometers console (be careful with cooling water supplies, you dont want to burn out your microwave source), and minicomshould jump into life and read out the console's boot process
4X: SELF-TEST Rev. 1.8Duart1 test: completedMpu test: MC68040 completedClock test: completedMmu test: completedCalender test: completedCentronics test: not readyFpu test: completedEthernet test: completedFlash Bank0 : No FlashFlash Bank1 : No FlashChecking Memory: 0016 Mbytes RAM detectedOS-9/68K System BootstrapWill try to Boot from networkTo get the boot menu press EscNow trying to Boot from network.inetboot: using P4x (MC68360) Ethernet @ 0xFFD82C00 MTU=1500bootp: 0:40:98:0:10:57 broadcasting for serverbootp: got UDP src=00000000:68 dst=ffffffff:67 rewaitingbootp: retry 1 with new timeout=5 secondsbootp: 0:40:98:0:10:57 broadcasting for serverbootp: got UDP src=00000000:68 dst=ffffffff:67 rewaitingbootp: got UDP src=00000000:68 dst=ffffffff:67 rewaitingRetry after 5 rewaitRetry 2 with new timeout=0bootp: retry 2 with new timeout=5 secondsbootp: 0:40:98:0:10:57 broadcasting for serverbootp: got UDP src=00000000:68 dst=ffffffff:67 rewaitingbootp: retry 3 with new timeout=5 secondsbootp: 0:40:98:0:10:57 broadcasting for serverbootp: got UDP src=00000000:68 dst=ffffffff:67 rewaitingbootp: got UDP src=00000000:68 dst=ffffffff:67 rewaitingRetry after 5 rewaitRetry 4 with new timeout=30bootp: exiting after 5 retryThis error occurred during the Internet boot boot driver!The OS-9 error code is: #007:025.Now trying to Reconfigure the boot system.BOOT SYSTEM RECONFIGURATIONBoot drivers available:1 - Boot from Teac SCSI floppy drive2 - Boot from OMTI 5400 SCSI floppy drive3 - Boot from SCSI hard drive4 - Boot from SCSI tape drive5 - Boot from ROM6 - Boot from network7 - Boot from VMEbusThe priority of these boot drivers can be set below and will remainset even when power to your system is turned off. This prioritydetermines the order that the boot drivers will be selected when yoursystem is configured to boot automatically. It also determines theorder that they appear in the "boot driver menu" as well.The current system boot driver priority is: 6Enter the numbers of the boot drivers in the orderthat you want them prioritized. ->
Whereas it should read something like:
inetboot: using on-board MB86960 (NICE) MTU=1514
bootp: 0:20:15:1:0:13 broadcasting for serverbootp: recv waiting 50 ticksGOT BOOTP RESPONSE from server 128.141.250.202!My IP address will be: 128.141.227.182My tftp bootfile is: /dd/TFTPBOOT/os9bootMy bootfile size is: 528 (512-byte) blocksMy subnet mask is: 255.255.255.0<<no timeoffset tag>>tftp: fetch 528 blockstftp: got UDP src=808dcd3d:138 dst=808dffff:138 rewaiting
So there is clearly a bootp(boot-strap) or tftp(trivial file transfer protocol) problem.
bootp: 0:40:98:0:10:57 broadcasting for serverbootp: got UDP src=00000000:68 dst=ffffffff:67 rewaiting
src=00000000 means that a packet is being sent from a source with no IP address, which is what you'd expect from a spectrometer with no connection when it first boots. Whilst dst=ffffffff means that the packet is being sent to a broadcast address - ie anyone.
Check /etc/services and see if there are UDP entries for the bootstrapports. It should look like:
bootps 67/tcp # Bootstrap Protocol Serverbootps 67/udp # Bootstrap Protocol Serverbootpc 68/tcp # Bootstrap Protocol Clientbootpc 68/udp # Bootstrap Protocol Client
If bootp has been properly installed, note that DHCP uses the same ports.
Now see if the computer can "see" the packets from the spectrometer, in a terminal type
tcpdump -G 15 -i eth1 (or whatever the spectrometer port is)
This will listen to the port for 15 seconds and report any incoming packets
tcpdump: WARNING: eth1: no IPv4 address assignedtcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes07:18:33.126606 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:15:17:48:04:44 (oui Unknown), length 30007:18:36.129775 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:15:17:48:04:44 (oui Unknown), length 30007:18:42.135842 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:15:17:48:04:44 (oui Unknown), length 300
This tells us:
1) That no IP address has been assigned
2) That the computer is receiving a request every few seconds
Therefore the problem must be with bootstrap assigning the IP address of the spectrometer.
Let's go take a look at that then
nano /etc/bootptab
.allOS9P4X :sm=255.255.255.0:td=/:\:hd=/usr/xepr/AcquisitionServer/OS9/CPU/P4X/BOOTP:\:bs=auto:hn:bf=os9boot:vm=rfc1084:.allOS9P4X16MB :sm=255.255.255.0:td=/:\:hd=/usr/xepr/AcquisitionServer/OS9/CPU/P4X/BOOTP_16MB:\:bs=auto:hn:bf=os9boot:vm=rfc1084:
This gives the OS9 CPU boot locations. These look fine. bf=os9boot causes bootstrap to lookup bootfile.host and find the correct address
At the bottom of the file we have:
## individual hosts#E580:tc=.allOS9P4X16MB:ht=ethernet:ha=0x00409800008d:ip=192.168.1.10:Patternjet:tc=.allTNTPATJET:ht=ethernet:ha=0x0000ad022512:ip=192.168.1.11:Specjet:tc=.allTNTTSA:ht=ethernet:ha=0x0000ad030512:ip=192.168.1.12:
ifconfig eth1 downifconfig eth1 upifconfig -a
eth1 Link encap:Ethernet HWaddr 00:15:17:48:04:44inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0inet6 addr: fe80::215:17ff:fe48:444/64 Scope:LinkUP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1RX packets:179 errors:0 dropped:0 overruns:0 frame:0TX packets:521 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:61370 (59.9 Kb) TX bytes:166712 (162.8 Kb)Interrupt:17 Memory:f0000000-f0020000
eth1 has clearly now got a network connection!
Rerunning the tcpdump command does not give anything, showing no packages, which is what you'd expect from a connected spectrometer not desperately seeking an IP address.
Now let's try Xepr.
Acquisition > Connect to spectrometer
Nothing. Time out error. Restart the spectrometer and ensure thatminicomis still running in a terminal window
P4X: SELF-TEST Rev. 1.8Duart1 test: completedMpu test: MC68040 completedClock test: completedMmu test: completedCalender test: completedCentronics test: not readyFpu test: completedEthernet test: completedFlash Bank0 : No FlashFlash Bank1 : No FlashChecking Memory: 0016 Mbytes RAM detectedOS-9/68K System BootstrapWill try to Boot from networkTo get the boot menu press EscNow trying to Boot from network.inetboot: using P4x (MC68360) Ethernet @ 0xFFD82C00 MTU=1500bootp: 0:40:98:0:10:57 broadcasting for serverbootp: retry 1 with new timeout=5 secondsbootp: 0:40:98:0:10:57 broadcasting for serverbootp: got UDP src=00000000:68 dst=ffffffff:67 rewaitingbootp: retry 2 with new timeout=5 secondsbootp: 0:40:98:0:10:57 broadcasting for serverbootp: retry 3 with new timeout=5 secondsbootp: 0:40:98:0:10:57 broadcasting for serverbootp: exiting after 5 retryThis error occurred during the Internet boot boot driver!The OS-9 error code is: #007:025.
No joy. The console can still not find the network.
Try reinstalling Xepr server now that the bootstrap server is correctly installed.
This can be done with the command:
./usr/xepr/AcquisitionServer/admin/installServer
But make sure the server settings are correct first.
------------------------------------------------------------| Acquisition Server Installation || || V2.6 2002/07/15 HAB |------------------------------------------------------------Installing files for spectrometer communication:Removed lines from /etc/hostsAppended lines to /tmp/hosts.fragAppended lines to /etc/hostsInstalling files for spectrometer boot:SuSE Linux release: 12.1, using xinetdservice bootps: using template file 'bootps' ...Installed file /etc/xinetd.d/bootpsservice tftp: using template file 'tftp-SuSE-9.3' ...Installed file /etc/xinetd.d/tftpAppended lines to /tmp/bootptabAppended lines to /tmp/bootptabAppended lines to /tmp/bootptabInstalled file /etc/bootptabRemoved lines from /etc/exportsAppended lines to /etc/exportsInstalling spectrometers:Installing 'E580': updated, now processing spectrometer configuration file ...Removed lines from /usr/xepr/AcquisitionServer/OS9/Servers/E580/Spectrometer.iniRemoved lines from /usr/xepr/AcquisitionServer/OS9/Servers/E580/Spectrometer.iniRemoved lines from /usr/xepr/AcquisitionServer/OS9/Servers/E580/Spectrometer.iniRemoved lines from /usr/xepr/AcquisitionServer/OS9/Servers/E580/Spectrometer.iniAppended lines to /usr/xepr/AcquisitionServer/OS9/Servers/E580/Spectrometer.iniInstalling utilities for editing native OS-9 format files:Installed file /usr/bin/os9editInstalled file /usr/bin/os9viewRestarting system services:redirecting to systemctlredirecting to systemctlredirecting to systemctlredirecting to systemctlAcquisition Server installation completed.
Let's check the files changed by the installer to make sure that the installation was a success.
nano /etc/hosts
Has a lot of repeat entries in it from multiple attempts at installing the server, this was cleaned this up to:
# Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1 localhost.localdomain localhost127.0.0.2 epr-e680.domain.example.edu epr-e680192.168.1.1 XEPR192.168.1.10 E580## Addresses of secondary network interface and spectrometers#192.168.1.1 XEPR192.168.1.10 E580/etc/xinetd.d/tftp
The other files/etc/xinetd.d/bootps/etc/xinetd.d/tftp and/etc/exports all look as you would expect. Check/usr/xepr/AcquisitionServer/OS9/Servers/E580/Spectrometer.ini to check that the settings have been copied across.
Reboot the PC. Openminicomagain and turn on the spectrometer.
4X: SELF-TEST Rev. 1.8Duart1 test: completedMpu test: MC68040 completedClock test: completedMmu test: completedCalender test: completedCentronics test: not readyFpu test: completedEthernet test: completedFlash Bank0 : No FlashFlash Bank1 : No FlashChecking Memory: 0016 Mbytes RAM detectedOS-9/68K System BootstrapWill try to Boot from networkTo get the boot menu press EscNow trying to Boot from network.inetboot: using P4x (MC68360) Ethernet @ 0xFFD82C00 MTU=1500bootp: 0:40:98:0:10:57 broadcasting for serverGOT BOOTP RESPONSE from server 192.168.1.1!(epr-e680).My IP address will be: 192.168.1.10My tftp bootfile is: /usr/xepr/AcquisitionServer/OS9/CPU/P4X/BOOTP_16MB/os9bootMy bootfile size is: 1396 (512-byte) blocksMy subnet mask is: 255.255.255.0<<no timeoffset tag>>tftp: fetch 0 blockstftp: server response 192.168.1.1 port 37493tftp: expected 0: received 1395:400 blocks (698Kb)A valid OS-9 bootfile was found.---------------------------------------------------------------------------CPU Board Name: P4X---------------------------------------------------------------------------Starting ISP subsystem ...+4IP Routing Table:Add gateway = 0.0.0.0 gateway = 192.168.1.1 to NET routing list+8---------------------------------------------------------------------------Mounting '/xacq' (-m -r=1024 -w=1024) ... doneMounting '/dd' (-m -r=1024 -w=1024) ... doneMounting '/r0' (-m -r=1024 -w=1024) ... done---------------------------------------------------------------------------Mount Status 12:47:32OS-9 Remote Gid/Uid MountDevice System Map Point------ ------ -------- -----/xacq BootWS yes /usr/xepr/AcquisitionServer/OS9/dd BootWS yes /usr/xepr/AcquisitionServer/OS9/CPU/P4X/r0 BootWS yes /usr/xepr/AcquisitionServer/OS9/Servers/E580/r0---------------------------------------------------------------------------PROMPT=E580#PATH=/dd/CMDSHOME=/r0AcqSvCPURootPath=/ddAcqSvRootPath=/xacq/ServersAcqSvCPUName=P4XAcqSvHostName=E580AcqSvGExecDir = /xacq/Servers/CMDSAcqSvDataDirName = /r0PROMPT=E580#PATH=/dd/CMDSHOME=/r0AcqSvCPURootPath=/ddAcqSvRootPath=/xacq/ServersAcqSvCPUName=P4XAcqSvHostName=E580+22AcqSvG: 'AcqServerD' started ...---------------------------------------------------------------------------E580#
This looks like a successful console boot. Open Xepr and try to connect to the spectrometer. Success!


Comments
Additionally, I forgot to
Additionally, I forgot to mention, it's worth going into Yast > Firewall and changing the port on which the spectrometer is connected to an "Internal" zone, thereby allowing all traffic on all ports. If security is a priority and there is not a direct connection between PC and spectrometer then ports for bootp and tftp will need to be opened.
Add new comment