Cómo Instalar OpenWebRX+ en Windows WSL: Guía Paso a Paso

162
0
Compartir

En este artículo de Cómo Instalar OpenWebRX+ en Windows WSL (Windows Subsystem for Linux), te guiaremos paso a paso el como Instalar y configuración muy básica para poner en marcha OpenWebRX+ en Windows 10 en adelante, ya que con WSL, se pueden ejecutar aplicaciones Linux en un PC con Windows sin necesidad de usar una máquina virtual o hacer dual boot.

Comentar que se va instalar en modo Local sin salida a Internet usando un Receptor RTL-SDR y poderlo usar como si de un programa se tratase, de manera lo más sencilla posible incluso si no tienes experiencia previa con Linux o la línea de comandos, y que sirva de guía para Dummies o PRINCIPIANTES 

Antes de nada quiero dar las gracias a Juan Carlos – EA5WA que sin su ayuda y su tutorial no me hubiese dado por hacerlo, y a Niceto – EA5ZL que fue quien le instaló todo lo necesario y le dio la idea a Juan Carlos.

Que es OpenWebRX+

OpenWebRX+ es un servidor web SDR que se instala sobre Linux el cual permite a los usuarios sintonizar y escuchar transmisiones de radio en tiempo real a través de internet o en local en vuestro ordenador. La versión Plus o + es una versión mejorada de OpenWebRX, que está diseñada para proporcionar una experiencia más robusta y fácil de usar.

En términos simples, OpenWebRX+ convierte una radio definida por software (SDR, por sus siglas en inglés) en una estación de radio en línea que cualquier persona puede acceder desde su navegador web. Esto significa que puedes escuchar emisiones de radio de todo el mundo sin necesidad de tener un equipo físico especializado, solo necesitas una conexión a internet y un navegador.

La plataforma está dirigida a entusiastas de la radio, ya que ofrece herramientas avanzadas para sintonizar frecuencias, analizar señales y compartir estaciones de radio con la comunidad. OpenWebRX+ es especialmente popular entre radioaficionados,  y cualquier persona interesada en explorar el espectro radioeléctrico desde cualquier lugar del mundo.

En resumen, OpenWebRX+ facilita el acceso a las transmisiones de radio a nivel global, brindando una forma simple y accesible de explorar el mundo de la radiofrecuencia directamente desde tu navegador.

IMPORTANTE!! Las dudas que surjan de este artículo y otros, se resuelven única y exclusivamente en los directos de nuestro Canal de Twitch

(Pulsa en el titulo para ir directo al apartado que te interese)

Donde se puede instalar
Donde lo vamos a Instalar
Instalación de WSL
Instalación de Ubuntu
Preparativos antes de instalar OpenWebRX+
Instalación OpenWebRX+
Si salen errores de NO_PUBKEY
Instalación modos digitales (DMR, NXDN, FreeDV, etc.)
Enlazar receptor SDR
Configuración Básica
Manual de Usuario

Donde se puede instalar

Lo habitual es verlo instalado en una Raspberry Pi y que esta se encuentre online para que la gente pueda acceder desde cualquier lugar y poderlo usar en remoto, pero la realidad es que se puede instalar en otras versiones de Linux y poderlo usar en local sin que tenga acceso a internet, y usarlo para disfrute propio como si fuese un programa más de SDR como por ejemplo el SDRSharp, SDR Console, etc. que es la finalidad de este artículo.

  1. En una Raspberry Pi lo que la convierte en una estación de radio en línea compacta y eficiente. La Raspberry Pi es lo más utilizado porque es ideal por su bajo consumo energético y facilidad de uso.
  2. En Linux el cual es uno de los entornos más comunes y recomendados para instalar OpenWebRX+. Se puede instalar en distribuciones populares como Ubuntu, Debian, Fedora, etc.
  3. Con Docker el cual permite instalar OpenWebRX+ en un contenedor, lo que facilita la instalación y gestión del software sin preocuparte por las dependencias o la configuración del sistema operativo subyacente. Docker es ideal para entornos de producción o para quienes desean una instalación rápida y aislada del sistema operativo principal.
  4. En Windows WSL (Windows Subsystem for Linux) lo que te permite ejecutar una versión de Linux dentro de Windows. Esto es útil para los usuarios de Windows que desean acceder a herramientas y entornos de desarrollo de Linux sin abandonar su sistema operativo principal.

