Is it possible to set diagnostic lights on a Dell Optiplex GX520 PC?

1

I have a Dell PC with 4 diagnostic lights in the front that light up during POST and then remain off. Is it at all possible to manipulate them from Windows? Would writing to low memory locations using inpout32 work? Any ideas and knowledge are welcome - I did not find any discussions on this topic at all.

Duke Nukem

Posted 2013-08-17T22:58:42.323

Reputation: 865

Answers

0

Thanks to Blackbeagle, after some tinkering I figured it all out. So, here's how to control the front lights on a Dell Optiplex GX520:

You will need to write to the hardware ports on your PC. On Windows XP and below, this is possible using the library inpout32.dll from http://logix4u.net/parallel-port/16-inpout32dll-for-windows-982000ntxp Here, bit 1 is the least significant and bit 8 is the most significant.

  • Diag. light 1:
    • Turn on: Set bit 1 off on port 8B8h
    • Turn off: Set bit 1 on on port 8B8h
  • Diag. light 2:
    • Turn on: Set bit 4 off on port 88Eh
    • Blinking: Set bit 4 on on port 89Ah
    • Turn off: Set bit 4 on on port 88Eh
  • Diag. light 3:
    • Turn on: Set bit 5 off on port 88Eh
    • Blinking: Set bit 5 on on port 89Ah
    • Turn off: Set bit 5 on on port 88Eh
  • Diag. light 4:
    • Turn on: Set bit 4 on on port 8B8h
    • Turn off: Set bit 4 off on port 8B8h
  • HDD activity light:
    • Always on: Set bit 1 off on port C34h
    • Always off: Set bit 3 off on port C34h
    • Normal: Set bits 1 and 3 on on port C34h
  • Power light:
    • On bright: Set bit 1 off on port C50h
    • On dim: Set bit 1 on on port C50h
    • Off: Set bit 1 on on port C50h and set bit 1 off on port C5Eh
  • CD/DVD light: (this will disconnect the drive from the system!)
    • On for 3 sec. (by re-initing the drive): Send value 1 to port C53h
    • Reset above command: Send value 8 to port C53h

Warning: Sending values to some hardware ports (none of the ones listed here) can cause system crashes that require power cycling to fix. Also, this may not work on other Dell models.

Duke Nukem

Posted 2013-08-17T22:58:42.323

Reputation: 865

2

Since they are active only in POST, I suspect that they are not memory controlled, more likely port controlled. Basically during POST, the BIOS echoes results of the various POST tests to port 80. Not so much a memory location as a addressable hardware port - like port 378h is the LPT port. The BIOS opens a connection to that hardware line, outputs the last known good test to it by pushing a certain byte on the line. POST cards monitor the port 80 address, read what comes in and displays the result.

That said, you could theoretically write some sort of program to address the hardware at that level and push bytes to the port and see if it activates the LED's. What I don't know is if the LED's monitor port 80 or another port and/or if they have some sort of chip to read the code and convert it to a specific LED pattern.

Blackbeagle

Posted 2013-08-17T22:58:42.323

Reputation: 6 424

Thanks for the info! This is definitely a good starting point. I will do some experimenting tomorrow and let you know what I find out. By the way, do you know where I can read more about this, or is it your personal knowledge? – Duke Nukem – 2013-08-18T16:24:12.790

Google POST CARDS or go to Wikipedia. I used to use them during the ISA bus era to diagnose issues. We fooled around internally on the system a lot more than normally done today since almost everything was a discrete board and we pushed DIP RAM chips onto the boards which flexed the motherboards. Lots of stuff used to pop loose or even off. – Blackbeagle – 2013-08-19T22:29:53.687

Great news! I got one of the LEDs to light up by sending random values to port 882h ... then the system froze. More testing tomorrow! – Duke Nukem – 2013-08-21T04:34:03.373

I don't suppose there's any documentation available somewhere listing Dell's hardware port assignments? The only port lists I can find on Google are for very old hardware. – Duke Nukem – 2013-08-21T04:47:09.870

Thanks Blackbeagle for setting me on the right track, I figured everything out. The details should be up soon. – Duke Nukem – 2013-08-21T20:20:21.507