New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LimeSDR: Failed to receive stream #324
Comments
Thanks for testing the most recent version of LimeSuite @romeojulietthotel . For a more detailed analysis from URH you could do
But I fear the LimeSuite API keeps changing in non backward compatible way. Not sure how to deal with this. |
Couple of things, I had to modify TestLimeSDR.py and move the But maybe this is all due to python3.6.0?? Or have I done something wrong and it's revealed in the output? I do not know how to reset the build environment between invocations of
so possibly that is part of the issue here?? e.g. I noticed urh/tmp/ does not get cleaned out ======================================================================
ERROR: test_cython_wrapper (__main__.TestLimeSDR)
----------------------------------------------------------------------
Traceback (most recent call last):
File "./TestLimeSDR.py", line 87, in test_cython_wrapper
print("RX 0 current antenna BW", limesdr.get_antenna_bw(limesdr.get_antenna()))
File "src/urh/dev/native/lib/limesdr.pyx", line 308, in src.urh.dev.native.lib.limesdr.get_antenna_bw (src/urh/dev/native/lib/limesdr.cpp:5419)
OverflowError: can't convert negative value to size_t |
You can build / rebuild the device extensions by calling
right from inside the cloned repo. This way, there is also no need to install it, you can directly call the tests from the The error is pretty interesting indeed. It indicates, that the output of |
You're right about the problem coming before. I didn't scroll back far enough (I thought I had). Looks very similar to issue #233 which I'll look at and try the FIFO sizes. This starts to feel like whack-a-mole in that a problem is fixed here but it was actually because there was a subtle bug in limesuite, then the limesuite bug is fixed and our fix is no longer working. TuneVCO(SXR) - VCO too low
Setup stream 0
Start stream 0
Stop stream 0
Destroy stream 0
b'\x00\x00\x00\x00\x00\x01\x00\xba [...] (more hex bytes not displayed)'
TuneVCO(SXR) - VCO too low
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Aborted |
Thanks for your effort so far! Did you have any success with tuning the FIFO sizes? In fact, lowering the FIFO size may help here, because a quick $ grep "bad_alloc" src/ConnectionSTREAM/ConnectionSTREAMing.cpp
catch (const std::bad_alloc &ex)
catch (const std::bad_alloc& ex) //not enough memory for buffers indicates, that it may run out of memory somehow. |
I have a similar problem except after two blocks of hex bytes I get a dtype error on line 416 of limesdr.pyx for "expected 'float' but got 'complex float'" for 'samples'. I have tried a few things to recast 'samples' but I am not familiar with cython and the internet has not been much help. I have yet to get a meaningful signal from URH, even hooked to a signal generator. Many other programs are working on my LimeSDR. |
@mntnmn that is a pretty weird error indeed! Could you try to change return complex_samples.view(np.float32) to return complex_samples.astype(np.float32) just to be absolutely sure we pass a float array to Lime API. |
I'm back at the SDR and tried the edit. Still the same. Exact message
|
Oh so you are running the unit test. I just had a look and added a cast to the test data in 571cd68. However, as you could receive during tests your LimeSDR should work in the main application, doesn't it? |
The received signal is meaningless. Like noise that is amplified and digitally distorted. It jumps when I touch the board in the receive area. But not the way I see it in other programs. That is why I ran the test mentioned in this thread. It seemed like the same problem until I got a different error. I am just trying to find out what is and is not working so I can describe the problem better. Poking around at the application has turned up a few symptoms. Some are from the Lime, such as it gets locked up when changing sample rates and bandwidth while it 's streaming. But I can not see any modulated signal or even a plain carrier on URH spectrum display. |
Just performed a cmphl = (uint8_t)Get_SPI_Reg_bits(addrCMP, 13, 12, true);
if(cmphl == 0) //VCO too low
{
this->SetActiveChannel(ch); //restore previously used channel
return ReportError(-1, "TuneVCO(%s) - VCO too low", moduleName);
} so it may definitely be a cause of the problem, because it restores the previously used channel and therefore won't tune to the channel that URH wants. Any idea what we can do about that? |
I think this is one for dicourse.myriadrf.org. I sometimes make a change in LimeSuiteGui that gives this error or 'too high' and I am unable to even get back to where I was before. But if I start over from the beginning I may be able to make the change I wanted. I think this is causing errors in other programs, too, but is not output to see. |
@mntnmn you are right, there was another error at the bottom of the test. This is fixed now. Just got hands on my LimeSDR and could verify the test is working now. |
After looking through the test code and the output I think the TuneVCO message is unrelated. Just the last thing in the error message queue.
In the application I can get a meaningful signal by changing the frequency and sampling rates to something significantly different, then back. It seems there is something wrong with the initial settings. |
Thanks for this hint, I just had a deeper look on that. It seems that in recent driver versions the channel of limesdr needs to be activated at first or no other settings will take effect. I fixed this in 4e98ef3. I could verify this is working on Arch Linux with LimeSuite 17.09 and Ubuntu 16.04 with LimeSuite 17.06. |
I will close here, as the issue should be fixed with 4e98ef3. Drop a comment here or simply create a new issue if there are still problems with LimeSDR. |
Will try this out as soon as I can. Thanks for all your efforts. I have been doing a clean up of my environment since it was getting too fragmented and so nothing's as it was. I was successful building gnuradio.git/soapy/limesuite and that is the hard part, so next I will work on urh. |
I did a git pull and re-ran what I always (see my comment above) use but get a failure not finding pyqt5. Maybe I'll file a new issue.... |
As you mentioned that you reset your environment, maybe a |
Yes, I did do that. But I also installed that first via the OS. I also built python3 from source, installed that and then created a virtualenv from that. I have some other things to try. |
Expected Behavior
Capture signals and display them.
Actual Behavior
No signals captured. Here's the error on stdout:
[WARNING::LimeSDR.py::receive_sync] LimeSDR: Failed to receive stream
I can access the board fine with LimeSuiteGui
Steps to Reproduce the Problem
Platform Specifications
[X] from source
I think this may be related to issue #297 but I'm not sure. Filing this in case it's unrelated.
The text was updated successfully, but these errors were encountered: