ZerBea / hcxdumptool

Small tool to capture packets from wlan devices.
MIT License
1.81k stars 393 forks source link

openwrt: Issue finding interfaces #421

Closed kimocoder closed 8 months ago

kimocoder commented 8 months ago

Hi!

We seem to have an issue with listing adapters on OpenWRT at the momen. I attached the strace log from "hcxdumptool -i wlan0 -w capture.pcapng" cmd output/trace :+1:

airmon-ng and everything else works fine, but hcxdumptool has issues calling "/sys/class/ieee80211/phy1/device/driver" it seems. finding adapters.

  1. Comment (the above)
  2. Comment field (below) is in standard operation mode, managed.
  3. Comment field is host information (the basics)
  4. Comment field is strace/trace output from a adapter managed by "airmon-ng" in monitor mode
kimocoder commented 8 months ago

`root@OpenWrt:~# strace hcxdumptool -i wlan0 -w capture.pcapng

execve("/usr/sbin/hcxdumptool", ["hcxdumptool", "-i", "wlan0", "-w", "capture.pcapng"], 0x7fd7bffb60 / 13 vars /) = 0 set_tid_address(0x7fa77b3258) = 5718 brk(NULL) = 0x3bd98000 brk(0x3bd9a000) = 0x3bd9a000 mmap(0x3bd98000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3bd98000 openat(AT_FDCWD, "/etc/ld-musl-aarch64.path", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/libgcc_s.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 fcntl(3, F_SETFD, FD_CLOEXEC) = 0 fstat(3, {st_mode=S_IFREG|0644, st_size=131088, ...}) = 0 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 960) = 960 mmap(NULL, 200704, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x7fa76e0000 mmap(0x7fa770f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1f000) = 0x7fa770f000 close(3) = 0 mprotect(0x7fa770f000, 4096, PROT_READ) = 0 mprotect(0x42f000, 4096, PROT_READ) = 0 socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 3 ioctl(3, SIOCGIFINDEX, {ifr_name="wlan0", ifr_ifindex=11}) = 0 close(3) = 0 getpid() = 5718 writev(1, [{iov_base="", iov_len=0}, {iov_base="\nRequesting physical interface c"..., iov_len=92}], 2 Requesting physical interface capabilities. This may take some time. Please be patient...

) = 92 rt_sigprocmask(SIG_UNBLOCK, [RT_1 RT_2], NULL, 8) = 0 rt_sigaction(SIGINT, {sa_handler=0x409b04, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fa776485c}, NULL, 8) = 0 rt_sigaction(SIGTERM, {sa_handler=0x409b04, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fa776485c}, NULL, 8) = 0 rt_sigaction(SIGTSTP, {sa_handler=0x409b04, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fa776485c}, NULL, 8) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa77aa000 mmap(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa77a5000 mmap(NULL, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa779f000 mmap(NULL, 49152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa76d4000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa779e000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa779c000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa779b000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa779a000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa7799000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa7798000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa7797000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa7796000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa7795000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa76d2000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa76d0000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa76ce000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa76cc000 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa76c8000 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa76c4000 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa76c0000 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa76bc000 mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa76b4000 mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa76ac000 mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa76a4000 mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa769c000 mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa768c000 nanosleep({tv_sec=1, tv_nsec=0}, NULL) = 0 openat(AT_FDCWD, "/etc/TZ", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=4, ...}) = 0 mmap(NULL, 4, PROT_READ, MAP_SHARED, 3, 0) = 0x7fa768b000 close(3) = 0 socket(AF_NETLINK, SOCK_RAW|SOCK_CLOEXEC, NETLINK_ROUTE) = 3 setsockopt(3, SOL_SOCKET, SO_SNDBUF, [4095], 4) = 0 setsockopt(3, SOL_SOCKET, SO_RCVBUF, [65535], 4) = 0 getpid() = 5718 bind(3, {sa_family=AF_NETLINK, nl_pid=5718, nl_groups=00000000}, 12) = 0 socket(AF_NETLINK, SOCK_RAW|SOCK_CLOEXEC, NETLINK_GENERIC) = 4 setsockopt(4, SOL_SOCKET, SO_SNDBUF, [4095], 4) = 0 setsockopt(4, SOL_SOCKET, SO_RCVBUF, [65535], 4) = 0 fcntl(4, F_SETFL, O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 0 bind(4, {sa_family=AF_NETLINK, nl_pid=5718, nl_groups=00000000}, 12) = 0 socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 5 write(4, " \0\0\0\20\0\5\0\1\0\0\0V\26\0\0\3\1\0\0\f\0\2\0nl80211\0", 32) = 32 read(4, "\254\t\0\0\20\0\0\0\1\0\0\0V\26\0\0\1\2\0\0\f\0\2\0nl80211\0"..., 65535) = 2476 read(4, "$\0\0\0\2\0\0\1\1\0\0\0V\26\0\0\0\0\0\0 \0\0\0\20\0\5\0\1\0\0\0"..., 65535) = 36 write(4, "\24\0\0\0\30\0\5\0\2\0\0\0V\26\0\0\37\1\0\0", 20) = 20 read(4, "<\2\0\0\30\0\0\0\2\0\0\0V\26\0\0\37\1\0\0\7\0!\00000\0\0 \2\"\0"..., 65535) = 572 read(4, "$\0\0\0\2\0\0\1\2\0\0\0V\26\0\0\0\0\0\0\24\0\0\0\30\0\5\0\2\0\0\0"..., 65535) = 36 write(4, "\30\0\0\0\30\0\5\3\3\0\0\0V\26\0\0\1\1\0\0\4\0\256\0", 24) = 24 read(4, "\224\0\0\0\30\0\2\0\3\0\0\0V\26\0\0\3\1\0\0\10\0\1\0\1\0\0\0\t\0\2\0"..., 65535) = 7156 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 read(4, "\224\0\0\0\30\0\2\0\3\0\0\0V\26\0\0\3\1\0\0\10\0\1\0\0\0\0\0\t\0\2\0"..., 65535) = 5396 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 root@OpenWrt:~# strace hcxdumptool -i wlan0 -w capture.pcapng execve("/usr/sbin/hcxdumptool", ["hcxdumptool", "-i", "wlan0", "-w", "capture.pcapng"], 0x7fdf8f7b50 / 13 vars /) = 0 set_tid_address(0x7f8182f258) = 5768 brk(NULL) = 0x26e7b000 brk(0x26e7d000) = 0x26e7d000 mmap(0x26e7b000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x26e7b000 openat(AT_FDCWD, "/etc/ld-musl-aarch64.path", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/libgcc_s.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 fcntl(3, F_SETFD, FD_CLOEXEC) = 0 fstat(3, {st_mode=S_IFREG|0644, st_size=131088, ...}) = 0 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 960) = 960 mmap(NULL, 200704, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x7f8175c000 mmap(0x7f8178b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1f000) = 0x7f8178b000 close(3) = 0 mprotect(0x7f8178b000, 4096, PROT_READ) = 0 mprotect(0x42f000, 4096, PROT_READ) = 0 socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 3 ioctl(3, SIOCGIFINDEX, {ifr_name="wlan0", ifr_ifindex=11}) = 0 close(3) = 0 getpid() = 5768 writev(1, [{iov_base="", iov_len=0}, {iov_base="\nRequesting physical interface c"..., iov_len=92}], 2 Requesting physical interface capabilities. This may take some time. Please be patient...

) = 92 rt_sigprocmask(SIG_UNBLOCK, [RT_1 RT_2], NULL, 8) = 0 rt_sigaction(SIGINT, {sa_handler=0x409b04, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f817e085c}, NULL, 8) = 0 rt_sigaction(SIGTERM, {sa_handler=0x409b04, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f817e085c}, NULL, 8) = 0 rt_sigaction(SIGTSTP, {sa_handler=0x409b04, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f817e085c}, NULL, 8) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81826000 mmap(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81821000 mmap(NULL, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8181b000 mmap(NULL, 49152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81750000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8181a000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81818000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81817000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81816000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81815000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81814000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81813000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81812000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81811000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8174e000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8174c000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8174a000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81748000 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81744000 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81740000 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8173c000 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81738000 mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81730000 mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81728000 mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81720000 mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81718000 mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81708000 nanosleep({tv_sec=1, tv_nsec=0}, NULL) = 0 openat(AT_FDCWD, "/etc/TZ", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=4, ...}) = 0 mmap(NULL, 4, PROT_READ, MAP_SHARED, 3, 0) = 0x7f81707000 close(3) = 0 socket(AF_NETLINK, SOCK_RAW|SOCK_CLOEXEC, NETLINK_ROUTE) = 3 setsockopt(3, SOL_SOCKET, SO_SNDBUF, [4095], 4) = 0 setsockopt(3, SOL_SOCKET, SO_RCVBUF, [65535], 4) = 0 getpid() = 5768 bind(3, {sa_family=AF_NETLINK, nl_pid=5768, nl_groups=00000000}, 12) = 0 socket(AF_NETLINK, SOCK_RAW|SOCK_CLOEXEC, NETLINK_GENERIC) = 4 setsockopt(4, SOL_SOCKET, SO_SNDBUF, [4095], 4) = 0 setsockopt(4, SOL_SOCKET, SO_RCVBUF, [65535], 4) = 0 fcntl(4, F_SETFL, O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 0 bind(4, {sa_family=AF_NETLINK, nl_pid=5768, nl_groups=00000000}, 12) = 0 socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 5 write(4, " \0\0\0\20\0\5\0\1\0\0\0\210\26\0\0\3\1\0\0\f\0\2\0nl80211\0", 32) = 32 read(4, "\254\t\0\0\20\0\0\0\1\0\0\0\210\26\0\0\1\2\0\0\f\0\2\0nl80211\0"..., 65535) = 2476 read(4, "$\0\0\0\2\0\0\1\1\0\0\0\210\26\0\0\0\0\0\0 \0\0\0\20\0\5\0\1\0\0\0"..., 65535) = 36 write(4, "\24\0\0\0\30\0\5\0\2\0\0\0\210\26\0\0\37\1\0\0", 20) = 20 read(4, "<\2\0\0\30\0\0\0\2\0\0\0\210\26\0\0\37\1\0\0\7\0!\00000\0\0 \2\"\0"..., 65535) = 572 read(4, "$\0\0\0\2\0\0\1\2\0\0\0\210\26\0\0\0\0\0\0\24\0\0\0\30\0\5\0\2\0\0\0"..., 65535) = 36 write(4, "\30\0\0\0\30\0\5\3\3\0\0\0\210\26\0\0\1\1\0\0\4\0\256\0", 24) = 24 read(4, "\224\0\0\0\30\0\2\0\3\0\0\0\210\26\0\0\3\1\0\0\10\0\1\0\1\0\0\0\t\0\2\0"..., 65535) = 7156 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 read(4, "\224\0\0\0\30\0\2\0\3\0\0\0\210\26\0\0\3\1\0\0\10\0\1\0\0\0\0\0\t\0\2\0"..., 65535) = 5396 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 read(4, "\24\0\0\0\3\0\2\0\3\0\0\0\210\26\0\0\0\0\0\0", 65535) = 20 write(4, "\24\0\0\0\30\0\5\3\4\0\0\0\210\26\0\0\5\1\0\0", 20) = 20 read(4, "\264\0\0\0\30\0\2\0\4\0\0\0\210\26\0\0\7\1\0\0\10\0\3\0\v\0\0\0\n\0\4\0"..., 65535) = 180 read(4, "\24\0\0\0\3\0\2\0\4\0\0\0\210\26\0\0\0\0\0\0", 65535) = 20 write(3, "(\0\0\0\22\0\1\3\5\0\0\0\210\26\0\0\21\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 40) = 40 read(3, "D\5\0\0\20\0\2\0\5\0\0\0\210\26\0\0\0\0\4\3\1\0\0\0I\0\1\0\0\0\0\0"..., 65535) = 2744 read(3, "t\5\0\0\20\0\2\0\5\0\0\0\210\26\0\0\0\0\1\0\3\0\0\0C\20\1\0\0\0\0\0"..., 65535) = 13280 read(3, "\24\0\0\0\3\0\2\0\5\0\0\0\210\26\0\0\0\0\0\0", 65535) = 20 writev(2, [{iov_base="", iov_len=0}, {iov_base="failed to get interface list\n", iov_len=29}], 2failed to get interface list ) = 29 close(5) = 0 close(3) = 0 close(4) = 0 munmap(0x7f8181a000, 4096) = 0 munmap(0x7f81750000, 49152) = 0 munmap(0x7f8181b000, 24576) = 0 munmap(0x7f81821000, 20480) = 0 munmap(0x7f81826000, 8192) = 0 munmap(0x7f81817000, 4096) = 0 munmap(0x7f81816000, 4096) = 0 munmap(0x7f81815000, 4096) = 0 munmap(0x7f81814000, 4096) = 0 munmap(0x7f81813000, 4096) = 0 munmap(0x7f81812000, 4096) = 0 munmap(0x7f81811000, 4096) = 0 munmap(0x7f8174e000, 8192) = 0 munmap(0x7f8174c000, 8192) = 0 munmap(0x7f8174a000, 8192) = 0 munmap(0x7f81748000, 8192) = 0 munmap(0x7f81744000, 16384) = 0 munmap(0x7f81740000, 16384) = 0 munmap(0x7f8173c000, 16384) = 0 munmap(0x7f81738000, 16384) = 0 munmap(0x7f81730000, 32768) = 0 munmap(0x7f81728000, 32768) = 0 munmap(0x7f81720000, 32768) = 0 munmap(0x7f81718000, 32768) = 0 munmap(0x7f81708000, 65536) = 0 munmap(0x7f81818000, 8192) = 0 writev(1, [{iov_base="", iov_len=0}, {iov_base="\n\33[?25h", iov_len=7}], 2 ) = 7 writev(2, [{iov_base="1 ERROR(s) during runtime\n", iov_len=26}, {iov_base=NULL, iov_len=0}], 21 ERROR(s) during runtime ) = 26 writev(1, [{iov_base="", iov_len=0}, {iov_base="\n", iov_len=1}], 2 ) = 1 writev(1, [{iov_base="", iov_len=0}, {iov_base="bye-bye\n\n", iov_len=9}], 2bye-bye

) = 9 exit_group(0) = ? +++ exited with 0 +++


root@OpenWrt:~#`

kimocoder commented 8 months ago

`root@OpenWrt:~ iwconfig lo no wireless extensions.

eth0 no wireless extensions.

eth1 no wireless extensions.

lan4 no wireless extensions.

lan3 no wireless extensions.

lan2 no wireless extensions.

lan1 no wireless extensions.

lan5 no wireless extensions.

br-lan no wireless extensions.

wlan0 no wireless extensions.

root@OpenWrt:~ airmon-ng

PHY Interface Driver Chipset

phy0 wlan0 mt798x-wmac Not pci, usb, or sdio

root@OpenWrt:~ iw wlan0 info Interface wlan0 ifindex 11 wdev 0x2 addr ca:7f:54:bd:31:ab type managed wiphy 0 txpower 6.00 dBm multicast TXQ: qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets 0 0 0 0 0 0 0 0 0 root@OpenWrt:~ root@OpenWrt:~ root@OpenWrt:~ uname -a Linux OpenWrt 5.15.148 #0 SMP Sun Feb 4 00:12:51 2024 aarch64 GNU/Linux root@OpenWrt:~ root@OpenWrt:~ `

kimocoder commented 8 months ago

`root@OpenWrt:~# strace hcxdumptool -i wlan0mon -w capture.pcapng execve("/usr/sbin/hcxdumptool", ["hcxdumptool", "-i", "wlan0mon", "-w", "capture.pcapng"], 0x7fcb5c59c0 / 13 vars /) = 0 set_tid_address(0x7fbb419258) = 6519 brk(NULL) = 0x3284000 brk(0x3286000) = 0x3286000 mmap(0x3284000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3284000 openat(AT_FDCWD, "/etc/ld-musl-aarch64.path", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/libgcc_s.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 fcntl(3, F_SETFD, FD_CLOEXEC) = 0 fstat(3, {st_mode=S_IFREG|0644, st_size=131088, ...}) = 0 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 960) = 960 mmap(NULL, 200704, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x7fbb346000 mmap(0x7fbb375000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1f000) = 0x7fbb375000 close(3) = 0 mprotect(0x7fbb375000, 4096, PROT_READ) = 0 mprotect(0x42f000, 4096, PROT_READ) = 0 socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 3 ioctl(3, SIOCGIFINDEX, {ifr_name="wlan0mon", ifr_ifindex=12}) = 0 close(3) = 0 getpid() = 6519 writev(1, [{iov_base="", iov_len=0}, {iov_base="\nRequesting physical interface c"..., iov_len=92}], 2 Requesting physical interface capabilities. This may take some time. Please be patient...

) = 92 rt_sigprocmask(SIG_UNBLOCK, [RT_1 RT_2], NULL, 8) = 0 rt_sigaction(SIGINT, {sa_handler=0x409b04, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fbb3ca85c}, NULL, 8) = 0 rt_sigaction(SIGTERM, {sa_handler=0x409b04, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fbb3ca85c}, NULL, 8) = 0 rt_sigaction(SIGTSTP, {sa_handler=0x409b04, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fbb3ca85c}, NULL, 8) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb410000 mmap(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb40b000 mmap(NULL, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb405000 mmap(NULL, 49152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb33a000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb404000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb402000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb401000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb400000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb3ff000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb3fe000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb3fd000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb3fc000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb3fb000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb338000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb336000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb334000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb332000 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb32e000 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb32a000 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb326000 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb322000 mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb31a000 mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb312000 mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb30a000 mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb302000 mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbb2f2000 nanosleep({tv_sec=1, tv_nsec=0}, NULL) = 0 openat(AT_FDCWD, "/etc/TZ", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=4, ...}) = 0 mmap(NULL, 4, PROT_READ, MAP_SHARED, 3, 0) = 0x7fbb2f1000 close(3) = 0 socket(AF_NETLINK, SOCK_RAW|SOCK_CLOEXEC, NETLINK_ROUTE) = 3 setsockopt(3, SOL_SOCKET, SO_SNDBUF, [4095], 4) = 0 setsockopt(3, SOL_SOCKET, SO_RCVBUF, [65535], 4) = 0 getpid() = 6519 bind(3, {sa_family=AF_NETLINK, nl_pid=6519, nl_groups=00000000}, 12) = 0 socket(AF_NETLINK, SOCK_RAW|SOCK_CLOEXEC, NETLINK_GENERIC) = 4 setsockopt(4, SOL_SOCKET, SO_SNDBUF, [4095], 4) = 0 setsockopt(4, SOL_SOCKET, SO_RCVBUF, [65535], 4) = 0 fcntl(4, F_SETFL, O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 0 bind(4, {sa_family=AF_NETLINK, nl_pid=6519, nl_groups=00000000}, 12) = 0 socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 5 write(4, " \0\0\0\20\0\5\0\1\0\0\0w\31\0\0\3\1\0\0\f\0\2\0nl80211\0", 32) = 32 read(4, "\254\t\0\0\20\0\0\0\1\0\0\0w\31\0\0\1\2\0\0\f\0\2\0nl80211\0"..., 65535) = 2476 read(4, "$\0\0\0\2\0\0\1\1\0\0\0w\31\0\0\0\0\0\0 \0\0\0\20\0\5\0\1\0\0\0"..., 65535) = 36 write(4, "\24\0\0\0\30\0\5\0\2\0\0\0w\31\0\0\37\1\0\0", 20) = 20 read(4, "<\2\0\0\30\0\0\0\2\0\0\0w\31\0\0\37\1\0\0\7\0!\00000\0\0 \2\"\0"..., 65535) = 572 read(4, "$\0\0\0\2\0\0\1\2\0\0\0w\31\0\0\0\0\0\0\24\0\0\0\30\0\5\0\2\0\0\0"..., 65535) = 36 write(4, "\30\0\0\0\30\0\5\3\3\0\0\0w\31\0\0\1\1\0\0\4\0\256\0", 24) = 24 read(4, "\224\0\0\0\30\0\2\0\3\0\0\0w\31\0\0\3\1\0\0\10\0\1\0\1\0\0\0\t\0\2\0"..., 65535) = 7156 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy1/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 read(4, "\224\0\0\0\30\0\2\0\3\0\0\0w\31\0\0\3\1\0\0\10\0\1\0\0\0\0\0\t\0\2\0"..., 65535) = 5396 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 readlinkat(AT_FDCWD, "/sys/class/ieee80211/phy0/device/driver", "../../../../bus/platform/drivers"..., 64) = 44 read(4, "\24\0\0\0\3\0\2\0\3\0\0\0w\31\0\0\0\0\0\0", 65535) = 20 write(4, "\24\0\0\0\30\0\5\3\4\0\0\0w\31\0\0\5\1\0\0", 20) = 20 read(4, "\224\0\0\0\30\0\2\0\4\0\0\0w\31\0\0\7\1\0\0\10\0\3\0\f\0\0\0\r\0\4\0"..., 65535) = 148 read(4, "\24\0\0\0\3\0\2\0\4\0\0\0w\31\0\0\0\0\0\0", 65535) = 20 write(3, "(\0\0\0\22\0\1\3\5\0\0\0w\31\0\0\21\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 40) = 40 read(3, "D\5\0\0\20\0\2\0\5\0\0\0w\31\0\0\0\0\4\3\1\0\0\0I\0\1\0\0\0\0\0"..., 65535) = 2744 read(3, "t\5\0\0\20\0\2\0\5\0\0\0w\31\0\0\0\0\1\0\3\0\0\0C\20\1\0\0\0\0\0"..., 65535) = 13284 read(3, "\24\0\0\0\3\0\2\0\5\0\0\0w\31\0\0\0\0\0\0", 65535) = 20 writev(2, [{iov_base="", iov_len=0}, {iov_base="failed to get interface list\n", iov_len=29}], 2failed to get interface list ) = 29 close(5) = 0 close(3) = 0 close(4) = 0 munmap(0x7fbb404000, 4096) = 0 munmap(0x7fbb33a000, 49152) = 0 munmap(0x7fbb405000, 24576) = 0 munmap(0x7fbb40b000, 20480) = 0 munmap(0x7fbb410000, 8192) = 0 munmap(0x7fbb401000, 4096) = 0 munmap(0x7fbb400000, 4096) = 0 munmap(0x7fbb3ff000, 4096) = 0 munmap(0x7fbb3fe000, 4096) = 0 munmap(0x7fbb3fd000, 4096) = 0 munmap(0x7fbb3fc000, 4096) = 0 munmap(0x7fbb3fb000, 4096) = 0 munmap(0x7fbb338000, 8192) = 0 munmap(0x7fbb336000, 8192) = 0 munmap(0x7fbb334000, 8192) = 0 munmap(0x7fbb332000, 8192) = 0 munmap(0x7fbb32e000, 16384) = 0 munmap(0x7fbb32a000, 16384) = 0 munmap(0x7fbb326000, 16384) = 0 munmap(0x7fbb322000, 16384) = 0 munmap(0x7fbb31a000, 32768) = 0 munmap(0x7fbb312000, 32768) = 0 munmap(0x7fbb30a000, 32768) = 0 munmap(0x7fbb302000, 32768) = 0 munmap(0x7fbb2f2000, 65536) = 0 munmap(0x7fbb402000, 8192) = 0 writev(1, [{iov_base="", iov_len=0}, {iov_base="\n\33[?25h", iov_len=7}], 2 ) = 7 writev(2, [{iov_base="1 ERROR(s) during runtime\n", iov_len=26}, {iov_base=NULL, iov_len=0}], 21 ERROR(s) during runtime ) = 26 writev(1, [{iov_base="", iov_len=0}, {iov_base="\n", iov_len=1}], 2 ) = 1 writev(1, [{iov_base="", iov_len=0}, {iov_base="bye-bye\n\n", iov_len=9}], 2bye-bye

) = 9 exit_group(0) = ? +++ exited with 0 +++`

