Sky Q Formula One UHD Failed Recordings

This morning was the first live qualifying of Formula One available in Ultra HD on Sky Q, and it’s looking like it’s caused issues for lots of people.

There are reports on Twitter and Sky’s forums of numerous issues – “Part Recorded” or “Failed” for Qualifying this morning. Other people report green screens, artefacts and blocky pictures.

Let’s run down what I think went wrong.

Sunday 26th 04:30am BST (Race Show): Gulp. My box went into eco mode at 2:45am BST when it should have stayed awake in order to record the race show at 4:30am. Thankfully I manually woke up in time to start the Sky Q box and record again manually.

This likely means that many folk’s UHD recordings of the F1 Australian Grand Prix would have failed. Not sure if this bug is related to yesterday morning’s failures – I cancelled my race recording and rescheduled them yesterday, but maybe there is a bug with eco mode ignoring recording times, or maybe it’s a DST issue given the clocks changed.

Either way, it likely needs a software update to fix, and I doubt they’ll be able to get that through QA in time for China in 2 weeks.

Here’s the power profile (all times GMT)

Saturday 25th 11:30am (Qualifying): It looks like the most prevalent error is a ~30m partial recording of Practice 3, then Qualifying shows “Failed”. I found someone on twitter, (Thanks @crcaterham!) who had the issue and got the PVR data from the API. He says that P3’s status is “RECORDED” – this suggests the box actually thought the 30 minutes it recorded was the whole program. Then Qualifying has no error code and just shows “FAILED”.

This now looks to be related to the changes in scheduling Sky made this week. Potentially there’s a bug in the EPG where if the “schedule” is changed, it doesn’t update the start time, and so the recording fails.

If you setup your UHD recordings after Sky changed the formatting of the programmes earlier this week, or if you cancelled and re-setup the recordings after, you didn’t have this issue. Because of this, it’s probably wise to cancel your race recordings from Recordings > Scheduled, and re-configure them, otherwise your race recording might suffer from the same fate!

Continue reading “Sky Q Formula One UHD Failed Recordings”

Sky Q Missing Thumbnails

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.
Continue reading “Sky Q Missing Thumbnails”

Sky Q UPnP, REST and WebSocket API interfaces

It’s been a few years since we got into digging around Sky+HD’s UPnP control protocol, but having recently updated to Sky Q, there are a few changes that break the way we were talking to the box.

Backwards Compatibility

The Sky Q box contains pretty much the same UPnP advertised control system as Sky+HD, and includes a couple of new endpoints (service nodes) to do things that don’t seem too interesting. A “Pairing” service node and a “BasicManagement” service node.

There is one potentially breaking change though. The SkyServe2 service node now provides the service type urn:schemas-nds-com:service:SkyPlay:2 as well as the SkyControl2 service node. If you register a listener, or make any calls against the SkyServe2 node, you won’t get any useful data. This means if you’re using a library like dalhundal/sky-plus-hd, you’ll need to skip over the response from SkyServe2, and just use SkyControl2 like before.
Continue reading “Sky Q UPnP, REST and WebSocket API interfaces”

iPhone 6S Launch Reservation Stock

It’s over 24 hours since the iPhone 6S became available for pre-ordering or reservation at your local Apple Store come the 25th February, and it’s safe to say Apple have way more of these things than they did the iPhone 6 last fall, as you can still make a reservation for a few models and pick it up on launch day – at any UK Apple store.

Last year, I threw together a little availability chart for UK availability to give an at-a-glace view into the way these things work. It worked okay, but it polled Apple’s reservation endpoints “live” (with a 60 second cache) and didn’t really allow me to build any trends out of it.

This year, for the Apple Watch launch, I threw a database onto the backend, and started storing the responses so I could process how quickly models sold out when the reservation APIs went live, and much more importantly, make some pretty graphs. Obviously, Ahrendts ruined that plan, but I was ready for this launch.

Onto the graphs…

Continue reading “iPhone 6S Launch Reservation Stock”

MAMP Pro on Yosemite Beta 5

Update: The developers of MAMP recommend the following workaround:

Workaround for the 10.10 Preview 5 bug: Rename the file “envvars” located in into “_envvars”

If you’re running MAMP Pro 3 and you installed Yosemite preview 5, you’ve probably noticed Apache won’t start anymore, with the following error:

dyld: Symbol not found: _iconv
Referenced from: /usr/lib/libmecabra.dylib
Expected in: /Applications/MAMP/Library/lib/libiconv.2.dylib
in /usr/lib/libmecabra.dylib

This is some kind of library error because of an updated library in the newest preview. You can fix this by forcing your own version of libiconv onto your computer, though you have to replace the system default version of libiconv, which in theory could cause bad things to happen – i’ve not noticed anything, but your milage will vary – and you should make sure you’ve got a system backup of everything incase the worst does happen.

Hopefully you’ve already got homebrew installed – if not, grab it from brew.sh and follow those instructions, then:

1) Allow homebrew to install duplicates of system software: brew tap homebrew/dupes
2) Install libiconv: brew install libiconv
3) Force it to link (replace) the system default: brew link libiconv --force
4) Delete the MAMP version of libiconv:
rm /Applications/MAMP/Library/lib/libiconv.2.dylib

Then everything should start properly.