Skip to content

Quirks of RHEL based distributions

Gunnar edited this page Apr 2, 2020 · 1 revision

Introduction

First of all, if you really need to use a derivate of RHEL for a WebSDR, then go for it. If you never (like me) before worked with a RHEL based distro, please be advised that they shipping with SELinux enforcing. If you don't know how to work with that, for example to make USB devices work for non-root users, then consider using a Debian or Arch based distribution.

Thus I recommend to not use a RHEL based distribution for this application unless you are knowledgeable of RHEL.

The following is a lose list of quirks and workarounds as I find them.

udev

We want our devices to work also for non-root users

The usual tips don't apply

Wikis and discussion threads surrounding getting USB devices to work for non-root users offer two paths:

  • adjust r/w rights to dev/snd* or dev/usb* devices
  • add the desired user to the plugdev group
  • Adjust ACLs

Yet none of theses approaches work for CentOS or persists boots when it appears to work.

Adjust udev rules

Drivers for SDRplay and airspy devices created udev rules which are a good start, but do not work for CentOS. Go to /etc/udev/rules.d/ and check for files name xx-devicename.rules. For example: 52-airspy.rules

For an airspy device, use this line: SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="1d50", ATTR{idProduct}=="60a1", SYMLINK+="airspy-%k", MODE:="0666"x

For an airspyhf device, use this line: SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="03eb", ATTR{idProduct}=="800c", SYMLINK+="airspyhf-%k", MODE="0666"

For SDRplay devices, these lines might work: 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" SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProduct}=="3020",MODE:="0666" SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProduct}=="3030",MODE:="0666"

I believe the trick is SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device"and MODE:="0666"

Direwolf

You need to add your user to the group sound so that the virtual sound card required for direwolf can be accessed also by non-root users. Because otherwise your user has not access to this device. This is also true if the user is part of the wheel user group.

usermod -a -G sound username

Clone this wiki locally