[Pending] Support for CI with KNC BDA DVBS2 Tuner (1 Viewer)

Fragone

Portal Pro
August 3, 2006
56
0
124
In GlobeTV (the Software delivered by KNCOne), the CAM ist detected and works. In Mediaportal, it doesn't. I searched the source code and found a possible fix for that.

My TVService.log:
Code:
...
[2014-06-20 13:40:20,753] [Log  ] [TVService] [INFO ] - Detected new digital BDA tuner device 7160 KNC BDA DVBS2 Tuner @device:pnp:\\?\pci#ven_1131&dev_7160&subsys_02101894&rev_02#4&391a8fc1&0&00e0#{71985f48-1ca1-11d3-9cc8-00c04f7971e0}\{9bb4f27f-515c-43ca-8e7d-f07c00080000}
[2014-06-20 13:40:20,753] [Log  ] [TVService] [DEBUG] -  check type with MS NP
[2014-06-20 13:40:20,773] [Log  ] [TVService] [DEBUG] -  network type count = 1
[2014-06-20 13:40:20,773] [Log  ] [TVService] [DEBUG] -  network type 0 = fa4b375a-45b4-4d45-8440-263957b11623
[2014-06-20 13:40:20,773] [Log  ] [TVService] [INFO ] -  tuner type = DvbS
[2014-06-20 13:40:20,773] [Log  ] [TVService] [INFO ] - Controller: add device 7160 KNC BDA DVBS2 Tuner @device:pnp:\\?\pci#ven_1131&dev_7160&subsys_02101894&rev_02#4&391a8fc1&0&00e0#{71985f48-1ca1-11d3-9cc8-00c04f7971e0}\{9bb4f27f-515c-43ca-8e7d-f07c00080000}
[2014-06-20 13:40:20,778] [Log  ] [TVService] [INFO ] - Controller: preloading device
[2014-06-20 13:40:20,778] [Log  ] [TVService] [INFO ] - dvbs:BuildGraph
[2014-06-20 13:40:20,778] [Log  ] [TVService] [INFO ] - dvb:AddNetworkProviderFilter
[2014-06-20 13:40:20,783] [Log  ] [TVService] [INFO ] - dvb:AddNetworkProviderFilter
[2014-06-20 13:40:20,783] [Log  ] [TVService] [INFO ] - dvb:Add DVBS Network Provider
[2014-06-20 13:40:20,788] [Log  ] [TVService] [INFO ] - dvb:  Add Mediaportal TsWriter filter
[2014-06-20 13:40:20,793] [Log  ] [TVService] [INFO ] - dvbs:CreateTuningSpace()
[2014-06-20 13:40:20,803] [Log  ] [TVService] [INFO ] - dvbs:found correct tuningspace MediaPortal DVBS TuningSpace
[2014-06-20 13:40:20,803] [Log  ] [TVService] [INFO ] - dvb:Add MPEG2 Demultiplexer filter
[2014-06-20 13:40:20,808] [Log  ] [TVService] [INFO ] - dvb:AddAndConnectBDABoardFilters
[2014-06-20 13:40:20,808] [Log  ] [TVService] [INFO ] - dvb: find bda tuner
[2014-06-20 13:40:20,818] [Log  ] [TVService] [INFO ] - dvb:  using [Tuner]: 7160 KNC BDA DVBS2 Tuner
[2014-06-20 13:40:20,818] [Log  ] [TVService] [INFO ] - dvb:  Render [Network provider]->[Tuner] OK
[2014-06-20 13:40:20,818] [Log  ] [TVService] [INFO ] - dvb:  Setting lastFilter to Tuner filter
[2014-06-20 13:40:20,823] [Log  ] [TVService] [INFO ] - dvb:  Find BDA receiver
[2014-06-20 13:40:20,823] [Log  ] [TVService] [INFO ] - dvb:  match Capture by Tuner device path
[2014-06-20 13:40:20,828] [Log  ] [TVService] [INFO ] - dvb:  -7160 KNC BDA Digital Capture DVBS2
[2014-06-20 13:40:20,833] [Log  ] [TVService] [INFO ] - dvb:  Render [Tuner]->[Capture] AOK
[2014-06-20 13:40:20,833] [Log  ] [TVService] [INFO ] - dvb:  Setting lastFilter to Capture device
[2014-06-20 13:40:20,838] [Log  ] [TVService] [INFO ] - dvb:  WinTv CI module not detected.
[2014-06-20 13:40:20,843] [Log  ] [TVService] [INFO ] - dvb:add Inf Tee filter
[2014-06-20 13:40:20,843] [Log  ] [TVService] [INFO ] - dvb:  Render ...->[inftee]
[2014-06-20 13:40:20,848] [Log  ] [TVService] [INFO ] - dvb:  Setting lastFilter to Inf Tee
[2014-06-20 13:40:20,848] [Log  ] [TVService] [INFO ] - dvb:  Render [inftee]->[demux]
[2014-06-20 13:40:20,848] [Log  ] [TVService] [INFO ] - dvb:  AddTransportStreamFiltersToGraph
[2014-06-20 13:40:20,853] [Log  ] [TVService] [INFO ] -  add BDA MPEG2 Transport Information Filter filter
[2014-06-20 13:40:20,853] [Log  ] [TVService] [INFO ] -  pinTif:name:IB Input [3/0] Direction:Input Connected:False
[2014-06-20 13:40:20,853] [Log  ] [TVService] [INFO ] -  Connect tif and mpeg2 sections and tables
[2014-06-20 13:40:20,853] [Log  ] [TVService] [INFO ] - dvb:try tif:name:001 [4/0] Direction:Output Connected:False
[2014-06-20 13:40:20,858] [Log  ] [TVService] [INFO ] -  tif connected
[2014-06-20 13:40:20,858] [Log  ] [TVService] [INFO ] - dvb:  Render ..->[TsWriter]
[2014-06-20 13:40:20,858] [Log  ] [TVService] [INFO ] - dvb: Checking for hardware specific extensions
[2014-06-20 13:40:20,858] [Log  ] [TVService] [INFO ] - CAM is Default model
[2014-06-20 13:40:20,858] [Log  ] [TVService] [INFO ] - Check for KNC
[2014-06-20 13:40:20,863] [Log  ] [TVService] [INFO ] - KNC: IsKNC False
[2014-06-20 13:40:20,863] [Log  ] [TVService] [DEBUG] - KNC: Disable CI
[2014-06-20 13:40:20,868] [Log  ] [TVService] [DEBUG] - KNC: Disposing CI handler
[2014-06-20 13:40:20,868] [Log  ] [TVService] [INFO ] - Check for Digital Everywhere
...

