added SDRplay
This commit is contained in:
+20
-4
@@ -51,16 +51,32 @@ RUN make -j$(nproc)
|
|||||||
RUN make install -j$(nproc)
|
RUN make install -j$(nproc)
|
||||||
RUN ldconfig
|
RUN ldconfig
|
||||||
|
|
||||||
# ToDo:
|
# SDRPlay API
|
||||||
# add SDRPlay API
|
WORKDIR /tmp/sources
|
||||||
# ADD https://github.com/pothosware/SoapySDRPlay.git
|
COPY bin/SDRplay_RSP_API-Linux-3.15.2.run /tmp/sources/
|
||||||
|
RUN chmod +x SDRplay_RSP_API-Linux-3.15.2.run
|
||||||
|
RUN ./SDRplay_RSP_API-Linux-3.15.2.run --noexec --target sdrplay_api
|
||||||
|
WORKDIR ./sdrplay_api
|
||||||
|
COPY bin/install_lib.patch .
|
||||||
|
RUN patch install_lib.sh install_lib.patch
|
||||||
|
RUN ./install_lib.sh
|
||||||
|
|
||||||
RUN rm -rf /tmp/sources
|
# SoapySDRPlay
|
||||||
|
ADD https://github.com/pothosware/SoapySDRPlay.git /tmp/sources/SoapySDRPlay
|
||||||
|
WORKDIR /tmp/sources/SoapySDRPlay/build
|
||||||
|
RUN cmake ../
|
||||||
|
RUN make -j$(nproc)
|
||||||
|
RUN make install -j$(nproc)
|
||||||
|
RUN ldconfig
|
||||||
|
|
||||||
|
#RUN rm -rf /tmp/sources
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------------------------------------------------------------------
|
||||||
# Add user
|
# Add user
|
||||||
RUN useradd -m jens -p jens -s /usr/bin/bash
|
RUN useradd -m jens -p jens -s /usr/bin/bash
|
||||||
RUN echo jens:change_me | chpasswd
|
RUN echo jens:change_me | chpasswd
|
||||||
|
RUN echo root:root4me | chpasswd
|
||||||
|
|
||||||
|
|
||||||
WORKDIR /home/jens
|
WORKDIR /home/jens
|
||||||
RUN touch .Xauthority
|
RUN touch .Xauthority
|
||||||
|
|||||||
Executable
+2038
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,251 @@
|
|||||||
|
--- install_lib.sh 2024-05-29 01:09:30.000000000 +0200
|
||||||
|
+++ install_lib2.sh 2024-08-19 19:41:35.445222020 +0200
|
||||||
|
@@ -16,19 +16,6 @@
|
||||||
|
echo "access through the sudo program. This is required to install the daemon into"
|
||||||
|
echo "the system files."
|
||||||
|
echo " "
|
||||||
|
-
|
||||||
|
-read -p "Press RETURN to view the license agreement" ret
|
||||||
|
-more -d sdrplay_license.txt
|
||||||
|
-while true; do
|
||||||
|
- echo "Press y and RETURN to accept the license agreement and continue with"
|
||||||
|
- read -p "the installation, or press n and RETURN to exit the installer [y/n] " yn
|
||||||
|
- case $yn in
|
||||||
|
- [Yy]* ) break;;
|
||||||
|
- [Nn]* ) exit;;
|
||||||
|
- * ) echo "Please answer y or n";;
|
||||||
|
- esac
|
||||||
|
-done
|
||||||
|
-
|
||||||
|
echo " "
|
||||||
|
echo "A copy of the license agreement can be found here: ${HOME}/sdrplay_license.txt"
|
||||||
|
cp sdrplay_license.txt ${HOME}/.
|
||||||
|
@@ -69,7 +56,7 @@
|
||||||
|
echo " "
|
||||||
|
echo "Checking for root permissions. You may be prompted for your password..."
|
||||||
|
echo " "
|
||||||
|
-sudo ls >> /dev/null 2>&1
|
||||||
|
+ls >> /dev/null 2>&1
|
||||||
|
echo "The rest of the installation will continue with root permission..."
|
||||||
|
echo " "
|
||||||
|
|
||||||
|
@@ -147,7 +134,7 @@
|
||||||
|
|
||||||
|
if [ -d "/etc/udev" ]; then
|
||||||
|
echo -n "Udev directory found, adding rules..."
|
||||||
|
- sudo bash -c 'cat > /etc/udev/rules.d/66-sdrplay.rules' << EOF
|
||||||
|
+ bash -c 'cat > /etc/udev/rules.d/66-sdrplay.rules' << EOF
|
||||||
|
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProduct}=="2500",MODE:="0666"
|
||||||
|
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProduct}=="3000",MODE:="0666"
|
||||||
|
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProduct}=="3010",MODE:="0666"
|
||||||
|
@@ -156,14 +143,14 @@
|
||||||
|
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProduct}=="3050",MODE:="0666"
|
||||||
|
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProduct}=="3060",MODE:="0666"
|
||||||
|
EOF
|
||||||
|
- sudo chmod 644 /etc/udev/rules.d/66-sdrplay.rules
|
||||||
|
- sudo rm -f /etc/udev/rules.d/66-mirics.rules
|
||||||
|
+ chmod 644 /etc/udev/rules.d/66-sdrplay.rules
|
||||||
|
+ rm -f /etc/udev/rules.d/66-mirics.rules
|
||||||
|
echo "rules added"
|
||||||
|
REBOOT="y"
|
||||||
|
|
||||||
|
if [ -d "/etc/udev/hwdb.d" ]; then
|
||||||
|
echo -n "Adding SDRplay devices to the local hardware database..."
|
||||||
|
- sudo bash -c 'cat > /etc/udev/hwdb.d/20-sdrplay.hwdb' << EOF
|
||||||
|
+ bash -c 'cat > /etc/udev/hwdb.d/20-sdrplay.hwdb' << EOF
|
||||||
|
usb:v1DF7*
|
||||||
|
ID_VENDOR_FROM_DATABASE=SDRplay
|
||||||
|
|
||||||
|
@@ -188,13 +175,13 @@
|
||||||
|
usb:v1DF7p3060*
|
||||||
|
ID_MODEL_FROM_DATABASE=RSPdxR2
|
||||||
|
EOF
|
||||||
|
- sudo chmod 644 /etc/udev/hwdb.d/20-sdrplay.hwdb
|
||||||
|
- sudo systemd-hwdb update
|
||||||
|
- sudo udevadm trigger
|
||||||
|
+ chmod 644 /etc/udev/hwdb.d/20-sdrplay.hwdb
|
||||||
|
+ systemd-hwdb update
|
||||||
|
+ udevadm trigger
|
||||||
|
if [ "${SRVTYPE}" != "initd" ]; then
|
||||||
|
- sudo systemctl restart udev
|
||||||
|
+ systemctl restart udev
|
||||||
|
else
|
||||||
|
- sudo service udev restart
|
||||||
|
+ service udev restart
|
||||||
|
fi
|
||||||
|
echo "Done"
|
||||||
|
fi
|
||||||
|
@@ -203,9 +190,9 @@
|
||||||
|
echo "ERROR: udev rules directory not found, add udev support and run the"
|
||||||
|
echo "installer script again. udev support can be added by running..."
|
||||||
|
if [ "${INSTALLARCH}" == "ppc64le" ]; then
|
||||||
|
- echo "sudo ${PKG_TOOL} eudev"
|
||||||
|
+ echo "${PKG_TOOL} eudev"
|
||||||
|
else
|
||||||
|
- echo "sudo ${PKG_TOOL} libudev-dev"
|
||||||
|
+ echo "${PKG_TOOL} libudev-dev"
|
||||||
|
fi
|
||||||
|
echo " "
|
||||||
|
exit 1
|
||||||
|
@@ -217,20 +204,20 @@
|
||||||
|
if grep -q RSP1B /var/lib/usbutils/usb.ids; then
|
||||||
|
echo "RSP1B already in the local USB database, continuing..."
|
||||||
|
else
|
||||||
|
- sudo cp /var/lib/usbutils/usb.ids /var/lib/usbutils/usb.ids.bak
|
||||||
|
- sudo bash -c "awk '/^1e/ && !x {print \" 3050 RSP1B\"; x=1} 1' /var/lib/usbutils/usb.ids.bak > /var/lib/usbutils/usb.ids"
|
||||||
|
+ cp /var/lib/usbutils/usb.ids /var/lib/usbutils/usb.ids.bak
|
||||||
|
+ bash -c "awk '/^1e/ && !x {print \" 3050 RSP1B\"; x=1} 1' /var/lib/usbutils/usb.ids.bak > /var/lib/usbutils/usb.ids"
|
||||||
|
echo "Added RSP1B to USB name database"
|
||||||
|
fi
|
||||||
|
if grep -q RSPdxR2 /var/lib/usbutils/usb.ids; then
|
||||||
|
echo "RSPdxR2 already in the local USB database, continuing..."
|
||||||
|
else
|
||||||
|
- sudo cp /var/lib/usbutils/usb.ids /var/lib/usbutils/usb.ids.bak
|
||||||
|
- sudo bash -c "awk '/^1e/ && !x {print \" 3060 RSPdxR2\"; x=1} 1' /var/lib/usbutils/usb.ids.bak > /var/lib/usbutils/usb.ids"
|
||||||
|
+ cp /var/lib/usbutils/usb.ids /var/lib/usbutils/usb.ids.bak
|
||||||
|
+ bash -c "awk '/^1e/ && !x {print \" 3060 RSPdxR2\"; x=1} 1' /var/lib/usbutils/usb.ids.bak > /var/lib/usbutils/usb.ids"
|
||||||
|
echo "Added RSPdxR2 to USB name database"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
- sudo cp /var/lib/usbutils/usb.ids /var/lib/usbutils/usb.ids.bak
|
||||||
|
- sudo bash -c "awk '/^1e/ && !x {print \"1df7 SDRplay\n 2500 RSP1\n 3000 RSP1A\n 3010 RSP2/RSP2pro\n 3020 RSPduo\n 3030 RSPdx\n 3050 RSP1B\n 3060 RSPdxR2\"; x=1} 1' /var/lib/usbutils/usb.ids.bak > /var/lib/usbutils/usb.ids"
|
||||||
|
+ cp /var/lib/usbutils/usb.ids /var/lib/usbutils/usb.ids.bak
|
||||||
|
+ bash -c "awk '/^1e/ && !x {print \"1df7 SDRplay\n 2500 RSP1\n 3000 RSP1A\n 3010 RSP2/RSP2pro\n 3020 RSPduo\n 3030 RSPdx\n 3050 RSP1B\n 3060 RSPdxR2\"; x=1} 1' /var/lib/usbutils/usb.ids.bak > /var/lib/usbutils/usb.ids"
|
||||||
|
echo "SDRplay devices added to the local USB name database"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
@@ -259,16 +246,6 @@
|
||||||
|
echo " "
|
||||||
|
|
||||||
|
# 0--------1---------2---------3---------4---------5---------6---------7---------8
|
||||||
|
-while true; do
|
||||||
|
- echo "To continue the installation with these defaults press y and RETURN"
|
||||||
|
- read -p "or press n and RETURN to change them [y/n] " yn
|
||||||
|
- case $yn in
|
||||||
|
- [Yy]* ) change="n";break;;
|
||||||
|
- [Nn]* ) change="y";break;;
|
||||||
|
- * ) echo "Please answer y or n";;
|
||||||
|
- esac
|
||||||
|
-done
|
||||||
|
-
|
||||||
|
if [ "${change}" == "y" ]; then
|
||||||
|
echo "Changing default locations..."
|
||||||
|
read -p "API service location [${locservice}]: " newloc
|
||||||
|
@@ -297,42 +274,42 @@
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
-sudo mkdir -p -m 755 ${locservice} >> /dev/null 2>&1
|
||||||
|
-sudo mkdir -p -m 755 ${locheader} >> /dev/null 2>&1
|
||||||
|
-sudo mkdir -p -m 755 ${loclib} >> /dev/null 2>&1
|
||||||
|
+mkdir -p -m 755 ${locservice} >> /dev/null 2>&1
|
||||||
|
+mkdir -p -m 755 ${locheader} >> /dev/null 2>&1
|
||||||
|
+mkdir -p -m 755 ${loclib} >> /dev/null 2>&1
|
||||||
|
|
||||||
|
echo -n "Cleaning old API files..."
|
||||||
|
-sudo rm -f /usr/local/lib/libsdrplay_api.so*
|
||||||
|
+rm -f /usr/local/lib/libsdrplay_api.so*
|
||||||
|
echo "Done."
|
||||||
|
|
||||||
|
echo -n "Installing ${loclib}/libsdrplay_api.so.${VERS}..."
|
||||||
|
-sudo rm -f ${loclib}/libsdrplay_api.so.${VERS}
|
||||||
|
-sudo cp -f ${INSTALLARCH}/libsdrplay_api.so.${VERS} ${loclib}/.
|
||||||
|
-sudo chmod 644 ${loclib}/libsdrplay_api.so.${VERS}
|
||||||
|
-sudo rm -f ${loclib}/libsdrplay_api.so.${MAJVERS}
|
||||||
|
-sudo ln -s ${loclib}/libsdrplay_api.so.${VERS} ${loclib}/libsdrplay_api.so.${MAJVERS}
|
||||||
|
-sudo rm -f ${loclib}/libsdrplay_api.so
|
||||||
|
-sudo ln -s ${loclib}/libsdrplay_api.so.${MAJVERS} ${loclib}/libsdrplay_api.so
|
||||||
|
+rm -f ${loclib}/libsdrplay_api.so.${VERS}
|
||||||
|
+cp -f ${INSTALLARCH}/libsdrplay_api.so.${VERS} ${loclib}/.
|
||||||
|
+chmod 644 ${loclib}/libsdrplay_api.so.${VERS}
|
||||||
|
+rm -f ${loclib}/libsdrplay_api.so.${MAJVERS}
|
||||||
|
+ln -s ${loclib}/libsdrplay_api.so.${VERS} ${loclib}/libsdrplay_api.so.${MAJVERS}
|
||||||
|
+rm -f ${loclib}/libsdrplay_api.so
|
||||||
|
+ln -s ${loclib}/libsdrplay_api.so.${MAJVERS} ${loclib}/libsdrplay_api.so
|
||||||
|
echo "Done"
|
||||||
|
|
||||||
|
echo -n "Installing header files in ${locheader}..."
|
||||||
|
-sudo cp -f inc/sdrplay_api*.h ${locheader}/.
|
||||||
|
-sudo chmod 644 ${locheader}/sdrplay_api*.h
|
||||||
|
+cp -f inc/sdrplay_api*.h ${locheader}/.
|
||||||
|
+chmod 644 ${locheader}/sdrplay_api*.h
|
||||||
|
echo "Done"
|
||||||
|
|
||||||
|
echo -n "Installing API Service in ${locservice}..."
|
||||||
|
-sudo cp -f ${INSTALLARCH}/sdrplay_apiService ${locservice}/sdrplay_apiService
|
||||||
|
-sudo chmod 755 ${locservice}/sdrplay_apiService
|
||||||
|
+cp -f ${INSTALLARCH}/sdrplay_apiService ${locservice}/sdrplay_apiService
|
||||||
|
+chmod 755 ${locservice}/sdrplay_apiService
|
||||||
|
echo "Done"
|
||||||
|
|
||||||
|
echo -n "Installing Service scripts and starting daemon..."
|
||||||
|
if [ -d "/etc/systemd/system" ]; then
|
||||||
|
SRVTYPE="systemd"
|
||||||
|
if [ -f "/etc/systemd/system/sdrplay.service" ]; then
|
||||||
|
- sudo systemctl stop sdrplay
|
||||||
|
- sudo systemctl disable sdrplay
|
||||||
|
+ systemctl stop sdrplay
|
||||||
|
+ systemctl disable sdrplay
|
||||||
|
fi
|
||||||
|
- sudo bash -c 'cat > /etc/systemd/system/sdrplay.service' << EOF
|
||||||
|
+ bash -c 'cat > /etc/systemd/system/sdrplay.service' << EOF
|
||||||
|
[Unit]
|
||||||
|
Description=SDRplay API Service
|
||||||
|
After=network.target
|
||||||
|
@@ -349,15 +326,15 @@
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
|
||||||
|
- sudo chmod 644 /etc/systemd/system/sdrplay.service
|
||||||
|
- sudo systemctl enable sdrplay
|
||||||
|
- sudo systemctl start sdrplay
|
||||||
|
+ chmod 644 /etc/systemd/system/sdrplay.service
|
||||||
|
+ systemctl enable sdrplay
|
||||||
|
+ systemctl start sdrplay
|
||||||
|
else
|
||||||
|
SRVTYPE="initd"
|
||||||
|
if [ -f "/etc/init.d/sdrplayService" ]; then
|
||||||
|
- sudo service sdrplayService stop
|
||||||
|
+ service sdrplayService stop
|
||||||
|
fi
|
||||||
|
- sudo bash -c 'cat > /etc/init.d/sdrplayService' << EOF
|
||||||
|
+ bash -c 'cat > /etc/init.d/sdrplayService' << EOF
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
@@ -436,15 +413,15 @@
|
||||||
|
exit 0
|
||||||
|
EOF
|
||||||
|
|
||||||
|
- sudo chmod 755 /etc/init.d/sdrplayService
|
||||||
|
+ chmod 755 /etc/init.d/sdrplayService
|
||||||
|
UPRC=$( command -v update-rc.d )
|
||||||
|
if [ "${UPRC}" != "" ]; then
|
||||||
|
- sudo update-rc.d sdrplayService defaults
|
||||||
|
+ update-rc.d sdrplayService defaults
|
||||||
|
fi
|
||||||
|
- sudo service sdrplayService start
|
||||||
|
+ service sdrplayService start
|
||||||
|
fi
|
||||||
|
|
||||||
|
-sudo ldconfig
|
||||||
|
+ldconfig
|
||||||
|
|
||||||
|
echo "Done"
|
||||||
|
|
||||||
|
@@ -457,11 +434,11 @@
|
||||||
|
echo "To start and stop the API service, use the following commands..."
|
||||||
|
echo " "
|
||||||
|
if [ "${SRVTYPE}" != "systemd" ]; then
|
||||||
|
- echo "sudo service sdrplayService start"
|
||||||
|
- echo "sudo service sdrplayService stop"
|
||||||
|
+ echo "service sdrplayService start"
|
||||||
|
+ echo "service sdrplayService stop"
|
||||||
|
else
|
||||||
|
- echo "sudo systemctl start sdrplay"
|
||||||
|
- echo "sudo systemctl stop sdrplay"
|
||||||
|
+ echo "systemctl start sdrplay"
|
||||||
|
+ echo "systemctl stop sdrplay"
|
||||||
|
fi
|
||||||
|
echo " "
|
||||||
|
echo "If supported on your system, lsusb will now show the RSP name"
|
||||||
+1
-1
@@ -29,7 +29,7 @@ ListenAddress 0.0.0.0
|
|||||||
# Authentication:
|
# Authentication:
|
||||||
|
|
||||||
#LoginGraceTime 2m
|
#LoginGraceTime 2m
|
||||||
#PermitRootLogin prohibit-password
|
PermitRootLogin yes
|
||||||
#StrictModes yes
|
#StrictModes yes
|
||||||
#MaxAuthTries 6
|
#MaxAuthTries 6
|
||||||
#MaxSessions 10
|
#MaxSessions 10
|
||||||
|
|||||||
@@ -2,4 +2,6 @@
|
|||||||
set -x
|
set -x
|
||||||
|
|
||||||
service ssh start
|
service ssh start
|
||||||
|
/opt/sdrplay_api/sdrplay_apiService &
|
||||||
|
|
||||||
SoapySDRServer --bind="0.0.0.0:$SOAPY_REOMOTE_PORT" >>/tmp/SoapySDRServer &
|
SoapySDRServer --bind="0.0.0.0:$SOAPY_REOMOTE_PORT" >>/tmp/SoapySDRServer &
|
||||||
|
|||||||
Reference in New Issue
Block a user