Am 26.09.2021 um 12:54 schrieb Hannu Nyman:
e9hack kirjoitti 26.9.2021 klo 10.02:
Am 24.09.2021 um 22:04 schrieb e9hack:
In the past (a few days ago), it was possible to disable or shut-down wifi by 
introduce the command 'wifi down'. This doesn't work currently. After some 
seconds, wifi is start again.

It may be related to a page fault of netifd. Netifd is restart afterwards:

[  236.658379] do_page_fault(): sending SIGSEGV to netifd for invalid write 
access to 77cdd048
[  236.666942] epc = 77d7ded5 in libubox.so.20210819[77d78000+18000]
[  236.673212] ra  = 77d7dec9 in libubox.so.20210819[77d78000+18000]

This occurs after 'wifi down'.


Wifi coming up again happens also with R7800 (ipq806x, ath10k), master build 
from two days ago.


System log shoes wifi goes down, then the whole network stack gets restarted 
(?), and finally wifi comes back up.


  OpenWrt SNAPSHOT, r17581-2c9a07ed28
  -----------------------------------------------------
root@router1:~# wifi down; logread -f
Sun Sep 26 13:42:39 2021 daemon.notice hostapd: Remove interface 'wlan0'
Sun Sep 26 13:42:39 2021 daemon.notice hostapd: wlan0: interface state 
ENABLED->DISABLED

Do you see a page fault from netifd in the log? If it does crash, it is 
restarted by procd. This does restart the network stack. If I start netifd with 
strace, I got this lines immediately before the page fault:

unlink("/tmp/resolv.conf.d/resolv.conf.auto.tmp") = -1 ENOENT (No such file or 
directory)
open("/tmp/resolv.conf.d/resolv.conf.auto.tmp", 
O_RDWR|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 14
ioctl(14, TIOCGWINSZ, 0x7f717a74)       = -1 ENOTTY (Not a tty)
_llseek(14, 0, [0], SEEK_SET)           = 0
readv(14, [{iov_base="", iov_len=1023}, {iov_base="", iov_len=1024}], 2) = 0
close(14)                               = 0
open("/tmp/resolv.conf.d/resolv.conf.auto", O_RDONLY|O_LARGEFILE) = 14
readv(14, [{iov_base="", iov_len=1023}, {iov_base="", iov_len=1024}], 2) = 0
close(14)                               = 0
unlink("/tmp/resolv.conf.d/resolv.conf.auto.tmp") = 0
munmap(0x77d61000, 8192)                = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x77d61038} ---
+++ killed by SIGSEGV +++

The part 0x77d61... does change on several starts. The offset 0x.....038 is the 
same.

Regards,
Hartmut

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to