[comp.sys.hp] The LEDs on the front panel of HP 9k/400's

jco@reef.cis.ufl.edu (Dumpmaster John) (01/11/91)

We have some HP 9k/400's (HP/Apollo) Machines (433's I think), and we are
running them under HP-UX 7.0 (with the 7.03 X Server).  They all have some
funky LEDs on the front.  We tried asking X to turn them on and it
doesn't/can't.  So my question for any one that wants to reply, what do you
do to make them come on.  

I hope HP didn't give us a machine with lights that we can't make come on.
I know they are flashed during the boot.

Reply by mail and I'll summarize.

later
jco

--
"BSD the strongest Operating System avaible today without a prescription."
In Real Life:		
John C. Orthoefer	Internet: jco@smuggler.cis.ufl.edu
University of Florida	Floyd Mailing List: eclipse-request@beach.cis.ufl.edu

jco@reef.cis.ufl.edu (Dumpmaster John) (01/13/91)

Okay the leds are at 0x1ffff thanks to Shaw Moldauer for that info.  If
anyone wants the little program I wrote to blink the leds I send me mail.
However, let me warn you it messes with memory and you must create a device
over the 0x10000 page of memory.  Which may not be very good.

later
jco


--
"BSD the strongest Operating System avaible today without a prescription."
In Real Life:		
John C. Orthoefer	Internet: jco@smuggler.cis.ufl.edu
University of Florida	Floyd Mailing List: eclipse-request@beach.cis.ufl.edu

maguire@cs.columbia.edu (Gerald Q. Maguire) (01/14/91)

If you are using HP-UX the following code will let you read the ROM
area on the 9000/3xx machines. I suspect that it will let you read the
ROM area on the 9000/4xx machines also. The LEDs have the same
location on the 9000/3xx machines as you have indicated they do on the
9000/4xx. After reading the ROM area - I have used GDB to follow the
code trying to understand what the error code which the LEDs display
are. It would be useful if there were a simple table of these error
codes in the documentation which comes with the machine.

Chip

#include <stdio.h>
#include <fcntl.h>
#include <sys/iomap.h>

main()
{
  char buf[1024];
  int fd;			/* input file descriptor */
  int i;			/* loop index */
  int address = 0;
  char *rom;

  fd = open("/dev/rom", O_RDONLY);
  if ( fd < 0 ) {
    fprintf(stderr, "unable to do open /dev/rom\n");
    exit(-1);
  }

  if (ioctl(fd, IOMAPMAP, &address) < 0) {
    fprintf(stderr, "mapping operation failed\n");
    exit(-1);
  } else {
    fprintf(stderr, "mapped in rom at %x\n");
  }

  rom = (char *) address;

  for (i = 0; i <= 1*1024*1024; i=i+1024) {

    if (write(1, &rom[i], 1024) < 0)  {
      fprintf(stderr, "failed writing buffer %d \n", i);
      exit(-1);
    }

  }

  if (ioctl(fd, IOMAPUNMAP, address) < 0) {
    fprintf(stderr, "unmapping operation failed\n");
    exit(-1);
  }

  close(fd);

}