0

I'm running REDHAWK 1.10 on a CentOS6.5 VM. I have the connection set to bridged and can locate the USRP by its IP address using: uhd_find_devices --args="addr= <ip address>"
I have a usrp2 with serial E5R1AS2UP

Here are the steps I take:

$ sudo $OSSIEHOME/bin/cleanomni
$ nodeBooter -D -debug 5
$ nodeBooter -d <location to USRP_UHD node>.xml -debug 5  

I have also run these commands as requested by the USRP:

sudo sysctl -w net.core.rmem_max=50000000  
sudo sysctl -w net.core.wmem_max=1048576

Relavant Console output thus far:

   2014-08-22 15:31:43 DEBUG USRP_UHD_i:980 - target device hint contains 3 values  
    2014-08-22 15:31:43 DEBUG USRP_UHD_i:992 - Found 1 devices, choosing first one found.  
    -- Opening a USRP2/N-Series device...  
    -- Current recv frame size: 1472 bytes  
    -- Current send frame size: 1472 bytes  
    2014-08-22 15:31:45 DEBUG USRP_UHD_i:1107 - updateDeviceInfo|found 1 rx channels  
    2014-08-22 15:31:45 DEBUG USRP_UHD_i:1109 - updateDeviceInfo|found 1 tx channels  
    2014-08-22 15:31:45 DEBUG USRP_UHD_i:1144 - updateDeviceInfo|rx0|got clock rates     [3.125e+06:1e+08]  
    2014-08-22 15:31:45 DEBUG USRP_UHD_i:1186 - updateDeviceInfo|tx0|got clock rates [3.125e+06:1e+08]  
    2014-08-22 15:31:45 DEBUG USRP_UHD_i:748 - targetDeviceChanged|device is not started, must start device after initialization  
  • In the IDE, I click connect to REDHAWK_DEV, and start the device running under the custom node that I created.

By monitoring the ports of the USRP_UHD device, I see that my dataFloatTX_IN / dataShortTX_IN is 0 E/s as well as the rest of the columns, all of the other rows and columns are blank. This is strange since I want to RX and not TX; I had the FRONTEND::tune_allocation settings set to:

center freq = 9.91e7  
bandwidth = 1.0e6  
sample_rate = 1.0e6  
tuner_type = RX_DIGITIZER   

So then I tried using the steps outlined by pwolfram here: USRP_UHD source and sink for redhawk
I now have a waveform that contains a dataConverter as the assembly controller, AMFMDEMOD (2), and dataWriter (3). Running the waveform gives the error:

2014-08-22 14:46:25 ERROR ApplicationFactory_impl:1463 - Error in application creation; Failed to satisfy 'usesdevice' dependencies DCE:0dd76dd3-b44e-4e6a-b44a-896980682972for application 'USRP_Wave_234_134622508' 

I saw that this was in the usesdevice line so I double checked to make sure that the usesdevice id is equal to the ID of the USRP_UHD device, and that the frontend ID and USRP ID both match the DCE in the properties view.


Trace of the issue:

