2020年5月3日星期日

Windows GNU Radio “Failed to open HackRF device” when using osmocom sink with Hackrf One

Got my new Hackrf One today. It works fine in GNU Radio as an osmocom source. But when I tried to use it with as an osmocom sink , I got a problem.

First the grc graph:
 
For making GNU Radio to connect Hackrf One, I set the "Device Arguments" to "hackrf=0" same as in osmocom source block which works fine. And I found this argument in the documentation of the block.
 

Then I execute the flow graph and get the error:


This really confuses me... Same hardware, same driver, same pc...

OK, time to read some codes.
At last, I found this code:
https://git.osmocom.org/gr-osmosdr/tree/lib/hackrf/hackrf_common.cc



It seems when osmocom block is finding a hackrf device with specified serail number given by the block properties window.
Then I tried to remove the "=0" texts from arguments.
Yeah, it worked...

 Just like the osmocom source block.

But the "=0" argment takes no effect on osmocom source block...
Why...
🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