SmartSDR v4.2.18 | SmartSDR v4.2.18 Release Notes
SmartSDR v3.10.15 | SmartSDR v3.10.15 Release Notes
The latest 4O3A Genius Product Software:
The latest 4O3A Genius Product Software and Firmware
If you are needing assistance with FlexRadio products, please refer to the product documentation or check the Help Center for known solutions. Need technical support from FlexRadio? It's as simple as creating a HelpDesk ticket.
SolidSDR: Web-based FlexRadio client (open source, cross-platform)
For about the past year, I've been working on a cross-platform FlexRadio client that runs in a web browser that I'm calling SolidSDR. My goal was to be able to use my radio from basically any device that can run a web browser. I'm shooting for as close as I can get to feature parity with SmartSDR, and I've made some great progress, especially so far this year. Although it's far from complete, I've been enjoying using it for several months and decided it was time to get some other people testing it.
I'm providing builds for Mac/Linux/Windows, and the server can run on just about anything, the resource requirements are very low, it just needs a good network connection. The easiest way to try it out is to go to the GitHub page, download the build your platform, run the server and just navigate to http://localhost:8080. There are more detailed instructions on the GitHub page.
Many, many things are working today, including DAX of a sort... you can pass DAX streams through any audio devices that are visible to your web browser. Latency is surprisingly good, and I've been very successful using FT8/FT4/FT2 this way with VB Audio Cable on an M1 Mac.
The usual warnings apply, of course. I've only been able to test this with my radio, so you may run into some problems that I haven't been able to anticipate. If you do, please let me know. I can't promise it will work on firmwares other than the 4.x series. There are some... caveats due to this not being a "native" app, but I'll discuss more of those in a follow-up post, along with some more information about the project.
GitHub: https://github.com/daveisadork/solid-sdr
Comments
-
SolidSDR works as a server which bridges the connection to the radio over WebRTC (the same technology that powers things like Google Meet), and a web application that uses that to talk to the radio. As it turns out, WebRTC works *extremely* well for the type of network communication one needs to have with a FlexRadio, but it's not without drawbacks. The biggest one is that it requires HTTPS. If you're running solid-sdr-server on the same machine you're using to connect to it (i.e. you're accessing it through http://localhost:8080), then you'll be able to use it no problem.
However, if you want to access it from a different computer, or over the internet, then you'll have to find a way to make that connection happen over HTTPS. Hopefully in the future I can find a way to make setting that up relatively painless, but for now the best advice I can give you is to try something that can do automatic HTTPS like Caddy (https://caddyserver.com/docs/automatic-https). If you want to access it over the internet, you'll also need to forward UDP port 50313 to solid-sdr-server for the WebRTC connection.
The other annoying drawback of browser security is that with the current model, there's no way to implement support for SmartLink. But, it wouldn't really make sense to use it with something like SolidSDR anyway... you'd run the solid-sdr-server on the same network as your radio, and then connect to it over the internet directly rather than using SmartLink. The big exception would be if your ISP uses CGNAT or something that prevents you from opening ports up to the internet.
While we're on the subject of limitations, the other big one is that there isn't a way to do CAT or VSP through just a web browser. We may have a way to work around some of these things in the future by packaging SolidSDR up as a desktop app, but I don't have any immediate plans for that yet.
Most of the command/control, configuration, audio, etc is working today. Some of the remaining things that aren't yet implemented but should be possible include:
- FlexControl. I don't have one so I can't really test it... we do have *excellent* support for MIDI controllers, though.
- DAX IQ. I just haven't found a use-case to be able to test it. I suspect it'll be finicky due to the high sample rates involved and the lack of direct control over audio hardware we get with a web browser, but it might work.
- TGXL/PGXL/etc there shouldn't be any reason these can't be supported, I just don't have access to units to develop against
- CWX and DVK I just haven't got around to yet
- Same with USB cables
- Waveform/WFP, RapidM, etc I haven't looked at yet. I don't even know if my radio supports them.
- Multiple panadapters technically works, but the UX is not great. If you are someone that makes heavy use of that feature, I'd be interested to hear how you use it.1 -
v0.1.1 is out with a waveform manager, better handling of FDV modes, and a new modal for viewing all available meters.0
-
SolidSDR v0.1.2 is out!
https://github.com/daveisadork/solid-sdr/releases/tag/v0.1.2
- Adds a new Profile Manager Dialog
- Adds a new Profiles section in the panafall context menu for saving, creating, or selecting global profiles. The panafall context menu is accessed by right clicking (or long-pressing on touch devices) in the panadapter or waterfall.
- Adds dropdown menus next to the TX and Mic profile selections in the radio sidebar for profile management, along with a new indicator when a profile has unsaved changes.0 -
Thank you for your effort on this, Dave (?). I've often thought that FlexRadios ought to have implemented and included a web-interface for operating, in addition to the API. My printers have had this feature (web-management-interface) for decades 😁
I've got a lot on my plate right now, but I'm keeping a close eye on your GitHub, and also reading here.
At this moment, my basic idea (for August time-frame) is to spin up a Debian virtual-machine (alongside the 7 others on my Gentoo host), just to host your solid-sdr. This'll make sure things are as un-complicated and de-coupled as possible. For remote access, I already have an HTTPS proxy/reverse proxy (using Apache), with both LDAP-backed authentication / authourization. . . so I am comfortable that I have a great foundation for secure webRTC interaction with my Flex 6400.
0 -
That was my thinking as well :D I chose the MIT license intentionally in case someone ever felt like including this or something like it in the radio firmware (wink wink, nudge nudge).
>I already have an HTTPS proxy/reverse proxy (using Apache), with both LDAP-backed authentication / authourization. . . so I am comfortable that I have a great foundation for secure webRTC interaction with my Flex 6400.
Yeah, that will work great. I'm doing something similar (Docker+nginx for TLS termination). When you set up your port forwarding, you need 8080 or whatever you use for the HTTP server as well as UDP 50313 for WebRTC. Let me know how it goes when you try it out!0
Leave a Comment
Categories
- All Categories
- 393 Community Topics
- 2.2K New Ideas
- 669 The Flea Market
- 8.5K Software
- 174 SmartSDR+
- 6.5K SmartSDR for Windows
- 191 SmartSDR for Maestro and M models
- 451 SmartSDR for Mac
- 276 SmartSDR for iOS
- 266 SmartSDR CAT
- 215 DAX
- 389 SmartSDR API
- 9.5K Radios and Accessories
- 73 Aurora
- 317 FLEX-8000 Signature Series
- 7.2K FLEX-6000 Signature Series
- 981 Maestro
- 58 FlexControl
- 869 FLEX Series (Legacy) Radios
- 952 Genius Products
- 474 Power Genius XL Amplifier
- 349 Tuner Genius XL
- 129 Antenna Genius
- 311 Shack Infrastructure
- 217 Networking
- 474 Remote Operation (SmartLink)
- 143 Contesting
- 834 Peripherals & Station Integration
- 146 Amateur Radio Interests
- 1.1K Third-Party Software