Jump to content


Photo

Vu+ Solo2 CI High Bitrate Fix


  • Please log in to reply
49 replies to this topic

#1 buyukbang

  • Senior Member
  • 185 posts

+11
Neutral

Posted 9 May 2013 - 09:23

Hi guys,

 

May be you noticed, new and blazing fast Vu+ Solo2 devices suffer a bug that causes CI modules cannot initiate high bitrate support properly after boot, reboot or GUI (Enigma) restart.

 

I wrote "VU+ Solo2 CI High Bitrate Fix" plugin to fix this problem. This plugin supports both OE 1.6 and OE 2.0 and hopefully covers all CI modules. As always, I wrote and test the plugin on the latest PLi image!

 

You can always visit my blog for the original download link, future updates and my other E2 plugins:
http://buyukbang.blogspot.com

I also attached current version of the plugin to this post.

 

Wish you enjoy it !


@Mods, could you please put this file to PLi Solo2 feeds? Thanks !!!


Edited by buyukbang, 9 May 2013 - 09:25.

It all started with a BigBang...


http://buyukbang.blogspot.com


Re: Vu+ Solo2 CI High Bitrate Fix #2 buyukbang

  • Senior Member
  • 185 posts

+11
Neutral

Posted 9 May 2013 - 09:37

Just install the file and restart Enigma2. There is no GUI for this plugin, so don't try hard to find an entry on the Plugins menu. This plugin does its job on the background silently while Enigma2 is starting. After CI initiates properly, the plugin terminates to free system resources it uses.


Edited by buyukbang, 9 May 2013 - 09:39.

It all started with a BigBang...


http://buyukbang.blogspot.com


Re: Vu+ Solo2 CI High Bitrate Fix #3 malakudi

  • Senior Member
  • 1,449 posts

+69
Good

Posted 9 May 2013 - 09:52

Instead of putting weird postinst scripts in order to have python 2.6 and 2.7 binaries inside your ipk, just put the source .py file in it. I guess the 2K python file doesn't have some intellectual property that deserves to stay binary only.

 

 



Re: Vu+ Solo2 CI High Bitrate Fix #4 Persian Prince

  • Senior Member
  • 1,982 posts

+247
Excellent

Posted 9 May 2013 - 17:09

do we need just

import enigma
from enigma import eTimer, eDVBCI_UI, eDVBCIInterfaces, iServiceInformation
from Plugins.Plugin import PluginDescriptor
autoStartTimer = None

def Plugins(**kwargs):
    return [
        PluginDescriptor(name = 'VUSolo2CIHighBitrateFix', description = 'VUSolo2CIHighBitrateFix', where = PluginDescriptor.WHERE_SESSIONSTART, fnc = autostart)]


def autostart(reason, session = None):
    global autoStartTimer
    print '[VUSolo2CIHighBitrateFix] autostart'
    if reason == 0:
        if autoStartTimer is None:
            autoStartTimer = AutoStartTimer(session)
        
    


class AutoStartTimer:
    ciCaids = []
    
    def __init__(self, session):
        self.session = session
        self.timer = enigma.eTimer()
        self.timer.callback.append(self.onTimer)
        self.timer.startLongTimer(2)

    
    def onTimer(self):
        
        try:
            state = eDVBCI_UI.getInstance().getState(0)
            if state == 0:
                self.timer.stop()
            elif state == 1:
                self.timer.startLongTimer(2)
            elif state == 2:
                self.ciCaids = eDVBCIInterfaces.getInstance().readCICaIds(0)
                if not self.ciCaids:
                    self.timer.startLongTimer(2)
                    return None
                service = self.session.nav.getCurrentService()
                if service:
                    pass
                info = service.info()
                if service is None:
                    self.timer.startLongTimer(2)
                    return None
                if service:
                    pass
                info = service.info()
                if not info:
                    self.timer.startLongTimer(2)
                    return None
                serviceCaids = info.getInfoObject(iServiceInformation.sCAIDs)
                for serviceCaid in serviceCaids:
                    for ciCaid in self.ciCaids:
                        if ciCaid == serviceCaid:
                            eDVBCI_UI.getInstance().setClockRate(0, eDVBCI_UI.rateHigh)
                            self.timer.stop()
                            return None
                self.timer.startLongTimer(2)
            else:
                self.timer.startLongTimer(2)
        except:
            self.timer.startLongTimer(2)


    
    def debugLog(self, log):
        
        try:
            f = open('/tmp/VUSolo2CIHighBitrateFix.log', 'a')
            f.write(log + '\n')
            f.close()
        except:
            pass

 

or something more ?


Open Vision sources: https://github.com/OpenVisionE2


Re: Vu+ Solo2 CI High Bitrate Fix #5 malakudi

  • Senior Member
  • 1,449 posts

+69
Good

Posted 9 May 2013 - 17:50

uncompyle2 ?



Re: Vu+ Solo2 CI High Bitrate Fix #6 buyukbang

  • Senior Member
  • 185 posts

+11
Neutral

Posted 9 May 2013 - 18:37

Nice findings. I wasn't aware of uncompyle2 and it really opens all pyo files I tried. This leads lots of new code to play with.


Edited by buyukbang, 9 May 2013 - 18:38.

It all started with a BigBang...


http://buyukbang.blogspot.com


Re: Vu+ Solo2 CI High Bitrate Fix #7 Lost in Space

  • Senior Member
  • 876 posts

+69
Good

Posted 9 May 2013 - 19:35

It is not difficult to make python code it fails to decompile :-)



Re: Vu+ Solo2 CI High Bitrate Fix #8 Persian Prince

  • Senior Member
  • 1,982 posts

+247
Excellent

Posted 9 May 2013 - 20:51

i'm working on a feature for our enigma2 image (Persian Empire) and our andorid 4 app (Persian Grandeur) so you can easily decomile any pyc/pyo file

 

specially when you can do it with touch on your phone/tablet

 

;)


Open Vision sources: https://github.com/OpenVisionE2


Re: Vu+ Solo2 CI High Bitrate Fix #9 Lost in Space

  • Senior Member
  • 876 posts

+69
Good

Posted 9 May 2013 - 20:54

Wow, I'm really scared now :D



Re: Vu+ Solo2 CI High Bitrate Fix #10 buyukbang

  • Senior Member
  • 185 posts

+11
Neutral

Posted 9 May 2013 - 20:54

So,how ? I couldn't find an example that cannot be decrypted?

 

It is not difficult to make python code it fails to decompile :-)


It all started with a BigBang...


http://buyukbang.blogspot.com


Re: Vu+ Solo2 CI High Bitrate Fix #11 Lost in Space

  • Senior Member
  • 876 posts

+69
Good

Posted 9 May 2013 - 20:56

Why should I tell you ?

 

And the trick is easy if you look at the right places ... and understand how python compiler works


Edited by gutemine, 9 May 2013 - 20:59.


Re: Vu+ Solo2 CI High Bitrate Fix #12 Persian Prince

  • Senior Member
  • 1,982 posts

+247
Excellent

Posted 9 May 2013 - 20:56

Wow, I'm really scared now :D

 

you should not as all your python files are open source ;)

 

but it would be nice if you share C codes too :)


Open Vision sources: https://github.com/OpenVisionE2


Re: Vu+ Solo2 CI High Bitrate Fix #13 Lost in Space

  • Senior Member
  • 876 posts

+69
Good

Posted 9 May 2013 - 21:00

Why should I, as there are plenty of disassemblers available :D



Re: Vu+ Solo2 CI High Bitrate Fix #14 Persian Prince

  • Senior Member
  • 1,982 posts

+247
Excellent

Posted 9 May 2013 - 21:02

Why should I, as there are plenty of disassemblers available :D

 

any good example that can do it easily ? :)


Open Vision sources: https://github.com/OpenVisionE2


Re: Vu+ Solo2 CI High Bitrate Fix #15 buyukbang

  • Senior Member
  • 185 posts

+11
Neutral

Posted 9 May 2013 - 21:03

Well, after all I read about the decompilers, I believe no trick will be safe for python. Using C (may be partly) seems as the best solution.


It all started with a BigBang...


http://buyukbang.blogspot.com


Re: Vu+ Solo2 CI High Bitrate Fix #16 Lost in Space

  • Senior Member
  • 876 posts

+69
Good

Posted 9 May 2013 - 21:03

Why should I tell you where the key of my house is ?

 

And you could steal the code but not the understanding ...


Edited by gutemine, 9 May 2013 - 21:04.


Re: Vu+ Solo2 CI High Bitrate Fix #17 hemertje

  • Forum Moderator
    PLi® Core member
  • 33,504 posts

+118
Excellent

Posted 9 May 2013 - 21:16

enough now with the personal fist fights

 

back on topic!


on the Glassfibre 1GB DVB-C...


Re: Vu+ Solo2 CI High Bitrate Fix #18 Persian Prince

  • Senior Member
  • 1,982 posts

+247
Excellent

Posted 9 May 2013 - 21:27

btw i tried REC , boomerang and some other things i think

the point is you can't decompile an one-way code ;)


Open Vision sources: https://github.com/OpenVisionE2


Re: Vu+ Solo2 CI High Bitrate Fix #19 Lost in Space

  • Senior Member
  • 876 posts

+69
Good

Posted 9 May 2013 - 21:34

We are not fighting as my fists are on the keyboard :-)

 

And yes, using code that runs only once is one of the possible solutions that are commercially available like one time encryption keys.

 

Back to topic - Just delaying detection to give more time is not an elegant but working solution


Edited by gutemine, 9 May 2013 - 21:37.


Re: Vu+ Solo2 CI High Bitrate Fix #20 Persian Prince

  • Senior Member
  • 1,982 posts

+247
Excellent

Posted 9 May 2013 - 21:39

i think it's what Gemini do , spliting python codes to binary files with TPM check

 

but which one is faster ? python compiled or binary files ?


Open Vision sources: https://github.com/OpenVisionE2



5 user(s) are reading this topic

0 members, 5 guests, 0 anonymous users