discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] installing GR 3.5.2 on FreeBSD


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...
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: using SSE
Using gain: 50.0
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......

 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]