2014-08-25 15:07:12 TRACE ComponentInfo:863 - Done building component info from file /components/DataWriter/DataWriter.spd.xml
2014-08-25 15:07:12 TRACE ApplicationFactory_impl:2132 - Done building Component Info From SPD File
2014-08-25 15:07:12 TRACE ComponentInfo:983 - Instantiation property id = overwrite
2014-08-25 15:07:12 TRACE prop_utils:167 - overriding simple property id overwrite
2014-08-25 15:07:12 DEBUG ComponentInfo:1033 - Attempting to override property overwrite
2014-08-25 15:07:12 DEBUG ComponentInfo:1036 - Overriding property overwrite with value 1
2014-08-25 15:07:12 DEBUG ComponentInfo:1033 - Attempting to override property overwrite
2014-08-25 15:07:12 DEBUG ComponentInfo:1033 - Attempting to override property overwrite
2014-08-25 15:07:12 DEBUG ComponentInfo:1033 - Attempting to override property overwrite
2014-08-25 15:07:12 TRACE ComponentInfo:983 - Instantiation property id = filename
2014-08-25 15:07:12 TRACE prop_utils:167 - overriding simple property id filename
2014-08-25 15:07:12 DEBUG ComponentInfo:1033 - Attempting to override property filename
2014-08-25 15:07:12 DEBUG ComponentInfo:1036 - Overriding property filename with value /home/Jovianite/Desktop/USRP_Wave
2014-08-25 15:07:12 DEBUG ComponentInfo:1033 - Attempting to override property filename
2014-08-25 15:07:12 DEBUG ComponentInfo:1033 - Attempting to override property filename
2014-08-25 15:07:12 DEBUG ComponentInfo:1033 - Attempting to override property filename
2014-08-25 15:07:12 TRACE ApplicationFactory_impl:1040 - Application has 1 usesdevice dependencies
2014-08-25 15:07:12 TRACE prop_utils:509 - setting struct item FRONTEND::tuner_allocation::allocation_id
2014-08-25 15:07:12 TRACE prop_utils:509 - setting struct item FRONTEND::tuner_allocation::bandwidth
2014-08-25 15:07:12 TRACE prop_utils:509 - setting struct item FRONTEND::tuner_allocation::center_frequency
2014-08-25 15:07:12 TRACE prop_utils:509 - setting struct item FRONTEND::tuner_allocation::group_id
2014-08-25 15:07:12 TRACE prop_utils:509 - setting struct item FRONTEND::tuner_allocation::rf_flow_id
2014-08-25 15:07:12 TRACE prop_utils:509 - setting struct item FRONTEND::tuner_allocation::sample_rate
2014-08-25 15:07:12 TRACE prop_utils:509 - setting struct item FRONTEND::tuner_allocation::tuner_type
2014-08-25 15:07:12 TRACE AllocationManager_impl:134 - Servicing 1 allocation request(s)
2014-08-25 15:07:12 TRACE AllocationManager_impl:144 - Allocation request DCE:d8e4147c-2c86-11e4-99d3-080027dc953e contains 3 properties
2014-08-25 15:07:12 TRACE AllocationManager_impl:243 - Allocating against device DCE:d7a37203-11f1-4643-b5f9-c5549b36b8d1
2014-08-25 15:07:12 TRACE AllocationManager_impl:353 - Matching DCE:cdc5ee18-7ceb-4ae6-bf4c-31f983179b4d 'FRONTEND::TUNER' eq 'FRONTEND'
2014-08-25 15:07:12 TRACE AllocationManager_impl:248 - Matching failed
2014-08-25 15:07:12 DEBUG ApplicationFactory_impl:1060 - Failed to satisfy 'usesdevice' dependencies DCE:d8e4147c-2c86-11e4-99d3-080027dc953efor application 'USRP_Wave_237_140642295'
2014-08-25 15:07:12 TRACE ApplicationFactory_impl:528 - Unbinding the naming context
2014-08-25 15:07:12 TRACE Properties:85 - Destruction for properties
2014-08-25 15:07:12 TRACE PRF:312 - Deleting PRF containing 7 properties
2014-08-25 15:07:12 TRACE Properties:85 - Destruction for properties
2014-08-25 15:07:12 TRACE PRF:312 - Deleting PRF containing 3 properties
2014-08-25 15:07:12 TRACE Properties:85 - Destruction for properties
2014-08-25 15:07:12 TRACE PRF:312 - Deleting PRF containing 4 properties
2014-08-25 15:07:12 ERROR ApplicationFactory_impl:1463 - Error in application creation; Failed to satisfy 'usesdevice' dependencies DCE:d8e4147c-2c86-11e4-99d3-080027dc953efor application 'USRP_Wave_237_140642295'
2014-08-25 15:07:12 INFO  DomainManager_impl:1845 - Uninstalling application DCE:ca3d638e-b769-4bec-b950-4ff67c4e804e

Solution:

Next step is to make sure your GPP is running. The spd of the waveform needs to be edited as such:

<usesdevicedependencies>
<propertyref refid="DCE:<default value>" value="FRONTEND::TUNER"/>

The ::TUNER part needs to be added as it appears in your USRP_UHD properties tab.
Afterwards, you will have to adjust the values that you tune to based on whichever USRP you are using. The waveform then needs to be exported to the target sdr and then it can be launched. Using a trace on the node will tell you if your values need to be adjusted. I also removed the datawriter from the waveform because of how large the generated files were.