ZerBea commented 8 months ago

strace is not helpful in this case, because hcxdumptool use NETLINK to retrieve the interface list instead of requesting it directly from "/sys/class/ieee80211/phy1/device/driver":

static bool get_interfacelist(void)
{
static size_t i;

nl_get_familyid();
if(nlfamily == 0)
    {
    errorcount++;
    return false;
    }
nl_get_regulatorydomain();
if(nl_get_interfacecapabilities() == false) return false;
if(nl_get_interfacelist() == false) return false;
for(i = 0; i < INTERFACELIST_MAX -1; i++)
    {
    if((ifpresentlist +i)->index == 0) break;
    ifpresentlistcounter++;
    }
if(rt_get_interfacelist() == false) return false;
if(ifpresentlistcounter == 0) return false;
qsort(ifpresentlist, ifpresentlistcounter, INTERFACELIST_SIZE, sort_interfacelist_by_index);
return true;
}

First of all we need to find the exact error: RTNETLINK or NL80211. Please add some debug printf to the function mentioned above to latest git head of hcxdumptool:

static bool get_interfacelist(void)
{
static size_t i;

nl_get_familyid();
if(nlfamily == 0)
    {
    errorcount++;
       fprintf(stderr, "NETLINK general failed to get family ID\n");
    return false;
    }
nl_get_regulatorydomain();
if(nl_get_interfacecapabilities() == false)
    {
       fprintf(stderr, "NETLINK NL80211 failed to get interface capabilites\n");
       return false;
       }
if(nl_get_interfacelist() == false)
    {
       fprintf(stderr, "NETLINK NL80211 failed to get interface list\n");
       return false;
       }

for(i = 0; i < INTERFACELIST_MAX -1; i++)
    {
    if((ifpresentlist +i)->index == 0) break;
    ifpresentlistcounter++;
    }
if(rt_get_interfacelist() == false)
    {
       fprintf(stderr, "RTNETLINK failed to get interface capabilites\n");
       return false;
       }
if(ifpresentlistcounter == 0) return false;
qsort(ifpresentlist, ifpresentlistcounter, INTERFACELIST_SIZE, sort_interfacelist_by_index);
return true;
}

