A Suggestion or Request

Discussions related to embedded firmware, driver, and user mode application software development
jynik
Posts: 455
Joined: Thu Jun 06, 2013 8:15 pm

Re: A Suggestion or Request

Post by jynik »

Bob,

I just ran the installer on a Windows machine and am seeing the same thing. I'm extremely confused as to why the installer is shipping something with what I assume to be a debug message, as it should be built directly from the git repo (which does not contain such debug output), without changes. I will get to the bottom of this and request that an updated installer be uploaded to the website.

Also, note that you no longer have to manually load the FPGA, unless you want to reload it with a different FPGA than what shipped with the installer. When libbladeRF opens a device, it will search %APPDATA%/Nuand/bladeRF and the installer location for FPGA images to load, if the device isn't already loaded. To verify this, try plugging in the device and running the CLI without the 'load fpga' command. Note that the LEDs will light up, indicating that the FPGA is loaded, and that you can run commands like, 'print samplerate' and 'print frequency'.

Best regards,
Jon
jynik
Posts: 455
Joined: Thu Jun 06, 2013 8:15 pm

Re: A Suggestion or Request

Post by jynik »

Hi Bob,

The bladerf_win_installer.exe should now be updated with the appropriate release versions of things (i.e., that don't contain silly debug messages). Try that one -- it should be less spastic about having an FPGA loaded. ;)
I enjoy getting a new toy, playing with it a short period of time and then allowing the idea to sink into my aging brain for a bit. This lets me form a meaningful idea and approach to taking a project on so that I can begin asking questions that are cogent while illuminating my complete lack of foundational understanding. My sincere apologies to the community as I stumble down the path I see before me, in advance. I'm not a programmer, but I believe I have a decent grasp of the unit's capabilities. I sincerely wish to see the blade evolve into an ever more useful tool in our mutual toolboxes. To that end, I'll be asking a lot of questions as a noob to the programming realm as I attempt to implement some of the ideas - always hoping others might see value in where I'm going and 'chip-in' toward a common, useful, module.
I just wanted to come back to your comments here, as our earlier discussion focused on how we can all share and expand our knowledge base (with respect to documentation).

As you already know, we're still have our work cut out for us in terms of creating sufficient documentation for both programmers and non-programmers alike. Admittedly, at this point, using the bladeRF for cool and new things is going to be more challenging for the latter. (Although, Robert's MATLAB and Simulink support should hopefully make the device more accessible to people familiar with those tools!)

Our community currently contains a breadth of different types of people, including (1) those with lots of RF and radio experience but not much programming experince, (2)people with software development experience but are new to the RF realm, (3) folks who are experience in both realms, and (4) newcomers to both relams. Below I'm somewhat just "thinking aloud" about how people from these different categories might work together well...

I truly believe that all of the above can participate in making the bladeRF into an ever more useful tool, to use your words. Perhaps one way we can achieve some good collaboration is by having people with some of the RF knowledge present concepts, resources, reading material and draft some informal specifications for what they want to create/implement. The folks with some programming knowldege can produce some examples or associated code snippets for concepts presented in said spec. We rinse and repeat, with both parties diving out of their comfort zone, and perhaps after some iterations we'll arrive at something fun and interesting?
For my first trick, I'm contemplating an always useful tool for radio nerds: a TDR. Anybody else get a warm, squishy feeling about that idea, or is my brain baked in awful-sauce?
It might be worth starting a new thread on this that's soley focused on TDRs. In fact, with respect to what I mentioned above, it might be fun if you could share some of your knowledge on the topic, point people to some good resources, and outline an informal specification for how you'd like it to operate, and where some little divisions of tasks might lie. By breaking the project up into smaller, tangible tasks, it might be easier to get people interested and involved, as well as make the whole thing appears thing less nebulous, as new projects often tend to feel.

Cheers,
Jon
drbob
Posts: 39
Joined: Sat Mar 29, 2014 11:22 am

Re: A Suggestion or Request

Post by drbob »

Ahhhh... <- the sound a guy makes when he does the last maintenance-oriented tower climb of the year and settles into a nice warm bath. Yesterday was that day for me... :mrgreen: That buys me about 8 months of rain where I am (I live in a rain forest. Seriously.) This allows me to get back to some of my projects, including the bladeRF.

Of your choices, I have decent RF skills and have been servicing radio equipment (and many other forms of electronics) in excess of 35 years. (Having put that in writing, I suddenly feel very old... :lol: ) Technical skill in much of the computer realm isn't a problem, except that I've never taken to programming beyond BASIC and some unique interpreted languages to get odd jobs done. Learning the programming realm seems daunting to me, and I'm old enough that I just don't know if there's enough brain-space available to capture the knowledge I need to become "decent" at development. That doesn't mean I'm lacking for ideas, however.

I think the idea of a thread on TDR is fine - but I'm prone to express my broader idea of an RF toolbox and define some of the tools I can see the bladeRF providing the community. As I've said before, I stepped into the bladeRF for two reasons: I'm a ham and saw the bladeRF as a potentially useful SDR for working in the amateur bands; I see the potential to reduce the size of my Motorola service monitor to something manageable. (If you've lugged a service monitor up a mountainside, you know what I mean... :cry: ) I've been playing (lightly, at this point) with Linux solutions for accessing my bladeRF and realized that many of the resources found on a service monitor can be developed in a modular fashion for GNU Radio. What were "menu keys" on a service monitor could be similarly arrayed on a computer screen to pull up various functions. Clearly I was on a useful track as I found CTCSS encoders and decoders, and the always present spectrum analyzer takes center stage. Coolness factor? 9.5

Honestly, my only concern so far is accuracy - NIST traceability clearly isn't possible at this point. Or is it? Even so, is it "good enough" to make this a valuable tool that could evolve over time? I suspect so.

As I work with the bladeRF and get a better handle on this new-fangled radio box that just blows my mind (do you younger folks realize how cool this SDR stuff is? How really cool this bladeRF is? If you don't find yourself amazed by these two little circuit boards, you are a hard man...) I'll do my best to provoke, inspire and encourage people to communicate more on the blade - I believe that's in our mutual best interest.

I'm curious - to date, how many of each of the boards have been sold/distributed? How large is the potential base of participants to the discussion?

Jon - I'll pull the latest package down and run it (OMG really didn't bother me nearly as much as it bothered you... :lol: ) and I'll start putting up some ideas that are bubbling in my brain and see if we can get some traction. I think we're onto something here. I don't know what the larger goal of Nuand is, or what your resources are, etc., but I figured I'd toss out an idea that might have merit: One of the groups that I've been paying attention to is Hak5 - they seem to have a presence on the 'net and are inspiring people to experiment. Their people are young and energetic and part of the "cool crowd" (damn, in my youth we were called nerds and they threw stones at us!) They've been doing quite a bit of proselytizing on the subject of SDR dongles... Would it be worthwhile to reach out to them, provide them with some tools that could advertise more of the Nuand project, thereby encouraging further development and participation? http://hak5.org/ Just a thought. :idea:
drbob
Posts: 39
Joined: Sat Mar 29, 2014 11:22 am

Taking another stab at this ...

Post by drbob »

bladeRF.png
New computer, some time off from the grind, and wanting to get back to the bladeRF project.

Fresh Windoze install, machine happy, so I grab the software from the official GitHub site (Windows Installer) and poke away. After install, I get the image (attached) and I wonder why I see no devices when I probe... Hmmm... I'm obviously talking to the unit, loaded an fpga, it is talking back to me...

I try to load up a clean install of Simon's SDR Console version 2.3 build 2381 - Search for bladeRF, "Nothing Found". Try a crappy dongle, sees it and talks to in fairly well.

I'm bound and determined to make this bloody thing work! LOL

Suggestions?

Bob
jynik
Posts: 455
Joined: Thu Jun 06, 2013 8:15 pm

Re: A Suggestion or Request

Post by jynik »

Hi Bob,

Welcome back!

The latest latest (currently beta) Windows installer and an updated Windows installer guide can be found on the Nuand support page.

From your bladeRF-cli screenshot, it looks all is well because:
  • You were able to load the FPGA image. This tells me that bladeRF-cli successfully opened up the device. You probably see a blinking LED on the board after the "load fpga" command completes. This is good.
  • Your 'info' output looks good.
  • Your version info looks good. That newer installer I linked should get you the latest and greatest versions, if you'd like.
  • You executed the "xb 200 enable" command successfully
