• Replacing timekeeper battery (NVRAM) on a SunBlade 100

    From jacobopinilla@none.i2p@21:1/5 to All on Tue Oct 1 16:07:52 2019
    Hi, i would like your help in order to solve a problem.

    I have a sun blade 150 with an invalid idprom, right after the NVRAM replacement, all the original environment was restored but there was a boot problem.

    It cannot boot from disk neither cdrom.

    the following message was showed

    ok boot cdrom -s
    Boot device: /pci@1f,0/ide@d/cdrom@1,0:f File and arg: -s
    SunOS Release 5.8 version Generic_108528-13 64-bit
    Copyright 1983-2001 Sun Microsystems, Inc. All rights reserved.

    cat: Cannot stat stdout
    adb: getexecname() failed
    /sbin/rcS: /etc/vfstab: cannot create

    INIT: Cannot create /var/adm/utmpx
    INIT: failed write of utmpx entry:" "
    INIT: failed write of utmpx entry:" "
    INIT: SINGLE USER MODE
    INIT: execle of /etc/sulogin failed; errno = 2
    ENTER RUN LEVEL (0-6, s or S) [2]:s
    INIT: SINGLE USER MODE
    /dev/fd/3: /dev/fd/3: cannot open
    ENTER RUN LEVEL (0-6, s or S) [2]:


    i found some info rel
    ated about, but i would like to know whether you have another suggestion for me.

    www.imhans.com:1004/syshbk/collections/TECHNICALINSTRUCTIONSURE/1-71-1004999.1-1.html
    Is there any way to modify the NVRAM DATE/MM/YEAR TOD since the open boot 4.17.1?

    Thanks in advance...

    Jacobo

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From marcel.prisi@gmail.com@21:1/5 to All on Mon May 11 14:20:32 2020
    Hi Tony,

    I have the same issue on my NOS Blade 100 that I just started. Mine has OpenBoot 4.0.

    I followed your instructions, but the address mapping command :

    ok 1fff1000000 0 0 map

    Just gives me :

    map?

    Which doesn't look right. Is there a typo or is OpenBoot 4.0 different ?

    Thanks for helping,

    Marcel

    Le dimanche 21 avril 2019 03:11:19 UTC+2, Tony Nicholson a écrit :
    I recently changed the NVRAM battery-backed up timekeeper chip on my
    SunBlade 100.

    Because there's no system specific details for the SunBlade 100/150
    in the most recent "FAQ about Sun NVRAM/hostid" at

    http://obsolyte.com/sunFAQ/faq_nvram.html

    I thought I'd post the details here!

    First - make sure you know the hostid/Ethernet address and eeprom settings (saving a copy of the output of a 'prtconf -vp' and 'eeprom' command helps).

    For my system the hostid 803957d0 and ethernet is 0:3:ba:9:57:d0.

    Power off - change M48T59Y-70PC1 timekeeper battery backed up RAM chip,
    power on then wait a few minutes for the system to rebuild the device
    tree and test memory.

    Set all EEPROM variables to their default values (where "ok" is the
    OpenBoot prompt on the console) -

    ok set-defaults
    ok reset-all

    Hit Stop-A after memory-test

    Find physical address of M48T59Y-70PC1 timekeeper battery backed up RAM
    chip. We need to do this to reprogram the hostid/Ethernet address.

    ok show-devs
    ..
    /pci@1f,0/ebus@c/eeprom@1,0
    ..
    ok cd /pci@1f,0/ebus@c/eeprom@1,0
    ok .properties
    model mk48t59
    address fff4a000
    reg 00000001 00000000 00002000
    device_type nvram
    name eeprom

    Query the virtual address to obtain the Physical Address (PA)

    ok fff4a000 map?
    VA:fff4a000
    G:0 W:1 P:1 E:1 CV:0 CP:0 L:0 Soft1:1 PA[40:13]:fff8800 PA:1fff1000000
    Diag:0 Soft2:0 IE:0 NFO:0 Size:0 V:1
    PA:1fff1000000

    Map the PA in address space 0 to virtual address 0 (page length is 0x2000)

    ok 1fff1000000 0 0 map

    Now change the IDPROM area which are 16 bytes at offset 0x1fd8,
    Ethernet address 00:03:ba:09:57:d0 Hostid 0x830957d0,
    last byte is XOR checksum of previous 15 bytes]

    ok 1 1fd8 c! [Start of IDPROM]
    ok 83 1fd9 c! [Machine type 83 for Sun Blade 100 sun4u, byte 1 of serial #]
    ok 0 1fda c! [Ethernet address]
    ok 3 1fdb c!
    ok ba 1fdc c!
    ok 9 1fdd c!
    ok 57 1fde c!
    ok d0 1fdf c!
    ok 0 1fe0 c! [Date code]
    ok 0 1fe1 c!
    ok 3 1fe2 c!
    ok ba 1fe3 c!
    ok 9 1fe4 c! [serial # bytes 2-4]
    ok 57 1fe5 c!
    ok d0 1fe6 c!
    ok 82 1fe7 c! [Checksum]

    ok 1fd8 10 dump
    0 1 2 3 4 5 6 7 \/ 9 a b c d e f 01234567v9abcdef
    1fd0 ff ff ff ff ff ff ff ff 01 83 00 03 ba 09 57 d0 ............:.WP
    1fe0 00 00 03 ba 09 57 d0 82 ff ff ff ff ff ff ff ff ...:.WP.........

    ok .idprom
    Format/Type: 1 83 Ethernet: 0 3 ba 9 57 d0 Date: 0 0 3 ba
    Serial: 9 57 d0 Checksum: 82

    Set screen resolution for XVGA monitor (default is 1152x900x76 for Sun monitor)

    ok setenv output-device screen:r1280x1024x60

    ok reset-all

    Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
    Copyright 2005 Sun Microsystems, Inc. All rights reserved.
    OpenBoot 4.17.1, 1280 MB memory installed, Serial #50943952.
    Ethernet address 0:3:ba:9:57:d0, Host ID: 830957d0.

    All Done! Now you can restore the eeprom boot device settings.

    I hope this assists others with similar hardware.

    Tony

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Tony Nicholson@21:1/5 to marce...@gmail.com on Mon May 11 15:57:20 2020
    On Tuesday, May 12, 2020 at 7:20:36 AM UTC+10, marce...@gmail.com wrote:
    Hi Tony,

    I have the same issue on my NOS Blade 100 that I just started. Mine has OpenBoot 4.0.

    I followed your instructions, but the address mapping command :

    ok 1fff1000000 0 0 map

    Just gives me :

    map?

    Which doesn't look right. Is there a typo or is OpenBoot 4.0 different ?

    Thanks for helping,

    Marcel

    Le dimanche 21 avril 2019 03:11:19 UTC+2, Tony Nicholson a écrit :
    I recently changed the NVRAM battery-backed up timekeeper chip on my SunBlade 100.

    Because there's no system specific details for the SunBlade 100/150
    in the most recent "FAQ about Sun NVRAM/hostid" at

    http://obsolyte.com/sunFAQ/faq_nvram.html

    I thought I'd post the details here!

    First - make sure you know the hostid/Ethernet address and eeprom settings (saving a copy of the output of a 'prtconf -vp' and 'eeprom' command helps).

    For my system the hostid 803957d0 and ethernet is 0:3:ba:9:57:d0.

    Power off - change M48T59Y-70PC1 timekeeper battery backed up RAM chip, power on then wait a few minutes for the system to rebuild the device
    tree and test memory.

    Set all EEPROM variables to their default values (where "ok" is the OpenBoot prompt on the console) -

    ok set-defaults
    ok reset-all

    Hit Stop-A after memory-test

    Find physical address of M48T59Y-70PC1 timekeeper battery backed up RAM chip. We need to do this to reprogram the hostid/Ethernet address.

    ok show-devs
    ..
    /pci@1f,0/ebus@c/eeprom@1,0
    ..
    ok cd /pci@1f,0/ebus@c/eeprom@1,0
    ok .properties
    model mk48t59
    address fff4a000
    reg 00000001 00000000 00002000
    device_type nvram
    name eeprom

    Query the virtual address to obtain the Physical Address (PA)

    ok fff4a000 map?
    VA:fff4a000
    G:0 W:1 P:1 E:1 CV:0 CP:0 L:0 Soft1:1 PA[40:13]:fff8800 PA:1fff1000000
    Diag:0 Soft2:0 IE:0 NFO:0 Size:0 V:1
    PA:1fff1000000

    Map the PA in address space 0 to virtual address 0 (page length is 0x2000)

    ok 1fff1000000 0 0 map

    Now change the IDPROM area which are 16 bytes at offset 0x1fd8,
    Ethernet address 00:03:ba:09:57:d0 Hostid 0x830957d0,
    last byte is XOR checksum of previous 15 bytes]

    ok 1 1fd8 c! [Start of IDPROM]
    ok 83 1fd9 c! [Machine type 83 for Sun Blade 100 sun4u, byte 1 of serial #]
    ok 0 1fda c! [Ethernet address]
    ok 3 1fdb c!
    ok ba 1fdc c!
    ok 9 1fdd c!
    ok 57 1fde c!
    ok d0 1fdf c!
    ok 0 1fe0 c! [Date code]
    ok 0 1fe1 c!
    ok 3 1fe2 c!
    ok ba 1fe3 c!
    ok 9 1fe4 c! [serial # bytes 2-4]
    ok 57 1fe5 c!
    ok d0 1fe6 c!
    ok 82 1fe7 c! [Checksum]

    ok 1fd8 10 dump
    0 1 2 3 4 5 6 7 \/ 9 a b c d e f 01234567v9abcdef
    1fd0 ff ff ff ff ff ff ff ff 01 83 00 03 ba 09 57 d0 ............:.WP
    1fe0 00 00 03 ba 09 57 d0 82 ff ff ff ff ff ff ff ff ...:.WP.........

    ok .idprom
    Format/Type: 1 83 Ethernet: 0 3 ba 9 57 d0 Date: 0 0 3 ba
    Serial: 9 57 d0 Checksum: 82

    Set screen resolution for XVGA monitor (default is 1152x900x76 for Sun monitor)

    ok setenv output-device screen:r1280x1024x60

    ok reset-all

    Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
    Copyright 2005 Sun Microsystems, Inc. All rights reserved.
    OpenBoot 4.17.1, 1280 MB memory installed, Serial #50943952.
    Ethernet address 0:3:ba:9:57:d0, Host ID: 830957d0.

    All Done! Now you can restore the eeprom boot device settings.

    I hope this assists others with similar hardware.

    Tony

    This all works with the OpenBoot firmware version 4.17.1 on
    my SunBlade 100 - and I suspect other firmware versions may
    do this differently.

    OpenBoot incorporates a Forth-like interpreter. Have a look
    at the defined words by typing "words" to the ok prompt
    (without the double quotes). map? means this word isn't
    defined.

    There may be an alternative way of programming the memory
    management hardware with your version.

    Tony

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From marcel.prisi@gmail.com@21:1/5 to All on Tue May 12 14:00:20 2020
    Le mardi 12 mai 2020 00:57:23 UTC+2, Tony Nicholson a écrit :
    On Tuesday, May 12, 2020 at 7:20:36 AM UTC+10, marce...@gmail.com wrote:
    Hi Tony,

    I have the same issue on my NOS Blade 100 that I just started. Mine has OpenBoot 4.0.

    I followed your instructions, but the address mapping command :

    ok 1fff1000000 0 0 map

    Just gives me :

    map?

    Which doesn't look right. Is there a typo or is OpenBoot 4.0 different ?

    Thanks for helping,

    Marcel

    Le dimanche 21 avril 2019 03:11:19 UTC+2, Tony Nicholson a écrit :
    I recently changed the NVRAM battery-backed up timekeeper chip on my SunBlade 100.

    Because there's no system specific details for the SunBlade 100/150
    in the most recent "FAQ about Sun NVRAM/hostid" at

    http://obsolyte.com/sunFAQ/faq_nvram.html

    I thought I'd post the details here!

    First - make sure you know the hostid/Ethernet address and eeprom settings
    (saving a copy of the output of a 'prtconf -vp' and 'eeprom' command helps).

    For my system the hostid 803957d0 and ethernet is 0:3:ba:9:57:d0.

    Power off - change M48T59Y-70PC1 timekeeper battery backed up RAM chip, power on then wait a few minutes for the system to rebuild the device tree and test memory.

    Set all EEPROM variables to their default values (where "ok" is the OpenBoot prompt on the console) -

    ok set-defaults
    ok reset-all

    Hit Stop-A after memory-test

    Find physical address of M48T59Y-70PC1 timekeeper battery backed up RAM chip. We need to do this to reprogram the hostid/Ethernet address.

    ok show-devs
    ..
    /pci@1f,0/ebus@c/eeprom@1,0
    ..
    ok cd /pci@1f,0/ebus@c/eeprom@1,0
    ok .properties
    model mk48t59
    address fff4a000
    reg 00000001 00000000 00002000
    device_type nvram
    name eeprom

    Query the virtual address to obtain the Physical Address (PA)

    ok fff4a000 map?
    VA:fff4a000
    G:0 W:1 P:1 E:1 CV:0 CP:0 L:0 Soft1:1 PA[40:13]:fff8800 PA:1fff1000000
    Diag:0 Soft2:0 IE:0 NFO:0 Size:0 V:1
    PA:1fff1000000

    Map the PA in address space 0 to virtual address 0 (page length is 0x2000)

    ok 1fff1000000 0 0 map

    Now change the IDPROM area which are 16 bytes at offset 0x1fd8,
    Ethernet address 00:03:ba:09:57:d0 Hostid 0x830957d0,
    last byte is XOR checksum of previous 15 bytes]

    ok 1 1fd8 c! [Start of IDPROM]
    ok 83 1fd9 c! [Machine type 83 for Sun Blade 100 sun4u, byte 1 of serial #]
    ok 0 1fda c! [Ethernet address]
    ok 3 1fdb c!
    ok ba 1fdc c!
    ok 9 1fdd c!
    ok 57 1fde c!
    ok d0 1fdf c!
    ok 0 1fe0 c! [Date code]
    ok 0 1fe1 c!
    ok 3 1fe2 c!
    ok ba 1fe3 c!
    ok 9 1fe4 c! [serial # bytes 2-4]
    ok 57 1fe5 c!
    ok d0 1fe6 c!
    ok 82 1fe7 c! [Checksum]

    ok 1fd8 10 dump
    0 1 2 3 4 5 6 7 \/ 9 a b c d e f 01234567v9abcdef
    1fd0 ff ff ff ff ff ff ff ff 01 83 00 03 ba 09 57 d0 ............:.WP
    1fe0 00 00 03 ba 09 57 d0 82 ff ff ff ff ff ff ff ff ...:.WP.........

    ok .idprom
    Format/Type: 1 83 Ethernet: 0 3 ba 9 57 d0 Date: 0 0 3 ba
    Serial: 9 57 d0 Checksum: 82

    Set screen resolution for XVGA monitor (default is 1152x900x76 for Sun monitor)

    ok setenv output-device screen:r1280x1024x60

    ok reset-all

    Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
    Copyright 2005 Sun Microsystems, Inc. All rights reserved.
    OpenBoot 4.17.1, 1280 MB memory installed, Serial #50943952.
    Ethernet address 0:3:ba:9:57:d0, Host ID: 830957d0.

    All Done! Now you can restore the eeprom boot device settings.

    I hope this assists others with similar hardware.

    Tony

    This all works with the OpenBoot firmware version 4.17.1 on
    my SunBlade 100 - and I suspect other firmware versions may
    do this differently.

    OpenBoot incorporates a Forth-like interpreter. Have a look
    at the defined words by typing "words" to the ok prompt
    (without the double quotes). map? means this word isn't
    defined.

    There may be an alternative way of programming the memory
    management hardware with your version.

    Tony

    Thanks a lot for your answer. I updated my machine to 4.17.1 but still have the issue. This time the address matches yours at fff4a000.

    "words" gives me :
    size seek write read close open

    no map ...

    I had a look at the doc : https://docs.oracle.com/cd/E19455-01/816-1177-10/816-1177-10.pdf

    Could not find any other "map" than "map?"

    I tried "memmap" but it froze OpenBoot. Do you have any other idea ?

    Thanks again.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From marcel.prisi@gmail.com@21:1/5 to All on Tue May 12 14:53:17 2020
    Le mardi 12 mai 2020 23:00:25 UTC+2, marce...@gmail.com a écrit :
    Le mardi 12 mai 2020 00:57:23 UTC+2, Tony Nicholson a écrit :
    On Tuesday, May 12, 2020 at 7:20:36 AM UTC+10, marce...@gmail.com wrote:
    Hi Tony,

    I have the same issue on my NOS Blade 100 that I just started. Mine has OpenBoot 4.0.

    I followed your instructions, but the address mapping command :

    ok 1fff1000000 0 0 map

    Just gives me :

    map?

    Which doesn't look right. Is there a typo or is OpenBoot 4.0 different ?

    Thanks for helping,

    Marcel

    Le dimanche 21 avril 2019 03:11:19 UTC+2, Tony Nicholson a écrit :
    I recently changed the NVRAM battery-backed up timekeeper chip on my SunBlade 100.

    Because there's no system specific details for the SunBlade 100/150
    in the most recent "FAQ about Sun NVRAM/hostid" at

    http://obsolyte.com/sunFAQ/faq_nvram.html

    I thought I'd post the details here!

    First - make sure you know the hostid/Ethernet address and eeprom settings
    (saving a copy of the output of a 'prtconf -vp' and 'eeprom' command helps).

    For my system the hostid 803957d0 and ethernet is 0:3:ba:9:57:d0.

    Power off - change M48T59Y-70PC1 timekeeper battery backed up RAM chip, power on then wait a few minutes for the system to rebuild the device tree and test memory.

    Set all EEPROM variables to their default values (where "ok" is the OpenBoot prompt on the console) -

    ok set-defaults
    ok reset-all

    Hit Stop-A after memory-test

    Find physical address of M48T59Y-70PC1 timekeeper battery backed up RAM chip. We need to do this to reprogram the hostid/Ethernet address.

    ok show-devs
    ..
    /pci@1f,0/ebus@c/eeprom@1,0
    ..
    ok cd /pci@1f,0/ebus@c/eeprom@1,0
    ok .properties
    model mk48t59
    address fff4a000
    reg 00000001 00000000 00002000
    device_type nvram
    name eeprom

    Query the virtual address to obtain the Physical Address (PA)

    ok fff4a000 map?
    VA:fff4a000
    G:0 W:1 P:1 E:1 CV:0 CP:0 L:0 Soft1:1 PA[40:13]:fff8800 PA:1fff1000000
    Diag:0 Soft2:0 IE:0 NFO:0 Size:0 V:1
    PA:1fff1000000

    Map the PA in address space 0 to virtual address 0 (page length is 0x2000)

    ok 1fff1000000 0 0 map

    Now change the IDPROM area which are 16 bytes at offset 0x1fd8, Ethernet address 00:03:ba:09:57:d0 Hostid 0x830957d0,
    last byte is XOR checksum of previous 15 bytes]

    ok 1 1fd8 c! [Start of IDPROM]
    ok 83 1fd9 c! [Machine type 83 for Sun Blade 100 sun4u, byte 1 of serial #]
    ok 0 1fda c! [Ethernet address]
    ok 3 1fdb c!
    ok ba 1fdc c!
    ok 9 1fdd c!
    ok 57 1fde c!
    ok d0 1fdf c!
    ok 0 1fe0 c! [Date code]
    ok 0 1fe1 c!
    ok 3 1fe2 c!
    ok ba 1fe3 c!
    ok 9 1fe4 c! [serial # bytes 2-4]
    ok 57 1fe5 c!
    ok d0 1fe6 c!
    ok 82 1fe7 c! [Checksum]

    ok 1fd8 10 dump
    0 1 2 3 4 5 6 7 \/ 9 a b c d e f 01234567v9abcdef
    1fd0 ff ff ff ff ff ff ff ff 01 83 00 03 ba 09 57 d0 ............:.WP
    1fe0 00 00 03 ba 09 57 d0 82 ff ff ff ff ff ff ff ff ...:.WP.........

    ok .idprom
    Format/Type: 1 83 Ethernet: 0 3 ba 9 57 d0 Date: 0 0 3 ba
    Serial: 9 57 d0 Checksum: 82

    Set screen resolution for XVGA monitor (default is 1152x900x76 for Sun monitor)

    ok setenv output-device screen:r1280x1024x60

    ok reset-all

    Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
    Copyright 2005 Sun Microsystems, Inc. All rights reserved.
    OpenBoot 4.17.1, 1280 MB memory installed, Serial #50943952.
    Ethernet address 0:3:ba:9:57:d0, Host ID: 830957d0.

    All Done! Now you can restore the eeprom boot device settings.

    I hope this assists others with similar hardware.

    Tony

    This all works with the OpenBoot firmware version 4.17.1 on
    my SunBlade 100 - and I suspect other firmware versions may
    do this differently.

    OpenBoot incorporates a Forth-like interpreter. Have a look
    at the defined words by typing "words" to the ok prompt
    (without the double quotes). map? means this word isn't
    defined.

    There may be an alternative way of programming the memory
    management hardware with your version.

    Tony

    Thanks a lot for your answer. I updated my machine to 4.17.1 but still have the issue. This time the address matches yours at fff4a000.

    "words" gives me :
    size seek write read close open

    no map ...

    I had a look at the doc : https://docs.oracle.com/cd/E19455-01/816-1177-10/816-1177-10.pdf

    Could not find any other "map" than "map?"

    I tried "memmap" but it froze OpenBoot. Do you have any other idea ?

    Thanks again.

    Allright I got it working by following these instructions :

    https://github.com/MrSparc/idprom-repair

    Warning : 8) should read "ok 1fd8 +" (1fd8 instead of 1fd0).

    I seem to have a functional Blade, thanks to my Dremel and your help :-)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)