As far as i could find out, the problem is here:

ConditionalAccess.cs from line 136 (calls KNCAPI)
Code:
 Log.Log.WriteFile("Check for KNC");
 // Lookup device index of current card. only counting KNC cards by device path
 int DeviceIndex = KNCDeviceLookup.GetDeviceIndex(card);
 _knc = new KNCAPI(tunerFilter, (uint)DeviceIndex);
 if (_knc.IsKNC)
 {
 //if (_knc.IsCamReady())
 _ciMenu = _knc; // Register KNC CI Menu capabilities when CAM detected and ready
 Log.Log.WriteFile("KNC card detected");    //// <-- never reached
 return;
 }
 Release.DisposeToNull(ref _knc);


KNCAPI.cs from line 347 (Checks device desc against array ValidTuners)
Code:
public KNCAPI(IBaseFilter tunerFilter, uint DeviceIndex)
 {
 ptrPmt = Marshal.AllocCoTaskMem(1024);
 ptrCallback = Marshal.AllocCoTaskMem(7 * 4); // 7*Int32
 _ptrDataInstance = Marshal.AllocCoTaskMem(1024);

 m_tunerFilter = tunerFilter;

 FilterInfo info;
 tunerFilter.QueryFilterInfo(out info);
 foreach (String validTuner in ValidTuners)
 {
 if (info.achName == validTuner)
 {
 m_bIsKNC = true;  //// <-- never reached
 break;
 }
 }
 if (!m_bIsKNC)
 {
 return;
 }

 // iDeviceIndex passed by TvLibrary ! Enumerated by DevicePath
 m_iDeviceIndex = DeviceIndex;
 Log.Log.Debug("KNC: card {0} detected: {1}", m_iDeviceIndex, info.achName);

 OpenCI();
 }



KNCAPI.cs from line 209:
Code:
 #region constants

 private string[] ValidTuners = new string[]
 {
 "KNC BDA DVB-S",
 "KNC BDA DVB-S2",
 "KNC BDA DVB-C",
 "KNC BDA DVB-T",
 "Mystique SaTiX DVB-S",
 "Mystique SaTiX DVB-S2",
 "Mystique CaBiX DVB-C2",
 "Mystique TeRiX DVB-T2",
 "Mystique SaTiX-S",
 "Mystique SaTiX-S2",
 "Mystique CaBiX-C2",
 "Mystique TeRiX-T2"
 };

 #endregion

As you can see above, the card identifies itself as "KNC BDA DVBS2" without hyphen. Maybe this could be the problem that the acces to the CAM menu doesn't work - at least i suppose that from the code (I'm not a .NET coder, but other languages).

I would be glad if the ValidTuners array could be enlarged by the "KNC BDA DVBS2" without hyphen.

Thank you!
Thomas Candrian
 

Fragone

Portal Pro
August 3, 2006
56
0
124

Attachments

  • KNCBDACTRL.7z
    16.4 KB
  • VistaW7.7z
    638.7 KB

mm1352000

Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,577
    8,224
    Home Country
    New Zealand New Zealand
    Hello

    Support for the Twin CI slots requires much more than just the name change. The Twin is supported in TVE 3.5 already...

    mm
     

    Users who are viewing this thread

    Top Bottom