2022-03-25

When is gigabit not gigabit?

We (A&A) sell gigabit services, as both Ethernet and FTTP. We see other ISPs selling 950M or 900M, why? Will I get a gigabit?

What is a gigabit anyway?

A gigabit speed means one billion bits of data per second, simples...

There are a couple of gotchas to start with - firstly a gigabit is 1,000,000,000 bits per second, it is not 230 (i.e. 1,073,741,824) bits per second. A lot of files on computers are measured in gibibytes or mebibytes, not gigabytes or megabytes. The second gotcha is this is bits, not bytes. There are 8 bits in a byte, so a gigabit is 125,000,000 bytes per second.

So where exactly are we measuring that speed?

The answer is that when packets of data are sent to you, i.e. to your equipment in your home or office, those packets of data have a sequence of bits that are coming at 1 billion bits per second for the whole of each packet.

That sounds like a cop out, what do we mean by that exactly?

Well, that is how it works, packets of data are sent. You don’t actually get a “file” in one go, it comes as packets of data, and there can be lots of other packets of data for other reasons, and even gaps between the packets.

Why gaps?

The main reason for gaps between the packets is that the Internet as a whole, and lots of the bits of infrastructure to you, are a shared service. You are sharing infrastructure with other people. How much of that is shared and where it is shared depends on the service you have and where you are transferring data from. An un-contended Ethernet service from us means we can send back to back packets at a gigabit from our data centre to you and get that true full gigabit speed with no gaps - yay! But even then, our equipment and the rest of the Internet is shared with other people. For services like FTTP, some of the infrastructure between us and you, and even between the exchange and you, is shared - indeed BT basically only guarantee about 20% of the download speed during their busiest period.

Being shared does not necessarily mean you don’t get the full gigabit though - that happens when there is contention, and lots of the Internet is built with spare capacity at all times. We aim for A&A never to be the bottleneck, for example, so yes, most of the time, if you have a gigabit service you can expect a gigabit throughput.

Other stuff in packets?

Even when there is no contention and packet are coming back to back with no gaps at that full gigabit speed, that does not mean you can transfer a file at a gigabit speed (i.e. 125MB/s). But why?

The answer is that packets don’t just contain the data in your file. Even a full sized packet carrying, say, 1440 bytes of data from your file, will have extra bits. Typically 20 bytes TCP, 40 bytes IP, 26 bytes Ethernet with VLAN tag, 8 bytes PPPoE, all of which take up space in that packet. That means over 5% is not part of a file transfer even with full sized packets. That is one reason to see services sold as 950M, not because the actual service is not gigabit, it is, but because the way you are using it (Internet access) has overheads.

What is special about gigabit?

All of what we have said is true for any speed of Internet connection, contention and overheads mean the speed of a file transfer does not look the same as the underlying speed of the bits on the wire, which is what you are buying. So what makes gigabit special?

Well, a gigabit is fast. Indeed, with even just tens of milliseconds latency, it is way faster than TCP/IP was originally designed for. But let’s look at a few of the reasons a gigabit can be a challenge.

  • Your computer may only have a gigabit port, and so may your switches. That alone means you are sharing your own gigabit infrastructure with other uses on your own network. That can have some impact. Indeed, actually managing a gigabit throughput can be a challenge for many computers depending on their age. If you have a modern computer, you should be able to get pretty close though.
  • Remember WiFi is rarely sensible at these speeds. Some specifications of modern WiFi over short distances do claim to handle a gigabit, but it is rare. If you want to get close you need Ethernet wired in. 
  • Your router / firewall may not be up to it. Even the firewalls we make, such as the FireBrick FB2900 cannot quite do a gigabit, sorry. We have new designs planned which can, but component shortages mean they are a year or two off. Just because a router or firewall has gigabit ports does not mean it can handle a gigabit throughput - so check the specification.
  • Whilst much of the Internet backbone is very fast fibres, some even terabits in speed, lots of bits at the edges are slower. Gigabit end user connections are relatively new, and so some companies serving files to you may have lots of servers, and ports, but those ports could be only gigabit themselves. So even though they may have capacity for thousands of customers downloading at once, if you are one of 2 people on a server port that is only a gigabit, you may only get half that speed. The good news is this is changing, and lots of kit is faster - notably the big content delivery networks which are used for a lot of downloads (like software updates and so on) are a lot faster.
  • Even where there are big servers with very fast ports, gigabit speed end users can hog all of the download capacity, and so servers may well limit individual transfer rates to make it fare. Having a gigabit means you can easily “suck” 10 times as much as most other people.
  • A lot of speed checkers were designed for ADSL and VDSL and simply don’t have the capacity to be able to measure gigabit speeds. So check if they claim to be able to do that. Some do now, because there are gigabit users, so some can cope.

What can I actually expect?

YMMV, as they say (Your mileage may vary). I personally have a gigabit fibre but using a FireBrick FB2900, and in my case, most of the time, the FB2900 is the bottleneck. Even so I have seen sustained downloads of a game s/w update at 850Mb/s. Some people with faster equipment than I have do get much higher speeds. A gigabit (allowing for those packet overheads) is possible, but it will depend on a lot of factors, as you can see.

Faster fibre at A&A

The technology used for broadband is changing and FTTP is the way forward - BT are rolling this out all over the place, and it is where all broadband will eventually go. It is happening quickly. We also sell Ethernet services (albeit rather more expensive).

But the way we work at A&A is a little different to other ISPs. One of our key aims is to "not be the bottleneck". To that end we have been very cautious over higher speed FTTP services.

The reason is the LNSs, the boxes that handle the links from us to customers. Long ago we upgraded the underlying links to carriers to multiple 10Gb/s pipes. This was an important step. We also upgraded a lot of transit and peering links to 10Gb/s. But the LNSs we use only have 2Gb/s links. We have a lot of them, which is great as it spreads the load, but any one customer will be one LNS.

When customers have speeds like 80Mb/s, or even 160Mb/s (which we have been doing as bonded dual 80Mb/s for a long time), this is generally not an issue. The LNSs have the "headroom" to allow for bursts in traffic. But having customers with 1Gb/s services would make it impractical to ensure that level of headroom on the LNSs.

Just to be clear, the average usage levels, which is ultimately what matters for a lot of capacity planning, do not go up a lot for people with Gb/s links over those with 80Mb/s links. Yes, they burst faster, but overall people download and stream the same sort of stuff, just faster. However, those high speed bursts can impact other users.

The solution in the short term was not to sell the higher speeds. Yes, that puts off some customers, and so costs us, but I would rather do that than have a service that is not as good as it could be. This is not unprecedented - when we first started we quickly reached capacity on our first BT links, and we stopped selling more circuits until we had more capacity. The quality of the service we sell is paramount.

We make our own LNSs, and have done so for a long time. Yes, I think we are the only ISP that does that. They are better in many ways than a lot of "off the shelf" LNSs, not least of which because of our constant quality monitoring which is still unique to FireBricks. The details that the once a second LCP echo on every line gives us is invaluable in diagnosing faults and issues with any lines, and allows us to provide unbeaten fault resolution for broadband lines - so much so that for many years we have offered to fix faults for customers moving to us or refund in full - and not once have we had to refund. A number of smaller ISPs use these same FireBrick LNSs and offer similar quality services.

So, naturally we need the next generation FireBrick LNSs for faster lines. These have 28Gb/s of ports, though in practice they will mainly use the two 10Gb/s ports linked. This may not seem a huge step but it allows us to have these new LNS running at much higher capacity and still have headroom for bursting at 1Gb/s speeds from high speed FTTP customers. We also have these as routers for Ethernet links.

The challenge, and it is a big one, is mainly pandemic related - the global component shortage. We would be making hundreds of these new LNSs now if not for the issues with supply. We hope, later in the year, to be making some more, but it seems crystal balls are also in short supply.

Thankfully the prototypes we started making before the major supply issues are working. There are not many, and they have to be shared between several uses, but we now have some as LNSs in A&A.

There is still work on the software, as a lot of optimisation for these high speeds is needed, but they have allowed us to finally start selling the faster FTTP speeds. More of these LNSs will be deployed in coming weeks.

The pricing for these higher speeds very much reflects the costs we have from carriers like BT, and the higher speeds are not cheap. But as always we still aim not to be the bottleneck. We're keen to see how this works for customers and what feedback they can provide on their experience.

