Пустые порты в RH с использованием USRP_UHD в работающем домене (REDHAWK 1.10)

Я запускаю REDHAWK 1.10 на виртуальной машине CentOS6.5. У меня установлено мостовое соединение, и я могу найти USRP по его IP-адресу, используя: uhd_find_devices --args="addr= <ip address>"
У меня есть usrp2 с серийным номером E5R1AS2UP.

Вот шаги, которые я предпринимаю:

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

Я также выполнил эти команды по запросу USRP:

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

Релевантный консольный вывод на данный момент:

   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  
  • В среде IDE я нажимаю «Подключиться к REDHAWK_DEV» и запускаю устройство, работающее под пользовательским узлом, который я создал. <час>

Контролируя порты устройства USRP_UHD, я вижу, что мой dataFloatTX_IN / dataShortTX_IN равен 0 E/s, как и остальные столбцы, все остальные строки и столбцы пусты. Это странно, так как я хочу RX, а не TX; У меня были установлены настройки FRONTEND::tune_allocation:

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

Итак, я попытался использовать шаги, описанные pwolfram здесь: источник и приемник USRP_UHD для redhawk
Теперь у меня есть сигнал, который содержит dataConverter в качестве контроллера сборки, AMFMDEMOD (2) и dataWriter (3). Запуск осциллограммы дает ошибку:

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' 

Я увидел, что это было в строке usesdevice, поэтому я дважды проверил, чтобы убедиться, что идентификатор usedevice равен идентификатору устройства USRP_UHD, и что идентификатор внешнего интерфейса и идентификатор USRP совпадают с DCE в представлении свойств.


След проблемы:

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

Решение:

Следующий шаг — убедиться, что ваш GPP работает. Скорость сигнала необходимо отредактировать следующим образом:

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

Часть ::TUNER необходимо добавить, поскольку она отображается на вкладке свойств USRP_UHD.
После этого вам нужно будет настроить значения, которые вы настраиваете, в зависимости от того, какой USRP вы используете. Затем сигнал необходимо экспортировать в целевой sdr, после чего его можно запустить. Использование трассировки на узле скажет вам, нужно ли скорректировать ваши значения. Я также удалил средство записи данных из сигнала из-за того, насколько большими были сгенерированные файлы.


person user3508688    schedule 22.08.2014    source источник
comment
Идентификатор используемого устройства не должен совпадать с идентификатором sca_compliant на вкладке обзора. Ваш идентификатор использования устройства должен быть случайно сгенерированным UUID с uuidgen. Этот идентификатор также следует использовать в качестве идентификатора интерфейса подключения, когда вы подключаете UHD к нужному порту в вашем DataConverter. Что касается сбоя зависимости usedevice, попробуйте поднять уровень отладки в диспетчере доменов и диспетчере устройств до TRACE (или уровня 5), а затем посмотреть на результат. Устройство должно сообщить вам, что оно не может сопоставить   -  person pwolfram    schedule 25.08.2014
comment
Не идентификатор интерфейса подключения, а устройство, используемое приложением, использует refid. Идентификатор распределения и идентификатор интерфейса подключения должны совпадать.   -  person pwolfram    schedule 25.08.2014
comment
Должен ли я перейти в $SDRROOT/‹путь к устройству USRP_UHD› и запустить $uuid? Я был немного смущен тем, как я могу получить uuid работающего экземпляра. Ошибка вывода, которую я вставил выше, является результатом уровня отладки 5. Я просто не включил нерелевантные части трассировки. Кроме того, спасибо за вашу запись в другом посте. Это было чрезвычайно полезно для понимания того, как вы можете заставить устройство подключаться к волновой форме.   -  person user3508688    schedule 25.08.2014
comment
Я запустил uuid в родительской папке USRP_UHD в моем SDRROOT (не в cpp). Я использовал этот uid в двух местах, которые вы упомянули. Вывод с трассировкой выдал такую ​​ошибку: 2014-08-25 12:26:39 ОШИБКА ApplicationFactory_impl:1463 - Ошибка при создании приложения; Не удалось удовлетворить зависимости 'usesdevice' DCE:dc155416-2c73-11e4-a098-080027dc953efor приложения 'USRP_Wave_237_112635549' ___ uuid из папки cpp: ERROR ApplicationFactory_impl:1463 - Ошибка при создании приложения; Не удалось удовлетворить зависимости «usesdevice»   -  person user3508688    schedule 25.08.2014
comment
Без проблем. Неважно, где вы запускаете uuid/uuidgen, он ничего не анализирует, он просто генерирует уникальную последовательность. Затем этот uuid связывается с работающим экземпляром Устройства (REDHAWK обрабатывает получение этой ссылки для вас на основе вашего выделения в форме волны). Ошибка, которую вы видите, по сути является упрощенной версией проблемы. Перед этим в выводе трассировки вы должны увидеть, что ApplicationFactory пытается сопоставить запрос на выделение со свойствами работающего USRP.   -  person pwolfram    schedule 25.08.2014
comment
Я отредактирую свой исходный пост, указав больше следов. Я думаю, что это важная часть: 2014-08-25 15:07:12 TRACE AllocationManager_impl:144 - Запрос на выделение DCE: d8e4147c-2c86-11e4-99d3-080027dc953e содержит 3 свойства 2014-08-25 15:07:12 TRACE AllocationManager_impl:243 – выделение для устройства DCE:d7a37203-11f1-4643-b5f9-c5549b36b8d1 2014-08-25 15:07:12 TRACE AllocationManager_impl:353 – сопоставление DCE:cdc5ee18-7ceb-4ae6-bf4c-31f983'79b4d:TUNERFRONEND:TUNERFRONEND ' eq 'FRONTEND' 25-08-2014 15:07:12 TRACE AllocationManager_impl:248 — Ошибка сопоставления Должен ли я попробовать использовать d7a37203-11f1-....?   -  person user3508688    schedule 25.08.2014
comment
Я попробовал uuidgen во время работы устройства, а также попытался использовать последовательность d7a3, но в итоге столкнулся с той же проблемой: _____ 2014-08-25 15:20:42 TRACE AllocationManager_impl:144 — Запрос на выделение DCE: d7a37203-11f1- 4643-b5f9-c5549b36b8d1 содержит 3 свойства 353 - Сопоставление DCE:cdc5ee18-7ceb-4ae6-bf4c-31f983179b4d 'FRONTEND::TUNER' eq 'FRONTEND' 2014-08-25 15:20:42 TRACE AllocationManager_impl:248 - Ошибка сопоставления   -  person user3508688    schedule 25.08.2014
comment
В вашем распределении вид устройства отличается от типа работающего USRP. В зависимости от того, какая у вас версия USRP, это может быть либо FRONTEND, либо FRONTEND::TUNER. Измените свой вариант на другой и посмотрите, будет ли он выделяться или, по крайней мере, углубится в процесс.   -  person pwolfram    schedule 26.08.2014
comment
Я сделал это после того, как вчера опубликовал трассировку. Он выдает ту же ошибку, НО включает дополнительные предупреждения о моей конфигурации и предупреждение об отсутствии запущенного GPP. Я запустил GPP, а затем подправил числа, чтобы обеспечить поток данных. Еще раз большое спасибо за вашу помощь! Я отредактирую OP с исправлением.   -  person user3508688    schedule 26.08.2014