Splitting Light: Season 1 - Episode 7


Splitting light

Season 1 Episode 7

Bright red boards

If you are no longer interested in the newsletter, please unsubscribe​

The bright red boards of the second generation hardware started to come in. Why red? Simple. If the board was green we could share photos, if it was red it was forbidden to share any pictures or details about it. Simple enough.
​

I was busy performing the last handover bits of the first generation hardware to the cloud team while Greg was doing the first power up of the main board. I was eager to work on the board but I did not have the skills (yet) to do the checks and first power up. He would test different positions on the board with a multimeter to make sure there were no short circuits or other defects.
​

Once he got the board power up for the first time, I jumped in and started working towards the first boot. This time, I was completely by myself. The Internet was useless to get help. The vendor CPU for the board was under NDA. The only information that I had was from our schematics, the vendors documentation and the vendor source code. Some of our tools could also be helpful to detect signal or code errors.
​

To make that first boot, I had to modify a version of Linux that was already very heavily modified by the vendor. I had to dive into the schematics to know how he had wired some of the chip pins, then cross reference the pins in the pin datasheet and then edit the code accordingly to add devices, functionality or change settings. Back and forth between PDFs, vendor source code and the operating system code. I was building the software, testing the expected hardware values and following the chip setup sequence.
​

The chip in question was a specialized chip, an ASIC, that did hardware networking. There was a simple power up sequence to get the operating system running, but then you had to power up the network part of it which required following a detailed multi step sequence. It was a dance between our code, the multi platform vendor code and the operating system code. One flag set wrongly, one value not written correctly and it just didn't work. No errors, no crashes, it just didn't work.
​

Every component was standard and documented. What made the difference was how you wired everything together and configured the components. Because of the developpement cycle of hardware, the most important thing at that time, was to validate every electrical signal on the board. Every feature that was software only and didn't require a dedicated track on the board could wait.
​

Any mistake in how the components were connected together had to be found. Or at least, we needed to find as many issues as we could. We would add small wires and solder some tracks and components differently to fix the issues we needed to continue to test and at the same time Greg would patch the design in the EDA tool. The bug was labeled and only closed when we got the next revision of the board a few months later and after we had checked that the patch was correct.
​

As we had tested as much as we could, we slowly started to write actual software features. I knew how networking worked basically, but I did not expect that my next focus would be a great dive into how networking worked.
​

If you have missed it, you can read the previous episode here​

To pair with :

  • Sunburn (Timo Maas'Sunstroke Remix) - Muse, Timo Maas
  • Mockingbird by Walter Tevis​​

Vincent Auclair

Connect with me on your favorite network!

​

Payson, Payson, AZ 85541
​Unsubscribe · Preferences​

Symbol Sled

Business, tech, and life by a nerd. New every Tuesday: Splitting Light: The Prism of Growth and Discovery.

Read more from Symbol Sled

Splitting light Season 3 Episode 15 Covid19 bracket If you are no longer interested in the newsletter, please unsubscribe March to June 2020 Covid19 fell upon us. Interestingly a few days before the first lockdown, both Djazia and I got very sick. Most likely Covid. For me, this pandemic changed my life in ways I did not expect. For the first time I started to work remotely, like everyone who had a desk job. Even though I had had a work laptop since I had joined Scaleway it was the first time...

Direct and Indirect usage of Object storage

Splitting light Season 3 Episode 14 Attribution If you are no longer interested in the newsletter, please unsubscribe March 2019 The object storage product is both a user facing product and an infrastructure product. The compute team used it to store images and client virtual machines backups. The registry used it to store container images. The databases team to store client database backups. And so on for nearly every product and service at Scaleway. Both direct and indirect usage of Object...

Splitting light Season 3 Episode 13 Bills reconciliation If you are no longer interested in the newsletter, please unsubscribe January to March 2019 When you have a complex system there are always going to be discrepancies between them. In our case the discrepancies were in the billing systems. We had five different data sources. None agreed on the numbers. Let me introduce our five systems. Observability of the disk usage as well as the incoming and outgoing bandwidth. The client...