INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: JRiver and 'srvnet' hampering sleep mode (SOLVED)  (Read 34509 times)

JohnnyN

  • Member
  • *
  • Posts: 3
JRiver and 'srvnet' hampering sleep mode (SOLVED)
« on: March 16, 2013, 04:19:15 pm »

Hi everyone. Although I am new here, I have something valuable I wanted to share.

Over the last week I have been troubleshooting an issue with JRiver MC 18 and its built in remote control function. The test was performed on 2 workstations with fresh windows 7 x64bit installs. One a desktop, the other a laptop.  Using JRemote and WebGizmo. The results were identical and are repeatable.

Once a remote connection is made to MC18 using JRemote or WebGizmo a power block is set in Windows called SRVNET.  To confirm this, open up Command Prompt > type in "powercfg -requests"
You will be greeted with the following configuration:

SYSTEM:
[DRIVER] \FileSystem\srvnet
An active remote client has recently sent requests to this machine.


Once the remote connection is severed by closing either of the respected control apps and closing MC18, the SRVNET power block does not clear and stays active until the system is rebooted.

You are probably asking, Johnny, why in the world is this an issue and why do we care?  Well, what happens when the SRVNET block is set is that it will prevent both my workstations from going into SLEEP as it detects an active system block.  My workstations are configured to go to sleep when all system blocks are no longer active. It sleeps like clockwork, barring SRVNET is not running.

JRiver, as a developer, do you have control over this function on the code side of things? Are you able to terminate SRVNET once JRiver is closed?  Might there be a possible solution in the future?  Any information on the topic would be greatly appreciated.

Thank you for reading.

Kind regards,
-Johnny
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 41903
  • Shoes gone again!
Re: JRiver and 'srvnet' hampering sleep mode
« Reply #1 on: March 17, 2013, 09:57:30 am »

Welcome.

MC18 puts important* network serving threads into a state that prevents system sleep.  But once the connection is closed, this is restored.

I'm not familiar with '\FileSystem\srvnet', but I see the same thing -- after connecting with Gizmo, '\FileSystem\srvnet' is listed.

I'll do some more research on our side and see if I can learn anything.


*Important serving functions include browsing and playing files, but not responding to SSDP discovery.
Logged
Matt Ashland, JRiver Media Center

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 41903
  • Shoes gone again!
Re: JRiver and 'srvnet' hampering sleep mode
« Reply #2 on: March 18, 2013, 04:02:34 pm »

I read a little more about this, and it seems like \FileSystem\srvnet is a driver / OS level thing.  I think the NIC or socket system automatically keeps the machine awake a little while if something is talking to the machine.

I didn't see any way that we could controls this from our software.

It looks like you can turn the \FileSystem\srvnet thing off with an override at the command line using powercfg.

On another topic, why doesn't Microsoft make a nice user interface for powercfg so normal people can see when their computer sleeps, why it's waking up, etc.?  It seems like an obvious feature.
Logged
Matt Ashland, JRiver Media Center

JohnnyN

  • Member
  • *
  • Posts: 3
Re: JRiver and 'srvnet' hampering sleep mode (SOLVED)
« Reply #3 on: March 18, 2013, 09:21:23 pm »

Hi Matt,

That is great you were able to look into this and back to me so quickly.  Thank you.

You are COMPLETELY right. For such a 'loaded' command driven function, a GUI would be a nice touch.  One can only hope.

I looked into this function some more after your override switch comment.  I am happy to report that I have found a solution! :)

