Wednesday, July 04, 2012

 

More About Atbm8830

I have two tv-cards for watching digital programs in Hong Kong. One is a atbm8830 (usb), another is lgs8gl5 (pci-e). They both worked ok before the kernel 3.3. After upgraded to kernel 3.3, both of them stop working anymore. By peeking into the codes, i found the core frontend (and the xc5000) will not accept a delivery system of SYS_DMBTH.  In my last post, as I said, it is only a small amount of people care about this xxxx. Although I joined the mailing list of dvb-media group and asked them to add the support for the dmb-th system. There is no reply. so i am writing it down here in case i will forget what i did.

in the core frontend.c

 drivers/media/dvb/dvb-core/dvb_frontend.c |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index aebcdf2..ee1cc10 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -1531,6 +1531,13 @@ static int set_delivery_system(struct dvb_frontend *fe, u32 desired_system)
                                delsys = desired_system;
                                break;
                        }
+
+                       /* check if the fe delivery system corresponds
+                          to the delivery system in cache */
+                       if (fe->ops.delsys[ncaps] == c->delivery_system) {
+                               delsys = c->delivery_system;
+                               break;
+                       }
                        ncaps++;
                }
                if (delsys == SYS_UNDEFINED) {
-- 
1.7.9.5
 
thanks for Olivier GRENIE, he provided the patch.
 
and in xc5000.c, just add the SYS_DMBTH inside the switch-case in the function set_params.
        case SYS_DVBT:
 case SYS_DVBT2:
 case SYS_DMBTH:
  dprintk(1, "%s() OFDM\n", __func__);
  switch (bw) {
  case 6000000:
   priv->video_standard = DTV6;
   priv->freq_hz = freq - 1750000;
   break;
 

after patching the above changes, my atbm8830 works again. the lgs8gxx still has error. need more time to work on it.
 

Comments:
great to read about atbm8830 its great and nice sharing, keep it up
http://www.isongs.pk/2011-movies/
 
Thanks for the info regarding the ATBM8830. I made the changes with kernel 3.8.8 but sadly it did not work for me. Which kernel are you using?

Again, thanks for sharing.

Regards

Brendan
 
This comment has been removed by the author.
 
Funnily enough, after patching to 3.9.4, it is now working. Thanks again for the info.

Regards

Brendan
 
Now fixed in kernel 3.10
 
Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?