deeptho
Specialist Contributor
- Joined
- Apr 7, 2006
- Messages
- 702
- Reaction score
- 422
- Points
- 63
- Age
- 57
- My Satellite Setup
- Wavefrontier T90, Laminas 120cm, 2 other dishes; tbs 5927, tbs6904, tbs6909x, tbs6903x, tbs5990, tbs6981,tbs5927
- My Location
- Europe
Today I managed to suiccessfully receive the complete 11480H mux at 5.0W without a receiver and
without a satellite card. Well, the latter is not strictly trough, because I needed it to fake some missing hardware. Read on....
The hardware setup is as follows:
First I installed the code and some dependencies
Then I needed to fix a few compile problems:
In lib/CMakeLists.txt add +add_compile_options ( -fPIC )
In cpu_features/CMakeLists.txt add +add_compile_options ( -fPIC )
And I compiled and installed:
At this point I activate the LNB (using the tbs6909x card). In essence this amounts to provide the right voltage, diseqc
and 22khz signals by tuning to a mux in the proper band. It would not be too difficult to make this hardware yourself.
I have seen other threads on this forum, which come close....
I then picked a narrow band mux, to not load the system too much and made sure the linux power management profile was set to "performance"
to run the cpu's at full speeds
Then after some experimentation, I found that the following command produces a correct transport stream:
I removed the serial number (I do not want it on this forum). The options ask to tune to 9750 + 1729.75 Mhz, with a symbol rate of 3125 kS/s, PSK8 modulation, with a
fec of 3/4. Important is also to set the proper gain of the signal
This can be played with vlc:
And out came the music: BeeGee's Saturday Night fever on Europe 1. CPU usage was about 130%. Stream played fine.
It is also possible to observe the inner workings of the software (see screenshot below). As it is all software, it can be modified in all kinds of ways.
The USRP B200 can tune from 70MHz to 6Ghz. So it can support wide band LNBs. It should be feasible to implement DVB-T and DVB-C as well (but good software may not yet be available).
Also possible is to make transmitters for all these standards. Two years ago I made my own DVB-T mux which featured 8 channels and I could
successfully watch those channels on a samsung TV. Transmitting is actually much much easier than receiving.
without a satellite card. Well, the latter is not strictly trough, because I needed it to fake some missing hardware. Read on....
The hardware setup is as follows:
- I use a software defined radio called USRP B200. Given that this particular mux has a relatively low bandwidth, something cheaper like hackrf or rtlsdr would also work.
- Because the usrp cannot power the lnb and because it cannot cope with the DC voltage on the line, I use a splitter and a DC blocker. The T splitter connects the LNB cable to two cables.
- One of the cables is connected to a tbs 6909x cards, only to provide the required voltages, 22kHz and diseqc commands to the LNB
- The other cable is connected to a DC blocker, which feeds into am F-to-SMA-connecter converter and then into the USRP
- And I use a new laptop to run the software. The laptop connects to the USRP B200
First I installed the code and some dependencies
Bash:
sudo dnf install gnuradio-devel
sudo dnf install spdlog-devel
sudo dnf install -y pybind11-devel
sudo dnf install fftw3-devel
sudo dnf install -y libsndfile-devel
git clone --recursive https://github.com/igorauad/gr-dvbs2rx.git
In lib/CMakeLists.txt add +add_compile_options ( -fPIC )
In cpu_features/CMakeLists.txt add +add_compile_options ( -fPIC )
And I compiled and installed:
Bash:
cd gr-dvbs2rx/
mkdir build
cd build
edit two file
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make -j `nproc`
sudo make install
sudo ldconfig
At this point I activate the LNB (using the tbs6909x card). In essence this amounts to provide the right voltage, diseqc
and 22khz signals by tuning to a mux in the proper band. It would not be too difficult to make this hardware yourself.
I have seen other threads on this forum, which come close....
I then picked a narrow band mux, to not load the system too much and made sure the linux power management profile was set to "performance"
to run the cpu's at full speeds
Then after some experimentation, I found that the following command produces a correct transport stream:
Bash:
dvbs2-rx -f 1729.75e6 -s 3215e3 --usrp-gain=40 --frame-size normal --source usrp --debug 1 --usrp-args "serial=XXXXXX,num_recv_frames=320" --log-stats --log-period 3 --mon-server -m 8psk3/4 --sink file --out-file /tmp/test.ts
I removed the serial number (I do not want it on this forum). The options ask to tune to 9750 + 1729.75 Mhz, with a symbol rate of 3125 kS/s, PSK8 modulation, with a
fec of 3/4. Important is also to set the proper gain of the signal
This can be played with vlc:
Bash:
vlc /tmp/test.ts
And out came the music: BeeGee's Saturday Night fever on Europe 1. CPU usage was about 130%. Stream played fine.
It is also possible to observe the inner workings of the software (see screenshot below). As it is all software, it can be modified in all kinds of ways.
The USRP B200 can tune from 70MHz to 6Ghz. So it can support wide band LNBs. It should be feasible to implement DVB-T and DVB-C as well (but good software may not yet be available).
Also possible is to make transmitters for all these standards. Two years ago I made my own DVB-T mux which featured 8 channels and I could
successfully watch those channels on a samsung TV. Transmitting is actually much much easier than receiving.