|
From: | mleech |
Subject: | Re: [Discuss-gnuradio] installing GR 3.5.2 on FreeBSD |
Date: | Tue, 17 Jan 2012 10:36:31 -0500 |
User-agent: | Roundcube Webmail/0.5.1 |
I've made it a habit to always be explicit about which device (or device class, at least) I'm going for when I use UHD tools.
So, I *always* either specify "--args type=usrp1" or --args "addr=192.168.10.2" to UHD tools, so that I don't have to rely on autodiscovery stuff that might produce weird results. I kind of *have* to on one of my systems, because I have both a USRP1 and USRP2 on the same system.
I vaguely recall from the mists of my memory that there's some subtle brokenness with SIGINT handling in *BSD Python and Gnu Radio, but that's as much as I remember.
In terms of why it's reloading the .ihx, I'm not sure, although I'll note in the code that there's a "force" parameter to the routine that loads the firmware, so that if "force" is set, the FX2 firmware is reloaded regardless of whether the local-file and on-board hash match. I'll also note that the routine that *calls* the firmware loader doesn't actually supply this parameter, so perhaps there's actually a bug.
usrp1_impl.cpp: fx2_ctrl::make(control)->usrp_load_firmware(usrp1_fw_image);
Whereas the routine is defined here:
void usrp_load_firmware(std::string filestring, bool force)
I'm not much of a C++ guy (more of a C-only fossil), but it seems like there may be a mis-match in the args here, and that maybe on *BSD it just *happens* that the "force" parameter is being set by accident.
Perhaps Josh (when he's awake :-) ) can comment.
On Tue, 17 Jan 2012 09:05:43 -0600, LRK wrote:
It builds without qtgui and runs dial_tone.py. I move the USRP1 from a 3.2.2 machine and it shows to be loaded: ugen4.5: at usbus4 Then I run uhd_rx_nogui.py with proper options, not in an xterm: FreeBSD 8; GNU C++ version 4.2.2 20070831 prerelease [FreeBSD]; Boost_104500; UH D_003.004.000-1424488 -- Loading firmware image: /usr/home/gr/gr352/usrp1_fw.ihx... done Traceback (most recent call last): File "/log/gr/gr352/local/bin/uhd_rx_nogui.py", line 243, in main() File "/log/gr/gr352/local/bin/uhd_rx_nogui.py", line 236, in main tb = app_top_block(options) File "/log/gr/gr352/local/bin/uhd_rx_nogui.py", line 139, in __init__ options.calibration) # Frequency offset File "/log/gr/gr352/local/bin/uhd_rx_nogui.py", line 92, in __init__ self._src = uhd.usrp_source(device_addr=args, stream_args=uhd.stream_args('f c32')) File "/log/gr/gr352/local/lib/python2.7/site-packages/gnuradio/uhd/__init__.py ", line 112, in constructor_interceptor return old_constructor(*args) File "/log/gr/gr352/local/lib/python2.7/site-packages/gnuradio/uhd/uhd_swig.py ", line 2290, in usrp_source return _uhd_swig.usrp_source(*args) RuntimeError: LookupError: KeyError: No devices found for -----> Empty Device Address The usrp1_fw.ihx firmware is loaded but No devices found. Run the same command again: FreeBSD 8; GNU C++ version 4.2.2 20070831 prerelease [FreeBSD]; Boost_104500; UH D_003.004.000-1424488 -- Opening a USRP1 device... -- Loading FPGA image: /usr/home/gr/gr352/usrp1_fpga.rbf... done -- Using FPGA clock rate of 64.000000MHz...Using gain: 10.0 UHD Warning: The hardware does not support the requested RX frequency: Target frequency: 915.000000 MHz Actual frequency: 19.000000 MHzgr_fir_ccf: using SSEOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO The second try loads the usrp1_fpga.rbf file. The failure is due to not specifying the --spec="A:0" on the command line. With that in place: FreeBSD 8; GNU C++ version 4.2.2 20070831 prerelease [FreeBSD]; Boost_104500; UH D_003.004.000-1424488 -- Opening a USRP1 device... -- Using FPGA clock rate of 64.000000MHz...gr_fir_ccc: using SSE gr_fir_fff: using SSEUsing gain: 50.0gr_fir_ccf: using SSEOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO Noise in the speakers, It is running! The ^C stops the program but does not kill it. Progress......gr_fir_ccc: using SSE gr_fir_fff: using SSE
[Prev in Thread] | Current Thread | [Next in Thread] |