X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/89cd5ceb75dd5b59ff58a549402541a983d42ccd..6f3208500f3b07aaa3733b0b47f2e7a00426ed3e:/lib/python/Tools/HardwareInfo.py diff --git a/lib/python/Tools/HardwareInfo.py b/lib/python/Tools/HardwareInfo.py index 38cccb57..612a565f 100644 --- a/lib/python/Tools/HardwareInfo.py +++ b/lib/python/Tools/HardwareInfo.py @@ -1,10 +1,34 @@ class HardwareInfo: + device_name = None + def __init__(self): - self.device = "unknown" - file = open("/proc/stb/info/model", "r") - self.device = file.readline().strip() - + if HardwareInfo.device_name is not None: + print "using cached result" + return + + HardwareInfo.device_name = "unknown" + try: + file = open("/proc/stb/info/model", "r") + HardwareInfo.device_name = file.readline().strip() + file.close() + except: + print "----------------" + print "you should upgrade to new drivers for the hardware detection to work properly" + print "----------------" + print "fallback to detect hardware via /proc/cpuinfo!!" + try: + rd = open("/proc/cpuinfo", "r").read() + if rd.find("Brcm4380 V4.2") != -1: + HardwareInfo.device_name = "dm8000" + print "dm8000 detected!" + elif rd.find("Brcm7401 V0.0") != -1: + HardwareInfo.device_name = "dm800" + print "dm800 detected!" + elif rd.find("MIPS 4KEc V4.8") != -1: + HardwareInfo.device_name = "dm7025" + print "dm7025 detected!" + except: + pass + def get_device_name(self): - return self.device - - device_name = property(get_device_name) \ No newline at end of file + return HardwareInfo.device_name