-
Notifications
You must be signed in to change notification settings - Fork 478
Setting up OpenWebRX on a Raspberry Pi 2
OpenWebRX should work out-of-the-box on your RPi, if you set it up by going through this guide.
You will need a Raspberry Pi 2.
Raspberry Pi 1 won't work as its CPU just doesn't have enough processing capability to make it.
(csdr
can make use of both NEON and the multiple cores on the RPi2).
- Audio underruns and
csdr flowcontrol
issue - Port 8888 is already in use on your system (edit
config_rtl.py
andconfig_webrx.py
and replace this port number with another).
The Raspberry Pi 2 should be able to handle about 5-10 clients simultaneously at the sampling rate of 250 ksps.
It is quite good from an embedded ARM board, but your PC would do of course better than that.
I'm constantly working on getting OpenWebRX faster on the Pi (in the dev
branch I've already done some manual assembly optimizations for NEON).
You will have to set the max_clients
and the samp_rate
correctly.
If you allow too much clients to connect, audio will lag for all of them (will get audio underruns), as the CPU just can't make it.
The higher the sampling rate is:
- the higher bandwidth will be seen on the waterfall diagram,
- the higher the CPU usage gets (per client as well),
- the less clients can connect without lags.
You should try to open many browser windows and see at how many clients will the audio start to lag.
(TODO)
If you just pull the plug from your Raspberry without properly shutting it down, it may or may not boot the next time.
Use the proper command to halt the operating system:
sudo halt
You will see one of the LEDs blinking at a given time interval, and then both LEDs switch off.
In my article about pi-rw you will find advice on doing that.
fsck
is a Linux tool meant for repairing corrupted file systems.
You can:
- Run
fsck
from a laptop running Linux, having the SD card attached. - Run
fsck
from a Ubuntu Live CD. - Run
fsck
from the shell over the RPi serial port (but you will need a serial adapter). - Run
fsck
with a keyboard and HDMI screen attached to the RPi.
You cannot however run fsck
from ssh
remotely, as the OS hasn't booted properly yet.
First take a look at which device corresponds to your SD card. You can list the block devices with lsblk
:
ha7ilm@pc ~ $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 123,4G 0 disk
├─sda1 8:1 0 120,0G 0 part /
└─sda2 8:2 0 3,4G 0 part [SWAP]
mmcblk0 179:0 0 7,4G 0 disk
├─mmcblk0p1 179:1 0 56M 0 part /media/ha7ilm/boot
└─mmcblk0p2 179:2 0 7,4G 0 part /media/ha7ilm/18b2d310-8421-01f9-a0e0-1001b0d00173
Over here, the corresponding device is mmcblk0p2
. To run fsck
on it:
fsck /dev/mmcblk0p2