Jump to content


Photo

Multistream tuner conflicts


  • Please log in to reply
80 replies to this topic

Re: Multistream tuner conflicts #61 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 24 August 2017 - 09:46

I think that fake recording means "simulate" so in the eDVBFrontend::openFrontend the fe_info never initialized properly.


Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: Multistream tuner conflicts #62 Dimitrij

  • PLi® Core member
  • 10,328 posts

+350
Excellent

Posted 24 August 2017 - 09:56

I think this is it.


GigaBlue UHD Quad 4K /Lunix3-4K/Duo 4K


Re: Multistream tuner conflicts #63 Huevos

  • PLi® Contributor
  • 4,663 posts

+163
Excellent

Posted 24 August 2017 - 10:41

So how do we fix that?

Re: Multistream tuner conflicts #64 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 24 August 2017 - 10:53

For test try instead of if(!simulate) if(True) in order always to initialize fe_info and post new results.


Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: Multistream tuner conflicts #65 Huevos

  • PLi® Contributor
  • 4,663 posts

+163
Excellent

Posted 24 August 2017 - 11:34

For test try instead of if(!simulate) if(True) in order always to initialize fe_info and post new results.

 https://github.com/O...ontend.cpp#L568

 

There?



Re: Multistream tuner conflicts #66 Huevos

  • PLi® Contributor
  • 4,663 posts

+163
Excellent

Posted 24 August 2017 - 18:59

I've tried Athoik's suggestion.

https://github.com/H...a50152791971211

 

Starting instant recording on 5W multistream service...

<   137.898> [eDVBFrontend][isCompatibleWith] m_slotid: 0
<   137.898> [eDVBFrontend][isCompatibleWith] preferred: false
<   137.898> [eDVBFrontend][isCompatibleWith] service is multistream: true
<   137.898> [eDVBFrontend][is_multistream] DVB_API_VERSION 5, DVB_API_VERSION_MINOR 10, fe_info.caps 1409288191, fe_info.name Si21662, FE_CAN_MULTISTREAM 67108864
<   137.898> [eDVBFrontend][isCompatibleWith] system 1 is_id 1 pls_code 8 pls_mode 0 tuner is_multistream 1
<   137.898> [eDVBFrontend][is_multistream] DVB_API_VERSION 5, DVB_API_VERSION_MINOR 10, fe_info.caps 1409288191, fe_info.name Si21662, FE_CAN_MULTISTREAM 67108864
<   137.898> [eDVBFrontend][isCompatibleWith] m_slotid: 1
<   137.898> [eDVBFrontend][isCompatibleWith] preferred: false
<   137.898> [eDVBFrontend][isCompatibleWith] service is multistream: true
<   137.898> [eDVBFrontend][is_multistream] DVB_API_VERSION 5, DVB_API_VERSION_MINOR 10, fe_info.caps 1409288191, fe_info.name Si21662, FE_CAN_MULTISTREAM 67108864
<   137.898> [eDVBFrontend][isCompatibleWith] system 1 is_id 1 pls_code 8 pls_mode 0 tuner is_multistream 1
<   137.898> [eDVBFrontend][is_multistream] DVB_API_VERSION 5, DVB_API_VERSION_MINOR 10, fe_info.caps 1409288191, fe_info.name Si21662, FE_CAN_MULTISTREAM 67108864
<   137.898> [eDVBFrontend][is_multistream] DVB_API_VERSION 5, DVB_API_VERSION_MINOR 10, fe_info.caps 1409288191, fe_info.name Si21662, FE_CAN_MULTISTREAM 67108864
<   137.898> [eDVBResourceManager] allocateFrontend, score=9983
<   137.898> [eDVBFrontend][isCompatibleWith] m_slotid: 2
<   137.898> [eDVBFrontend][isCompatibleWith] preferred: false
<   137.898> [eDVBFrontend][isCompatibleWith] parm.system 1, eDVBFrontendParametersSatellite::System_DVB_S2 1, can_handle_dvbs2 false, m_multitype 0
<   137.898> [eDVBFrontend][isCompatibleWith] (parm.system == eDVBFrontendParametersSatellite::System_DVB_S2 && !can_handle_dvbs2) return 0
<   137.898> [eDVBFrontend] opening frontend 1
<   137.898> [eDVBFrontend] opening /dev/dvb/adapter0/frontend1 failed: Device or resource busy
<   137.898> [eDVBSatelliteEquipmentControl] set rotor timeout to 360 seconds
e00000(DiSEqC reset)
e00003(DiSEqC peripherial power on)
e01038f1(?)
e03160(?)
e03160(?)
e0316ed050(?)
<   137.899> [TimerSanityCheck] conflict not found!
<   137.899> [Timer] Record RecordTimerEntry(name=Josephine, Ange Gardien, begin=Thu Aug 24 19:43:21 2017, serviceref=1:0:1:2C7:107:217C:DDE0000:0:0:0:, justplay=False, isAutoTimer=False)
<   137.899> [RecordTimer] activating state 1
<   137.900> [RecordTimer] Found enough free space to record
<   137.903> [RecordTimer] Filename calculated as: '/media/hdd/movie/20170824 1943 - LA7 - Josephine, Ange Gardien'
<   137.903> [Navigation] recording service: 1:0:1:2C7:107:217C:DDE0000:0:0:0:
<   137.903> [eDVBResourceManager] use cached_channel
<   137.903> [eDVBServicePMTHandler] allocate Channel: res 0
<   137.903> [eDVBCIInterfaces] addPMTHandler 1:0:1:2C7:107:217C:DDE0000:0:0:0:
<   137.903> [eDVBChannel] getDemux cap=01
<   137.903> [eDVBServicePMTHandler] ok ... now we start!!
<   137.903> [eDVBServiceRecord] RECORD service event 5
<   137.903> [eDVBCAService] add demux 0 to slot 1 service 1:0:1:2C7:107:217C:DDE0000:0:0:0:

