Cannot start acquisition: SerDes PLL not locked

Hi all,

I have installed FMC-ADC software in a SPEC following this: https://ohwr.org/project/fmc-adc-100m14b4cha-sw/wikis/Software-setup-from-scratch

Apparently, it works well but when I run this command:

sudo ./libtools/fald-simple-acq -n 2 -b 2 -a 3 0x0100

output: ./libtools/fald-simple-acq: cannot start acquisition: Device or resource busy
dmesg: [ 3088.299374] fmc_adc_100m14b FmcAdc100m14b4cha-0100: Cannot start acquisition: SerDes PLL not locked

I think it’s a gateware error but I don’t know how fix it

Ubuntu 12, kernel 3.2.0
Release v4.1 - gateware 4.1
make
sudo make prereq_install
sudo make modules_install
sudo depmod -a
sudo modprobe spec
sudo modprobe fmc-adc
dmesg
[ 231.393807] spec 0000:01:00.0: probe for device 0001:0000
[ 231.393824] spec 0000:01:00.0: PCI INT A -> GSI 28 (level, low) -> IRQ 28
[ 231.393837] spec 0000:01:00.0: setting latency timer to 64
[ 231.397886] spec 0000:01:00.0: got file “fmc/spec-init.bin”, 1485236 (0x16a9b4) bytes
[ 231.589031] spec 0000:01:00.0: FPGA programming successful
[ 231.939454] spec 0000:01:00.0: mezzanine 0
[ 231.939460] Manufacturer: CERN
[ 231.939462] Product name: FmcAdc100m14b4cha
[ 236.433268] zio-core had been loaded
[ 236.445787] spec 0000:01:00.0: Gateware (fmc/spec-fmc-adc-100m14b.bin)
[ 236.445794] spec 0000:01:00.0: reprogramming with fmc/spec-fmc-adc-100m14b.bin
[ 236.671028] spec 0000:01:00.0: FPGA programming successful
[ 236.671450] spec 0000:01:00.0: Gateware successfully loaded
[ 236.671456] fmc_adc_100m14b FmcAdc100m14b4cha-0100: Spec Base addrs: irq_dmma:0x1400, dma_ctrl:0x1000, csr:0x1200
[ 236.721223] fmc_adc_100m14b FmcAdc100m14b4cha-0100: spec::fa_spec_init successfully executed
[ 236.721227] fmc_adc_100m14b FmcAdc100m14b4cha-0100: fa_spec_reset: resetting ADC core through Gennum.
[ 237.488780] fa_read_temp: Scratchpad: 65:03:4b:46:7f:ff:0b:10:56
[ 237.488790] fa_read_temp: Temperature 0x365 (12 bits: 54.312)
[ 237.491531] adc-100m14b adc-100m14b-0100: device loaded
[ 237.491537] fmc_adc_100m14b FmcAdc100m14b4cha-0100: fa_read_eeprom_calib succeeds.
[ 237.491943] spec 0000:01:00.0: Found VIC @ 0x1300
[ 237.492023] fmc_adc_100m14b FmcAdc100m14b4cha-0100: spec::fa_spec_setup_irqs successfully executed

~/Documentos/OHWR/fmc-adc-100m14b4cha-sw$ sudo ./tools/fau-trg-config --external --pre 10 --post 100 --nshots 2 adc-100m14b-0100
Sysfs path to device is: /sys/bus/zio/devices/adc-100m14b-0100
Writing 10 in /sys/bus/zio/devices/adc-100m14b-0100/cset0/trigger/pre-samples
Writing 100 in /sys/bus/zio/devices/adc-100m14b-0100/cset0/trigger/post-samples
Writing 2 in /sys/bus/zio/devices/adc-100m14b-0100/cset0/trigger/nshots
Writing 1 in /sys/bus/zio/devices/adc-100m14b-0100/cset0/trigger/external

~/Documentos/OHWR/fmc-adc-100m14b4cha-sw$ sudo ./tools/fau-acq-time --last adc-100m14b-0100
Sysfs path to device is: /sys/bus/zio/devices/adc-100m14b-0100
Last Trigger fired at 3.000000016
Last Acquisition end at 0.000000000
Acquisition time: -4.999999986

~/Documentos/OHWR/fmc-adc-100m14b4cha-sw$ sudo ./libtools/fald-simple-get-conf 0x0100
Output: Open ADC fmc-adc-100m14b4cha dev_id 0x0100 …
Get Trigger Configuration …
source: external
channel: 0
threshold: 0
polarity: 0
delay: 0
Get Acquisition Configuration …
n-shots: 1
post-sample: 16
pre-sample: 0
decimation: 1
frequency: 100000000Hz
n-bits: 14
Get Board Configuration …
./libtools/fald-simple-get-conf: cannot get board config: Capabilities not supported

~/Documentos/OHWR/fmc-adc-100m14b4cha-sw$ sudo ./libtools/fald-simple-acq -n 2 -b 2 -a 3 0x100
./libtools/fald-simple-acq: cannot start acquisition: Device or resource busy
dmesg: [ 3088.299374] fmc_adc_100m14b FmcAdc100m14b4cha-0100: Cannot start acquisition: SerDes PLL not locked

Thank you in advance.
Regards,
Daniel

Hi Daniel,

To me this looks more like a hardware error. Since you are using a stable gateware release, there is not much one can do about this, either the ADC chip on the mezzanine sends the sampling clock and the FPGA locks on it, or not.

I also noticed that you had problems with a fine-delay mezzanine, and a colleague of mine told me that you also had issues with a TDC mezzanine.

Is it possible that you have a faulty carrier perhaps? Do you have spares (SPEC, ADC) to try out?

Hi Dimitris,

I have more SPEC boards and another FMC ADC. I tried it with two different FMC ADC and the problem was the same. I can try with different SPEC boards.

Federico Vaga helped me concerning the FMC TDC and Fine Delay. We found SPEC didn’t recognise the FMC TDC because FRU was wrong and I had to create my own eeprom image and write it in the FMC TDC. After that, there weren’t more problems except a warning concerning the calibration.

The problem with the FMC Fine Delay was this error:

[ 318.812730] fmc_fine_delay FmcDelay1ns4cha-0100: Calibration hash
c42b3a21 is wrong (expected ffffffff)
[ 318.812738] fmc_fine_delay: probe of FmcDelay1ns4cha-0100 failed with
error -22

I did a trick to make it work but I’m trying to fix it properly.

Thank you for your answer.

Regards,
Daniel