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  <20182019  2020  2021  2022  2023  2024  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  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: mrfioc2 Linux driver
From: Steve Kinder - UKRI STFC <[email protected]>
To: Michael Davidsaver <[email protected]>
Cc: EPICS <[email protected]>
Date: Fri, 10 Aug 2018 15:28:33 +0000
This sounds similar to a possible 'endian' issue discussed off tech-talk with someone at Diamond. I shall attempt to paraphrase and/or quote that discussion. They found that with an earlier version of mrfioc2, 2-1-0, "the default endian tests or the firmware cause the driver to use native order instead of big endian". The solution applied there was to modify mrfCommonIO.h, redefining "NAT_ macros to be_ functions". I have applied suggested patches but the problem seen when calling mrmEVRSetupPCI hasn't been addressed yet. Just passing this limited description on in the hope that it may help identify the cause of the problem.


Steve


________________________________
From: Michael Davidsaver <[email protected]>
Sent: 10 August 2018 13:14:11
To: Kinder, Steve (STFC,DL,TECH)
Cc: EPICS
Subject: Re: mrfioc2 Linux driver

Steve, It looks like the value read from the Version register is backwards. 0x17 should be the MSB.  What does "uname -r" show?

On Fri, Aug 10, 2018, 4:37 AM Steve Kinder - UKRI STFC <[email protected]<mailto:[email protected]>> wrote:
Sorry to have more questions. But I am going in the right direction.


On calling the setup from the IOC I now get:


epics> mrmEvrSetupPCI("EVR-01", "81:0.0")
Device EVR-01  129:0.0 slot=6
Using IRQ 88
FWVersion 0x07020617
Error: Firmware does not correspond to an EVR

Is this a symptom of using 2-2-0? Or is there some simpler explanation/solution? Sounds like the firmware isn't compatible with the support module and/or driver?


Steve


________________________________
From: [email protected]<mailto:[email protected]> <[email protected]<mailto:[email protected]>> on behalf of Steve Kinder - UKRI STFC <[email protected]<mailto:[email protected]>>
Sent: 07 August 2018 16:40:53
To: [email protected]<mailto:[email protected]>
Subject: mrfioc2 Linux driver

Hello all


I am trying to get an MRF PCIe-EVR-300DC configured and working on Linux using mrfioc2. I think I have an IOC built. I think I have some understanding of the parameters to mrmEvrSetupPCI(EVR-01, 1, 0, 0, 0). I could well be wrong on those but that isn't the source of my immediate problem. Executing the previous call gives:


Can't open /sys/module/mrf/parameters/interfaceversion in order to read kernel module interface version. Is kernel module loaded?


I found some documentation that indicates an MRF kernel driver is also required:


$ make -C /location/of/mrmShared/linux \

KERNELDIR=/lib/modules/`uname -r`/build modules_install

$ sudo depmod -a

$ sudo modprobe mrf


I seem to need to execute the first line as root or I get permissions problems. However then I get:


# make -C /home/controls/work/R3.14.12.5/support/mrfioc2/3-0-0/mrmShared/linux KERNELDIR=/lib/modules/`uname -r`/build modules_install
make: Entering directory `/home/controls/work/R3.14.12.5/support/mrfioc2/3-0-0/mrmShared/linux'
make -C /lib/modules/3.10.0-514.6.1.el7.x86_64/build M=/home/controls/work/R3.14.12.5/support/mrfioc2/3-0-0/mrmShared/linux modules_install
make[1]: Entering directory `/usr/src/kernels/3.10.0-514.6.1.el7.x86_64'
Makefile:641: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler
  DEPMOD  3.10.0-514.6.1.el7.x86_64
make[1]: Leaving directory `/usr/src/kernels/3.10.0-514.6.1.el7.x86_64'
make: Leaving directory `/home/controls/work/R3.14.12.5/support/mrfioc2/3-0-0/mrmShared/linux'


The documentation dates back to 2015, Rev 7, so may be out of date?


Any advice/help would be much appreciated. Further documentation?


My kernel is 3.10.0-514.6.1.el7.x86_64, mrfioc2 3-0-0


Thanks


Steve


d
o
m
o
d
p
r
o
b
e
m
r
f


Replies:
Re: mrfioc2 Linux driver Michael Davidsaver
References:
mrfioc2 Linux driver Steve Kinder - UKRI STFC
Re: mrfioc2 Linux driver Steve Kinder - UKRI STFC
Re: mrfioc2 Linux driver Michael Davidsaver

Navigate by Date:
Prev: Re: mrfioc2 Linux driver Steve Kinder - UKRI STFC
Next: Re: mrfioc2 Linux driver Michael Davidsaver
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  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: mrfioc2 Linux driver Steve Kinder - UKRI STFC
Next: Re: mrfioc2 Linux driver Michael Davidsaver
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  <20182019  2020  2021  2022  2023  2024 
ANJ, 14 Aug 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·