home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
MediaPortal 1
Support
Watch / Listen Media
Television (MyTV frontend and TV-Server)
Fail to correctly record 2 channels on same tuner
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="mm1352000" data-source="post: 697905" data-attributes="member: 82144"><p>Hi again</p><p></p><p>Thank you for that post Melstig. It helped me to understand things a lot better <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite1" alt=":)" title="Smile :)" loading="lazy" data-shortname=":)" /></p><p></p><p></p><p>Good spotting <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite1" alt=":)" title="Smile :)" loading="lazy" data-shortname=":)" /></p><p>Yes, it could well be the problem.</p><p></p><p>What you're seeing could be caused by what they call a "race condition". You have three critical things that have to load after resume:</p><p>1. Network driver</p><p>2. TV Server</p><p>3. Tuner drivers</p><p></p><p>The network driver must load before TV Server so that the static IP address is ready for TV Server to connect to again. If TV Server doesn't wait long enough for the network driver to load then the network driver may not have applied the static IP address yet.</p><p>The tuner drivers must also load before TV Server so that TV Server can detect and use the tuners again. If TV Server doesn't wait long enough then the tuners may not be detected, or they may appear as "unknown".</p><p>There is no guarantee of the order in which these processes will load or how long they will take. I don't think 2 seconds is long enough though. On a fast computer, I'd guess that 15 seconds would be a minimum. Anything below that and you may find that sometimes it works and sometimes it doesn't, depending on the order in which the OS chooses to do things (which is why it is called a "race" condition).</p><p></p><p>I'm pretty sure that delaying the startup of TV Server should fix this, however you should also be aware that some tuner drivers don't handle going into resume or hibernate well. Tuners with problems often "disappear" (ie. they're not in device manager) or don't function properly after hibernate/sleep. The only solution for that is to restart. If the H7 is one of those tuners then there is nothing we can do except disable sleep and hibernate, however I don't think it is the problem here. We'll see what happens...</p><p></p><p></p><p>Please do. Like you say, once you find something that works then we can focus on the things that I can help with <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite2" alt=";)" title="Wink ;)" loading="lazy" data-shortname=";)" /></p><p></p><p></p><p>Interesting. It is good to know that the issue probably wasn't caused by what I've been doing, but we certainly want to solve this if possible. It *appears* like it is not a TV Server issue so I will ask some other team members for their opinions...</p><p></p><p></p><p>Your logs from your last post show what I was looking for 3 times <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite7" alt=":p" title="Stick Out Tongue :p" loading="lazy" data-shortname=":p" /></p><p></p><p>[CODE]</p><p>2010-12-31 08:59:40.197063 [(14)]: debug: get device info ps is *not* null</p><p>2010-12-31 08:59:40.197063 [(14)]: debug: name = Ä</p><p>2010-12-31 08:59:40.198063 [(14)]: debug: type = -1</p><p>2010-12-31 08:59:40.198063 [(14)]: debug: speed = -1</p><p>2010-12-31 08:59:40.199063 [(14)]: debug: MAC address = ÿÿÿÿÿ</p><p>2010-12-31 08:59:40.199063 [(14)]: debug: CI support = -1</p><p>2010-12-31 08:59:40.200063 [(14)]: debug: TS packet length = -1</p><p>2010-12-31 08:59:40.200063 [(14)]: debug: PID filter present = 255</p><p>2010-12-31 08:59:40.201063 [(14)]: debug: PID filter bypass supported = 255</p><p>2010-12-31 08:59:40.201063 [(14)]: debug: get driver info ps is *not* null</p><p>2010-12-31 08:59:40.202063 [(14)]: debug: driver major version = C4</p><p>2010-12-31 08:59:40.202063 [(14)]: debug: driver minor version = 0</p><p>2010-12-31 08:59:40.203063 [(14)]: debug: firmware major version = 49</p><p>2010-12-31 08:59:40.203063 [(14)]: debug: firmware minor version = 0</p><p>2010-12-31 08:59:40.204063 [(14)]: debug: date = `–ºÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ</p><p>2010-12-31 08:59:40.204063 [(14)]: debug: company = ÿÿÿÿÿÿÿ</p><p>2010-12-31 08:59:40.204063 [(14)]: debug: hardware info = ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ</p><p>2010-12-31 08:59:40.205063 [(14)]: debug: CI flags = FF</p><p></p><p>2010-12-31 09:31:32.001878 [(24)]: debug: get device info ps is *not* null</p><p>2010-12-31 09:31:32.001878 [(24)]: debug: name = p¼H</p><p>2010-12-31 09:31:32.002879 [(24)]: debug: type = -1</p><p>2010-12-31 09:31:32.002879 [(24)]: debug: speed = -1</p><p>2010-12-31 09:31:32.003879 [(24)]: debug: MAC address = ÿÿÿÿÿ</p><p>2010-12-31 09:31:32.003879 [(24)]: debug: CI support = -1</p><p>2010-12-31 09:31:32.004879 [(24)]: debug: TS packet length = -1</p><p>2010-12-31 09:31:32.004879 [(24)]: debug: PID filter present = 255</p><p>2010-12-31 09:31:32.005879 [(24)]: debug: PID filter bypass supported = 255</p><p>2010-12-31 09:31:32.005879 [(24)]: debug: get driver info ps is *not* null</p><p>2010-12-31 09:31:32.006879 [(24)]: debug: driver major version = 70</p><p>2010-12-31 09:31:32.006879 [(24)]: debug: driver minor version = 6</p><p>2010-12-31 09:31:32.007879 [(24)]: debug: firmware major version = BC</p><p>2010-12-31 09:31:32.007879 [(24)]: debug: firmware minor version = 8</p><p>2010-12-31 09:31:32.008879 [(24)]: debug: date = H</p><p>2010-12-31 09:31:32.008879 [(24)]: debug: company = ÿÿÿÿÿÿÿ</p><p>2010-12-31 09:31:32.009879 [(24)]: debug: hardware info = ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ</p><p>2010-12-31 09:31:32.009879 [(24)]: debug: CI flags = FF</p><p></p><p>2010-12-31 10:44:01.608563 [(31)]: debug: get device info ps is *not* null</p><p>2010-12-31 10:44:01.609564 [(31)]: debug: name = x¾à«¼ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ</p><p>2010-12-31 10:44:01.609564 [(31)]: debug: type = -1</p><p>2010-12-31 10:44:01.610564 [(31)]: debug: speed = -1</p><p>2010-12-31 10:44:01.611564 [(31)]: debug: MAC address = ÿÿÿÿÿ</p><p>2010-12-31 10:44:01.611564 [(31)]: debug: CI support = -1</p><p>2010-12-31 10:44:01.612564 [(31)]: debug: TS packet length = -1</p><p>2010-12-31 10:44:01.613564 [(31)]: debug: PID filter present = 255</p><p>2010-12-31 10:44:01.613564 [(31)]: debug: PID filter bypass supported = 255</p><p>2010-12-31 10:44:01.614564 [(31)]: debug: get driver info ps is *not* null</p><p>2010-12-31 10:44:01.614564 [(31)]: debug: driver major version = 78</p><p>2010-12-31 10:44:01.615564 [(31)]: debug: driver minor version = 17</p><p>2010-12-31 10:44:01.616564 [(31)]: debug: firmware major version = BE</p><p>2010-12-31 10:44:01.616564 [(31)]: debug: firmware minor version = 8</p><p>2010-12-31 10:44:01.617564 [(31)]: debug: date = ૼÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ</p><p>2010-12-31 10:44:01.618564 [(31)]: debug: company = ÿÿÿÿÿÿÿ</p><p>2010-12-31 10:44:01.618564 [(31)]: debug: hardware info = ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ</p><p>2010-12-31 10:44:01.619564 [(31)]: debug: CI flags = FF</p><p>[/CODE]</p><p></p><p>The tuner information is still rubbish as you can see. I'm going to look at the code again tomorrow and see if I've made some mistakes. It is important for you to know what to do since we're going to have to do this again several times...</p><p></p><p>Firstly, the information only shows when the H7 is loaded. The process is:</p><p></p><p>1. TV Server starts and initialises.</p><p>2. Your H5s are preloaded.</p><p>3. You tune to a channel that uses the H7 => H7 loaded ===> information I want gets put in the logs</p><p></p><p>I hope that makes sense <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite1" alt=":)" title="Smile :)" loading="lazy" data-shortname=":)" /></p></blockquote><p></p>
[QUOTE="mm1352000, post: 697905, member: 82144"] Hi again Thank you for that post Melstig. It helped me to understand things a lot better :) Good spotting :) Yes, it could well be the problem. What you're seeing could be caused by what they call a "race condition". You have three critical things that have to load after resume: 1. Network driver 2. TV Server 3. Tuner drivers The network driver must load before TV Server so that the static IP address is ready for TV Server to connect to again. If TV Server doesn't wait long enough for the network driver to load then the network driver may not have applied the static IP address yet. The tuner drivers must also load before TV Server so that TV Server can detect and use the tuners again. If TV Server doesn't wait long enough then the tuners may not be detected, or they may appear as "unknown". There is no guarantee of the order in which these processes will load or how long they will take. I don't think 2 seconds is long enough though. On a fast computer, I'd guess that 15 seconds would be a minimum. Anything below that and you may find that sometimes it works and sometimes it doesn't, depending on the order in which the OS chooses to do things (which is why it is called a "race" condition). I'm pretty sure that delaying the startup of TV Server should fix this, however you should also be aware that some tuner drivers don't handle going into resume or hibernate well. Tuners with problems often "disappear" (ie. they're not in device manager) or don't function properly after hibernate/sleep. The only solution for that is to restart. If the H7 is one of those tuners then there is nothing we can do except disable sleep and hibernate, however I don't think it is the problem here. We'll see what happens... Please do. Like you say, once you find something that works then we can focus on the things that I can help with ;) Interesting. It is good to know that the issue probably wasn't caused by what I've been doing, but we certainly want to solve this if possible. It *appears* like it is not a TV Server issue so I will ask some other team members for their opinions... Your logs from your last post show what I was looking for 3 times :P [CODE] 2010-12-31 08:59:40.197063 [(14)]: debug: get device info ps is *not* null 2010-12-31 08:59:40.197063 [(14)]: debug: name = Ä 2010-12-31 08:59:40.198063 [(14)]: debug: type = -1 2010-12-31 08:59:40.198063 [(14)]: debug: speed = -1 2010-12-31 08:59:40.199063 [(14)]: debug: MAC address = ÿÿÿÿÿ 2010-12-31 08:59:40.199063 [(14)]: debug: CI support = -1 2010-12-31 08:59:40.200063 [(14)]: debug: TS packet length = -1 2010-12-31 08:59:40.200063 [(14)]: debug: PID filter present = 255 2010-12-31 08:59:40.201063 [(14)]: debug: PID filter bypass supported = 255 2010-12-31 08:59:40.201063 [(14)]: debug: get driver info ps is *not* null 2010-12-31 08:59:40.202063 [(14)]: debug: driver major version = C4 2010-12-31 08:59:40.202063 [(14)]: debug: driver minor version = 0 2010-12-31 08:59:40.203063 [(14)]: debug: firmware major version = 49 2010-12-31 08:59:40.203063 [(14)]: debug: firmware minor version = 0 2010-12-31 08:59:40.204063 [(14)]: debug: date = `–ºÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 2010-12-31 08:59:40.204063 [(14)]: debug: company = ÿÿÿÿÿÿÿ 2010-12-31 08:59:40.204063 [(14)]: debug: hardware info = ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 2010-12-31 08:59:40.205063 [(14)]: debug: CI flags = FF 2010-12-31 09:31:32.001878 [(24)]: debug: get device info ps is *not* null 2010-12-31 09:31:32.001878 [(24)]: debug: name = p¼H 2010-12-31 09:31:32.002879 [(24)]: debug: type = -1 2010-12-31 09:31:32.002879 [(24)]: debug: speed = -1 2010-12-31 09:31:32.003879 [(24)]: debug: MAC address = ÿÿÿÿÿ 2010-12-31 09:31:32.003879 [(24)]: debug: CI support = -1 2010-12-31 09:31:32.004879 [(24)]: debug: TS packet length = -1 2010-12-31 09:31:32.004879 [(24)]: debug: PID filter present = 255 2010-12-31 09:31:32.005879 [(24)]: debug: PID filter bypass supported = 255 2010-12-31 09:31:32.005879 [(24)]: debug: get driver info ps is *not* null 2010-12-31 09:31:32.006879 [(24)]: debug: driver major version = 70 2010-12-31 09:31:32.006879 [(24)]: debug: driver minor version = 6 2010-12-31 09:31:32.007879 [(24)]: debug: firmware major version = BC 2010-12-31 09:31:32.007879 [(24)]: debug: firmware minor version = 8 2010-12-31 09:31:32.008879 [(24)]: debug: date = H 2010-12-31 09:31:32.008879 [(24)]: debug: company = ÿÿÿÿÿÿÿ 2010-12-31 09:31:32.009879 [(24)]: debug: hardware info = ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 2010-12-31 09:31:32.009879 [(24)]: debug: CI flags = FF 2010-12-31 10:44:01.608563 [(31)]: debug: get device info ps is *not* null 2010-12-31 10:44:01.609564 [(31)]: debug: name = x¾à«¼ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 2010-12-31 10:44:01.609564 [(31)]: debug: type = -1 2010-12-31 10:44:01.610564 [(31)]: debug: speed = -1 2010-12-31 10:44:01.611564 [(31)]: debug: MAC address = ÿÿÿÿÿ 2010-12-31 10:44:01.611564 [(31)]: debug: CI support = -1 2010-12-31 10:44:01.612564 [(31)]: debug: TS packet length = -1 2010-12-31 10:44:01.613564 [(31)]: debug: PID filter present = 255 2010-12-31 10:44:01.613564 [(31)]: debug: PID filter bypass supported = 255 2010-12-31 10:44:01.614564 [(31)]: debug: get driver info ps is *not* null 2010-12-31 10:44:01.614564 [(31)]: debug: driver major version = 78 2010-12-31 10:44:01.615564 [(31)]: debug: driver minor version = 17 2010-12-31 10:44:01.616564 [(31)]: debug: firmware major version = BE 2010-12-31 10:44:01.616564 [(31)]: debug: firmware minor version = 8 2010-12-31 10:44:01.617564 [(31)]: debug: date = ૼÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 2010-12-31 10:44:01.618564 [(31)]: debug: company = ÿÿÿÿÿÿÿ 2010-12-31 10:44:01.618564 [(31)]: debug: hardware info = ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 2010-12-31 10:44:01.619564 [(31)]: debug: CI flags = FF [/CODE] The tuner information is still rubbish as you can see. I'm going to look at the code again tomorrow and see if I've made some mistakes. It is important for you to know what to do since we're going to have to do this again several times... Firstly, the information only shows when the H7 is loaded. The process is: 1. TV Server starts and initialises. 2. Your H5s are preloaded. 3. You tune to a channel that uses the H7 => H7 loaded ===> information I want gets put in the logs I hope that makes sense :) [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
MediaPortal 1
Support
Watch / Listen Media
Television (MyTV frontend and TV-Server)
Fail to correctly record 2 channels on same tuner
Contact us
RSS
Top
Bottom