Start instant recording on non-multistream service on 28E...

<   381.211> [eDVBFrontend][isCompatibleWith] preferred: false
<   381.211> [eDVBFrontend][isCompatibleWith] service is multistream: true
<   381.211> [eDVBFrontend][is_multistream] DVB_API_VERSION 5, DVB_API_VERSION_MINOR 10, fe_info.caps 1409288191, fe_info.name Si21662, FE_CAN_MULTISTREAM 67108864
<   381.211> [eDVBFrontend][isCompatibleWith] system 1 is_id 1 pls_code 8 pls_mode 0 tuner is_multistream 1
<   381.211> [eDVBFrontend][is_multistream] DVB_API_VERSION 5, DVB_API_VERSION_MINOR 10, fe_info.caps 1409288191, fe_info.name Si21662, FE_CAN_MULTISTREAM 67108864
<   381.211> [eDVBFrontend][isCompatibleWith] m_slotid: 1
<   381.211> [eDVBFrontend][isCompatibleWith] preferred: false
<   381.211> [eDVBFrontend][isCompatibleWith] service is multistream: true
<   381.211> [eDVBFrontend][is_multistream] DVB_API_VERSION 5, DVB_API_VERSION_MINOR 10, fe_info.caps 1409288191, fe_info.name Si21662, FE_CAN_MULTISTREAM 67108864
<   381.211> [eDVBFrontend][isCompatibleWith] system 1 is_id 1 pls_code 8 pls_mode 0 tuner is_multistream 1
<   381.211> [eDVBFrontend][is_multistream] DVB_API_VERSION 5, DVB_API_VERSION_MINOR 10, fe_info.caps 1409288191, fe_info.name Si21662, FE_CAN_MULTISTREAM 67108864
<   381.211> [eDVBFrontend][is_multistream] DVB_API_VERSION 5, DVB_API_VERSION_MINOR 10, fe_info.caps 1409288191, fe_info.name Si21662, FE_CAN_MULTISTREAM 67108864
<   381.211> [eDVBResourceManager] allocateFrontend, score=9983
<   381.211> [eDVBFrontend][isCompatibleWith] m_slotid: 2
<   381.211> [eDVBFrontend][isCompatibleWith] preferred: false
<   381.211> [eDVBFrontend][isCompatibleWith] parm.system 1, eDVBFrontendParametersSatellite::System_DVB_S2 1, can_handle_dvbs2 false, m_multitype 0
<   381.211> [eDVBFrontend][isCompatibleWith] (parm.system == eDVBFrontendParametersSatellite::System_DVB_S2 && !can_handle_dvbs2) return 0
<   381.211> [eDVBFrontend] opening frontend 1
<   381.211> [eDVBFrontend] opening /dev/dvb/adapter0/frontend1 failed: Device or resource busy
e00000(DiSEqC reset)
e00003(DiSEqC peripherial power on)
e01038f1(?)
<   381.212> [eDVBFrontend][isCompatibleWith] m_slotid: 0
<   381.212> [eDVBFrontend][isCompatibleWith] preferred: false
<   381.212> [eDVBFrontend][isCompatibleWith] service is multistream: false
<   381.212> [eDVBFrontend][is_multistream] DVB_API_VERSION 5, DVB_API_VERSION_MINOR 10, fe_info.caps 1409288191, fe_info.name Si21662, FE_CAN_MULTISTREAM 67108864
<   381.212> [eDVBFrontend][isCompatibleWith] system 1 is_id -1 pls_code 1 pls_mode 0 tuner is_multistream 1
<   381.212> [eDVBFrontend][is_multistream] DVB_API_VERSION 5, DVB_API_VERSION_MINOR 10, fe_info.caps 1409288191, fe_info.name Si21662, FE_CAN_MULTISTREAM 67108864
<   381.212> [eDVBFrontend][isCompatibleWith] NON MULTISTREAM CHANNEL!!!!
<   381.212> [eDVBResourceManager] allocateFrontend, score=15004
<   381.212> [eDVBFrontend][isCompatibleWith] m_slotid: 1
<   381.212> [eDVBFrontend][isCompatibleWith] preferred: false
<   381.212> [eDVBFrontend][isCompatibleWith] service is multistream: false
<   381.212> [eDVBFrontend][is_multistream] DVB_API_VERSION 5, DVB_API_VERSION_MINOR 10, fe_info.caps 1409288191, fe_info.name Si21662, FE_CAN_MULTISTREAM 67108864
<   381.212> [eDVBFrontend][isCompatibleWith] system 1 is_id -1 pls_code 1 pls_mode 0 tuner is_multistream 1
<   381.212> [eDVBFrontend][is_multistream] DVB_API_VERSION 5, DVB_API_VERSION_MINOR 10, fe_info.caps 1409288191, fe_info.name Si21662, FE_CAN_MULTISTREAM 67108864
<   381.212> [eDVBFrontend][isCompatibleWith] NON MULTISTREAM CHANNEL!!!!
<   381.212> [eDVBResourceManager] allocateFrontend, score=9982
<   381.212> [eDVBFrontend][isCompatibleWith] m_slotid: 2
<   381.212> [eDVBFrontend][isCompatibleWith] preferred: false
<   381.212> [eDVBFrontend][isCompatibleWith] parm.system 1, eDVBFrontendParametersSatellite::System_DVB_S2 1, can_handle_dvbs2 false, m_multitype 0
<   381.212> [eDVBFrontend][isCompatibleWith] (parm.system == eDVBFrontendParametersSatellite::System_DVB_S2 && !can_handle_dvbs2) return 0
<   381.212> [eDVBFrontend] opening frontend 0
<   381.212> [eDVBFrontend] opening /dev/dvb/adapter0/frontend0 failed: Device or resource busy
<   381.212> [eDVBSatelliteEquipmentControl] [prepare] UnicableTuningWord 0x3e1cd, guard_offset 0
<   381.212> **** Tuning JESS
<   381.212> **** frequency_mhz: 10847
<   381.212> **** lo_mhz: 9750
<   381.212> **** T: 997
<   381.213> **** position: 0
<   381.213> **** ub: 31
<   381.213> **** mode: 0
<   381.213> **** JESS: 70 fb e5 00
70fbe500(?)
<   381.213> [TimerSanityCheck] conflict not found!
<   381.213> [Timer] Record RecordTimerEntry(name=This Is BBC One HD, begin=Thu Aug 24 19:47:24 2017, serviceref=1:0:19:1B1D:802:2:11A0000:0:0:0:, justplay=False, isAutoTimer=False)
<   381.213> [RecordTimer] activating state 1
<   381.214> [RecordTimer] Found enough free space to record
<   381.215> [RecordTimer] Filename calculated as: '/media/hdd/movie/20170824 1947 - BBC One HD - This Is BBC One HD'
<   381.215> [Navigation] recording service: 1:0:19:1B1D:802:2:11A0000:0:0:0:
<   381.215> [eDVBResourceManager] use cached_channel
<   381.215> [eDVBServicePMTHandler] allocate Channel: res 0
<   381.215> [eDVBCIInterfaces] addPMTHandler 1:0:19:1B1D:802:2:11A0000:0:0:0:
<   381.215> [eDVBChannel] getDemux cap=01
<   381.215> [eDVBServicePMTHandler] ok ... now we start!!
<   381.215> [eDVBServiceRecord] RECORD service event 5
<   381.215> [eDVBCAService] add demux 1 to slot 1 service 1:0:19:1B1D:802:2:11A0000:0:0:0:
<   381.216> [eDVBDemux] open demux /dev/dvb/adapter0/demux1
<   381.216> [eDVBSectionReader] DMX_SET_FILTER pid=0
<   381.216> [eDVBServiceRecord] RECORD service event 6
<   381.216> [eDVBServiceRecord] tuned..
<   381.216> [eDVBDemux] open demux /dev/dvb/adapter0/demux1
<   381.216> [eDVBSectionReader] DMX_SET_FILTER pid=18
<   381.217> [eDVBChannel] getDemux cap=00
<   381.217> [eEPGCache] saveEventToFile epg event id c1cd
<   381.290> [RecordTimer] prepare ok, waiting for begin
<   381.290> [Trashcan] Recording(s) in progress: 1
<   381.291> [RecordTimer] activating state 2
<   381.291> [RecordTimer] start recording
<   381.292> [Notifications] AddPopup, id = None
<   381.295> [Skin] processing screen MessageBoxSimple:
<   381.303> [Skin] processing screen MessageBoxSimple_summary:
<   381.305> [eDVBServiceRecord] Recording to /media/hdd/movie/20170824 1947 - BBC One HD - This Is BBC One HD.ts...
<   381.305> [eDVBServiceRecord] start recording...
<   381.305> [eDVBServiceRecord] RECORD: have 1 video stream(s) (1518), and 1 audio stream(s) (1519), and the pcr pid is 1518, and the text pid is 151b
<   381.306> [eDVBServiceRecord] ADD PID: 0000
<   381.306> [eDVBServiceRecord] ADD PID: 1518
<   381.306> [eDVBServiceRecord] ADD PID: 1519
<   381.306> [eDVBServiceRecord] ADD PID: 151b
<   381.306> [setIoPrio] realtime level 7 ok
<   381.306> [eFilePushThreadRecorder] THREAD START
<   381.406> [eDVBServicePMTHandler] PATready
<   381.406> [eDVBServicePMTHandler] use pmtpid 0104 for service_id 1b1d
<   381.406> [eDVBDemux] open demux /dev/dvb/adapter0/demux1
<   381.406> [eDVBSectionReader] DMX_SET_FILTER pid=260
<   381.407> [eDVBDemux] open demux /dev/dvb/adapter0/demux1
<   381.407> [eDVBSectionReader] DMX_SET_FILTER pid=0
<   381.477> [eInputDeviceInit] 0 160 1
<   381.477> [InfoBarGenerics] KEY: 352 OK
<   381.696> [eDVBServiceRecord] RECORD service event 5
<   381.696> [eDVBServiceRecord] start recording...
<   381.697> [eDVBServiceRecord] RECORD: have 1 video stream(s) (1518), and 2 audio stream(s) (151a, 1519) (151c, 151b), and the pcr pid is 1518, and the text pid is 151b
<   381.697> [eDVBServiceRecord] ADD PID: 0104
<   381.697> [eDVBServiceRecord] ADD PID: 151a
<   381.698> [eDVBServiceRecord] ADD PID: 151c
<   381.698> [eDVBCIInterfaces] gotPMT
<   381.698> [eDVBCAService] don't build/send the same CA PMT twice
<   381.698> [eDVBDemux] open demux /dev/dvb/adapter0/demux1
<   381.698> [eDVBSectionReader] DMX_SET_FILTER pid=260
<   382.449> [eDVBServiceRecord] pcr of eit change for event 49613: cbbbd82
<   382.449> [eDVBServiceRecord] now running: This Is BBC One HD (1800 seconds)

So in this quick test it works.



Re: Multistream tuner conflicts #67 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 24 August 2017 - 19:08

Nice ;)


Can you try this one?

https://github.com/a...2740f04bcb05f03

The idea is to display default values when driver returns "no multistream" value (-1) instead of those currently displayed now (255,3,262143).
Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: Multistream tuner conflicts #68 Huevos

  • PLi® Contributor
  • 4,663 posts

+163
Excellent

Posted 24 August 2017 - 19:24

It is already in my git from when you suggested it further up the thread.

https://github.com/H...4406b08a298b698

 

So debug above included this code.


Edited by Huevos, 24 August 2017 - 19:24.


Re: Multistream tuner conflicts #69 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 24 August 2017 - 19:26

It's not ok! All return wrongly is_id!
Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: Multistream tuner conflicts #70 Huevos

  • PLi® Contributor
  • 4,663 posts

+163
Excellent

Posted 24 August 2017 - 19:40

Is that value coming from the tuner?



Re: Multistream tuner conflicts #71 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 24 August 2017 - 19:50

Yes, on about info when you press tuner values you get -1 (NO_STREAM_ID_FILTER) and we display it as 255,3,262143.
Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: Multistream tuner conflicts #72 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 24 August 2017 - 21:04

I made all my changes available here: https://github.com/O...gma2/pull/1082/
Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: Multistream tuner conflicts #73 Huevos

  • PLi® Contributor
  • 4,663 posts

+163
Excellent

Posted 25 August 2017 - 09:33

Why not just get rid of that "if" condition if it no longer serves a purpose?

https://github.com/H...5bc31f8e982eff5



Re: Multistream tuner conflicts #74 WanWizard

  • PLi® Core member
  • 70,537 posts

+1,812
Excellent

Posted 25 August 2017 - 10:41

I made all my changes available here: https://github.com/O...gma2/pull/1082/

 

Merged.


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)

Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.

Many answers to your question can be found in our new and improved wiki.


Re: Multistream tuner conflicts #75 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 25 August 2017 - 11:02

Why not just get rid of that "if" condition if it no longer serves a purpose?
https://github.com/H...5bc31f8e982eff5


It will be done in few days, when patch proved as the real solution.

Removing the if and reidenting the code totally rewrites function in git diff.

Kepping if (for a while) make diff really small and easy to understand.
Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: Multistream tuner conflicts #76 Erik Slagter

  • PLi® Core member
  • 46,969 posts

+542
Excellent

Posted 25 August 2017 - 11:36

Yes, agree.

* Wavefrontier T90 with 28E/23E/19E/13E via SCR switches 2 x 2 x 6 user bands
I don't read PM -> if you have something to ask or to report, do it in the forum so others can benefit. I don't take freelance jobs.
Ik lees geen PM -> als je iets te vragen of te melden hebt, doe het op het forum, zodat anderen er ook wat aan hebben.