I bet you should be able to issue commands such as "set rxvga1 10" and "set frequency rx 462.25M".

It's interesting that probe can't find the device you clearly have currently opened. This works fine for me in Linux, but I see a similar issue in Windows. (In the latest code, I see libusb return a "insufficient permissions" error code, which is even weirder.)
I'd say this is harmless to your underlying SDR Console problem, but I have opened an issue tracker item to investigate this.

Now, onto the problem at hand...

Do you have the bladeRF-cli open when trying to run SDR Console? Remember, that only one program can lay claim to the bladeRF at a time; other's won't see it as being available.

If that's not the issue, could you share a log from Simon's tool? GIven that the CLI can talk to the device, we might have to have you ask Simon's support group if I don't see anything in that log.
drbob
Posts: 39
Joined: Sat Mar 29, 2014 11:22 am

Re: A Suggestion or Request

Post by drbob »

Hi, Jynik!

Sooo... I fire up the bladeRF CLI, load the fpga, start the XB200, then quit the bladeRF CLI

I fire up SDRConsole, Select Radio (List is empty, add definitions now?) and I say, Yes...

Search -> bladeRF returns result, "Nothing found, sorry!"

< this is the part where I cry like a little girl ;) >

Here's the dump of the log fine from SDR Console, version 2.3, build 2381

18:19:26> Instance
18:19:26> This is the only instance ......: Yes
18:19:26> Single instance mutex created ..: Yes
18:19:26> Single instance mutex handle ...: 00000128
18:19:26> Single instance mutex class ....: SDR-Radio-Console-App-0-0
18:19:26> Previous instance active state .: Clear
18:19:26>
18:19:26> Threads
18:19:26> Initialising
18:19:26> ASIO
18:19:26> 0 devices found
18:19:26> CPU
18:19:26> CPU is low power
18:19:26> Logical CPUs: 6
18:19:26> Frequency: 3.32 MHz
18:19:26> Cores on die: 6
18:19:26> Features: [X] Intel Architecture MMX technology supported
18:19:26> Features: [X] Streaming SIMD Extensions
18:19:26> Features: [X] Streaming SIMD Extensions 2
18:19:26> Features: [X] Streaming SIMD Extensions 3
18:19:26> Features: [_] Supplemental Streaming SIMD Extensions 3
18:19:26> Features: [_] The processor supports MOVBE instruction
18:19:26> Features: [_] Streaming SIMD Extensions 4.1
18:19:26> Features: [_] Streaming SIMD Extensions 4.2
18:19:26> Features: [_] Advanced Vector Extensions instruction set
18:19:26> Features: [_] The operating system supports AVX
18:19:26> Features: [_] AES instruction
18:19:26> Features: [_] PCLMULQDQ instruction
18:19:26> Features: [_] Read Random Number instructions
18:19:26> Features: [_] Float16 instructions
18:19:26> Features: [_] Advanced Vector Extensions 2 instruction set (AVX2)
18:19:26> Features: [_] ADCX and ADOX instructions
18:19:26> Features: [_] The RDSEED instruction
18:19:26> Features: [X] The PREFETCHW instruction
18:19:26> Features: [_] Knights Corner instruction set
18:19:26> Not enabled: The PREFETCHW instruction
18:19:26> Cache size: 0
18:19:26> Open MP
18:19:26> Threads 2, check 0: 1, 1: 1
18:19:26> Cache
18:19:26> Internal data cache is 400 megabytes
18:19:26> Server Interface
18:19:26> Local initialisation
18:19:29> DLL
18:19:29> File .............: C:\Program Files\SDR-RADIO-PRO.com\SDRSourceAfedriLAN.dll
18:19:29> Name .............: Afedri-SDR (LAN)
18:19:29> Date .............: Feb 3 2016, 17:25:00
18:19:29> Unique ID ........: Afedri-LAN
18:19:29> Version ..........: 1.0.0
18:19:29> -
18:19:29> File .............: C:\Program Files\SDR-RADIO-PRO.com\SDRSourceAfedriUSB.dll
18:19:29> Name .............: Afedri-SDR (USB)
18:19:29> Date .............: Feb 3 2016, 17:25:04
18:19:29> Unique ID ........: Afedri-USB
18:19:29> Version ..........: 1.0.0
18:19:29> -
18:19:30> File .............: C:\Program Files\SDR-RADIO-PRO.com\SDRSourceAirspy.dll
18:19:30> Name .............: Airspy
18:19:30> Date .............: Feb 3 2016, 17:25:21
18:19:30> Unique ID ........: Airspy.com
18:19:30> Version ..........: 1.0.0
18:19:30> -
18:19:30> File .............: C:\Program Files\SDR-RADIO-PRO.com\SDRSourceAndrusMK1d5.dll
18:19:30> Name .............: SDR MK1.5 Andrus
18:19:30> Date .............: Feb 3 2016, 17:25:03
18:19:30> Unique ID ........: SDR MK1.5 Andrus
18:19:30> Version ..........: 1.0.0
18:19:30> -
18:19:31> File .............: C:\Program Files\SDR-RADIO-PRO.com\SDRSourceBladeRF.dll
18:19:31> Name .............: bladeRF
18:19:31> Date .............: Feb 3 2016, 17:25:11
18:19:31> Unique ID ........: Nuand-BladeRF
18:19:31> Version ..........: 1.0.0
18:19:31> -
18:19:32> File .............: C:\Program Files\SDR-RADIO-PRO.com\SDRSourceEladFDMS1.dll
18:19:32> Name .............: ELAD FDM-S1/S2
18:19:32> Date .............: Feb 3 2016, 17:25:14
18:19:32> Unique ID ........: ELAD-FDM-S1LAN
18:19:32> Version ..........: 1.0.0
18:19:32> -
18:19:33> File .............: C:\Program Files\SDR-RADIO-PRO.com\SDRSourceEttus.dll
18:19:33> Name .............: Ettus Research (all models)
18:19:33> Date .............: Feb 3 2016, 17:24:53
18:19:33> Unique ID ........: Ettus001
18:19:33> Version ..........: 1.0.0
18:19:33> -
18:19:33> File .............: C:\Program Files\SDR-RADIO-PRO.com\SDRSourceFUNcube.dll
18:19:33> Name .............: FUNcube Dongles
18:19:33> Date .............: Feb 3 2016, 17:24:56
18:19:33> Unique ID ........: FUNcube
18:19:33> Version ..........: 1.0.0
18:19:33> -
18:19:33> File .............: C:\Program Files\SDR-RADIO-PRO.com\SDRSourceHackRF.dll
18:19:33> Name .............: HackRF
18:19:33> Date .............: Feb 3 2016, 17:25:21
18:19:33> Unique ID ........: HackRF One
18:19:33> Version ..........: 1.0.0
18:19:33> -
18:19:34> File .............: C:\Program Files\SDR-RADIO-PRO.com\SDRSourceNetSDR.dll
18:19:34> Name .............: RFspace: CloudIQ, CloudSDR, NetSDR, SDR-IP
18:19:34> Date .............: Feb 3 2016, 17:24:54
18:19:34> Unique ID ........: RFspace001
18:19:34> Version ..........: 1.0.0
18:19:34> -
18:19:34> File .............: C:\Program Files\SDR-RADIO-PRO.com\SDRSourcePappradio.dll
18:19:34> Name .............: Pappradio
18:19:34> Date .............: Feb 3 2016, 17:24:51
18:19:34> Unique ID ........: Pappradio001
18:19:34> Version ..........: 1.0.0
18:19:34> -
18:19:35> File .............: C:\Program Files\SDR-RADIO-PRO.com\SDRSourcePerseus.dll
18:19:35> Name .............: Microtelecom: Perseus
18:19:35> Date .............: Feb 3 2016, 17:25:13
18:19:35> Unique ID ........: Microtelecom001
18:19:35> Version ..........: 1.0.0
18:19:35> -
18:19:35> File .............: C:\Program Files\SDR-RADIO-PRO.com\SDRSourceRTL2832U.dll
18:19:35> Name .............: RTL SDR (USB)
18:19:35> Date .............: Feb 9 2013, 21:32:33
18:19:35> Unique ID ........: RTL SDR (USB)
18:19:35> Version ..........: 1.0.0
18:19:35> -
18:19:36> File .............: C:\Program Files\SDR-RADIO-PRO.com\SDRSourceRTLSDR.dll
18:19:36> Name .............: RTL SDR (TCP)
18:19:36> Date .............: Feb 3 2016, 17:25:09
18:19:36> Unique ID ........: RTL SDR (TCP)
18:19:36> Version ..........: 1.0.0
18:19:36> -
18:19:36> File .............: C:\Program Files\SDR-RADIO-PRO.com\SDRSourceSDRIQ.dll
18:19:36> Name .............: RFspace: SDR-IQ and SDR-14
18:19:36> Date .............: Feb 3 2016, 17:24:53
18:19:36> Unique ID ........: RFspace002
18:19:36> Version ..........: 1.0.0
18:19:36> -
18:19:37> File .............: C:\Program Files\SDR-RADIO-PRO.com\SDRSourceSDRplay.dll
18:19:37> Name .............: SDRplay
18:19:37> Date .............: Feb 3 2016, 17:25:24
18:19:37> Unique ID ........: SDRplay
18:19:37> Version ..........: 1.0.0
18:19:37> -
18:19:37> File .............: C:\Program Files\SDR-RADIO-PRO.com\SDRSourceSoftRockSi570.dll
18:19:37> Name .............: SoftRock (Si570)
18:19:37> Date .............: Feb 3 2016, 17:25:01
18:19:37> Unique ID ........: SoftRock (Si570)
18:19:37> Version ..........: 1.0.0
18:19:37> -
18:19:37> File .............: C:\Program Files\SDR-RADIO-PRO.com\SDRSourceSoftRockXTAL.dll
18:19:37> Name .............: SoftRock (XTAL)
18:19:37> Date .............: Feb 3 2016, 17:25:12
18:19:37> Unique ID ........: SoftRock (XTAL)
18:19:37> Version ..........: 1.0.0
18:19:37> -
18:19:37> MIDI
18:19:37> Starting
18:19:37> Startup
18:19:37> Program started in 16.274 seconds
18:19:37> Input thread
18:19:37> Ok
18:19:37> IPServer
18:19:37> Loading definition
18:19:37> IPServer-Command
18:19:37> Loading definition
18:19:38> Audio
18:19:38> Channel .......................:
18:19:38> Opening .......................: Default Device, (ID = 0)
18:19:38> WAVEFORMATEX.cbSize ...........: 18
18:19:38> WAVEFORMATEX.wFormatTag .......: 1
18:19:38> WAVEFORMATEX.nChannels ........: 2
18:19:38> WAVEFORMATEX.nSamplesPerSec ...: 48000
18:19:38> WAVEFORMATEX.nAvgBytesPerSec ..: 96000
18:19:38> WAVEFORMATEX.nBlockAlign ......: 4
18:19:38> WAVEFORMATEX.wBitsPerSample ...: 16
18:19:38> Afedri-SDR (LAN)
18:19:38> DLL initialised
18:19:38> Afedri-SDR (USB)
18:19:38> DLL initialised
18:19:38> SDR MK1.5 Andrus
18:19:38> DLL initialised
18:19:38> bladeRF
18:19:38> DLL initialised
18:19:38> ELAD FDM-S1/S2
18:19:38> DLL initialised
18:19:38> Ettus Research (all models)
18:19:38> DLL initialised
18:19:38> Boost: Platform=Win32; Compiler=Microsoft Visual C++ version 10.0; Version=Boost_1_56_0
18:19:38> UHD: Version=UHD_3.7.1-0
18:19:38> FUNcube Dongles
18:19:38> DLL initialised
18:19:38> HackRF
18:19:38> DLL initialised
18:19:38> RFspace: CloudIQ, CloudSDR, NetSDR, SDR-IP
18:19:38> DLL initialised
18:19:38> Pappradio
18:19:38> DLL initialised
18:19:38> RTL SDR (USB)
18:19:38> DLL initialised
18:19:38> RTL SDR (TCP)
18:19:38> DLL initialised
18:19:38> RFspace: SDR-IQ and SDR-14
18:19:38> DLL initialised
18:19:38> SDRplay
18:19:38> DLL initialised
18:19:38> SoftRock (Si570)
18:19:38> DLL initialised
18:19:38> Opened OK
18:19:38> Adding buffers
18:19:38> Buffers to add ................: 1000
18:19:38> Buffer size ...................: 384 bytes
18:19:38> Buffer latency ................: 2 ms
18:19:38> Buffering in seconds ..........: 2
18:19:38> Ready
18:19:43> bladeRF
18:19:43> Probing...
18:19:43> Error: No devices found.
18:19:52> Probing...
18:19:52> Error: No devices found.
18:20:11> Probing...
18:20:11> Error: No devices found.

