I'm not 100% sure if this is samba fault, nic or something weird around the kernel.
What i'm doing:
i'm trying to run openwrt on DNS-320. All the support from kernel side already in upstream and works like a charm. I only did some cosmetic changes https://github.com/tsipa/openwrt/commit/e765c91ff66866c7e782806292893a00c68e4c24
What i'm observing:
samba randomly hangs on reads or writes. This happens very often and it's very repeatable. It happens with files with just few KBs.
What i have tried:
- built from sources from master of openwrt (4.14.12-4)
- binary opkg from master/snapshot package from upstream (4.14.12-4)
- opkg from releases/21.02.3 from upstream repo (4.14.12-1) < i know this version works just fine as i have device with it
Different client - linux; windows; weird android java implementation. All of them have the same behavior.
Disabling all possible offloadings from NIC.
Running client with -d10 https://paste2.org/GUKWfPwO server with -d2 https://paste2.org/wKdNk5bI
Running server with -d10. It simply doesn't work, dunno why. On client side i'm getting "unable to negotiate protocol" when running server with -d >=3 : client side https://paste2.org/6hMDpW70 ; server side https://paste2.org/M3Z1c58m
I know that it's not related to disk or fs - i've tried using file from a ramdisk with the same result.
Dumping traffic from client https://paste2.org/gxHLI4WU ; dumping same from server: https://paste2.org/4ebkYg0g i don't see any losses and anything too suspicious.
I suspect it's not related to L2 network. I've tried:
- use ftp server < it works just like a charm
- scp < works just fine
- ping with sizes 1 to 9999 bytes; works fine
I know it's not a hardware issue; without changing the setup:
- i flashed original firmware back and samba there somewhat worked
- i flashed alt-f firmware and samba there works also fine
I would appreciate any suggestions on how to investigate this deeper.