Hacking EEPROMS (was: Reset command crashes the system)

dupuy at cs.columbia.edu dupuy at cs.columbia.edu
Tue Dec 11 16:12:23 AEST 1990


|The problem with "reset" crashing the system turns out to be an EEPROM
|configuration problem. There's a location which identifies what type of
|frame buffer you have.  I haved a cgsix (GX), and it was set to a be a
|routine color monitor (as if you had said "eeprom console=color").  Then,
|"reset" tries to talk to the board that is there, but it isn't.
|
|   The byte to be configured is location 0x1f:
|	   00 - monochrome monitor
|	   10 - ttya
|	   11 - ttyb
|	   12 - color monitor and 3/60 plug-in color frame buffer
|	   20 - P4 Color frame buffer
|
|   Get to the PROM monitor (for example, "shutdown -hf now").  At the ">"
|   prompt, change the value with the "q" command: >q 01f Your current value
|   will be displayed.  Enter "20", then a "." to end the patches.  Reboot,
|   and "reset" will be working correctly.

I'm curious what kind of system you did this on - I have one 3/60 with a
GX framebuffer, and although it's never run 4.1, I've had no problems with
"reset" - is this the Unix command, or the sun4c forth monitor command?

Anyhow, it's a ways to the console of this machine, and I'm very lazy
(plus somebody was probably using it, so I didn't want to shut it down to
the monitor level.  Instead, I just used adb, as follows (adb doesn't seem
to be able to write a single byte for some reason):

	# adb -w /dev/null /dev/eeprom
	not core file = /dev/eeprom
	0x1f/x
	0x1f:		1212			# if you have a custom banner

	0x1f/w0x2012
	0x1f:		0x1212  =       0x2012
	^D

	# adb -w /dev/null /dev/eeprom
	not core file = /dev/eeprom
	0x1f/x
	0x1f:		1200			# if you don't

	0x1f/w0x2000
	0x1f:		0x1200  =       0x2000
	^D

	# eeprom -c				# to fix up the checksum
	eeprom: diagnostic area checksum wrong
	# eeprom
	hwupdate=Tue Dec 19 15:16:54 1989
	memsize=20
	memtest=20
	scrsize=1152x900
	watchdog_reboot=true
	default_boot=true
	bootdev=le(0,0,0)
	kbdtype=0
	keyclick=false
	console=b&w
	custom_logo=true
	banner=Columbia University Computer Science Dept. Sun-3/60C
	diagdev=le(0,0,0)
	diagpath=
	ttya_no_rtsdtr=false
	ttyb_no_rtsdtr=false
	ttya_use_baud=false
	ttyb_use_baud=false
	ttya_baud=0
	ttyb_baud=0
	columns=0
	rows=0

Well, eeprom seems confused, but it's still running 4.0.3, so who knows.
I guess that's why we have to use the prom monitor (or adb).

While I'm on the subject, what ever happened to the wonderful PROM User's
Manual (Sun Part Number 800-1736-10) which came with the 4.0 docuboxes,
but wasn't part of the spiffy 4.1 set?  If you have a copy, it has great
tables describing everything from the Sun-2 to 386i (no Sun-4C [Campus],
alas).

In the past, I found out that the equally wonderful Floating-Point
Programmer's Guide had become the Numerical Computation Guide, and was
bundled with the unbundled Fortran compiler.  Has the PROM Manual been
bundled with a new and unbundled assembler? :-)

inet: dupuy at cs.columbia.edu
uucp: ...!rutgers!cs.columbia.edu!dupuy



More information about the Comp.sys.sun mailing list