Donde lo vamos a Instalar

En Windows como pone en el título del artículo, tiene que ser a partir de Windows 10 en adelante utilizando el Subsistema de Linux o WSL (Windows Subsystem for Linux)

El porque es como se explica en el apartado anterior, pues porque permite ejecutar una versión de Linux dentro de Windows y NO queremos o podemos saber usar máquinas virtuales, a parte de que gasta poca memoria y pocos recursos del PC

En este caso vamos a instalar la distribución de Ubuntu porque funciona sin problemas con receptores RTL-SDR y sin configuraciones adicionales, y con solo arrancar Ubuntu ya esta todo funcionando, algo que no pasa en Debian por ejemplo.

Comentar que lamentablemente, WSL no proporciona soporte robusto para dispositivos USB nativos, lo que limita las opciones de uso de hardware SDR como pasa con los receptores Airspy HF+ y SDRPlay RSP1 los cuales he probado y ninguno me ha funcionado.

Instalación de WSL

Recuerda
Esto solo funciona de Windows 10 en adelante

Antes de instalar el Subsistema de Linux o WSL de Windows (y esto esto es muy importante o NO funcionará), tenemos que comprobar si tenemos la virtualización habilitada en la BIOS de la placa base del ordenador para poder usar Máquinas Virtuales.

Os muestro como lo tengo habilitado en mi ordenador en la BIOS

Para saber si lo tenemos habilitado vamos al Administrador de tareas pulsando las teclas una detrás de la otra y sin soltarlas Ctrl + Mayús + Esc, en la ventana que se nos abre pulsamos en la pestaña Rendimiento, y en esta en CPU y en la parte de la derecha podemos ver un apartado donde se puede ver si la virtualización se encuentra activada o no, en mi caso pone Virtualización: Habilitado, como se puede ver en la imagen.

En el caso de no tenerlo habilitado hay que entrar en la BIOS de la placa base del ordenador y activarlo o NO funcionará.

Si tienes dudas puedes seguir esta guía muy completa de Cómo habilitar la tecnología de virtualización (VT) en la PC

Una vez realizada la comprobación, tenemos que ir a las características de Windows y comprobar si Plataforma de Máquina Virtual y Subsistema de Windows para Linux se encuentran habilitadas, o de lo contrario NO funcionará.

Para comprobarlo hay que ir al Panel de Control y pulsar en Programas y características o bien pulsamos la tecla Windows + R y ejecutamos APPWIZ.CPL donde se abrirá la misma ventana, en la cual en la parte izquierda pulsamos sobre Activar o desactivar las características de Windows

En la ventana que se nos abre comprobamos si estan activadas las características mencionadas, si lo están indica que el Subsistema de Linux o WSL está instalado y funcionando, y si no lo estan las marcamos, pulsamos en Aceptar, y reiniciamos el ordenador para que se apliquen los cambios, lo que hará que se instale el Subsistema de Linux o WSL

Recuerda
Estas opciones solo se encuentran de Windows 10 en adelante

Instalación de Ubuntu

Para usar el Subsistema de Linux o WSL de Windows e instalar las distribuciones de Linux, usaremos el PowerShell en modo Administrador, y para abrirlo pulsamos con el botón derecho del ratón sobre el icono de Windows abajo a la izquierda del escritorio, y en el menú que sale pulsamos sobre Windows PowerShell (Administrador)

Lo primero que hay que hacer es actualizar WSL

wsl --update
wsl --shutdown

Establecemos WSL 2 como la versión predeterminada

wsl --set-default-version 2

Seguidamente procedemos a instalar Ubuntu

AVISO!! Para que OpenWebRX+ funcione sin ningún problema y sin quebraderos de cabeza, hay que instalarlo sobre Ubuntu versión 22.04 y NO OTRA

