I am running 14.3-RELEASE on a Dell Precision 3350, and for the most part everything works great. Of course, the one thing that is hanging me up is the suspend/resume. It seems like iwlwifi has a bit of a fit if it's associated while a suspend happens, and I see the following in dmesg:
So as a first stab at it I added a line to stop and then start netif in rc.suspend and rc.resume respectively. It stopped the above error, and surprisingly I get perfect suspend and resume behavior when I test with any of the following commands:
And calling rc.suspend directly with apm
When I call rc.suspend with "acpi" instead of "apm", It gives me the error:
However, if I suspend with the laptop lid or the power button, or use XFCE's suspend menu option, it suspends normally but locks up after resume for about 60 seconds until it finally lets me switch to ttyv1. I am only able to get the system functional again by switching to ttyv1, bouncing netif, and restarting lightdm.
I am still green to FreeBSD(but not other UNIXes), so I need a little help understanding what I might be missing here. Are ACPI events triggered by the lid and button not calling the rc.suspend/resume scripts?
I would like to have XFCE come back to me intact, not frozen up, and with network connectivity - which it does if I manually run any of the aforementioned commands. I did test suspend/resume without X running, and if I use the lid or button I have no network connectivity on resume there as well. If I use the manual commands(where it seems to invoke the rc.suspend/resume with my modifications), it resumes as expected with network connectivity. This seems to rule out any issues with Xorg/XFCE, as I see the same behavior(aside from X related stuff locking up, which doesn't happen when I run the manual suspend).
Any suggestions on where to look to get the lid/button suspend to behave would be greatly appreciated.
Code:
WARNING ((__typeof(*mvm->baid_map[baid]) *)({ __typeof(mvm->baid_map[baid]) __var = ({ __asm__ __volatile__("": : :"memory"); (*(const volatile __typeof(mvm->baid_map[baid]) *)&(mvm->baid_map[baid])); }); __asm__ __volatile__("": : :"memory"); __var; })) failed at /usr/src/sys/contrib/dev/iwlwifi/mvm/sta.c:3004
So as a first stab at it I added a line to stop and then start netif in rc.suspend and rc.resume respectively. It stopped the above error, and surprisingly I get perfect suspend and resume behavior when I test with any of the following commands:
# acpiconf -s 3 # zzzAnd calling rc.suspend directly with apm
# /etc/rc.suspend apm suspend3When I call rc.suspend with "acpi" instead of "apm", It gives me the error:
Code:
"acpiconf: ack sleep type failed: Device not configured"
However, if I suspend with the laptop lid or the power button, or use XFCE's suspend menu option, it suspends normally but locks up after resume for about 60 seconds until it finally lets me switch to ttyv1. I am only able to get the system functional again by switching to ttyv1, bouncing netif, and restarting lightdm.
I am still green to FreeBSD(but not other UNIXes), so I need a little help understanding what I might be missing here. Are ACPI events triggered by the lid and button not calling the rc.suspend/resume scripts?
I would like to have XFCE come back to me intact, not frozen up, and with network connectivity - which it does if I manually run any of the aforementioned commands. I did test suspend/resume without X running, and if I use the lid or button I have no network connectivity on resume there as well. If I use the manual commands(where it seems to invoke the rc.suspend/resume with my modifications), it resumes as expected with network connectivity. This seems to rule out any issues with Xorg/XFCE, as I see the same behavior(aside from X related stuff locking up, which doesn't happen when I run the manual suspend).
Any suggestions on where to look to get the lid/button suspend to behave would be greatly appreciated.