Jump to: navigation, search

Difference between revisions of "LimeSDR on FreeBSD"

(Created page with " {{Community}}")
 
(Initial version. Reprint of https://github.com/myriadrf/LimeSuite/wiki/LimeSDR-on-FreeBSD.)
Line 1: Line 1:
 +
= LimeSDR on FreeBSD =
  
 +
Work in progress, stay tuned :-)
 +
 +
People involved: [https://github.com/JanBeh janBeh], [https://github.com/hselasky HPS], [https://github.com/cederom/ CeDeROM], [https://github.com/DianeBruce DB].
 +
 +
== LimeSDR utilities on FreeBSD ==
 +
 +
=== GQRX + LimeSDR Mini. ===
 +
* TODO
 +
 +
=== LimeSuite FreeBSD Port. ===
 +
* [DONE] source port <code>portsnap</code> and binary package <code>pkg</code> available for everyone.
 +
* [DONE] commit to port tree: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252032.
 +
* [DONE] LimeSuite + SoapySDR module build.
 +
* [ONGO] build fix / patch upstream.
 +
** [ONGO] cmake: https://github.com/myriadrf/LimeSuite/pull/329.
 +
** [ONGO] wxString debug: https://github.com/myriadrf/LimeSuite/pull/332.
 +
** [ONGO] connection remote: https://github.com/myriadrf/LimeSuite/pull/333.
 +
** [ONGO] stream unit constructor: https://github.com/myriadrf/LimeSuite/pull/336.
 +
** [ONGO] stream unite header: https://github.com/myriadrf/LimeSuite/pull/337.
 +
* [TODO] less verbose console output even for GUI application.
 +
** one way to control LibUSB verbosity is using environmental variables like <code>LIBUSB_DEBUG=0 LimeSuiteGUI</code>.
 +
* [DONE] compiler/linker errors in the Lime Suite (which contains more than the SoapySDR driver).
 +
 +
 +
== Known problems ==
 +
 +
=== Software / Utilities ===
 +
 +
==== LimeSuite and SoapySDR cannot open LimeSDR USB device while detect works fine. ====
 +
* [ONGO] problem fixed. upstream / firmware updated.
 +
** [TODO] make solution public.
 +
** [TODO] verify the solution.
 +
** [TODO] fix the device open problem.
 +
* [TODO] unable to open usb device - find a cause of the problem - probably a LibUSB reset related.
 +
* [DONE] Make LimeSuite work with SoapySDR (LimeSuite generates a driver for SoapySDR).
 +
* [DONE] Create LimeSuite port for FreeBSD.
 +
 +
==== wx assertions on application startup. ====
 +
* [TODO] problem fixed. upstream / firmware updated.
 +
* [TODO] cause found.
 +
* [DONE] report issue on upstream github, done: https://github.com/myriadrf/LimeSuite/issues/338.
 +
 +
 +
=== Software / OS / FreeBSD ===
 +
 +
==== Excessive debug output. ====
 +
* [ONGO] problem fixed. upstream / firmware updated.
 +
** [TODO] make solution public.
 +
** [TODO] verify the solution.
 +
** [TODO] fix the device open problem.
 +
* Likely setting the verbosity level to a different value in FreeBSD could fix the  issue, as maybe libusb on FreeBSD is just more verbose, but I’m not sure if there are any real errors or issues).
 +
* one way to control LibUSB verbosity is using environmental variables like <code>LIBUSB_DEBUG=0 LimeSuiteGUI</code>.
 +
 +
 +
=== Firmware / USB ===
 +
 +
==== USB reset. ====
 +
* This is a FreeBSD related issue. See post on the freebsd-usb mailinglist: https://lists.freebsd.org/pipermail/freebsd-usb/2020-July/016715.html and its follow-ups.
 +
* [TODO] analyze LibUSB reset problem that prevents LimeSDR working on FreeBSD.
 +
* [TODO] enabling non-root FreeBSD users to execute a reset or removing the call from the driver, we’re still debating on how or if the first can be achieved)
 +
 +
 +
=== Firmware / RADIO ===
 +
 +
==== `LimeSDR-Mini` Hardware Self-Test fail with `LimeQuickTest`. ====
 +
* [TODO] problem won't fix: changes to testing application not welcome (see https://github.com/myriadrf/LimeSuite/issues/339).
 +
* [TODO] cause found: tests need to be performed with antennas disconnected (both RX and TX port empty) and device should be cold (board temperature over 40C will fail <code>RF Loopback Test</code>).
 +
* [TODO] report issue on upstream github, done: https://github.com/myriadrf/LimeSuite/issues/339
 +
* [TODO] some tests fail, depends on hardware and firmware relese. verify. confirmed with @cederom device on FreeBSD.
 +
 +
==== MCU error 3 / SXR tune failed. ====
 +
* Issue seems to be reproducible with a [test program](https://sapphire.magnetkern.de/paste_1d1b4528287690e1e2dc1200acb41427/limetest_2020-09-03_0731Z.c). Under FreeBSD, ensure that ``libLMS7Support.so`` of Lime Suite has been installed in `/usr/local/lib/SoapySDR/modules0.7` and compile with: <code>cc -Wall -o limetest-mcu-error -I /usr/local/include limetest_2020-09-03_0731Z.c -L /usr/local/lib -l SoapySDR</code>. Further notes on that issue can be found in the thread [MCU error 3 (SXR tune failed) on LimeSDR USB](https://discourse.myriadrf.org/t/mcu-error-3-sxr-tune-failed-on-limesdr-usb/5303).
 +
* [TODO] problem fixed. upstream / firmware updated.
 +
* [TODO] cause found.
 +
* [DONE] report issue on upstream, done: https://github.com/myriadrf/LimeSuite/issues/340 and https://github.com/myriadrf/LimeSDR-Mini/issues/2.
 +
 +
= References =
 +
* [Lime Micro](https://limemicro.com/) - Software defined radio technology for wireless networks.
 +
* [LimeSDR](https://myriadrf.org/projects/component/limesdr/) - project main site.
 +
* [LimeSDR-Mini](https://github.com/myriadrf/LimeSDR-Mini) - open-source device repository.
 +
* [FreeBSD](https://www.freebsd.org) - FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms.
 +
* [FreshPorts](https://www.freshports.org/) - The Place For FreeBSD Ports - Most recent commits.
  
 
{{Community}}
 
{{Community}}

Revision as of 16:52, 14 January 2021

1 LimeSDR on FreeBSD

Work in progress, stay tuned :-)

People involved: janBeh, HPS, CeDeROM, DB.

1.1 LimeSDR utilities on FreeBSD

1.1.1 GQRX + LimeSDR Mini.

  • TODO

1.1.2 LimeSuite FreeBSD Port.


1.2 Known problems

1.2.1 Software / Utilities

1.2.1.1 LimeSuite and SoapySDR cannot open LimeSDR USB device while detect works fine.

  • [ONGO] problem fixed. upstream / firmware updated.
    • [TODO] make solution public.
    • [TODO] verify the solution.
    • [TODO] fix the device open problem.
  • [TODO] unable to open usb device - find a cause of the problem - probably a LibUSB reset related.
  • [DONE] Make LimeSuite work with SoapySDR (LimeSuite generates a driver for SoapySDR).
  • [DONE] Create LimeSuite port for FreeBSD.

1.2.1.2 wx assertions on application startup.


1.2.2 Software / OS / FreeBSD

1.2.2.1 Excessive debug output.

  • [ONGO] problem fixed. upstream / firmware updated.
    • [TODO] make solution public.
    • [TODO] verify the solution.
    • [TODO] fix the device open problem.
  • Likely setting the verbosity level to a different value in FreeBSD could fix the issue, as maybe libusb on FreeBSD is just more verbose, but I’m not sure if there are any real errors or issues).
  • one way to control LibUSB verbosity is using environmental variables like LIBUSB_DEBUG=0 LimeSuiteGUI.


1.2.3 Firmware / USB

1.2.3.1 USB reset.

  • This is a FreeBSD related issue. See post on the freebsd-usb mailinglist: https://lists.freebsd.org/pipermail/freebsd-usb/2020-July/016715.html and its follow-ups.
  • [TODO] analyze LibUSB reset problem that prevents LimeSDR working on FreeBSD.
  • [TODO] enabling non-root FreeBSD users to execute a reset or removing the call from the driver, we’re still debating on how or if the first can be achieved)


1.2.4 Firmware / RADIO

1.2.4.1 `LimeSDR-Mini` Hardware Self-Test fail with `LimeQuickTest`.

  • [TODO] problem won't fix: changes to testing application not welcome (see https://github.com/myriadrf/LimeSuite/issues/339).
  • [TODO] cause found: tests need to be performed with antennas disconnected (both RX and TX port empty) and device should be cold (board temperature over 40C will fail RF Loopback Test).
  • [TODO] report issue on upstream github, done: https://github.com/myriadrf/LimeSuite/issues/339
  • [TODO] some tests fail, depends on hardware and firmware relese. verify. confirmed with @cederom device on FreeBSD.

1.2.4.2 MCU error 3 / SXR tune failed.

2 References