SkyStar S2 (и SkyStar 2) - решение проблемы выхода из спячки

Discussion in 'ТВ-тюнеры' started by Rara Avis, December 15, 2009.

  1. Rara Avis

    Rara Avis Portal Pro

    Joined:
    April 9, 2009
    Messages:
    120
    Likes Received:
    9
    Ratings:
    +9 / 0
    Есть у линейки SkyStar 2 (S2 в том числе) и такая проблема на WinXP (про висту/семерку не в курсе): после пробуждения из спящего (hibernate) режима карточка недоступна и в портале мы получаем ошибку "Нет свободного тюнера", а если посмотреть в конфигураторе TV сервера, то увидим какую-то левый аналоговый тюнер, коего у нас отродясь не было.
    Естественно, это все наблюдается на WDM драйверах (а по другому к порталу эти карты не прикрутить) и, видимо, ими же и вызвано :)

    И тут как раз добрейшей души юзер Omny открыл мне глаза на существование HibernateTrigger !
    Все остальное тоже уже придумано до нас, осталось сложить вместе и слегка причесать :)

    Итак, качаем HibernateTrigger и устанавливаем. Не забываем, что эта утилита свой ярлык пишет в StartUp, и, если у нас винда русская - не мешает перенести в Автозагрузку.

    Разворачиваем Devcon.exe и кладем в c:\windows\system32 . Если интересно, что это и для чего - http://support.microsoft.com/kb/311272/ru .

    Создаем awake.bat со следующим содержимым:
    Code (Text):
    1. net stop tvservice
    2. devcon.exe restart PCI\VEN_13D0
    3. net start tvservice
    запоминаем, куда сохранили и прописываем его во втором поле Hibernate Trigger. Теперь по выходе из спячки вызовется этот батник и передернет скайстаровские драйвера, после чего все работает штатно.



    В общем виде, конечно, некошерно дергать tvservice при живом портале (хотя, еще раз повторюсь - у меня, например,  отрабатывает достаточно быстро и MP не успевает потерять сервис)
    Поэтому любители строгих классических подходов могут сохранить
    Code (Text):
    1. Option Explicit
    2.  
    3. ' *********************************************
    4. ' This function checks if a process is running
    5. ' *********************************************
    6. Function IsProcessRunning( strProcess )
    7.     Dim Process, strObject
    8.     IsProcessRunning = False
    9.     strObject   = "winmgmts:\\.\root\cimv2"
    10.     For Each Process in GetObject( strObject ).InstancesOf( "win32_process" )
    11.         If UCase( Process.name ) = UCase( strProcess ) Then
    12.             IsProcessRunning = True
    13.             Exit Function
    14.         End If
    15.     Next
    16. End Function
    17.  
    18. ' ===
    19.  
    20. Dim Shell, process, prockill, return, mp_running
    21.  
    22. Set Shell = CreateObject("WScript.Shell")
    23.  
    24. process   = "MediaPortal"
    25. prockill  = "tskill " & process
    26. mp_running = IsProcessRunning ( process & ".exe" )
    27.  
    28. If mp_running Then
    29.     ' Kill MediaPortal.exe
    30.     return = Shell.Run (prockill, 0, True)
    31.     ' Check for MediaPortal still running
    32.     do
    33.     WScript.Sleep(100)
    34.     loop while IsProcessRunning ( process & ".exe" )
    35. End If
    36.  
    37. ' Stop tvservice
    38. return = Shell.Run("""C:\\Windows\\System32\\net.exe""" & "stop tvservice", 1, true)
    39. ' Restart SkyStar2
    40. return = Shell.Run("""C:\\Windows\\System32\\devcon.exe""" & "restart PCI\VEN_13D0", 1, true)
    41. ' Start tvservice
    42. return = Shell.Run("""C:\\Windows\\System32\\net.exe""" & "start tvservice", 1, true)
    43.  
    44.  
    45. If mp_running Then
    46.     ' Run MediaPortal if was running on resume
    47.     return = Shell.Run("""C:\\Program Files\\Team MediaPortal\\MediaPortal\\MediaPortal.exe""", 1, false)
    48. End If
    в файл awake.vbs и использовать его.
    (По мотивам https://forum.team-mediaportal.com/tv-cards-333/skystar2-not-able-tune-after-resume-71679/#post519586)
     
  2. Google AdSense Guest Advertisement



    to hide all adverts.
  3. Vlad999

    Vlad999 Portal Member

    Joined:
    December 6, 2008
    Messages:
    28
    Likes Received:
    0
    Ratings:
    +0 / 0
    Home Country:
    Handler2

    Спасибо... но я уже давно использовал другую прогу... в паре той же devicon.exe (куда без него)... MPstandbyHandler2 (именно 2 версия) она работает как служба... и перехватает обработку засыпания и awake... просто она заточена именно под портал.
     
  4. Stellar

    Stellar New Member

    Joined:
    February 27, 2009
    Messages:
    82
    Likes Received:
    0
    Ratings:
    +2 / 0
    У меня применительно к SkyStar HD2 пришлось строку
    devcon.exe restart PCI\VEN_13D0
    заменить на
    devcon.exe restart PCI\VEN_1822
     
Loading...

Users Viewing Thread (Users: 0, Guests: 0)

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice
  • About The Project

    The vision of the MediaPortal project is to create a free open source media centre application, which supports all advanced media centre functions, and is accessible to all Windows users.

    In reaching this goal we are working every day to make sure our software is one of the best.

             

  • Support MediaPortal!

    The team works very hard to make sure the community is running the best HTPC-software. We give away MediaPortal for free but hosting and software is not for us.

    Care to support our work with a few bucks? We'd really appreciate it!