Want to resurrect your D/D2 MAC kit?

BSBSquarial

Member
Joined
Aug 8, 2015
Messages
39
Reaction score
5
Points
8
Age
45
My Satellite Setup
Vu+solo2 with 1.2m motorised dish
Sky Q ( yes, its as crap as the HD box)
BSB receivers by Ferguson,Nokia,Philips,Tatung, Deccacolour.
BSB Squarials branded Ferguson, Philips, Tatung and unbranded made by Matsushita. Nokia but unbranded made by STC.
BSB square dish unbranded and Philips round mini dish made by Channel Master.
My Location
East Sussex UK
Hi Captain Jack and fsphil.
Would there be any chance of you writing an idiots guide on how to transmit Dmac using your methods.
I have BSB receivers that I’d really love to resurrect.
Unfortunately I’m lost with the software coding side of this.
I have Windows 10 pc’s so a guide for running the script on windows would be favourable.
Kind regards
Chris
 

steeviebops

Member
Joined
Nov 19, 2019
Messages
106
Reaction score
76
Points
28
My Satellite Setup
A basic 28.2 Freesat config, but have had a long history of satellite TV dating back to the analogue 19.2 days. Using a HP ZBook 15 G5 laptop (Core i7-8850H, 32GB RAM, Quadro video card)
My Location
Drogheda, Ireland
Hi Captain Jack and fsphil.
Would there be any chance of you writing an idiots guide on how to transmit Dmac using your methods.
I have BSB receivers that I’d really love to resurrect.
Unfortunately I’m lost with the software coding side of this.
I have Windows 10 pc’s so a guide for running the script on windows would be favourable.
Kind regards
Chris
The latest builds of Captain Jack's hacktv fork don't compile on Windows, looks to be something to do with the Syster changes implemented recently. So you'll probably need to use Linux (or a Mac maybe?) for that. The original version by fsphil can compile if some changes are made to mac.c first, but I don't know what the consequences of this are.
 

Captain Jack

Retired human
Joined
Oct 21, 2006
Messages
11,897
Reaction score
8,078
Points
113
My Satellite Setup
See signature
My Location
North Somerset
fsphil's version will compile for Windows and work with BSB out of the box - no changes needed there. If someone can compile the latest version for Windows and upload it, then you can use it.

I assume you have HackRF and all drivers installed already.
 

steeviebops

Member
Joined
Nov 19, 2019
Messages
106
Reaction score
76
Points
28
My Satellite Setup
A basic 28.2 Freesat config, but have had a long history of satellite TV dating back to the analogue 19.2 days. Using a HP ZBook 15 G5 laptop (Core i7-8850H, 32GB RAM, Quadro video card)
My Location
Drogheda, Ireland
I’ll give it a shot. Be back in a few.
 

steeviebops

Member
Joined
Nov 19, 2019
Messages
106
Reaction score
76
Points
28
My Satellite Setup
A basic 28.2 Freesat config, but have had a long history of satellite TV dating back to the analogue 19.2 days. Using a HP ZBook 15 G5 laptop (Core i7-8850H, 32GB RAM, Quadro video card)
My Location
Drogheda, Ireland
Got the same errors again:

mac.c: In function '_update_udt':
mac.c:384:2: warning: implicit declaration of function 'localtime_r'; did you mean 'localtime_s'? [-Wimplicit-function-declaration]
384 | localtime_r(&timestamp, &tm);
| ^~~~~~~~~~~
| localtime_s
mac.c:385:8: error: 'struct tm' has no member named 'tm_gmtoff'
385 | i = tm.tm_gmtoff / 1800;
| ^
mac.c:389:2: warning: implicit declaration of function 'gmtime_r'; did you mean 'gmtime_s'? [-Wimplicit-function-declaration]
389 | gmtime_r(&timestamp, &tm);
| ^~~~~~~~
| gmtime_s
make: *** [Makefile:32: mac.o] Error 1
make: *** Waiting for unfinished jobs....

If I comment out the lines above, it does compile but as I said, I don't know what it breaks. I've uploaded the compiled file here:
 

Captain Jack

Retired human
Joined
Oct 21, 2006
Messages
11,897
Reaction score
8,078
Points
113
My Satellite Setup
See signature
My Location
North Somerset
It should still work without those. It's just for setting date/time, though we haven't seen *where* it sets it!

Can you remind me what errors you're seeing compiling my fork for Windows?
 

BSBSquarial

Member
Joined
Aug 8, 2015
Messages
39
Reaction score
5
Points
8
Age
45
My Satellite Setup
Vu+solo2 with 1.2m motorised dish
Sky Q ( yes, its as crap as the HD box)
BSB receivers by Ferguson,Nokia,Philips,Tatung, Deccacolour.
BSB Squarials branded Ferguson, Philips, Tatung and unbranded made by Matsushita. Nokia but unbranded made by STC.
BSB square dish unbranded and Philips round mini dish made by Channel Master.
My Location
East Sussex UK
OK, so I don't have a HackRF yet as I don't want to buy one if I have no hope of getting this working.
Also I think someone mentioned in an earlier post that this will work with LIME SDR. Looking on the net I see these can transmit at 12Ghz so I'd like to get this so I can maybe transmit to a Squarial in the future.
Will this same script work with Lime?
Also I've tried the file that steeviebops uploaded but nothing happens on my PC except a command box opens then closes.
Is this because I don't have the HackRF/ Limesdr installed yet?
Sorry for my total lack of computer knowledge!!
Regards
Chris
 

homercartman

Member
Joined
Oct 25, 2019
Messages
42
Reaction score
6
Points
8
My Satellite Setup
Cubsat 50, DVBSky S960, RPi3
My Location
France
Hi @BSBSquarial

hacktv needs to be run as command line from DOS prompt. Else running it by clicking on it will only lead to the result (blinking window) you observed.

HackRF is known to work, never tested LimeSDR. For early tests, transmitting in the 950-2150MHz intermediate band will work with any decoder. Make 100% sure you have a DC blocker between your satellite receiver and your SDR hardware.
 

fsphil

Member
Joined
Apr 27, 2017
Messages
112
Reaction score
52
Points
28
My Satellite Setup
Still playing with analogue. Also running a Humax FOXSAT-HDR and a Thomson THS804.
My Location
UK
Ah I meant to remove that time code, or at least comment it out until we found a decoder that uses it.

The official specs on the LimeSDR say its maximum frequency is 3.8 GHz - is their a mod or addon to let it get to 12GHz? That would be super useful.
 

steeviebops

Member
Joined
Nov 19, 2019
Messages
106
Reaction score
76
Points
28
My Satellite Setup
A basic 28.2 Freesat config, but have had a long history of satellite TV dating back to the analogue 19.2 days. Using a HP ZBook 15 G5 laptop (Core i7-8850H, 32GB RAM, Quadro video card)
My Location
Drogheda, Ireland
It should still work without those. It's just for setting date/time, though we haven't seen *where* it sets it!

Can you remind me what errors you're seeing compiling my fork for Windows?
Sure, here you go. I never got the timestamp and logo functions working but that's not the end of the world.

systerdes.c:108:6: error: conflicting types for '_expand'
108 | void _expand(unsigned char const *e, unsigned char *data, unsigned char *result)
| ^~~~~~~
In file included from /usr/x86_64-w64-mingw32/sys-root/mingw/include/stdlib.h:741,
from systerdes.c:22:
/usr/x86_64-w64-mingw32/sys-root/mingw/include/malloc.h:113:25: note: previous declaration of '_expand' was here
113 | _CRTIMP void *__cdecl _expand(void *_Memory,size_t _NewSize);
| ^~~~~~~
make: *** [Makefile:32: systerdes.o] Error 1
make: *** Waiting for unfinished jobs....
syster.c: In function '_init_common':
syster.c:493:24: warning: array subscript 8 is outside array bounds of 'unsigned char[8]' [-Warray-bounds]
493 | s->blocks[j].ecm = i < 4 || i > 12 ? rand() + 0xFF : data[i-4];
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
syster.c:659:17: note: while referencing 'data'
659 | unsigned char data[8] = { 0x80, 0x01, 0x11, 0x00, 0x7B, 0x0A, 0x00, 0x00 };
| ^~~~
syster.c:493:24: warning: array subscript 8 is outside array bounds of 'unsigned char[8]' [-Warray-bounds]
493 | s->blocks[j].ecm = i < 4 || i > 12 ? rand() + 0xFF : data[i-4];
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
syster.c:624:17: note: while referencing 'data'
624 | unsigned char data[8] = { 0xFF,0x01,0x01,0x00,0x7B,0x0A,0x00,0x00 };
| ^~~~
syster.c:493:24: warning: array subscript 8 is outside array bounds of 'unsigned char[8]' [-Warray-bounds]
493 | s->blocks[j].ecm = i < 4 || i > 12 ? rand() + 0xFF : data[i-4];
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
syster.c:590:17: note: while referencing 'data'
590 | unsigned char data[8] = { 0x80,0x05,0x11,0x00,0x88,0x15,0x00,0x00 };
| ^~~~
syster.c:493:24: warning: array subscript 8 is outside array bounds of 'unsigned char[8]' [-Warray-bounds]
493 | s->blocks[j].ecm = i < 4 || i > 12 ? rand() + 0xFF : data[i-4];
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
syster.c:560:17: note: while referencing 'data'
560 | unsigned char data[8] = { 0xFF,0x05,0x11,0x00,0x88,0x15,0x00,0x00 };
| ^~~~
syster.c:493:24: warning: array subscript 8 is outside array bounds of 'unsigned char[8]' [-Warray-bounds]
493 | s->blocks[j].ecm = i < 4 || i > 12 ? rand() + 0xFF : data[i-4];
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
syster.c:526:17: note: while referencing 'data'
526 | unsigned char data[8] = { 0xFF,0x01,0x11,0x00,0x88,0x15,0x00,0x00 };
| ^~~~
syster.c:493:24: warning: '*((void *)&data+8)' may be used uninitialized in this function [-Wmaybe-uninitialized]
493 | s->blocks[j].ecm = i < 4 || i > 12 ? rand() + 0xFF : data[i-4];
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
syster.c:526:17: note: '*((void *)&data+8)' was declared here
526 | unsigned char data[8] = { 0xFF,0x01,0x11,0x00,0x88,0x15,0x00,0x00 };
| ^~~~
syster.c:493:24: warning: '*((void *)&data+8)' may be used uninitialized in this function [-Wmaybe-uninitialized]
493 | s->blocks[j].ecm = i < 4 || i > 12 ? rand() + 0xFF : data[i-4];
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
syster.c:560:17: note: '*((void *)&data+8)' was declared here
560 | unsigned char data[8] = { 0xFF,0x05,0x11,0x00,0x88,0x15,0x00,0x00 };
| ^~~~
syster.c:493:24: warning: '*((void *)&data+8)' may be used uninitialized in this function [-Wmaybe-uninitialized]
493 | s->blocks[j].ecm = i < 4 || i > 12 ? rand() + 0xFF : data[i-4];
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
syster.c:590:17: note: '*((void *)&data+8)' was declared here
590 | unsigned char data[8] = { 0x80,0x05,0x11,0x00,0x88,0x15,0x00,0x00 };
| ^~~~
syster.c:493:24: warning: '*((void *)&data+8)' may be used uninitialized in this function [-Wmaybe-uninitialized]
493 | s->blocks[j].ecm = i < 4 || i > 12 ? rand() + 0xFF : data[i-4];
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
syster.c:624:17: note: '*((void *)&data+8)' was declared here
624 | unsigned char data[8] = { 0xFF,0x01,0x01,0x00,0x7B,0x0A,0x00,0x00 };
| ^~~~
syster.c:493:24: warning: '*((void *)&data+8)' may be used uninitialized in this function [-Wmaybe-uninitialized]
493 | s->blocks[j].ecm = i < 4 || i > 12 ? rand() + 0xFF : data[i-4];
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
syster.c:659:17: note: '*((void *)&data+8)' was declared here
659 | unsigned char data[8] = { 0x80, 0x01, 0x11, 0x00, 0x7B, 0x0A, 0x00, 0x00 };
| ^~~~
 

steeviebops

Member
Joined
Nov 19, 2019
Messages
106
Reaction score
76
Points
28
My Satellite Setup
A basic 28.2 Freesat config, but have had a long history of satellite TV dating back to the analogue 19.2 days. Using a HP ZBook 15 G5 laptop (Core i7-8850H, 32GB RAM, Quadro video card)
My Location
Drogheda, Ireland
OK, so I don't have a HackRF yet as I don't want to buy one if I have no hope of getting this working.
Also I think someone mentioned in an earlier post that this will work with LIME SDR. Looking on the net I see these can transmit at 12Ghz so I'd like to get this so I can maybe transmit to a Squarial in the future.
Will this same script work with Lime?
Also I've tried the file that steeviebops uploaded but nothing happens on my PC except a command box opens then closes.
Is this because I don't have the HackRF/ Limesdr installed yet?
Sorry for my total lack of computer knowledge!!
Regards
Chris
As mentioned above, hacktv is a command line application so needs to be run from the Linux terminal or a Windows command prompt. I actually made a little GUI wrapper for it for my own use - if you're interested I can share that with you too.
 

Captain Jack

Retired human
Joined
Oct 21, 2006
Messages
11,897
Reaction score
8,078
Points
113
My Satellite Setup
See signature
My Location
North Somerset
Ah, most are warnings but need to address them. The _expand function needs to be renamed to something like _exp and it should compile. Looks like there's a function of the same name in Windows somewhere doing a totally different thing (and not DES expansion).
 

fsphil

Member
Joined
Apr 27, 2017
Messages
112
Reaction score
52
Points
28
My Satellite Setup
Still playing with analogue. Also running a Humax FOXSAT-HDR and a Thomson THS804.
My Location
UK
There's been some interest in a GUI lately. I'm not really sure what form that could take. A live preview of the currently playing video, maybe some basic media controls?
 

Captain Jack

Retired human
Joined
Oct 21, 2006
Messages
11,897
Reaction score
8,078
Points
113
My Satellite Setup
See signature
My Location
North Somerset
Both :) File selection/queuing would be good too.

Perhaps an interface for CAS.
 

steeviebops

Member
Joined
Nov 19, 2019
Messages
106
Reaction score
76
Points
28
My Satellite Setup
A basic 28.2 Freesat config, but have had a long history of satellite TV dating back to the analogue 19.2 days. Using a HP ZBook 15 G5 laptop (Core i7-8850H, 32GB RAM, Quadro video card)
My Location
Drogheda, Ireland
What I've made is very basic, I haven't coded anything for years! It just allows you to select a source and enable whatever settings you want. But if the interest is there, I'd happily share it.

It runs on Windows or also on Wine (where it runs the native Linux versions and not a Windows port).
 

Attachments

  • hacktv-gui.PNG
    hacktv-gui.PNG
    24.7 KB · Views: 25

Captain Jack

Retired human
Joined
Oct 21, 2006
Messages
11,897
Reaction score
8,078
Points
113
My Satellite Setup
See signature
My Location
North Somerset
Nice gui. Would be good to have a portable version - either as a Java program or something compiled from source like the main program.
 

BSBSquarial

Member
Joined
Aug 8, 2015
Messages
39
Reaction score
5
Points
8
Age
45
My Satellite Setup
Vu+solo2 with 1.2m motorised dish
Sky Q ( yes, its as crap as the HD box)
BSB receivers by Ferguson,Nokia,Philips,Tatung, Deccacolour.
BSB Squarials branded Ferguson, Philips, Tatung and unbranded made by Matsushita. Nokia but unbranded made by STC.
BSB square dish unbranded and Philips round mini dish made by Channel Master.
My Location
East Sussex UK
Ah I meant to remove that time code, or at least comment it out until we found a decoder that uses it.

The official specs on the LimeSDR say its maximum frequency is 3.8 GHz - is their a mod or addon to let it get to 12GHz? That would be super
Ah I meant to remove that time code, or at least comment it out until we found a decoder that uses it.

The official specs on the LimeSDR say its maximum frequency is 3.8 GHz - is their a mod or addon to let it get to 12GHz? That would be super useful.
I was searching the web and came across a page discussing the Limesdr that does 100hz upto 12ghz.https://discourse.myriadrf.org/t/lms8001-100-khz-to-12-ghz-transceiver-schedule-info/1020.
Not sure if this is available yet.
The only other thing I found was an add on up converter board for limesdr but that only goes up to 10ghz.
 

BSBSquarial

Member
Joined
Aug 8, 2015
Messages
39
Reaction score
5
Points
8
Age
45
My Satellite Setup
Vu+solo2 with 1.2m motorised dish
Sky Q ( yes, its as crap as the HD box)
BSB receivers by Ferguson,Nokia,Philips,Tatung, Deccacolour.
BSB Squarials branded Ferguson, Philips, Tatung and unbranded made by Matsushita. Nokia but unbranded made by STC.
BSB square dish unbranded and Philips round mini dish made by Channel Master.
My Location
East Sussex UK
What I've made is very basic, I haven't coded anything for years! It just allows you to select a source and enable whatever settings you want. But if the interest is there, I'd happily share it.

It runs on Windows or also on Wine (where it runs the native Linux versions and not a Windows port).
That looks fantastic!
And much more user friendly for someone like me.
I’d be very great full if you would share this.
Thanks
Chris
 

BSBSquarial

Member
Joined
Aug 8, 2015
Messages
39
Reaction score
5
Points
8
Age
45
My Satellite Setup
Vu+solo2 with 1.2m motorised dish
Sky Q ( yes, its as crap as the HD box)
BSB receivers by Ferguson,Nokia,Philips,Tatung, Deccacolour.
BSB Squarials branded Ferguson, Philips, Tatung and unbranded made by Matsushita. Nokia but unbranded made by STC.
BSB square dish unbranded and Philips round mini dish made by Channel Master.
My Location
East Sussex UK
Ah I meant to remove that time code, or at least comment it out until we found a decoder that uses it.

The official specs on the LimeSDR say its maximum frequency is 3.8 GHz - is their a mod or addon to let it get to 12GHz? That would be super useful.

I was searching the web and came across a page discussing the Limesdr that does 100hz upto 12ghz.
.
Not sure if this is available yet.
The only other thing I found was an add on up converter board for limesdr but that only goes up to 10ghz.
 

BSBSquarial

Member
Joined
Aug 8, 2015
Messages
39
Reaction score
5
Points
8
Age
45
My Satellite Setup
Vu+solo2 with 1.2m motorised dish
Sky Q ( yes, its as crap as the HD box)
BSB receivers by Ferguson,Nokia,Philips,Tatung, Deccacolour.
BSB Squarials branded Ferguson, Philips, Tatung and unbranded made by Matsushita. Nokia but unbranded made by STC.
BSB square dish unbranded and Philips round mini dish made by Channel Master.
My Location
East Sussex UK
Hi Captain Jack,
I've been playing with this with my BSB boxes and Steeviebops GUI but I'm struggling to get a stable image.
What settings do I need to use to get this to work like in the video you posted.
I'm running it on a windows i5 2.5Ghz. is this fast enough?
Great work.
Kind regards
Chris
 
Top