Jump to content


Member Since 13 Jan 2018
Offline Last Active 03 Jul 2022 08:13

#1353127 One proc file for detecting the MACHINE in all enigma2 images.

Posted by IanSav on 27 May 2021 - 16:35



Just an update to let everyone know that boxbranding and the old legacy /etc/openvision/ directory hierarchy is no longer used in OpenVision.  We have completely switched over to using BoxInfo class and the enigma kernel module.  We are also moving quickly to remove all usage of the global SystemInfo dictionary system variables.  These are being replaced with the BoxInfo.getItem() and BoxInfo.setItem() methods.  Immutable values can not be changed with the BoxInfo.setItem() method.  Any item created can be set to be immutable, that is BoxInfo variables can be made to be write once/read many.


The SystemInfo dictionary items themselves can't and won't be removed until all plugins are updated to use the new system.  As previously mentioned the BoxInfo call calls also manage and use the old SystemInfo dictionary.


The kernel module is now called enigma.ko and it creates /proc/enigma/xxx entries.  This has been done, as promised, to remove all hard coded references to OpenVision.  Please understand that some values stored and served by the module are OpenVision specific.  Other images are free to introduce and use them if they are helpful.


We have also started the documentation process of the values defined in the kernel module in https://github.com/O...oc/KERNELMODULE .  This is a work in progress.  As the facility is discussed and enhanced I expect that this documentation will grow and improve.


If OpenPLi is interested / ready to adopt this system please let us know and we would be pleased to help out.




#1346663 One proc file for detecting the MACHINE in all enigma2 images.

Posted by IanSav on 6 May 2021 - 03:39

Hi Zeros,


Thank you for the compliment but this was a joint effort, I wrote the Python code and Persian Prince wrote the C++ code.


I know that a few of the developers and probably others are running the code.  I believe that some boxes are having issues and we are awaiting logs and are actively investigating the problem.  We believe the core of this change is correct and solid and it is one of the converted Enigma2 modules that may have a typo.


I should also point out that our conversion efforts are not yet complete.  We are in the process of converting all direct references to the SystemInfo dictionary variable to use the BoxInfo methods.  When this task is complete the global SystemInfo variable will be no more.




#1345439 One proc file for detecting the MACHINE in all enigma2 images.

Posted by IanSav on 3 May 2021 - 18:43

Hi All,


It has been a while since this thread had a post on the topic.  This post is to let you know what has been happening in the background.


The OpenVision developers have been working on the proposal for a boxbranding replacement.  We have now committed our efforts to the OpenVision repository.


The core of the new code is a new class in SystemInfo called BoxInfo.  Here are the commit notes introducing this new class:

BoxInfo is a new Python class in SystemInfo that is designed to replace the old boxbranding system. The class offers methods to list, get, set or delete system information variables. The code implements controls to protect variables/values defined to be immutable.

The code is designed to find and use an enigma kernel module to supply the system variables. If the kernel module is loaded the variables will be directly extracted from the kernel module. If the module is found but not loaded then the variables will be extracted from the module directly with modinfo. (This same concept can allow modules from non active slots or partitions to be accessed for purposes like MultiBoot.)

The BoxInfo system also defines and allows a file called "/etc/enigma.conf" to be created and supply replacement / override values for the kernel module. This feature is designed to allow developers to simulate other boxes or settings to facilitate firmware development and testing. The file is a simple text format with each line replacing or adding a new kernel module definition. Each line has the form "variable=value". Note that spaces *ARE* significant.

When a variable is initially loaded the code attempts to convert text string representations of Python objects into the real Python object. So, for example, if the string contains '("One", "Two", "Three")' then this will be converted to a tuple with the three string elements. A similar conversion is done for lists. The single word "None" in any case is converted to None. The single words "False", "No", "Off" and "Disabled" in any case are converted to False while "True", "Yes", "On" and "Enabled" in any case are converted to True. Binary, octal, decimal and hexadecimal numbers are converted to Python integers and floating point number strings are converted to type float. Please note that at this time only single conversions are performed. Thus a conversion of a string to a list will not process the elements of the list.

This is an initial presentation of a proposal I designed and presented many months ago. Given there has been no progress with the concept I am committing this code to further progress and discussion. This initial variable names have been taken from the OpenVision interpretation of the boxbranding code. The variable names should be better defined, as suggested / requested by WanWizard on OpenPLi, such changes can easily be made to this code infrastructure.




We have been going through all the OpenVision Enigma2 code removing all references to boxbranding.  I think those efforts are now complete / almost complete.  More in depth testing is now going to commence.


We invite other developers to review our work.  We welcome constructive questions, comments and suggestions.



Ian and the OpenVision team.

#1327247 One proc file for detecting the MACHINE in all enigma2 images.

Posted by IanSav on 8 March 2021 - 12:21

Hi Rantanplan,


And why is IanSav standing in front of him so clearly?


I didn't think I was standing in front of him but more working with him.  ;)


I was just trying to bring some peace, harmony and constructive discussion into the topic.  I now suspect that I am wasting my time.  Haters just want to hate.  As I have said on a number of occasions I find Persian Prince personable and knowledgeable.  I won't change my opinions just on the say of others.  I think everyone should treat others as they would like to be treated.  Hopefully that will always be with kindness and courtesy.  Shamefully this is not always the case.


I would now rather focus and spend my energy on cutting code.  If people want me to respond on a constructive topic, hopefully the one in the title of this thread, then please ask.


If anyone is interested in discussion relating to this topic I can say, for example, that we are still working towards a more hardware abstracted Enigma2.  I have started with changes to the remote control code that moves all the hardware and image issues into one file.  The rest of the remote control code is being modified to be uniform and common for all images.  Some of the code has been committed but it is far from complete.  The changes will soon include the removal of KeyBindings.py and simplifying the management and usage of remote controls.  It is early days by that is our current intention.




#1326895 One proc file for detecting the MACHINE in all enigma2 images.

Posted by IanSav on 7 March 2021 - 13:27

Hello Huevos,


No attribution for the ideas and code taken from ServiceInfo.py on our repo over the last few days, e.g. "self.PROGRESSIVE", or were you going to try and pass that off as your own original idea?


And we have another factually incorrect and uninformed troll post.  Yes I will claim credit for the bulk of the code as I wrote much of it about 4 years ago and committed it to both the Beyonwiz and OpenViX repositories.  The code I just added to OpenVision is an update and refinement to my previous efforts.  The main similarities are the capabilities offered as I wanted them for my OverlayHD skin which is why I wrote the original code.  As you will note I acknowledged the people who inspired my original contribution.





I am now over your troll posts that serve no constructive purpose and will no longer respond.



#1326439 One proc file for detecting the MACHINE in all enigma2 images.

Posted by IanSav on 6 March 2021 - 03:56

Hi Rantanplan,

Open to what?
Is that supposed to be sarcasm?

No, this is my genuine offer to explain any of the changes that I am making to Enigma2. I will also try to explain any of the work of the other team members.  It is my attempt to be open and collaborative.

Blacklist here ... Blacklist there ...
Everything taken from everywhere, bold and without problems. Original sound from PP ... 'These laws wouldn't exist in his country'
That you don't know me from the git just because I have a different name is not my problem.
Just wondering if I will be added to this embarrassing blacklist?
The recording there is slowly becoming an accolade.
I'm just about tinkering and getting as much as possible out of these boxes. It does not matter how old.
That's what git is for. Propose and exchange ideas.
What is it about you?
I don't know anymore. You really talked differently.
As for PP ...
I really don't have the words to express it in a friendly way.

As I said previously, I am trying to get all the blockages removed. Posts like this are only inflaming the situation. Please be patient. Showing some courtesy and patience will help a lot to move things forward in a positive way.


I don't know why you are becoming hostile towards me.  I am just trying to engage you in positive discussion.  I am offering to explain or discuss anything about what we are doing even if some of that work may currently not be readily visible.  The place where I do all my work, the main Enigma2 code, is fully open.  I am now asking for the other areas to be reopened.  I am hoping that this will happen.


I asked if you were a previous OpenVision developer simply to get some understanding and context for your strong point of view.  I don't care what you username was or is.  It will help me to put your comments into perspective if I can understand their motivation.  Are you posting just to be critical or are you posting to try and motivate change and improvement?  I don't have time for the former but I will fully support the latter.


I don't know why you think I am talking differently, it is always the way I present myself.  I find it rude not to reply to people's comments.  I try to hold positive discussion with people.  We don't have to agree but I am more than happy to debate an issue and strongly present my case.  Unfortunately that doesn't always work when people go on the attack against me.  Personal attacks bring out the anger in me and will bring down the tone of my posts.  But as you can see, I am trying to talk to you in a polite and positive way.  I am listening to your complaints and working, behind the scenes, to get things fixed.


As for the comment about GIT, I hope you aren't trying to say that my code is not open to be shared with all Enigma2 teams.  For a while I was actively supporting three different images at the same time.  I can't do that any longer for a number of reasons.  Over the years I have directly contributed to four different Enigma2 images.  For now I am focussing on OpenVision as a melting pot to get my ideas into code and have them workshopped, reviewed and tested.  I am hoping that other teams will see the value of my work and want to pull that effort into their own images.


If I am misunderstanding you, or I am not addressing your concerns please explain what it is you would like from me.



#1325939 One proc file for detecting the MACHINE in all enigma2 images.

Posted by IanSav on 4 March 2021 - 15:49

Hi Rantanplan,


Where you an OpenVision developer?


​I can only comment on my own interactions with Persian Prince and he has always been polite and courteous with me.  He seems very keen about Enigma2, almost a keen as me!  ;)  He seems to be a competent coder and system manager as well.  I would like to add that I am in a Skype chat room with Persian Prince and other OpenVision developers and skinners.  We interact most of the day, every day and it is all polite and supportive.  We don't agree on many things but we have discussions and seek opinions and options to find a way forward.  None of this interaction has ever had any element of rudeness.  Where there are disagreements and strongly held opinions we explain our positions, discuss alternatives, look at what would be best for users and then usually find a solution that everyone accepts.  While it may surprise some, I have made quite a few changes to my code and designs to accommodate input from others.  There is never any "do it my way or take the highway", or "we have always done it that way" or "just do it the way I want".  They listen, discuss and explain.  I have tried to have this relationship with other teams and they proved incapable of such discussions.  If Persian Prince was as difficult as you suggest then I should surely have had issues by now.


One issue that some people forget is that while we mostly all communicate in English it is not everyone's primary language.  (For me all I have is English - Australian English.)  I note that some of my comments, expressions and sayings, are very Australian and can cause confusion.  I think most of the OpenVision team, with whom I communicate, do very well with expressing themselves in English but I am sure that there are misunderstandings.  I actually can't tell you what the natural languages are for everyone but Persian Prince has posted some Farsi at me and I just looked at all the pretty squiggly lines and then asked him to go back to English.  ;)   I often have to ask guys to explain what they said and/or use different words to explain their point.  Similarly they ask me to explain myself if they don't follow my comments.  That is all part and parcel of working with International collaborators.  (This is something I have done a number of times in my career.)  Perhaps this has an issue with some of your previous interactions with him.  I don't know, I could be wrong but I want you to consider the possibility.


There have been a number of derogatory posts made about me in this forum.  Originally I did engage with the people posting.  I had a chat with OpenPLi management about the trolling comments and I was advised that it was bringing the tone of the forum down.  *I* decided that I would delete all of my posts on the matter.  There is still considerable hostility directed to me but I will no longer engage.  For me the fact is that my code was and still is being used in many images of Enigma2.  In spite of all the criticism about my "crap" code I note that none of my code has been reverted.  I think that says a lot more than the troll posts themselves.  Some people just like to hate, that is their problem not mine.


I hope that you can look past previous negative interactions with Persian Prince and try to work together to build some bridges.  I have been talking with Persian Prince across the evening (evening here, actually morning now) and I think that he is opening up to restoring access to most / all the repositories.  I am not making any promises but I am also keen to see them all back and available.  I think that having polite and engaging discussion will achieve significantly more impact that hate speak.


Can we please try looking forward to cooperation rather than lingering in perpetuating issues.




#1325859 One proc file for detecting the MACHINE in all enigma2 images.

Posted by IanSav on 4 March 2021 - 13:08

Hi Rantanplan,


I don't know all the history but I am now an active developer in OpenVision.  I am not intending leaving any time soon.


I can't and won't try to explain Persian Prince's motivations and/or reasoning.  That is something for him to explain if he so wants.  I expect that what ever the issue it has become somewhat personal.  This is a topic that seems to bring up extreme sadness.  Perhaps someone made some of the issues very personal and he may not be handling it well.  I know that I have received some horrible trolling and personal attacks.  All that back stabbing that goes on against me is equally unpleasant.  It is not fun and it really hurts, particularly when this is meant to be a fun and unpaid hobby.  Perhaps Persian Prince has been on the receiving end of similar treatment.


I am still asking Persian Prince to reopen all the repositories and return to a more collaborative stance.  It would obviously help if people were less rude and critical.  There is no need to attack him for his stance but perhaps engage him in discussion to explore the real problems and try to find a way to address them.


I am not speaking on behalf of Persian Prince.  I have asked him to come back and keep discussions going himself.  Given the rudeness of some I can understand why he has been reluctant.




#1313399 merge requests for PLi's git

Posted by IanSav on 1 February 2021 - 01:22



I just wanted to mention that all the code I am adding to OpenVision is also intended for OpenPLi and any other image that wants it.  The code is being prototyped, workshopped and tested on OpenVision as this team is more willing to experiment with new code and new ideas.  When OpenPli gets the new version 8 release settled and is ready to take new changes, code like the new Setup, Information, International, etc they will be available (as they are completed).  I also hope to commit Prl's fantastic new help engine when he is ready for it to launch.


It was always my intention to keep OpenPLi, and any other images that want my code, in the loop.  Persian Prince assured me that he will commit my code to OpenPLi as soon as possible.  As some of you know I tried to commit and synchronise my code to multiple images at once.  This was a task that was not appreciated and, in more recent times, sabotaged.  By working with one team I can complete each task and have the code tested before it is offered to other images.  If people want my code they are welcome to cherry pick it directly from OpenVision.


PLEASE NOTE: My code is free to use but no-one should be using it in any images that obtain financial advantage from using or including any of my code.  Further, appropriate acknowledgement and attribution to me should be maintained for any of my code that is used.  If people want to use my code for financial benefit then please discuss the matter with me, directly, first.




#1288146 One proc file for detecting the MACHINE in all enigma2 images.

Posted by IanSav on 20 December 2020 - 15:08

Hello Huevos,


As far as the plugins go, biggest problem for us is the PLi Setup code needs updating, not branding.


That process is well in hand.  My latest generation of Setup based code is being reworked and tested on OpenVision at the moment.  It will be using these new /proc values and is being specifically designed to also go straight into OpenPLi as well as OpenVision.  Other images will be free to take the latest updates.




#1285726 One proc file for detecting the MACHINE in all enigma2 images.

Posted by IanSav on 13 December 2020 - 23:29

Hi WanWizard,



Well that I don't understand because when I went to the trouble of collecting all the data previously your comment was that is just a lot of static data and not impressed.


... Even discussions about ko file names are not relevant.


Sorry to disagree but the name will be important as this must be known by the Enigma2 code.  This is one of the variables that needs to be specified so that it can be used transparently across all builds, images and slots.




#1285362 One proc file for detecting the MACHINE in all enigma2 images.

Posted by IanSav on 13 December 2020 - 10:23

Hi Persian Prince,


Happy Birthday!




#1285322 One proc file for detecting the MACHINE in all enigma2 images.

Posted by IanSav on 13 December 2020 - 05:39



It seems that some people don't have the imagination or vision to work out what Persian Prince is trying to explain.  Nitpicking appears to be preferred over progress.  My comment also didn't appear to be explicit or clear enough to explain what I think Persian Prince is intending so I will try again.


Persian Prince appears to be suggesting that his proposed module be added/included onto *EVERY* Enigma2 system.  The file is intended to live in a directory something like "/lib/modules/<kernelversion>/kernel/drivers/enigma2/enigma2.ko" or "/lib/modules/<kernelversion>/kernel/drivers/enigma2.ko" so as to be acceptable for the kernel in use.  As has been pointed out as an issue the "<kernelversion>" element is dynamic.  On my test machine the "<kernelversion>" location is actually "4.10.12".  The previously unspoken intention was to create a link from that location to something more globally standard like "/lib/modules/enigma2.ko" or even "/lib/enigma2.ko".  This link can easily be the same on *all* Enigma2 images and builds so it can easily be found by Enigma2 code yet still be appropriately located for use by the kernel.


@Persian Prince, is my interpretation what you are intending?





#1280153 One proc file for detecting the MACHINE in all enigma2 images.

Posted by IanSav on 2 December 2020 - 12:49

Hi Frenske and Persian Prince,




I hope you get well again soon and that you can fully recover at home quickly.


Thank you for your well wishes.  The first operation was a success.  There are two more to come (2 weeks apart).  The prognosis is very good and a full recovery is expected.  It will take some time for me to get up to speed as I won't feel right until the job is complete.  I intend to catch up with Enigma2 and respond as much as possible.


This was a case of feeling unwell and calling a doctor only to be sent straight to hospital for one suspected bad thing and they discover the actual cause was something very different and very bad in other ways.  The symptoms did not at all match the cause.  Almost by accident they found the real issue as part of the CT scan looking for the original suspicions.




#1248730 One proc file for detecting the MACHINE in all enigma2 images.

Posted by IanSav on 29 August 2020 - 02:58

Hi WanWizard,


And then: no response anymore. Disappointing... :(


I am not sure what more I can add or do at this point in time.  I suggested and posted a framework of information / data that needs to be available (I'll attach the latest draft to this message).  I also provided some template code to deliver the API in Python.  That same data and code can be made available to C++ from Python via SWIG.  This same data that primes the Python data structures can be readily accessed by the shell.


What more is required to make this happen?  What more input is required?  What more agreement is required?  How would you like for this to proceed?





Attached Files