Thanks for your help!

Bob
drbob
Posts: 39
Joined: Sat Mar 29, 2014 11:22 am

Re: A Suggestion or Request

Post by drbob »

PS - dropped you a PM with an indecent proposal... LOL
jynik
Posts: 455
Joined: Thu Jun 06, 2013 8:15 pm

Re: A Suggestion or Request

Post by jynik »

Hi Bob,

I'll try to see if I can dig a bit deeper into this over the weekend. In the meantime, could you try e



(1) Copy the DLL from the bladeRF installation (bladeRF.dll) into the SDR Console installation. Be sure to back up the bladeRF.dll the Simon ships, just to be safe.

(2) Re-run the latest windows installer (2016.01-r1) from here and install the Cypress driver.

I am wondering if Simon's latest build doesn't have the libusb support baked in and will have to check this for myself on Saturday or Sunday. If this guess is correct, one of these two things could address this for you.
drbob
Posts: 39
Joined: Sat Mar 29, 2014 11:22 am

Re: A Suggestion or Request

Post by drbob »

Whew...

Well, we're up and running - installing the latest version (RC) and the Cypress driver brought this puppy to life.

Thanks, Jon, for your instructions/guidance - it did the job.

So if I may abuse your attention for a moment: Do we know anything about any pre-compiled packages (Windows) that take advantage of the Tx capability of this unit at this time? I was hoping Simon's package would provide that resource, but it doesn't appear to be the case yet. Sounds like a move to Linux may be taking place sooner than later to take complete advantage of the bladeRF?

