I don't think this expected. I do not see the behavior on my cameras (though they use PCIE rather than USB). We just purchased some new units, I can try connecting them via USB and let you know if I see the same behavior.
It may be worth trying to remove the udev rule file and try running the IOC as root, just to see if the udev adding/removing is a potential cause for the freeze you are seeing.
If I run
without any application accessing the camera I run udevadm monitor
I see that the the camera with remove/unbind and then add/bind spontaneously at random intervals.
Is this normal ??????
John
KERNEL[252737.012467] remove /devices/pci0000:00/0000:00:14.0/usb2/2-9/2-9:1.0 (usb)
KERNEL[252737.012766] unbind /devices/pci0000:00/0000:00:14.0/usb2/2-9 (usb)
KERNEL[252737.012816] remove /devices/pci0000:00/0000:00:14.0/usb2/2-9 (usb)
UDEV [252737.016445] remove /devices/pci0000:00/0000:00:14.0/usb2/2-9/2-9:1.0 (usb)
KERNEL[252737.248065] add /devices/pci0000:00/0000:00:14.0/usb2/2-9 (usb)
KERNEL[252737.249020] add /devices/pci0000:00/0000:00:14.0/usb2/2-9/2-9:1.0 (usb)
KERNEL[252737.249071] bind /devices/pci0000:00/0000:00:14.0/usb2/2-9 (usb)
UDEV [252737.249934] unbind /devices/pci0000:00/0000:00:14.0/usb2/2-9 (usb)
UDEV [252737.250662] remove /devices/pci0000:00/0000:00:14.0/usb2/2-9 (usb)
UDEV [252737.256154] add /devices/pci0000:00/0000:00:14.0/usb2/2-9 (usb)
UDEV [252737.257899] add /devices/pci0000:00/0000:00:14.0/usb2/2-9/2-9:1.0 (usb)
UDEV [252737.262626] bind /devices/pci0000:00/0000:00:14.0/usb2/2-9 (usb)
From: John Dobbins <john.dobbins at cornell.edu>
Sent: Thursday, June 12, 2025 12:23 PM
To: Mark Rivers <rivers at cars.uchicago.edu>; EPICS tech-talk <tech-talk at aps.anl.gov>; Wlodek, Jakub <jwlodek at bnl.gov>
Subject: Re: Retiga E7 and ADKinetix
I can start image collection, but it stops after some random number of images, measured in hundreds.
Says Acquire = Collecting but image counter stuck.
John
From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: Thursday, June 12, 2025 11:03 AM
To: John Dobbins <john.dobbins at cornell.edu>; EPICS tech-talk <tech-talk at aps.anl.gov>; Wlodek, Jakub <jwlodek at bnl.gov>
Subject: RE: Retiga E7 and ADKinetix
It sounds like the header files or source code are not compatible with the version of the library in the distribution.
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of John Dobbins via Tech-talk
Sent: Thursday, June 12, 2025 10:03 AM
To: EPICS tech-talk <tech-talk at aps.anl.gov>; Wlodek, Jakub <jwlodek at bnl.gov>; John Dobbins <john.dobbins at cornell.edu>
Subject: Re: Retiga E7 and ADKinetix
The same hack also allows the IOC to run.
John
If I do ldd on the EPICS built FanSpeedAndTemperature I see it points to
libpvcam.so.2 => [ ... ]/ADKinetix/lib/linux-x86_64/libpvcam.so.2
I then copy libpvcam.* from
/opt/pvcam/library/x86_64/
to
[...]/ADKinetix/lib/linux-x86_64
And my EPICS built version of FanSpeedAndControl now works
What is going on?
John
I have the latest ADKinetix source code.
I modified ADKinetix::ADKinetix to just retrieve the camera name, following
/opt/pvcam/sdk/examples/code_samples
However, the returned name is nonsense. Each run returns a different nonsense result. This was true before my modifications also.
----------
I then did the following:
I verify that I can successfully run
/opt/pvcam/sdk/examples/code_samples/bin/linux-x86_64/release/FanSpeedAndTemperature
Then I copied the example source files
FanSppecandTemperature.cpp
Common.cpp
Common.h
version.h
to
ADKinetix/kinetixApp/src
And I add these lines to the Makefile
PROD_HOST += FanSpeedAndTemperature
FanSpeedAndTemperature_LIBS += pvcam
FanSpeedAndTemperature_SRCS += FanSpeedAndTemperature.cpp
FanSpeedAndTemperature_SRCS += Common.cpp
Which builds FanSpeedAndTemperature using the EPICS build system
The version of FanSpeedAndTemeprature built in this way has the same behavior, outputs a random nonsense name
PVCAM initialized
Number of cameras found: 1
Camera 0 name: '��b"�'
I don't know how to proceed. Any advice appreciated.
John
I have a new Teledyne Retiga E7.
I first tested on windows using the PVCAM software and the Beacon software.
Next on Linux, Alma 9, I verified that /opt/pvcam/bin/PVCamTest/x86_64/'PVCanTestCli succeeds.
Then using ADKinetix R1-1, base-7.0.6 , areaDetector-R3-13 I get a segfault (see below)
What should I do next?
John Dobbins
Research Support Specialist
Cornell High Energy Synchrotron Source
Cornell University
www.chess.cornell.edu
[root@lnx591 iocKinetix]# ../../bin/linux-x86_64/kinetixApp st.cmd
#!../../bin/linux-x86_64/kinetixApp
< /epics/common/xf31id1-lab3-ioc1-netsetup.cmd
Can't open /epics/common/xf31id1-lab3-ioc1-netsetup.cmd: No such file or directory
errlogInit(20000)
< envPaths
epicsEnvSet("IOC","iocKinetix")
epicsEnvSet("TOP","/nfs/chess/epics/det/support_alma/areaDetector-R3-13/ADKinetix/iocs/kinetixIOC")
epicsEnvSet("ADKINETIX","/nfs/chess/epics/det/support_alma/areaDetector-R3-13/ADKinetix/iocs/kinetixIOC/../..")
epicsEnvSet("SUPPORT","/nfs/chess/epics/det/support_alma")
epicsEnvSet("ASYN","/nfs/chess/epics/det/support_alma/asyn-R4-45")
epicsEnvSet("AREA_DETECTOR","/nfs/chess/epics/det/support_alma/areaDetector-R3-13")
epicsEnvSet("ADSUPPORT","/nfs/chess/epics/det/support_alma/areaDetector-R3-13/ADSupport")
epicsEnvSet("ADCORE","/nfs/chess/epics/det/support_alma/areaDetector-R3-13/ADCore")
epicsEnvSet("AUTOSAVE","/nfs/chess/epics/det/support_alma/autosave-R5-11")
epicsEnvSet("BUSY","/nfs/chess/epics/det/support_alma/busy-R1-7-4")
epicsEnvSet("CALC","/nfs/chess/epics/det/support_alma/calc-R3-7-5")
epicsEnvSet("SNCSEQ","/nfs/chess/epics/det/support_alma/seq-R2-2-9")
epicsEnvSet("SSCAN","/nfs/chess/epics/det/support_alma/sscan-R2-11-5")
epicsEnvSet("DEVIOCSTATS","/nfs/chess/epics/det/support_alma/iocStats-3-1-16")
epicsEnvSet("EPICS_BASE","/nfs/chess/epics/det/base-7.0.6")
dbLoadDatabase("/nfs/chess/epics/det/support_alma/areaDetector-R3-13/ADKinetix/iocs/kinetixIOC/dbd/kinetixApp.dbd")
kinetixApp_registerRecordDeviceDriver(pdbbase)
# Prefix for all records
epicsEnvSet("PREFIX", "RE7")
# The port name for the detector
epicsEnvSet("PORT", "KTX")
# The queue size for all plugins
epicsEnvSet("QSIZE", "20")
# The maximum number of time series points in the NDPluginStats plugin
epicsEnvSet("NCHANS", "2048")
# The maximum number of frames buffered in the NDPluginCircularBuff plugin
epicsEnvSet("CBUFFS", "500")
# The search path for database files
epicsEnvSet("EPICS_DB_INCLUDE_PATH", "/nfs/chess/epics/det/support_alma/areaDetector-R3-13/ADCore/db")
ADKinetixConfig(0, "KTX")
Segmentation fault (core dumped)