added SDRplay
This commit is contained in:
+20
-4
@@ -51,16 +51,32 @@ RUN make -j$(nproc)
|
||||
RUN make install -j$(nproc)
|
||||
RUN ldconfig
|
||||
|
||||
# ToDo:
|
||||
# add SDRPlay API
|
||||
# ADD https://github.com/pothosware/SoapySDRPlay.git
|
||||
# SDRPlay API
|
||||
WORKDIR /tmp/sources
|
||||
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
|
||||
RUN useradd -m jens -p jens -s /usr/bin/bash
|
||||
RUN echo jens:change_me | chpasswd
|
||||
RUN echo root:root4me | chpasswd
|
||||
|
||||
|
||||
WORKDIR /home/jens
|
||||
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:
|
||||
|
||||
#LoginGraceTime 2m
|
||||
#PermitRootLogin prohibit-password
|
||||
PermitRootLogin yes
|
||||
#StrictModes yes
|
||||
#MaxAuthTries 6
|
||||
#MaxSessions 10
|
||||
|
||||
@@ -2,4 +2,6 @@
|
||||
set -x
|
||||
|
||||
service ssh start
|
||||
/opt/sdrplay_api/sdrplay_apiService &
|
||||
|
||||
SoapySDRServer --bind="0.0.0.0:$SOAPY_REOMOTE_PORT" >>/tmp/SoapySDRServer &
|
||||
|
||||
Reference in New Issue
Block a user