Need Fuel L1 commands to change CPU PIMMs
#78
RE: Need Fuel L1 commands to change CPU PIMMs
(11-12-2021, 12:45 AM)vvuk Wrote:  
(11-11-2021, 11:36 PM)jwhat Wrote:  Hi vvuk,
To your point about there being only 1 PROM that is true for single machines but not for a numalink'ed cluster.

Do you have more than 1 O350's ?

If so you could numalink them and see 2 x PROM being reported at boot.

Then you could pull the IO9 board and see if it now only reports 1 PROM on boot.

Interesting; I'd expect 1 PROM per node board (so per o350, in this case).  But pulling an IO9 board and having it go down to one is surprising.  I have two, both with io9 boards; I should be getting an o350 cbrick soon though, sans io9.  Will check as that one is intended to be numalink'd with one of my current ones and removing an io9 is annoying Smile

I'm trying to find some high rez pictures of an ip53 nodeboard; if I can't, i'll take some.  Should be possible to identify a 4MB eeprom or similar chip on there.  I wish I had taken a picture of the STI chip last time I replaced a snaphat!

Quote:Also there is a 6.211 PROM for Fuel / O350 which is on a patch. I am not sure exactly which one it is...

Ah right, good reminder! I actually just went through all the patches for 6.5.30 (well, the ones on the irixnet ftp server) and documented roughly what they do here: https://hackmd.io/KwkGm6T9QgGljpVRyLX0qQ  I think this is 7208, where the release notes just mention fixes to fibre channel connections in PROM.  I'd meant to update anyway, may as well be on the latest.

One more thing! So `ip27conf` is a nice clue, that leads to /usr/include/sys/SN/SN0/ip27config.h:

Quote:typedef struct ip27config_s {          /* KEEP IN SYNC w/ start.s & below  */
    uint                time_const;    /* Time constant                    */
    uint                r10k_mode;      /* R10k boot mode bits              */

    __uint64_t          magic;          /* CONFIG_MAGIC                    */

    __uint64_t          freq_cpu;      /* Hz                              */
    __uint64_t          freq_hub;      /* Hz                              */
    __uint64_t          freq_rtc;      /* Hz                              */

    uint                ecc_enable;    /* ECC enable flag                  */
    uint                fprom_cyc;      /* FPROM_CYC speed control          */

    uint                mach_type;      /* Inidicate SN0 (0) or Sn00 (1)    */

    uint                check_sum_adj;  /* Used after config hdr overlay    */
                                        /* to make the checksum 0 again    */
    uint                flash_count;    /* Value incr'd on each PROM flash  */
    uint                fprom_wr;      /* FPROM_WR speed control          */

    uint                pvers_vers;    /* Prom version number              */
    uint                pvers_rev;      /* Prom revision number            */
    uint                config_type;    /* To support special configurations
                                        * If bit 0 is set it means that
                                        * we are looking 12P4I config
                                        */
} ip27config_t;

typedef struct {
    uint                r10k_mode;      /* R10k boot mode bits              */
    uint                freq_cpu;      /* Hz                              */
    uint                freq_hub;      /* Hz                              */
    char                fprom_cyc;      /* FPROM_CYC speed control          */
    char                mach_type;      /* Inidicate SN0 (0) or Sn00 (1)    */
    char                fprom_wr;      /* FPROM_WR speed control          */
} ip27config_modifiable_t;

CONFIG_MAGIC is 0x69703237636f6e66 -- which is "ip27conf"!  So we have the start of a ip27config_t struct at octal 0060.

So, if I were to decode my fuel's struct:

Quote:time_const = 0x00000015
r10k_mode = 0x549bad85
freq_cpu = 0x00000000549bad85 = 700_000_000
freq_hub = 0x000000000bebc200 = 200_000_000
freq_rtc = 0x00000000001312d0 = 1_250_000
ecc_enable = 0x00000001
fprom_cyc = 0x00000010
mach_type = 0x00000002 // comment says SN0 = 0, Sn00 = 1, so.. 2 = "Weird fuel mach" Biggrin
check_sum_adj = 0x000000d5
flash_count = 0x00000008 // here's weblacky's flash count
fprom_wr = 0x00000010

