22nd March Edit: Version 4 of the EPG rolled out today to all users. This changes the way the data is loaded from UDP to TCP, and should fix this bug.
There’s a common ‘bug’ with Sky Q that results in people seeing empty blue squares where the thumbnails should be.
I’ve tried to help folks on Sky’s own forum with this issue, but my post got deleted – presumably because I was guiding people on how to get information from their boxes via the Q App API. Whoops.
Anyway, this issue comes about because while some of the Sky Q guide content is loaded over a nice sensible HTTP TCP connection, they use extensively use UDP (as discussed yesterday) to request and receive data for the guide panels, and this is inherently unreliable.
Sky’s (Well, Cisco’s I guess) main issue here is that while they can control their own broadband network and routers to make sure UDP works properly, they can’t for all other ISPs.
This actually makes sense when you think about it. When Sky Q launched it required Sky Broadband. We all just assumed this was a marketing strategy, but it was likely that they needed more time to test other ISPs with the SkyQ software.
Sky’s UDP service lives on oig-e.sky.com port 3700, and seems to be a proprietary layer for sending and receiving data on top of it. That said, I know nothing about UDP (other than my short stint in the world of VoIP) – but Wireshark didn’t give much insight for sure.
As far as I can surmise, the issue here is that for some ISPs and routers, port forwarding for UDP packets ends up failing (which apparently is based about something called UDP hole punching). This makes sense – There’s a reason why VoIP systems tend to have to provide NAT proxies for some users.
For some users, a restart of both your router and Sky Q box will solve this issue temporarily, until the UDP packets stop getting through again.
For others, assigning a static IP to the Sky Q Box helps (again, this makes sense because the box won’t be moving around internally, and so the hole punching method can keep the ‘connection’ open properly)
Sky are telling folks that they’re going to solve this issue in a future update. I assume by either enabling a TCP fallback, or just dropping this UDP system altogether, which would be cool for the sake of understanding how this all works. Maybe this is in last week’s Q004 software release (which I haven’t got yet… 😢) – I’ll update once it’s available to me.