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:
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:
So, how is your Windows PC waking up? It's likely due to one of these mechanisms:
- "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."
- 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.
- 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.
- 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.
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:
- 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.
- Reboot your PC and enter the BIOS/UEFI settings.
- Configure WOL on Linux:
- Identify your network interface: Open a terminal and run
orCode:ip a
to find the name of your wired Ethernet adapter (e.g.,Code:ifconfig
eth0,enp0s31f6,eno1).
- Check WOL status:
Code:Bash
(or your existing one)Code:sudo ethtool eth0
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
under your interface configuration.Code:ethernet-wol g
- For
netplan
: Add
under your interface configuration in the YAML file (e.g., /etc/netplan/*.yaml).Code:wakeonlan: true
- For
- Consider a systemd service: As shown in some search results, you can create a systemd service that runs the
ethtool
command at boot.
- Debian/Ubuntu (/etc/network/interfaces or netplan):
- Identify your network interface: Open a terminal and run
- 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.
- Since Jellyfin clients don't send WOL magic packets, you'll need a separate mechanism.
- 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.