But we have now updated ordering for new FTTP services, and regrades for existing FTTP lines, to allow the higher speeds. This was planned for 1st April, but is live now. A&A will make a more formal announcement next week, but being the boss lets me jump in and tell you now :-)

It is still part of our gradual roll out of the new LNSs, and something we are taking slowly and cautiously. But it really feels like we are getting there with the faster services now.

2022-03-24

Possible VAT scam

The reduction in VAT rate on energy saving products has made me ponder that there could be a bit of a scam possibility here. And one I am not sure is even illegal!

These products are the type of thing that have long lead times and so it is very likely that any installers have a lot of "in flight" orders. Orders where the work (supply) will be after 1st April, but the order has already been placed and deposits paid. They are also the sort of order that is likely to be many thousands of pounds of work.

These orders are where the customer has been quoted a price, and as a consumer they expect that to be the price they pay in full. The fact that there is a VAT element (in this case 5%) should not really be a factor for such consumers.

As the deposit has been paid before 1st April, all of these will have a tax point that makes the work all 5% VAT, not the 0% VAT that applies after 1st April. This is because a payment brings the tax point back to when the payment was made even if the supply or invoice is later.

The fun starts with the special rules for VAT rate changes. These give the supplier the choice to change the tax point to the date of supply - i.e. move from the payment (before 1st April) to the work being done (after 1st April). This would allow the VAT rate to change to 0%. In my case this would save me over £1000. All they need to do is credit the 5% VAT invoice and issue a new 0% VAT invoice, and so make the job cheaper.

The issue is that this is the supplier's choice, not the customer's. They can choose not to. If the supplier says no, there is not much you can do, especially if you have in fact paid for the work already.

Bear in mind the the supplier does not gain or lose by doing this, they have to pay whatever VAT they charged to HMRC. If that changes from 5% to 0% and saves the customer money, the supplier does not lose out. So why would the supplier refuse to do that?

So where is the scam?

What if a supplier says they won't reduce the price, and you end up paying what was agreed (the inclusive price). Customer has not "lost out", they are paying what was agreed. No fraud, or scam there.

What if the supplier then decides to apply the special VAT rate change rules, credits the original 5% VAT invoice, and reissues for the same total inclusive amount at 0% VAT. Again, this is within the VAT rules. They can elect to apply the supply date as the tax point when a VAT rate changes.

Now, the suppler gains the VAT they would have charged, no longer having to pay it to HMRC.

HMRC have not lost out, as this is according to the VAT rules and new VAT rate.

Customer has not lost out, as they have paid the agreed total amount - what part of that is VAT does not impact them financially.

As the customer is a consumer, the supplier does not even have to issue a VAT invoice, so they don't have to issue the credit note and new invoice that was created to change the VAT rate.

So, in my non lawyer view, this is not even illegal in any way. If nobody is losing out there is no fraud involved.

Even for a small supplier this could easily make the tens of thousands of pounds. For some big national supplier this could be well worth doing.

