(just joined the mailing list and saw a recent question I can answer - forgive 
me if I'm doing it wrong :-) 
Alex wrote: 
Hello,
I've constructed the Spectrum Analyzer as seen on this page (see following link 
to GNU radio wiki) in hopes to test the functionality of GNU radio's 
compatibility with the b200-mini I plan to use for a project:
https://wiki.gnuradio.org/index.php?title=Guided_Tutorial_Hardware_Considerations
Unfortunately, when I run execute the flow graph, I get:
RuntimeError: LookupError: KeyError: No devices found for -----> Empty Device 
Address
and it doesn't run as intended. I've verified the connection of the device 
through UHD command uhd_find_devices (as well as several other commands), where 
it sees the b200-mini just fine, but GNU Radio isn't seeing it for some reason. 
The device is interfaced via USB.     ...

Hi Alex,  

Running your b200-mini (or any usrp, or HackRF) for the first time can be a bit 
confusing.   These steps should get you going:
- I'll assume you understand setting sample rate, frequency, etc.  

1. For any B200/B210 leave "device address" empty regardless of what error 
message say - because bus-series USRPs don't use an IP address.  
2. You need to enter the 'type' and 'serial' as a single string for "Device 
Arguments"  ... but how?
3. Outside of GRC, at the command line, type: `apropos uhd` - this should show 
a list of gnuradio-related uhd utilities.  
    NOTE: If `apropos uhd` doesn't show a bunch of uhd* commands, see advice at 
bottom. 
4. The one you want is `uhd_find_devices` - this will work by itself, but to 
avoid extraneous error messages, type:

$   uhd_find_devices --args 'type=b200'

You should see results something like below  [notes: *  **   ***]

--------------------------------------------------
-- UHD Device 0
--------------------------------------------------
Device Address:
    serial: 2F9B3B1
    name: MyB210
    product: B210
    type: b200

* NOTE: that's a fake serial number, and it's for a B210, not a b200-mini)

** CAUTION: prior to that 'normal' message you **may** see messages about your 
b200 loading firmware. 
                      That's especially likely if running for the first time 
and/or after a reboot.   Except ...

*** Worst-case, for very-first-time use you may need to download firmware 
images from Ettus to the appropriate location in the gnuradio install 
directories.
     Docs in the uhd* utilities explain how to download firmware.

5. Now, if your b200-mini serial number was 2F9B3B1, this is what to enter for 
"Device Arguments" property - IN QUOTES, NO SPACES! ...

'type=b200,serial=2F9B3B1'

6. (I believe the following is optional, I don't have my mini plugged in right 
now to check ...)  
    For the property "Mb0: Subdev Spec"  enter  (NO QUOTES!)   

A:A

7.  Keep that serial number / connection string under your pillow - you'll need 
it for any uhd source or sink block.   
8.  Your flowgraph should work now.   Be mindful that you're on the air, 
particularly if transmitting. 
9.  Final note: there's an analogous procedure for HackRF, except for the 
subdev-spec part.

--------
ADVICE AT BOTTOM
If the uhd_* commands aren't installed and/or aren't in your path, then 
something isn't right and you have two options:

1. Do what Marcus recommends for ubuntu / other platforms.    
2. Alternately, if you're focused on python and you plan to use a non-ubuntish 
platform (e.g. M1 Mac), I personally use radioconda - including on Linux.  
    Note that radioconda **is not** part of gnuradio (it includes a full build 
of gnuradio, but much other stuff as well).  
    




Reply via email to