Jump to content


athoik

Member Since 20 Sep 2012
Offline Last Active 01 Apr 2024 20:54
*****

#1613789 RC 9.0 - Problems with Windows filenames that contain Umlauts

Posted by athoik on 26 March 2024 - 22:29

diff --git a/lib/service/iservice.h b/lib/service/iservice.h
index 9ec1009f4c..be11e47582 100644
--- a/lib/service/iservice.h
+++ b/lib/service/iservice.h
@@ -57,6 +57,9 @@ public:
        std::string getPath() const { return path; }
        void setPath( const std::string &n ) { path=n; }

+       // getRawPath will return a bytes object in python
+       std::vector<char> getRawPath() const { return std::vector<char>(path.begin(), path.end()); }
+
        unsigned int getUnsignedData(unsigned int num) const
        {
                if ( num < sizeof(data)/sizeof(int) )

 

How about using a new property like getRawPath?

 

Returning std::vector<char> will be converted directly into bytes using SWIG.

 

Please note that os.listdir returns both unicode string and bytes depending on the input...

 

>>> os.listdir(b'.')
[b'M\xc3\xbcnchen.png', b'M\x81nchen.png']
>>> os.listdir(b'.')[1].decode("utf-8",errors='surrogateescape')
'M\udc81nchen.png'
>>> os.listdir(b'.')[1].decode('cp437')
'München.png'
...
>>> list(os.walk(b'.'))
[(b'.', [], [b'M\xc3\xbcnchen.png', b'M\x81nchen.png'])]
>>> list(os.walk('.'))
[('.', [], ['München.png', 'M\udc81nchen.png'])]

 

https://docs.python....icode-filenames

 

The os.listdir() function returns filenames, which raises an issue: should it return the Unicode version of filenames, or should it return bytes containing the encoded versions? os.listdir() can do both, depending on whether you provided the directory path as bytes or a Unicode string.

 

What you think is possible to use getRawFile().decode("utf-8",errors='surrogateescape')?




#1510363 How to set up Vu+ Ultimo4k / Duo4k to receive DVB-S2X signal on Hotbird?

Posted by athoik on 10 January 2023 - 23:23

Hi,

 

Indeed Availink relased a new firmware few hours ago, and they manage to enable short FEC on AVL6261C (although it's not advertised as a supported HW feature).

 

Kudos to Availink!

 

If everything works normally, please let me know if order to create a PR on edision, with the newer firmware.

 

 

Although the initial problem still remains, further investigation required on VU+

 

Does it tune with DVB-S2 and AUTO in FEC ?

Does it tune with DVB-S2X and AUTO in FEC ?

 

(as already mentioned above in DVB API there is no S2X mode)




#1316674 Test new qtwebbrowser.

Posted by athoik on 7 February 2021 - 21:46

Those closed source stalker obviously require QT 5.9. So it's a qtstalker.

I believe it has nothing to do with qthbbtv (that requires also QT and was build on the same time, so they used same QT 5.9).

 

QT is moving on and the already advanced to version 6 (after 5.13  followed by 5.14 and then by 5.15, the QT 6 is completely new release).

 

So soon or late it would be hard to build those plugins.

 

 

Anyway the issues you are having with settings, i am almost sure they are not related with latest version of QT.

 

 

QT HbbTV is just a browser, able to render the HbbTV html. You can even start it without having enigma2 running.

 




#1316522 Test new qtwebbrowser.

Posted by athoik on 7 February 2021 - 17:47

Can you offer a merge request please...

Done! https://github.com/O...d0915582e8aa176




#1316330 Test new qtwebbrowser.

Posted by athoik on 7 February 2021 - 12:20

Sure, I was waiting feedback internaly, but better to move it in develop.


#1316310 Test new qtwebbrowser.

Posted by athoik on 7 February 2021 - 12:00

There is also a new open source Hbbtv browser available now here: https://github.com/openhbbtvbrowser

 

I am including also the patch for current openpli develop branch.

 

Patch and new Hbbtv is from Edision developers.

Attached Files




#1268224 Edision MIO4k+ USB Tuner Issue in Develop Branch

Posted by athoik on 28 October 2020 - 22:23

Can you please try to move modutils loading before udev? (udev is S04udev)

 

mv /etc/rcS.d/S05modutils.sh /etc/rcS.d/S03modutils.sh



#1268220 Edision MIO4k+ USB Tuner Issue in Develop Branch

Posted by athoik on 28 October 2020 - 21:59

The udev has a mechanism to load drivers.

 

GFA8G.png

 

https://unix.stackex...t-udev-requests

 

I think we are missing a "finetune" on udev regarding usb "dvb" drivers.




#1262341 Edision MIO4k+ USB Tuner Issue in Develop Branch

Posted by athoik on 10 October 2020 - 04:48

I think you need to try this one:


KERNEL=="vtuner[0-9]*", SYMLINK+="misc/vtuner%n"


#1220486 A script to get signal levels for a satellite

Posted by athoik on 16 June 2020 - 21:33

You can read values directly from dvb...

 

import sys
import time
import fcntl
import ctypes

_IOC_NRBITS = 8
_IOC_TYPEBITS = 8
_IOC_SIZEBITS = 14
_IOC_DIRBITS = 2

_IOC_NRSHIFT = 0
_IOC_TYPESHIFT = _IOC_NRSHIFT + _IOC_NRBITS
_IOC_SIZESHIFT = _IOC_TYPESHIFT + _IOC_TYPEBITS
_IOC_DIRSHIFT = _IOC_SIZESHIFT + _IOC_SIZEBITS

_IOC_NONE = 0
_IOC_WRITE = 1
_IOC_READ  = 2

def _IOC(dir_, type_, nr, size):
    return (
        ctypes.c_int32(dir_ << _IOC_DIRSHIFT).value |
        ctypes.c_int32(ord(type_) << _IOC_TYPESHIFT).value |
        ctypes.c_int32(nr << _IOC_NRSHIFT).value |
        ctypes.c_int32(size << _IOC_SIZESHIFT).value)

def _IOC_TYPECHECK(t):
    return ctypes.sizeof(t)

def _IO(type_, nr):
    return _IOC(_IOC_NONE, type_, nr, 0)

def _IOW(type_, nr, size):
    return _IOC(_IOC_WRITE, type_, nr, _IOC_TYPECHECK(size))

def _IOR(type_, nr, size):
    return _IOC(_IOC_READ, type_, nr, _IOC_TYPECHECK(size))

def _IOWR(type_, nr, size):
    return _IOC(_IOC_READ | _IOC_WRITE, type_, nr, _IOC_TYPECHECK(size))

enum = ctypes.c_uint
fe_status_t = enum
FE_HAS_SIGNAL = 0x01
FE_HAS_CARRIER = 0x02
FE_HAS_VITERBI = 0x04
FE_HAS_SYNC = 0x08
FE_HAS_LOCK = 0x10
FE_TIMEDOUT = 0x20
FE_REINIT = 0x40

FE_READ_STATUS = _IOR('o', 69, fe_status_t)
FE_READ_BER = _IOR('o', 70, ctypes.c_uint32)
FE_READ_SIGNAL_STRENGTH = _IOR('o', 71, ctypes.c_uint16)
FE_READ_SNR = _IOR('o', 72, ctypes.c_uint16)
FE_READ_UNCORRECTED_BLOCKS = _IOR('o', 73, ctypes.c_uint32)

class Frontend(object):
    def __init__(self, fd):
        self._fd = fd

    def _ioctlGet(self, query, c_type):
        result = c_type()
        try:
                fcntl.ioctl(self._fd, query, result)
        except:
                print "exception using %s" % query
        return result

    def getStatus(self):
        return self._ioctlGet(FE_READ_STATUS, fe_status_t).value

    def getBitErrorRate(self):
        return self._ioctlGet(FE_READ_BER, ctypes.c_uint32).value

    def getSignalNoiseRatio(self):
        return self._ioctlGet(FE_READ_SNR, ctypes.c_uint16).value

    def getSignalStrength(self):
        return self._ioctlGet(FE_READ_SIGNAL_STRENGTH, ctypes.c_uint16).value

    def getUncorrectedBlockCount(self):
        return self._ioctlGet(FE_READ_UNCORRECTED_BLOCKS, ctypes.c_uint32).value


dev = "/dev/dvb/adapter0/frontend1"
fe = Frontend(open(dev, 'r'))

sys.stdout.write("EPOCH;BER;STATUS;SNR;SIGNAL\n")
for x in range(10):
        sys.stdout.write("%d;%d;%d;%d;%d\n" % (time.time(), fe.getBitErrorRate(), fe.getStatus(), fe.getSignalNoiseRatio(), fe.getSignalStrength()))
        time.sleep(1)

 

python dvbcsv.py
EPOCH;BER;STATUS;SNR;SIGNAL
1592339481;0;31;29520;100
1592339482;0;31;29520;100
1592339483;0;31;29520;100
1592339484;0;31;29520;100
1592339485;0;31;29520;100
1592339486;0;31;29520;100
1592339487;0;31;29520;100
1592339488;0;31;29360;100
1592339489;0;31;29360;100
1592339490;0;31;29520;100

 

Above code uses parts of: https://pypi.org/project/linuxdvb/

 

So only DVB API v3. In case you need DVB API v5 you need to create the required ioctl's.




#1204890 periodic h7 freezing

Posted by athoik on 16 May 2020 - 16:28

Pushed here: https://github.com/O...f2d968fc2960bcd

 

Although I believe that reporter issue has nothing to do with avahi issue seen after switching on netifaces parsing of interfaces.




#1202254 Android with IR port as remote control

Posted by athoik on 11 May 2020 - 17:37

root@osmio4kplus:~# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      dreambox advanced remote control (native)
/dev/input/event1:      dreambox ir mouse
/dev/input/event2:      dreambox front panel
Select the device event number [0-2]: 0
Input driver version is 1.0.1
Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0
Input device name: "dreambox advanced remote control (native)"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 2 (KEY_1)
    Event code 3 (KEY_2)
    Event code 4 (KEY_3)
    Event code 5 (KEY_4)
    Event code 6 (KEY_5)
    Event code 7 (KEY_6)
    Event code 8 (KEY_7)
    Event code 9 (KEY_8)
    Event code 10 (KEY_9)
    Event code 11 (KEY_0)
    Event code 103 (KEY_UP)
    Event code 104 (KEY_PAGEUP)
    Event code 105 (KEY_LEFT)
    Event code 106 (KEY_RIGHT)
    Event code 108 (KEY_DOWN)
    Event code 109 (KEY_PAGEDOWN)
    Event code 113 (KEY_MUTE)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 116 (KEY_POWER)
    Event code 119 (KEY_PAUSE)
    Event code 128 (KEY_STOP)
    Event code 138 (KEY_HELP)
    Event code 139 (KEY_MENU)
    Event code 161 (KEY_EJECTCD)
    Event code 167 (KEY_RECORD)
    Event code 168 (KEY_REWIND)
    Event code 172 (KEY_HOMEPAGE)
    Event code 174 (KEY_EXIT)
    Event code 207 (KEY_PLAY)
    Event code 208 (KEY_FASTFORWARD)
    Event code 226 (KEY_MEDIA)
    Event code 352 (KEY_OK)
    Event code 358 (KEY_INFO)
    Event code 362 (KEY_PROGRAM)
    Event code 364 (KEY_FAVORITES)
    Event code 365 (KEY_EPG)
    Event code 366 (KEY_PVR)
    Event code 370 (KEY_SUBTITLE)
    Event code 377 (KEY_TV)
    Event code 381 (KEY_SAT)
    Event code 385 (KEY_RADIO)
    Event code 388 (KEY_TEXT)
    Event code 392 (KEY_AUDIO)
    Event code 393 (KEY_VIDEO)
    Event code 398 (KEY_RED)
    Event code 399 (KEY_GREEN)
    Event code 400 (KEY_YELLOW)
    Event code 401 (KEY_BLUE)
    Event code 402 (KEY_CHANNELUP)
    Event code 403 (KEY_CHANNELDOWN)
    Event code 407 (KEY_NEXT)
    Event code 412 (KEY_PREVIOUS)
    Event code 438 (KEY_CONTEXT_MENU)
Key repeat handling:
  Repeat type 20 (EV_REP)
    Repeat code 0 (REP_DELAY)
      Value    500
    Repeat code 1 (REP_PERIOD)
      Value    100
Properties:
Testing ... (interrupt to exit)
***********************************************
  This device is grabbed by another process.
  No events are available to evtest while the
  other grab is active.
  In most cases, this is caused by an X driver,
  try VT-switching and re-run evtest again.
  Run the following command to see processes with
  an open fd on this device
 "fuser -v /dev/input/event0"
***********************************************
^Croot@osmio4kplus:~# init 4
root@osmio4kplus:~# sync
root@osmio4kplus:~# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      dreambox advanced remote control (native)
/dev/input/event1:      dreambox ir mouse
/dev/input/event2:      dreambox front panel
Select the device event number [0-2]: 0
Input driver version is 1.0.1
Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0
Input device name: "dreambox advanced remote control (native)"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 2 (KEY_1)
    Event code 3 (KEY_2)
    Event code 4 (KEY_3)
    Event code 5 (KEY_4)
    Event code 6 (KEY_5)
    Event code 7 (KEY_6)
    Event code 8 (KEY_7)
    Event code 9 (KEY_8)
    Event code 10 (KEY_9)
    Event code 11 (KEY_0)
    Event code 103 (KEY_UP)
    Event code 104 (KEY_PAGEUP)
    Event code 105 (KEY_LEFT)
    Event code 106 (KEY_RIGHT)
    Event code 108 (KEY_DOWN)
    Event code 109 (KEY_PAGEDOWN)
    Event code 113 (KEY_MUTE)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 116 (KEY_POWER)
    Event code 119 (KEY_PAUSE)
    Event code 128 (KEY_STOP)
    Event code 138 (KEY_HELP)
    Event code 139 (KEY_MENU)
    Event code 161 (KEY_EJECTCD)
    Event code 167 (KEY_RECORD)
    Event code 168 (KEY_REWIND)
    Event code 172 (KEY_HOMEPAGE)
    Event code 174 (KEY_EXIT)
    Event code 207 (KEY_PLAY)
    Event code 208 (KEY_FASTFORWARD)
    Event code 226 (KEY_MEDIA)
    Event code 352 (KEY_OK)
    Event code 358 (KEY_INFO)
    Event code 362 (KEY_PROGRAM)
    Event code 364 (KEY_FAVORITES)
    Event code 365 (KEY_EPG)
    Event code 366 (KEY_PVR)
    Event code 370 (KEY_SUBTITLE)
    Event code 377 (KEY_TV)
    Event code 381 (KEY_SAT)
    Event code 385 (KEY_RADIO)
    Event code 388 (KEY_TEXT)
    Event code 392 (KEY_AUDIO)
    Event code 393 (KEY_VIDEO)
    Event code 398 (KEY_RED)
    Event code 399 (KEY_GREEN)
    Event code 400 (KEY_YELLOW)
    Event code 401 (KEY_BLUE)
    Event code 402 (KEY_CHANNELUP)
    Event code 403 (KEY_CHANNELDOWN)
    Event code 407 (KEY_NEXT)
    Event code 412 (KEY_PREVIOUS)
    Event code 438 (KEY_CONTEXT_MENU)
Key repeat handling:
  Repeat type 20 (EV_REP)
    Repeat code 0 (REP_DELAY)
      Value    500
    Repeat code 1 (REP_PERIOD)
      Value    100
Properties:
Testing ... (interrupt to exit)
^Croot@osmio4kplus:~#

 

Does this help?




#1195882 TBS5520SE

Posted by athoik on 1 May 2020 - 07:39

There are patches for latest kernel here: https://github.com/tbsdtv/linux_media
 
First you need to become familiar with image building.
 
https://wiki.openpli..._for_Developers
 
Once you have your own build, you need to get the TBS5520SE driver code from tbsdtv github.

https://github.com/t...usb/tbs5520se.c
https://github.com/t...usb/tbs5520se.h

Plus the dependencies of that tbs5520se.

#include "si2183.h"
#include "si2157.h"
#include "av201x.h"
And make a patch for your kernel.

Plus fix the driver to support properly the two tuners.

I think the following is a hack.

	/* dvb core doesn't support 2 tuners for 1 demod so
	   we split the adapter in 2 frontends */

	adap->fe_adap[0].fe2 = &adap->fe_adap[0]._fe2;
	memcpy(adap->fe_adap[0].fe2, adap->fe_adap[0].fe, sizeof(struct dvb_frontend));

Not an easy task, and if you don't have any programming skills, that would be a really huge task!


#1189652 Request for WireGuard VPN implementation

Posted by athoik on 18 April 2020 - 14:30

Wireguard performance is excellent, minimal CPU consumption, minimal latency, great security.


#1180716 YouTube is down

Posted by athoik on 25 March 2020 - 08:14

Please read: https://stackoverflo...e-data-api-keys

Maybe it's possible to create more API keys and rotate them randomly?