What's new

tcpdump on RT-AC66U causes reboot

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

highwire

Regular Contributor
This post is kind of hail-Mary. When I had Merlin's 374.43 firmware on a RT-AC66U, I could ssh to the router and run tcpdump (I installed it via entware), and it would run flawlessly. I could even send the info via wireless to my MacBook Pro running WireShark like this:

ssh name@router tcpdump -U -s0 -w - | /Applications/Wireshark.app/Contents/Resources/bin/wireshark -k -i -

and it would run pretty much forever.

I installed 376.44, cleared NVRAM and did my standard setup. The jffs and /opt/var partitions survived, as did my startup scripts.

Anyhow, now when I run tcpdump, such as:

tcpdump -ieth0 -U -s0 net 10.0.1.x, it will run for about a minute or two and then the router reboots. The system logs -> general logs don't shed any light as to why this is happening.

Any advice on how I can debug this? Thanks.
 
I have to admit I have exactly the same issue, but I have N66U router.
And for me it was similar history - on the earlier versions it was working fine and after upgrade it does not.

Does anyone have any clue how to fix the problem?
For me it becomes really critical since I cannot log http traffic anymore.
 
You could try installing strace and seeing which call causes the reboot. I suspect it's a kernel bug. Might help to compare to the old firmware too.
 
Here's the tail of the strace output of 'strace -oblah.txt tcpdump -ieth0 -U -s0 net 10.0.1.29'. I have no idea what this means, but the router rebooted as usual...


write(2, " (", 2) = 2
write(2, "Ethernet", 8) = 8
write(2, "), capture size ", 16) = 16
write(2, "65535", 5) = 5
write(2, " bytes\n", 7) = 7
recvmsg(3, 0x7ff12a3c, MSG_TRUNC) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---
recvmsg(3, 0x7ff12a3c, MSG_TRUNC) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---
recvmsg(3, 0x7ff12a3c, MSG_TRUNC) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---
recvmsg(3, 0x7ff12a3c, MSG_TRUNC) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---
recvmsg(3, 0x7ff12a3c, MSG_TRUNC) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---
recvmsg(3, 0x7ff12a3c, MSG_TRUNC) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---
recvmsg(3, 0x7ff12a3c, MSG_TRUNC) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---
recvmsg(3, 0x7ff12a3c, MSG_TRUNC) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---
recvmsg(3, 0x7ff12a3c, MSG_TRUNC) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---
recvmsg(3, 0x7ff12a3c, MSG_TRUNC) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---
recvmsg(3, 0x7ff12a3c, MSG_TRUNC) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---
recvmsg(3, 0x7ff12a3c, MSG_TRUNC) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---
recvmsg(3, 0x7ff12a3c, MSG_TRUNC) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---
recvmsg(3, 0x7ff12a3c, MSG_TRUNC) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---
recvmsg(3, 0x7ff12a3c, MSG_TRUNC) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---
recvmsg(3,
~
 
Guys, after some experiments I found out that disabling NAT acceleration under LAN -> Switch Control helps in my case. No reboots with tcpdump (and tcpflow and tshark as well for which actually i found issue first) observed after disabling this option.
 
Guys, after some experiments I found out that disabling NAT acceleration under LAN -> Switch Control helps in my case. No reboots with tcpdump (and tcpflow and tshark as well for which actually i found issue first) observed after disabling this option.

Good catch. I enabled per-IP stats which disables HW acceleration and no more crashes while running tcpdump. Thanks.
 

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top