Superb quality and spec AB-Com PULSe 4K SE. Crazy offer! Only £99! FREE UK DELIVERY! 4K UHD, Enigma 2, Multiboot 4 images & more!...
Superb quality and spec AB-Com PULSe 4K Rev II Twin Satellite tuner only £149! FREE UK DELIVERY! 4K UHD, Enigma 2, SATA HDD facility, Multiboot 4 images & more!...

[VU+ Duo4K SE] Cannot move up and down in a Setup screen

OK. Based on my laptop, plus a few more obvious ones (such as assuming you wouldn't want to use the UBI storage for recordings?) I've got a blacklist of:

Code:
autofs      binfmt_misc bpf     cgroup2 configfs    debugfs devpts 
devtmpfs    efivarfs    exfat   fuse.portal     fuseblk     fusectl  
hugetlbfs   isofs   jffs2   mqueue  proc    pstore  securityfs  sysfs    
tmpfs       tracefs ubi     ubifs   udf     vfat

There are others, but I can't see that they'd ever end up on a Vix box.
 
Last edited:
Still leaves an issue for picons, which are only allowed on
Code:
 frozenset(('ext4', 'ext3', 'ext2', 'reiser', 'reiser4', 'jffs2', 'ubifs', 'rootfs'))
There's no hard-link test, so adding ntfs would be an issue. (And I have my picons on a vfat file-system, as I put them there "by-hand" rather than using the Plugin Browser, so have no hard links)
 
I don't see any reason why we should prevent users from using devices with working file systems for recording. As in the OP's case, even though he has been locked out of the menu, he can record/playback fine. For arguments sake, somebody's internal HDD on receiver fails, he can use an external ntfs one until replacement arrives.

The hardlinks issue is specific to timeshift only, so any prohibitions should apply to that functionality only.
We are not stopping anyone from anything. Birdman and I are just discussing a formula we can all agree on. And anyway the project is open source so users can do what they like on there own box.
 
Still leaves an issue for picons, which are only allowed on
Code:
 frozenset(('ext4', 'ext3', 'ext2', 'reiser', 'reiser4', 'jffs2', 'ubifs', 'rootfs'))
There's no hard-link test, so adding ntfs would be an issue. (And I have my picons on a vfat file-system, as I put them there "by-hand" rather than using the Plugin Browser, so have no hard links)
Anyway picons use softlinks not hardlinks.
 
I now think this is going the wrong way..

It might be simple (and better) to get the code that detects mounted filesystem to expand any fuseblk entry top be the filesystem type of whatever is behind it (which is discoverable).
 
If getProcMounts() in Components/Harddisk.py is changed to be:
Code:
def getProcMounts(): 
        try: 
                with open("/proc/mounts", "r") as fd: 
                        lines = fd.readlines() 
        except (IOError, OSError) as err: 
                print("[Harddisk] Error: Failed to open '/proc/mounts':", err) 
                return [] 
        result = [line.strip().split(" ") for line in lines] 
        for item in result: 
                item[1] = item[1].replace("\\040", " ")  # Spaces are encoded as \040 in mounts. 
# Also, map any fuseblk fstype to the real file-system behind it... 
# Use blkid to get the info we need.... 
# 
                if item[2] == 'fuseblk': 
                        import subprocess 
                        res = subprocess.run(['blkid', '-sTYPE', '-ovalue', item[0]], capture_output=True) 
                        if res.returncode == 0: 
                                item[2] = res.stdout.decode().strip() 
        return result
thne the file-type will show up as ntfs (or exfat, ...).

The same change can also be made in Plugins/SystemPlugins/ViX/MountManager.py so that the actual filesystem show up in the Vix Mount manager.
(There are some other /proc/mounts users, which might also benefit - haven't checked yet).

Shall I submit PRs for this, then we can revert to a whitelist, as that's easier once the correct info is there to look at.
 
Last edited:
Two PRs to get the real file-system behind a fuseblk entry.

Code:
https://github.com/OpenViX/enigma2/pull/735
https://github.com/OpenViX/vix-core/pull/127

Then ntfs can be added to the supported_filesystem list.
 
Thanks, all, for your help with this - I appreciate that people give up their own time to develop and maintain OpenVix.

I was wondering when I might expect the fix to make it into a new build? I'm not sure I have sufficient understanding of the platform to put the changes in myself by dropping .py files in so I thought it best to wait until it's in a new build and let the update process do it properly. I'd like to get this in and then start investigating whether it also fixes the other closely related issue I'm having (OpenVix crash when attempting to set mount point).

Cheers, and merry Christmas.
Dan
 
The next release could be some time away, OE changes mean that the build process will take an age to complete, even a week or two.

The commits you need alter 3 files (in 2 folders).....

Code:
https://github.com/OpenViX/enigma2/commit/ff8d68241b789f0fc4559c50f0fae56ae83ff10c

https://github.com/OpenViX/enigma2/commit/e2c126e53331d0790c953daefebdf0573cdbdd44

All you need to do in theory, is rename the 3 existing files to *.orig, copy over the new versions, and restart the gui.

FileZilla makes it very easy.
 
Last edited:
The next release could be some time away, OE changes mean that the build process will take an age to complete, even a week or two.

The commits you need alter 3 files (in 2 folders).....

Code:
https://github.com/OpenViX/enigma2/commit/ff8d68241b789f0fc4559c50f0fae56ae83ff10c

https://github.com/OpenViX/enigma2/commit/e2c126e53331d0790c953daefebdf0573cdbdd44

All you need to do in theory, is rename the 3 existing files to *.orig, copy over the new versions, and restart the gui.

FileZilla makes it very easy.


Ok, I gave it a go. I made copies of the 3 files in their location and edited them to have the modified / changed lines from GitHub. I then rebooted.

Now I can update the "Default movie location" and subsequently move to other lines in the Recording and Playback settings screen. Success. Many thanks.

Although I don't use Timeshift, I thought I would check to see if that change worked too. I was able to select another location for Timeshift and save that setting too.

Then I moved on to the error that I mentioned earlier - a crash when attempting to setup mounts. If I go to Setup -> ViX -> Mount manager, then select the USB drive I have connected, press the green button to "Setup mounts", and then try to save a change (eg. to change the mount point to /media/hdd, as things seem to work more smoothly if the disk is mounted there), I get a crash. I've attached a log file.

If anyone can shed any light on what I am doing wrong to cause this crash (which can be reliably reproduced) then please do. As stated above, I encountered this trying to change the mount point to /media/hdd as that's what seems to work best. But maybe that's misguided and I should leave the mount point as /media/sda2 anyway. Thoughts welcome.

Thanks,
Dan
 

Attachments

Actually, that might be a bug.
It's possible that result also needs to be made into a string, although I did test the code with an ntfs file system present, I don't think I tried to actually set its mountpoint.
If so, the code can be simplified by doing it once.

EDIT: It's a bug. I can reproduce the crash when trying to set the mountpoint for an ntfs drive.
And I have a fix....

The PR is here:
Code:
https://github.com/OpenViX/vix-core/pull/128
 
Last edited:
Actually, that might be a bug.
It's possible that result also needs to be made into a string, although I did test the code with an ntfs file system present, I don't think I tried to actually set its mountpoint.
If so, the code can be simplified by doing it once.

EDIT: It's a bug. I can reproduce the crash when trying to set the mountpoint for an ntfs drive.
And I have a fix....

The PR is here:
Code:
https://github.com/OpenViX/vix-core/pull/128


Should this file be used to replace the MountManager.py that belongs in:
\usr\lib\enigma2\python\Plugins\SystemPlugins\NetworkBrowser
or the one that belongs in:
\usr\lib\enigma2\python\Plugins\SystemPlugins\ViX
or both?

Thanks,
Dan
 
The one in the plugin. Then restart.


Hmmm. Did that, but still getting the crash. Log file attached,

Specific action to cause this: select the USB drive in the mount manager; Green button for Setup mounts; select new mount point of /media/hdd; Green button to save. Dialog box appears: "Updating mount locations..." Crash happens.
On one occasion it got past this instead of crashing and said a reboot was necessary. But when I agreed to reboot I got the same crash.

Cheers,
Dan
 

Attachments

Hmmm. Did that, but still getting the crash. Log file attached,

Specific action to cause this: select the USB drive in the mount manager; Green button for Setup mounts; select new mount point of /media/hdd; Green button to save. Dialog box appears: "Updating mount locations..." Crash happens.
On one occasion it got past this instead of crashing and said a reboot was necessary. But when I agreed to reboot I got the same crash.

Cheers,
Dan

Please use the attached version and get the debug log.
 

Attachments

No idea what you are testing but certainly not the version on the repo. Not even from a 6.0 (Py3) build.

Ah, maybe I screwed up in copying the file from GitHub to the box - apologies, I'm new to this. I followed the instructions suggested by ccc (View file on GitHub, then Raw, then Save As) to copy the file to:
\usr\lib\enigma2\python\Plugins\SystemPlugins\ViX

I can see it in that location now and, on a quick visual inspection, it looks like it has the new lines in addconfFstab that I can see in green on GitHub instead of the old red lines. Perhaps I am misinterpreting the green and red and what I've actually got is the old version! I've attached the version on the box to this message just to be sure.

Also, the last callback in the crash log is for:
< 129.7834> File "/usr/lib/enigma2/python/Plugins/SystemPlugins/ViX/MountManager.py", line 444, in addconfFstab
< 129.7842> self.device_type = result.split("TYPE=")[1].split(" ")[0].replace('"', '')
...which looks like one of the new green lines rather than the old red ones.

So, I'm a bit baffled. Have I put the file in the wrong place? Or have I messed it up somehow in copying it from GitHub?

Thanks,
Dan
 

Attachments

OpenViX Feeds Status

Back
Top