+diff --git a/lib/python/Plugins/SystemPlugins/Blindscan/plugin.py b/lib/python/Plugins/SystemPlugins/Blindscan/plugin.py
+index aa80aa2a..d12a67e6 100755
+--- a/lib/python/Plugins/SystemPlugins/Blindscan/plugin.py
++++ b/lib/python/Plugins/SystemPlugins/Blindscan/plugin.py
+@@ -19,7 +19,7 @@ from Tools.Directories import resolveFilename, SCOPE_DEFAULTPARTITIONMOUNTDIR, S
+ from enigma import eTimer, eDVBFrontendParametersSatellite, eComponentScan, eDVBSatelliteEquipmentControl, eDVBFrontendParametersTerrestrial, eDVBFrontendParametersCable, eConsoleAppContainer, eDVBResourceManager, getDesktop
+
+ _modelName = file('/proc/stb/info/vumodel').read().strip()
+-_supportNimType = { 'AVL1208':'', 'AVL6222':'6222_', 'AVL6211':'6211_', 'BCM7356':'bcm7346_'}
++_supportNimType = { 'AVL1208':'', 'AVL6222':'6222_', 'AVL6211':'6211_', 'BCM7356':'bcm7346_', 'SI2166':'si2166_'}
+
+ class Blindscan(ConfigListScreen, Screen):
+ skin = """
+@@ -502,57 +502,68 @@ class Blindscan(ConfigListScreen, Screen):
+ for line in lines:
+ data = line.split()
+ print "cnt :", len(data), ", data :", data
+- if len(data) >= 10:
+- if data[0] == 'OK':
+- parm = eDVBFrontendParametersSatellite()
+- sys = { "DVB-S" : eDVBFrontendParametersSatellite.System_DVB_S,
+- "DVB-S2" : eDVBFrontendParametersSatellite.System_DVB_S2,
+- "DVB-S2X" : eDVBFrontendParametersSatellite.System_DVB_S2X}
+- qam = { "QPSK" : parm.Modulation_QPSK,
+- "8PSK" : parm.Modulation_8PSK}
+- inv = { "INVERSION_OFF" : parm.Inversion_Off,
+- "INVERSION_ON" : parm.Inversion_On,
+- "INVERSION_AUTO" : parm.Inversion_Unknown}
+- fec = { "FEC_AUTO" : parm.FEC_Auto,
+- "FEC_1_2" : parm.FEC_1_2,
+- "FEC_2_3" : parm.FEC_2_3,
+- "FEC_3_4" : parm.FEC_3_4,
+- "FEC_5_6": parm.FEC_5_6,
+- "FEC_7_8" : parm.FEC_7_8,
+- "FEC_8_9" : parm.FEC_8_9,
+- "FEC_3_5" : parm.FEC_3_5,
+- "FEC_9_10" : parm.FEC_9_10,
+- "FEC_NONE" : parm.FEC_None,
+- "FEC_13_45" : parm.FEC_13_45, "FEC_9_20" : parm.FEC_9_20, "FEC_11_20" : parm.FEC_11_20, "FEC_23_36" : parm.FEC_23_36, "FEC_25_36" : parm.FEC_25_36,
+- "FEC_13_18" : parm.FEC_13_18, "FEC_26_45" : parm.FEC_26_45, "FEC_28_45" : parm.FEC_28_45, "FEC_7_9" : parm.FEC_7_9, "FEC_77_90" : parm.FEC_77_90,
+- "FEC_32_45" : parm.FEC_32_45, "FEC_11_15" : parm.FEC_11_15, "FEC_1_2_L" : parm.FEC_1_2_L, "FEC_8_15_L" : parm.FEC_8_15_L, "FEC_3_5_L" : parm.FEC_3_5_L,
+- "FEC_2_3_L" : parm.FEC_2_3_L, "FEC_5_9_L" : parm.FEC_5_9_L, "FEC_26_45_L" : parm.FEC_26_45_L}
+- roll ={ "ROLLOFF_20" : parm.RollOff_alpha_0_20,
+- "ROLLOFF_25" : parm.RollOff_alpha_0_25,
+- "ROLLOFF_35" : parm.RollOff_alpha_0_35}
+- pilot={ "PILOT_ON" : parm.Pilot_On,
+- "PILOT_OFF" : parm.Pilot_Off,
+- "PILOT_AUTO" : parm.Pilot_Unknown}
+- pol = { "HORIZONTAL" : parm.Polarisation_Horizontal,
+- "VERTICAL" : parm.Polarisation_Vertical}
+- try :
+- parm.orbital_position = self.orb_position
+- parm.polarisation = pol[data[1]]
+- parm.frequency = int(data[2])
+- parm.symbol_rate = int(data[3])
+- parm.system = sys[data[4]]
+- parm.inversion = inv[data[5]]
+- parm.pilot = pilot[data[6]]
+- parm.fec = fec[data[7]]
+- parm.modulation = qam[data[8]]
+- parm.rolloff = roll[data[9]]
+- parm.is_id = -1
+- parm.pls_mode = eDVBFrontendParametersSatellite.PLS_Unknown
+- parm.pls_code = 0
+- self.tmp_tplist.append(parm)
+- except: pass
++ if len(data) >= 12: # multi stream channel
++ is_id_list = data[11:]
++ for is_id in is_id_list:
++ self.appendFrontendParams(data[:10] + [is_id])
++ elif len(data) >= 10:
++ self.appendFrontendParams(data + ["-1"])
++
+ self.blindscan_session.close(True)
+
++ def appendFrontendParams(self, data):
++ if data[0] == 'OK':
++ parm = eDVBFrontendParametersSatellite()
++ sys = { "DVB-S" : eDVBFrontendParametersSatellite.System_DVB_S,
++ "DVB-S2" : eDVBFrontendParametersSatellite.System_DVB_S2,
++ "DVB-S2X" : eDVBFrontendParametersSatellite.System_DVB_S2X}
++ qam = { "QPSK" : parm.Modulation_QPSK,
++ "8PSK" : parm.Modulation_8PSK,
++ "16APSK" : parm.Modulation_16APSK,
++ "32APSK" : parm.Modulation_32APSK,
++ "8APSK" : parm.Modulation_8APSK}
++ inv = { "INVERSION_OFF" : parm.Inversion_Off,
++ "INVERSION_ON" : parm.Inversion_On,
++ "INVERSION_AUTO" : parm.Inversion_Unknown}
++ fec = { "FEC_AUTO" : parm.FEC_Auto,
++ "FEC_1_2" : parm.FEC_1_2,
++ "FEC_2_3" : parm.FEC_2_3,
++ "FEC_3_4" : parm.FEC_3_4,
++ "FEC_5_6": parm.FEC_5_6,
++ "FEC_7_8" : parm.FEC_7_8,
++ "FEC_8_9" : parm.FEC_8_9,
++ "FEC_3_5" : parm.FEC_3_5,
++ "FEC_9_10" : parm.FEC_9_10,
++ "FEC_NONE" : parm.FEC_None,
++ "FEC_13_45" : parm.FEC_13_45, "FEC_9_20" : parm.FEC_9_20, "FEC_11_20" : parm.FEC_11_20, "FEC_23_36" : parm.FEC_23_36, "FEC_25_36" : parm.FEC_25_36,
++ "FEC_13_18" : parm.FEC_13_18, "FEC_26_45" : parm.FEC_26_45, "FEC_28_45" : parm.FEC_28_45, "FEC_7_9" : parm.FEC_7_9, "FEC_77_90" : parm.FEC_77_90,
++ "FEC_32_45" : parm.FEC_32_45, "FEC_11_15" : parm.FEC_11_15, "FEC_1_2_L" : parm.FEC_1_2_L, "FEC_8_15_L" : parm.FEC_8_15_L, "FEC_3_5_L" : parm.FEC_3_5_L,
++ "FEC_2_3_L" : parm.FEC_2_3_L, "FEC_5_9_L" : parm.FEC_5_9_L, "FEC_26_45_L" : parm.FEC_26_45_L}
++ roll ={ "ROLLOFF_20" : parm.RollOff_alpha_0_20,
++ "ROLLOFF_25" : parm.RollOff_alpha_0_25,
++ "ROLLOFF_35" : parm.RollOff_alpha_0_35}
++ pilot={ "PILOT_ON" : parm.Pilot_On,
++ "PILOT_OFF" : parm.Pilot_Off,
++ "PILOT_AUTO" : parm.Pilot_Unknown}
++ pol = { "HORIZONTAL" : parm.Polarisation_Horizontal,
++ "VERTICAL" : parm.Polarisation_Vertical}
++ try :
++ parm.orbital_position = self.orb_position
++ parm.polarisation = pol[data[1]]
++ parm.frequency = int(data[2])
++ parm.symbol_rate = int(data[3])
++ parm.system = sys[data[4]]
++ parm.inversion = inv[data[5]]
++ parm.pilot = pilot[data[6]]
++ parm.fec = fec[data[7]]
++ parm.modulation = qam[data[8]]
++ parm.rolloff = roll[data[9]]
++ parm.is_id = int(data[10])
++ parm.pls_mode = eDVBFrontendParametersSatellite.PLS_Unknown
++ parm.pls_code = 0
++ self.tmp_tplist.append(parm)
++ except: pass
++
+ def blindscanContainerAvail(self, str):
+ print str
+ #if str.startswith("OK"):
+@@ -579,7 +590,7 @@ class Blindscan(ConfigListScreen, Screen):
+
+ if self.tmp_tplist != None and self.tmp_tplist != []:
+ for p in self.tmp_tplist:
+- print "data : [%d][%d][%d][%d][%d][%d][%d][%d][%d][%d]" % (p.orbital_position, p.polarisation, p.frequency, p.symbol_rate, p.system, p.inversion, p.pilot, p.fec, p.modulation, p.modulation)
++ print "data : [%d][%d][%d][%d][%d][%d][%d][%d][%d][%d][%d]" % (p.orbital_position, p.polarisation, p.frequency, p.symbol_rate, p.system, p.inversion, p.pilot, p.fec, p.modulation, p.modulation, p.is_id)
+
+ self.startScan(self.tmp_tplist, self.feid)
+ else: