NOTE: These instructions don't include installation of drivers for the RTL dongles, and therefore are not very useful.
I am trying to install GNURadio on a Windows 7, 64 bit machine for use with a Ettus B100 usrp. I used the gnuradio3.7.9.2win64 installer referenced on the GNURadio installation guide. Recently an updated set of binaries and build scripts were posted for GNU Radio for Windows. GNU Radio is a graphical digital signal processing language that is compatible with many software defined radios such as the RTL-SDR. Normally it is used on Linux as the Windows builds have been known to be. Use Windows Explorer to navigate to the directory containing your saved setup.exe (if you have one) and double-click; If you have access to an account with administrator privileges and a non-blank password, you can: 1. Use Windows Explorer to navigate to the directory containing your saved setup.exe (if you have one) and double-click; then. Binary installers for 64-bit Windows 7/8/10 are now available here. These include all dependencies for Windows, a custom python distro, commonly used SDR drivers, and several OOT blocks. There is also a build available at that includes GnuRadio, Pothos, CubicSDK and other tools. Installing GNU Radio and USRP on Windows is becoming more routine.
1. Download and Install a 32 Bit Version of Python
I recommend the Anaconda Python distribution as it has a nice easy installer and comes with almost everything you need. Just get it here and double click to install.
2. Download and Install PyGTK
One package that Anaconda doesn't include that GNURadio depends on is PyGTK. After installing Anaconda, download and install PyGTK from here. The default settings are fine.
3. Install Python Packages
GNURadio requires a couple of additional Python packages. Open a Command Prompt as administrator by finding 'Command Prompt' in the Start menu, right clicking on it, and selecting 'Run as administrator'. In the new window, execute the command 'conda install cheetah'. Once that finishes you can close the terminal window.
4. Download and Install GNURadio
Now we're ready to install GNURadio. Grab the Windows binary here and double click.
5. Configure PATH
The last thing you have to do is add GNURadio's libraries to your system PATH and PYTHONPATH. Open the control panel and navigate to 'System Properties'. Under the 'Advanced' tab, click the 'Environment Variables' button. Under 'System variables', click 'New' and add a variable called 'PYTHONPATH' with the value C:Program Files (x86)gnuradiolibsite-packages.
6. Run GNURadio
You can now run GNURadio Companion from the Start menu (it should be under 'gnuradio').
Geof,
Thanks for the input. Here is what I get when running gnuradio_companion for the bin directory after running run_gr.bat. I’m not a programmer so I don’t know what all to look for. I used the application rapid environment editor to see what my environment variables were. I don’t see a PYTHONPATH variable nor do I see any entries in PATH related to GNURadio other than a path to the bin directory which I added manually.
D:Program FilesGNURadio-3.7bin>gunradio_companion
'gunradio_companion' is not recognized as an internal or external command,
operable program or batch file.
D:Program FilesGNURadio-3.7bin>run_gr.bat
setting gnuradio environment
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
D:Program FilesGNURadio-3.7bin>gnuradio-companion.py
ImportError
Cannot import gnuradio.
Is the python path environment variable set correctly?
All OS: PYTHONPATH
Is the library path environment variable set correctly?
Linux: LD_LIBRARY_PATH
Windows: PATH
MacOSX: DYLD_LIBRARY_PATH
(DLL load failed: %1 is not a valid Win32 application.)
D:Program FilesGNURadio-3.7bin>
If I run gnuradio comanion from the start menu, it does seem to load correctly however the WBFM receive example does not execute. I get “python.exe has stopped working” windows error and the following in the grc window.
Generating: 'D:Program FilesGNURadio-3.7sharegnuradioexamplesuhduhd_wbfm_receive.py'
Executing: D:Program FilesGNURadio-3.7gr-python27python.exe -u D:Program FilesGNURadio-3.7sharegnuradioexamplesuhduhd_wbfm_receive.py
Win32; Microsoft Visual C++ version 14.0; Boost_106000; UHD_003.009.003-0-unknown
-- USRP-B100 clock control: 10
-- r_counter: 2
-- a_counter: 0
-- b_counter: 20
-- prescaler: 8
-- vco_divider: 5
-- chan_divider: 5
-- vco_rate: 1600.000000MHz
-- chan_rate: 320.000000MHz
-- out_rate: 64.000000MHz
--
-- Loading FPGA image: D:Program FilesGNURadio-3.7shareuhdimagesusrp_b100_fpga.bin... done
Using Volk machine: avx
fft_impl_fftw: J[1]UsersDav1AppDataRoaming.gr_fftw_wisdom: Invalid argument
As a side note, I have installed the software to my D: drive rather than C: if that matters.
Also, when loading gqrx all of the buttons below the menu appear however none of them have labels (although you can see a description when you hover over the button).
Thanks for all you help.
Dave
From: Geof Nieboer [mailto:address@hidden]
Sent: Wednesday, July 13, 2016 2:04 PM
To: Derek Kozel
Cc: Dave; GNURadio Discussion List
Sent: Wednesday, July 13, 2016 2:04 PM
To: Derek Kozel
Cc: Dave; GNURadio Discussion List
Subject: Re: [Discuss-gnuradio] Installation of GNU Radio/UHD on Windows
Derek/Dave,
My development equipment is still in transit so I can't look at anything until Monday, but...
The UHD build should be 64-bit, so it is mostly likely a labelling issue. But I will check to be sure.
If you want to run -any- GNURadio utilities, I recommend doing so from the GNURadio Command Prompt (shortcut in start menu or run_gr.bat in the /bin subdir) ... that will set all the Python/etc environment variables up correctly. Then you should not need to specify where the UHD images are.
Geof
On Tue, Jul 12, 2016 at 10:11 PM, Derek Kozel <address@hidden> wrote:
Yes, there is no state held in UHD so you will always need to include the --args 'fw......' in your UHD commands. I should have also mentioned that this means you will need to add that exact 'fw= D:Program FilesGNURadio-3.7shareuhdimagesusrp_b100_fw.ihx,fpga= D:Program FilesGNURadio-3.7shareuhdimagesusrp_b100_fpga.bin' string in the USRP Source or Sink block Device Arguments field for any GNU Radio flowgraph. You can try modifying the wbfm example for instance.
The ability to specify specific FPGA and firmware images is usually a development feature if you have multiple versions of UHD installed alongside each other or are building custom images. In this case we are using it to get around a path problem.
If you create the D:Program FilesUHDshareuhdimages... folder with images UHD will hopefully pick them up automatically. I have not tried a Windows install where D is the system drive so I'm unsure of the exact behavior.
Ok, I had the wrong python command there, but python itself did run. Here's a line which certainly should work, but there's likely nothing additional to be gained by running it.
python -c 'import gnuradio; print gnuradio'
python -c 'import gnuradio; print gnuradio'
Regards,
Derek
On Tue, Jul 12, 2016 at 7:02 PM, Dave <address@hidden> wrote:
Derek,
I ran rx_samles _to_file. Although using the location arrguments you gave me for uhd_find_devices allows for the B100 to be found it does not look like the knowledge of where the images are located is retained. Running the samles_to_file command again results in a condition where firmware could not be found.
D:Program FilesGNURadio-3.7shareuhdexamples>rx_samples_to_file
Win32; Microsoft Visual C++ version 14.0; Boost_106000; UHD_003.009.003-0-unknown
Creating the usrp device with: ...
UHD Warning:
Could not locate B100 firmware. As an Administrator, please run:
'C:Program FilesUHDlibuhdutilsuhd_images_downloader.py'
Error: LookupError: KeyError: No devices found for ----->
Empty Device Address
I also ran the python command you gave me with the results to follow:
D:Program FilesGNURadio-3.7>python.exe -c 'from gruel import pmt; print pmt'
Traceback (most recent call last):
File '<string>', line 1, in <module>
ImportError: No module named gruel
D:Program FilesGNURadio-3.7>
If there is anything else you want me to run, I will do so.
Dave
From: Derek Kozel [mailto:address@hidden]
Sent: Tuesday, July 12, 2016 6:29 PM
Sent: Tuesday, July 12, 2016 6:29 PM
To: Dave
Cc: GNURadio Discussion List
Subject: Re: [Discuss-gnuradio] Installation of GNU Radio/UHD on Windows
I'm glad that the B100 was able to be detected. If you want to confirm that it is fully operating you could run any of the examples included with UHD, for instance uhd_benchmark_rate or rx_samples_to_file. These are standalone from GNU Radio so should avoid whatever Python issue may exist.
I've just noticed, the UHD version installed is Win32. I'm surprised at this as the GNU Radio binary builds are all 64 bit. If the developer of these Windows binary installers sees the thread hopefully he can comment.
GNU Radio is certainly easier to use on Linux or OS X, but there is a desire to see Windows support improve over time. This may not happen quickly, but it's a great sign that binary installers exist at all and I believe that most if not all of the changes which were needed to make that possible are now in the latest releases.
The binary installer at the moment includes it's own Python install in order to minimize external dependencies and possible conflicts. I haven't seen the 'Stopped working' error before, it would be interesting to find out why. If you have the time and curiosity, could you try running a super simple flow graph such as a signal source into a null sink? This will have minimal complexity and test if GNU Radio runs on it's own without any hardware interactions. The gr_fftw_wisdom warning can be ignored.
Can you test the Python install? Here is a very simple command which should execute. I'm on Linux so cannot test it at the moment.
python.exe -c 'from gruel import pmt; print pmt'
Can you test the Python install? Here is a very simple command which should execute. I'm on Linux so cannot test it at the moment.
python.exe -c 'from gruel import pmt; print pmt'
Derek
On Tue, Jul 12, 2016 at 6:08 PM, Dave <address@hidden> wrote:
Derek,
More success and a new problem. I used the example uhd_find_devices arguments you show below modified for my system and the device was correctly found. Note the windows installer does not create a UHD folder in the Program Files folder but rather in the GnuRadio-3.7share folder.
After finding the device I tested it using the uhd_wbfm_receive example and got and error “python.exe has stopped working”. Below is the transcript. I guess at this point, I’m not looking for solutions. I’m guessing windows installs are just not prime time yet and if we solve this next problem another will install issues will take its place. However, I will keep reporting problems if it means something to the developers. Thank you very much for your help!
Generating: 'D:Program FilesGNURadio-3.7sharegnuradioexamplesuhduhd_wbfm_receive.py'
Executing: D:Program FilesGNURadio-3.7gr-python27python.exe -u D:Program FilesGNURadio-3.7sharegnuradioexamplesuhduhd_wbfm_receive.py
Win32; Microsoft Visual C++ version 14.0; Boost_106000; UHD_003.009.003-0-unknown
-- USRP-B100 clock control: 10
-- r_counter: 2
-- a_counter: 0
-- b_counter: 20
-- prescaler: 8
-- vco_divider: 5
-- chan_divider: 5
-- vco_rate: 1600.000000MHz
-- chan_rate: 320.000000MHz
-- out_rate: 64.000000MHz
--
Using Volk machine: avx
fft_impl_fftw: B[1]UsersDav1AppDataRoaming.gr_fftw_wisdom: Invalid argument
From: Derek Kozel [mailto:address@hidden]
Sent: Tuesday, July 12, 2016 4:51 PM
Sent: Tuesday, July 12, 2016 4:51 PM
To: Dave
Cc: GNURadio Discussion List
Subject: Re: [Discuss-gnuradio] Installation of GNU Radio/UHD on Windows
That's great news. This means the B100 is being found.
The images downloader is a Python script. Do you have a D:Program FilesUHD folder? Can you look there to see if the uhd_images_downloader.py script is installed?
If, and I believe this is the case, the GNU Radio binary installer you are using has the release version of UHD 3.9.3 then you can manually download the images here:
http://files.ettus.com/binaries/images/uhd-images_003.009.003-release.zip
http://files.ettus.com/binaries/images/uhd-images_003.009.003-release.zip
I'm not sure the exact folder they should be unzipped into for the UHD library to find them given the custom build (UHD isn't usually in the GNU Radio bin folder). However you can download the files, extract them somewhere (into D:Program FilesUHDshareuhdimages if the UHD folder already exists) and try manually specifying the fw and fpga paths.
For example but modify as needed:
uhd_find_devices --args 'fw= D:Program FilesUHDshareuhdimagesusrp_b100_fw.ihx,fpga= D:Program FilesUHDshareuhdimagesusrp_b100_fpga.bin'
Regards,
Derek
On Tue, Jul 12, 2016 at 4:05 PM, Dave <address@hidden> wrote:
Thanks Derek,
I tried using Admin privileges and that did not make a difference. I believe all the ports on my machine are USB3 however I’m not sure they use exactly the same hardware. In any event I tried another one and it did make a difference. I now get the message below regarding the need to run uhd_images_downloader. I ran it (also below) and it indicates it needs me to specify a device however I have not figured out the correct way to do that. Note: All the images appear to be already on the machine in the share/uhd/images directory. Also as you see below the message states to run C:ProgramFilesUHDlibutilsuhd_images_dowloader.py. My installation is on the D: drive not the C: drive and the downloader appears to be an .exe file in the GNURadio-3.7bin file. I don’t know if something is looking for code in the wrong places or not.
Gnuradio Windows Binary Converter
D:Program FilesGNURadio-3.7bin>uhd_find_devices
Win32; Microsoft Visual C++ version 14.0; Boost_106000; UHD_003.009.003-0-unknown
UHD Warning:
Could not locate B100 firmware. As an Administrator, please run:
'C:Program FilesUHDlibuhdutilsuhd_images_downloader.py'
No UHD Devices Found
D:Program FilesGNURadio-3.7bin>uhd_image_loader.exe
Win32; Microsoft Visual C++ version 14.0; Boost_106000; UHD_003.009.003-0-unknown
Error: RuntimeError: You must specify a device type.
Thanks again,
Dave
From: Derek Kozel [mailto:address@hidden]
Sent: Tuesday, July 12, 2016 3:06 PM
To: Dave
Cc: GNURadio Discussion List
Subject: Re: [Discuss-gnuradio] Installation of GNU Radio/UHD on Windows
Sent: Tuesday, July 12, 2016 3:06 PM
To: Dave
Cc: GNURadio Discussion List
Subject: Re: [Discuss-gnuradio] Installation of GNU Radio/UHD on Windows
Thanks for posting again. I don't know if anyone else has tried the B100 using the Windows UHD+GNU Radio binaries. Are you connected to a USB 2 only port or to a USB 3 port? I would try a dedicated USB 2 port if possible.
Also, I don't believe that permissions issues exist to the same degree on Windows, but can you try running uhd_find_devices in an administrator prompt?
Regards,
Derek
On Tue, Jul 12, 2016 at 2:58 PM, Dave <address@hidden> wrote:
I am trying to install GNURadio on a Windows 7, 64 bit machine for use with a Ettus B100 usrp. I used the gnuradio_3.7.9.2_win64 installer referenced on the GNURadio installation guide.
When I run uhd_find_devices I get the following:
D:Program FilesGNURadio-3.7bin>uhd_find_devices
Win32; Microsoft Visual C++ version 14.0; Boost_106000; UHD_003.009.003-0-unknown
No UHD Devices Found
When I look in my device manager I do see a USRPs device show as “Ettus Research LCC B100”
I posted this issue last week on the USRP discussion list and was advised to make sure I had only one instance of UHD. I discovered I had incorrectly installed gnuradio using the installer mentioned above and also installed UHD using the installer on the ETTUS website not realizing the GNU radio installer took care of both. I uninstalled GNU radio and uhd and removed everything I could find for both. I then re-ran the gnuradio_3.7.9.2_win64 installer. I still have exactly the same problem shown above with the inability to find the device.
Note: I can successfully use gnuradio and the USRP device on this same computer using the LiveUSB image thus I don’t believe there are any hardware issues.
Can anyone provide me more tips on how to troubleshoot my installation?
Thanks,
Dave
_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Gnuradio Windows Binary File
_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio