Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"packet BAD CRC32 PID : 18" Errors on not high used Transponder #277

Closed
SourceDoctor opened this issue Oct 12, 2021 · 15 comments
Closed

"packet BAD CRC32 PID : 18" Errors on not high used Transponder #277

SourceDoctor opened this issue Oct 12, 2021 · 15 comments

Comments

@SourceDoctor
Copy link
Contributor

SourceDoctor commented Oct 12, 2021

@braice
i receive continously CRC Errors with MuMuDVB on tuned Transponder which contains CNN (the only Service delivered on the whole transponder).
But a TV on same Multiswitch has no problems with receiving CNN.
also capturing with tsduck the transponder to a file and streaming CNN from it has no Errors.

i tried it with several Multiswitches, 2 different antennas and 3 different Tuner Cards
all the same result

I use current head on a Debian Buster

Log Output

Deb0:  EIT rewrite:  New full EIT for update
Deb0:  EIT rewrite:  Full EIT updated. sid 4422 section number 1, last_section_number 1
Deb0:  EIT rewrite:  EIT sid 18176 table id 0x50 not stored, need update.
Info:  DVB:  Bit error rate:          0 Signal strength:      61929 SNR:       1524 Uncorrected blocks:          0
Info:  DVB:  ts_discontinuities          0
Deb0:  TS:  	packet BAD CRC32 PID : 18
Info:  DVB:  Bit error rate:          0 Signal strength:      61932 SNR:       1548 Uncorrected blocks:          0
Info:  DVB:  ts_discontinuities          0
Deb0:  TS:  	packet BAD CRC32 PID : 18
Info:  Main:  Traffic :  4454.55 kb/s 	  for channel "CNN Int."
Info:  DVB:  Bit error rate:          0 Signal strength:      61932 SNR:       1562 Uncorrected blocks:          0
Info:  DVB:  ts_discontinuities          0
Deb0:  TS:  	packet BAD CRC32 PID : 18
Info:  DVB:  Bit error rate:          0 Signal strength:      61929 SNR:       1552 Uncorrected blocks:          0
Info:  DVB:  ts_discontinuities          0
Deb0:  TS:  	packet BAD CRC32 PID : 18
Deb0:  EIT rewrite:  EIT sid 4422 new section 8 version : 13
Deb0:  EIT rewrite:  New full EIT for update
Deb0:  EIT rewrite:  Full EIT updated. sid 4422 section number 8, last_section_number 48

configuration looks like this:

card=13
freq=11626
pol=v
srate=22000
sat_number=0

delivery_system=DVBS

timeout_no_diff=3
tuning_timeout=10

rewrite_sdt=0
sort_eit=0
store_eit=1
unicast=1
ip_http=127.0.0.1
port_http=8018

multicast_ttl=10
multicast_auto_join=1
multicast_ipv4=1
multicast_iface4=vlantv

sap=0

autoconfiguration=full
autoconf_scrambled=1
autoconf_radios=1

autoconf_ip4=239.1.%sid_hi.%sid_low
common_port=1234

cam_support=0

even "rewrite_eit=0" does not solve the problem.
Maybe an error in Null-Pid calculation?

@braice
Copy link
Owner

braice commented Oct 12, 2021 via email

@SourceDoctor
Copy link
Contributor Author

SourceDoctor commented Oct 12, 2021

i didn't find cause of the issue.
Maybe it's the driver, will be tested next.
So i closed it for for first.
Issue is really confusing.

@SourceDoctor
Copy link
Contributor Author

btw, i could use "BAD CRC32 PID" recognization via API :-)
do you have some plans to implement it somewhere for error detection?

@braice
Copy link
Owner

braice commented Oct 12, 2021 via email

@SourceDoctor
Copy link
Contributor Author

thanks for the hint.
btw. it's not the driver :/

I have the same issue on all cards of the same type and i don't think they all have been damaged at the same time.
All the years before they worked in the set up configuration without an issue.

@SourceDoctor
Copy link
Contributor Author

