Skip to content

Ignore power down event with disable_powersave=1 module option - #18

Open
ValdikSS wants to merge 1 commit into
armbian:masterfrom
ValdikSS:fix-multicast
Open

Ignore power down event with disable_powersave=1 module option#18
ValdikSS wants to merge 1 commit into
armbian:masterfrom
ValdikSS:fix-multicast

Conversation

@ValdikSS

Copy link
Copy Markdown

When the chip is in lower power state, it listens only for the packets which destination MAC match device's MAC address.
Incoming broadcast and multicast packets, which MAC does not equal to the device MAC, gets dropped.

This breaks mDNS and other protocols.

Power saving works as follows: the chip sends PWR_DOWN event to the kernel module when it's ready to go into lower state, and if the kernel is also ready (nothing in tx queue), it replies with ACK.

Add disable_powersave=1 kernel option to ignore PWR_DOWN event completely to reliably accept multicast, at the cost of +0.4W

Link: orangepi-xunlong/linux-orangepi#98 (comment)

When the chip is in lower power state, it listens only for the packets
which destination MAC match device's MAC address.
Incoming broadcast and multicast packets, which MAC does not equal
to the device MAC, gets dropped.

This breaks mDNS and other protocols.

Power saving works as follows: the chip sends PWR_DOWN event to the
kernel module when it's ready to go into lower state, and if the kernel
is also ready (nothing in tx queue), it replies with ACK.

Add disable_powersave=1 kernel option to ignore PWR_DOWN event completely
to reliably accept multicast, at the cost of +0.4W

Link: orangepi-xunlong/linux-orangepi#98 (comment)
@ValdikSS

Copy link
Copy Markdown
Author

So apparently this is some kind of a router issue as well.
I've rebooted the router and everything works without disabling powersave.
See the linked issue. The reason of this is unknown, but doesn't seem to be a GTK rekeying.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant