Wake-On-LIRC 0.2.99 (DEVELOPMENT BRANCH WITH PS/2 EMULATION SUPPORT) =================== Copyright (C) 2003, 2004, 2011 Mark Haemmerling Copyright (C) 2003 Steffen Bauer For information about this project, first have a look at: http://engbedded.com/wakeonlirc/ Project license: GNU Geneal Public License (GPL). This is a PS/2-enabled development branch of the Wake-On-LIRC project. It should work on ATtiny12 and ATtiny13 controllers (and AT90S2343). Assembling the source file (optional) ------------------------------------- (This step is now optional, since the binary image is already included.) Use your favourite AVR assembler (e.g., avra, avrasm, tavrasm) to assemble the corresponding .asm source file for your microcontroller. Choose either attiny12.asm (also for ATtiny13) or at90s2343.asm. You may want to use the included Makefile (configured to build "all" using avra by default). Flashing your microcontroller ----------------------------- Use your favourite AVR programming tool (e.g., uisp, avrdude, avrp) with the corresponding hex/bin/whatever file to flash the firmware to your device. Note for users of the AT90(L)S2343: Depending on the revision and date of your microcontroller device, it may be necessary to program the fuse bits to use the internal RC oscillator (program the RCEN fuse bit). So if your AVR does not respond to SPI serial programming requests, then it is likely that you have some of the latest revisions which do not have the RC oscillator enabled by default. Connect an external clock to the XTAL pin and use a nice programming tool such as PonyProg to program the RCEN fuse bit. Your AVR will then work without an external clock source. Building the circuit -------------------- There is no big documentation for PS/2-enabled Wake-On-LIRC yet. This has just been a development and test branch for private use. But it seems to be interesting for more and more people since modern mainboards do not have a WOL socket on-board. PS/2 offers the same features (power supply, wake signalling) as long as your BIOS allows wake-up via PS/2. Plus, you do not necessarily need to open your PC for connecting the circuit. Connecting the circuit ---------------------- Get a PS/2 cable (with 6pin mini-DIN male plug attached) and connect it the following way: Signal AVR pin PS/2 pin --------- ----------- ----------- GND GND 3 VCC VCC 4 CLK PORTB1 5 DATA PORTB4 1 (see http://en.wikipedia.org/wiki/PS/2_connector) The rest of the schematics can be taken from the 0.2.0 release. Just leave the WOL mainboard connectors (and both resistors) away, that is: JP2, JP3, R4, R5 in the 0.2.0 Rev.3 drawing. The supply voltage is now taken from the PS/2 port. What it does ------------ This branch of Wake-On-LIRC wakes your PC by sending a PS/2 ACPI "Wake" key-press to the keyboard controller. Be sure to enable this feature in your CMOS setup. This has only been tested on an Asrock A330ION board, and there it works like a charm. I have, however, to admit that I was not able to see a generic key press when trying to send some visible character (e.g., an "A"). So it seems there is still some problem with the timing or whatever. Anyway, it seems ok for the keyboard controller so that it issues a wake signal. And that is all I cared about. Learning a remote code ---------------------- At first, choose if you want to program an RC5 or SIRCS code by setting jumper JP4: open for RC5, close for SIRCS. Then, close JP5 and press the button to be programmed on your remote control once or twice (in case the first press was not properly recognised). There is no feedback whether the detection went okay - you have to try now if the learning did succeed. To test, open (and leave open) JP5 and press the same button again. The WOL output should now be activated and your PC should power up (a control LED will help you if you don't have success). Note: You can learn one code for RC5 and SIRCS independently. This documentation is very brief. If you got questions, just mail me: Have fun! Mark Haemmerling