Exemple #1
0
def getBoxBrand():
	brand = ""
	try:
		if fileHas("/etc/hostname","os"):
			brand = "Edision"
		elif fileHas("/etc/hostname","gb"):
			brand = "GigaBlue"
		elif fileHas("/etc/hostname","sf"):
			brand = "octagon"
		else:
			brand = open("/proc/stb/info/brandname").read().strip()
	except IOError:
		print("[BrandName] Machine not added in SystemInfo def getBoxBrand!")
	return brand
Exemple #2
0
	def mount(self, ip, share, path):
	    if not fileHas("/etc/fstab", ":/mnt/hdd"):
		try:
			os.makedirs(path)
		except Exception:
			pass
		return os.system('mount -t nfs' + ' ' + ip + ':' + '/' + share + ' ' + path + ' ' + '&&' + ' ' + 'echo -e' + ' ' + '"' + ip + ':' + share + ' ' + path + ' ' + 'nfs nolock,rsize=8192,wsize=8192' + ' ' + '\n"' + ' ' + '>>' + ' ' + '/etc/fstab') == 0
Exemple #3
0
SystemInfo["Blindscan_t2_available"] = fileCheck("/proc/stb/info/vumodel")
SystemInfo["Bootvideo"] = fileCheck("/usr/bin/bootvideo")
SystemInfo["hasOSDAnimation"] = fileCheck("/proc/stb/fb/animation_mode")
SystemInfo["RcTypeChangable"] = pathExists('/proc/stb/ir/rc/type')
SystemInfo["HasFullHDSkinSupport"] = getBoxType() not in ('gb800solo',
                                                          'gb800se', 'gb800ue')
SystemInfo["HasBypassEdidChecking"] = fileCheck(
    "/proc/stb/hdmi/bypass_edid_checking")
SystemInfo["HasColorspace"] = fileCheck("/proc/stb/video/hdmi_colorspace")
SystemInfo["HasColorspaceSimple"] = SystemInfo["HasColorspace"] and getBoxType(
) in ('vusolo4k', )
SystemInfo["HasMultichannelPCM"] = fileCheck(
    "/proc/stb/audio/multichannel_pcm")
SystemInfo["HasTranscoding"] = pathExists("/proc/stb/encoder/0") or fileCheck(
    "/dev/bcm_enc0")
SystemInfo["HasH265Encoder"] = fileHas("/proc/stb/encoder/0/vcodec_choices",
                                       "h265")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = getBoxType() in (
    'vusolo4k') or getMachineBuild() in ('gb7252', )
SystemInfo["HasColordepth"] = fileCheck("/proc/stb/video/hdmi_colordepth")
SystemInfo["HasFrontDisplayPicon"] = getBoxType() in ("vusolo4k", "et8500")
SystemInfo["Has24hz"] = fileCheck("/proc/stb/video/videomode_24hz")
SystemInfo["Has2160p"] = fileHas("/proc/stb/video/videomode_preferred",
                                 "2160p50")
SystemInfo["HasHDMIpreemphasis"] = fileCheck("/proc/stb/hdmi/preemphasis")
SystemInfo["HasColorimetry"] = fileCheck("/proc/stb/video/hdmi_colorimetry")
SystemInfo["HasHDMI-CEC"] = HardwareInfo().has_hdmi() and fileExists(
    "/usr/lib/enigma2/python/Plugins/SystemPlugins/HdmiCEC/plugin.pyo"
) and pathExists("/dev/hdmi_cec") or pathExists("/dev/misc/hdmi_cec0")
SystemInfo["HasHdrType"] = fileCheck("/proc/stb/video/hdmi_hdrtype")
SystemInfo["HasYPbPr"] = getMachineBuild() in (
    'gb7356', 'gb7325') or getBoxType() in ('gbultraue', 'gbultraueh',
SystemInfo["RcTypeChangable"] = not (
    model in ("gbquad4k", "gbue4k", "et8500")
    or model.startswith("et7")) and pathExists("/proc/stb/ir/rc/type")
SystemInfo["HasFullHDSkinSupport"] = model not in ("et4000", "et5000", "sh1",
                                                   "hd500c", "hd1100",
                                                   "xp1000", "lc")
SystemInfo["HasBypassEdidChecking"] = fileCheck(
    "/proc/stb/hdmi/bypass_edid_checking")
SystemInfo["HasMMC"] = "root" in cmdline and cmdline["root"].startswith(
    "/dev/mmcblk")
SystemInfo["HasColorspace"] = fileCheck("/proc/stb/video/hdmi_colorspace")
SystemInfo["HasColorspaceSimple"] = SystemInfo["HasColorspace"] and SystemInfo[
    "HasMMC"] and SystemInfo["Blindscan_t2_available"]
SystemInfo["HasTranscoding"] = pathExists("/proc/stb/encoder/0") or fileCheck(
    "/dev/bcm_enc0")
SystemInfo["HasH265Encoder"] = fileHas("/proc/stb/encoder/0/vcodec_choices",
                                       "h265")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = model in ("vusolo4k",
                                                              "gbquad4k",
                                                              "gbue4k")
SystemInfo["HasColordepth"] = fileCheck("/proc/stb/video/hdmi_colordepth")
SystemInfo["HasFrontDisplayPicon"] = model in ("et8500", "vusolo4k",
                                               "vuuno4kse", "vuduo4k",
                                               "vuduo4kse", "vuultimo4k",
                                               "gbquad4k", "gbue4k")
SystemInfo["Has24hz"] = fileCheck("/proc/stb/video/videomode_24hz")
SystemInfo["Has2160p"] = fileHas("/proc/stb/video/videomode_preferred",
                                 "2160p50")
SystemInfo["HasHDMIpreemphasis"] = fileCheck("/proc/stb/hdmi/preemphasis")
SystemInfo["HasColorimetry"] = fileCheck("/proc/stb/video/hdmi_colorimetry")
SystemInfo["HasHdrType"] = fileCheck("/proc/stb/video/hdmi_hdrtype")
SystemInfo["HasScaler_sharpness"] = pathExists(
Exemple #5
0
SystemInfo["LcdLiveTV"] = fileCheck("/proc/stb/fb/sd_detach") or fileCheck("/proc/stb/lcd/live_enable")
SystemInfo["LcdLiveTVMode"] = fileCheck("/proc/stb/lcd/mode")
SystemInfo["LcdLiveDecoder"] = fileCheck("/proc/stb/lcd/live_decoder")
SystemInfo["FastChannelChange"] = False
SystemInfo["3DMode"] = fileCheck("/proc/stb/fb/3dmode") or fileCheck("/proc/stb/fb/primary/3d")
SystemInfo["3DZNorm"] = fileCheck("/proc/stb/fb/znorm") or fileCheck("/proc/stb/fb/primary/zoffset")
SystemInfo["Blindscan_t2_available"] = fileCheck("/proc/stb/info/vumodel") and model.startswith("vu")
SystemInfo["RcTypeChangable"] = not(model.startswith("et8500") or model.startswith("et7")) and pathExists("/proc/stb/ir/rc/type")
SystemInfo["HasFullHDSkinSupport"] = model not in ("et4000", "et5000", "sh1", "hd500c", "hd1100", "xp1000", "lc")
SystemInfo["HasBypassEdidChecking"] = fileCheck("/proc/stb/hdmi/bypass_edid_checking")
SystemInfo["HasColorspace"] = fileCheck("/proc/stb/video/hdmi_colorspace")
SystemInfo["HasColorspaceSimple"] = SystemInfo["HasColorspace"] and model in ("vusolo4k","vuuno4k","vuuno4kse","vuultimo4k","vuduo4k","vuduo4kse")
SystemInfo["HasMultichannelPCM"] = fileCheck("/proc/stb/audio/multichannel_pcm")
SystemInfo["HasMMC"] = "root" in cmdline and cmdline["root"].startswith("/dev/mmcblk")
SystemInfo["HasTranscoding"] = getHaveTranscoding() == "True" or getHaveMultiTranscoding() == "True" or pathExists("/proc/stb/encoder/0") or fileCheck("/dev/bcm_enc0")
SystemInfo["HasH265Encoder"] = fileHas("/proc/stb/encoder/0/vcodec_choices","h265")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = model in ("vusolo4k","gbquad4k")
SystemInfo["HasColordepth"] = fileCheck("/proc/stb/video/hdmi_colordepth")
SystemInfo["HasFrontDisplayPicon"] = model in ("et8500", "vusolo4k", "vuuno4kse", "vuduo4k", "vuduo4kse", "vuultimo4k")
SystemInfo["Has24hz"] = fileCheck("/proc/stb/video/videomode_24hz")
SystemInfo["HasHDMIpreemphasis"] = fileCheck("/proc/stb/hdmi/preemphasis")
SystemInfo["HasColorimetry"] = fileCheck("/proc/stb/video/hdmi_colorimetry")
SystemInfo["HasHdrType"] = fileCheck("/proc/stb/video/hdmi_hdrtype")
SystemInfo["HasHDMI-CEC"] = getHaveHDMI() == "True" and fileExists(resolveFilename(SCOPE_PLUGINS, "SystemPlugins/HdmiCEC/plugin.pyo")) and (fileExists("/dev/cec0") or fileExists("/dev/hdmi_cec") or fileExists("/dev/misc/hdmi_cec0"))
SystemInfo["Has2160p"] = fileHas("/proc/stb/video/videomode_preferred","2160p50")
SystemInfo["HasHDMI-CEC"] = getHaveHDMI() == "True" and fileExists(resolveFilename(SCOPE_PLUGINS, "SystemPlugins/HdmiCEC/plugin.pyo")) and (fileExists("/dev/cec0") or fileExists("/dev/hdmi_cec") or fileExists("/dev/misc/hdmi_cec0"))
SystemInfo["HasHDMIHDin"] = getHaveHDMIinHD() == "True"
SystemInfo["HasHDMIFHDin"] = getHaveHDMIinFHD() == "True"
SystemInfo["HasHDMIin"] = SystemInfo["HasHDMIHDin"] or SystemInfo["HasHDMIFHDin"]
SystemInfo["HasYPbPr"] = model in ("dm8000", "et5000", "et6000", "et6500", "et9000", "et9200", "et9500", "et10000", "formuler1", "mbtwinplus", "spycat", "vusolo", "vuduo", "vuduo2", "vuultimo")
SystemInfo["HasScart"] = model in ("dm8000", "et4000", "et6500", "et8000", "et9000", "et9200", "et9500", "et10000", "formuler1", "hd1100", "hd1200", "hd1265", "hd2400", "vusolo", "vusolo2", "vuduo", "vuduo2", "vuultimo", "vuuno", "xp1000")
Exemple #6
0
SystemInfo["LcdLiveTV"] = fileCheck("/proc/stb/fb/sd_detach") or fileCheck("/proc/stb/lcd/live_enable")
SystemInfo["LcdLiveTVMode"] = fileCheck("/proc/stb/lcd/mode")
SystemInfo["LcdLiveDecoder"] = fileCheck("/proc/stb/lcd/live_decoder")
SystemInfo["FastChannelChange"] = False
SystemInfo["3DMode"] = fileCheck("/proc/stb/fb/3dmode") or fileCheck("/proc/stb/fb/primary/3d")
SystemInfo["3DZNorm"] = fileCheck("/proc/stb/fb/znorm") or fileCheck("/proc/stb/fb/primary/zoffset")
SystemInfo["Blindscan_t2_available"] = fileCheck("/proc/stb/info/vumodel")
SystemInfo["RcTypeChangable"] = not(HardwareInfo().get_device_model().startswith('et8500') or HardwareInfo().get_device_model().startswith('et7')) and pathExists('/proc/stb/ir/rc/type')
SystemInfo["HasFullHDSkinSupport"] = HardwareInfo().get_device_model() not in ("et4000", "et5000", "sh1", "hd500c", "hd1100", "xp1000", "lc")
SystemInfo["HasBypassEdidChecking"] = fileCheck("/proc/stb/hdmi/bypass_edid_checking")
SystemInfo["HasColorspace"] = fileCheck("/proc/stb/video/hdmi_colorspace")
SystemInfo["HasColorspaceSimple"] = SystemInfo["HasColorspace"] and HardwareInfo().get_device_model() in "vusolo4k"
SystemInfo["HasMultichannelPCM"] = fileCheck("/proc/stb/audio/multichannel_pcm")
SystemInfo["HasMMC"] = fileExists("/proc/cmdline") and "root=/dev/mmcblk" in open("/proc/cmdline", "r").read()
SystemInfo["HasTranscoding"] = pathExists("/proc/stb/encoder/0") or fileCheck("/dev/bcm_enc0")
SystemInfo["HasH265Encoder"] = fileHas("/proc/stb/encoder/0/vcodec_choices", "h265")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = HardwareInfo().get_device_model() in "vusolo4k"
SystemInfo["HasColordepth"] = fileCheck("/proc/stb/video/hdmi_colordepth")
SystemInfo["HasFrontDisplayPicon"] = HardwareInfo().get_device_model() in ("vusolo4k", "et8500")
SystemInfo["Has24hz"] = fileCheck("/proc/stb/video/videomode_24hz")
SystemInfo["Has2160p"] = fileHas("/proc/stb/video/videomode_preferred", "2160p50")
SystemInfo["HasHDMIpreemphasis"] = fileCheck("/proc/stb/hdmi/preemphasis")
SystemInfo["HasColorimetry"] = fileCheck("/proc/stb/video/hdmi_colorimetry")
SystemInfo["HasHdrType"] = fileCheck("/proc/stb/video/hdmi_hdrtype")
SystemInfo["HasHDMI-CEC"] = HardwareInfo().has_hdmi() and fileExists("/usr/lib/enigma2/python/Plugins/SystemPlugins/HdmiCEC/plugin.pyo") and (fileExists("/dev/cec0") or fileExists("/dev/hdmi_cec") or fileExists("/dev/misc/hdmi_cec0"))
SystemInfo["HasYPbPr"] = HardwareInfo().get_device_model() in ("dm8000", "et5000", "et6000", "et6500", "et9000", "et9200", "et9500", "et10000", "formuler1", "mbtwinplus", "spycat", "vusolo", "vuduo", "vuduo2", "vuultimo")
SystemInfo["HasScart"] = HardwareInfo().get_device_model() in ("dm8000", "et4000", "et6500", "et8000", "et9000", "et9200", "et9500", "et10000", "formuler1", "hd1100", "hd1200", "hd1265", "hd2400", "vusolo", "vusolo2", "vuduo", "vuduo2", "vuultimo", "vuuno", "xp1000")
SystemInfo["HasSVideo"] = HardwareInfo().get_device_model() in ("dm8000")
SystemInfo["HasComposite"] = HardwareInfo().get_device_model() not in ("i55", "gbquad4k", "gbue4k", "hd1500", "osnino", "osninoplus", "purehd", "purehdse", "revo4k", "vusolo4k", "vuzero4k")
SystemInfo["HasAutoVolume"] = fileExists("/proc/stb/audio/avl_choices") and fileCheck("/proc/stb/audio/avl")
SystemInfo["HasAutoVolumeLevel"] = fileExists("/proc/stb/audio/autovolumelevel_choices") and fileCheck("/proc/stb/audio/autovolumelevel")
Exemple #7
0
SystemInfo["VideoDestinationConfigurable"] = fileExists("/proc/stb/vmpeg/0/dst_left")
SystemInfo["hasPIPVisibleProc"] = fileCheck("/proc/stb/vmpeg/1/visible")
SystemInfo["VFD_scroll_repeats"] = not SystemInfo["7segment"] and fileCheck("/proc/stb/lcd/scroll_repeats")
SystemInfo["VFD_scroll_delay"] = not SystemInfo["7segment"] and fileCheck("/proc/stb/lcd/scroll_delay")
SystemInfo["VFD_initial_scroll_delay"] = not SystemInfo["7segment"] and fileCheck("/proc/stb/lcd/initial_scroll_delay")
SystemInfo["VFD_final_scroll_delay"] = not SystemInfo["7segment"] and fileCheck("/proc/stb/lcd/final_scroll_delay")
SystemInfo["LcdLiveTV"] = fileCheck("/proc/stb/fb/sd_detach") or fileCheck("/proc/stb/lcd/live_enable")
SystemInfo["LCDMiniTV"] = fileExists("/proc/stb/lcd/mode")
SystemInfo["LCDMiniTVPiP"] = SystemInfo["LCDMiniTV"]
SystemInfo["LcdPowerOn"] = fileExists("/proc/stb/power/vfd")
SystemInfo["FastChannelChange"] = False
SystemInfo["3DMode"] = fileCheck("/proc/stb/fb/3dmode") or fileCheck("/proc/stb/fb/primary/3d")
SystemInfo["3DZNorm"] = fileCheck("/proc/stb/fb/znorm") or fileCheck("/proc/stb/fb/primary/zoffset")
SystemInfo["Blindscan_t2_available"] = fileCheck("/proc/stb/info/vumodel")
SystemInfo["HasTranscoding"] = pathExists("/proc/stb/encoder/0") or fileCheck("/dev/bcm_enc0")
SystemInfo["HasH265Encoder"] = fileHas("/proc/stb/encoder/0/vcodec_choices", "h265")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = getBoxType() in ('vusolo4k')
SystemInfo["hasXcoreVFD"] = fileCheck("/sys/module/brcmstb_%s/parameters/pt6302_cgram" % getBoxType())
SystemInfo["HasHDMIin"] = getHaveHDMIinHD() in ('True',) or getHaveHDMIinFHD() in ('True',)
SystemInfo["HasHDMI-CEC"] = fileExists("/usr/lib/enigma2/python/Plugins/SystemPlugins/HdmiCEC/plugin.pyo")
SystemInfo["HasInfoButton"] = False
SystemInfo["Has24hz"] = fileCheck("/proc/stb/video/videomode_24hz")
SystemInfo["HasRootSubdir"] = False
SystemInfo["RecoveryMode"] = False
SystemInfo["canMultiBoot"] = False
SystemInfo["canBackupEMC"] = False
SystemInfo["HasHiSi"] = False
SystemInfo["canMode12"] = False
SystemInfo["HasMMC"] = False
SystemInfo["HasSDmmc"] = False
SystemInfo["HasH9SD"] = False
SystemInfo["HaveCI"] = getHaveCI()
SystemInfo["HaveMultiBoot"] = (fileCheck("/boot/STARTUP")
                               or fileCheck("/boot/cmdline.txt"))
SystemInfo["HaveMultiBootHD"] = fileCheck("/boot/STARTUP") and getMachineBuild(
) in ('hd51', 'vs1500', 'h7', 'ceryon7252')
SystemInfo["HaveMultiBootXC"] = fileCheck("/boot/cmdline.txt")
SystemInfo["HaveMultiBootGB"] = fileCheck(
    "/boot/STARTUP") and getMachineBuild() in ('gb7252')
SystemInfo["HaveMultiBootCY"] = fileCheck(
    "/boot/STARTUP") and getMachineBuild() in ('8100s')
SystemInfo["HaveMultiBootOS"] = fileCheck("/boot/STARTUP") and getMachineBuild(
) in ('osmio4k', 'osmio4kplus', 'osmini4k')
SystemInfo["HaveMultiBootDS"] = fileCheck("/boot/STARTUP") and getMachineBuild(
) in ('cc1', 'sf8008', 'sf8008s', 'sf8008t', 'ustym4kpro',
      'viper4k') and fileCheck("/dev/sda")
SystemInfo["HasMMC"] = fileHas(
    "/proc/cmdline", "root=/dev/mmcblk") or "mmcblk" in getMachineMtdRoot()
SystemInfo["CanProc"] = SystemInfo["HasMMC"] and getBrandOEM() != "vuplus"
SystemInfo["HasHiSi"] = pathExists("/proc/hisi")
SystemInfo["MBbootdevice"] = getMBbootdevice()
SystemInfo["canMultiBoot"] = getMultibootslots()
SystemInfo["canMode12"] = getMachineBuild() in (
    "hd51", "vs1500", "h7") and ("brcm_cma=440M@328M brcm_cma=192M@768M",
                                 "brcm_cma=520M@248M brcm_cma=200M@768M")
SystemInfo["HAScmdline"] = fileCheck("/boot/cmdline.txt")
SystemInfo["HasMMC"] = fileHas(
    "/proc/cmdline",
    "root=/dev/mmcblk") or SystemInfo["canMultiBoot"] and fileHas(
        "/proc/cmdline", "root=/dev/sda")
SystemInfo["HasSDmmc"] = SystemInfo["canMultiBoot"] and "sd" in SystemInfo[
    "canMultiBoot"][2] and "mmcblk" in getMachineMtdRoot()
SystemInfo["HasSDswap"] = getMachineBuild() in (
Exemple #9
0
SystemInfo['grautec'] = fileExists('/tmp/usbtft')
SystemInfo['3DMode'] = fileCheck('/proc/stb/fb/3dmode') or fileCheck(
    '/proc/stb/fb/primary/3d')
SystemInfo['3DZNorm'] = fileCheck('/proc/stb/fb/znorm') or fileCheck(
    '/proc/stb/fb/primary/zoffset')
SystemInfo['CanUse3DModeChoices'] = fileExists(
    '/proc/stb/fb/3dmode_choices') and True or False
SystemInfo['need_dsw'] = getBoxType() not in ('osminiplus', 'osmega')
SystemInfo['HaveCISSL'] = fileCheck(
    '/etc/ssl/certs/customer.pem') and fileCheck('/etc/ssl/certs/device.pem')
SystemInfo['HaveID'] = fileCheck('/etc/.id')
SystemInfo['HaveTouchSensor'] = getBoxType() in ('dm520', 'dm525', 'dm900',
                                                 'dm920')
SystemInfo['DefaultDisplayBrightness'] = getBoxType() in ('dm900',
                                                          'dm920') and 8 or 5
SystemInfo['HasRootSubdir'] = fileHas('/proc/cmdline', 'rootsubdir=')
SystemInfo['RecoveryMode'] = SystemInfo['HasRootSubdir'] and getMachineBuild(
) not in ('vs1500', 'hd51', 'h7') or fileCheck('/proc/stb/fp/boot_mode')
SystemInfo['ForceLNBPowerChanged'] = fileCheck(
    '/proc/stb/frontend/fbc/force_lnbon')
SystemInfo['ForceToneBurstChanged'] = fileCheck(
    '/proc/stb/frontend/fbc/force_toneburst')
SystemInfo['USETunersetup'] = SystemInfo['ForceLNBPowerChanged'] or SystemInfo[
    'ForceToneBurstChanged']
SystemInfo['CanDoTranscodeAndPIP'] = getBoxType() in ('vusolo4k', 'gbquad4k')
SystemInfo['HDMIin'] = getMachineBuild() in (
    'inihdp', 'hd2400', 'et10000', 'dm7080', 'dm820', 'dm900', 'dm920',
    'vuultimo4k', 'et13000', 'sf5008', 'vuuno4kse',
    'vuduo4k') or getBoxType() in ('spycat4k', 'spycat4kcombo', 'gbquad4k')
SystemInfo['HAVEEDIDDECODE'] = fileCheck(
    '/proc/stb/hdmi/raw_edid') and fileCheck('/usr/bin/edid-decode')
Exemple #10
0
	def changed(self, what):
		if self.instance:
			pngname = ''
			if (what[0] != self.CHANGED_CLEAR) and fileExists("/tmp/ecm.info"):
				sname = "NAG"
				service = self.source.service
				if service:
					info = (service and service.info())
					if info:
						caids = info.getInfoObject(iServiceInformation.sCAIDs)
						if caids:
							if (len(caids) > 0):
								for caid in caids:
									caid = self.int2hex(caid)
									if (len(caid) == 3):
										caid = ("0%s" % caid)
										caid = caid[:2]
										caid = caid.upper()
										if fileHas("/tmp/ecm.info","CAID: 0x26") or fileHas("/tmp/ecm.info","caid: 0x26"):
											sname = "BiSS"
										elif fileHas("/tmp/ecm.info","CAID: 0x01") or fileHas("/tmp/ecm.info","caid: 0x01"):
											sname = "SEC"
										elif fileHas("/tmp/ecm.info","CAID: 0x06") or fileHas("/tmp/ecm.info","caid: 0x06"):
											sname = "IRD"
										elif fileHas("/tmp/ecm.info","CAID: 0x17") or fileHas("/tmp/ecm.info","caid: 0x17"):
											sname = "BET"
										elif fileHas("/tmp/ecm.info","CAID: 0x05") or fileHas("/tmp/ecm.info","caid: 0x05"):
											sname = "VIA"
										elif fileHas("/tmp/ecm.info","CAID: 0x09") or fileHas("/tmp/ecm.info","caid: 0x09"):
											sname = "NDS"
										elif fileHas("/tmp/ecm.info","CAID: 0x0B") or fileHas("/tmp/ecm.info","caid: 0x0B"):
											sname = "CONN"
										elif fileHas("/tmp/ecm.info","CAID: 0x0D") or fileHas("/tmp/ecm.info","caid: 0x0D"):
											sname = "CRW"
										elif fileHas("/tmp/ecm.info","CAID: 0x4A") or fileHas("/tmp/ecm.info","caid: 0x4A"):
											sname = "DRE"
										elif fileHas("/tmp/ecm.info","CAID: 0x0E") or fileHas("/tmp/ecm.info","caid: 0x0E"):
											sname = "PowerVU"
										elif fileHas("/tmp/ecm.info","CAID: 0x22") or fileHas("/tmp/ecm.info","caid: 0x22"):
											sname = "Codicrypt"
										elif fileHas("/tmp/ecm.info","CAID: 0x07") or fileHas("/tmp/ecm.info","caid: 0x07"):
											sname = "DigiCipher"
										elif fileHas("/tmp/ecm.info","CAID: 0xA1") or fileHas("/tmp/ecm.info","caid: 0xA1"):
											sname = "Rosscrypt"
										elif fileHas("/tmp/ecm.info","CAID: 0x56") or fileHas("/tmp/ecm.info","caid: 0x56"):
											sname = "Verimatrix"

				pngname = self.nameCache.get(sname, '')
				if (pngname == ''):
					pngname = self.findPicon(sname)
					if (pngname != ''):
						self.nameCache[sname] = pngname
			if (pngname == ''):
				pngname = self.nameCache.get('default', '')
				if (pngname == ''):
					pngname = self.findPicon('picon_default')
					if (pngname == ''):
						tmp = resolveFilename(SCOPE_CURRENT_SKIN, 'picon_default.png')
						if fileExists(tmp):
							pngname = tmp
						self.nameCache['default'] = pngname

			if (self.pngname != pngname):
				self.pngname = pngname
				self.instance.setPixmapFromFile(self.pngname)
Exemple #11
0
                                                          "lc", "k1plus",
                                                          "k1pro", "k2pro",
                                                          "k2prov2", "k3pro")
SystemInfo["HasBypassEdidChecking"] = fileCheck(
    "/proc/stb/hdmi/bypass_edid_checking")
SystemInfo["HasColorspace"] = fileCheck("/proc/stb/video/hdmi_colorspace")
SystemInfo["HasColorspaceSimple"] = SystemInfo["HasColorspace"] and getBoxType(
) in ("vusolo4k", "vuuno4k", "vuuno4kse", "vuultimo4k", "vuduo4k")
SystemInfo["HasMultichannelPCM"] = fileCheck(
    "/proc/stb/audio/multichannel_pcm")
SystemInfo["HasMMC"] = fileExists(
    "/proc/cmdline") and "root=/dev/mmcblk" in open("/proc/cmdline",
                                                    "r").read()
SystemInfo["HasTranscoding"] = pathExists("/proc/stb/encoder/0") or fileCheck(
    "/dev/bcm_enc0")
SystemInfo["HasH265Encoder"] = fileHas("/proc/stb/encoder/0/vcodec_choices",
                                       "h265")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = getBoxType() in "vusolo4k"
SystemInfo["HasColordepth"] = fileCheck("/proc/stb/video/hdmi_colordepth")
SystemInfo["HasFrontDisplayPicon"] = getBoxType() in ("vusolo4k", "et8500")
SystemInfo["Has24hz"] = fileCheck("/proc/stb/video/videomode_24hz")
SystemInfo["Has2160p"] = fileHas("/proc/stb/video/videomode_preferred",
                                 "2160p50")
SystemInfo["HasHDMIpreemphasis"] = fileCheck("/proc/stb/hdmi/preemphasis")
SystemInfo["HasColorimetry"] = fileCheck("/proc/stb/video/hdmi_colorimetry")
SystemInfo["HasHdrType"] = fileCheck("/proc/stb/video/hdmi_hdrtype")
SystemInfo["HasHDMI-CEC"] = HardwareInfo().has_hdmi() and fileExists(
    "/usr/lib/enigma2/python/Plugins/SystemPlugins/HdmiCEC/plugin.pyo") and (
        fileExists("/dev/cec0") or fileExists("/dev/hdmi_cec")
        or fileExists("/dev/misc/hdmi_cec0"))
SystemInfo["HasYPbPr"] = getBoxType() in ("dm8000", "et5x00", "et6x00",
                                          "et9x00", "et10000", "formuler1",
Exemple #12
0
        '/proc/stb/ir/rc/type')
SystemInfo["HasFullHDSkinSupport"] = HardwareInfo().get_device_model() not in (
    "et4000", "et5000", "sh1", "hd500c", "hd1100", "xp1000", "lc")
SystemInfo["HasBypassEdidChecking"] = fileCheck(
    "/proc/stb/hdmi/bypass_edid_checking")
SystemInfo["HasColorspace"] = fileCheck("/proc/stb/video/hdmi_colorspace")
SystemInfo["HasColorspaceSimple"] = SystemInfo[
    "HasColorspace"] and HardwareInfo().get_device_model() in "vusolo4k"
SystemInfo["HasMultichannelPCM"] = fileCheck(
    "/proc/stb/audio/multichannel_pcm")
SystemInfo["HasMMC"] = fileExists(
    "/proc/cmdline") and "root=/dev/mmcblk" in open("/proc/cmdline",
                                                    "r").read()
SystemInfo["HasTranscoding"] = pathExists("/proc/stb/encoder/0") or fileCheck(
    "/dev/bcm_enc0")
SystemInfo["HasH265Encoder"] = fileHas("/proc/stb/encoder/0/vcodec_choices",
                                       "h265")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = HardwareInfo(
).get_device_model() in "vusolo4k"
SystemInfo["HasColordepth"] = fileCheck("/proc/stb/video/hdmi_colordepth")
SystemInfo["HasFrontDisplayPicon"] = HardwareInfo().get_device_model() in (
    "vusolo4k", "et8500")
SystemInfo["Has24hz"] = fileCheck("/proc/stb/video/videomode_24hz")
SystemInfo["Has2160p"] = fileHas("/proc/stb/video/videomode_preferred",
                                 "2160p50")
SystemInfo["HasHDMIpreemphasis"] = fileCheck("/proc/stb/hdmi/preemphasis")
SystemInfo["HasColorimetry"] = fileCheck("/proc/stb/video/hdmi_colorimetry")
SystemInfo["HasHdrType"] = fileCheck("/proc/stb/video/hdmi_hdrtype")
SystemInfo["HasHDMI-CEC"] = HardwareInfo().has_hdmi() and fileExists(
    "/usr/lib/enigma2/python/Plugins/SystemPlugins/HdmiCEC/plugin.pyo") and (
        fileExists("/dev/cec0") or fileExists("/dev/hdmi_cec")
        or fileExists("/dev/misc/hdmi_cec0"))
Exemple #13
0
SystemInfo["VideoDestinationConfigurable"] = fileExists("/proc/stb/vmpeg/0/dst_left")
SystemInfo["hasPIPVisibleProc"] = fileCheck("/proc/stb/vmpeg/1/visible")
SystemInfo["VFD_scroll_repeats"] = not SystemInfo["7segment"] and getBoxType() not in ('et8500') and fileCheck("/proc/stb/lcd/scroll_repeats")
SystemInfo["VFD_scroll_delay"] = not SystemInfo["7segment"] and getBoxType() not in ('et8500') and fileCheck("/proc/stb/lcd/scroll_delay")
SystemInfo["VFD_initial_scroll_delay"] = not SystemInfo["7segment"] and getBoxType() not in ('et8500') and fileCheck("/proc/stb/lcd/initial_scroll_delay")
SystemInfo["VFD_final_scroll_delay"] = not SystemInfo["7segment"] and getBoxType() not in ('et8500') and fileCheck("/proc/stb/lcd/final_scroll_delay")
SystemInfo["LcdLiveTV"] = fileCheck("/proc/stb/fb/sd_detach") or fileCheck("/proc/stb/lcd/live_enable")
SystemInfo["LCDMiniTV"] = fileExists("/proc/stb/lcd/mode")
SystemInfo["LCDMiniTVPiP"] = SystemInfo["LCDMiniTV"] and getBoxType() != 'gb800ueplus'
SystemInfo["LcdPowerOn"] = fileExists("/proc/stb/power/vfd")
SystemInfo["FastChannelChange"] = False
SystemInfo["3DMode"] = fileCheck("/proc/stb/fb/3dmode") or fileCheck("/proc/stb/fb/primary/3d")
SystemInfo["3DZNorm"] = fileCheck("/proc/stb/fb/znorm") or fileCheck("/proc/stb/fb/primary/zoffset")
SystemInfo["Blindscan_t2_available"] = fileCheck("/proc/stb/info/vumodel")
SystemInfo["HasTranscoding"] = pathExists("/proc/stb/encoder/0") or fileCheck("/dev/bcm_enc0")
SystemInfo["HasH265Encoder"] = fileHas("/proc/stb/encoder/0/vcodec_choices", "h265")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = getBoxType() in ('vusolo4k','gbquad4k')
SystemInfo["hasXcoreVFD"] = getBoxType() in ('osmega','spycat4k','spycat4kmini','spycat4kcombo') and fileCheck("/sys/module/brcmstb_%s/parameters/pt6302_cgram" % getBoxType())
SystemInfo["HasHDMIin"] = getHaveHDMIinHD() in ('True',) or getHaveHDMIinFHD() in ('True',)
SystemInfo["HasHDMI-CEC"] = fileExists("/usr/lib/enigma2/python/Plugins/SystemPlugins/HdmiCEC/plugin.pyo")
SystemInfo["HasInfoButton"] = getBrandOEM() in ('airdigital', 'broadmedia', 'ceryon', 'dags', 'edision', 'formuler', 'gfutures', 'gigablue', 'ini', 'octagon', 'odin', 'skylake', 'tiviar', 'xcore', 'xp', 'xtrend')
SystemInfo["Has24hz"] = fileCheck("/proc/stb/video/videomode_24hz")
SystemInfo["HasRootSubdir"] = fileHas("/proc/cmdline", "rootsubdir=")
SystemInfo["RecoveryMode"] = SystemInfo["HasRootSubdir"] and getMachineBuild() not in ('hd51','h7') or fileCheck("/proc/stb/fp/boot_mode")
SystemInfo["canMultiBoot"] = getMachineBuild() in ('hd51', 'h7', 'h9combo') and (1, 4, 'mmcblk0p') or getBoxType() in ('gbue4k', 'gbquad4k') and (3, 3, 'mmcblk0p') or getMachineBuild() in ('sf8008', 'beyonwizv2') and fileCheck("/dev/sda") and (0, 2, 'sda') or getMachineBuild() in ('osmio4k') and (1, 4, 'mmcblk1p')
SystemInfo["canBackupEMC"] = getMachineBuild() in ('hd51','h7') and ('disk.img', 'mmcblk0p1') or getMachineBuild() in ('osmio4k') and ('emmc.img', 'mmcblk1p1') or getMachineBuild() in ('gbmv200','sf8008','beyonwizv2') and ('usb_update.bin','none')
SystemInfo["HasHiSi"] = pathExists('/proc/hisi')
SystemInfo["canMode12"] = getMachineBuild() in ('hd51', 'h7') and ('brcm_cma=440M@328M brcm_cma=192M@768M', 'brcm_cma=520M@248M brcm_cma=200M@768M')
SystemInfo["HasMMC"] = fileHas("/proc/cmdline", "root=/dev/mmcblk") or SystemInfo["canMultiBoot"] and fileHas("/proc/cmdline", "root=/dev/sda")
SystemInfo["HasSDmmc"] = SystemInfo["canMultiBoot"] and "sd" in SystemInfo["canMultiBoot"][2] and "mmcblk" in getMachineMtdRoot() 
SystemInfo["HasH9SD"] = getMachineBuild() in ("h9", "i55plus") and pathExists("/dev/mmcblk0p1")
Exemple #14
0
	def changed(self, what):
		self.poll_interval = 50
		self.poll_enabled = True
		if self.instance:
			pngname = ''
			if (what[0] != self.CHANGED_CLEAR):
				sname = ""
				service = self.source.service
				if service:
					info = (service and service.info())
					if info:
						caids = info.getInfoObject(iServiceInformation.sCAIDs)
						if fileExists("/tmp/ecm.info"):
							try:
								value = self.getText()
								value = value.lower()#change value to small letters
								if value is None:
									print("[PicEmu2] no emu installed")
									sname=''
								else:
									## Should write name be small letters
									if ("ncam" in value):
										sname = "ncam"
									elif fileHas("/tmp/ecm.info","caid:"):
										sname = "oscam"
									elif ("mgcamd" in value):
										sname = "mgcamd"
									elif fileHas("/tmp/ecm.info","CAID:"):
										sname = "wicardd"
									elif ("gbox" in value):
										sname = "gbox"
									elif ("camd3" in value):
										sname = "camd3"
									elif fileExists("/tmp/ecm.info"):
										try:
											f = open("/tmp/ecm.info", "r")
											content = f.read()
											f.close()
										except:
											content = ""
										contentInfo = content.split("\n")
										for line in contentInfo:
											if ("address" in line):
												sname = "oscamcccam"
							except:
								print("")

						if caids:
							if (len(caids) > 0):
								for caid in caids:
									caid = self.int2hex(caid)
									if (len(caid) == 3):
										caid = ("0%s" % caid)
									caid = caid[:2]
									caid = caid.upper()
									if (caid != "") and (sname == ""):
										sname = "Unknown"

				pngname = self.nameCache.get(sname, '')
				if (pngname == ''):
					pngname = self.findPicon(sname)
					if (pngname != ''):
						self.nameCache[sname] = pngname

			if (pngname == ''):
				pngname = self.nameCache.get('fta', '')
				if (pngname == ''):
					pngname = self.findPicon('fta')
					if (pngname == ''):
						tmp = resolveFilename(SCOPE_CURRENT_SKIN, 'picon_default.png')
						if fileExists(tmp):
							pngname = tmp
						self.nameCache['default'] = pngname

			if (self.pngname != pngname):
				self.pngname = pngname
				self.instance.setPixmapFromFile(self.pngname)
Exemple #15
0
BoxInfo.setItem("DeepstandbySupport", MODEL != 'dm800')
BoxInfo.setItem("DefaultDisplayBrightness", MODEL in ("dm900", "dm920") and 8 or 5)
BoxInfo.setItem("FBLCDDisplay", fileCheck("/proc/stb/fb/sd_detach"))
BoxInfo.setItem("Fan", fileCheck("/proc/stb/fp/fan"))
BoxInfo.setItem("FanPWM", BoxInfo.getItem("Fan") and fileCheck("/proc/stb/fp/fan_pwm"))
BoxInfo.setItem("ForceLNBPowerChanged", fileCheck("/proc/stb/frontend/fbc/force_lnbon"))
BoxInfo.setItem("ForceToneBurstChanged", fileCheck("/proc/stb/frontend/fbc/force_toneburst"))
BoxInfo.setItem("FrontpanelDisplay", fileExists("/dev/dbox/oled0") or fileExists("/dev/dbox/lcd0"))
BoxInfo.setItem("GBWOL", fileExists("/usr/bin/gigablue_wol"))
BoxInfo.setItem("grautec", fileExists("/tmp/usbtft"))
BoxInfo.setItem("GraphicLCD", MODEL in ("vuultimo", "xpeedlx3", "et10000", "mutant2400", "quadbox2400", "sezammarvel", "atemionemesis", "mbultra", "beyonwizt4", "osmio4kplus"))
BoxInfo.setItem("HasExternalPIP", MODEL not in ("et9x00", "et6x00", "et5x00") and fileCheck("/proc/stb/vmpeg/1/external"))
BoxInfo.setItem("HasFullHDSkinSupport", MODEL not in ("et4000", "et5000", "sh1", "hd500c", "hd1100", "xp1000", "lc"))
BoxInfo.setItem("HasHiSi", pathExists("/proc/hisi"))
BoxInfo.setItem("hasPIPVisibleProc", fileCheck("/proc/stb/vmpeg/1/visible"))
BoxInfo.setItem("HasMMC", fileHas("/proc/cmdline", "root=/dev/mmcblk") or MultiBoot.canMultiBoot() and fileHas("/proc/cmdline", "root=/dev/sda"))
BoxInfo.setItem("HasSDmmc", MultiBoot.canMultiBoot() and "sd" in MultiBoot.getBootSlots()["2"] and "mmcblk" in MTDROOTFS)
BoxInfo.setItem("HasSDswap", MODEL in ("h9", "i55plus") and pathExists("/dev/mmcblk0p1"))
BoxInfo.setItem("HaveCISSL", fileCheck("/etc/ssl/certs/customer.pem") and fileCheck("/etc/ssl/certs/device.pem"))
BoxInfo.setItem("HAVEEDIDDECODE", fileCheck("/proc/stb/hdmi/raw_edid") and fileCheck("/usr/bin/edid-decode"))
BoxInfo.setItem("HaveID", fileCheck("/etc/.id"))
BoxInfo.setItem("HAVEINITCAM", haveInitCam())
BoxInfo.setItem("HaveTouchSensor", MODEL in ("dm520", "dm525", "dm900", "dm920"))
BoxInfo.setItem("HDMICEC", fileExists("/dev/hdmi_cec") or fileExists("/dev/misc/hdmi_cec0"))
BoxInfo.setItem("HDMIin", MODEL in ("inihdp", "hd2400", "et10000", "dm7080", "dm820", "dm900", "dm920", "vuultimo4k", "et13000", "sf5008", "vuuno4kse", "vuduo4k", "vuduo4kse") or BoxInfo.getItem("machinebuild") in ("spycat4k", "spycat4kcombo", "gbquad4k"))
BoxInfo.setItem("HiSilicon", SOC_FAMILY.startswith("hisi") or exists("/proc/hisi") or exists("/usr/bin/hihalt") or exists("/usr/lib/hisilicon"))
BoxInfo.setItem("LcdDisplay", fileExists("/dev/dbox/lcd0"))
BoxInfo.setItem("LcdLiveTV", fileCheck("/proc/stb/fb/sd_detach") or fileCheck("/proc/stb/lcd/live_enable"))
BoxInfo.setItem("LcdLiveTVPiP", fileCheck("/proc/stb/lcd/live_decoder"))
BoxInfo.setItem("LCDMiniTV", fileExists("/proc/stb/lcd/mode"))
BoxInfo.setItem("LCDMiniTVPiP", BoxInfo.getItem("LCDMiniTV") and MODEL not in ("gb800ueplus", "gbquad4k", "gbue4k"))
Exemple #16
0
SystemInfo["VideoDestinationConfigurable"] = fileExists("/proc/stb/vmpeg/0/dst_left")
SystemInfo["hasPIPVisibleProc"] = fileCheck("/proc/stb/vmpeg/1/visible")
SystemInfo["VFD_scroll_repeats"] = not SystemInfo["7segment"] and getBoxType() not in ("et8500",) and fileCheck("/proc/stb/lcd/scroll_repeats")
SystemInfo["VFD_scroll_delay"] = not SystemInfo["7segment"] and getBoxType() not in ("et8500",) and fileCheck("/proc/stb/lcd/scroll_delay")
SystemInfo["VFD_initial_scroll_delay"] = not SystemInfo["7segment"] and getBoxType() not in ("et8500",) and fileCheck("/proc/stb/lcd/initial_scroll_delay")
SystemInfo["VFD_final_scroll_delay"] = not SystemInfo["7segment"] and getBoxType() not in ("et8500",) and fileCheck("/proc/stb/lcd/final_scroll_delay")
SystemInfo["LcdLiveTV"] = fileCheck("/proc/stb/fb/sd_detach") or fileCheck("/proc/stb/lcd/live_enable")
SystemInfo["LCDMiniTV"] = fileExists("/proc/stb/lcd/mode")
SystemInfo["LCDMiniTVPiP"] = SystemInfo["LCDMiniTV"] and getBoxType() != "gb800ueplus"
SystemInfo["LcdPowerOn"] = fileExists("/proc/stb/power/vfd")
SystemInfo["FastChannelChange"] = False
SystemInfo["3DMode"] = fileCheck("/proc/stb/fb/3dmode") or fileCheck("/proc/stb/fb/primary/3d")
SystemInfo["3DZNorm"] = fileCheck("/proc/stb/fb/znorm") or fileCheck("/proc/stb/fb/primary/zoffset")
SystemInfo["Blindscan_t2_available"] = fileCheck("/proc/stb/info/vumodel") and getBoxType().startswith("vu")
SystemInfo["HasTranscoding"] = pathExists("/proc/stb/encoder/0") or fileCheck("/dev/bcm_enc0")
SystemInfo["HasH265Encoder"] = fileHas("/proc/stb/encoder/0/vcodec_choices", "h265")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = getBoxType() in ("vusolo4k", "gbquad4k", "gbue4k")
SystemInfo["hasXcoreVFD"] = getBoxType() in ("osmega", "spycat4k", "spycat4kmini", "spycat4kcomb") and fileCheck("/sys/module/brcmstb_%s/parameters/pt6302_cgram" % getBoxType())
SystemInfo["HasHDMIin"] = getHaveHDMIinHD() in ("True",) or getHaveHDMIinFHD() in ("True",)
SystemInfo["Has24hz"] = fileCheck("/proc/stb/video/videomode_24hz")
SystemInfo["AndroidMode"] = SystemInfo["RecoveryMode"] and getMachineBuild() in ("multibox",)
SystemInfo["canBackupEMC"] = getMachineBuild() in ("hd51", "h7") and ("disk.img", "%s" % SystemInfo["MBbootdevice"]) or getMachineBuild() in ("osmio4k", "osmio4kplus", "osmini4k") and ("emmc.img", "%s" % SystemInfo["MBbootdevice"]) or SystemInfo["HasHiSi"] and ("usb_update.bin", "none")
SystemInfo["canMode12"] = getMachineBuild() in ("hd51", "h7") and ("brcm_cma=440M@328M brcm_cma=192M@768M", "brcm_cma=520M@248M brcm_cma=200M@768M")
SystemInfo["HasMMC"] = fileHas("/proc/cmdline", "root=/dev/mmcblk") or "mmcblk" in getMachineMtdRoot()
SystemInfo["HasH9SD"] = getMachineBuild() in ("h9", "i55plus") and pathExists("/dev/mmcblk0p1")
SystemInfo["HasSDnomount"] = getMachineBuild() in ("h9", "i55plus") and (False, "none") or getMachineBuild() in ("multibox", "h9combo", "h9combose", "h9twin", "h9se", "pulse4kmini", "hd61", "pulse4k", "h11") and (True, "mmcblk0")
SystemInfo["CanProc"] = SystemInfo["HasMMC"] and getBrandOEM() != "vuplus"
SystemInfo["Canaudiosource"] = fileCheck("/proc/stb/hdmi/audio_source")
SystemInfo["Can3DSurround"] = fileHas("/proc/stb/audio/3d_surround_choices", "none")
SystemInfo["Can3DSpeaker"] = fileHas("/proc/stb/audio/3d_surround_speaker_position_choices", "center")
SystemInfo["CanAutoVolume"] = fileHas("/proc/stb/audio/avl_choices", "none") or fileHas("/proc/stb/audio/avl_choices", "hdmi")
Exemple #17
0
SystemInfo["LcdLiveTV"] = fileCheck("/proc/stb/fb/sd_detach") or fileCheck("/proc/stb/lcd/live_enable")
SystemInfo["LcdLiveTVMode"] = fileCheck("/proc/stb/lcd/mode")
SystemInfo["LcdLiveDecoder"] = fileCheck("/proc/stb/lcd/live_decoder")
SystemInfo["FastChannelChange"] = False
SystemInfo["3DMode"] = fileCheck("/proc/stb/fb/3dmode") or fileCheck("/proc/stb/fb/primary/3d")
SystemInfo["3DZNorm"] = fileCheck("/proc/stb/fb/znorm") or fileCheck("/proc/stb/fb/primary/zoffset")
SystemInfo["Blindscan_t2_available"] = fileCheck("/proc/stb/info/vumodel")
SystemInfo["RcTypeChangable"] = not(HardwareInfo().get_device_model().startswith('et8500') or HardwareInfo().get_device_model().startswith('et7')) and pathExists('/proc/stb/ir/rc/type')
SystemInfo["HasFullHDSkinSupport"] = HardwareInfo().get_device_model() not in ("et4000", "et5000", "sh1", "hd500c", "hd1100", "xp1000", "lc")
SystemInfo["HasBypassEdidChecking"] = fileCheck("/proc/stb/hdmi/bypass_edid_checking")
SystemInfo["HasColorspace"] = fileCheck("/proc/stb/video/hdmi_colorspace")
SystemInfo["HasColorspaceSimple"] = SystemInfo["HasColorspace"] and HardwareInfo().get_device_model() in "vusolo4k"
SystemInfo["HasMultichannelPCM"] = fileCheck("/proc/stb/audio/multichannel_pcm")
SystemInfo["HasMMC"] = fileExists("/proc/cmdline") and "root=/dev/mmcblk" in open("/proc/cmdline", "r").read()
SystemInfo["HasTranscoding"] = pathExists("/proc/stb/encoder/0") or fileCheck("/dev/bcm_enc0")
SystemInfo["HasH265Encoder"] = fileHas("/proc/stb/encoder/0/vcodec_choices", "h265")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = HardwareInfo().get_device_model() in "vusolo4k"
SystemInfo["HasColordepth"] = fileCheck("/proc/stb/video/hdmi_colordepth")
SystemInfo["HasFrontDisplayPicon"] = HardwareInfo().get_device_model() in ("vusolo4k", "et8500")
SystemInfo["Has24hz"] = fileCheck("/proc/stb/video/videomode_24hz")
SystemInfo["Has2160p"] = fileHas("/proc/stb/video/videomode_preferred", "2160p50")
SystemInfo["HasHDMIpreemphasis"] = fileCheck("/proc/stb/hdmi/preemphasis")
SystemInfo["HasColorimetry"] = fileCheck("/proc/stb/video/hdmi_colorimetry")
SystemInfo["HasHdrType"] = fileCheck("/proc/stb/video/hdmi_hdrtype")
SystemInfo["HasHDMI-CEC"] = HardwareInfo().has_hdmi() and fileExists("/usr/lib/enigma2/python/Plugins/SystemPlugins/HdmiCEC/plugin.pyo") and (fileExists("/dev/cec0") or fileExists("/dev/hdmi_cec") or fileExists("/dev/misc/hdmi_cec0"))
SystemInfo["HasYPbPr"] = HardwareInfo().get_device_model() in ("dm8000", "et5000", "et6000", "et6500", "et9000", "et9200", "et9500", "et10000", "formuler1", "mbtwinplus", "spycat", "vusolo", "vuduo", "vuduo2", "vuultimo")
SystemInfo["HasScart"] = HardwareInfo().get_device_model() in ("dm8000", "et4000", "et6500", "et8000", "et9000", "et9200", "et9500", "et10000", "formuler1", "hd1100", "hd1200", "hd1265", "hd2400", "vusolo", "vusolo2", "vuduo", "vuduo2", "vuultimo", "vuuno", "xp1000")
SystemInfo["HasSVideo"] = HardwareInfo().get_device_model() in ("dm8000")
SystemInfo["HasComposite"] = HardwareInfo().get_device_model() not in ("i55", "gbquad4k", "gbue4k", "hd1500", "osnino", "osninoplus", "purehd", "purehdse", "revo4k", "vusolo4k", "vuzero4k")
SystemInfo["HasAutoVolume"] = fileExists("/proc/stb/audio/avl_choices") and fileCheck("/proc/stb/audio/avl")
SystemInfo["HasAutoVolumeLevel"] = fileExists("/proc/stb/audio/autovolumelevel_choices") and fileCheck("/proc/stb/audio/autovolumelevel")
Exemple #18
0
SystemInfo["LCDMiniTVPiP"] = SystemInfo["LCDMiniTV"] and getBoxType() not in ('gb800ueplus','gbquad4k','gbue4k')
SystemInfo["LcdLiveTV"] = fileCheck("/proc/stb/fb/sd_detach") or fileCheck("/proc/stb/lcd/live_enable")
SystemInfo["LcdLiveTVPiP"] = fileCheck("/proc/stb/lcd/live_decoder")
SystemInfo["MiniTV"] = fileCheck("/proc/stb/fb/sd_detach") or fileCheck("/proc/stb/lcd/live_enable")
SystemInfo["FastChannelChange"] = False
SystemInfo["CIHelper"] = fileExists("/usr/bin/cihelper")
SystemInfo["grautec"] = fileExists("/tmp/usbtft")
SystemInfo["3DMode"] = fileCheck("/proc/stb/fb/3dmode") or fileCheck("/proc/stb/fb/primary/3d")
SystemInfo["3DZNorm"] = fileCheck("/proc/stb/fb/znorm") or fileCheck("/proc/stb/fb/primary/zoffset")
SystemInfo["CanUse3DModeChoices"] = fileExists('/proc/stb/fb/3dmode_choices') and True or False
SystemInfo["need_dsw"] = getBoxType() not in ('osminiplus','osmega')
SystemInfo["HaveCISSL"] = fileCheck("/etc/ssl/certs/customer.pem") and fileCheck("/etc/ssl/certs/device.pem")
SystemInfo["HaveID"] = fileCheck("/etc/.id")
SystemInfo["HaveTouchSensor"] = getBoxType() in ('dm520', 'dm525', 'dm900', 'dm920')
SystemInfo["DefaultDisplayBrightness"] = getBoxType() in ('dm900', 'dm920') and 8 or 5
SystemInfo["HasRootSubdir"] = fileHas("/proc/cmdline", "rootsubdir=")
SystemInfo["RecoveryMode"] = SystemInfo["HasRootSubdir"] and getMachineBuild() not in ('vs1500','hd51','h7') or fileCheck("/proc/stb/fp/boot_mode")
SystemInfo["ForceLNBPowerChanged"] = fileCheck("/proc/stb/frontend/fbc/force_lnbon")
SystemInfo["ForceToneBurstChanged"] = fileCheck("/proc/stb/frontend/fbc/force_toneburst")
SystemInfo["USETunersetup"] = SystemInfo["ForceLNBPowerChanged"] or SystemInfo["ForceToneBurstChanged"]
SystemInfo["XcoreVFD"] = getMachineBuild() in ('xc7346','xc7439') 
SystemInfo["HDMIin"] = getMachineBuild() in ('inihdp', 'hd2400', 'et10000', 'dm7080', 'dm820', 'dm900', 'dm920', 'vuultimo4k', 'et13000', 'sf5008', 'vuuno4kse', 'vuduo4k') or getBoxType() in ('spycat4k','spycat4kcombo','gbquad4k')
SystemInfo["HaveRCA"] = getHaveRCA() == 'True'
SystemInfo["HaveDVI"] = getHaveDVI() == 'True'
SystemInfo["HaveAVJACK"] = getHaveAVJACK() == 'True'
SystemInfo["HAVESCART"] = getHaveSCART() == 'True'
SystemInfo["HAVESCARTYUV"] = getHaveSCARTYUV() == 'True'
SystemInfo["HAVEYUV"] = getHaveYUV() == 'True'
SystemInfo["HAVEHDMI"] = getHaveHDMI() == 'True'
SystemInfo["HAVEEDIDDECODE"] = fileCheck("/proc/stb/hdmi/raw_edid") and fileCheck("/usr/bin/edid-decode")
SystemInfo["canMultiBoot"] = getMachineBuild() in ('hd51','vs1500','h7','h9combo','h10','hd60','hd61','multibox','8100s') and (1, 4, 'mmcblk0p') or getMachineBuild() in ('gb7252','gb72604') and (3, 3, 'mmcblk0p') or getMachineBuild() in ('gbmv200','cc1','sf8008','sf8008m','ustym4kpro','beyonwizv2','viper4k') and fileCheck("/dev/sda") and (0, 3, 'sda') or getMachineBuild() in ('osmio4k','osmio4kplus','xc7439','osmini4k') and (1, 4, 'mmcblk1p')
Exemple #19
0
SystemInfo["Blindscan_t2_available"] = fileCheck("/proc/stb/info/vumodel")
SystemInfo["Bootvideo"] = fileCheck("/usr/bin/bootvideo")
SystemInfo["hasOSDAnimation"] = fileCheck("/proc/stb/fb/animation_mode")
SystemInfo["CIHelper"] = fileExists("/usr/bin/cihelper")
SystemInfo["RcTypeChangable"] = pathExists('/proc/stb/ir/rc/type')
SystemInfo["HasFullHDSkinSupport"] = getBoxType() not in ('gb800solo', 'gb800se', 'gb800ue')
SystemInfo["HasBypassEdidChecking"] = fileCheck("/proc/stb/hdmi/bypass_edid_checking")
SystemInfo["HasColorspace"] = fileCheck("/proc/stb/video/hdmi_colorspace")
SystemInfo["HasColorspaceSimple"] = SystemInfo["HasColorspace"] and getBoxType() in ('vusolo4k')
SystemInfo["HasMultichannelPCM"] = fileCheck("/proc/stb/audio/multichannel_pcm")
SystemInfo["HasMMC"] = fileExists("/proc/cmdline") and "root=/dev/mmcblk" in open("/proc/cmdline", "r").read()
SystemInfo["HasSwap"] = pathExists("/dev/mmcblk0p10")
SystemInfo["HasMultiBoot"] = fileCheck("/boot/STARTUP_1") and getMachineBuild() not in ('gb7252')
SystemInfo["HasMultiBootGB"] = SystemInfo["HasSwap"] and fileCheck("/boot/STARTUP_1") and getMachineBuild() in ('gb7252')
SystemInfo["HasTranscoding"] = pathExists("/proc/stb/encoder/0") or fileCheck("/dev/bcm_enc0")
SystemInfo["HasH265Encoder"] = fileHas("/proc/stb/encoder/0/vcodec_choices", "h265")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = getBoxType() in ('vusolo4k') or getMachineBuild() in ('gb7252')
SystemInfo["HasColordepth"] = fileCheck("/proc/stb/video/hdmi_colordepth")
SystemInfo["HasFrontDisplayPicon"] = getBoxType() in ("vusolo4k", "et8500")
SystemInfo["Has24hz"] = fileCheck("/proc/stb/video/videomode_24hz")
SystemInfo["Has2160p"] = fileHas("/proc/stb/video/videomode_preferred", "2160p50")
SystemInfo["HasHDMIpreemphasis"] = fileCheck("/proc/stb/hdmi/preemphasis")
SystemInfo["HasColorimetry"] = fileCheck("/proc/stb/video/hdmi_colorimetry")
SystemInfo["HasHDMI-CEC"] = HardwareInfo().has_hdmi() and fileExists("/usr/lib/enigma2/python/Plugins/SystemPlugins/HdmiCEC/plugin.pyo") and pathExists("/dev/hdmi_cec") or pathExists("/dev/misc/hdmi_cec0")
SystemInfo["HasHdrType"] = fileCheck("/proc/stb/video/hdmi_hdrtype")
SystemInfo["HasYPbPr"] = getMachineBuild() in ('gb7356', 'gb7325') or getBoxType() in ('gbultraue', 'gbultraueh', 'gb800ueplus', 'gb800seplus')
SystemInfo["HasScart"] = getMachineBuild() in ('gb7325')
SystemInfo["HasSVideo"] = getMachineBuild() in ('dummy')
SystemInfo["HasComposite"] = getMachineBuild() in ('gb7356', 'gb7358', 'gb7325') or getBoxType() in ('gbultraue', 'gbultraueh')
SystemInfo["HasAutoVolume"] = fileExists("/proc/stb/audio/avl_choices") and fileCheck("/proc/stb/audio/avl")
SystemInfo["HasAutoVolumeLevel"] = fileExists("/proc/stb/audio/autovolumelevel_choices") and fileCheck("/proc/stb/audio/autovolumelevel")
Exemple #20
0
SystemInfo["HasFullHDSkinSupport"] = getBoxBrand() in (
    "cuberevo", "fulan", "hs",
    "edisionargus") or getBoxType() in ("adb_box", "atevio7500", "hl101",
                                        "octagon1008", "fortis_hdbox")
SystemInfo["HasBypassEdidChecking"] = fileCheck(
    "/proc/stb/hdmi/bypass_edid_checking")
SystemInfo["HasColorspace"] = fileCheck("/proc/stb/video/hdmi_colorspace")
SystemInfo["HasColorspaceSimple"] = SystemInfo["HasColorspace"]
SystemInfo["HasMultichannelPCM"] = fileCheck(
    "/proc/stb/audio/multichannel_pcm")
SystemInfo["HasMMC"] = fileExists(
    "/proc/cmdline") and "root=/dev/mmcblk" in open("/proc/cmdline",
                                                    "r").read()
SystemInfo["HasTranscoding"] = pathExists("/proc/stb/encoder/0") or fileCheck(
    "/dev/bcm_enc0")
SystemInfo["HasH265Encoder"] = fileHas("/proc/stb/encoder/0/vcodec_choices",
                                       "h265")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = False
SystemInfo["HasColordepth"] = fileCheck("/proc/stb/video/hdmi_colordepth")
SystemInfo["HasFrontDisplayPicon"] = False
SystemInfo["Has24hz"] = fileCheck("/proc/stb/video/videomode_24hz")
SystemInfo["Has2160p"] = False
SystemInfo["HasHDMIpreemphasis"] = fileCheck("/proc/stb/hdmi/preemphasis")
SystemInfo["HasColorimetry"] = fileCheck("/proc/stb/video/hdmi_colorimetry")
SystemInfo["HasHdrType"] = fileCheck("/proc/stb/video/hdmi_hdrtype")
SystemInfo["HasHDMI-CEC"] = HardwareInfo().has_hdmi() and fileExists(
    "/usr/lib/enigma2/python/Plugins/SystemPlugins/HdmiCEC/plugin.pyo") and (
        fileExists("/dev/cec0") or fileExists("/dev/hdmi_cec")
        or fileExists("/dev/misc/hdmi_cec0"))
SystemInfo["HasYPbPr"] = getBoxBrand() in ("edisionargus") or getBoxType() in (
    "adb_box", "atevio7500", "fortis_hdbox", "hl101", "hs7420", "hs7429",
    "octagon1008", "tf7700", "ufs912", "ufs913", "cuberevo", "cuberevo_mini",
Exemple #21
0
SystemInfo["GBWOL"] = fileExists("/usr/bin/gigablue_wol")
SystemInfo["LCDSKINSetup"] = path.exists("/usr/share/enigma2/display") and getDisplayType() not in ('7segment')
SystemInfo["7segment"] = getDisplayType() in ('7segment')
SystemInfo["7segmentORtextlcd7segment"] = getDisplayType() in ('7segment','textlcd7segment')
SystemInfo["grautec"] = fileExists("/tmp/usbtft")
SystemInfo["isGBIPBOX"] = fileExists("/usr/lib/enigma2/python/gbipbox.so")
SystemInfo["CIHelper"] = fileExists("/usr/bin/cihelper")
SystemInfo["3DMode"] = fileCheck("/proc/stb/fb/3dmode") or fileCheck("/proc/stb/fb/primary/3d")
SystemInfo["3DZNorm"] = fileCheck("/proc/stb/fb/znorm") or fileCheck("/proc/stb/fb/primary/zoffset")
SystemInfo["CanUse3DModeChoices"] = fileExists('/proc/stb/fb/3dmode_choices') and True or False
SystemInfo["need_dsw"] = getBoxType() not in ('osminiplus','osmega')
SystemInfo["HaveCISSL"] = fileCheck("/etc/ssl/certs/customer.pem") and fileCheck("/etc/ssl/certs/device.pem")
SystemInfo["HasMultichannelPCM"] = fileCheck("/proc/stb/audio/multichannel_pcm")
SystemInfo["HaveTouchSensor"] = getBoxType() in ('dm520', 'dm525', 'dm900')
SystemInfo["DefaultDisplayBrightness"] = getBoxType() == 'dm900' and 8 or 5
SystemInfo["HasRootSubdir"] = fileHas("/proc/cmdline", "rootsubdir=")
SystemInfo["RecoveryMode"] = SystemInfo["HasRootSubdir"] and getMachineBuild() not in ('vs1500','hd51','h7') or fileCheck("/proc/stb/fp/boot_mode")
SystemInfo["LCDMiniTV"] = fileExists("/proc/stb/lcd/mode")
SystemInfo["LcdLiveTV"] = fileCheck("/proc/stb/fb/sd_detach")
SystemInfo["MiniTV"] = fileCheck("/proc/stb/fb/sd_detach") or fileCheck("/proc/stb/lcd/live_enable")
SystemInfo["FastChannelChange"] = False
SystemInfo["LCDMiniTVPiP"] = SystemInfo["LCDMiniTV"] and getBoxType() not in ('gb800ueplus','gbquad4k','gbue4k')
SystemInfo["LCDsymbol_circle"] = fileCheck("/proc/stb/lcd/symbol_circle")
SystemInfo["ForceLNBPowerChanged"] = fileCheck("/proc/stb/frontend/fbc/force_lnbon")
SystemInfo["ForceToneBurstChanged"] = fileCheck("/proc/stb/frontend/fbc/force_toneburst")
SystemInfo["USETunersetup"] = SystemInfo["ForceLNBPowerChanged"] or SystemInfo["ForceToneBurstChanged"]
SystemInfo["HDMIin"] = getHaveHDMIinHD() in ('True')
SystemInfo["HaveRCA"] = getHaveRCA() in ('True')
SystemInfo["HaveDVI"] = getHaveDVI() in ('True')
SystemInfo["HaveAVJACK"] = getHaveAVJACK() in ('True')
SystemInfo["HaveSCART"] = getHaveSCART() in ('True')
Exemple #22
0
SystemInfo["VFD_scroll_repeats"] = not SystemInfo["7segment"] and getBoxType() not in ('et8500') and fileCheck("/proc/stb/lcd/scroll_repeats")
SystemInfo["VFD_scroll_delay"] = not SystemInfo["7segment"] and getBoxType() not in ('et8500') and fileCheck("/proc/stb/lcd/scroll_delay")
SystemInfo["VFD_initial_scroll_delay"] = not SystemInfo["7segment"] and getBoxType() not in ('et8500') and fileCheck("/proc/stb/lcd/initial_scroll_delay")
SystemInfo["VFD_final_scroll_delay"] = not SystemInfo["7segment"] and getBoxType() not in ('et8500') and fileCheck("/proc/stb/lcd/final_scroll_delay")
SystemInfo["LcdLiveTV"] = fileCheck("/proc/stb/fb/sd_detach") or fileCheck("/proc/stb/lcd/live_enable")
SystemInfo["LCDMiniTV"] = fileExists("/proc/stb/lcd/mode")
SystemInfo["LCDMiniTVPiP"] = SystemInfo["LCDMiniTV"] and getBoxType() != 'gb800ueplus'
SystemInfo["LcdPowerOn"] = fileExists("/proc/stb/power/vfd")
SystemInfo["FastChannelChange"] = False
SystemInfo["3DMode"] = fileCheck("/proc/stb/fb/3dmode") or fileCheck("/proc/stb/fb/primary/3d")
SystemInfo["3DZNorm"] = fileCheck("/proc/stb/fb/znorm") or fileCheck("/proc/stb/fb/primary/zoffset")
SystemInfo["Blindscan_t2_available"] = fileCheck("/proc/stb/info/vumodel")
SystemInfo["HasForceLNBOn"] = fileCheck("/proc/stb/frontend/fbc/force_lnbon")
SystemInfo["HasForceToneburst"] = fileCheck("/proc/stb/frontend/fbc/force_toneburst")
SystemInfo["HasTranscoding"] = pathExists("/proc/stb/encoder/0") or fileCheck("/dev/bcm_enc0")
SystemInfo["HasH265Encoder"] = fileHas("/proc/stb/encoder/0/vcodec_choices", "h265")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = getBoxType() in ('vusolo4k','gbquad4k')
SystemInfo["hasXcoreVFD"] = getBoxType() in ('osmega','spycat4k','spycat4kmini','spycat4kcombo') and fileCheck("/sys/module/brcmstb_%s/parameters/pt6302_cgram" % getBoxType())
SystemInfo["HasHDMIin"] = getMachineBuild() in ('inihdp', 'hd2400', 'et10000', 'et13000', 'dm7080', 'dm820', 'dm900', 'vuultimo4k', 'vuuno4kse') or getBoxType() in ('gbquad4k')
SystemInfo["HasHDMI-CEC"] = fileExists("/usr/lib/enigma2/python/Plugins/SystemPlugins/HdmiCEC/plugin.pyo")
SystemInfo["HasInfoButton"] = getBrandOEM() in ('broadmedia', 'ceryon', 'dags', 'formuler', 'gfutures', 'gigablue', 'ini', 'octagon', 'odin', 'skylake', 'tiviar', 'xcore', 'xp', 'xtrend')
SystemInfo["Has24hz"] = fileCheck("/proc/stb/video/videomode_24hz")
SystemInfo["canMultiBoot"] = getMachineBuild() in ('hd51', 'h7', 'vs1500') and (1, 4, 'mmcblk0p') or getBoxType() in ('gbue4k', 'gbquad4k') and (3, 3, 'mmcblk0p') or getMachineBuild() in ('cc1','sf8008','ustym4kpro') and fileCheck("/dev/sda") and (0, 2, 'sda')
SystemInfo["HasHiSi"] = pathExists('/proc/hisi')
SystemInfo["canMode12"] = getMachineBuild() in ('hd51') and ('440M@328M brcm_cma=192M@768M', '520M@248M brcm_cma=200M@768M')
SystemInfo["HasMMC"] = fileHas("/proc/cmdline", "root=/dev/mmcblk") or SystemInfo["canMultiBoot"] and fileHas("/proc/cmdline", "root=/dev/sda")
SystemInfo["supportPcmMultichannel"] = fileCheck("/proc/stb/audio/multichannel_pcm")
SystemInfo["CanAACTranscode"] = fileExists("/proc/stb/audio/aac_transcode_choices") and fileCheck("/proc/stb/audio/aac_transcode")
SystemInfo["CanDownmixAC3"] = fileHas("/proc/stb/audio/ac3_choices", "downmix")
SystemInfo["CanDownmixDTS"] = fileHas("/proc/stb/audio/dts_choices", "downmix")
SystemInfo["CanDownmixAAC"] = fileHas("/proc/stb/audio/aac_choices", "downmix")
Exemple #23
0
    ) not in ('et8500') and fileCheck("/proc/stb/lcd/final_scroll_delay")
SystemInfo["LcdLiveTV"] = fileCheck("/proc/stb/fb/sd_detach") or fileCheck(
    "/proc/stb/lcd/live_enable")
SystemInfo["LCDMiniTV"] = fileExists("/proc/stb/lcd/mode")
SystemInfo["LCDMiniTVPiP"] = SystemInfo["LCDMiniTV"] and getBoxType(
) != 'gb800ueplus'
SystemInfo["LcdPowerOn"] = fileExists("/proc/stb/power/vfd")
SystemInfo["FastChannelChange"] = False
SystemInfo["3DMode"] = fileCheck("/proc/stb/fb/3dmode") or fileCheck(
    "/proc/stb/fb/primary/3d")
SystemInfo["3DZNorm"] = fileCheck("/proc/stb/fb/znorm") or fileCheck(
    "/proc/stb/fb/primary/zoffset")
SystemInfo["Blindscan_t2_available"] = fileCheck("/proc/stb/info/vumodel")
SystemInfo["HasTranscoding"] = pathExists("/proc/stb/encoder/0") or fileCheck(
    "/dev/bcm_enc0")
SystemInfo["HasH265Encoder"] = fileHas("/proc/stb/encoder/0/vcodec_choices",
                                       "h265")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = getBoxType() in (
    'vusolo4k', 'gbquad4k')
SystemInfo["hasXcoreVFD"] = getBoxType() in (
    'osmega', 'spycat4k', 'spycat4kmini', 'spycat4kcombo') and fileCheck(
        "/sys/module/brcmstb_%s/parameters/pt6302_cgram" % getBoxType())
SystemInfo["HasHDMIin"] = getHaveHDMIinHD() in (
    'True', ) or getHaveHDMIinFHD() in ('True', )
SystemInfo["HasHDMI-CEC"] = fileExists(
    "/usr/lib/enigma2/python/Plugins/SystemPlugins/HdmiCEC/plugin.pyo")
SystemInfo["HasInfoButton"] = getBrandOEM() in ('airdigital', 'broadmedia',
                                                'ceryon', 'dags', 'dinobot',
                                                'edision', 'formuler',
                                                'gfutures', 'gigablue', 'ini',
                                                'maxytec', 'octagon', 'odin',
                                                'skylake', 'tiviar', 'xcore',
Exemple #24
0
    "vuduo4k") or getBoxType() in ("spycat4k", "spycat4kcombo", "gbquad4k")
SystemInfo["HaveRCA"] = getHaveRCA() == "True"
SystemInfo["HaveDVI"] = getHaveDVI() == "True"
SystemInfo["HaveAVJACK"] = getHaveAVJACK() == "True"
SystemInfo["HAVESCART"] = getHaveSCART() == "True"
SystemInfo["HAVESCARTYUV"] = getHaveSCARTYUV() == "True"
SystemInfo["HAVEYUV"] = getHaveYUV() == "True"
SystemInfo["HAVEHDMI"] = getHaveHDMI() == "True"
SystemInfo["MBbootdevice"] = getMBbootdevice()
SystemInfo["canMultiBoot"] = getMultibootslots()
SystemInfo["canMode12"] = getMachineBuild() in (
    'hd51', 'vs1500', 'h7') and ('brcm_cma=440M@328M brcm_cma=192M@768M',
                                 'brcm_cma=520M@248M brcm_cma=200M@768M')
SystemInfo["HAScmdline"] = fileCheck("/boot/cmdline.txt")
SystemInfo["HasHiSi"] = pathExists("/proc/hisi")
SystemInfo["HasMMC"] = fileHas(
    "/proc/cmdline", "root=/dev/mmcblk") or "mmcblk" in getMachineMtdRoot()
SystemInfo["HasSDmmc"] = SystemInfo["canMultiBoot"] and "sd" in SystemInfo[
    "canMultiBoot"][2] and "mmcblk" in getMachineMtdRoot()
SystemInfo["HasSDswap"] = getMachineBuild() in (
    "h9", "i55plus") and pathExists("/dev/mmcblk0p1")
SystemInfo["CanProc"] = SystemInfo["HasMMC"] and getBrandOEM() != "vuplus"
SystemInfo["canRecovery"] = getMachineBuild() in (
    'hd51', 'vs1500', 'h7',
    '8100s') and ('disk.img', 'mmcblk0p1') or getMachineBuild() in (
        'xc7439', 'osmio4k', 'osmio4kplus',
        'osmini4k') and ('emmc.img', 'mmcblk1p1') or getMachineBuild() in (
            'gbmv200', 'cc1', 'sf8008', 'sf8008m', 'ustym4kpro', 'beyonwizv2',
            'viper4k') and ('usb_update.bin', 'none')
SystemInfo["VfdDisplay"] = getBoxType() not in (
    'anadol4k', 'dinobot4kl', 'dinobot4k', 'dinobot4kse', 'vuultimo',
    'xpeedlx3', 'et10000', 'mutant2400', 'quadbox2400',
Exemple #25
0
SystemInfo["VFD_scroll_repeats"] = not SystemInfo["7segment"] and fileCheck("/proc/stb/lcd/scroll_repeats")
SystemInfo["VFD_scroll_delay"] = not SystemInfo["7segment"] and fileCheck("/proc/stb/lcd/scroll_delay")
SystemInfo["VFD_initial_scroll_delay"] = not SystemInfo["7segment"] and fileCheck("/proc/stb/lcd/initial_scroll_delay")
SystemInfo["VFD_final_scroll_delay"] = not SystemInfo["7segment"] and fileCheck("/proc/stb/lcd/final_scroll_delay")
SystemInfo["LcdLiveTV"] = fileCheck("/proc/stb/fb/sd_detach") or fileCheck("/proc/stb/lcd/live_enable")
SystemInfo["LCDMiniTV"] = fileExists("/proc/stb/lcd/mode")
SystemInfo["LCDMiniTVPiP"] = SystemInfo["LCDMiniTV"]
SystemInfo["LcdPowerOn"] = fileExists("/proc/stb/power/vfd")
SystemInfo["FastChannelChange"] = False
SystemInfo["3DMode"] = fileCheck("/proc/stb/fb/3dmode") or fileCheck("/proc/stb/fb/primary/3d")
SystemInfo["3DZNorm"] = fileCheck("/proc/stb/fb/znorm") or fileCheck("/proc/stb/fb/primary/zoffset")
SystemInfo["Blindscan_t2_available"] = fileCheck("/proc/stb/info/vumodel")
SystemInfo["HasForceLNBOn"] = fileCheck("/proc/stb/frontend/fbc/force_lnbon")
SystemInfo["HasForceToneburst"] = fileCheck("/proc/stb/frontend/fbc/force_toneburst")
SystemInfo["HasTranscoding"] = pathExists("/proc/stb/encoder/0") or fileCheck("/dev/bcm_enc0")
SystemInfo["HasH265Encoder"] = fileHas("/proc/stb/encoder/0/vcodec_choices", "h265")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = getBoxType() in ('vusolo4k')
SystemInfo["hasXcoreVFD"] = fileCheck("/sys/module/brcmstb_%s/parameters/pt6302_cgram" % getBoxType())
SystemInfo["HasHDMIin"] = getMachineBuild() in ('vuuno4kse', 'vuultimo4k')
SystemInfo["HasHDMI-CEC"] = fileExists("/usr/lib/enigma2/python/Plugins/SystemPlugins/HdmiCEC/plugin.pyo")
SystemInfo["HasInfoButton"] = False
SystemInfo["Has24hz"] = fileCheck("/proc/stb/video/videomode_24hz")
SystemInfo["canMultiBoot"] = False
SystemInfo["HasHiSi"] = False
SystemInfo["canMode12"] = False
SystemInfo["HasMMC"] = fileHas("/proc/cmdline", "root=/dev/mmcblk") or SystemInfo["canMultiBoot"] and fileHas("/proc/cmdline", "root=/dev/sda")
SystemInfo["HasSDmmc"] = SystemInfo["canMultiBoot"] and "sd" in SystemInfo["canMultiBoot"][2] and "mmcblk" in getMachineMtdRoot() 
SystemInfo["supportPcmMultichannel"] = fileCheck("/proc/stb/audio/multichannel_pcm")
SystemInfo["CanAACTranscode"] = fileExists("/proc/stb/audio/aac_transcode_choices") and fileCheck("/proc/stb/audio/aac_transcode")
SystemInfo["CanDownmixAC3"] = fileHas("/proc/stb/audio/ac3_choices", "downmix")
SystemInfo["CanDownmixDTS"] = fileHas("/proc/stb/audio/dts_choices", "downmix")
Exemple #26
0
import Tools.RedirectOutput
from Tools.Directories import resolveFilename, fileExists
from boxbranding import getImageArch
from enigma import getBoxType, getBoxBrand, getE2Rev

import enigma
import eConsoleImpl
import eBaseImpl
enigma.eTimer = eBaseImpl.eTimer
enigma.eSocketNotifier = eBaseImpl.eSocketNotifier
enigma.eConsoleAppContainer = eConsoleImpl.eConsoleAppContainer

model = getBoxType()
brand = getBoxBrand()

if fileHas ("/var/log/samba/log.nmbd","ERROR: Could not determine network interfaces") and not fileHas ("/var/log/samba/log.nmbd","daemon_ready"):
	from Components.Console import Console
	print("[mytest] Try load all network interfaces.")
	Console = Console()
	Console.ePopen('/etc/init.d/networking restart ; /etc/init.d/samba.sh restart ; mount -a -t nfs,smbfs,cifs,ncpfs')
	print("[mytest] All network interfaces loaded.")

from Components.SystemInfo import SystemInfo
from traceback import print_exc

if getImageArch() == "aarch64":
	import usb.core
	import usb.backend.libusb1
	usb.backend.libusb1.get_backend(find_library=lambda x: "/lib/libusb-1.0.so.0")

profile("ClientMode")
Exemple #27
0
SystemInfo["HasBypassEdidChecking"] = fileCheck(
    "/proc/stb/hdmi/bypass_edid_checking")
SystemInfo["HasColorspace"] = fileCheck("/proc/stb/video/hdmi_colorspace")
SystemInfo["HasColorspaceSimple"] = SystemInfo["HasColorspace"] and model in (
    'vusolo4k', )
SystemInfo["HasMultichannelPCM"] = fileCheck(
    "/proc/stb/audio/multichannel_pcm")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = model in (
    'vusolo4k') or getMachineBuild() in ('gb7252', 'gb72604')
SystemInfo["HasColordepth"] = fileCheck("/proc/stb/video/hdmi_colordepth")
SystemInfo["HasFrontDisplayPicon"] = model in ("et8500", "vusolo4k",
                                               "vuuno4kse", "vuduo4k",
                                               "vuduo4kse", "vuultimo4k",
                                               "gbquad4k", "gbue4k")
SystemInfo["Has24hz"] = fileCheck("/proc/stb/video/videomode_24hz")
SystemInfo["Has2160p"] = fileHas("/proc/stb/video/videomode_preferred",
                                 "2160p50")
SystemInfo["HasHDMIpreemphasis"] = fileCheck("/proc/stb/hdmi/preemphasis")
SystemInfo["HasColorimetry"] = fileCheck("/proc/stb/video/hdmi_colorimetry")
SystemInfo["HasHDMI-CEC"] = HardwareInfo().has_hdmi() and fileExists(
    resolveFilename(SCOPE_PLUGINS, "SystemPlugins/HdmiCEC/plugin.pyo")) and (
        fileExists("/dev/cec0") or fileExists("/dev/hdmi_cec")
        or fileExists("/dev/misc/hdmi_cec0"))
SystemInfo["HasHdrType"] = fileCheck("/proc/stb/video/hdmi_hdrtype")
SystemInfo["HasYPbPr"] = getMachineBuild() in (
    'gb7356', 'gb7325') or model in ('gbultraue', 'gbultraueh', 'gb800ueplus',
                                     'gb800seplus')
SystemInfo["HasScart"] = getMachineBuild() in ('gb7325', )
SystemInfo["HasSVideo"] = getMachineBuild() in ('dummy', )
SystemInfo["HasComposite"] = getMachineBuild() in (
    'gb7356', 'gb7358', 'gb7325') or model in ('gbultraue', 'gbultraueh')
SystemInfo["HasAutoVolume"] = fileExists(
Exemple #28
0
    def __init__(self, session):
        Screen.__init__(self, session)
        self.setTitle(_("About"))
        hddsplit = skin.parameters.get("AboutHddSplit", 0)

        procmodel = getBoxProc()

        AboutText = _("Hardware: ") + about.getHardwareTypeString() + "\n"
        if procmodel != about.getHardwareTypeString():
            AboutText += _("Proc model: ") + procmodel + "\n"
        if fileExists("/proc/stb/info/sn"):
            hwserial = open("/proc/stb/info/sn", "r").read().strip()
            AboutText += _("Hardware serial: ") + hwserial + "\n"

        AboutText += _("Brand: ") + about.getHardwareBrand() + "\n"

        cpu = about.getCPUInfoString()
        AboutText += _("CPU: ") + cpu + "\n"
        AboutText += _("CPU brand: ") + about.getCPUBrand() + "\n"
        AboutText += _("CPU architecture: ") + about.getCPUArch() + "\n"
        if boxbranding.getImageFPU() != "":
            AboutText += _("FPU: ") + boxbranding.getImageFPU() + "\n"
        AboutText += _(
            "Image architecture: ") + boxbranding.getImageArch() + "\n"

        if boxbranding.getImageArch() == "aarch64":
            if boxbranding.getHaveMultiLib() == "True":
                AboutText += _("MultiLib: ") + _("Yes") + "\n"
            else:
                AboutText += _("MultiLib: ") + _("No") + "\n"

        AboutText += _("Flash type: ") + about.getFlashType() + "\n"

        AboutText += "\n" + _("Image: ") + about.getImageTypeString() + "\n"
        AboutText += _("Feed URL: ") + boxbranding.getFeedsUrl() + "\n"

        AboutText += _(
            "Open Vision version: ") + about.getVisionVersion() + "\n"
        AboutText += _(
            "Open Vision revision: ") + about.getVisionRevision() + "\n"
        AboutText += _("Open Vision module: ") + about.getVisionModule() + "\n"

        AboutText += _("Build date: ") + about.getBuildDateString() + "\n"
        AboutText += _("Last update: ") + about.getUpdateDateString() + "\n"

        # [WanWizard] Removed until we find a reliable way to determine the installation date
        # AboutText += _("Installed: ") + about.getFlashDateString() + "\n"

        EnigmaVersion = about.getEnigmaVersionString()
        EnigmaVersion = EnigmaVersion.rsplit("-", EnigmaVersion.count("-") - 2)
        if len(EnigmaVersion) == 3:
            EnigmaVersion = EnigmaVersion[0] + " (" + EnigmaVersion[
                2] + "-" + EnigmaVersion[1] + ")"
        else:
            EnigmaVersion = EnigmaVersion[0] + " (" + EnigmaVersion[1] + ")"
        EnigmaVersion = _("Enigma version: ") + EnigmaVersion
        self["EnigmaVersion"] = StaticText(EnigmaVersion)
        AboutText += "\n" + EnigmaVersion + "\n"
        AboutText += _(
            "Enigma (re)starts: %d\n") % config.misc.startCounter.value
        AboutText += _("Enigma debug level: %d\n") % eGetEnigmaDebugLvl()

        AboutText += "\n" + _(
            "Kernel version: ") + about.getKernelVersionString() + "\n"

        AboutText += _(
            "DVB driver version: ") + about.getDriverInstalledDate() + "\n"
        AboutText += _("DVB API: ") + about.getDVBAPI() + "\n"
        if fileExists("/usr/bin/dvb-fe-tool"):
            import time
            try:
                cmd = 'dvb-fe-tool > /tmp/dvbfetool.txt'
                res = Console().ePopen(cmd)
                time.sleep(0.1)
            except:
                pass
        if fileExists("/tmp/dvbfetool.txt"):
            if fileHas("/tmp/dvbfetool.txt", "DVBC") or fileHas(
                    "/tmp/dvbfetool.txt", "DVB-C"):
                AboutText += _("DVB-C: ") + _("Yes") + "\n"
            else:
                AboutText += _("DVB-C: ") + _("No") + "\n"
            if fileHas("/tmp/dvbfetool.txt", "DVBS") or fileHas(
                    "/tmp/dvbfetool.txt", "DVB-S"):
                AboutText += _("DVB-S: ") + _("Yes") + "\n"
            else:
                AboutText += _("DVB-S: ") + _("No") + "\n"
            if fileHas("/tmp/dvbfetool.txt", "DVBT") or fileHas(
                    "/tmp/dvbfetool.txt", "DVB-T"):
                AboutText += _("DVB-T: ") + _("Yes") + "\n"
            else:
                AboutText += _("DVB-T: ") + _("No") + "\n"
            if fileHas("/tmp/dvbfetool.txt", "MULTISTREAM"):
                AboutText += _("Multistream: ") + _("Yes") + "\n"
            else:
                AboutText += _("Multistream: ") + _("No") + "\n"
            if fileHas("/tmp/dvbfetool.txt", "ANNEX_A") or fileHas(
                    "/tmp/dvbfetool.txt", "ANNEX-A"):
                AboutText += _("ANNEX-A: ") + _("Yes") + "\n"
            else:
                AboutText += _("ANNEX-A: ") + _("No") + "\n"
            if fileHas("/tmp/dvbfetool.txt", "ANNEX_B") or fileHas(
                    "/tmp/dvbfetool.txt", "ANNEX-B"):
                AboutText += _("ANNEX-B: ") + _("Yes") + "\n"
            else:
                AboutText += _("ANNEX-B: ") + _("No") + "\n"
            if fileHas("/tmp/dvbfetool.txt", "ANNEX_C") or fileHas(
                    "/tmp/dvbfetool.txt", "ANNEX-C"):
                AboutText += _("ANNEX-C: ") + _("Yes") + "\n"
            else:
                AboutText += _("ANNEX-C: ") + _("No") + "\n"

        GStreamerVersion = _("GStreamer version: "
                             ) + about.getGStreamerVersionString(cpu).replace(
                                 "GStreamer", "")
        self["GStreamerVersion"] = StaticText(GStreamerVersion)
        AboutText += "\n" + GStreamerVersion + "\n"

        FFmpegVersion = _("FFmpeg version: ") + about.getFFmpegVersionString()
        self["FFmpegVersion"] = StaticText(FFmpegVersion)
        AboutText += FFmpegVersion + "\n"

        AboutText += _(
            "Python version: ") + about.getPythonVersionString() + "\n"

        fp_version = getFPVersion()
        if fp_version is None:
            fp_version = ""
        else:
            fp_version = _("Frontprocessor version: %s") % fp_version
            AboutText += fp_version + "\n"

        self["FPVersion"] = StaticText(fp_version)

        if boxbranding.getHaveTranscoding() != "":
            AboutText += _("Transcoding: ") + _("Yes") + "\n"
        else:
            AboutText += _("Transcoding: ") + _("No") + "\n"

        if boxbranding.getHaveMultiTranscoding() != "":
            AboutText += _("MultiTranscoding: ") + _("Yes") + "\n"
        else:
            AboutText += _("MultiTranscoding: ") + _("No") + "\n"

        AboutText += _('Skin & Resolution: %s (%sx%s)\n') % (
            config.skin.primary_skin.value.split('/')[0],
            getDesktop(0).size().width(), getDesktop(0).size().height())

        self["TunerHeader"] = StaticText(_("Detected NIMs:"))
        AboutText += "\n" + _("Detected NIMs:") + "\n"

        nims = nimmanager.nimListCompressed()
        for count in range(len(nims)):
            if count < 4:
                self["Tuner" + str(count)] = StaticText(nims[count])
            else:
                self["Tuner" + str(count)] = StaticText("")
            AboutText += nims[count] + "\n"

        self["HDDHeader"] = StaticText(_("Detected HDD:"))
        AboutText += "\n" + _("Detected HDD:") + "\n"

        hddlist = harddiskmanager.HDDList()
        hddinfo = ""
        if hddlist:
            formatstring = hddsplit and "%s:%s, %.1f %sB %s" or "%s\n(%s, %.1f %sB %s)"
            for count in range(len(hddlist)):
                if hddinfo:
                    hddinfo += "\n"
                hdd = hddlist[count][1]
                if int(hdd.free()) > 1024:
                    hddinfo += formatstring % (hdd.model(), hdd.capacity(),
                                               hdd.free() / 1024.0, "G",
                                               _("free"))
                else:
                    hddinfo += formatstring % (hdd.model(), hdd.capacity(),
                                               hdd.free(), "M", _("free"))
        else:
            hddinfo = _("none")
        self["hddA"] = StaticText(hddinfo)
        AboutText += hddinfo + "\n\n" + _("Network Info:")
        for x in about.GetIPsFromNetworkInterfaces():
            AboutText += "\n" + x[0] + ": " + x[1]

        self["AboutScrollLabel"] = ScrollLabel(AboutText)
        self["key_green"] = Button(_("Translations"))
        self["key_red"] = Button(_("Latest Commits"))
        self["key_yellow"] = Button(_("Troubleshoot"))
        self["key_blue"] = Button(_("Memory Info"))

        self["actions"] = ActionMap(
            ["ColorActions", "SetupActions", "DirectionActions"], {
                "cancel": self.close,
                "ok": self.close,
                "red": self.showCommits,
                "green": self.showTranslationInfo,
                "blue": self.showMemoryInfo,
                "yellow": self.showTroubleshoot,
                "up": self["AboutScrollLabel"].pageUp,
                "down": self["AboutScrollLabel"].pageDown
            })
Exemple #29
0
	def __init__(self, session):
		Screen.__init__(self, session)
		self.setTitle(_("DVB information"))

		DVBInformationText = _("DVB information") + "\n"

		DVBInformationText += "\n"

		DVBInformationText += _("DVB API: ") + about.getDVBAPI() + "\n"

		if fileExists("/usr/bin/dvb-fe-tool"):
			import time
			try:
				cmd = 'dvb-fe-tool > /tmp/dvbfetool.txt'
				Console().ePopen(cmd)
				cmdv = "dvb-fe-tool | grep -o 'DVB API Version [0-9].[0-9]*' | sed 's|[^0-9]*||' > /tmp/dvbapiversion.txt"
				Console().ePopen(cmdv)
				time.sleep(0.1)
			except:
				pass

		if fileExists("/tmp/dvbapiversion.txt"):
			dvbapiversion = open("/tmp/dvbapiversion.txt", "r").read().strip()
			DVBInformationText += _("DVB API version: ") + dvbapiversion + "\n"

		DVBInformationText += "\n"

		if boxbranding.getHaveTranscoding() == "True":
			DVBInformationText += _("Transcoding: ") + _("Yes") + "\n"
		else:
			DVBInformationText += _("Transcoding: ") + _("No") + "\n"

		if boxbranding.getHaveMultiTranscoding() == "True":
			DVBInformationText += _("MultiTranscoding: ") + _("Yes") + "\n"
		else:
			DVBInformationText += _("MultiTranscoding: ") + _("No") + "\n"

		DVBInformationText += "\n"

		if fileExists("/tmp/dvbfetool.txt"):
			if fileHas("/tmp/dvbfetool.txt","DVBC") or fileHas("/tmp/dvbfetool.txt","DVB-C"):
				DVBInformationText += _("DVB-C: ") + _("Yes") + "\n"
			else:
				DVBInformationText += _("DVB-C: ") + _("No") + "\n"
			if fileHas("/tmp/dvbfetool.txt","DVBS") or fileHas("/tmp/dvbfetool.txt","DVB-S"):
				DVBInformationText += _("DVB-S: ") + _("Yes") + "\n"
			else:
				DVBInformationText += _("DVB-S: ") + _("No") + "\n"
			if fileHas("/tmp/dvbfetool.txt","DVBT") or fileHas("/tmp/dvbfetool.txt","DVB-T"):
				DVBInformationText += _("DVB-T: ") + _("Yes") + "\n"
			else:
				DVBInformationText += _("DVB-T: ") + _("No") + "\n"

			DVBInformationText += "\n"

			if fileHas("/tmp/dvbfetool.txt","MULTISTREAM"):
				DVBInformationText += _("Multistream: ") + _("Yes") + "\n"
			else:
				DVBInformationText += _("Multistream: ") + _("No") + "\n"

			DVBInformationText += "\n"

			if fileHas("/tmp/dvbfetool.txt","ANNEX_A") or fileHas("/tmp/dvbfetool.txt","ANNEX-A"):
				DVBInformationText += _("ANNEX-A: ") + _("Yes") + "\n"
			else:
				DVBInformationText += _("ANNEX-A: ") + _("No") + "\n"
			if fileHas("/tmp/dvbfetool.txt","ANNEX_B") or fileHas("/tmp/dvbfetool.txt","ANNEX-B"):
				DVBInformationText += _("ANNEX-B: ") + _("Yes") + "\n"
			else:
				DVBInformationText += _("ANNEX-B: ") + _("No") + "\n"
			if fileHas("/tmp/dvbfetool.txt","ANNEX_C") or fileHas("/tmp/dvbfetool.txt","ANNEX-C"):
				DVBInformationText += _("ANNEX-C: ") + _("Yes") + "\n"
			else:
				DVBInformationText += _("ANNEX-C: ") + _("No") + "\n"

		self["AboutScrollLabel"] = ScrollLabel(DVBInformationText)
		self["key_red"] = Button(_("Close"))

		self["actions"] = ActionMap(["ColorActions", "SetupActions", "DirectionActions"],
			{
				"cancel": self.close,
				"ok": self.close,
				"up": self["AboutScrollLabel"].pageUp,
				"down": self["AboutScrollLabel"].pageDown
			})
Exemple #30
0
SystemInfo["LcdLiveTV"] = fileCheck("/proc/stb/fb/sd_detach") or fileCheck("/proc/stb/lcd/live_enable")
SystemInfo["LcdLiveTVMode"] = fileCheck("/proc/stb/lcd/mode")
SystemInfo["LcdLiveDecoder"] = fileCheck("/proc/stb/lcd/live_decoder")
SystemInfo["FastChannelChange"] = False
SystemInfo["3DMode"] = fileCheck("/proc/stb/fb/3dmode") or fileCheck("/proc/stb/fb/primary/3d")
SystemInfo["3DZNorm"] = fileCheck("/proc/stb/fb/znorm") or fileCheck("/proc/stb/fb/primary/zoffset")
SystemInfo["Blindscan_t2_available"] = fileCheck("/proc/stb/info/vumodel")
SystemInfo["RcTypeChangable"] = not(getBoxType().startswith("et85") or getBoxType().startswith("et7")) and pathExists("/proc/stb/ir/rc/type")
SystemInfo["HasFullHDSkinSupport"] = getBoxType() not in ("et4x00","et5x00","sh1","hd500c","hd1100","xp1000","lc","k1plus","k1pro","k2pro","k2prov2","k3pro")
SystemInfo["HasBypassEdidChecking"] = fileCheck("/proc/stb/hdmi/bypass_edid_checking")
SystemInfo["HasColorspace"] = fileCheck("/proc/stb/video/hdmi_colorspace")
SystemInfo["HasColorspaceSimple"] = SystemInfo["HasColorspace"] and getBoxType() in ("vusolo4k","vuuno4k","vuuno4kse","vuultimo4k","vuduo4k")
SystemInfo["HasMultichannelPCM"] = fileCheck("/proc/stb/audio/multichannel_pcm")
SystemInfo["HasMMC"] = fileExists("/proc/cmdline") and "root=/dev/mmcblk" in open("/proc/cmdline","r").read()
SystemInfo["HasTranscoding"] = pathExists("/proc/stb/encoder/0") or fileCheck("/dev/bcm_enc0")
SystemInfo["HasH265Encoder"] = fileHas("/proc/stb/encoder/0/vcodec_choices","h265")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = getBoxType() in ("vusolo4k","gbquad4k")
SystemInfo["HasColordepth"] = fileCheck("/proc/stb/video/hdmi_colordepth")
SystemInfo["HasFrontDisplayPicon"] = getBoxType() in ("vusolo4k","et8500")
SystemInfo["Has24hz"] = fileCheck("/proc/stb/video/videomode_24hz")
SystemInfo["Has2160p"] = fileHas("/proc/stb/video/videomode_preferred","2160p50")
SystemInfo["HasHDMIpreemphasis"] = fileCheck("/proc/stb/hdmi/preemphasis")
SystemInfo["HasColorimetry"] = fileCheck("/proc/stb/video/hdmi_colorimetry")
SystemInfo["HasHdrType"] = fileCheck("/proc/stb/video/hdmi_hdrtype")
SystemInfo["HasHDMI-CEC"] = HardwareInfo().has_hdmi() and fileExists("/usr/lib/enigma2/python/Plugins/SystemPlugins/HdmiCEC/plugin.pyo") and (fileExists("/dev/cec0") or fileExists("/dev/hdmi_cec") or fileExists("/dev/misc/hdmi_cec0"))
SystemInfo["HasYPbPr"] = getBoxType() in ("dm8000","et5x00","et6x00","et9x00","et10000","formuler1","mbtwinplus","spycat","vusolo","vuduo","vuduo2","vuultimo")
SystemInfo["HasScart"] = getBoxType() in ("dm8000","et4x00","et6x00","et8000","et9x00","et10000","formuler1","hd1100","hd1200","hd1265","hd2400","vusolo","vusolo2","vuduo","vuduo2","vuultimo","vuuno","xp1000")
SystemInfo["HasSVideo"] = getBoxType() == "dm8000"
SystemInfo["HasComposite"] = getBoxType() not in ("dm900","dm920","dreamone","i55","gbquad4k","gbue4k","hd1500","osnino","osninoplus","purehd","purehdse","revo4k","vusolo4k","vuzero4k")
SystemInfo["HasAutoVolume"] = fileExists("/proc/stb/audio/avl_choices") and fileCheck("/proc/stb/audio/avl")
SystemInfo["HasAutoVolumeLevel"] = fileExists("/proc/stb/audio/autovolumelevel_choices") and fileCheck("/proc/stb/audio/autovolumelevel")
Exemple #31
0
SystemInfo["VFD_initial_scroll_delay"] = model != "et8500" and fileCheck("/proc/stb/lcd/initial_scroll_delay")
SystemInfo["VFD_final_scroll_delay"] = model != "et8500" and fileCheck("/proc/stb/lcd/final_scroll_delay")
SystemInfo["LcdLiveTV"] = fileCheck("/proc/stb/fb/sd_detach") or fileCheck("/proc/stb/lcd/live_enable")
SystemInfo["LcdLiveTVMode"] = fileCheck("/proc/stb/lcd/mode")
SystemInfo["LcdLiveDecoder"] = fileCheck("/proc/stb/lcd/live_decoder")
SystemInfo["3DMode"] = fileCheck("/proc/stb/fb/3dmode") or fileCheck("/proc/stb/fb/primary/3d")
SystemInfo["3DZNorm"] = fileCheck("/proc/stb/fb/znorm") or fileCheck("/proc/stb/fb/primary/zoffset")
SystemInfo["Blindscan_t2_available"] = brand == "vuplus"
SystemInfo["HasFullHDSkinSupport"] = model not in ("et4x00","et5x00","sh1","hd500c","hd1100","xp1000","lc") and brand not in ("minix","hardkernel")
SystemInfo["HasBypassEdidChecking"] = fileCheck("/proc/stb/hdmi/bypass_edid_checking")
SystemInfo["HasColorspace"] = fileCheck("/proc/stb/video/hdmi_colorspace")
SystemInfo["HasColorspaceSimple"] = SystemInfo["HasColorspace"] and model in ("vusolo4k","vuuno4k","vuuno4kse","vuultimo4k","vuduo4k","vuduo4kse")
SystemInfo["HasMultichannelPCM"] = fileCheck("/proc/stb/audio/multichannel_pcm")
SystemInfo["HasMMC"] = "root" in cmdline and cmdline["root"].startswith("/dev/mmcblk")
SystemInfo["HasTranscoding"] = getHaveTranscoding() == "True" or getHaveMultiTranscoding() == "True" or pathExists("/proc/stb/encoder/0") or fileCheck("/dev/bcm_enc0")
SystemInfo["HasH265Encoder"] = fileHas("/proc/stb/encoder/0/vcodec_choices","h265")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = model in ("vusolo4k","gbquad4k")
SystemInfo["HasColordepth"] = fileCheck("/proc/stb/video/hdmi_colordepth")
SystemInfo["HasFrontDisplayPicon"] = model in ("vusolo4k","et8500")
SystemInfo["Has24hz"] = fileCheck("/proc/stb/video/videomode_24hz")
SystemInfo["HasHDMIpreemphasis"] = fileCheck("/proc/stb/hdmi/preemphasis")
SystemInfo["HasColorimetry"] = fileCheck("/proc/stb/video/hdmi_colorimetry")
SystemInfo["HasHdrType"] = fileCheck("/proc/stb/video/hdmi_hdrtype")
SystemInfo["HasHDMI-CEC"] = getHaveHDMI() == "True" and fileExists(resolveFilename(SCOPE_PLUGINS, "SystemPlugins/HdmiCEC/plugin.py")) and (fileExists("/dev/cec0") or fileExists("/dev/hdmi_cec") or fileExists("/dev/misc/hdmi_cec0"))
SystemInfo["HasHDMIHDin"] = getHaveHDMIinHD() == "True"
SystemInfo["HasHDMIFHDin"] = getHaveHDMIinFHD() == "True"
SystemInfo["HDMIin"] = SystemInfo["HasHDMIHDin"] or SystemInfo["HasHDMIFHDin"]
SystemInfo["HasYPbPr"] = getHaveYUV() == "True"
SystemInfo["HasScart"] = getHaveSCART() == "True"
SystemInfo["HasSVideo"] = getHaveSVIDEO() == "True"
SystemInfo["HasComposite"] = getHaveRCA() == "True"
Exemple #32
0
SystemInfo["hasOSDAnimation"] = fileCheck("/proc/stb/fb/animation_mode")
SystemInfo["CIHelper"] = fileExists("/usr/bin/cihelper")
SystemInfo["RcTypeChangable"] = pathExists('/proc/stb/ir/rc/type')
SystemInfo["HasFullHDSkinSupport"] = getBoxType() not in ('gb800solo', 'gb800se', 'gb800ue')
SystemInfo["HasForceLNBOn"] = fileCheck("/proc/stb/frontend/fbc/force_lnbon")
SystemInfo["HasForceToneburst"] = fileCheck("/proc/stb/frontend/fbc/force_toneburst")
SystemInfo["HasBypassEdidChecking"] = fileCheck("/proc/stb/hdmi/bypass_edid_checking")
SystemInfo["HasColorspace"] = fileCheck("/proc/stb/video/hdmi_colorspace")
SystemInfo["HasColorspaceSimple"] = SystemInfo["HasColorspace"] and getBoxType() in ('vusolo4k')
SystemInfo["HasMultichannelPCM"] = fileCheck("/proc/stb/audio/multichannel_pcm")
SystemInfo["HasMMC"] = fileExists("/proc/cmdline") and "root=/dev/mmcblk" in open("/proc/cmdline", "r").read()
SystemInfo["HasSwap"] = pathExists("/dev/mmcblk0p10")
SystemInfo["HasMultiBoot"] = fileCheck("/boot/STARTUP_1") and getMachineBuild() not in ('gb7252')
SystemInfo["HasMultiBootGB"] = SystemInfo["HasSwap"] and fileCheck("/boot/STARTUP_1") and getMachineBuild() in ('gb7252')
SystemInfo["HasTranscoding"] = pathExists("/proc/stb/encoder/0") or fileCheck("/dev/bcm_enc0")
SystemInfo["HasH265Encoder"] = fileHas("/proc/stb/encoder/0/vcodec_choices", "h265")
SystemInfo["CanNotDoSimultaneousTranscodeAndPIP"] = getBoxType() in ('vusolo4k') or getMachineBuild() in ('gb7252')
SystemInfo["HasColordepth"] = fileCheck("/proc/stb/video/hdmi_colordepth")
SystemInfo["HasFrontDisplayPicon"] = getBoxType() in ("vusolo4k", "et8500")
SystemInfo["Has24hz"] = fileCheck("/proc/stb/video/videomode_24hz")
SystemInfo["Has2160p"] = fileHas("/proc/stb/video/videomode_preferred", "2160p50")
SystemInfo["HasHDMIpreemphasis"] = fileCheck("/proc/stb/hdmi/preemphasis")
SystemInfo["HasColorimetry"] = fileCheck("/proc/stb/video/hdmi_colorimetry")
SystemInfo["HasHDMI-CEC"] = HardwareInfo().has_hdmi() and fileExists("/usr/lib/enigma2/python/Plugins/SystemPlugins/HdmiCEC/plugin.pyo") and pathExists("/dev/hdmi_cec") or pathExists("/dev/misc/hdmi_cec0")
SystemInfo["HasHdrType"] = fileCheck("/proc/stb/video/hdmi_hdrtype")
SystemInfo["HasYPbPr"] = getMachineBuild() in ('gb7356', 'gb7325') or getBoxType() in ('gbultraue', 'gbultraueh', 'gb800ueplus', 'gb800seplus')
SystemInfo["HasScart"] = getMachineBuild() in ('gb7325')
SystemInfo["HasSVideo"] = getMachineBuild() in ('dummy')
SystemInfo["HasComposite"] = getMachineBuild() in ('gb7356', 'gb7358', 'gb7325') or getBoxType() in ('gbultraue', 'gbultraueh')
SystemInfo["HasAutoVolume"] = fileExists("/proc/stb/audio/avl_choices") and fileCheck("/proc/stb/audio/avl")
SystemInfo["HasAutoVolumeLevel"] = fileExists("/proc/stb/audio/autovolumelevel_choices") and fileCheck("/proc/stb/audio/autovolumelevel")
Exemple #33
0
def getAllInfo():
    info = {}

    brand = "unknown"
    model = "unknown"
    procmodel = "unknown"
    grabpip = 0
    lcd = 0

    if fileExists("/proc/stb/info/hwmodel"):
        brand = "DAGS"
        f = open("/proc/stb/info/hwmodel", 'r')
        procmodel = f.readline().strip()
        f.close()
        if (procmodel.startswith("optimuss")
                or procmodel.startswith("pingulux")):
            brand = "Edision"
            model = procmodel.replace("optimmuss", "Optimuss ").replace(
                "plus", " Plus").replace(" os", " OS")
        if (procmodel.startswith("tm")):
            brand = "Technomate"
            if procmodel == "tmnanosem2":
                model = procmodel.replace("tmnanosem2", "TM-NANO-SE M2")
        elif (procmodel.startswith("fusion") or procmodel.startswith("purehd")
              or procmodel.startswith("revo4k")
              or procmodel.startswith("galaxy4k")):
            brand = "Xsarius"
            if procmodel == "fusionhd":
                model = procmodel.replace("fusionhd", "Fusion HD")
            elif procmodel == "fusionhdse":
                model = procmodel.replace("fusionhdse", "Fusion HD SE")
            elif procmodel == "purehd":
                model = procmodel.replace("purehd", "Pure HD")
            elif procmodel == "purehdse":
                model = procmodel.replace("purehdse", "Pure HD SE")
            elif procmodel == "revo4k":
                model = procmodel.replace("revo4k", "Revo4K")
            elif procmodel == "galaxy4k":
                model = procmodel.replace("galaxy4k", "Galaxy4K")
        elif (procmodel.startswith("lunix")):
            brand = "Qviart"
            if procmodel == "lunix3-4k":
                model = procmodel.replace("lunix3-4k", "Lunix3-4K")
            elif procmodel == "lunix":
                model = procmodel.replace("lunix", "Lunix")
    elif fileExists("/proc/stb/info/azmodel"):
        brand = "AZBox"
        f = open("/proc/stb/info/model",
                 'r')  # To-Do: Check if "model" is really correct ...
        procmodel = f.readline().strip()
        f.close()
        model = procmodel.lower()
    elif fileExists("/proc/stb/info/gbmodel"):
        brand = "GigaBlue"
        procmodel = getBoxType()
        if procmodel == "GBQUAD PLUS":
            model = procmodel.replace("GBQUAD",
                                      "Quad").replace("PLUS", " Plus")
        elif procmodel == "gbquad4k":
            model = procmodel.replace("gbquad4k", "UHD Quad 4k")
        elif procmodel == "gbue4k":
            model = procmodel.replace("gbue4k", "UHD UE 4k")
        elif procmodel == "gbtrio4k":
            model = "UHD TRIO 4K"
            grabpip = 1
        elif procmodel == "gbip4k":
            model = "UHD IP 4K"
            grabpip = 1
    elif fileExists("/proc/stb/info/vumodel"
                    ) and not fileExists("/proc/stb/info/boxtype"):
        brand = "Vu+"
        f = open("/proc/stb/info/vumodel", 'r')
        procmodel = f.readline().strip()
        f.close()
        model = procmodel.title().replace("olose", "olo SE").replace(
            "olo2se", "olo2 SE").replace("2", "²")
    elif fileExists("/proc/boxtype"):
        f = open("/proc/boxtype", 'r')
        procmodel = f.readline().strip().lower()
        f.close()
        if procmodel in ("adb2850", "adb2849", "bska", "bsla", "bxzb", "bzzb"):
            brand = "Advanced Digital Broadcast"
            if procmodel in ("bska", "bxzb"):
                model = "ADB 5800S"
            elif procmodel in ("bsla", "bzzb"):
                model = "ADB 5800SX"
            elif procmodel == "adb2849":
                model = "ADB 2849ST"
            else:
                model = "ADB 2850ST"
        elif procmodel in ("esi88", "uhd88"):
            brand = "Sagemcom"
            if procmodel == "uhd88":
                model = "UHD 88"
            else:
                model = "ESI 88"
    elif fileExists("/proc/stb/info/boxtype"):
        f = open("/proc/stb/info/boxtype", 'r')
        procmodel = f.readline().strip().lower()
        f.close()
        if procmodel.startswith("et"):
            if procmodel == "et7000mini":
                brand = "Galaxy Innovations"
                model = "ET-7000 Mini"
            elif procmodel == "et11000":
                brand = "Galaxy Innovations"
                model = "ET-11000"
            else:
                brand = "Xtrend"
                model = procmodel.upper()
        elif procmodel.startswith("xpeed"):
            brand = "Golden Interstar"
            model = procmodel
        elif procmodel.startswith("xp"):
            brand = "MaxDigital"
            model = procmodel.upper()
        elif procmodel.startswith("ixuss"):
            brand = "Medialink"
            model = procmodel.replace(" ", "")
        elif procmodel == "formuler4turbo":
            brand = "Formuler"
            model = "4 Turbo"
        elif procmodel.startswith("formuler"):
            brand = "Formuler"
            model = procmodel.replace("formuler", "")
        elif procmodel.startswith("mbtwinplus"):
            brand = "Miraclebox"
            model = "Premium Twin+"
        elif procmodel.startswith("alphatriplehd"):
            brand = "SAB"
            model = "Alpha Triple HD"
        elif procmodel in ("7000s", "mbmicro"):
            procmodel = "mbmicro"
            brand = "Miraclebox"
            model = "Premium Micro"
        elif procmodel in ("7005s", "mbmicrov2"):
            procmodel = "mbmicrov2"
            brand = "Miraclebox"
            model = "Premium Micro v2"
        elif procmodel.startswith("ini"):
            if procmodel.endswith("9000ru"):
                brand = "Sezam"
                model = "Marvel"
            elif procmodel.endswith("5000ru"):
                brand = "Sezam"
                model = "hdx"
            elif procmodel.endswith("1000ru"):
                brand = "Sezam"
                model = "hde"
            elif procmodel.endswith("5000sv"):
                brand = "Miraclebox"
                model = "mbtwin"
            elif procmodel.endswith("1000sv"):
                brand = "Miraclebox"
                model = "Premium Mini"
            elif procmodel.endswith("1000de"):
                brand = "Golden Interstar"
                model = "Xpeed LX"
            elif procmodel.endswith("9000de"):
                brand = "Golden Interstar"
                model = "Xpeed LX3"
            elif procmodel.endswith("1000lx"):
                brand = "Golden Interstar"
                model = "Xpeed LX"
            elif procmodel.endswith("de"):
                brand = "Golden Interstar"
            elif procmodel.endswith("1000am"):
                brand = "Atemio"
                model = "5x00"
            elif procmodel.endswith("8000am"):
                brand = "Atemio"
                model = "Nemesis"
            elif procmodel.endswith("8000am"):
                brand = "Miraclebox"
                model = "Premium Ultra"
            elif procmodel.endswith("3000"):
                brand = "Venton Unibox"
                model = "HD1"
            else:
                brand = "Venton"
                model = "HDx"
        elif procmodel.startswith("unibox-"):
            brand = "Venton"
            model = "HDe"
        elif procmodel.startswith("u5pvr"):
            brand = "Dinobot"
            model = "Dinobot4kSE|Ferguson4k"
        elif procmodel == "hd1100":
            brand = "Mut@nt"
            model = "HD1100"
        elif procmodel == "hd1200":
            brand = "Mut@nt"
            model = "HD1200"
        elif procmodel == "hd1265":
            brand = "Mut@nt"
            model = "HD1265"
        elif procmodel == "hd2400":
            brand = "Mut@nt"
            model = "HD2400"
        elif procmodel == "hd51":
            brand = "Mut@nt"
            model = "HD51"
            grabpip = 1
        elif procmodel == "hd11":
            brand = "Mut@nt"
            model = "HD11"
        elif procmodel == "hd500c":
            brand = "Mut@nt"
            model = "HD500c"
        elif procmodel == "hd530c":
            brand = "Mut@nt"
            model = "HD530c"
        elif procmodel == "hd60":
            brand = "Mut@nt"
            model = "HD60"
        elif procmodel == "arivalink200":
            brand = "Ferguson"
            model = "Ariva @Link 200"
        elif procmodel.startswith("spark"):
            brand = "Fulan"
            if procmodel == "spark7162":
                model = "Spark 7162"
            else:
                model = "Spark"
        elif procmodel == "spycat":
            brand = "Spycat"
            model = "Spycat"
        elif procmodel == "spycatmini":
            brand = "Spycat"
            model = "Spycat Mini"
        elif procmodel == "spycatminiplus":
            brand = "Spycat"
            model = "Spycat Mini+"
        elif procmodel == "spycat4kmini":
            brand = "Spycat"
            model = "spycat 4K Mini"
        elif procmodel == "vipercombo":
            brand = "Amiko"
            model = "ViperCombo"
        elif procmodel == "vipert2c":
            brand = "Amiko"
            model = "ViperT2C"
        elif procmodel == "vipercombohdd":
            brand = "Amiko"
            model = "ViperComboHDD"
        elif procmodel.startswith("wetek"):
            brand = "WeTeK"
            model = procmodel
        elif procmodel.endswith("008"):
            brand = "OCTAGON"
            if procmodel == "sf8008":
                model = "SF8008 4k UHD TWIN"
                grabpip = 1
        elif procmodel.endswith("08m"):
            brand = "OCTAGON"
            if procmodel == "sf8008m":
                model = "SF8008 MINI 4k UHD"
        elif procmodel.startswith("os"):
            brand = "Edision"
            if procmodel == "osmini":
                model = "OS Mini"
            elif procmodel == "osminiplus":
                model = "OS Mini+"
            elif procmodel == "osmega":
                model = "OS Mega"
            elif procmodel == "osnino":
                model = "OS Nino"
            elif procmodel == "osninoplus":
                model = "OS Nino+"
            elif procmodel == "osninopro":
                model = "OS Nino Pro"
            elif procmodel == "osmio4k":
                model = "OS Mio 4K"
                grabpip = 1
            elif procmodel == "osmio4kplus":
                model = "OS mio+ 4K"
                grabpip = 1
            else:
                model = procmodel
        elif procmodel == "h3":
            brand = "Zgemma"
            model = "H3 series"
        elif procmodel == "h4":
            brand = "Zgemma"
            model = "H4 series"
        elif procmodel == "h5":
            brand = "Zgemma"
            model = "H5 series"
        elif procmodel == "h6":
            brand = "Zgemma"
            model = "H6 series"
        elif procmodel == "h7":
            brand = "Zgemma"
            model = "H7 series"
            grabpip = 1
        elif procmodel == "h9":
            brand = "Zgemma"
            model = "H9 series"
        elif procmodel == "lc":
            brand = "Zgemma"
            model = "LC"
        elif procmodel == "sh1":
            brand = "Zgemma"
            model = "Star series"
        elif procmodel == "i55":
            brand = "Zgemma"
            model = "i55"
        elif procmodel == "vs1500":
            brand = "Vimastec"
            model = "vs1500"
            grabpip = 1
        elif procmodel == "e4hd":
            brand = "Axas"
            model = "E4HD"
            lcd = 1
            grabpip = 1
    elif fileExists("/proc/stb/info/model"):
        f = open("/proc/stb/info/model", 'r')
        procmodel = f.readline().strip().lower()
        f.close()
        if procmodel == "tf7700hdpvr":
            brand = "Topfield"
            model = "TF7700 HDPVR"
        elif procmodel == "dsi87":
            brand = "Sagemcom"
            model = "DSI 87"
        elif procmodel.startswith("spark"):
            brand = "Fulan"
            if procmodel == "spark7162":
                model = "Spark 7162"
            else:
                model = "Spark"
        elif (procmodel.startswith("dm") and not procmodel == "dm8000"):
            brand = "Dream Multimedia"
            if procmodel == "dm800":
                model = "DM800 HD PVR"
            elif procmodel == "dm800se":
                model = "DM800 HD se"
            elif procmodel == "dm500hd":
                model = "DM500 HD"
            elif procmodel == "dm7020hd":
                model = "DM7020 HD"
            elif procmodel == "dm820":
                model = "DM820 HD"
            elif procmodel == "dm7080":
                model = "DM7080 HD"
            elif procmodel == "dm520":
                model = "DM520 HD"
            elif procmodel == "dm525":
                model = "DM525 HD"
            elif procmodel == "dm900":
                model = "DM900 HD"
                grabpip = 1
            elif procmodel == "dm920":
                model = "DM920 HD"
                grabpip = 1
            else:
                model = procmodel.replace("dm", "DM", 1)
        elif procmodel == "dm8000":
            brand = "Dream Multimedia"
            model = "DM8000"
        else:
            model = procmodel

    if fileExists("/etc/.box"):
        distro = "HDMU"
        f = open("/etc/.box", 'r')
        tempmodel = f.readline().strip().lower()
        if tempmodel.startswith("ufs") or model.startswith("ufc"):
            brand = "Kathrein"
            model = tempmodel.upcase()
            procmodel = tempmodel
        elif tempmodel.startswith("spark"):
            brand = "Fulan"
            model = tempmodel.title()
            procmodel = tempmodel
        elif tempmodel.startswith("xcombo"):
            brand = "EVO"
            model = "enfinityX combo plus"
            procmodel = "vg2000"

    type = procmodel
    if type in ("et9x00", "et9000", "et9100", "et9200", "et9500"):
        type = "et9x00"
    elif type in ("et6x00", "et6000"):
        type = "et6x00"
    elif type in ("et5x00", "et5000"):
        type = "et5x00"
    elif type in ("et4x00", "et4000"):
        type = "et4x00"
    elif type == "xp1000":
        type = "xp1000"
    elif type in ("bska", "bxzb"):
        type = "nbox_white"
    elif type in ("bsla", "bzzb"):
        type = "nbox"
    elif type == "sagemcom88":
        type = "esi88"
    elif type in ("tf7700hdpvr", "topf"):
        type = "topf"
    elif type in ("ini-9000de"):
        type = "xpeedlx3"
    elif type in ("ini-8000am"):
        type = "atemionemesis"
    elif type in ("ini-8000am"):
        type = "mbultra"
    elif type in ("ini-9000ru"):
        type = "sezammarvel"
    elif type in ("ini-3000"):
        type = "ventonhdx"
    elif type in ("ini-1000sv"):
        type = "mbmini"
    elif type in ("u5pvr"):
        type = "u5pvr"

    info['brand'] = brand
    info['model'] = model
    info['procmodel'] = procmodel
    info['type'] = type

    remote = "dmm1"
    if procmodel in ("solo", "duo", "uno", "solo2", "solose", "zero", "solo4k",
                     "uno4k", "ultimo4k"):
        remote = "vu_normal"
    elif procmodel == "duo2":
        remote = "vu_duo2"
    elif procmodel == "ultimo":
        remote = "vu_ultimo"
    elif procmodel in ("uno4kse", "zero4k"):
        remote = "vu_normal_02"
    elif procmodel == "e3hd":
        remote = "e3hd"
    elif procmodel in ("et9x00", "et9000", "et9100", "et9200", "et9500"):
        remote = "et9x00"
    elif procmodel in ("et5x00", "et5000", "et6x00", "et6000"):
        remote = "et5x00"
    elif procmodel in ("et4x00", "et4000"):
        remote = "et4x00"
    elif procmodel == "et6500":
        remote = "et6500"
    elif procmodel in ("et8x00", "et8000", "et8500", "et8500s", "et10000"):
        remote = "et8000"
    elif procmodel in ("et7x00", "et7000", "et7500"):
        remote = "et7x00"
    elif procmodel in ("et7000mini", "et11000"):
        remote = "et7000mini"
    elif procmodel == "gbquad":
        remote = "gigablue"
    elif procmodel == "gbquadplus":
        remote = "gbquadplus"
    elif procmodel in ("gbquad4k", "gbue4k"):
        remote = "gb7252"
    elif procmodel in ("gbtrio4k", "gbip4k"):
        remote = "gb4"
    elif procmodel in ("formuler1", "formuler3", "formuler4",
                       "formuler4turbo"):
        remote = "formuler1"
    elif procmodel in ("azboxme", "azboxminime", "me", "minime"):
        remote = "me"
    elif procmodel in ("optimussos1", "optimussos1plus", "optimussos2",
                       "optimussos2plus"):
        remote = "optimuss"
    elif procmodel in ("premium", "premium+"):
        remote = "premium"
    elif procmodel in ("elite", "ultra"):
        remote = "elite"
    elif procmodel in ("ini-1000", "ini-1000ru"):
        remote = "ini-1000"
    elif procmodel == "ini-1000sv":
        remote = "mbmini"
    elif procmodel in ("ini-5000sv", "ini-9000de"):
        remote = "xpeedlx3"
    elif procmodel == "ini-9000ru":
        remote = "sezammarvel"
    elif procmodel == "ini-8000am":
        remote = "atemionemesis"
    elif procmodel == "ini-8000am":
        remote = "mbultra"
    elif procmodel == "ini-3000":
        remote = "ventonhdx"
    elif procmodel in ("mbtwinplus", "mbmicro", "mbmicrov2"):
        remote = "miraclebox2"
    elif procmodel == "alphatriplehd":
        remote = "alphatriplehd"
    elif procmodel == "ini-3000":
        remote = "ini-3000"
    elif procmodel in ("ini-7012", "ini-7000", "ini-5000", "ini-5000ru"):
        remote = "ini-7000"
    elif procmodel.startswith("spark"):
        remote = "spark"
    elif procmodel == "xp1000":
        remote = "xp1000"
    elif procmodel.startswith("xpeedlx"):
        remote = "xpeedlx"
    elif procmodel in ("adb2850", "adb2849", "bska", "bsla", "bxzb", "bzzb",
                       "esi88", "uhd88", "dsi87", "arivalink200"):
        remote = "nbox"
    elif procmodel in ("hd1100", "hd1200", "hd1265", "hd1400", "hd51", "hd11",
                       "hd500c", "hd530c"):
        remote = "hd1x00"
    elif procmodel == "hd2400":
        remote = "hd2400"
    elif procmodel == "hd60":
        remote = "hd60"
    elif procmodel in ("spycat", "spycatmini", "spycatminiplus",
                       "spycat4kmini"):
        remote = "spycat"
    elif procmodel.startswith("ixuss"):
        remote = procmodel.replace(" ", "")
    elif procmodel == "vg2000":
        remote = "xcombo"
    elif procmodel == "dm8000":
        remote = "dmm1"
    elif procmodel in ("dm7080", "dm7020hd", "dm7020hdv2", "dm800sev2",
                       "dm500hdv2", "dm520", "dm820", "dm900"):
        remote = "dmm2"
    elif procmodel == "wetekhub":
        remote = procmodel
    elif procmodel == "wetekplay2":
        remote = procmodel
    elif procmodel == "wetekplay":
        remote = procmodel
    elif procmodel.endswith("smini"):
        remote = "osmini"
    elif procmodel.startswith("osmio4k"):
        remote = "edision3"
    elif procmodel.startswith("osninopl"):
        remote = "edision2"
    elif procmodel.startswith("osn"):
        remote = "edision1"
    elif procmodel in ("fusionhd"):
        remote = procmodel
    elif procmodel in ("fusionhdse"):
        remote = procmodel
    elif procmodel in ("purehd", "purehdse"):
        remote = "purehd"
    elif procmodel in ("revo4k"):
        remote = procmodel
    elif procmodel in ("galaxy4k"):
        remote = procmodel
    elif procmodel in ("lunix3-4k", "lunix"):
        remote = "qviart"
    elif procmodel in ("sh1", "lc"):
        remote = "sh1"
    elif procmodel in ("h3", "h4", "h5", "h6", "h7"):
        remote = "h3"
    elif procmodel == "h9":
        remote = "h9"
    elif procmodel == "i55":
        remote = "i55"
    elif procmodel in ("vipercombo", "vipert2c"):
        remote = "amiko"
    elif procmodel in ("vipercombohdd"):
        remote = "amiko1"
    elif procmodel == "alien5":
        remote = "alien5"
    elif procmodel in ("k1pro", "k2pro", "k2prov2", "k1plus"):
        remote = "k1pro"
    elif procmodel == "k3pro":
        remote = "k3pro"
    elif procmodel.startswith("sf8008"):
        remote = "octagon1"
    elif procmodel in ("vs1100", "vs1500"):
        remote = "vs1x00"
    elif procmodel in ("e4hd"):
        remote = "e4hd"
    elif procmodel in ("tmnanosem2", "tmnanosem2plus"):
        remote = "tmnanosem2"
    elif procmodel in ("u5pvr"):
        remote = "u5pvr"

    info['remote'] = remote

    kernel = about.getKernelVersionString()[0]

    distro = "openpli"
    imagever = "unknown"
    imagebuild = ""
    driverdate = "unknown"

    # Assume OE 1.6
    oever = "OE 1.6"
    if fileHas("/etc/issue", "zeus"):
        oever = "OE Zeus 3.0"

    if fileExists("/etc/.box"):
        distro = "HDMU"
        oever = "private"
    elif fileExists("/etc/bhversion"):
        distro = "Black Hole"
        f = open("/etc/bhversion", 'r')
        imagever = f.readline().strip()
        f.close()
        if kernel > 2:
            oever = "OpenVuplus 2.1"
    elif fileExists("/etc/vtiversion.info"):
        distro = "VTi-Team Image"
        f = open("/etc/vtiversion.info", 'r')
        imagever = f.readline().strip().replace("VTi-Team Image ", "").replace(
            "Release ", "").replace("v.", "")
        f.close()
        oever = "OE 1.6"
        imagelist = imagever.split('.')
        imagebuild = imagelist.pop()
        imagever = ".".join(imagelist)
        if kernel > 2:
            oever = "OpenVuplus 2.1"
        if ((imagever == "5.1") or (imagever[0] > 5)):
            oever = "OpenVuplus 2.1"
    elif fileExists("/var/grun/grcstype"):
        distro = "Graterlia OS"
        try:
            imagever = about.getImageVersionString()
        except:  # nosec  # noqa: E722
            pass
    # ToDo: If your distro gets detected as OpenPLi, feel free to add a detection for your distro here ...
    else:
        # OE 2.2 uses apt, not opkg
        if not fileExists("/etc/opkg/all-feed.conf"):
            oever = "OE 2.2"
        else:
            try:
                f = open("/etc/opkg/all-feed.conf", 'r')
                oeline = f.readline().strip().lower()
                f.close()
                distro = oeline.split()[1].replace("-all", "")
            except:  # nosec  # noqa: E722
                pass

        if distro == "openpli":
            oever = "PLi-OE"
            try:
                imagelist = open(
                    "/etc/issue").readlines()[-2].split()[1].split('.')
                imagever = imagelist.pop(0)
            except:  # nosec  # noqa: E722
                # just in case
                pass
        elif distro == "openrsi":
            oever = "PLi-OE"
        else:
            try:
                imagever = "" + getE2Rev().split("+")[1]
            except:  # nosec  # noqa: E722
                pass

        if (distro == "unknown" and brand == "Vu+"
                and fileExists("/etc/version")):
            # Since OE-A uses boxbranding and bh or vti can be detected, there isn't much else left for Vu+ boxes
            distro = "Vu+ original"
            f = open("/etc/version", 'r')
            imagever = f.readline().strip()
            f.close()
            if kernel > 2:
                oever = "OpenVuplus 2.1"

    # reporting the installed dvb-module version is as close as we get without too much hassle
    driverdate = 'unknown'
    try:
        driverdate = os.popen('/usr/bin/opkg -V0 list_installed *dvb-modules*'
                              ).readline().split()[2]  # nosec
    except:  # noqa: E722
        try:
            driverdate = os.popen(
                '/usr/bin/opkg -V0 list_installed *dvb-proxy*').readline(
                ).split()[2]  # nosec
        except:  # noqa: E722
            try:
                driverdate = os.popen(
                    '/usr/bin/opkg -V0 list_installed *kernel-core-default-gos*'
                ).readline().split()[2]  # nosec
            except:  # nosec # noqa: E722
                pass

    info['oever'] = oever
    info['distro'] = distro
    info['imagever'] = imagever
    info['imagebuild'] = imagebuild
    info['driverdate'] = driverdate
    info['lcd'] = distro in ("openpli", ) and lcd or 0
    info['grabpip'] = distro in ("openpli", ) and grabpip or 0
    return info