Interestingly, the bug shouldn't affect the D4040 switches. The c2xxx failure mode is that the clock for the LPC bus fails. The c2 series can boot from two places, either a bootrom connected via the LPC bus, or via SPI flash. When the LPC clock fails, it will no longer be able to read a bootrom over the LPC bus next time you try to boot it, so it will be bricked. However for devices that boot off SPI connected flash, it won't effect functionality. That's why some vendors had massive failure rates from this bug (like cisco who's ASA's booted off LPC connected bootroms), and others had pretty much noneWhat I noticed was the CPU is the Intel C2xyz model which is the affected one same like in Cisco ASA and some ISR routers.
I checked at that time the specific model and stepping to confirm the unit I had was affected and it was.
Thanks for the explanation. I was looking for this for some time. So it is somehow safe to say that all switches based on Intel C2000 CPUs that boot from SPI flash are not affected by this bug. I remember there is also one Arista switch based on some Intel CPU but I don't remember the exact model. The rest of Arista switches are based on AMD from what I saw.Interestingly, the bug shouldn't affect the D4040 switches. The c2xxx failure mode is that the clock for the LPC bus fails. The c2 series can boot from two places, either a bootrom connected via the LPC bus, or via SPI flash. When the LPC clock fails, it will no longer be able to read a bootrom over the LPC bus next time you try to boot it, so it will be bricked. However for devices that boot off SPI connected flash, it won't effect functionality. That's why some vendors had massive failure rates from this bug (like cisco who's ASA's booted off LPC connected bootroms), and others had pretty much none
the D4040 boots off a pair of winbond W25Q64FV 64mbit SPI flash chips. I believe the two SPI chips are arranged in a redundant bootloader configuration following the intel recommended method for the C2000 series: https://www.intel.com/content/dam/w...ant-spi-flash-with-failover-boot-app-note.pdf
AFAIK the CPLDs on the D4040 sit on the LPC bus. If the bus were to fail, it'd probably brick the device. If there's any one location, in the boot code, that waits for a bit to be set/cleared, eg. polling for a status change of a register, it'd hang there forever (no boot). I think, this is what's happening with most of the "failing" devices. It's not that the boot rom isn't accessible but, the bootcode/bios poking the LPC-bus, causing the code to hang.Interestingly, the bug shouldn't affect the D4040 switches. The c2xxx failure mode is that the clock for the LPC bus fails. The c2 series can boot from two places, either a bootrom connected via the LPC bus, or via SPI flash. When the LPC clock fails, it will no longer be able to read a bootrom over the LPC bus next time you try to boot it, so it will be bricked. However for devices that boot off SPI connected flash, it won't effect functionality. That's why some vendors had massive failure rates from this bug (like cisco who's ASA's booted off LPC connected bootroms), and others had pretty much none
the D4040 boots off a pair of winbond W25Q64FV 64mbit SPI flash chips. I believe the two SPI chips are arranged in a redundant bootloader configuration following the intel recommended method for the C2000 series: https://www.intel.com/content/dam/w...ant-spi-flash-with-failover-boot-app-note.pdf
They sure are. I think i'm going to add a pull-up resistor there, before the unit breaks down.Are they really? I thought the MachXO2's in this thing were on the PCI bus, but I haven't had a chance to dive into the D4040 yet. if they're on the LPC bus and it fails then that'd certainly cause issues
Thanks for posting the pictures with the fix!
I'm not familiar with electronic design. Did you put a 121 Ohm resistor in series with the capacitor at C410 and R562 where the resistor is covered in black tape?pull-up of 121Ohm
The right pad of R562 is the clock signal and the top pad of the C410 is just a 3.3V supply voltage. Yes, the black blob is the resistor. I had only smd resistors at hand, so there's a small pcb inside there, with the resistor soldered on.I'm not familiar with electronic design. Did you put a 121 Ohm resistor in series with the capacitor at C410 and R562 where the resistor is covered in black tape?