主机只有一个可用的以太网连接,您断开互联网连接使用的网络接口卡(NIC)的主机到无线连接。然后,你没有使用NIC注销前重新连接到Internet。
有关更多信息,请参阅使用一个以太网端口。
无法建立主机到无线电连接,因为收音机的IP地址位于用于另一个以太网端口或无线网络接口的主计算机使用的子网中。
遵循提供的方向解决以太网子网冲突。
ping命令返回一个消息,指示它无法到达硬件。
您可以尝试以下任何一种:
检查防火墙是否已禁用或设置以从无线电配置的子网传递数据。收音机上的出厂默认子网配置为192.168.10.x.
功能findsdru.
提供以下警告消息:“不兼容”
。
USRP™收音机上安装的固件与支持包的UHD™软件版本不兼容。金宝app
更新USRP收音机的固件。看USRP无线电固件更新。
马铃薯®从调用函数返回以下警告消息findsdru.
:忙碌的
。
USRP收音机正在使用另一个Matlab或Simulink金宝app®实体。如果发生以下任何条件,USRP无线电可能会忙碌:
Si金宝appmulink仿真正在进行中。
接收器或发射器块掩模是打开的。
锁定的接收器或发送器系统对象™在内存中。
通过停止模拟,关闭块或调用来释放无线电释放
系统对象的方法。
功能findsdru(ipaddress)
, 在哪里IP地址
是USRP收音机的IP地址,返回以下警告消息:没反应
。
此警告表示您的子网配置不正确。例如,如果USRP无线电具有192.168.10.2的IP地址,但主机IP地址位于另一个子网上并具有192.168的IP地址。X.1,在哪里X是10除了10的数字。
更正主机IP地址,使其与USRP无线电的子网值相匹配配置基于以太网的无线电连接的主机。
可替换地,可以存在主计算机和无线电USRP之间的以太网连接的问题。看检查以太网配置。
同时采用突发模式您可能会收到类似如下的错误信息:
无法在“recaptata_c”中执行UHD驱动程序命令:libmwusrp_uhd_capi:compoundata:errwrongrecvsize未在突发接收中收到预期的样本数。这可能是由于爆发内的溢出。使用'sysctl'更新OS套接字缓冲区大小。预期:2752000找到:94120
当MATLAB或SIMULINK软件未收到来自USRP收音机的所请求的样本金宝app数时,会发生此错误。
以下是此问题的已知原因:
在Linux®系统,OS套接字缓冲区大小可能不够大,以便适当的通信。如ETTUS Research中所述增加套接字尺寸TM值UHD - 运输(插座)。
以太网卡无法提供高速通信。你可能想要尝试英特尔®芯片组,可以在这种情况下提供高质量的连接。
您的系统上的防火墙或防病毒程序可能会阻止或减慢您的连接。关闭防火墙或病毒程序可以解决这个问题。
笔记
关闭您的防火墙可能会使您的电脑主机通过互联网未经授权的访问。
当以太网连接中断时,某些笔记本电脑可能会丢失其以太网设置,例如当电源循环USRP设备时。如上所述检查以太网连接设置配置基于以太网的无线电连接的主机。
使用笔记本电脑,请尝试将笔记本电脑连接到电源。大多数笔记本电脑都配置为更好的电池寿命并在未连接电源时妥协处理性能。对于电池模式和交流电源模式,请确保您的电源设置对应于最大处理性能。一些笔记本电脑制造商还提供高级电源设置,以帮助选择最大CPU性能的计划。
您可能会看到从MATLAB命令窗口中UHD驾驶员以下消息之一。
无法调整RECV缓冲区:
----------开始Libuhd警告消息输出-----------无法充分调整RECV缓冲区。目标袜子抛光大小:50000000字节。实际袜子抛光大小:131071字节。请参阅关于缓冲区调整大小的传输应用笔记。请运行:sudo sysctl -w net.core.rmem_max = 50000000 ----------结束Libuhd警告消息输出---------
发送缓冲区无法调整大小:
----------开始Libuhd警告消息输出----------发送缓冲区无法充分调整大小。目标袜子抛光大小:1048576字节。实际袜子抛光大小:131071字节。请参阅关于缓冲区调整大小的传输应用笔记。请运行:sudo sysctl -w net.core.wmem_max = 1048576 ---------结束libuhd警告消息输出----------
如果遇到这些消息的任何,运行在Linux Shell的消息中提供的sysctl的命令。
您可能会看到警告,指出UHD驱动程序无法设置线程优先级。
该警告是无害的。你可以在这个主题的更多信息线程优先级调度。
功能findsdru.
可能会崩溃或丢失类似于以下内容的错误:
???无效MEX-文件/bin/glnxa64/usrp_uhd_mapi.mexa64' : /bin/glnxa64/libmwusrp_uhd_capi.so:未定义的符号:_ZN3uhd7warning16register_handlerERKSsRKN5boost8functionIFvSsEEE错误==> mapiPrivate在19 [retStr,errStat,errStr] = usrp_uhd_mapi(CMD);误差在==> findsdru在25 flatAddrList,errStat,errStr] = mapiPrivate( 'findsdru');
此类错误通常发生:
正确版本的libuhd或boost库是不是加载。
这些库的版本不正确曾是加载。
如果系统路径不包含这些库的正确路径信息或先前安装的这些库的正确路径信息,则可能会发生这种情况,为USRP无线电需要库的支持包。金宝app
您可以按照以下步骤诊断此问题:
导航
在MATLAB命令窗口中。例如:
光盘C:/工作/ SDR / SDRU / BIN / GLNXA64
键入以下命令:
!ldd libmwusrp_uhd_capi.so
您应该看到类似于以下内容的消息:
Linux的vdso.so.1 =>(0x00007ffff35ff000)libuhd.so.003 =>/ glnxa64 / commusrp / bin中/ glnxa64 /./ libuhd.so.003(0x00007fc9476bb000)的libstdc ++。so.6 => > / SYS / OS / glnxa64 /的libstdc ++。so.6(0x00007fc9473b4000)=的libm.so.6> /lib/libm.so.6(0x00007fc947113000)libgcc_s.so.1 => > / SYS / OS/glnxa64/libgcc_s.so.1(0x00007fc946efd000)libpthread.so.0 => /lib/libpthread.so.0(0x00007fc946ce0000)libc.so.6的=> /lib/libc.so.6(0x00007fc94697f000)libboost_date_time.so.1.44.0 => > / bin中/ glnxa64 / libboost_date_time.so.1.44.0(0x00007fc94676d000)libboost_filesystem.so.1.44.0 => /bin/glnxa64/libboost_filesystem.so.1.44.0(0x00007fc946549000)libboost_program_options.so.1.44.0 => /bin/glnxa64/libboost_program_options.so.1.44.0(0x00007fc9462ef000)libboost_regex.so.1.44.0 => /bin/glnxa64/libboost_regex.so。1.44.0(0x00007fc945fdd000)libboost_system.so.1.44.0 => /bin/glnxa64/libboost_system.so.1.44.0(0x00007fc945dd9000)升/ ibboost_thread.so.1.44.0 => /bin/glnxa64/libboost_thread.so.1.44.0(0x00007fc945bc2000)libboost_unit_test_framework.so.1.44.0 => /bin/glnxa64/libboost_unit_test_framework.so.1.44。0(0x00007fc945906000)librt.so.1 => /lib/librt.so.1(0x00007fc9456fd000)libdl.so.2 => /lib/libdl.so.2(0x00007fc9454f9000)/ lib64下/ LD-Linux的x86-64的。so.2 (0x00007fc947d73000) libicuuc.so.44=> /bin/glnxa64/libicuuc.so.44 (0x00007fc945196000) libicui18n.so.44=> /bin/glnxa64/libicui18n.so.44(0x00007fc944d9e000) libicudata.so.44=> /bin/glnxa64/libicudata.so.44 (0x00007fc943d5e000)
确保从MATLAB安装位置拔出所有Boost库,但不是从系统(例如,/ usr / lib
或者/ lib
)或其他一些本地安装。
如果您没有得到这些结果,例如,如果未找到图书馆或找到不同版本的Boost或Libuhd,则ld_library_path.
很可能不正确。你可以检查的价值ld_library_path.
通过在MATLAB命令窗口中键入以下命令。
GetEnv('ld_library_path')
ANS =/ SYS / OS / GLNXA64: / BIN / GLNXA64: / EXTER / LIB / GLNXA64: / SYS / JAVA / JRE / GLNXA64 / JRE / LIB / AMD64 / Native_Threads: / SYS / JAVA / JRE / GLNXA64 / JRE / LIB / AMD64 /服务器: / SYS / JAVA / JRE / GLNXA64 / JRE / LIB / AMD64: / GLNXA64 / COMMUSRP / BIN / GLNXA64
此示例显示了MATLAB和MATLAB创建的默认值setupsdru.
功能。
模型是不是实时运行。
如果您的模型未实时运行,则可以:
似乎需要很长时间才能显示SDRU对象,或显示SDRU对象属性,或打开SDRU块掩码。
当发生任何这些操作时,对象或块正在与USRP无线电通信以访问实际设备值。这个过程可能需要几秒钟,并且是预期的。
插入无线电和运行功能时findsdru.
,该功能可能会返回一条消息,指出“未找到设备”。然而,固件图像会自动加载它表明主机计算机能够识别的无线电。
Ettus Research™已确认已知此问题与USB控制器的某些模型/修订发生。解决方案是断开连接,然后重新连接无线电,可能几次。
==================将无线电连接到主机==================== >> x = findsdru加载固件图片:/Users/Shared/Supp金宝apportPackages/usrpradio/toolbox/shared/sdr/sdru/uhdapps/images/usrp_b200_fw.hex ... x = platform:''ipaddress:''serialnum:''状态:'没有找到设备'==================断开收音机并重新连接================ >> x = findsdru加载固件图片:/users/shared/金宝appsupportpackages/usrpradio/toolbox/shared/sdr/sdru/uhdapps/images/usrp_b200_fw.hex ...加载fpga图片:/用户/共享/支持包/ usrpradio / toolbox / shared / sdr / sdru / uhdapps /图像/ usrp_b210_fpga.bin ... x =平台:'b210'ipaddress:'serialnum:'ecr04zdbt'状态:'成功'
USB 2.0连接在使用总线系列无线电时,某些高采样速率应用不够快。
您可以使用USB 3.0连接来获得更可靠的连接以获得高速需求。看https://kb.ettus.com/b200/b210/b200mini/b205mini#faq.。
使用总线系列无线电在流模式下尝试8位传输时,会发生UHD异常。
使用comm.sdrureceiver / stepimpl错误无法在“recaptata_c”中执行uhd驱动程序命令:libmwusrp_uhd_capi:compoundatia:errbadpacket通信传输接收了一个误合的数据包。
您可以使用突发模式缓冲或将传输数据类型更改为16位。
您会遇到以下错误:
libmwusrp_uhd_capi:使用comm.SDRuReceiver / stepImpl无法执行在“receiveData_c” UHD驾驶员指令错误receiveData的:ErrWrongRecvSize没有收到预期的突发的接收的样本数。这可能是由于爆发内的溢出。使用'sysctl'更新OS套接字缓冲区大小。预计:4000000实测:163741
将传输数据类型更改为INT8.
。这种变化可能会增加可实现的采样率。看更改运输数据速率那
如果您有公共汽车系列收音机,请确保使用USB 3连接。
查看来自Ettus Research的推荐USB 3.0控制器:https://kb.ettus.com/about_usrp_bandwidths_and_sampling_rates.。
你可以使用Benchmark_Rate.
UHD从UHD测试运输速度是否可以在无线电和主机PC之间维持。此示例演示了测试发送速率:
call_uhd_app('benchmark_rate'那'--tx_rate 20e6'那'-回声');
Linux;GNU C ++版本4.7.2;Boost_105600;UHD_003.009.001 - 供应商使用:... - 检测到的设备:B210 - 通过USB 3. - 初始化编解码器控制... - 初始化无线电控制... - 执行寄存器环回测试。..通过 - 执行寄存器环回测试...通过 - 执行编解码器环回测试...通过 - 询问时钟速率16.000000 MHz ... - 实际上有时钟速率16.000000 MHz。- 执行定时器环回测试...通过 - 执行定时器环回测试...通过 - 将主时钟速率选择设置为“自动”。使用设备:单级USRP:设备:B系列设备MBOODE 0:B210 RX通道:0 RX DSP:0 RX DBOCK:RX子DSP:FE-RX2 RX通道:1 RX DSP:1 RX DBOCK:A RX子DEV:FE-RX1 TX通道:0 TX DSP:0 TX DBOBLE:TX SUBDEV:FE-TX2 TX通道:1 TX DSP:1 TX DBOCK:TX SUBDEV:FE-TX1 - 询问时钟速率20.000000 MHz ... -- 实际上有20.000000 MHz的时钟率。- 执行定时器环回测试...通过 - 执行定时器环回测试...通过测试传输速率20.000000 MSPS ON 1通道基准率摘要:NUM接收样本:0 NUM丢弃样本:0 NUM溢出检测到:0 NUM传输样本:200058544 NUM序列错误:检测到0 NUM uch下溢:0
第二示例演示了测试接收率:
call_uhd_app('benchmark_rate'那'--rx_rate 20e6'那'-回声');
Linux;GNU C ++版本4.7.2;Boost_105600;UHD_003.009.001 - 供应商使用:... - 检测到的设备:B210 - 通过USB 3. - 初始化编解码器控制... - 初始化无线电控制... - 执行寄存器环回测试。..通过 - 执行寄存器环回测试...通过 - 执行编解码器环回测试...通过 - 询问时钟速率16.000000 MHz ... - 实际上有时钟速率16.000000 MHz。- 执行定时器环回测试...通过 - 执行定时器环回测试...通过 - 将主时钟速率选择设置为“自动”。使用设备:单级USRP:设备:B系列设备MBOODE 0:B210 RX通道:0 RX DSP:0 RX DBOCK:RX子DSP:FE-RX2 RX通道:1 RX DSP:1 RX DBOCK:A RX子DEV:FE-RX1 TX通道:0 TX DSP:0 TX DBOBLE:TX SUBDEV:FE-TX2 TX通道:1 TX DSP:1 TX DBOCK:TX SUBDEV:FE-TX1 - 询问时钟速率20.000000 MHz ... -- 实际上有20.000000 MHz的时钟率。- 执行定时器环回测试...通过 - 执行定时器环回测试...通过测试接收率为20.000000 MSPS在1个通道基准率摘要:NUM接收样本:199989048 NUM丢弃样本:0 NUM溢出检测到:0 NUM传输样本:0 NUM序列错误:检测到0 NUM uch uch
使用笔记本电脑,请尝试将笔记本电脑连接到电源。大多数笔记本电脑都配置为更好的电池寿命并在未连接电源时妥协处理性能。对于电池模式和交流电源模式,请确保您的电源设置对应于最大处理性能。一些笔记本电脑制造商还提供高级电源设置,以帮助选择最大CPU性能的计划。