Input/Output Control

From HELIOS Digital DAQ
Revision as of 20:33, November 9, 2019 by Ttang (talk | contribs) (Created page with "= Input/Output Controllers (IOCs) [MVME5500] = Seven (7) IOCs, model type MVME5500, were purchased for the HELIOS acquisition. A full list of the HELIOS IOCs and their curren...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Input/Output Controllers (IOCs) [MVME5500]

Seven (7) IOCs, model type MVME5500, were purchased for the HELIOS acquisition. A full list of the HELIOS IOCs and their current settings can be found here HELIOS IOC Settings.

Due to an updated ethernet part on the board they required an updated board support package (BSP) from 1.2/1 -> 1.2/3. This was completed (after an additional update of VxWorks from 5.5 -> 5.5.2 (??)) by Andrew Johnson of APS. ADDITIONAL DETAILS ARE REQUIRED

One of these new IOCs has been flashed with the new BSP/VxWorks. The rest must be flashed. The flashing procedure is below.

Flashing IOC

- Ensure that Flash JUMPER is set to FLASH1 on the IOC you wish to flash.

- Login to the IOC you wish to flash

telnet ts <location>

where location is typically 20## from 01 - 99.

- Load the new bootrom of choice, currently (June 2015) we are using

tftpGet -d/dev/enet1 -c192.168.1.20 -s192.168.1.2     -g192.168.1.1 -fdgs2/bootrom.mv5500

you should see the following

Network Loading from: /dev/enet1
Loading File: dgs2/bootrom.mv5500
Load Address: 00695000
Download Buffer Size = 00200000
Client IP Address      = 192.168.1.20
Server IP Address      = 192.168.1.2
Gateway IP Address     = 192.168.1.1
Subnet IP Address Mask = 255.255.255.0
Network File Load in Progress...
Bytes Received =&589520, Bytes Loaded =&589520
Bytes/Second   =&589520, Elapsed Time =1 Second(s)

This should take only a few seconds.

- Ensure that you are flashing the memory you are not booted to by executing flashShow and seeing

flashShow
Device-Name  Base-Address,Size  Device-Size,Count  Boot  Type
/dev/flash0  F2000000,02000000  01000000,00000002  No    Intel 28F128
/dev/flash1  FF800000,00800000  00400000,00000002  Yes   Intel 28F320

NEVER FLASH THE MEMORY YOU ARE BOOTING FROM!!!

- Flash the new bootrom

flashProgram -d/dev/flash0 -o01f00100 -nfff00 -v

The following should appear.

Source Starting/Ending Addresses      =00695000/00794EFF
Destination Starting/Ending Addresses =F3F00100/F3FFFFFF
Number of Effective Bytes             =000FFF00 (&1048320)
Program Flash Memory (Y/N)? Y
Virtual-Device-Number    =00
Manufacturer-Identifier  =89
Device-Identifier        =18
Virtual-Device-Number    =01
Manufacturer-Identifier  =89
Device-Identifier        =18
Address-Mask             =FE000000

- Switch jumper to newly flashed FLASH0

- Need to set a bunch of parameters and paths ?? Which of the below have to be unique ?? To set a value, ctrl-x to start reboot, then press any key. Type p to show the parameter settings as below. To modify these type c then for each line you wish to change type a . then type c again and make the appropriate change.

boot device          : gei
unit number          : 0 
processor number     : 0 
host name            : helios1
file name            : /global/devel/boot/mvme5500/vxWorks
inet on ethernet (e) : 192.168.1.20:ffffff00
host inet (h)        : 192.168.1.2
user (u)             : dgs
ftp password (pw)    : ###########
flags (f)            : 0x0 
target name (tn)     : ioc1
startup script (s)   : /global/devel/gretTop/9-22/dgsIoc/iocBoot/iocArray/vme01.HELIOS.cmd

A full list of the HELIOS IOCs and their current settings can be found here HELIOS IOC Settings.

What is done in the vme01.HELIOS.cmd file.

- Check to make sure that the new BSP is loaded (ctrl-x to autoboot)

>
>  ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
>  ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
>  ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
>       ]]]]]]]]]]]  ]]]]     ]]]]]]]]]]       ]]              ]]]]         (R)
>  ]     ]]]]]]]]]  ]]]]]]     ]]]]]]]]       ]]               ]]]]
>  ]]     ]]]]]]]  ]]]]]]]]     ]]]]]] ]     ]]                ]]]]
>  ]]]     ]]]]] ]    ]]]  ]     ]]]] ]]]   ]]]]]]]]]  ]]]] ]] ]]]]  ]]   ]]]]]
>  ]]]]     ]]]  ]]    ]  ]]]     ]] ]]]]] ]]]]]]   ]] ]]]]]]] ]]]] ]]   ]]]]
>  ]]]]]     ]  ]]]]     ]]]]]      ]]]]]]]] ]]]]   ]] ]]]]    ]]]]]]]    ]]]]
>  ]]]]]]      ]]]]]     ]]]]]]    ]  ]]]]]  ]]]]   ]] ]]]]    ]]]]]]]]    ]]]]
>  ]]]]]]]    ]]]]]  ]    ]]]]]]  ]    ]]]   ]]]]   ]] ]]]]    ]]]] ]]]]    ]]]]
>  ]]]]]]]]  ]]]]]  ]]]    ]]]]]]]      ]     ]]]]]]]  ]]]]    ]]]]  ]]]] ]]]]]
>  ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
>  ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]       Development System
>  ]]]]]]]]]]]]]]]]]]]]]]]]]]]]
>  ]]]]]]]]]]]]]]]]]]]]]]]]]]]       VxWorks version 5.5.2
>  ]]]]]]]]]]]]]]]]]]]]]]]]]]       KERNEL: WIND version 2.6
>  ]]]]]]]]]]]]]]]]]]]]]]]]]       Copyright Wind River Systems, Inc., 1984-2006
>
>                                CPU: Motorola MVME5500-0163 - MPC 7457.  Processor #0.
>                               Memory Size: 0x20000000.  BSP version 1.2/3.
>
>

