I have an X410 device that I'm trying to update for use with UHD v4.4.0. It hasn't been used for a while, so at least several releases ago.

I followed the procedure in the X410 manual (https://files.ettus.com/manual/page_usrp_x4xx.html#x4xx_updating_filesystems_mender) to update the filesystem. After doing so, the unit boots as expected and it looks like it's using the correct filesystem; /etc/mender/artifact_info contains:

    artifact_name=v4.4.0.0_x4xx

However, UHD-based applications aren't able to communicate with the device. uhd_find_devices does function somewhat; when I run it on the X410 itself, it returns:

    root@ni-x4xx-XXXXXX:~# uhd_find_devices
    [INFO] [UHD] linux; GNU C++ version 9.2.0; Boost_107100; UHD_4.4.0.0-0-g5fac246b
    --------------------------------------------------
    -- UHD Device 0
    --------------------------------------------------
    Device Address:
        serial:
        claimed: False
        fpga:
        mgmt_addr: 127.0.0.1
        name:
        product:
        reachable: No
        type:

However, uhd_usrp_probe fails:

    root@ni-x4xx-XXXXXX:~# uhd_usrp_probe --args addr=127.0.0.1,type=x4xx
    [INFO] [UHD] linux; GNU C++ version 9.2.0; Boost_107100; UHD_4.4.0.0-0-g5fac246b
    Error: LookupError: KeyError: No devices found for ----->
    Device Address:
        addr: 127.0.0.1
        type: x4xx

I thought I might need to reload the FPGA image, so I tried to load the CG_400 image and got the following:

    root@ni-x4xx-XXXXXX:~# uhd_image_loader --args mgmt_addr=127.0.0.1,type=x4xx,fpga=CG_400     [INFO] [UHD] linux; GNU C++ version 9.2.0; Boost_107100; UHD_4.4.0.0-0-g5fac246b     No applicable UHD devices found[ERROR] [MPMD IMAGE LOADER] mpmd_image_loader only supports a single device.

I see the same results if I try to run uhd_usrp_probe from an external host using UHD v4.4.0. Since the uhg_image_loader output suggested an issue with MPM, I poked around and found that the usrp-hwd systemd unit (the MPM hardware daemon) is failing to finish startup. Its log output contains:

root@ni-x4xx-XXXXXX:~# journalctl -u usrp-hwd -f
    Feb 09 12:37:33 ni-x4xx-XXXXXX systemd[1]: Starting USRP Hardware Daemon (MPM)...     Feb 09 12:37:35 ni-x4xx-XXXXXX usrp_hwd.py[868]: [MPM.main] [INFO] Launching USRP/MPM, version: 4.4.0.0-g5fac246b     Feb 09 12:37:35 ni-x4xx-XXXXXX usrp_hwd.py[868]: [MPM.main] [INFO] Spawning RPC process...     Feb 09 12:37:35 ni-x4xx-XXXXXX systemd[1]: usrp-hwd.service: Supervising process 872 which is not our child. We'll most likely not notice when it exits.     Feb 09 12:37:35 ni-x4xx-XXXXXX usrp_hwd.py[868]: [MPM.main] [INFO] Spawning discovery process...     Feb 09 12:37:35 ni-x4xx-XXXXXX usrp_hwd.py[868]: [MPM.main] [INFO] Processes launched. Registering signal handlers.     Feb 09 12:37:35 ni-x4xx-XXXXXX usrp_hwd.py[868]: [MPM.PeriphManager] [INFO] Device serial number: YYYYYYY     Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      metal_uio_dev_open: No IRQ for device 1000100000.usp_rf_data_converter.     Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      metal_uio_dev_open: No IRQ for device 1000100000.usp_rf_data_converter.     Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      metal_uio_dev_open: No IRQ for device 1000100000.usp_rf_data_converter.     Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      metal_uio_dev_open: No IRQ for device 1000100000.usp_rf_data_converter.
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: error:
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]:  Requested block not available in XRFdc_SetThresholdClrMode
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: error:
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]:  Requested block not available in XRFdc_SetThresholdClrMode
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: error:
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]:  Requested block not available in XRFdc_SetThresholdClrMode
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: error:
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]:  Requested block not available in XRFdc_SetThresholdClrMode
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: error:
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]:  Requested block not available in XRFdc_SetThresholdClrMode
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: error:
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]:  Requested block not available in XRFdc_SetThresholdClrMode
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: error:
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]:  Requested block not available in XRFdc_SetThresholdClrMode
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: error:
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]:  Requested block not available in XRFdc_SetThresholdClrMode
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: error:
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]:  Requested block not available in XRFdc_SetThresholdClrMode
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: error:
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]:  Requested block not available in XRFdc_SetThresholdClrMode
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: error:
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]:  Requested block not available in XRFdc_SetThresholdClrMode
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: error:
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]:  Requested block not available in XRFdc_SetThresholdClrMode
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: DTC Scan T1
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      ADC0: 000000000000000000000000000111122222000000000000000000000000000*#000000000000000000000000001111322222000000000000000000000000000     Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      ADC2: 000000000000000000000000000000000000111122222000000000000000000#00000000*0000000000000000000000000001111222220000000000000000000     Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      ADC0: Marker: - 76, 0     Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      ADC2: Marker: - 76, 4     Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      SysRef period in terms of ADC T1s = 1152     Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      ADC target latency = 1228
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: DTC Scan T1
    Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      DAC0: 0000000000000000000000000000000000011112222200000000000000000000#000000*00000000000000000000000000001111222220000000000000000000     Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      DAC1: 00000000000000000000000000000000000000011112222000000000000000000000000#000*0000000000000000000000000000111132222000000000000000     Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      DAC0: Marker: - 51, 0     Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      DAC1: Marker: - 51, 0     Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      SysRef period in terms of DAC T1s = 2304     Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      DAC target latency = 800     Feb 09 12:37:39 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: error:     Error : DAC alignment target latency of 816 < minimum possible 816
    Feb 09 12:37:40 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:
    Feb 09 12:37:40 ni-x4xx-XXXXXX usrp_hwd.py[868]: DTC Scan T1
    Feb 09 12:37:40 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      ADC0: 0000000000000000000000000000111122222000000000000000000000000000*000000000000000000000000000111132222000000000000000000000000000     Feb 09 12:37:40 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      ADC2: 0000000000000000000000000000000000001111222220000000000000000000#0000000*0000000000000000000000000000111122222000000000000000000     Feb 09 12:37:40 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      ADC0: Marker: - 76, 0     Feb 09 12:37:40 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      ADC2: Marker: - 76, 4     Feb 09 12:37:40 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      SysRef period in terms of ADC T1s = 1152     Feb 09 12:37:40 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      ADC target latency = 1228
    Feb 09 12:37:40 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:
    Feb 09 12:37:40 ni-x4xx-XXXXXX usrp_hwd.py[868]: DTC Scan T1
    Feb 09 12:37:40 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      DAC0: 0000000000000000000000000000000000011113222220000000000000000000#0000000*0000000000000000000000000000111122222000000000000000000     Feb 09 12:37:40 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      DAC1: 000000000000000000000000000000000000000111132222000000000000000000000000#000*000000000000000000000000000011112222200000000000000     Feb 09 12:37:40 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      DAC0: Marker: - 51, 0     Feb 09 12:37:40 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      DAC1: Marker: - 51, 0     Feb 09 12:37:40 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      SysRef period in terms of DAC T1s = 2304     Feb 09 12:37:40 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: info:      DAC target latency = 800     Feb 09 12:37:40 ni-x4xx-XXXXXX usrp_hwd.py[868]: metal: error:     Error : DAC alignment target latency of 816 < minimum possible 816     Feb 09 12:39:03 ni-x4xx-XXXXXX systemd[1]: usrp-hwd.service: start operation timed out. Terminating.     Feb 09 12:39:03 ni-x4xx-XXXXXX usrp_hwd.py[868]: [MPM.kill] [INFO] Terminating pid: 872     Feb 09 12:39:03 ni-x4xx-XXXXXX usrp_hwd.py[868]: [MPM.kill] [INFO] Terminating pid: 873     Feb 09 12:39:03 ni-x4xx-XXXXXX systemd[1]: usrp-hwd.service: Killing process 872 (n/a) with signal SIGKILL.     Feb 09 12:39:03 ni-x4xx-XXXXXX systemd[1]: usrp-hwd.service: Failed with result 'timeout'.     Feb 09 12:39:03 ni-x4xx-XXXXXX systemd[1]: Failed to start USRP Hardware Daemon (MPM).

Anyone have any guidance on how I can resolve the MPM issue? I am fine with losing any state that is on the device in order to get it to work.

Thanks.

Jason
_______________________________________________
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com

Reply via email to