tbsdtv / linux_media

TBS linux open source drivers
https://github.com/tbsdtv/linux_media/wiki
Other
174 stars 80 forks source link

m88rs6060 #306

Closed majortom9 closed 1 year ago

majortom9 commented 1 year ago

Noticed this modcod doesn't look right and can confirm tuning a known s2x TP of 16 apsk fec 25/36 results in an incorrect report of 16 apsk fec 8/15. There's a few we can test that modcode currently located here, https://www.lyngsat.com/Galaxy-18.html TPs 22, 23, 24.

I added a dev_dbg to the module to print the modcod value for me while tuned to that TP, I can confirm 0xa6 and 0xa7 from the PLSInfoTable are the ones needing correction.

[ 138.911740] m88rs6060 16-0069: pls code a6, dvb type 42, pilot 0

diff --git a/drivers/media/dvb-frontends/m88rs6060.c b/drivers/media/dvb-frontends/m88rs6060.c
index d26a0e438ec0..a5d0fbd2ae6e 100644
--- a/drivers/media/dvb-frontends/m88rs6060.c
+++ b/drivers/media/dvb-frontends/m88rs6060.c
@@ -257,8 +257,8 @@ static  struct MT_FE_PLS_INFO mPLSInfoTable[] =
         {0xA3,           TRUE,   MtFeType_DvbS2X,        MtFeModMode_16Apsk,     MtFeCodeRate_23_36,     TRUE,   FALSE,                 0},
         {0xA4,           TRUE,   MtFeType_DvbS2X,        MtFeModMode_16Apsk_L,   MtFeCodeRate_2_3,       FALSE,  FALSE,                 0},
         {0xA5,           TRUE,   MtFeType_DvbS2X,        MtFeModMode_16Apsk_L,   MtFeCodeRate_2_3,       TRUE,   FALSE,                 0},
-        {0xA6,           TRUE,   MtFeType_DvbS2X,        MtFeModMode_16Apsk,     MtFeCodeRate_8_15,      FALSE,  FALSE,                 0},
-        {0xA7,           TRUE,   MtFeType_DvbS2X,        MtFeModMode_16Apsk,     MtFeCodeRate_8_15,      TRUE,   FALSE,                 0},
+        {0xA6,           TRUE,   MtFeType_DvbS2X,        MtFeModMode_16Apsk,     MtFeCodeRate_25_36,     FALSE,  FALSE,                 0},
+        {0xA7,           TRUE,   MtFeType_DvbS2X,        MtFeModMode_16Apsk,     MtFeCodeRate_25_36,     TRUE,   FALSE,                 0},
         {0xA8,           TRUE,   MtFeType_DvbS2X,        MtFeModMode_16Apsk,     MtFeCodeRate_13_18,     FALSE,  FALSE,                 0},
         {0xA9,           TRUE,   MtFeType_DvbS2X,        MtFeModMode_16Apsk,     MtFeCodeRate_13_18,     TRUE,   FALSE,                 0},
         {0xAA,           TRUE,   MtFeType_DvbS2X,        MtFeModMode_16Apsk,     MtFeCodeRate_7_9,       FALSE,  FALSE,                 0},

Some simple math we can also see how 8_15 looks redundant and doesn't line up with the intended order, guessing this was a typo. https://imgur.com/1jJADAP.png

crazycat69 commented 1 year ago

Fixed and confirmed. Thanks. https://github.com/tbsdtv/linux_media/commit/d94513e97be429847a8bf6ba6bcf74492d3d24d9