EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024 
<== Date ==> <== Thread ==>

Subject: Re: linux kernel module for mrfioc2 on MTCA
From: Michael Davidsaver via Tech-talk <tech-talk at aps.anl.gov>
To: 문건영(선형가속기팀) <gymun at postech.ac.kr>, Han Lee <jeonglee at lbl.gov>
Cc: 박소희 <sohee5746 at postech.ac.kr>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Sun, 8 Jan 2023 20:10:57 -0800
On 1/5/23 23:15, 문건영(선형가속기팀) via Tech-talk wrote:
I can distinguish the two EVRs after the IOC runs.

Is there any way to know before the IOC is implemented?
In an ideal world, the MTCA slot numbers would be reflected in Linux and be the best way to
know which card is which.  lspci would show this as "Physical Slot" [1].  Unfortunately,
If you don't see this then you are likely out of luck.

An EVR can be distinguished from an EVG by inspecting MRF specific identify registers.
The mrfioc2 driver does this test at startup.  imo. it is simpler to startup an IOC.

I don't know of a good way to distinguish two identical MRF cards in an unknown MTCA crate
without either removing one of them, causing an LED on one to blink, or connecting an
oscilloscope.

That said, I have found that the PCI bus id numbers are deterministic unless the physical
PCIe bus topology changes.  eg. by adding or removing bridge devices.  So with a set of
identical MTCA crate configurations, the PCI id numbers should be predictable.

A caveat to this is that some PCIe bus topology changes may be outside of your control
depending on how MTCA firmwares and Linux combine to handle bus enumeration.

[1] https://github.com/epics-modules/mrfioc2/blob/a8cb48d549b7aae13206cf2d168c6f1cfec2e1c4/documentation/lspci/mtca-evm-300.txt#L3


References:
linux kernel module for mrfioc2 on MTCA 문건영(선형가속기팀) via Tech-talk
Re: linux kernel module for mrfioc2 on MTCA Han Lee via Tech-talk
Re: linux kernel module for mrfioc2 on MTCA Han Lee via Tech-talk
RE: linux kernel module for mrfioc2 on MTCA 문건영(선형가속기팀) via Tech-talk

Navigate by Date:
Prev: Re: Scan rate '.01 second' not achievable Michael Davidsaver via Tech-talk
Next: Understanding Asyn-based motor controller driver Abdalla Ahmad via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024 
Navigate by Thread:
Prev: RE: linux kernel module for mrfioc2 on MTCA 문건영(선형가속기팀) via Tech-talk
Next: Re: linux kernel module for mrfioc2 on MTCA Han Lee via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024 
ANJ, 10 Feb 2023 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·