SourceDoctor commented Oct 13, 2021

@braice
ok, i can reproduce it also in a diseqc controlled environment.
Other TunerCards, other Multiswitch, other environment other driver version.

Other DVB applications don't have this issue
e.G. dvblast

Issue causing example is:
Astra 19.2E
11626MHz
vertical
22000 kSym/s

Transponder at moment only contains CNN with 4,4Mbit/s which means above 90% Null Pids on Transpnder

Maybe some misscalculation with Null Pids?

/usr/local/bin/mumudvb --help
MuMuDVB is a program who can redistribute stream from DVB on a network, in multicast or in http unicast.
It's main feature is to take a whole transponder and put each channel on a different multicast IP.

Usage: mumudvb [options] 
-c, --config : Config file
-s, --signal : Display signal power
-t, --traffic : Display channels traffic
-l, --list-cards : List the DVB cards and exit
--card       : The DVB card to use (overrided by the configuration file)
--server_id  : The server id (for autoconfiguration, overrided by the configuration file)
-d, --debug  : Don't deamonize
-v           : More verbose
-q           : Less verbose
--dumpfile   : Debug option : Dump the stream into the specified file
-h, --help   : Help

MuMuDVB Version 2.1.0_20181020_mumudvb2
 --- Build information ---
Built with CAM support.
Built without SCAM support.
Built with ATSC support.
Built with ATSC long channel names support.
Built with support for DVB API Version 5.11.
Built with support for DVB-T2.
---------
Originally based on dvbstream 0.6 by (C) Dave Chapman 2001-2004
Released under the GPL.
Latest version available from http://mumudvb.net/
Project from the cr@ns (http://www.crans.org)
by Brice DUBOST (mumudvb@braice.net)

@SourceDoctor SourceDoctor reopened this Oct 13, 2021
@SourceDoctor
Copy link
Contributor Author

@braice
there is definitly a problem.
I retried it on a small home Antenna Multiswitch Environment with CNN Transponder and have the same problem

@braice
Copy link
Owner

braice commented Oct 16, 2021 via email

@SourceDoctor
Copy link
Contributor Author

i logged some stuff with this command:
mumudvb -vvv -s -t -d -c headend3_13.conf 2>&1| tee -a mumudvb_11626_v.log

Output can be downloaded here:
ftp://ftp.berberich.info/mumudvb_11626_v.log

If you need further data, tell me :-)

@SourceDoctor
Copy link
Contributor Author

@braice is this log enough, or do you need more information?

@braice
Copy link
Owner

braice commented Oct 21, 2021 via email

@SourceDoctor
Copy link
Contributor Author

SourceDoctor commented Oct 25, 2021

tried this one
(show differences in if clause), but still
""
Deb0: TS: packet BAD CRC32 PID : 18

int ts_check_raw_crc32(unsigned char *data)
{
    int i,len;
    uint32_t crc32;
    tbl_h_t *tbl_struct;
    tbl_struct=(tbl_h_t *)data;
    // Stuffing table does not have CRC
    if(tbl_struct->table_id == 0x72)
        return 0;
...

Nethertheless i think this if clause is not wrong on this place :-)

@braice
Copy link
Owner

braice commented Oct 30, 2021 via email

@braice
Copy link
Owner

braice commented Oct 30, 2021 via email

@SourceDoctor
Copy link
Contributor Author

SourceDoctor commented Nov 1, 2021

@braice
seems the problem has been solved

int ts_check_raw_crc32(unsigned char *data)
{
	int i,len;
	uint32_t crc32;
	tbl_h_t *tbl_struct;
	tbl_struct=(tbl_h_t *)data;

        // Stuffing table does not have CRC
        if(tbl_strcut->table_id == 0x72)
            return 1;

	//the real length (it cannot overflow due to the way tbl_h_t is made)
	len=HILO(tbl_struct->section_length)+BYTES_BFR_SEC_LEN;

	//CRC32 calculation

	return (crc32 == 0);
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants