Flashing the L1 controller firmware on a Tezro

For discussion of triage and repairs to SGIs as well as general hardware questions
Post Reply
User avatar
Irinikus
Posts: 358
Joined: Sun Dec 10, 2017 2:10 pm
Location: Between Cape Town and Pretoria South Africa

Flashing the L1 controller firmware on a Tezro

Post by Irinikus » Sat May 26, 2018 3:50 pm

This post is to help someone who wants to upgrade their quad 700MHz Tezro to a Quad 1GHz machine.

When I upgraded my Tezro from a quad 700MHz machine to a Quad 1GHz machine there were initially problems because the L1 controller's firmware wasn't recent enough to recognise the IP59 (Quad 1GHz) node board.

The problem presented itself in the form of a VRM failure (low voltage limit reached) on startup, and the fact that the extra fans on the IP59 were not recognised and were running at full speed when the machine was powered up. The machine would not even get to the PROM booting phase of the startup and powered down automatically.

jan jaap alerted me to the fact that the problem might be due to the fact that the L1 firmware wasn't recent enough.

There is an intricacy in that you can't just update an early version of the L1 firmware to a much later version without having issues, so you have to go through a process of installing about three versions of IRIX 6.5 and flashing the L1 controller each time you have a newer version of IRIX installed.

I placed the quad 700MHz node board back in the machine to carry out this process.

The process of flashing the L1 controller is as follows:

Firstly you have to find the location of the l1.bin file:

IMG_3527 copy.jpg

It should be in the following location: /usr/cpu/firmware/sysco/

To flash the L1 controller, the command is the following: flashsc --sc usr/cpu/firmware/sysco/l1.bin 1.1

IMG_3530 copy.jpg

It takes a few minutes for the process to complete and it's rather nail biting stuff!

To confirm the contents of the L1 flash, type the following command line: l1cmd --scdev hw/module/001c01/L1/controller flash status

IMG_3532 copy.jpg

Repeat this process until your L1 controller's firmware revision is high enough. (version 1.38.4 is high enough to support the IP59)

I personally had to go form version 1.30.11 to 1.32.6 to 1.38.4
Last edited by Irinikus on Sat May 26, 2018 6:14 pm, edited 2 times in total.
Image

User avatar
uunix
Posts: 107
Joined: Fri Dec 01, 2017 6:52 am
Location: Stourbridge - England - United Kingdom

Re: Flashing the L1 controller firmware on a Tezro

Post by uunix » Sat May 26, 2018 4:19 pm

At the time of running the flash command, where are the files you updating from located 1.30.11 to 1.32.6 to 1.38.4 ? (That is where on your system, not where you downloaded them from).
Are these files each called the same, are they in the current directory, are they the part at the end of the command?
flashsc --sc usr/cpu/firmware/sysco/l1.bin 1.1 ?
Thanks?

[Edit] This was actually answered in that Irix was updated between each l1 flash.
Last edited by uunix on Sun May 27, 2018 4:58 am, edited 1 time in total.
Hey Ho Pip And Dandy!!!!!
:Onyx2: :O2K_d-1: :O200: :tezro: :Octane2c: :O2: :Indigo: :Indy: :320:

User avatar
Irinikus
Posts: 358
Joined: Sun Dec 10, 2017 2:10 pm
Location: Between Cape Town and Pretoria South Africa

Re: Flashing the L1 controller firmware on a Tezro

Post by Irinikus » Sat May 26, 2018 5:05 pm

uunix wrote:
Sat May 26, 2018 4:19 pm
At the time of running the flash command, where are the files you updating from located 1.30.11 to 1.32.6 to 1.38.4 ? (That is where on your system, not where you downloaded them from).



Are these files each called the same, are they in the current directory, are they the part at the end of the command?

flashsc --sc usr/cpu/firmware/sysco/l1.bin 1.1 ?

Thanks?
The .bin files are in the directory: "/usr/cpu/firmware/sysco/" Regardless of the version of IRIX 6.5 that's installed, they are all called l1.bin and the 1.1 is part of the command.

You confirm the upgrade status of the L1 controller's firmware with the following command:
l1cmd --scdev hw/module/001c01/L1/controller flash status

I the future, since Nekochan is down and the table depicting which IRIX version corresponds to which l1.bin version is on the Nekochan database, when I'm next in Cape Town, I will check the list of IRIX versions which I used and make up a table accordingly.

IRIX 6.5.26 gives you L1 firmware revision: 1.32.6
IRIX 6.5.28 gives you L1 firmware revision: 1.38.4
IRIX 6.5.30 gives you L1 firmware revision: 1.44.0
SGI Patch_SGI0007149 gives you L1 firmware revision: 1.48.1
Last edited by Irinikus on Sat Jun 02, 2018 1:54 am, edited 5 times in total.
Image

User avatar
Irinikus
Posts: 358
Joined: Sun Dec 10, 2017 2:10 pm
Location: Between Cape Town and Pretoria South Africa

Re: Flashing the L1 controller firmware on a Tezro

Post by Irinikus » Sun May 27, 2018 12:50 am

I've just plucked up the courage and updated my L1 controller firmware to version 1.44.0

IMG_3679 copy.jpg
IMG_3680 copy.jpg

So I can tell you for sure that IRIX version 6.5.30 gives you L1 firmware version 1.44.0

Take note of the fact that there are two images: "A" and "B" which alternate as default every time you update.
(This is a built in backup feature.)

It's still nail biting to carry out this procedure, as people have almost bricked their system in the past, when an update went wrong, so PROCEED WITH CAUTION and don't do this unless you absolutely have to!

Take note: You have to shut the system down and unplug it for the new firmware to be loaded into L1.

A simple restart, or shutdown and restart won't do it, the L1 controller has to loose power completely for it to be reset and therefor load the newly installed firmware.

IMG_3682 copy.jpg

It worked!!!!! sheeew :D
Image

User avatar
uunix
Posts: 107
Joined: Fri Dec 01, 2017 6:52 am
Location: Stourbridge - England - United Kingdom

Re: Flashing the L1 controller firmware on a Tezro

Post by uunix » Sun May 27, 2018 5:50 am

On topic of flashing the l1..

Would anyone know how and if possible (it must be) to flash the l1 on a machine that will not boot and has only CDROM.

I am pretty sure this can be done via network?
Hey Ho Pip And Dandy!!!!!
:Onyx2: :O2K_d-1: :O200: :tezro: :Octane2c: :O2: :Indigo: :Indy: :320:

User avatar
Irinikus
Posts: 358
Joined: Sun Dec 10, 2017 2:10 pm
Location: Between Cape Town and Pretoria South Africa

Re: Flashing the L1 controller firmware on a Tezro

Post by Irinikus » Sun May 27, 2018 12:26 pm

If indeed there's no way to flash the L1 without having the machine up and running, it's a long shot but you may need to actually remove the chip (It would of course help to find out exactly what micro controller or PIC they're using here) from the IO9 and flash it with a flashing device: (buying a new IO9 may be cheaper and easier though)
s-l1600-63.jpg
original-orange-5-key-programmer-professional-eeprom-ecu-memory-and-microcontrollers-chip-programming-device.jpg
However, doing it this way could prove to be more fun, educational and useful in the long run though! :) (As time goes by, we will really need to start getting into the nuts and bolts of these machines, if we want to keep them going!)

You can obtain the necessary l1.bin file from it's folder in IRIX (/usr/cpu/firmware/sysco/l1.bin)
Image

indy99
Posts: 22
Joined: Mon May 28, 2018 9:17 am

Re: Flashing the L1 controller firmware on a Tezro

Post by indy99 » Mon May 28, 2018 1:14 pm

If an L2 firmware update happens to bring anyone to this topic, the L2 firmware in IRIX 6.5.30, also revision 1.44, is defective and if installed will brick the recipient L2. SGI released a patch to correct the issue, the patched L2 firmware is 1.48.
Last edited by indy99 on Mon Jun 04, 2018 8:14 pm, edited 1 time in total.

User avatar
marshallh
Posts: 3
Joined: Thu May 24, 2018 5:32 pm

Re: Flashing the L1 controller firmware on a Tezro

Post by marshallh » Mon May 28, 2018 3:00 pm

