• Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below
  • Forum
  • Website
  • GitHub
  • Status
  • Translation
  • Features
  • Team
  • Rules
  • Help
  • Feeds
User Links
  • Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below

    Useful Links Forum Website GitHub Status Translation Features Team Rules Help Feeds
    Jellyfin Forum Support General Questions Why can an Android Jellyfin client reliably wake a Windows 10 PC but not Linux?

     
    • 0 Vote(s) - 0 Average

    Why can an Android Jellyfin client reliably wake a Windows 10 PC but not Linux?

    The Cake
    Offline

    Junior Member

    Posts: 2
    Threads: 1
    Joined: 2025 Jun
    Reputation: 0
    #1
    2025-06-05, 12:35 AM
    I've been running a Jellyfin server on a Windows PC for about 6 months, recently started testing the waters with Linux for this purpose.

    The PC goes to sleep automatically after 30 min.  When I start the Jellyfin client on an Android TV box, it wakes the Windows PC, connects to the server, remains awake as long as the client is being used, then resumes the 30 min sleep timer after the client disconnects.  It's janky sometimes but it generally works well.

    I was able to successfully set up the Jellyfin server on Linux installed on flash drive on the same PC, everything else worked, but I could not get the Android client to wake the PC.  I always assumed the client was waking the windows PC with wake-on-lan magic packets, so I look up what the issue might be and find that Jellyfin never actually supported wake-on-lan?  

    So how does this actually work on a Windows PC if not using WOL?  I tried setting the network adapter to wake on any unicast traffic but it just immediately wakes back up from random network traffic.

    I'm hoping I can understand what's happening here so I can find a work-around.
    Mr at
    Offline

    Junior Member

    Posts: 3
    Threads: 1
    Joined: 2025 Jun
    Reputation: 0
    #2
    2025-06-05, 01:14 PM
    This has been a long-standing discussion and a feature request within the Jellyfin community, but it's generally considered out of scope for the core Jellyfin application.
    So, how is your Windows PC waking up? It's likely due to one of these mechanisms:
    1. "Wake on Magic Packet" (WOL) configured at the OS/BIOS level, and your Android TV client is sending some form of network traffic that Windows is interpreting as a "magic packet." Even though Jellyfin doesn't explicitly send a WOL magic packet, some network adapters and Windows power settings are configured to wake the PC on certain types of network activity, including what might resemble a "magic packet" even if it's just a regular connection attempt.
      • How it works: Your network card remains partially powered in sleep mode and listens for a specific "magic packet" containing its MAC address. When it receives this packet, it signals the computer to wake up.
      • Why it might work on Windows but not Linux: Windows often has more lenient or pre-configured settings for "wake on network activity" by default. Linux distributions generally require explicit configuration of WOL using tools like
        ethtool
        and may not wake on general network traffic unless specifically told to. You mentioned "wake on any unicast traffic," which is indeed a setting that can cause immediate wake-ups due to background network noise. A true WOL setup should only wake on the specific "magic packet."
    2. Modern Standby (Connected Standby) on Windows: Newer Windows PCs with "Modern Standby" support can maintain network connectivity even in a low-power sleep state. This allows applications to receive push notifications and maintain some network activity, which could theoretically allow the Jellyfin client to "find" the server and trigger it to fully wake up. This is less like traditional WOL and more like a smartphone's sleep state where apps are still connected.
    3. SMB/NFS share Browse (less likely for initial wake): Some users report that if they have an SMB or NFS share configured on the server (even a dummy one), and the client attempts to browse that share, it might trigger a wake event. However, this is more common for preventing sleep during use, not for the initial wake-up.
    Why it's not working on Linux and what to do:
    The core issue is that your Linux setup likely doesn't have the same "wake on network activity" or correctly configured WOL settings as your Windows installation.
    Here's how to troubleshoot and implement a workaround for Linux:
    1. Verify BIOS/UEFI Settings:
      • Reboot your PC and enter the BIOS/UEFI settings.
      • Look for "Wake-on-LAN," "Power On by PCI-E/PCI," "ErP Ready," or similar settings in the Power Management or Advanced sections.
      • Enable WOL. Some BIOS settings like "ErP Ready" (often related to energy efficiency) can disable WOL, so ensure it's off if it's present and interfering.
    2. Configure WOL on Linux:
      • Identify your network interface: Open a terminal and run
        Code:
        ip a
        or
        Code:
        ifconfig
        to find the name of your wired Ethernet adapter (e.g.,
        eth0,enp0s31f6,eno1).
      • Check WOL status:
        Code:
        Bash

        Code:
        sudo ethtool eth0
          (or your existing one)
        Look for "Wake-on:". If it's d (disabled) or anything other than g (magic packet), you need to enable it.
      • Enable WOL (persistently):
        Code:
        Bash

        Code:
        sudo ethtool -s eth0 wol g

        This enables WOL for magic packets (g). However, this command is usually not persistent across reboots. To make it persistent, you need to configure it in your network configuration files. The method varies depending on your Linux distribution:
        • Debian/Ubuntu (/etc/network/interfaces or netplan):
          • For
            /etc/network/interfaces
            : Add
            Code:
            ethernet-wol g
            under your interface configuration.
          • For
            netplan
            : Add 
            Code:
            wakeonlan: true
            under your interface configuration in the YAML file (e.g., /etc/netplan/*.yaml).
        • Consider a systemd service: As shown in some search results, you can create a systemd service that runs the
          ethtool
          command at boot.
    3. Jellyfin Client and WOL:
      • Since Jellyfin clients don't send WOL magic packets, you'll need a separate mechanism.
      • Dedicated WOL App: The most reliable solution is to use a dedicated Wake-on-LAN app on your Android TV box (or a smartphone/tablet on the same network). Before opening Jellyfin, open the WOL app, wake your PC, then open Jellyfin. This is an extra step, but it guarantees the wake.
      • Home Automation/Scripting: For a more integrated solution, you could explore home automation platforms (like Home Assistant) or create a script that runs on your Android TV box (if it allows it) to send a WOL packet to your PC's MAC address when you launch the Jellyfin app. This would require more advanced setup.
      • Prevent Sleep (during use): While not for waking, once your server is awake, consider using a plugin like
        jellyfin-plugin-preventsleep
        (for Windows) or a system-level solution on Linux to keep the PC from sleeping while a stream is active.
    Key Takeaways:
    • Jellyfin clients don't send WOL magic packets. Your Windows PC's ability to wake was likely a combination of BIOS/OS settings being permissive to network activity that resembled a magic packet, or potentially a "Modern Standby" feature.
    • Linux requires explicit WOL configuration. You need to enable WOL in the BIOS and then configure your Linux network adapter to respond to magic packets.
    • A separate WOL trigger is almost always needed. You'll likely need a dedicated WOL app or a custom script to send the magic packet before starting your Jellyfin client on Linux.
    By understanding these points and configuring WOL correctly on your Linux machine, you should be able to replicate the wake-up behavior you experienced with Windows.
    The Cake
    Offline

    Junior Member

    Posts: 2
    Threads: 1
    Joined: 2025 Jun
    Reputation: 0
    #3
    2025-06-05, 02:42 PM
    I think I discovered the issue but am unsure how to fix it.

    The built-in network adapter on the PC in question supports a feature called "Wake on Pattern Match" which will wake the system on any TCP connection attempt.  It appears to be efficient at filtering out "noise," as such I never noticed it until troubleshooting this.

    Quote:“Wake On LAN” makes the system wake on the “magic packet.”
    The “Wake on pattern match” option instead checks for packets that matches the operating-system-specified patterns; for example, an ARP request for the computer’s address, or a TCP connection attempt.
    The default patterns on a Windows 7 system are:
    • Magic Packet.
    • NetBIOS Name Query.
    • TCPv4 SYN.
    • TCPv6 SYN
    • IPv6 Neighbor Solicitation.

    It seems Linux (the driver probably?) does not support this, at least this distro (Mint 22.1) for the adapter I'm using (Intel l219-lm).

    Code:
    sudo ethtool eno1
    Settings for eno1:
    Supported ports: [ TP ]
    Supported link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Supported pause frame use: Symmetric Receive-only
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Advertised pause frame use: Symmetric Receive-only
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                        100baseT/Half 100baseT/Full
    Link partner advertised pause frame use: Symmetric Receive-only
    Link partner advertised auto-negotiation: Yes
    Link partner advertised FEC modes: Not reported
    Speed: 100Mb/s
    Duplex: Full
    Auto-negotiation: on
    Port: Twisted Pair
    PHYAD: 1
    Transceiver: internal
    MDI-X: on (auto)
    [b]Supports Wake-on: pumbg[/b]
    Wake-on: ug
        Current message level: 0x00000007 (7)
                              drv probe link
    Link detected: yes

    The ethtool documentation mentions "Wake-on-filter(s)" which I'm guessing is the same thing or similar?  Attempting to enable it with ethtool returns that it's unsupported.

    Code:
    p Wake on PHY activity
    u Wake on unicast messages
    m Wake on multicast messages
    b Wake on broadcast messages
    a Wake on ARP
    g Wake on MagicPacket™
    s Enable SecureOn™ password for MagicPacket™
    f Wake on filter(s)
    d Disable (wake on nothing). This option clears all previous options. 

    Going to mess around with finding appropriate drivers as a last ditch effort, but it seems like intel stopped updating the driver years ago.

    I know this is probably outside the scope of this forum at this point, but does anyone have any experience setting this up on Linux or know of any hardware that supports the wake on pattern match feature on Linux?

    This is incredibly useful for Jellyfin or any kind of NAS application, I'm surprised I can only find mention of it from people troubleshooting their device randomly waking up.
    « Next Oldest | Next Newest »

    Users browsing this thread: 1 Guest(s)


    • View a Printable Version
    • Subscribe to this thread
    Forum Jump:

    Home · Team · Help · Contact
    © Designed by D&D - Powered by MyBB
    L


    Jellyfin

    The Free Software Media System

    Linear Mode
    Threaded Mode