Cœur
  • 37,241
  • 25
  • 195
  • 267
  • 1
    The usesdevice id should not match the sca_compliant id from the overview tab. Your usesdevice id should be a randomly generated UUID with uuidgen. This id should also be used as the connectinterface id where you connect the UHD to the desired port in your DataConverter. As far as the usesdevice dependency failing, try turning the debug level up on the Domain Manager and the Device Manager to TRACE (or level 5) and then looking at the output. The device should tell you what it couldn't match – pwolfram Aug 25 '14 at 14:39
  • Not the connectinterface id, the deviceusedbyapplication usesrefid. The allocation id and the connectinterface id should match – pwolfram Aug 25 '14 at 14:47
  • Should I cd into $SDRROOT/ and run $uuid ? I was a bit confused on how I can get the uuid of a running instance. The output error that I pasted above is a result of debug level 5. I just didn't include the irrelevant parts of the trace. Also, thank you for your write up in the other post. It was extremely helpful in understanding how you can get a device to connect with a waveform. – user3508688 Aug 25 '14 at 16:04
  • I ran uuid in the parent USRP_UHD folder in my SDRROOT (not the cpp). I used that uid in the two places you mentioned. The output with a trace threw this error: 2014-08-25 12:26:39 ERROR ApplicationFactory_impl:1463 - Error in application creation; Failed to satisfy 'usesdevice' dependencies DCE:dc155416-2c73-11e4-a098-080027dc953efor application 'USRP_Wave_237_112635549' ___ the uuid from cpp folder: ERROR ApplicationFactory_impl:1463 - Error in application creation; Failed to satisfy 'usesdevice' dependencies DCE:356b5a50-2c75-11e4-b55d-080027dc953efor application 'USRP_Wave_237_113331462' – user3508688 Aug 25 '14 at 16:36
  • 1
    No problem. It shouldn't matter where you run uuid/uuidgen, it isn't parsing anything, it's just generating a unique sequence. This uuid is then associated with a running instance of the Device (REDHAWK handles getting this reference for you based on your allocation in the waveform). The error you're seeing is essentially the watered down version of the problem. Before this in the trace output you should see the ApplicationFactory attempting to match the allocation request to the properties of the running USRP – pwolfram Aug 25 '14 at 18:33
  • I'll edit my original post with more of the trace. I think this is the relavant part: 2014-08-25 15:07:12 TRACE AllocationManager_impl:144 - Allocation request DCE:d8e4147c-2c86-11e4-99d3-080027dc953e contains 3 properties 2014-08-25 15:07:12 TRACE AllocationManager_impl:243 - Allocating against device DCE:d7a37203-11f1-4643-b5f9-c5549b36b8d1 2014-08-25 15:07:12 TRACE AllocationManager_impl:353 - Matching DCE:cdc5ee18-7ceb-4ae6-bf4c-31f983179b4d 'FRONTEND::TUNER' eq 'FRONTEND' 2014-08-25 15:07:12 TRACE AllocationManager_impl:248 - Matching failed Should I try using the d7a37203-11f1-....? – user3508688 Aug 25 '14 at 19:09
  • I tried uuidgen while the device was running and also tried using the d7a3 sequence as well but I ended up with the same issue:_____ 2014-08-25 15:20:42 TRACE AllocationManager_impl:144 - Allocation request DCE:d7a37203-11f1-4643-b5f9-c5549b36b8d1 contains 3 properties 2014-08-25 15:20:42 TRACE AllocationManager_impl:243 - Allocating against device DCE:d7a37203-11f1-4643-b5f9-c5549b36b8d1 2014-08-25 15:20:42 TRACE AllocationManager_impl:353 - Matching DCE:cdc5ee18-7ceb-4ae6-bf4c-31f983179b4d 'FRONTEND::TUNER' eq 'FRONTEND' 2014-08-25 15:20:42 TRACE AllocationManager_impl:248 - Matching failed – user3508688 Aug 25 '14 at 19:23
  • 1
    It appears in your allocation the device kind differs from that of the running USRP. Depending on which version of the USRP you have it can be either FRONTEND or FRONTEND::TUNER. Change yours to the other option and see if it will allocate, or at least get further into the process – pwolfram Aug 26 '14 at 16:56
  • I did this after I posted the trace yesterday. It gives the same error BUT, includes additional warnings on my configuration, and warning of no running GPP. I started up the GPP and then tweaked the numbers to get the data flowing. Thank you again so much for your help! I will edit the OP with the fix. – user3508688 Aug 26 '14 at 18:33

0 Answers0