As has been mentioned earlier in this forum, this seems to affect older TVs only.
Like others, my problems started with an automated update about 20 hours ago -- but this is not likely to be cause -- rather that's when I first noticed it.
I have both an UA55D8000 (2012/13) and an UA60H6300 (2014). The newer model didn't stop working the whole time and is up-to-date. The older model eventually got up to date (3 distinct firmware upgrades OTA) but this didn't solve anything.
Another commenter mentioned that the DNS A records for www.samsung.com have changed and that querying those records are how Samsung Smart TVs determine whether they're online.
I don't know *when* they changed, certainly 5 CNAME redirections seems excessive. It's most likely that the older TVs are confused by the response.
Knowing this is the case, I set about to spoof DNS for www.samsung.com. As I always have a Linux machine (my desktop) running, I decided to install dnsmasq on that box to serve as a spoofing DNS resolver.
# apt-get install dnsmasq
Create file /etc/dnsmasq.d/my.conf
no-dhcp-interface=
server=8.8.8.8
no-resolv
no-hosts
addn-hosts=/etc/dnsmasq.hosts
log-queries
(8.8.8.8 or your prefered resolving DNS server)
Create file /etc/dnsmasq.hosts
23.215.231.37 www.samsung.com
(23.215.231.37 or whatever IP www.samsung.com resolves to closest to you!
# /etc/init.d/dnsmasq restart
Configure your TV to ask for all DNS via dnsmask on the Linux box:
Menu -> Network -> Network Status -> Cancel -> IP Settings -> DNS Server
You need to enter the IP address of the PC running dnsmasq (10.0.0.5 in my case).
That works for me in Australia with the TV set to Australia (after factory resetting it).
However, as I use a GEO-unblocking service (Playmo.tv in my case) to watch US Netflix, I needed to fix up the TV and dnsmasq settings to compensate.
Replace 8.8.8.8 (or you normal DNS server) with the specific DNS server you need to use to do GEO-unblocking (in my case 108.174.147.177 -- you need a password, sorry guys
) and restart dnsmasq:
In /etc/dnsmasq.d/my.conf:
server=8.8.8.8
# /etc/init.d/dnsmasq restart
On the TV:
[ff] 2 8 9 [rw] <United States of America>
Let the TV do all the updates (remove Australian default apps, install American default apps)...
And, now I'm happily watching Netflix, Hulu+, etc again.