Modding/upgrading Arista switches?

fohdeesha

Kaini Industries
Nov 20, 2016
2,117
1,988
113
30
fohdeesha.com
It dumps 8MB of data from the beginning of the internal flash to /mnt/flash/image-dump.bin.
To be slightly pedantic (which may help you in this case), it's not on the internal main USB-disk flash. There's a separate 8MB SPI flash chip, that contains the coreboot bootloader, plus aboot 1 and aboot 2 (fallback), along with some "prefdl" and "fdl" images, which are basically chassis ID data like base MAC serial etc. There's a command in EOS that allows you to drill down on these sections of the SPI flash to only read or write certain bits (it's just a python script that uses flashrom underneath). It's helpful because the script contents show us all the offsets and sizes for different bits of the SPI flash. So anyway, "-numBytes=8388608" is the entirety of the SPI flash chip

Do your switches boot to a point where you would even be able to write a correct flash image back to SPI? If not, you'll have to use a SPI flasher - thankfully (at least on my crow management board in a 7050qx-32s) arista included a SPI programming header for in-place programming, you just need to remove the management board from the switch to use it (otherwise it will try to backfeed the rest of the switch via the 3v line). I was able to use a $7 CH341a programmer off of amazon to read and write to the SPI flash:



I know I've sent at least 15 people firmware for your switch model at their request, later tonight I'll try and go through old PMs and ask a couple of them to run the dump command to get a usable image. If you can include a dump of your (corrupt) SPI flash I could also dig through the arista OS firmware blobs and try to find where they're kept and pull one out. Worst case, they do publish their coreboot and aboot sources, so we could also just build a fresh image
 
  • Like
Reactions: wethus and klui

wethus

New Member
Nov 28, 2020
4
0
1
I followed your earlier posts and found the flash layout:
From /squashfs-root/usr/bin/flashUtil

Board: raven

'norcal2' : {
'total' : { 'start' : 0x000000, 'length' : 0x0800000 },
'prefdl' : { 'start' : 0x3F0000, 'length' : 0x0010000 },
'image' : { 'start' : 0x400000, 'length' : 0x03F0000 },

Unfortunately I can not reach the flash from software side because it wont boot to aboot or eos so the only method is the direct spi flash interface. I have the same SPI flash programer what you recomended.

I can not open the case of the switch to dump the flash yet because I would lost the guarantee and the ebay buyer protection if the seller does not allow it. I am waiting for the seller to respond.

I am thinking what other thing can cause the same booting problem on both switch:
What happens:
- if during the refurbishment they erased the USB DOM flash ? Aboot will boot even if the USB DOM does not contains any valid filesystem ?
- if the batteries on the board are too low ?
 

fohdeesha

Kaini Industries
Nov 20, 2016
2,117
1,988
113
30
fohdeesha.com
it will boot into a-boot no problem without data on the USB DOM, in fact I've booted several of these switches with no USB DOM installed at all. As for the battery, as far as I know it only keeps the RTC on time, it definitely wouldn't cause watchdog faults. I'm not sure how two switches got corrupted in the same way like this, I've certainly never seen it before. a dump of the boot SPI on both of them would be interesting and probably reveal a lot, but I understand not wanting to open them yet. I suppose one possibility is they were misguided and used an incorrect "erase" command on all their refurb switches, that erased part of the SPI instead of the USB DOM. Can't think of anything else off the top of my head
 

taxilian

New Member
Dec 31, 2020
3
1
3
Did you ever figure this out? I have an arista 7052 which was donated to my organization to use with a server rack and it's doing the exact same thing:

Code:
coreboot-4.0-r-Aboot-norcal2-2.0.7-667020 Sun Apr 22 12:36:03 PDT 2012 starting...


*** Booting fallback image
*** Reboot reason: watchdog timer expired





BSP Family_Model: 00100f63
*sysinfo range: [000cc000,000cf360]
bsp_apicid = 00
cpu_init_detectedx = 00000000
microcode: equivalent rev id  = 0x1043, current patch id = 0x00000000
microcode: patch id to apply = 0x010000b6
microcode: updated to patch id = 0x010000b6  success


..........
(lots of stuff here)
......

All Done
raminit_amdmct end:
v_esp=000cbf48
testx = 5a5a5a5a
Copying data from cache to RAM -- switching to use RAM as stack...
And then it just sits and does nothing more. I've talked to arista QA folks and they have no idea what to do with it. I've been told at this point to keep it for spare parts and someone is donating another one (this one was apparently working before shipping), but I hate to see such a nice switch dead for what might be a fixable reason.

I don't know if I currently have a SPI programmer or not -- I might -- but I could definitely get one. I just lack the experience with this type of system to know what to do with it once I got it.

Richard
HamStudy.org
 

fohdeesha

Kaini Industries
Nov 20, 2016
2,117
1,988
113
30
fohdeesha.com
Did you ever figure this out? I have an arista 7052 which was donated to my organization to use with a server rack and it's doing the exact same thing:

Code:
coreboot-4.0-r-Aboot-norcal2-2.0.7-667020 Sun Apr 22 12:36:03 PDT 2012 starting...


*** Booting fallback image
*** Reboot reason: watchdog timer expired





BSP Family_Model: 00100f63
*sysinfo range: [000cc000,000cf360]
bsp_apicid = 00
cpu_init_detectedx = 00000000
microcode: equivalent rev id  = 0x1043, current patch id = 0x00000000
microcode: patch id to apply = 0x010000b6
microcode: updated to patch id = 0x010000b6  success


..........
(lots of stuff here)
......

All Done
raminit_amdmct end:
v_esp=000cbf48
testx = 5a5a5a5a
Copying data from cache to RAM -- switching to use RAM as stack...
And then it just sits and does nothing more. I've talked to arista QA folks and they have no idea what to do with it. I've been told at this point to keep it for spare parts and someone is donating another one (this one was apparently working before shipping), but I hate to see such a nice switch dead for what might be a fixable reason.

I don't know if I currently have a SPI programmer or not -- I might -- but I could definitely get one. I just lack the experience with this type of system to know what to do with it once I got it.

Richard
HamStudy.org

Hi! I think we may have spoken before on redditnet! it's hard to say if flashing a new/fresh bootloader will help this or not, it kind of seems like a hardware error but I'm not sure. If you have a working unit, you would just use a cheap SPI programmer to copy the bootloader off the working one, then write it to the bad unit. You'll need to remove the management card as shown in my pictures above. A $10 CH341A off of ebay will do the trick, you just need some male to female jumper wires. I would ensure the arista you have has the same SPI headers mine did, if it doesn't that will make this much more annoying. can you take a closeup picture of the management card? you can see in my picture the breadboard jumpers connecting to the programming header

-de KD9DAL
 

taxilian

New Member
Dec 31, 2020
3
1
3
We likely have =] I'll see if I can track you down and ping you there as there are some details on this that I can't share publicly, but that's my general plan. I do have a set of headers on the board that say "SPI" and look the right size, and I have the bootloader. It may of course be hardware related -- if so, there is likely nothing I can do. That said, nice to bump into a fellow ham here =] If I can make this work it'll go on the hamstudy server rack at our main colo facility and let me use full shared storage across my nodes, which will simplify a lot and give me some new capabilities.

I have a CH341A coming and I've got the jumper wires, I've just never used one before so I'm not 100% sure what I don't know =] I'll keep you posted with what I find.

- de KD7BBC
 
  • Like
Reactions: fohdeesha

taxilian

New Member
Dec 31, 2020
3
1
3
Okay, I was able to connect the ch341a to the SPI headers and read the ROM; still working on figuring out how to do anything useful with it, but on the off chance it's useful to someone here it is: read.rom.gz

This is from a 7050T-52 which isn't working, but it's unknown still if that's because of an issue with what's in the flash or if it's something else. From what I can tell there should be no legal reason this can't be shared, but if I'm mistaken let me know and I'll take it down. This is the data read from the device I own.
 

SanderDelden

New Member
Jan 6, 2021
1
0
1
Hi all,

I have a spare Arista DCS-7050QX-32-F lying around that I would like to upgrade to a recent version of EOS, unfortuantely they no longer provide 2GB images for 4.24 or newer, hence I'd like to upgrade the storage on the switch. As this is the non-S variant I unfortuantely do not have a NVMe slot on the motherboard. Does anyone have any advice / tips on how to proceed?

Could an extra storage unit be inserted in the SATA DOM slot and boot the switch from this?
Can I replace the existing USB DOM with a larger capacity one and boot the switch from this?

Picture of the motherboard:

photo_2021-01-07_15-11-33.jpg

All help would be greatly appriciated :)
 

fohdeesha

Kaini Industries
Nov 20, 2016
2,117
1,988
113
30
fohdeesha.com
Hi all,

I have a spare Arista DCS-7050QX-32-F lying around that I would like to upgrade to a recent version of EOS, unfortuantely they no longer provide 2GB images for 4.24 or newer, hence I'd like to upgrade the storage on the switch. As this is the non-S variant I unfortuantely do not have a NVMe slot on the motherboard. Does anyone have any advice / tips on how to proceed?

Could an extra storage unit be inserted in the SATA DOM slot and boot the switch from this?
Can I replace the existing USB DOM with a larger capacity one and boot the switch from this?

Picture of the motherboard:

View attachment 17052

All help would be greatly appriciated :)
just read the thread you replied to, plenty of us have installed larger DOMs
 
Jul 19, 2020
40
18
8
Hi all,

I have a spare Arista DCS-7050QX-32-F lying around that I would like to upgrade to a recent version of EOS, unfortuantely they no longer provide 2GB images for 4.24 or newer, hence I'd like to upgrade the storage on the switch. As this is the non-S variant I unfortuantely do not have a NVMe slot on the motherboard. Does anyone have any advice / tips on how to proceed?

Could an extra storage unit be inserted in the SATA DOM slot and boot the switch from this?
Can I replace the existing USB DOM with a larger capacity one and boot the switch from this?

Picture of the motherboard:

View attachment 17052

All help would be greatly appriciated :)
According to End of software support for 7050QX-32 series - Arista, that switch is no longer supported on EOS 4.25 and later. So I'm not sure if upgrading the storage capacity would actually let you install newer firmware.
 

ServerUser

New Member
Aug 29, 2020
5
2
3
Hi!

Did somebody managed to install SONIC/Linux to the ARISTA 7050QX-32S ?

I don't need EOS, I just want to boot Linux and QSFP ports needed as standard Linux interfaces.

EDIT: I found the other topic about this:
EDIT2:
Azure/SONiC
Yes, but it was very flakey taking a long time to boot properly. Containers regularly didn't start at boot or would fail so no ports would be available etc. This was about 6-8 weeks ago.