Galaxy S5 device does not receive ip packet
I found why this happens, but not sure if I can do anything about it without root. There is a system configuration per network interface  called accept_local. For example: net.ipv4.conf.wlan0.accept_local. When it is set to 0, it can't receive packets from another local interface. Probably when it works on other devices, this configuration is set to 1. On Galaxy Note 3 it was set to 0. Once I did this, everything started working, but root was needed.
Update
Found a site which list the system variables values: https://census.tsyrklevich.net/
Specifically:

https://census.tsyrklevich.net/sysctls/net.ipv4.conf.wlan0.accept_local
https://census.tsyrklevich.net/sysctls/net.ipv4.conf.wlan0.rp_filter