IOC Errors and Issues

Cannot acquire boot file. Likely an issue with the ftp server (I believe is pure-ftpd ??). Solution was to kill 'bad' server as it was hogging the connection and start 'good' server by:

I killed the bad ftp server (K80proftpd) and started the good one
(S85pure-ftpd) and now the processor boots just fine.

At end of boot a lot of cannot save errors seem to pop up. Must figure out how to get this corrected. Is it simply permissions?

At end of boot usually get the following wierdness...why??

numMonitoredChans 5 firstMonitorCount 1 assignCount 7 firstConnectCount 3
numMonitoredChans 5 firstMonitorCount 1 assignCount 7 firstConnectCount 3
numMonitoredChans 5 firstMonitorCount 1 assignCount 7 firstConnectCount 3
numMonitoredChans 5 firstMonitorCount 1 assignCount 7 firstConnectCount 3
numMonitoredChans 31 firstMonitorCount 23 assignCount 39 firstConnectCount 31
numMonitoredChans 31 firstMonitorCount 23 assignCount 39 firstConnectCount 31
numMonitoredChans 31 firstMonitorCount 23 assignCount 39 firstConnectCount 31
numMonitoredChans 31 firstMonitorCount 23 assignCount 39 firstConnectCount 31
numMonitoredChans 31 firstMonitorCount 23 assignCount 39 firstConnectCount 31
numMonitoredChans 31 firstMonitorCount 23 assignCount 39 firstConnectCount 31
numMonitoredChans 31 firstMonitorCount 23 assignCount 39 firstConnectCount 31
numMonitoredChans 31 firstMonitorCount 23 assignCount 39 firstConnectCount 31


????

:readInt32: status=3, function=0, value=0
2016/05/31 17:30:22.558 VME04:DBG:dbg_card_number_RBV devAsynInt32 process read error    asynPortDriver:readInt32: status=3, function=7, value=0
2016/05/31 17:30:22.558 VME04:DBG:dbg_long_address_RBV devAsynInt32 process read error asynPortDriver:readInt32: status=3, function=1, value=0
2016/05/31 17:30:22.558 VME04:DBG:dbg_read_long_addr_RBV devAsynInt32 process read error asynPortDriver:readInt32: status=3, function=6, value=0
2016/05/31 17:30:22.624 VME04:DBG:dbg_value_RBV devAsynInt32 process read error asynPortDriver:readInt32:  status=3, function=2, value=0
2016/05/31 17:30:22.758 VME04:DBG:dbg_write_long_addr_RBV devAsynInt32 process read error  asynPortDriver:readInt32: status=3, function=5, value=0
iocRun: All initialization complete
value = 0 = 0x0