Wake-on-LAN: not supported, and would not substitute for remote power #77
Labels
No labels
blocked-physical
cleanup
hardware
infra
kernel
P1-critical
P2-high
P3-normal
P4-later
reliability
security
upstream
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
tiagoagueda/a80#77
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Asked during the #39 work: could Wake-on-LAN help? Measured on the running board rather than
assumed.
Answer: no, not as it stands
Three independent reasons, any one of which is sufficient:
ethernet@830000declares a single interrupt,macirq(SPI 82). stmmac logsIRQ eth_wake_irq not foundat probe. Without it the MAC hasno way to signal a wake event.
PHY [stmmac-0:00] driver [RTL8211E Gigabit Ethernet] (irq=POLL)- link state is polled. Even if the RTL8211E detected a magic packetand asserted its PMEB pin, nothing is listening.
No HW DMA feature register supported, sodma_cap.pmt_magic_framereads 0 and the driver advertises no WoL modes. This is the samemissing feature register behind
No MAC Management Counters available(#63).There is also no
wakeupattribute under/sys/class/net/eth0/device/power/, i.e. the devicewas never registered as wake-capable.
Could it be made to work?
Possibly, and it would need all three:
interrupt-namesentry - requiresknowing whether the A80 GMAC actually has a separate PMT interrupt, which the user manual would
have to answer
the SoC - a hardware question for
script.binand the schematicEach is a real piece of work and the first two might simply be answered "the hardware does not do
this".
⚠️ It would not replace #5, and that matters
Worth stating plainly, because that is the appeal:
with the PHY still powered. It cannot turn on a board that is off.
running the code that would arm or honour a magic packet. Those are exactly the cases #5 exists
for, and they are the ones that have actually cost physical visits.
/sys/power/stateoffersfreeze mem, and nobody has ever triedmemhere. That would need to work first, and on aboard whose A15 cluster already corrupts memory (#53), suspend is not a small ask.
So the honest framing: WoL is a power-saving feature for this board, not an availability one.
It would let an idle board sleep and be woken on demand. It would not have prevented a single one
of the physical trips this project has needed.
Suggested priority
P4-later. It is genuinely blocked behind suspend/resume working at all, it needs two hardware
questions answered, and it does not address the problem it superficially looks like it addresses.
If remote power is the goal, #5 is the issue, and a smart plug solves it completely for the price
of an afternoon.