The only way this could be an issue, perhaps, is where the supplier has provided a quote or invoice with the VAT shown (which they don't have to for a consumer). They are in effect stating an amount of what was paid is a tax. If that is untrue, maybe that is fraud as they have gained from a lie... If they did not issue a VAT quote/invoice, then charging to same agreed total amount is probably quite valid.

Lucky

I have been rather lucky that I am finally getting air-con and solar sorted, both with installation dates in April, so I can actually benefit for this rate cut! I was gobsmacked to find anything personally beneficial from this government shit show to be honest. And after a little to and fro, I have confirmation from both suppliers that they understand the rules on the VAT rate change and can adjust my bill accordingly.

2022-03-23

VAT on energy products

There is a low (5%) rate on some energy saving products - the rules are complex to say the least and mainly relate to installers, and even the ratio of labour and parts matters. Heck, apparently, it matters if the customer is over 60 (which my wife is, so yay!).

The chancellor reduced VAT to 0% from 5% from 1st April with very little notice.

On a political point, this is batshit insane - the reduction will not help a single person that is struggling to pay their energy bills. You need to have the capital (or be able to get a loan) to install solar, etc, which won't pay back for years. That is no help to anyone on the bread line whatsoever. Even then, the result of this may simply be installers increasing prices and no saving to the customers at all!

The way the rules work means that even those that can manage a small amount now and then to make a DIY solar install and save some money are not helped as they end up paying the normal 20% VAT for the kit.

So this brings up VAT rules, and the rate that applies. It all comes down to the tax point - the date that applies for VAT purposes. This dictates which VAT rate applies when VAT rates change.

We saw a lot of this and some detailed discussion when VAT rates increased last time. This is the first time I personally have seen a decrease, and it raises some interesting points.

The tax point is based on several things. The simplest is the invoice date. But if there is a payment before that, or the work was done more than a few weeks before that, then the tax point moves back to that point. This means the tax point can be moved earlier just by raising an invoice or making a payment, even with long payment terms, but the options to move it later are limited.

However, good news!

There are special rules for VAT rate changes!

These mean that the usual rules that pull back the tax point to the earlier invoice or payment do not have to apply. If the supply is on/after 1st April then the supplier can use the date of supply as the tax point and so charge 0% VAT.

This is down to the supplier. All they have to do is credit note the 5% invoice and issue a new 0% invoice. Simple paperwork exercise.

2022-03-08

Environmental sensors (SCD41 CO₂)

Some time ago I made environmental sensors - we have them in every room here and the office. They only do CO₂, temperature, and humidity. They talk MQTT and control various things (ventilation, heating, etc). All on GitHub (boards and code).

There are a lot of cheap CO₂ sensors, but they measure something else as a proxy for CO₂, and not actual CO₂. A proper CO₂ sensor is not cheap. One such module was the SCD30, which is a rather fun module. It looks more like "the most important device in the universe" than an electronic component.

However, there is now an SCD41, which is much smaller, and neater. It talks a similar but different protocol - slightly more sane in providing simple integer values (with a scale+offset for temperature) rather than actual "floats" in 32 bit words. They use I²C protocol with CRC checks on each 2 bytes - yeh, special!

The SCD41 is cheaper too, £40+VAT rather than £48+VAT for the SCD30. I said not cheap!

However, it is rather nice, especially being so small, so I decided to make a new version of the board. It does have pads underneath to not really hand solder - but I am getting adept at the solder paste and oven.

The small cuboid silver box on the top left is the new SCD41. I also used a newer ESP32-PICO-MINI-02 as a controller.

However, apart from CO₂, I want temperature (and humidity). The SCD30 has temperature, as does the SCD41, but they pick up the temperature of the PCB rather too much, so I used a separate DS18B20 on a lead (you can buy from Amazon cheaply). This can then be placed in free air next to the module, or nearly if you want to use temperature at a specific point such as by a bed.

I decided to try integrating this on to the board (bottom left) using a DS18B20 component (looks like a transistor). I have tried this before without much luck.

I made the PCB with a gap and a slot so as to avoid heat getting to it, but sadly I was unlucky. Every time I try and use a simple DS18B20 component it is pretty crap - temp all over the place (±1C variations) and also reading too high even on that board. The modules you can get are in a metal tube with leads, and they tend to be much more stable and easier to use - I suspect the metal tube is a factor.

So, try again (I also missed one of the power pins on the SCD41). So new board design time, show here with the OLED display position on the top.

This time I have gone for the SCD41 sticking out the side. I can try a case design with this sticking out, or inside a slightly larger case, and see how it goes. The side rather than the top as heat rises. I also have a connector to allow an external DS18B20.

However, when testing the SCD41 module I found the temperature to be very stable and accurate, so you will note this board has lots of holes and thin bits to try and thermally isolate the SCD41. The plan is, if reliable, to use it for temperature as well. If all else fails the external DS18B20 can be used anyway.

Why does it stick out? Well apart from temperature in open air outside the case, it is also too high to fit between the PCB and the display board (only just). The old unit has the SCD30 on the back making for a much thicker overall unit, so this will actually be a lot thinner and neater, I hope.

We'll see when I get boards in a couple of weeks.

The next challenge after that is to try and code Matter so it can natively work with HomeKit and the like. At present it works via HomeAssisstant on a Raspberry pi which is, shall we say flaky.

Missing unix/linux/posix file open option

What I would like is a file open option for "create replacement file". The idea is that this makes a new inode in the same mount p...