El siguiente comando el día que se hizo este artículo la versión de Ubuntu que instala por defecto en WSL es precisamente la 22.04

wsl --install

En caso de que se instale otra versión, instalar directamente la versión 22.04 ejecutando el siguiente comando:

wsl --install Ubuntu-22.04

En la instalación nos pide que pongamos un usuario (en este caso radio) y una contraseña dos veces la cual no se muestra y recomiendo que sea corta y fácil de recordar, porque se suele utilizar a menudo.

También se puede ver la distribución de Linux que se ha instalado.

Si más adelante quieres saber la versión que está instalada ejecutar el siguiente comando:

cat /etc/os-release

Una vez termine el proceso ya se pueden escribir comandos y empezar con la instalación de las aplicaciones necesarias asi como el OpenWebRX+

Para salir fuera de Linux basta con escribir el comando exit (en minúsculas), dos veces si estamos como super usuario.

Preparativos antes de instalar OpenWebRX+

Abrimos PowerShell en modo Administrador si no lo tenemos abierto, y arrancamos Ubuntu

wsl -d ubuntu --cd ~

o bien el siguiente comando, si se forzó la instalación a la versión Ubuntu-22.04

wsl -d Ubuntu-22.04 --cd ~

Importante!! Nos pondremos en modo Super Usuario para evitar errores y no tener que anteponer sudo a los diferentes comandos y sea mas fácil la instalación de las aplicaciones necesarias asi como el OpenWebRX+

Nota: Cuando ejecutemos el comando nos pedirá introducir la contraseña que pusimos en la instalación, la cual NO se ve cuando se escribe, cosa que es normal en Linux.

sudo su

Actualizamos los paquetes de Linux a su última versión

apt update && apt upgrade -y

Instalación OpenWebRX+

Importante
Estos comandos son solo para Ubuntu

Voy a utilizar el código de Marat Fayzullin por ser el que más actualizado está y hacer actualizaciones habitualmente, de las cuales si quieres estar al día de ellas puedes entrar en su grupo de Telegram OpenWebRX, donde avisa cuando hay nuevas.

En su GitHub se encuentra la explicación de como instalar OpenWebRX en una RaspberryPi, en Docker, Ubuntu y Debian. y es en ese tutorial de donde se van a sacar los datos para explicar en este artículo como se instala OpenWebRX, en Ubuntu.

Agregamos el repositorio de Marat Fayzullin a nuestro sistema de Ubuntu

wget -O - https://luarvique.github.io/ppa/openwebrx-plus.gpg | gpg --dearmor -o /etc/apt/trusted.gpg.d/openwebrx-plus.gpg
echo "deb [signed-by=/etc/apt/trusted.gpg.d/openwebrx-plus.gpg] https://luarvique.github.io/ppa/ubuntu ./" > /etc/apt/sources.list.d/openwebrx-plus.list
apt update -y

También deberemos agregar el repositorio original de OpenWebRX, ya que contiene algunos paquetes necesarios

wget -O - https://repo.openwebrx.de/debian/key.gpg.txt | gpg --dearmor -o /usr/share/keyrings/openwebrx.gpg
echo "deb [signed-by=/usr/share/keyrings/openwebrx.gpg] https://repo.openwebrx.de/ubuntu/ jammy main" > /etc/apt/sources.list.d/openwebrx.list
apt update -y

Importante!!

Si estos pasos fallan, NO hay manera de instalar el OpenWebRX+

Si salen errores de NO_PUBKEY

Ese tipo de error me ha salido muchas veces sin saber que hacer, por lo que me puse a buscar y encontré una respuesta del autor a otra persona que le pasaba lo mismo, a lo que este le contestó que hay que seguir todos los pasos como están y punto, vamos que te busques la vida que el lo tiene todo bien.

Esa respuesta me dio la idea de que algo no había ido bien, puede ser que a veces los repositorios no van bien, o simplemente lo que se descarga tampoco se hace correctamente.

Por lo que pongo dos soluciones para solucionar el problema, si no te quieres liar con la primera opción empieza desde cero y vuelve a repetir de nuevo todos los pasos.