Bob
jynik
Posts: 455
Joined: Thu Jun 06, 2013 8:15 pm

Re: A Suggestion or Request

Post by jynik »

Hi Bob,

Glad to hear that you're back up and running! I'll try to look into the situation with SDR Console and the bladeRF.dll it ships, and get in contact with Simon to see what we can do for him to make things easier for him and the community.

I really don't know of too many Windows programs that expose TX capabilities of the bladeRF.

The lone one that comes to mind is Pothos, which runs on Windows, OSX, and Linux IIRC. You can find a tutorial here that appears to be running on Windows. The author, Josh Blum, has done some excellent work with the underlying API to interface with hardware (SoapySDR, which has a bladeRF plugin).

If you want to dive into the Linux side of things, the GNU Radio is another option. There's an Ubuntu-based bootable GNU Radio live image to let you test drive things without installing a Linux OS on your system.

You can always start to develop your own code, of course. It's kind of the point of the open source nature of the project. :)

Happy SDR-ing!
- Jon
jynik
Posts: 455
Joined: Thu Jun 06, 2013 8:15 pm

Re: A Suggestion or Request

Post by jynik »

Whoops - just a random thought. What version of Windows are you running?

I just remembered there might have been a libusb issue (that was fixed in newer versions) related to a failure to detect USB3 devices due to an API change in some Windows libraries... hopefully I'm remembering that correctly. Just trying to piece together your situation before I bug a busy Simon with any questions. ;)
drbob
Posts: 39
Joined: Sat Mar 29, 2014 11:22 am

Re: A Suggestion or Request

Post by drbob »

Hi Jon,

I'll check into the links you shared and see where they take me. Can only hurt for a minute, right? LOL

Bob
drbob
Posts: 39
Joined: Sat Mar 29, 2014 11:22 am

Re: A Suggestion or Request

Post by drbob »

This is a Windows 7 Home Premium setup, fully updated.
jynik wrote:Whoops - just a random thought. What version of Windows are you running?

I just remembered there might have been a libusb issue (that was fixed in newer versions) related to a failure to detect USB3 devices due to an API change in some Windows libraries... hopefully I'm remembering that correctly. Just trying to piece together your situation before I bug a busy Simon with any questions. ;)
Post Reply