Than run: call function to get Iinterface (L)ist $ hcxdumptool -L and to: call function to get interface (I)nformation $ hcxdumptool -I INTERFACE

If we need to debug NETLINK we have to add a NETLINK MONITOR INTERFACE:

$ sudo ip link add  nlmon0 type nlmon
$ sudo ip link set dev nlmon0 up

Now the communication between hcxdumptool and the kernel can be monitored via tshark or Wireshark or tcpdump.

Next step is to debug NETLINK:

ZerBea commented 8 months ago

My candidates:

either RTNETLINK is broken socket(AF_NETLINK, SOCK_RAW | SOCK_CLOEXEC, NETLINK_ROUTE)

or GENERIC NETLINK (NL80211) is broken socket(AF_NETLINK, SOCK_RAW | SOCK_CLOEXEC, NETLINK_GENERIC)

BTW: It is mandatory that you use latest git head of hcxdumptool which received a lot of openwrt NETLINK fixes!

This version has been confirmed as working: https://github.com/ZerBea/hcxdumptool/discussions/382#discussioncomment-7859354

kimocoder commented 8 months ago

Latest git;

root@OpenWrt:~/hcxdumptool# make -j2
cc -O3 -Wall -Wextra -Wpedantic -std=gnu99   -o hcxdumptool hcxdumptool.c -DVERSION_TAG=\"6.3.2-196-g074916f\" -DVERSION_YEAR=\"2024\" -DHCXSTATUSOUT -DHCXNMEAOUT 
hcxdumptool.c:14:10: fatal error: linux/filter.h: No such file or directory
   14 | #include <linux/filter.h>
      |          ^~~~~~~~~~~~~~~~
compilation terminated.
ZerBea commented 8 months ago

I'll check it.

ZerBea commented 8 months ago

That is the header file of the Linux Berkeley Packet Filter. It should be present in every Linux kernel, e.g.: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/include/linux/filter.h?h=v5.15.148 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/include/linux/filter.h?h=v5.10.209

kimocoder commented 8 months ago

"/root/openwrt/build_dir/target-aarch64_cortex-a53_musl/libbpf-1.3.0/include/linux/filter.h /root/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/iproute2-iptiny/iproute2-6.7.0/include/uapi/linux/filter.h /root/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/iptables-1.8.8/include/linux/filter.h /root/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/linux-5.15.148/include/linux/filter.h /root/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/linux-5.15.148/include/uapi/linux/filter.h /root/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/linux-5.15.148/tools/include/linux/filter.h /root/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/linux-5.15.148/tools/include/uapi/linux/filter.h /root/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/linux-5.15.148/user_headers/include/linux/filter.h /root/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/linux-5.15.148/usr/include/linux/filter.h "

kimocoder commented 8 months ago

it's in the build system, but not available for hcxdumptool specific to use?`I have no clue

ZerBea commented 8 months ago

looks like a gcc include path configuration problem.

$ echo | gcc -E -Wp,-v -
...
 /usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include
 /usr/local/include
 /usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include-fixed
 /usr/include
...

$ ls /usr/include/linux/filter.h
/usr/include/linux/filter.h
ZerBea commented 8 months ago
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <linux/filter.h>
#include <linux/genetlink.h>
#include <linux/if_packet.h>
#include <linux/limits.h>
#include <linux/nl80211.h>
#include <linux/rtnetlink.h>
#include <linux/version.h>

int main()
{
int a = 0;
printf("%02x\n", a);

return EXIT_SUCCESS;
}
$ gcc filter.c -o filter
$ 
ZerBea commented 8 months ago

Since v6.3.0 hcxdumptool has the option to add a Berkeley Packet Filter. This is flexible, really fast and thousand times better than doing this by soft coded filter lists https://github.com/ZerBea/hcxdumptool/discussions/420

ZerBea commented 8 months ago

Out of scope: rtl8xxxu

Please take a look at this: https://bugzilla.kernel.org/show_bug.cgi?id=217205#c77

and this: https://bugzilla.kernel.org/show_bug.cgi?id=217205#c84

Could be a fix (driver crash) and an improvement add TP-Link TL-WN8200ND v3) for your driver, too: https://github.com/kimocoder/realtek_rtwifi

kimocoder commented 8 months ago

" PHY Interface Driver Chipset

phy0 wlan0 mt798x-wmac Not pci, usb, or sdio (mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon) (mac80211 station mode vif disabled for [phy0]wlan0)

root@OpenWrt:~# hcxdumptool -i wlan0mon -w capture.pcapng

Requesting physical interface capabilities. This may take some time. Please be patient...

failed to get interface list PACKET_STATISTICS failed

1 ERROR(s) during runtime Possible reasons: driver is broken driver is busy (misconfigured system, other services access the INTERFACE) 0 Packet(s) captured by kernel 0 Packet(s) dropped by kernel Warning: too less packets received (monitor mode may not work as expected) Possible reasons: no transmitter in range frames are filtered out by BPF driver is broken 0 SHB written to pcapng dumpfile 0 IDB written to pcapng dumpfile 0 ECB written to pcapng dumpfile 0 EPB written to pcapng dumpfile "

After reinstall of OpenWRT (full flash) and clean install, I dont know what up

kimocoder commented 8 months ago

" root@OpenWrt:~ hcxdumptool -v hcxdumptool 6.3.2-197-gf2d12ac (C) 2024 ZeroBeat running on Linux kernel 5.15.148 compiled by gcc 12.3.0 compiled with Linux API headers 6.1.75 glibc (__GLIBC_MINOR__) is not defined enabled REALTIME DISPLAY enabled GPS support disabled BPF compiler root@OpenWrt:~ root@OpenWrt:~ root@OpenWrt:~ uname -a Linux OpenWrt 5.15.148 #0 SMP Sun Feb 4 00:12:51 2024 aarch64 GNU/Linux root@OpenWrt:~ root@OpenWrt:~ root@OpenWrt:~ airmon-ng

PHY Interface Driver Chipset

phy0 wlan0 mt798x-wmac Not pci, usb, or sdio

root@OpenWrt:~ root@OpenWrt:~ root@OpenWrt:~ hcxdumptool -i wlan0 -w capture.pcapng

Requesting physical interface capabilities. This may take some time. Please be patient...

failed to get interface list PACKET_STATISTICS failed

1 ERROR(s) during runtime Possible reasons: driver is broken driver is busy (misconfigured system, other services access the INTERFACE) 0 Packet(s) captured by kernel 0 Packet(s) dropped by kernel Warning: too less packets received (monitor mode may not work as expected) Possible reasons: no transmitter in range frames are filtered out by BPF driver is broken 0 SHB written to pcapng dumpfile 0 IDB written to pcapng dumpfile 0 ECB written to pcapng dumpfile 0 EPB written to pcapng dumpfile

root@OpenWrt:~ "

ZerBea commented 8 months ago

failed to get interface list GENERIC NETLINK or NETLINK ROUTE failed.

I'll code a test version. Please give me some minutes.

ZerBea commented 8 months ago

Here we go: hcxdumptool.c.zip

replace git version by this one

$ make
$ ./hcxdumptool -L
$ ./hcxdumptool -I wlan0

Please do not use airmon-ng or iw to set a VIF (wlan0mon). We need the values of the hardware interface.

kimocoder commented 8 months ago

Out of scope: rtl8xxxu

Please take a look at this: https://bugzilla.kernel.org/show_bug.cgi?id=217205#c77

and this: https://bugzilla.kernel.org/show_bug.cgi?id=217205#c84

Could be a fix (driver crash) and an improvement add TP-Link TL-WN8200ND v3) for your driver, too: https://github.com/kimocoder/realtek_rtwifi

Now rtl8xxxu is more developed, so I left mine

kimocoder commented 8 months ago

Here we go: hcxdumptool.c.zip

replace git version by this one

$ make
$ ./hcxdumptool -L
$ ./hcxdumptool -I wlan0

Please do not use airmon-ng or iw to set a VIF (wlan0mon). We need the values of the hardware interface.

Yup, "Failed to get interface list"

ZerBea commented 8 months ago

That's interesting. I've added tons of debug messages. Every single call got one.

ZerBea commented 8 months ago

But I have an idea.

ZerBea commented 8 months ago

Same procedure: hcxdumptool.c.zip

Output should look like this:

$ ./hcxdumptool -l
requesting interface list via NETLINK
NETLINK ifindex 4
NETLINK ifname  wlp22s0f0u9u4
NETLINK wiphy 1
stderr, detected interfaces : 1
  1   4 503eaa124a27    780b8c5efbac    *   wlp22s0f0u9u4       mt76x0u NETLINK
ZerBea commented 8 months ago

airmon-ng is not affected, because it read the interface information directly from "/sys/class/ieee80211/phy1/device/driver" and not via NETLINK.

kimocoder commented 8 months ago

Ok, let me check :100:

kimocoder commented 8 months ago

" root@OpenWrt:~/hcxdumptool hcxdumptool -i wlan0 -w capture.pcapng

Requesting physical interface capabilities. This may take some time. Please be patient...

requesting interface list via NETLINK NETLINK ifindex 13 NETLINK ifname wlan0 NETLINK wiphy 0 stderr, detected interfaces : 0 failed to get interface list PACKET_STATISTICS failed

1 ERROR(s) during runtime Possible reasons: driver is broken driver is busy (misconfigured system, other services access the INTERFACE) 0 Packet(s) captured by kernel 0 Packet(s) dropped by kernel Warning: too less packets received (monitor mode may not work as expected) Possible reasons: no transmitter in range frames are filtered out by BPF driver is broken 0 SHB written to pcapng dumpfile 0 IDB written to pcapng dumpfile 0 ECB written to pcapng dumpfile 0 EPB written to pcapng dumpfile

root@OpenWrt:~/hcxdumptool "

ZerBea commented 8 months ago

Pushed an update to handle phy0 Please try.

ZerBea commented 8 months ago

Now we check the interface index. I'm assuming that it always start at 1.

kimocoder commented 8 months ago

" root@OpenWrt:~/wiphy wifi config Type error: attempt to set property on null value In wiphy_get_entry(), file /usr/share/hostap/wifi-detect.uc, line 50, byte 2: called from function wiphy_detect (/usr/share/hostap/wifi-detect.uc:138:41) called from anonymous function (/usr/share/hostap/wifi-detect.uc:144:14)

}; ^-- Near here

WARNING: Variable 'wlan' does not exist or is not an array/object WARNING: Variable 'wlan' does not exist or is not an array/object WARNING: Variable 'wlan' does not exist or is not an array/object root@OpenWrt:~/wiphy "

kimocoder commented 8 months ago

OpenWRT wifi configuration is affected too.

/usr/share/hostap/wifi-detect.uc

ZerBea commented 8 months ago

Looks like only kernel 5.15 is affected, while others are working fine. The workaround should be fine, as long as ifindex starts at 1. If not, we got a big problem.

kimocoder commented 8 months ago

Confirmed.

" CHA LAST R 1 3 P S MAC-AP ESSID (last seen on top) SCAN-FREQUENCY: 2412

1 13:13:04 + 743aefcfb87f Telenor9196rop 1 13:13:04 + + + + 743aefcfb74f Telenor9963sjy 1 13:13:04 + 44f034d921a2 Telenor6121lue 1 13:13:04 + + + + 743aefcea96f Telenor2986ert 1 13:13:04 + 40d63c62167d EMES-2.4GHz-62167D 1 13:13:04 + + 40d63c5a39a3 EMES-2.4GHz-5A39A3 1 13:13:04 fa8fca5d5576 Polk MagniFi Mini-1528.d 1 13:13:04 + + + + + 743aefcf563f Telenor8346mur 1 13:13:04 + + 743aef0870f9 TeWe 1 13:13:04 + 743aefd3eacf Telenor7930bor 1 13:13:04 + 90f8918bb791 Dromnesstuo 1 13:13:04 + 40d63c2cb886 EMES-2.4GHz-2CB886 1 13:13:04 + 40d63c94451f EMES-2.4GHz-94451F 1 13:13:04 + 90f891c7c039 Telenor1247sol 1 13:13:02 + 40d63c81441f EMES-2.4GHz-81441F 1 13:13:02 + 40d63c5c2aab EMES-2.4GHz-5C2AAB 1 13:13:00 + 40d63c5c1017 EMES-2.4GHz-5C1017 1 13:13:00 + aa798d6a0268 DIRECT-aV-Asbjørn sin S22 Ultra 1 13:12:59 + 743aefcf52df Telenor8039egg 1 13:12:55 + 743aefced9bf Telenor6640uke

LAST E 2 MAC-AP-ROGUE MAC-CLIENT ESSID (last seen on top)

13:13:02 11111104d566 98f4ab641c20 13:12:58 + 743aefcf563f 1cc63c4b58fd Telenor8346mur 13:12:57 11111104d567 1cc63c4b58fd Telenor8346mur "

We're back in business, but it looks like a issue kernel related and a misconfiguration in the .uc file also

ZerBea commented 8 months ago

Great, glad that I could help.

ZerBea commented 8 months ago

Right now, I'm refactoring hcxdumptool (hcxlabtool as test version has been pushed), Than I play around with the rtl8xxxu driver to add the TP-Link v3 to it.

kimocoder commented 8 months ago

" root@OpenWrt:~/hcxtest# ./hcxdumptool -L

Requesting physical interface capabilities. This may take some time. Please be patient...

available wlan devices:

phy idx hw-mac virtual-mac m ifname driver (protocol)

1 14 c87f54bd31aa c87f54bd31aa phy1-ap0 mt798x-wmac (NETLINK) 0 15 ca7f54bd31ab b025aa6dc14e phy0-ap0 mt798x-wmac (NETLINK)

Yeah! thanks a lot, a router without hcxdumptool and a 256gb usb3.2 disk, is not a proper router :1st_place_medal:

ZerBea commented 8 months ago

I wouldn't call this a router... It's an evil and hungry beast!

ZerBea commented 8 months ago

I've tested opwnwrt on different Raspberries ant can confirm this behavior: Raspbian: first deviice = phy1 Arch Linux: first deviice = phy1 Debian: first deviice = phy1

OpenWRT (23.05.0): first device = phy0 (what a surprise)

On all distributions: first ifindex is always 1 (increase on every new connected or reconnected device)

ZerBea commented 8 months ago

Reopened, due to a huge problem:

# iw list
Wiphy phy1
    wiphy index: 1
...
Wiphy phy0
    wiphy index: 0
# iw dev
phy#1
    Interface wlan0
        ifindex 5
# ip addr
5: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000

Using getifaddrs() doesn't show wlan1:

# ./gi
 ifindex: 1 ifname: lo      
 ifindex: 4 ifname: eth0    
 ifindex: 5 ifname: wlan0   
 ifindex: 6 ifname: br-lan  

Regardless what I'm doing to detect the interface, If the interface has not been created before, hcxdumptool fails to detect it and it can't use it. Looks like this is OpenWRT specific (Arch & Debian are working as expected),

If have to refactor the entire detection of interfaces.

ZerBea commented 8 months ago

Looks like OpenWRT is doing something very special here: 3 devices present(2x USB and 1 x Raspberry Pi soc);

# iw list | grep phy
Wiphy phy2
    wiphy index: 2
Wiphy phy1
    wiphy index: 1
Wiphy phy0
    wiphy index: 0
# ls /sys/class/ieee80211/phy0/device/net/
ls: /sys/class/ieee80211/phy0/device/net/: No such file or directory

# ls /sys/class/ieee80211/phy1/device/net/
wlan0

# ls /sys/class/ieee80211/phy2/device/net/
ls: /sys/class/ieee80211/phy2/device/net/: No such file or directory

# iw dev
phy#1
    Interface wlan0
        ifindex 5
        wdev 0x100000001
        addr b8:27:eb:79:5f:d5
        type managed
        channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz

Expected, because the Broadcom chip dos not support monitor mode
# iw dev wlan0 set type monitor
command failed: Not supported (-95)

Not expected
# iw dev wlan1 set type monitor
command failed: No such device (-19)

Not expected
# iw dev wlan2 set type monitor
command failed: No such device (-19)

Any ideas?

I don't think that's the intention! The only solution is to assign the unassigned devices - but I don't like this idea.

ZerBea commented 8 months ago

I think I got a solution:

# ./hcxlabtool
phy: 1 driver: brcmfmac
phy: 0 driver: rtl8xxxu

I can now retrieve all the information. But unfortunately, I have to hijack all unassigned interfaces to find the best one.

kimocoder commented 8 months ago

bcm has monitor mode and injection via Nexmon

ZerBea commented 8 months ago

Thanks for the information. I'm now able to detect unassigned devices running OpenWRT on a Raspberry Pi Zero w. Next step is to hijack them.

Than I'll move from using IFINDEX:

 * @NL80211_CMD_SET_CHANNEL: Set the channel (using %NL80211_ATTR_WIPHY_FREQ
 *  and the attributes determining channel width) the given interface
 *  (identifed by %NL80211_ATTR_IFINDEX) shall operate on.
 *  In case multiple channels are supported by the device, the mechanism
 *  with which it switches channels is implementation-defined.
 *  When a monitor interface is given, it can only switch channel while
 *  no other interfaces are operating to avoid disturbing the operation
 *  of any other interfaces, and other interfaces will again take
 *  precedence when they are used.

to WIPHY:

 * @NL80211_CMD_SET_WIPHY: set wiphy parameters, needs %NL80211_ATTR_WIPHY or
 *  %NL80211_ATTR_IFINDEX; can be used to set %NL80211_ATTR_WIPHY_NAME,
 *  %NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ,
 *  %NL80211_ATTR_WIPHY_FREQ_OFFSET (and the attributes determining the
 *  channel width; this is used for setting monitor mode channel),

Due to the same reasons I'll check if the user tries to run hcxdumptool on a VIF. If that is the case, I'll remove it.

ZerBea commented 8 months ago

If you take a look at the latest commits on hcxlabtool you'll notice massive changed related to OpenWRT: https://github.com/ZerBea/wifi_laboratory And it's not even all the changes and there is still a lot of work to be done. But I think it is worth it, due to OpenWRTs incredible performance and well suited drivers.

Starting in February 2022, support for ARMv5 and ARMv6 architectures will be ended in Arch Linux ARM: https://archlinuxarm.org/forum/viewtopic.php?f=3&t=15721 OpenWRT is by far the best alternative.

ZerBea commented 8 months ago

Last but not least I got it. The problem is not related to hcxdumptool and there is no need to hijack devices that are not assigned.

The real cause is related to OpenWRT's wireless configuration in /etc/config/wireless. By default the devices are configured to a PATH: option path 'platform/101c0000.ehci/usb1/1-1/1-1.1/1-1.1:1.0' That will not work, if the USB port has been changed.

A better solution e.g. for a Raspberry Pi Zero W (on board radio and one radio attached to the USB port) is to assign them to the physical address (phy).

config wifi-device 'radio0'
        option type 'mac80211'
        option phy 'phy0'
        option channel '1'
        option band '2g'
        option htmode 'HT20'
        option disabled '0'

config wifi-iface 'default_radio0'
        optiion ifname 'wlan0'
        option device 'radio0'
        option mode 'managed'

config wifi-device 'radio1'
        option type 'mac80211'
        option phy 'phy1'
        option channel '1'
        option band '2g'
        option htmode 'HT20'
        option disabled '0'

config wifi-iface 'default_radio1'
        option ifname 'wlan1'
        option device 'radio1'
        option mode 'managed'

Now the onboard device and an attached USB device are assigned and hcxdumptool is allowed to use them.

Closed, because it issue is related to OpenWRTs configuration.