diff --git a/SBC/rpi-4/device_driver/driver/radioberry.c b/SBC/rpi-4/device_driver/driver/radioberry.c index 252777a..6f048f9 100644 --- a/SBC/rpi-4/device_driver/driver/radioberry.c +++ b/SBC/rpi-4/device_driver/driver/radioberry.c @@ -271,8 +271,8 @@ static int radioberry_probe(struct platform_device *pdev) gpio_desc = gpiod_get(&pdev->dev, "rx-sample", GPIOD_ASIS); if(IS_ERR(gpio_desc)) { - printk("Failed to get GPIO rx-sample-gpio\n"); - return -1 * IS_ERR(gpio_desc); + printk(KERN_ALERT "Failed to get GPIO rx-sample-gpio\n"); + return -1 ;//* IS_ERR(gpio_desc); } printk("Got GPIO rx-sample-gpio\n"); diff --git a/SBC/rpi-4/releases/dev/radioberry_install.sh b/SBC/rpi-4/releases/dev/radioberry_install.sh index 267a111..bb82501 100644 --- a/SBC/rpi-4/releases/dev/radioberry_install.sh +++ b/SBC/rpi-4/releases/dev/radioberry_install.sh @@ -35,8 +35,12 @@ install_dependency git install_dependency device-tree-compiler install_dependency pigpio -git clone --depth=1 https://github.com/pa3gsb/Radioberry-2.x - +if [ -d "Radioberry-2.x" ]; then + DO_CLEANUP=false +else + DO_CLEANUP=true + git clone --depth=1 https://github.com/pa3gsb/Radioberry-2.x +fi sudo systemctl stop radioberry sudo systemctl disable radioberry @@ -72,6 +76,13 @@ echo "Installing Radioberry driver..." #unregister radioberry driver sudo modprobe -r radioberry + +# new raspios uses /boot/firmware instead of /boot +if [ -d "/boot/firmware" ]; then + BOOT_PATH="/boot/firmware" +else + BOOT_PATH="/boot" +fi if [ ! -d "/lib/modules/$(uname -r)/kernel/drivers/sdr" ]; then sudo mkdir /lib/modules/$(uname -r)/kernel/drivers/sdr @@ -83,9 +94,9 @@ if [ $? -eq 0 ]; then sudo cp radioberry.ko /lib/modules/$(uname -r)/kernel/drivers/sdr sudo dtc -@ -I dts -O dtb -o radioberry.dtbo radioberry.dts - sudo cp radioberry.dtbo /boot/overlays + sudo cp radioberry.dtbo "$BOOT_PATH/overlays" #add driver to config.txt - sudo grep -Fxq "dtoverlay=radioberry" /boot/config.txt || sudo sed -i '$ a dtoverlay=radioberry' /boot/config.txt + sudo grep -Fxq "dtoverlay=radioberry" "$BOOT_PATH/config.txt" || sudo sed -i '$ a dtoverlay=radioberry' "$BOOT_PATH/config.txt" cd ../../../../.. @@ -103,7 +114,10 @@ else echo "" echo "You are using a linux version without linux header files; choose an other distro." - sudo rm -rf Radioberry-2.x + if [ "$DO_CLEANUP" = true ]; then + echo "Cleaning up..." + sudo rm -rf Radioberry-2.x + fi exit 1 fi @@ -128,7 +142,10 @@ else echo "" echo "Looking into the log and try to find out what is wrong." - sudo rm -rf Radioberry-2.x + if [ "$DO_CLEANUP" = true ]; then + echo "Cleaning up..." + sudo rm -rf Radioberry-2.x + fi exit 1 fi @@ -147,7 +164,10 @@ cd ../../../../.. echo "Radioberry service installed." #----------------------------------------------------------------------------- -sudo rm -rf Radioberry-2.x +if [ "$DO_CLEANUP" = true ]; then + echo "Cleaning up..." + sudo rm -rf Radioberry-2.x +fi sudo systemctl enable radioberry sudo systemctl start radioberry