I-Appliance BBS
The Official Source for Internet Appliance Upgrades and Mods
Amazon Honor System Click Here to Pay Learn More
BBS Main List | Sign In | Sign Up | Search | Help | Linux-Hacker.netReply to Thread | Printer |

Home / I-Opener Areas / I-Opener Technical Stuff
LED Control - Information & Windows App.
Details of the hardware port used to control the LED's and I've built a small app that does this under Windows.

New MessageLED Control - Information & Windows App. (modified 0 times) mrkemak
Profile
Hi,

I've pulled so much useful info from this forum whilst getting my I-Opener working, it's about time I gave something back

After a bit of searching I've found the information on controlling the I-Opener LED's and written a Windows app to do just that.

I have a small VB program that will turn either one on or off or make one of them flash a given number of times, at a given frequency.
My first attempt at this is just a simple command line app.

Obviously I can take this further by wrapping up the functions in a COM object so the LED's can be controlled from other apps or even Script without needing to shell out.

Additionally, it could be made into a "service" that sits in the system tray and listens for Windows messages etc which would work out better for making the LED's flash continously.

Before I go and spend more development time on this, is anybody actually interested in it?
I'm guessing the simple command line version might well satisfy most people.

Please post your thoughts and possible uses for the LED's to the forum.


Info
--------------------------------------------------------------------------------