Irinikus wrote:
Sun May 27, 2018 12:26 pm
If indeed there's no way to flash the L1 without having the machine up and running, it's a long shot but you may need to actually remove the chip (It would of course help to find out exactly what micro controller or PIC they're using here) from the IO9 and flash it with a flashing device: (buying a new IO9 may be cheaper and easier though)
I'm not sure that's the L1 flash, that PLCC device is probalby a GAL or CPLD.

L1 flash is most likely the TSOP48 flash on the midplane next to the Coldfire CPU (this is actually the L1 cpu).

Your advice still applies though, you can desolder the chip and stick it in a TSOP48 adapter/programmer.

jwhat
Posts: 3
Joined: Wed Jul 04, 2018 8:17 pm

Re: Flashing the L1 controller firmware on a Tezro

Post by jwhat » Thu Jul 05, 2018 8:51 pm

Hi Irinikus & Co,

I have not touched my SGI stuff recently as I have been busy with Apple Xserve retirement and learning how to virtualise MacOS machines via Linux/Ubuntu/KVM/QEMU.

As part of reviving my IP59_4CPU 4x1GHz board, I run straight into L1 version issues you had as O350 chassis was on 1.24 L1 version.

Aside from voltage related messages, give away was "IP59_4CPU not recognised model" message. Solution being as you described to put back in IP53_4CPU board and flash up to 1.44, which I did in two steps first by using 6.5.25 L1 flashsc / l1.bin and then 6.5.30 L1 flashsc / l1.bin . I keep history of all the various L1/L2 version in my IRIX archive.

I have also previously experienced the 6.5.30 L2 firmware problem. The solution to this was one of gems described on Nekochan.

From recollection the way to solve the problem is a bit fiddly and involves:

1. Logging into L2
2. Going into L2 Shell (shell or ! after telnet'ing into L2)
3. Creating a temporary directory on L2 /tmp and then copying all the files /stand/sysco/lib (?) into this
3. Then tftp or wget to get copy of missing file ( /stand/sysco/lib/libscan.ppclinux.so ) into the new /tmp based directory
4. Then mount the newly created library copy over the top of the original /stand/sysco/lib (?) directory
5. I can't remember if you had to then change /etc/fstab for this to stick with reboot or you could proceed without reboot
6. Now you can use the L2 software from PATCH SG0007149 which will provide L2 update to 1.48.0 (and L1 1.48.1 if you want it, but I have never seen need for L1 patch to 1.48.1).

The reason for the complicated process was due to the /stand/sysco file system being read only squashfs, so could not change this by simply copying the missing file back.

I know this outline is pretty sketchy, but it is start in trying to get some of those nekochan information gems back out there.

I can collect the various irix version flashsc/l1/2 files I have and put them into a tar and put them up on web server for general use if people want.

I have found this collection very helpful as you need to have the right flashsc version with the right l1.bin / l2.bin files to upgrade / downgrade the l1 software.


jwhat
(Yet another Nekochan refugee ;-) )

User avatar
Irinikus
Posts: 358
Joined: Sun Dec 10, 2017 2:10 pm
Location: Between Cape Town and Pretoria South Africa

Re: Flashing the L1 controller firmware on a Tezro

Post by Irinikus » Sun Jul 08, 2018 4:21 am

jwhat wrote:
Thu Jul 05, 2018 8:51 pm
Hi Irinikus & Co,

I have not touched my SGI stuff recently as I have been busy with Apple Xserve retirement and learning how to virtualise MacOS machines via Linux/Ubuntu/KVM/QEMU.

As part of reviving my IP59_4CPU 4x1GHz board, I run straight into L1 version issues you had as O350 chassis was on 1.24 L1 version.

Aside from voltage related messages, give away was "IP59_4CPU not recognised model" message. Solution being as you described to put back in IP53_4CPU board and flash up to 1.44, which I did in two steps first by using 6.5.25 L1 flashsc / l1.bin and then 6.5.30 L1 flashsc / l1.bin . I keep history of all the various L1/L2 version in my IRIX archive.

I have also previously experienced the 6.5.30 L2 firmware problem. The solution to this was one of gems described on Nekochan.

From recollection the way to solve the problem is a bit fiddly and involves:

1. Logging into L2
2. Going into L2 Shell (shell or ! after telnet'ing into L2)
3. Creating a temporary directory on L2 /tmp and then copying all the files /stand/sysco/lib (?) into this
3. Then tftp or wget to get copy of missing file ( /stand/sysco/lib/libscan.ppclinux.so ) into the new /tmp based directory
4. Then mount the newly created library copy over the top of the original /stand/sysco/lib (?) directory
5. I can't remember if you had to then change /etc/fstab for this to stick with reboot or you could proceed without reboot
6. Now you can use the L2 software from PATCH SG0007149 which will provide L2 update to 1.48.0 (and L1 1.48.1 if you want it, but I have never seen need for L1 patch to 1.48.1).

The reason for the complicated process was due to the /stand/sysco file system being read only squashfs, so could not change this by simply copying the missing file back.

I know this outline is pretty sketchy, but it is start in trying to get some of those nekochan information gems back out there.

I can collect the various irix version flashsc/l1/2 files I have and put them into a tar and put them up on web server for general use if people want.

I have found this collection very helpful as you need to have the right flashsc version with the right l1.bin / l2.bin files to upgrade / downgrade the l1 software.


jwhat
(Yet another Nekochan refugee ;-) )
Hi John, I'm glad to see that you made it here!

Any bit of information we can get our hands on, regarding the intricacies of troubleshooting these machines is valuable! (And your contributions are certainly that:D)
Image

Post Reply