// these 3 values are not in the "modifiable" struct, which makes sense
pvers_vers = 0x00000006 = 6
pvers_rev = 0x000000d2 = 210  // so 6.210
config_type = 0x00000000

so the modifiable portion of this does have the frequencies, and is actually intended to be modified.  the `check_sum_adj` field is used to correct the checksum -- looks like the intent is for the checksum to be 0, so the adj field is set to whatever is necessary to make the final checksum 0.  (What the checksum range is is TBD, but it should be possible to figure this out by just looking for ranges in the dump where the checksum is 0)

When you said offset 0600, did you mean from your PROM dump?  Because if so, I'd image a dump of PROM is dump of WORKING MEMORY PROM and not storage PROM.  Can you give us more info on how you did that and or a screenshot of a hex editor with pointers to some of the offsets to guide us around?

Because we can CHEAT, we don't NEED to know all the interrelated points (like the CPU mode bits), we can deal in COMPLETE structs!  If you can isolate the region (dummy light kind of idea).  We can ask people to perform a command to dump and show only that region?  Then post them, while it would be a lot of manual typing, if we figured out the command syntax, you could then MANUALLY enter the entire struct section by hand either offset by offset or whatever in the memory functions and just overwrite your entire in-memory struct with a known working version from someone else with the correct PIMM!

If you detail it more, we can collect the data from other members (as long as someone figures out a one-liner command from irix to cut and paste) and start posting known sections.  If we get them all, over time, then anyone can just follow the syntax command directions and enter values from a posted list of CPU structs.  We don't have to intuit them, just know this is the place to overwrite with known values, am I wrong?

(11-12-2021, 01:42 AM)jwhat Wrote:  Hi vvuk,

Booom!!

>>CONFIG_MAGIC is 0x69703237636f6e66 -- which is "ip27conf"!  So we have the start of a ip27config_t struct at octal 0060.

I think you have found what we are looking for, in "/usr/include/sys/SN/SN0/ip27config.h" !!

If you look up in the discussion you can see the POD/CAC commands which seem to relate to writing into PROM.

The problem is that they only info in what you get from the POD/CAC help command, which is not much.

Awesome.

The really big question is can you somehow get the Fuel to boot into lower speed to allow you to zap the PROM before it goes into full boot cycle.

If so we have a way to save what might initially appear to be dead Fuel boards because they had faster CPU in them.

The other way would be to have a 900 MHZ Fuel PIMM lying around just for the sake of trying to rescue old board ...

I know I don't have such a PIMM ;-)

EDIT: I see Weblacky and I responded around the same time. He is thinking of memory ZAP, I am thinking PROM ZAP. Either way could work.... if it worked ;-)

Cheers from Oz,

jwhat/John.

Well POD IS POWER ON DIAGNOSTICS...the CPU hasn't started yet.  Am I wrong?  The L1 doesn't use the Main MIPS CPU, so change in POD are real as POD is before boot, yes?  So is there really a problem here?  Aren't we already before CPU boot?
(This post was last modified: 11-12-2021, 01:50 AM by weblacky.)
weblacky
I play an SGI Doctor, on daytime TV.

Trade Count: (10)
Posts: 1,716
Threads: 88
Joined: Jan 2019
Location: Seattle, WA
Find Reply
11-12-2021, 01:47 AM


