discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: B200-mini not detected thru GNU Radio


From: walter
Subject: Re: B200-mini not detected thru GNU Radio
Date: Fri, 5 Apr 2024 19:52:47 -0700

(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

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