rtl-sdr Zugriff nur für root

MichaZ

Member
Hallo

Was muss ich tun, um als User Zugriff auf den rtl-sdr zu bekommen?
Derzeit funktioniert der Zugriff nur, wenn ich die Programme (welle.io, rtl433, gqrx und Co) per sudo starte.
Fehlt mir da evt eine Gruppenzugehörigkeit?

Gruß

Micha
 

Andy_m4

Well-Known Member
Derzeit funktioniert der Zugriff nur, wenn ich die Programme (welle.io, rtl433, gqrx und Co) per sudo starte.
Ich kenne das Tool nicht aber es klingt so ein wenig danach, als ob es auf irgendein Device unter /dev/ zugreifen muss.
Ein Lösungsweg wäre zunächst nachzugucken welches Gerät das denn überhaupt ist und wie die Rechte/User/Gruppen bei der zugehörigen dev-Gerätedatei gesetzt sind.

Was heißt eigentlich "funktioniert nur" ? Gibts irgendeine Fehlermeldung oder so wenn Du es als non-root-User startest?
 

lme

FreeBSD Committer
Gib deinem User mal die nötigen Berechtigungen auf das entsprechende /dev/ugen* Device.
 

MichaZ

Member
Ich kenne das Tool nicht aber es klingt so ein wenig danach, als ob es auf irgendein Device unter /dev/ zugreifen muss.
Ein Lösungsweg wäre zunächst nachzugucken welches Gerät das denn überhaupt ist und wie die Rechte/User/Gruppen bei der zugehörigen dev-Gerätedatei gesetzt sind.

Was heißt eigentlich "funktioniert nur" ? Gibts irgendeine Fehlermeldung oder so wenn Du es als non-root-User startest?
FreeBSD_13% rtl_433
rtl_433 version 21.12 (2021-12-14) inputs file rtl_tcp RTL-SDR with TLS
Use -h for usage help and see https://triq.org/ for documentation.
Trying conf file at "rtl_433.conf"...
Trying conf file at "/home/micha/.config/rtl_433/rtl_433.conf"...
Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...
Trying conf file at "/etc/rtl_433/rtl_433.conf"...
Registered 176 out of 207 device decoding protocols [ 1-4 8 11-12 15-17 19-23 25-26 29-36 38-60 63 67-71 73-100 102-105 108-116 119 121 124-128 130-149 151-161 163-168 170-175
177-197 199 201-207 ]
No supported devices found.
FreeBSD_13% sudo rtl_433
rtl_433 version 21.12 (2021-12-14) inputs file rtl_tcp RTL-SDR with TLS
Use -h for usage help and see https://triq.org/ for documentation.
Trying conf file at "rtl_433.conf"...
Trying conf file at "/root/.config/rtl_433/rtl_433.conf"...
Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...
Trying conf file at "/etc/rtl_433/rtl_433.conf"...
Registered 176 out of 207 device decoding protocols [ 1-4 8 11-12 15-17 19-23 25-26 29-36 38-60 63 67-71 73-100 102-105 108-116 119 121 124-128 130-149 151-161 163-168 170-175
177-197 199 201-207 ]
Found Fitipower FC0013 tuner
Exact sample rate is: 250000.000414 Hz
Sample rate set to 250000 S/s.
Tuner gain set to Auto.
Tuned to 433.920MHz.
baseband_demod_FM: low pass filter for 250000 Hz at cutoff 25000 Hz, 40.0 us
 

Andy_m4

Well-Known Member
Gib deinem User mal die nötigen Berechtigungen auf das entsprechende /dev/ugen* Device.
Ergänzung dazu:
Mit usbconfig kriegt man auch alle USB-Geräte aufgelistet. Mit devd könnte man auch ne Regel erstellen damit der eigene User Zugriff auf das Gerät bekommt. So a-la:
Code:
notify 100 {
    match "system"          "USB";
    match "subsystem"       "INTERFACE";
    match "type"            "ATTACH";
    match "vendor"          "0xbda";
    match "product"         "0x2838";
    action "chown myuser /dev/$cdev";
};
Aber alles hübsch der Reihe nach. :-)

Eine Änderung von 755 auf 777 brachte keine Änderung
Denk dran, das die Device-"Files" /dev/ugen* nur Symlinks sind. Wenn Du darauf ein chmod machst änderst Du nur die Symlinks nicht die dahinter liegende Datei.
 

MichaZ

Member
Denk dran, das die Device-"Files" /dev/ugen* nur Symlinks sind. Wenn Du darauf ein chmod machst änderst Du nur die Symlinks nicht die dahinter liegende Datei.
Ein
chmod -R 777 /dev/usb/1.2.0
brachte den gewünschten Erfolg.

Nun funktionieren alle Programme auch ohne root-Rechte.

Vielen Dank für eure Hilfe. :)



 

Andy_m4

Well-Known Member
Man könnte das jetzt noch "pimpen" mit der oben vorgeschlagenen Methode. Weil so wie es jetzt ist hat ja jeder Zugriff drauf. Das könnte man dann sinnvoll einschränken auf eine bestimmte Benutzergruppe oder Deinen Nutzer. Außerdem ist es dann "dauerhaft" und Du musst es nicht erneut z.B. nach einem Reboot setzen.
 

MichaZ

Member
Man könnte das jetzt noch "pimpen" mit der oben vorgeschlagenen Methode. Weil so wie es jetzt ist hat ja jeder Zugriff drauf. Das könnte man dann sinnvoll einschränken auf eine bestimmte Benutzergruppe oder Deinen Nutzer. Außerdem ist es dann "dauerhaft" und Du musst es nicht erneut z.B. nach einem Reboot setzen.
Mit der oben genanten Methode werde ich mich garantiert noch eingehend befassen.
Unter der Woche habe ich da nicht genug Zeit.
Erstmal reicht die kurzfristige Lösung.

Etwas dazu zu lernen ist aber immer gut.

Danke noch mal.
 

Andy_m4

Well-Known Member
Mit der oben genanten Methode werde ich mich garantiert noch eingehend befassen.
Du musst eigentlich nur mit usbconfig (Infos mit allen Details: usbconfig dump_device_desc) nachgucken, welche vendor-id und welche Product-id das Gerät hat und entsprechend eintragen (auch die action musst Du natürlich auf Dein Usernamen anpassen). Dann modifizierst Du den oben genannten Eintrag entsprechend und packst in in eine conf-Datei unterhalb von /usr/local/etc/devd/. Der Dateiname ist egal. Den kannst du frei wählen. Wichtig ist nur, das es auf .conf endet.

Detaillierte Infos zum Dateiformat: man devd.conf(5)
 

serie300

Well-Known Member
Hat einer von euch ein bisschen Erfahrung mit SDR Sticks? Gleich ein Kit von Nooelec kaufen, damit man sich später nicht mit untauglichen Buchsen, Temperaturverhalten des Empfängers, fehlenden Adaptern und Antennen rumschlägt? Bin kein Funkamateur, aber ein bisschen was aus dem Physik Studium ist hängengeblieben.
 

MichaZ

Member
Hat einer von euch ein bisschen Erfahrung mit SDR Sticks? Gleich ein Kit von Nooelec kaufen, damit man sich später nicht mit untauglichen Buchsen, Temperaturverhalten des Empfängers, fehlenden Adaptern und Antennen rumschlägt? Bin kein Funkamateur, aber ein bisschen was aus dem Physik Studium ist hängengeblieben.
Nicht wirklich.
Bei mir war es so, dass ich die SDR-Geschichte zufällig entdeckte und somit die alten dvb-t und dab+ - Sticks nicht mehr nutzlos in der Bastelkiste lagen.
Der RTL-SDR ist nicht das gelbe vom Ei. Die Nooelecs dürften zwar besser arbeiten (in Sachen Frequenzstabilität, Eigenrauschen), als die alten TV-Sticks, aber der Chip ist der selbe. Der übersteuert schnell, so dass man starke Signale (UKW) selbst in ländlichen Regionen herausfiltern muss.
Frequenzen unterhalb 25 MHz sind ohne Upconverter schlecht bis garnicht zu empfangen.

Dann lieber einen echten SDR-Empfänger kaufen.
 

MichaZ

Member
Du musst eigentlich nur mit usbconfig (Infos mit allen Details: usbconfig dump_device_desc) nachgucken, welche vendor-id und welche Product-id das Gerät hat und entsprechend eintragen (auch die action musst Du natürlich auf Dein Usernamen anpassen). Dann modifizierst Du den oben genannten Eintrag entsprechend und packst in in eine conf-Datei unterhalb von /usr/local/etc/devd/. Der Dateiname ist egal. Den kannst du frei wählen. Wichtig ist nur, das es auf .conf endet.

Detaillierte Infos zum Dateiformat: man devd.conf(5)
Danke, ich habe es hinbekommen.
Ich musste noch match "subsystem" von "INTERFACE" auf "DEVICE" ändern.

Wieder etwas dazugelernt. ;)

Danke.
 

dettus

Bicycle User
Also, ich habe immer per sudo rtl_tcp gestartet, und dann alle Programme als client laufen lassen.
Ging auch :)
 
Oben