Messages In This Thread
Need Fuel L1 commands to change CPU PIMMs - by weblacky - 05-25-2020, 12:31 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by hamei - 05-25-2020, 03:10 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 05-25-2020, 03:57 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by hamei - 05-25-2020, 05:29 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 05-25-2020, 05:31 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by Irinikus - 05-25-2020, 05:41 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 05-25-2020, 05:53 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by indy99 - 06-21-2020, 06:12 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by hamei - 06-21-2020, 06:40 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by Irinikus - 05-25-2020, 06:04 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 06-21-2020, 07:41 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by indy99 - 06-22-2020, 03:47 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by hamei - 06-22-2020, 04:40 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-16-2020, 07:54 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 06-22-2020, 04:39 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by hamei - 06-22-2020, 04:55 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 06-22-2020, 04:50 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by indy99 - 06-22-2020, 06:36 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by hamei - 06-22-2020, 06:52 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by indy99 - 06-22-2020, 10:32 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by kaigan - 06-23-2020, 12:36 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by indy99 - 06-23-2020, 01:20 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by kaigan - 06-23-2020, 07:28 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by hamei - 06-24-2020, 04:22 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jan-jaap - 06-24-2020, 08:01 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by hamei - 06-26-2020, 03:03 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by kaigan - 06-24-2020, 12:05 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 11-16-2020, 08:59 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-16-2020, 11:37 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by indy99 - 02-05-2021, 02:08 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 02-05-2021, 05:37 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 02-05-2021, 07:16 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by indy99 - 02-05-2021, 05:10 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 02-06-2021, 12:26 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by chulofiasco - 02-03-2021, 06:18 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 02-03-2021, 07:36 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by chulofiasco - 02-03-2021, 08:53 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 02-03-2021, 11:02 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 02-04-2021, 06:24 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 02-05-2021, 07:20 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by indy99 - 02-05-2021, 12:07 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 02-06-2021, 07:23 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 02-06-2021, 11:46 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 02-06-2021, 11:47 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 04-01-2021, 09:45 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 10-12-2021, 07:19 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by vvuk - 10-14-2021, 12:29 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 10-14-2021, 12:45 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by vvuk - 10-14-2021, 12:51 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 10-29-2021, 06:43 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 10-29-2021, 07:24 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 10-29-2021, 08:57 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jan-jaap - 10-29-2021, 09:27 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 10-29-2021, 10:38 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 10-29-2021, 10:50 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 10-30-2021, 05:59 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 10-30-2021, 07:36 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 10-30-2021, 08:34 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 10-30-2021, 02:09 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 10-30-2021, 03:56 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by jan-jaap - 10-30-2021, 09:00 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 10-30-2021, 11:03 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by jan-jaap - 10-31-2021, 09:44 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 10-31-2021, 10:28 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 10-31-2021, 12:03 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-02-2021, 04:30 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 11-02-2021, 04:45 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-02-2021, 05:24 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 11-02-2021, 05:39 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by vvuk - 11-11-2021, 08:16 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-11-2021, 11:36 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by vvuk - 11-12-2021, 12:45 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 11-12-2021, 01:47 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by vvuk - 11-12-2021, 03:35 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jan-jaap - 11-12-2021, 10:44 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 11-11-2021, 11:55 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-12-2021, 01:10 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by vvuk - 11-12-2021, 01:10 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 11-12-2021, 01:34 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-12-2021, 01:42 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-12-2021, 02:08 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 11-12-2021, 02:34 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-12-2021, 04:21 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by vvuk - 11-12-2021, 04:26 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by Raion - 11-12-2021, 04:36 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-12-2021, 12:01 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by vvuk - 11-12-2021, 09:26 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-22-2021, 09:25 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 11-22-2021, 09:47 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-22-2021, 10:39 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 11-22-2021, 10:55 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-22-2021, 11:48 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 11-22-2021, 03:20 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 11-25-2021, 09:52 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-26-2021, 03:19 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 11-26-2021, 04:25 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-26-2021, 06:16 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 11-26-2021, 06:55 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-27-2021, 12:05 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 11-27-2021, 12:10 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-27-2021, 04:17 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 11-27-2021, 04:24 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-27-2021, 04:56 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 11-27-2021, 05:01 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 11-28-2021, 11:20 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 07-05-2023, 06:02 AM
RE: Need Fuel L1 commands to change CPU PIMMs - by jwhat - 07-05-2023, 12:40 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by jan-jaap - 07-05-2023, 02:32 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 07-05-2023, 04:25 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by kubatyszko - 07-27-2023, 03:47 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by weblacky - 07-27-2023, 04:44 PM
RE: Need Fuel L1 commands to change CPU PIMMs - by ruckusman - 12-07-2024, 09:01 AM

Forum Jump:


Users browsing this thread: 2 Guest(s)