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...
>>>> gr_fir_ccf: using SSE
> Using gain:
10.0 UHD Warning: The hardware does not support the requested RX
frequency: Target frequency: 915.000000 MHz Actual frequency: 19.000000
MHz
>
>>>> gr_fir_ccc: using SSE gr_fir_fff: using SSE
>
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 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_ccf: usin
>
>> 5px; border-left:#1010ff
2px solid; margin-left:5px; width:100%">
> %">gr_fir_ccc: using SSE
gr_fir_fff: using SSE
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
Noise in the speakers, It is running! The ^C stops the program but does
not kill it. Progress......
>
>>
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio