Sky Broadband with Mikrotik Router with IPv6

Like Mikrotik but don’t speak Mikrotik CLI eh? I’m with ya.

I took advantage of a deal and joined Sky for broadband. I’ll spare you the details, but even though they don’t offer fixed price contracts, the fact that they don’t use PPPoE and the generous new customer offer swayed me, and I think over the length of the contract, it works out cheaper than my previous provider.

This post was helpful in convincing me that it was possible to use my own router since I really don’t want the disruption of having to reconfigure my entire home network, which is filled with smart devices that don’t have great interfaces for updating connection settings. I extracted my username and password using wireshark, even though it’s argued that it’s not necessary — better to have the real credentials, since it’s straightforward to capture them.

You should go read that blog post if you don’t yet have IPv4 internet access from Sky over your Mikrotik. Think of this post as as a supplement that covers only IPv6 connectivity.

Only the clientid – option 61 appears to be required, and you set that to the same value as described in the linked blog post above. Request ‘prefix’ only, and choose a name for the pool and set prefix length to 56 — see screenshot.

On the advanced tab, I simply selected that it should send the clientid option:

That was enough to get a prefix bound within a few seconds. The prefixes seem to renew every hour, but as far as I can tell, the prefix has not changed since it was first acquired.

The final piece of the puzzle is to assign an IPv6 address on your “bridge” (LAN). This means you go to the IPv6 > Addresses and create a new address. On my router whose model is irrelevant, ether1 is designated as my WAN port, and the remaining ether2 to ether5 are all part of a “bridge” which serves as the LAN part of my network. The interface name for the bridge is conveniently called “bridge”, so you need to assign an IPv6 address from your prefix to the bridge. Really, all you need to specify is “::1/64” as the Address, set the Pool you created in your DHCPv6 client as the “from pool” value, and select “bridge” as the interface and Mikrotik will automatically generate a /64 subnet, and assign the first address to the interface once you hit apply.

The other values were left as their defaults.

Once this address was assigned, the hosts on the LAN automatically acquired an IPv6 address and were able to reach IPv6 only sites.

This doesn’t cover any additional configuration you might need for IPv6 — the Mikrotik wizard creates a reasonable default set of firewall rules and you can explore the web for any further customisation tasks.

Disney Plus vs Zen Internet vs MTU vs IPv6

This is a long and hopefully interesting story about how I resolved the inability to stream Disney Plus on my IPv6 enabled internet connection that had a non-standard MTU of 1492 bytes.

The short summary is:

  • Zen Internet, GB appears to support Layer 2 MTU of 1508. Just set your WAN interface MTU accordingly, and your PPPoE session when established will allow you to continue to advertise an MTU of 1500 bytes for IP (TCP/IP), which most apps and services on the internet prefer.
  • You may not have to disable IPv6 if you’re having issues with streaming Disney Plus, it’s probably just getting tripped up if you have a lower MTU than 1500.

And now for the rest of the fun story.

I recently re-subscribed to Disney Plus so I could catch up on new seasons of my favourite series. I settled in on a saturday evening, followed their email, subscribed for one month of the highest quality picture they offer. Login on my TV to watch, the cursor spins for a very long time, then tells me there was an error, and that I should contact their subscription support.

I chatted with two different people because I was using my mobile phone, and whenever my screen was locked because I needed to reboot something or other at the suggestion of their support personnel, the app would get suspended, and on resume, the chat session would be lost.

On the following day, I used my PC to start a chat session with the support team, and this time I chose Technical Support. Got a knowledgeable person who went through several tests, turn off wifi, reboot router etc all to no avail. I had a sneaky feeling that something about my internet connection’s MTU was causing trouble for Disney Plus, or some of it’s content delivery networks. I wasn’t supper confident about this however, since I couldn’t believe that a network as large as Disney Plus would fall prey to something so basic, especially since I had been an on and off customer of Disney plus for nearly 3 years without trouble. It couldn’t be IPv6 either, since I’ve also had IPv6 for 3 years as well.

My PS5 was the only thing that worked consistently, and I knew that the PS5 even though it accepted IPv6 addressing, generally had an OS level preference for IPv4, which the Disney Plus app was happy about. My PC would sometimes work, my phone didn’t work. All these devices were happy the last time I had a subscription, and nothing about my network had changed, so it was likely something that Disney Plus had introduced or changed.

Since I had a few hours to spare after a busy week and weekend, I decided to delve into the matter some more. Wireshark on my PC and packet captures on my router suggested that ICMP was working as expected, sending “packet too big” messages as required, however, a lot of the connections I attributed to Disney Plus seemed to stall after the ICMP message was sent by my router. The client would retry a few times, and then eventually the app would show a message advising you to contact support.

I observed that the app was actually trying to establish IPv6 connections to the relevant content servers, which I could tell from inspecting the TLS Client Hello packets, as they had distinctive domain names. Despite what Disney Plus help pages say, IPv6 is in use, and surely, they can’t expect me to disable IPv6 when they *should* design their app and infrastructure to avoid using IPv6 if they weren’t ready for it.

My ISP is currently Zen Internet, GB, and like so many ISPs in the UK, they use PPPoE, and since PPPoE has an overhead of around 8 bytes per packet, the MTU on internet bound connections in my home is lowered by 8, which is not the typical convention on the internet. However, with ICMP working correctly, this should pose no problem with any modern apps or services. I lived with this fact, having inspected network traffic and confirmed that it takes about 1ms after connection established for the relevant ICMP message is sent by my router to both ends of the connection… and I thought that’s not bad. In practice, the way TCP handles packet loss actually adds a slightly longer delay than 1ms LAN latency would imply, but nothing frustrating enough to act on.

Well, since I wanted to watch Disney Plus, this was finally the time to investigate how to address this in the hopes that it might fix Disney Plus streaming too.

I did some Google searches, and found some speculative information that Zen Internet will accept an a Layer 2 MTU (Ethernet) of 1508 in order to compensate for the overhead of PPPoE. Heh! Really? It’s that simple? Why didn’t I bother to check this two years ago?

Anyway, logged into my Mikrotik router, tweaked the L2 MTU for “ether1” which is acting as my WAN port up by +8 bytes. PPPoE session drops and restarts, and voila! MTU is now 1500 bytes.

Okay, that’s good. No more wasting precious milliseconds retransmitting packets due to ICMP packet too big. Great. I launch the Disney Plus app on my phone, it feels snappier than before, and instantly starts streaming.

Wow. I could have done this two freaking years ago 🙂

The moral of this story is that the Disney Plus app and infrastructure development team probably needs to pay more attention into how their infrastructure handles variable MTU values on the internet. Their app seems to suffer from significantly higher latency when used on networks with the non-typical MTU, and in addition, some of the servers in their video delivery CDN appear unable to deal with path MTU discovery when processing IPv6 traffic. Hopefully one of you stumbles upon this blog and puts some effort into improving this. Netflix and Youtube handle this stuff flawlessly, and there’s no reason why you cannot. Also, if you really don’t want users to use IPv6 on your service, don’t advertise AAAA records :).

Finding a USB C cable that does it all

Puzzled by the mass of USB type C cables that seemingly only support USB 2.0 speeds in 2025, I did some searching on Amazon, each time increasing the USB version number.


To my surprise, when I searched “usb 4 cable” on Amazon, I found actually decent quality results, for decent prices. To be clear, from experience, I consider Cable Matters, Anker and Amazon Basics to be of acceptable quality. You may have different rankings.

I ended up buying this one: https://amzn.eu/d/hNqvNSg on sale for £10, which is a good price if it actually works as advertised.

They are thicker than normal, but worth it in my view, to not have to think too much about what features the cable supports.

The Sonoff M5 Matter Light Switch

I’ve had Philips Hue Smart lights and various switches for nearly a decade now. I like them, they work reliably and allow me to perform some various lightweight automations that I find convenient. They’re quite pricey, the bridge only supports a limited number of devices, however their stability and performance have been good enough that I get no complaints from other occupants of the house.

My kitchen and dining room have spot lights — more than 30 of them, and trying to install Philips Hue GU10 spot lights in all them is far too costly — and would also exceed the capacity of the one Hue bridge I have, so I started off a small project of research, limiting myself to a £100 budget to find out what the way forward was with smart lighting that didn’t have the limitations of the Philips Hue, but that would provide me with the same level of reliability. I already have a Nest Hub (2nd Gen), and have been reading articles about Matter, which is supposed to be the industry standard that hopefully eliminates vendor lock-in and enables local control of smart devices. I know the Nest Hub itself is a Google device, and nobody knows how much longer Google will continue to support this, but since I have limited time to invest in this endeavour, I have convinced myself that if and when the time comes to move on from the Google Home, I would invest the necessary resources to adopt Home Assistant, ergo, I am not heading towards an unrecoverable dead-end.

Just for reference, since the stability might vary depending on the kind of wifi network you have, my home network is a Wifi 5/6 “hybrid mesh” system, with the 2.4Ghz band separated from the 5Ghz band. I called it “hybrid mesh” because it is a hodgepodge of various units acquired over time. Three out of 4 access points are Linksys Velop, Meshed, with support for 802.11r Fast-roaming enabled. Two of those Linksys were bought as a pack, two of them are hardwired, and one of them is using wireless backhaul. The fourth access point is a Fritzbox 7530AX that was issued by one of my ISPs in the past. Two out of 4 of the access points are Wifi 6 capable.

I tried the Wiz GU10 Smart LED Bulbs, two of them. They were on sale at the time, and cost me around £7 each. These paired fine with my Nest Hub over Matter.

At £7 a bulb, these were cheaper than Philips Hue, and as I understand, made by the same parent company as Hue, but still quite expensive considering the number of bulbs to handle. I also had concerns about my consumer-grade wifi’s performance with so many 2.4Ghz devices.

It would be far better instead if there were a wall switch that could control all the lightbulbs independently… and so I searched and found out many products claiming such support, and decided to try out the Sonoff M5-2C-86W, which is the UK spec version with two switches and 86mm width (to fit standard UK back boxes). This is quite a deep switch, and won’t sit comfortably in most UK back boxes, so I had to order some light switch surrounds that gave me about 4 extra millimetres of thickness to allow these switches to fit well and have a decent finish.

Even though the light switch is advertised as being directly compatible with Matter, they encourage you to use their App, which kind of defeats the point of Matter, so I initially deployed without bothering to use their app. However, I encountered several stability issues with wifi: The switches would periodically become unresponsive, and you would have to reset and re-add them to the Nest Hub again as new devices — about once a week.

This was a deal breaker for me, and I was close enough to removing them and filing the project off as a failure to be retried in a year or two when the ecosystem had matured a bit more, but I decided to pair with the manufacturer’s recommended app and check if there were any firmware updates. It turned out there was a small revision which fixed some unspecified bugs (their release notes are not helpful), but the net result was that the switch has remained stable and responsive as a Matter device in the Nest Hub for nearly 2 months now since I performed the firmware updates.

Verdict

In summary:

  • Build quality and tactile feedback can be improved: it is not as good as the products from the Philips Hue, or the Schneider Electric dumb switch it replaced, but it functional, and we are able to put up with it for the smart functionality. I expect they will come up with better revisions in the future, or some competitors will outdo them.
  • Stability and reliability is great after upgrading to firmware 1.1.0: out of the box, it was unreliable, and it doesn’t support Firmware Updates via Matter/Nest Hub. If you bought one or more that shipped with older firmware, you have to setup an account on their eWeLink app and update each manually, before you link them to your Matter controller of choice.

After firmware upgrades, I would recommend this switch to someone who was looking for a matter light switch.

Make sure you buy the one with the right specs for your home, because they have a lot of different specs for the same named switch, and I suspect this is the root cause for why Amazon has flagged the product as having a lot of returns.

It has worked well for me, and I find myself hoping they or someone releases the same switch, but with dimmers instead of simple on-off toggles. That’s the next thing I would like to add to my smart home — assuming the Matter Protocol even supports such a thing.

CASO MCG 25 Ceramic Chef – An Owner’s Review

After nearly — or merely — 7 years, my Sharp 900W Standard Microwave R360SLM had deteriorated too much due to rust around the base plate, and I wanted to replace it. I had got used to the quirks of the Sharp mentioned above — it had become easier through experience to hit the buttons on first try and I developed muscle memory for how to set time — mainly, I almost always used the quick start button which adds time in 30 second increments. The machine still worked, but I didn’t like the sight of rust.

The requirements for the replacement Microwave were simple:
– It must have a flatbed design
– It must be around the same size and capacity as the outgoing one.

In brief, after a long period of research and review reading, I settled on the CASO MCG 25 Ceramic Chef Microwave from a Company that I had never heard about before now.

Why? The marketing for the microwave sounded like the company put some thought into the design of the machine — Stainless steel interior, flatbed design, several auto-cook programmes, and a reasonable price. The fact that it also had a grill and convection function were not essential for me, since I have a built-in oven in my kitchen, so this did not factor in my purchase decision. However, I have been using the grill function too since it is convenient and easy enough to use for small meals.

Overall, the Caso Design appears to be a positive improvement over the outgoing Sharp, and I am glad that it retains a flatbed design, which is something that is becoming rarer to find. I would have no trouble recommending this machine — but you have to discount from the weight of my recommendation the fact that I don’t have a lot of experience with many different machines other than the ones I’ve encountered at my friends’ homes, the occasional holiday home and the ones I’ve owned myself.

Verdict (Positives)

  • The machine has a stainless steel interior and a glass (or possibly ceramic) base, with a rubber seal around it. Stainless steel is a wise choice as it should be more rust resistant.
  • The machine defaults to Microwave function, which is its primary purpose, so you can microwave without fuss.
  • It has physical buttons and a rotary dial which is a great combination in my experience.
  • Quick start (30 seconds) is one button press — You push the button and after a short delay, the microwave runs for 30 seconds — this is very useful for example, for quickly reheating a cup of tea or coffee. Push the button many times in quick succession to add more time in one minute increments.
  • The rotary dial adds time in 10-second increments, and since there are many ticks in a single revolution of the dial, you can very easily add many minutes using this dial. Excellent for those longer runs, like grilling or using the convection feature.
  • From my usage so far, it heats things evenly, and there’s an extractor fan which occasionally continues to run after a programme has ended, presumably to expel moisture or heat.
  • Micro + Grill is an excellent way to cook things like sausages.

Negatives

  • Once a programme has started, it is impossible to increase the time. This appears to be a common theme with all microwave ovens I have encountered though.
  • The extractor fan is pretty weak. It doesn’t expel a lot of moisture, so I default to leaving the machine open for a few minutes after using it, or giving it a quick wipe down with a kitchen towel.

I tested Desktop Mode on a Google Pixel 8

This blog post was painstakingly composed using the Desktop Mode of the Google Pixel 8 with a 24-inch monitor, a keyboard, a mouse and an i-Tec USB C dock.

The feature just about works, but there is some way to go yet before you can forgo buying a laptop.

I needed to enable the following settings in the Developer Options as well:
– Enable freeform windows on secondary display
– Enable freeform windows
– Enable non-resizable in Multi-Window

One of those settings required a restart of the phone, and I’m not certain that they are all required, however, I there is a limit to how much time and effort I’m willing to invest into this trivial detail.

One of the immediate bugs I faced was that while the keyboard and mouse were detected on initial connection, the mouse was constrained to the mobile phone screen only, leaving me with no way of interacting with the external display. It wasn’t until I went into the phone settings, found “External Display”, and toggled the rotation to 90 Degrees and back to Standard that the mouse appeared on the external display.

From this point forward, I was able to launch apps. I straightaway launched Firefox and began composing this post. There is a persistent keyboard bar that shows up, possibly related to auto suggestions and language settings that I could not disable, even though I had an external keyboard. I was however able to tuck it away into a corner of the screen.

Once I maximized an app, I could not figure out how to return it to a floating window size, nor how to bring back the menu to search for and launch a new app.

The external monitor display settings don’t appear to be independent. As far as I can tell, the display scaling is exactly the same as my phone display… My phone is set to a zoom level higher than 100% because I don’t like to squint to read text… this makes sense on my ~6 inch display, but is a bit absurd on an external monitor. I could not find a way to have the external display use a more reasonable zoom level.

I might make some time to send direct feedback to Google about this, and hopefully, they listen and are continuing to improve this feature for upcoming versions of Android.

PS. Hopefully, this is not too badly formatted. While it was possible to compose this on the phone with a keyboard and mouse, it was a bit constrained due to the limited multitasking abilities. I also couldn’t figure out how to resize an image for insertion into this post, for example, probably due to this being something I don’t regularly do on a phone.

Storage Speed: Kingston DataTraveler Kyson USB Flash Drive

Kingston DataTraveler Kyson, marketed as a high-performance USB flash drive with read speeds of up to 200MB/s and write speeds of 60MB/s. I have a 128GB unit purchased directly from Kingston.

Here are some notes about real life performance of the Kingston DataTraveler Kyson USB Flash Drive that might be of help in informing your purchase decision.

The specs of my windows PC aren’t important. It’s a 2020-era AMD AM4 machine and has no trouble reading or writing at speeds far in excess of what this flash drive tops out at. Flash drive is also connected to a USB 3.0 port, so there are no fundamental bottlenecks here.

screenshot of file being copied to kingston flash drive showing average write speed of about 29MB/s

While copying a 40GB file to this drive, the write speed at which file transfer spent the most time at was just shy of 30MB/s.

The read speed tracked slightly higher than rated at 220MB/s for the same file being copied from USB to internal SSD.

An attempt to run CrystalDiskMark 8 on the flash drive using a 32GB file spent over 10 minutes “preparing…”, and so I cancelled it, as I did not think it would add any further value to the above information.

Chromecast With Google TV: Five Issues Reviewers Rarely Mention

I’ve been living with three Chromecast with Google TV devices for over a year now.
Here are some of the challenges that Chromecasts have that you may not find just by reading reviews.

It is sluggish

The device is sluggish and unpredictable in day to day usage. Sometimes it responds fast, and other times it freezes, just enough to cause you to double or triple-press a button and wind up where you did not expect to while navigating the UI. To deal with this a bit better, I resorted in setting my profile into App-only mode. It’s possible that the newer device that Google sells, the Google TV Streamer is better, but I have not yet had a chance to live with one to compare.

Bluetooth Audio is Unreliable

I have a pair of mid-range Sony headphones, sometimes it’s helpful to others in the home to use headphones while watching TV. This is something that is impossible with all my three devices. The audio frequently drops out or becomes choppy and ruins the pacing of the content you’re watching. It’s effectively impossible to use my bluetooth headphones with this streamer. It’s an interesting issue, because my headphones work just fine with everything else I have tested them with, including 2 different Google Pixel phones, an ipad, a PC and a Macbook.

You have to power-cycle often

There’s something fundamentally wrong with the devices that causes them to crash or fail to display anything when waking up from sleep. It can happen often and intermittently, but not necessarily predictably. You are forced to power-cycle the device whenever this happens. There is a decent workaround for this particular issue though.

It is not a Law-Abiding Citizen over HDMI

Several things wrong with this device’s HDMI behaviour, including the failure to properly initialize on wake-up that I already covered. The other issue is that it regularly steals focus, and forces your TV to switch inputs to the Chromecast even if you did not request or want this.

The dongle will steal HDMI focus whenever it powers up or detects that you have turned on your TV. This is bad, because you can turn on your TV for many reasons that have nothing to do with the Google device, yet it forces your TV to switch input to the one that the dongle is connected to. One common annoyance for me, is that I power on my gaming console, and the chromecast immediately steals the focus just as the PIN input screen appears on the console. I’m forced to input the pin blindly, or to look for a remote to switch the input back to the desired input. There is no way to stop the chromecast from doing this.

The other way that this is a problem is that I have a large “network” of HDMI devices, including an AV-Receiver. The chromecast does not respect the power off command, *unless* the power off command was initiated by the chromecast remote. If you turn it off any other way, it powers right back up and steals HDMI focus, and this prevents even power-saving modes from working as intended.

The device manufacturer appears to be either unaware of any of these issues, or unwilling to even acknowledge and address them.

Profile Management Needs Improvement

You can create multiple user profiles and switch between them. Crucially, you can create profiles for kids and limit apps, but you can’t link profiles within apps to Google TV OS profiles. So for example, you could have a child account on Netflix, but you cannot restrict your Child’s Google TV OS profile to their child account. Every app has its own mechanism for managing profiles and setting parental controls. It’s a giant mess and nobody bothers to use them.

Yes, I understand why this is so, and it’s not an acceptable excuse. Google controls the OS and has rules in place for what apps it allows on the store. They could start to fix this at any time they want by desinging a unified mechanism for the OS, and putting the right policies in place for apps that are accepted on the platform.

Switching profiles requires a lot of steps, on a device which is already not very responsive.

Power-cycling the device can allow a child to bypass profile lock, even if you have set up all the content restrictions necessary. Kids can sign out of youtube, and by so doing, evade any content restrictions that you have put into their curated Google Profile that you built, and crucially, removing the ability for you to get a report of what they’re watching so you can review and discuss with them if needed. Youtube is a bit unique in that you can watch it without an account or a subscription, and if you’ve tried to watch youtube without an account, you might get a picture of the kind of crap that it throws at you. This puts you in a tough spot — your kid wants to watch minecraft and other gaming videos, they’ve outgrown youtube kids, you want them to be able to watch said minecraft videos and you’ve had discussions with them about responsible use of Youtube, but you cannot put in place any guardrails. Pfft!

A lot of hot air gets thrown about regarding parental controls and how it’s not the role of the government etc etc… it’s not too much to ask for tech platforms to provide tools that work for setting limits and being able to review activity on an account.