Probar primero

Eliminar archivos adicionales en /etc/apt/sources.list.d/el comando eliminará cualquier archivo .list en esa ubicación, incluyendo el de openwebrx-plus si existía.

sudo rm /etc/apt/sources.list.d/*.list

Limpiar cualquier caché existente y reconstruir las listas de paquetes con los siguientes comandos:

sudo apt clean
sudo apt autoclean

Y volvemos a actualizar, si ha ido todo bien puedes seguir con la instalación, pero si NO se ha resuelto el problema empieza desde cero.

sudo apt update

Empezando desde cero

Lo que hay que hacer es eliminar la distribución de Ubuntu que se ha instalado con lo que se borrara absolutamente todo, y volverla a instalar.

Para eliminar la distribución de Ubuntu abrimos PowerShell y ejecutamos el siguiente comando:

wsl --unregister ubuntu

Seguidamente procedemos a instalar Ubuntu de nuevo

wsl --install

Ya se puede volver a empezar desde cero los pasos anteriores

Si no ha habido ningún error, procedemos a instalar OpenWebRX+

apt install openwebrx -y

Cuando empiece la instalación pide que introduzcamos una contraseña para el usuario admin, estas credenciales son para poder entrar en la configuración del OpenWebRX+

Para asegurarse de que OpenWebRX+ se esté ejecutando, en el navegador ponemos la siguiente dirección o pincha sobre el enlace

En la parte derecha como se puede ver en la imagen faltan los modos digitales (DMR, NXDN, etc.)

Instalación modos digitales

(DMR, NXDN, etc.)

Marat Fayzullin en su GitHub dice que hay que tener en cuenta que estas imágenes NO cuentan con el soporte de software para los modos digitales (DMR, NXDN, etc.), ya que el decodificador de software para estos modos (mbelib) tiene orígenes cuestionables. Para habilitar los modos digitales en estas imágenes, acceda por SSH a la cuenta de usuario que creó al instalar la imagen y escriba: sudo install-softmbe.sh pero lo que comenta solo funciona en la RaspberryPi.

Para poderlos instalar en nuestra distribución de Ubuntu hay que descargar el fichero mencionado anteriormente install-softmbe.sh, para lo que primero vamos a la carpeta donde lo vamos descargar, en este caso /etc/codecserver

cd /etc/codecserver

Con este comando lo descargamos

sudo wget https://fms.komkon.org/OWRX/install-softmbe.sh

Comprobamos que realmente el fichero se ha descargado

ls

Damos permiso de ejecución al script de los modos digitales install-softmbe.sh

sudo chmod +x install-softmbe.sh

Y lo instalamos

sudo ./install-softmbe.sh

Importante fijarse cuando termine la instalación que ponga Installation successful que la instalación ha sido correcta

FreeDV

Lo anterior no instala FreeDV, el modo de transmisión de voz digital para radioaficionados.

Para ello hay que seguir las instrucciones detalladas que están disponibles en la Wiki de OpenWebRX, y para instalarlo utiliza los siguientes comandos en la consola de Ubuntu en modo Super Usuario.

Nos ponemos en modo Super Usuario.

sudo su

Nos posicionamos en /home/radio, no es necesario, pero es una manera de controlar donde se descarga, y desde ahí hacemos la instalación del FreeDV

cd /home/radio

Seguidamente vamos ejecutando los siguientes comandos uno a uno y fijándonos en todo momento que no haya ningún error en el proceso.

git clone https://github.com/drowe67/codec2.git
cd codec2
mkdir build
cd build
cmake ..
make
make install
install -m 0755 src/freedv_rx /usr/local/bin

Para que se apliquen los cambios reiniciemos el sistema operativo ya que nos lo dijo en la anterior instalación

sudo reboot

Se cerrará la sesión de Ubuntu, así que volvemos a entrar para ver si estan instalados

wsl -d ubuntu --cd ~

Cerramos la anterior ventana con OpenWebRX+ en caso de tenerla abierta, y abrimos una nueva para comprobar si realmente se han instalado correctamente los modos digitales

En la imagen se puede comprobar que aparece DMR – D-Star – NXDN y FreeDV, lo que indica que se han instalado correctamente

Aún falta un último paso que consiste en enlazar el o los receptores SDR que se tengan conectados al ordenador, o dicho de otra manera, dárselos a Ubuntu para que los reconozca y se puedan utilizar con OpenWebRX+

Al pulsar sobre Start OpenWebRX+ saldrá el mensaje de que No hay dispositivos SDR disponibles (No SDR Devices available), como se puede ver en la imagen

Enlazar receptor SDR

Importante leer esto
Como he comentado en el apartado Donde lo vamos a instalar, lamentablemente, WSL no proporciona soporte robusto para dispositivos USB nativos, lo que limita las opciones de uso de hardware SDR.

Con receptores RTL-SDR funciona sin problema, pero he probado con el Airspy HF+ y SDRPlay  RSP1 y NO funciona ninguno de los dos.

Para que nuestro Ubuntu u otros corriendo bajo WSL detecte los receptores SDR conectados en el ordenador, como por ejemplo el RTL-SDR, es necesario instalar una utilidad que se llama USBIPD para Windows.

Podemos descargar la última versión desde el GitHub de Frans van Dorsselaer  en el siguiente enlace:

https://github.com/dorssel/usbipd-win/releases

Nos descargamos el fichero .msi que en ese momento este disponible, en nuestro caso usbipd-win_4.3.0.msi como se puede ver en la imagen, y lo instalamos sin más.

Una vez instalado abrimos dos ventanas de PowerShell en modo Administradoren una abrimos el Ubuntu, y en la otra es donde iremos ejecutando los comandos necesarios para dar a Ubuntu el o los receptores SDR que se vayan a utilizar en OpenWebRX+

Recuerdo que la ventana de PowerShell donde se van a ejecutar los comandos para usar el USBIPD tiene que estar obligatoriamente en modo Administrador, o saldrá un mensaje diciendo que la operación necesita privilegios de Administrador.

Importante” Si apagamos o reiniciamos el ordenador los siguientes pasos hay que volverlos a realizar, ya que el dispositivo volvería a Windows.

Lo primero que haremos es enumerar todos los dispositivos USB que hay conectados en el ordenador

usbipd list

En el listado que se muestra en DEVICE miramos cual corresponde a nuestro receptor SDR, en mi caso es el primero Bulk-In, Interface que es el nombre más habitual para los que son en formato pendrive llamados RTL-SDR

Importante anotar los números que aparecen a la izquierda en BUSID, ya que hacen falta para seguir con la instalación.

Lo siguiente que haremos es compartir el dispositivo

NOTA: Los dos últimos números hay que cambiarlos por los vuestros que aparecen en BUSID, en este caso 1-8

usbipd bind --busid 1-8

Parece que no ha hecho nada, pero si volvemos a hacer un listado de los dispositivos con usbipd list veremos que el estado STATE ha pasado de Not shared no compartido, a Shared o compartido

El siguiente comando es el último y es el que le pasa el control del receptor SDR de Windows a Ubuntu, y ahí es cuando hace falta que este corriendo Ubuntu en una ventana aparte, o de lo contrario NO funcionará.

NOTA: Los dos últimos números hay que cambiarlos por los vuestros que aparecen en BUSID, en este caso 1-8

usbipd attach --wsl --busid 1-8

Y ya solo nos queda comprobar en Ubuntu que lo que acabamos de hacer se ha realizado correctamente y este ya dispone del receptor SDR para que lo pueda utilizar OpenWebRX+

En la venta donde se encuentra corriendo Ubuntu ejecutamos el siguiente comando

lsusb

En la imagen en la línea central se puede ver el receptor SDR, que en este caso se llama Realtek Semiconductor Corp. RTL 2838 DVB-T

Y ya está funcionando el temario, como se puede ven en la imagen aparece una frecuencia 439,2750 MHz y activo el Waterfall lo que indica que ya esta funcionado correctamente, y tenemos el OpenWebRX+ operativo.

Si en algún momento necesitas devolver a Windows el dispositivo SDR abres una ventana de Windows PowerShell y ejecuta el siguiente comando, y estará de nuevo disponible para usarlo en Windows.

NOTA: Los dos últimos números hay que cambiarlos por los vuestros que aparecen en BUSID, en este caso 1-8

usbipd detach --busid 1-8

Configuración Básica

Para entrar en la configuración pulsamos en la rueda dentada que pone Settings en la esquina superior derecha, y en la ventana que se nos abre en Username ponemos admin y en Password la contraseña que pusiste en la instalación de OpenWebRX+

Una vez dentro aparece una ventana con siete apartados, los que más se usan son SDR devices and profiles, que es donde se ponen los receptores SDR que se van a utilizar y en ellos es donde se crean los profiles con las diversas bandas y frecuencias a utilizar, y Bookmark editor donde se crean etiquetas personalizadas.

General settings

En este apartado al principio ponemos nuestros datos, y en Receiver coordinates no hay que poner nada, basta con moverse en el mapa que aparece justo debajo, pulsamos en Aceptar a lo de Google y te mueves por el mapa hasta posicionarte en la ubicación que prefieras y Receiver coordinates se rellenará con las coordenadas.

Importante!! en la parte de abajo en el apartado en Map settings seleccionar el que pone OpenStreetMap, ya que el de Google es para algo de desarrolladores y no se ve bien.

SDR devices and profiles

En este apartado es donde se agregan o eliminan los receptores SDR que se vayan a utilizar y a parecen en la aplicación, vienen por defecto instalados tres receptores SDR, los cuales se pueden hacer visibles o eliminar.

Pulsas en el que te interese, en este caso en Airspy HF+, para deshabilitarlo y no aparezca como receptor hay que desactivar donde pone Enable this device, y si se quiere eliminar pulsar en Remove device…, abajo del todo, y para que se apliquen los cambios pulsar en Apply and save

Entramos en el receptor que vamos a utilizar, en este caso RTL-SDR

OpenWebRX+ no funciona como los demas programas SDR en los cuales te puedes posicionar en la banda, modo y frecuencia  que consideres, por eso en la configuración de cada receptor hay que añadir tantos profiles como se necesiten por banda y frecuencia, y cuando entres en la banda creada se verán las etiquetas creadas por el programa, las cuales son super útiles, y todo ese trabajo que nos evitamos.

En la imagen se muestra por ejemplo como crear un perfil para la banda de 40 Metros en LSB, y este para que funcione hay que agregar en Additional optional settings el apartado Direct Sampling y en este seleccionar Direct Sampling (Q branch) o no funcionará.

En Center frequency e Initial frequency seleccionar primero el formato Hercios Hz, lo habitual es poner MHz por ejemplo 145,500 (la separación es una coma, ojo con eso)

En Sample rate para los RTL-SDR hay que ponerlo en MS/s, y el número 2, que va muy bien.

Pulsamos en Apply and save para que se apliquen los cambios y guardarlos.

Bookmark editor

Es el editor de etiquetas personales, por defecto el OpenWebRX+ viene con un montón de etiquetas ya predefinidas, las cuales ya están configuradas con una frecuencia y su modo, y si es digital ya pone el modo y abre la ventana de decodificación.

Si por lo que sea necesitas agregar una se hace en este apartado.

Pulsando en Add a new bookmark se pone como en la imagen, añades la etiquetas y pulsas en Save para que se guarde.

NOTA: En frequency seleccionar primero el formato Hercios Hz, lo habitual es poner MHz por ejemplo 145,500 (la separación es una coma, ojo con eso)

Feature report

Este apartado corresponde al de Informe de características de OpenWebRX+ y es donde se pueden ver todas las que incluye la aplicación y si estas se encuentran instaladas o no.

Los demás apartados los dejo para ti y enredes con ellos, en este caso se han dejado por defecto.

Manual del Usuario

Te invito que mires el Manual de Usuario que tienen los desarrolladores de OpenWebRX+ el cual está super completo, y donde se explican todos los apartados de la aplicación

Manual de Usuario