If anyone is having the sleep issue like me, the following tutorial will demonstrate how to set SRVNET into override mode so it does not affect system sleep.  One thing I have not figured out though is how to UNDO the function. :(  Proceed at own risk.

1. Verify that SRVNET is still active after closing down MC18, JRemote and/or WebGizmo by performing the following from the command prompt:

powercfg -requests

If SRVNET is active, you will see this:

SYSTEM:
[DRIVER] \FileSystem\srvnet
An active remote client has recently sent requests to this machine.


2. To add SRVNET to the exempt list, perform the following from the command prompt (EXACTLY as displayed below.  DRIVER MUST be written in caps):

powercfg -requestsoverride DRIVER "\FileSystem\srvnet" System Awaymode

and for good measure (not sure if necessary but I did it anyways)...

powercfg -requestsoverride DRIVER "srvnet" System Awaymode

3. Once it is all said and done, it should look like this after running:

powercfg -requestsoverride

[DRIVER]
\FileSystem\srvnet SYSTEM AWAYMODE
srvnet SYSTEM AWAYMODE


4. Enjoy sleep mode again.

This is a permanent solution as it will keep after reboots.  Included below is the usage of the -requestsoverride command:

  -REQUESTSOVERRIDE
              Sets a Power Request override for a particular Process, Service,
              or Driver. If no parameters are specified, this command displays
              the current list of Power Request Overrides.

              Usage: POWERCFG -REQUESTSOVERRIDE <CALLER_TYPE> <NAME> <REQUEST>
              <CALLER_TYPE>    Specifies one of the following caller type:
                               PROCESS, SERVICE, DRIVER. This is obtained by
                               calling the POWERCFG -REQUESTS command.
              <NAME>           Specifies the caller name. This is the name
                               returned from calling POWERCFG -REQUESTS command.
              <REQUEST>        Specifies one or more of the following Power
                               Request Types: Display, System, Awaymode.
              Example:
                  POWERCFG -REQUESTSOVERRIDE PROCESS wmplayer.exe Display System

p.s. If anyone has figured out how to remove exemptions from the the -requestsoverride command, please share it. :)
Logged

JohnnyN

  • Member
  • *
  • Posts: 3
Re: JRiver and 'srvnet' hampering sleep mode (SOLVED)
« Reply #4 on: March 18, 2013, 10:38:32 pm »

After further testing, here is how to clear the set power override.  Just type in the command string listed above but do not add the 'System' or 'Awaymode' at the end of the string.

eg.

powercfg -requestsoverride DRIVER "\FileSystem\srvnet"
or
powercfg -requestsoverride DRIVER "srvnet"

Both of those will clear the SRVNET from the power override, restoring your settings back to their defaults.

Looks like we can put a fork in this one.
Logged

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: JRiver and 'srvnet' hampering sleep mode
« Reply #5 on: March 19, 2013, 09:07:06 am »

On another topic, why doesn't Microsoft make a nice user interface for powercfg so normal people can see when their computer sleeps, why it's waking up, etc.?  It seems like an obvious feature.

The entire Microsoft sleep system drives me batty.  Why can't I pick individual USB devices that I want to allow to wake my computer, for example?  In Windows 8, my mouse and keyboard wake the computer just fine, but my USB RF Remote will not.  The remote commands are received when it is sleeping (light sleep, not S3), but I can't even set it to allow the remote to disable the screen saver, much less wake it from full S3 sleep.

It is frustrating how limited the options are in this regard...
Logged
"Some cultures are defined by their relationship to cheese."

Visit me on the Interweb Thingie: http://glynor.com/

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 41903
  • Shoes gone again!
Re: JRiver and 'srvnet' hampering sleep mode
« Reply #6 on: March 19, 2013, 09:36:44 am »

The entire Microsoft sleep system drives me batty.  Why can't I pick individual USB devices that I want to allow to wake my computer, for example?  In Windows 8, my mouse and keyboard wake the computer just fine, but my USB RF Remote will not.  The remote commands are received when it is sleeping (light sleep, not S3), but I can't even set it to allow the remote to disable the screen saver, much less wake it from full S3 sleep.

It is frustrating how limited the options are in this regard...

I thought you could pick per device in Device Manager?  I know you can for a mouse, keyboard, and some remote receivers.

My complaint is that things are scattered all over and hidden in a command line.  Power management is a basic (and increasingly important) job of an OS.  I've had tons of problems with computers that wake up as soon as it sleeps, etc. and it's really tough to fix these problems.  I once had a computer refuse to stay asleep when an empty USB hub was connected, but not when the hub was disconnected?!?
Logged
Matt Ashland, JRiver Media Center
Pages: [1]   Go Up