Re: Multistream tuner conflicts #77 Huevos

  • PLi® Contributor
  • 4,663 posts

+163
Excellent

Posted 27 August 2017 - 05:00

What does the new commit do differently?



Re: Multistream tuner conflicts #78 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 27 August 2017 - 07:17

It doesnt involve the delsys system call neither initializes the m_fd variable. Also it opens the frontend in read only mode.

So, if frontend was open already in rw mode previous code would fail. Not sure if that was causing problem.

Initializing the m_fd, when m_simulate, it uses different code path. Maybe that was causing problem, don't know.

Regarding delsys, we need it for multitype tuners, the one available in osmini+,osmega. Not sure if multitype check is used when simulating. If so, we can init delsys as well.


My first commit was reverted because it was causing problems to vuultimo 4k, i never got debug logs, neither discussed what was wrong.

Once it was reverted, i provide this second version, that simply initializes the fe_info, that doesnt cause problems.

Even if the new code fails, there are some default values for min/max, the ones pieterg initialy added to bypass problem for conflicting timers, several years ago.

Please let us know if new version works fine for multistream timers, didnt get any feedback.
Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: Multistream tuner conflicts #79 Huevos

  • PLi® Contributor
  • 4,663 posts

+163
Excellent

Posted 28 August 2017 - 00:16

On Solo 4K with the old commit, after a reboot, there was an error message, "Service Unavailable! Check tuner configuration". With the new commit that doesn't happen.

 

No timer conflicts found on Octagon SF4008 with the new code.



Re: Multistream tuner conflicts #80 littlesat

  • PLi® Core member
  • 57,177 posts

+698
Excellent

Posted 28 August 2017 - 07:02

Sounds promissing :) Thanks for all the help and teamwork...

Edited by littlesat, 28 August 2017 - 07:03.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W



7 user(s) are reading this topic

0 members, 7 guests, 0 anonymous users