For the record, the Port used is normally 0x404C, or it is +4C from the power management port base.
(According to Robert Rose's document (link below) this is :
"
In PCI config space look at Bus 0, Device 0, Function 4 (Vendor=1106 Device=3057) dword register 48. This is the I/O port base for power management control (with bit 0 always OR'ed on). Add offset x'4C' to this value to get the correct base address.
"
Flipping bits 0(Mail) and 1(Phone) of that port turns the LED's on(0) or off(1).

I found the Port info at http://fastolfe.net/misc/ihack-resources.html.
(For *NIX users, there is a downloadable C source file there for a command line utility to toggle the LED's)
This site appears to be an older source of info on hacking the I-Opener.

To access the hardware ports from VB, I used a freely available DLL called io.dll that I found on http://geekhideout.com/iodll.shtml through http://www.programmersheaven.com/zone15/cat610/22947.htm.

The author helpfully provides function headers for C, Delphi and VB and allows free redistribution of the DLL subject to a couple of conditions, see his documentation for details. According to his docs, the DLL should work equally well for Windows 95/98/Me and 2000/XP. I've only tested on 98(SE).

--------------------------------------------------------------------------------

Depending on the interest, I'll put up a page someplace where people can download the app and the source.
In the meantime, feel free to mail me (mrkemak@hotmail.com) and I'll send you back a copy.
(The app is only 20K, the DLL 49K)

Hope this helps someone, somewhere.

At least now I've got an excuse to change the LEDs over to hi-intensity blue ones

MrKemak

01-12-2003 17:06:34

New MessageRE:LED Control - Information & Windows App. (modified 0 times) dawson
Profile | Email
Hey that would be so cool! Please do make it public as I'm sure there's quite a bit of interest. I was just thinking about trying to figure out how those little LED's are controlled.

dawson

01-19-2003 21:49:29

New MessageRE:LED Control - Information & Windows App. (modified 0 times) mrkemak
Profile
Just an update to let people know the LED program has been tried out on XP and works fine, if anyone wants it, please mail me.
01-27-2003 14:45:55

New MessageRE:LED Control - Information & Windows App. (modified 0 times) BadFlash
Profile | Email
You need to either post your e-mail address or update your profile to include it. I'd sure like a copy.
01-27-2003 17:43:11

New MessageRE:LED Control - Information & Windows App. (modified 0 times) logixland
Profile | Email
Can you make this app track Hdd activity and flash the led accordingly, I remember some old school apps that did this in the old dos days with the caps lock on the keyboard.
02-18-2003 22:38:21

New MessageRE:LED Control - Information & Windows App. (modified 0 times) jimmy
Profile
Please look up the old thread by the user "Las Vegas" on this subject. It is an interesting story, and more complex than that being discussed here.

Briefly, U16 is a dual op amp being used as the voltage regulator driver for the regulated Vcore voltage and a second regulated 2.5 volt rail. Pins 5 and 3 are tied together on the motherboard, and both are fed by a strange, high impedance version of the 2.5 volt reference voltage reference generated by Q28. Thus, you must lift pin 3 from its solder pad to set your Vcore voltage without affecting the other regulated supply. Second, you really should generate your Vcore reference voltage from the normal, low impedance 2.5 volt Q28 reference. A convenient place to get this reference voltage is the upper (toward cpu) end of capacitor C257, in the lower right corner of the motherboard. Las Vegas describes how to make a voltage divider with two resistors tied between C257 and any nearby ground (he used a pad by the large electolytic capacitor to the left and slightly above C257, near the printed word "C277"). The center point of the divider should be tied to pin 3 (lifted) of U16.

I am currently doing this mod on several V1's using AMD K6-2+ and 3+ chips that need a 1.9 to 2.1 volt Vcore. For simplicity, I let my two-resistor divider voltage derived from C257 be my Vcore reference directly. For this to work, I remove resistor R202 from the board. R202 is the ground leg of a voltage divider in the U16 feedback loop that boosts the Vcore voltage above the value appearing on pin 3 of U16. R202 sits near the large electrolytic capacitor that lies near the infamous Q16 Vcore voltage regulator dropping transistor. Once removed, Vcore will equal the pin 3 voltage, which makes life simple for making up my resistor divider network on C257. Once R202 is removed, the appropriate divider network for K6-2+ and 3+ chips is a 100K resistor connected to ground (near the "C277" word printed on the board), tied to a 27K resistor, which, in turn, is tied to C257. This generates about 1.95 volts. The center point of the divider (1.95 volts) is tied to pin 3 (lifted) of U16 using fine wire wrap wire available from Radio Shack. Use fine wire to avoid putting strain on the lifted U16 pin 3, which is quite flimsy once lifted. I glue the wire to the motherboard at some point along its length as a strain relief.

Try a 15K resistor with a 120K resistor for your 2.2 volt Vcore. Oh, of course, don't forget to move the zero ohm resistors R60 and 61 to the vacant R184 and 185 solder pads near the cpu socket to allow split Vcore and i/o rail voltages. This is important, and do this first before messing with U16!! Also, check your Vcore voltage before plugging in the cpu. All work should be done with no cpu present until this is done. Vcore appears on the outboard solder pads of R60 and 61 (which are now vacant).

Good luck!

jimmy

02-19-2003 06:47:01

New MessageRE:LED Control - Information & Windows App. (modified 0 times) mrkemak
Profile
Hi,

Doing this in software wouldn't be an easy thing. It was probably slighlty easier back in the DOS days because you could hook up to the IDE interrupt. I don't even want to think about how to do this under Windows

Plus you'd be taking up processor cycles every time you did anything disk related, just to flash a light.

An electronic solution is the best bet.

Have fun,

MrKemak

02-19-2003 08:08:11

New MessageRE:LED Control - Information & Windows App. (modified 0 times) Lincoln_man
Profile
Pin 39 on the IDE plug is LED control. Just rewire the led with a 1k resister to 5v
and the other side to the IDE pin 39 (which will ground to turn on the led).
02-19-2003 08:21:56

New MessageRE:LED Control - Information & Windows App. (modified 0 times) WSTRLNG
Profile
This is going way back to the first days of this forum.
I can't remember who wrote this to give them credit.
I think this is what you are looking for.
It's not the NT ones but they do control the led's in a .bat.
http://home.attbi.com/~victorwesterling/ledctrl.zip
You can use a program called CheckPOP to start and stop the .bat's when getting mail
05-07-2003 10:27:46

New MessageRE:LED Control - Information & Windows App. (modified 0 times) Wild_Pencil
Profile | Email
Linux is useless in Windows/Win32 context.

Personally, I think this little number would be terrific if it were published as an ActiveX object.

That would make Something like this in JScript possible:

var oBlinkLights = new ActiveXObject("IOpener.BlinkLights");
oBlinkLights.MailLED.On(); // or Off() or Strobe(IntervalMS);

Which would mean it'd trivial to hack "FetchYahoo" or "GotMail" to reproduce this long-lost functionality of the original IOpener.

05-07-2003 17:03:21

New MessageRE:LED Control - Information & Windows App. (modified 0 times) mrkemak
Profile
I only just noticed the update to the thread.
As it happens I'm on holiday next week so I'll spend a bit of time knocking up COM object for this.

If anyone has any input on desired functionality, property and function names either post here or mail me.

Have Fun,

MrKemak

05-15-2003 16:07:20

Reply to Thread | Printer |
All times are PSTPowered by UltraBoard v1.62



Copyright © 2000, Netmake Inc. All Rights Reserved.
See Terms and Conditions for more information.




i-opener opener laptop notebook computer help drivers dll free windows dos repair fix linux mac macintosh 2000 95 98 nt pc configure hardware software sound video netscape explorer network networking lan wan software cmos fat bios printer card mouse modem ide scsi cd rom controllers scanner tape hard drive cgi scripts source code mp3