· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/Ups-KLDP

You are not allowed to 'diff'


UPS mini HOWTO

UPS mini HOWTO

±è±Ô¶û, krkim@epilab.snu.ac.kr

v1.0, 18 June 1998
ÄÄÇ»ÅÍ¿Í ¿¬°áÇϱâ À§ÇÑ ¸±·¹ÀÌ ½ÅÈ£ Ãâ·ÂÀÌ ¾ø´Â UPS¸¦ À§ÇÑ Àü¿øÀÌ»ó ¼¾¼­¸¸µé±â¿Í ÀÌ ¼¾¼­ ½ÅÈ£¸¦ ÀÌ¿ëÇÑ ¸®´ª½º ¼­¹öÀÇ ¼Ë´Ù¿î ÀÚµ¿ Á¦¾î

1. ¼Ò°³

UPS¸¦ ÄÄÇ»ÅÍ Àü¿ø¶óÀο¡ ¼³Ä¡ÇÏ´Â ÀÏÀº ±×·¸°Ô ¾î·Á¿î ÀÏÀº ¾Æ´ÏÁö¸¸, Àü¿øÀÌ ³ª°¬À» °æ¿ì À̸¦ °¨ÁöÇÏ°í ÀûÀýÈ÷ ó¸®(¹èÅ͸®°¡ ¿ÏÀüÈ÷ ¹æÀüµÇ±â Àü¿¡ ¼Ë´Ù¿î) ÇÏ´Â ÀÏÀº UPS¿¡ ÀûÀýÇÑ Ãâ·Â Æ÷Æ®°¡ ÀÖ°í À̸¦ Á¦´ë·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥ÀÌ ÇÊ¿äÇÏ´Ù. º» ¹®¼­¿¡¼­´Â UPS°¡ ¾î¶°ÇÑ Àü¿øÀÌ»ó ½ÅÈ£µµ Ãâ·ÂÇÏÁö ¾ÊÀ» °æ¿ì¿¡µµ ÃÖ¼ÒÇÑÀÇ ºñ¿ë°ú ³ë·ÂÀ¸·Î ¾ÈÀüÇÏ°Ô ¸®´ª½º ¼­¹ö¸¦ ¼Ë´Ù¿î ½Ãų ¼ö ÀÖ´Â ¹æ¹ýÀ» ±â¼úÇÏ°íÀÚ ÇÑ´Ù.

2. ÀÛ¾÷ÀÇ °³¿ä

  1. UPS¿¡ ÀÇÇØ ÄÄÇ»Å͵é(1´ë ¶Ç´Â ±× ÀÌ»ó)Àº Á¤Àü½Ã¿¡µµ °è¼Ó ÄÑÁ® ÀÖÀ½(ÃÖ¼Ò 2ºÐ ÀÌ»ó)
  2. UPS·Î ÀԷµǴ Àü¿ø¿¡ ÀÏ¹Ý DC¾î´ðÅ͸¦ ¿¬°áÇÏ°í ÀÌ ¾î´ðÅÍ¿¡¼­ ³ª¿À´Â Àü±â¸¦ ÀÌ¿ëÇÏ¿© Æò¼Ò¿¡´Â ¸±·¹ÀÌ°¡ ¶³¾îÁ® ÀÖ°í Á¤Àü½Ã¿¡´Â ºÙ´Â ȸ·Î¸¦ ¸¸µë
  3. À§ÀÇ È¸·Î¸¦ ÄÄÇ»ÅÍ Á÷·ÄÆ÷Æ®·Î °¨ÁöÇÒ ¼ö ÀÖµµ·Ï Á÷·ÄÆ÷Æ®¿¡ ¸î°³ÀÇ ÀúÇ×°ú À§ ½ÅÈ£¼±À» ¿¬°áÇÔ
  4. ½ÅÈ£¸¦ ÄÄÇ»ÅÍ OS¿¡¼­ °¨½ÃÇÏ°í Á¤Àü½Ã¸¦ ´ëºñÇÔ

3. ÇÊ¿ä ¹°Ç°

¸±·¹ÀÌ

5V ¿ëÀ̳ª 12V ¿ëÀÌ ±¸Çϱ⠽±´Ù. ¾î¶² ¸ð¾çÀ̰ųª »ó°ü ¾ø°í Àü±â°¡ µé¾î¿Ã ¶§´Â ¿­·ÁÀÖ´Ù°¡ Àü±â°¡ ³ª°¡¸é ´ÝÈ÷´Â ȸ·Î¸¸ ÀÖÀ¸¸é µÈ´Ù. ÇÊÀÚ´Â ¸ø¾²°ÔµÈ ¿ÜÀåÇü ¸ðµ©¿¡¼­ ¾ïÁö·Î ¶â¾î³»¾ú´Ù. º¸Åë ¿ÜÀåÇü ¸ðµ©¿¡´Â 5V¿ë ¸±·¹ÀÌ°¡ 2°³¾¿ ´Þ·ÁÀÖ´Ù.

DC¾î´ðÅÍ

À§ÀÇ ¸±·¹ÀÌÀÇ ±¸µ¿¿ëÀ¸·Î ¾µ¼ö ÀÖ´Â Àü¾ÐÀÌ Ãâ·ÂµÇ¾î¾ß ÇÑ´Ù.

10K 0hmÂ¥¸® ÀúÇ×

»ö±ò·Î ¸»ÇÏÀÚ¸é °¥,Èæ,µî,(±Ý) ÀÌ´Ù. ¸±·¹À̸¦ »ç¿ëÇÏ·Á°í ¿ÜÀåÇü ¸ðµ©À» ¹Ú»ì ³»¾ú´Ù¸é °°Àº ±âÆÇ¿¡¼­ ¿©·¯°³ ãÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù.

½Ã¸®¾ó Æ÷Æ® Àè

¿ÜÀåÇü ¸ðµ©À» ¹Ú»ì ³»¾ú´Ù¸é ÀÌ°Í ¿ª½Ã Çϳª ÀÖÀ» °ÍÀÌ´Ù.

Àü¼±

¾ãÀº °ÍÀ¸·Î ¾à°£ (ÇÑ 20cm) ½Ã¸®¾ó Æ÷Æ®¸¦ ¹Ú»ì ³½ ÈÄ ±× ¾È¿¡ µé¾îÀÖ´Â Àü¼±À» »ç¿ëÇÏ¸é µÉ °ÍÀÌ´Ù.

±âŸ

¶«³³, ³³¶«ÀεÎ, ´ÏÆÛ, Àý¿¬Å×ÀÌÇÁ(±î¸¸Å×ÀÌÇÁ), ¸ÖƼÅ×½ºÅÍ µî

ÇÁ·Î±×·¥

Alessandro RubiniÀÇ powerd 2.0À» ÀÌ¿ëÇÏ¿´´Ù. sunsiteµî¿¡¼­ ½±°Ô ãÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù.

4. Çϵå¿þ¾î ¸¸µé±â

  1. ¸±·¹ÀÌÀÇ ¿·¸éÀ̳ª À­¸éÀ» ÀÚ¼¼È÷ º¸¸é ÄÚÀÏ ¸ð¾çÀÇ ±×¸²ÀÌ ¿¬°áµÇ¾î ÀÖ´Â ÇÉ µÎ°³°¡ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ µÎ ÇÉ¿¡ ¾î´ðÅÍÀÇ µÎ ¼±À» ³³¶«ÇÑ´Ù. +, -¸¦ ½Å°æ ¾µ ÇÊ¿ä´Â ¾ø´Ù.
  2. ½Ã¸®¾ó Æ÷Æ® ÀèÀ» ¿ÏÀüÈ÷ ºÐÇØÇؼ­ ³³¶«À» ÇÒ ¼ö ÀÖ´Â ¸éÀÌ ¹ÛÀ¸·Î ³ª¿Àµµ·Ï ²¨³» ³õÀº ÈÄ DTR°ú DSRÀ» Àü¼±À» »ç¿ëÇؼ­ ¿¬°áÇÏ°í DTR°ú DCD¸¦ 10K OhmÂ¥¸® ÀúÇ×À¸·Î ¿¬°áÇÑ´Ù. ½Ã¸®¾ó Æ÷Æ®ÀÇ ÇÉ ¹øÈ£´Â ´ÙÀ½ ¼½¼ÇÀ» Âü°íÇÑ´Ù.
  3. ¸±·¹ÀÌ¿¡¼­ Á¤ÀüÀÏ °æ¿ì¿¡¸¸ ¿¬°áµÇ´Â ÇÉÀÌ ¾î´À °ÍÀÎÁö¸¦ È®ÀÎÇÑ´Ù. ¸ÖƼÅ×½ºÅÍÀÇ ÀúÇ×°ª È®ÀÎ ±â´É°ú ¾î´ðÅÍ¿¡ ½ÇÁ¦·Î Àü±â¸¦ °ø±Þ ÇÔÀ¸·Î½á ½±°Ô ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
  4. 3¹øÀÇ µÎ ÇÉÀ» Çϳª´Â DCD¿¡ ´Ù¸¥ Çϳª´Â GND¿¡ ¿¬°áÇÑ´Ù.
  5. ¸¶Áö¸·À¸·Î ÁöÀúºÐÇÑ °ÍµéÀÌ º¸ÀÌÁö ¾Êµµ·Ï Àý¿¬Å×ÀÌÇÁ·Î Àß °¨¾ÆÁØ´Ù.

5. ½Ã¸®¾ó Æ÷Æ®ÀÇ ÇÉ ¹øÈ£

¿ì¸®°¡ Ç¥ÁØÀ¸·Î ½Ã¸®¾ó Æ÷Æ®´Â µÎ°¡Áö Á¾·ù°¡ Àִµ¥ 9pin°ú 25pinÀÌ ±×°ÍÀÌ´Ù. º» ¹®¼­¿¡¼­ ÇÊ¿ä·Î ÇÏ´Â ÇÉÀÇ À̸§°ú ¹øÈ£´Â ´ÙÀ½°ú °°´Ù. ÇÉÀÇ ¹øÈ£´Â ½Ã¸®¾ó Æ÷Æ® Àè¿¡ ±ú¾Ë¸¸ÇÑ ±ÛÂ¥·Î ¾º¿© ÀÖ´Ù. ÀÚ¼¼È÷ »ìÆ캸±â ¹Ù¶õ´Ù.

           9      25(pin)
DTR    4      20
DSR    6      6
DCD    1      8
GND    5      7

´Ù¸¥ ÇɵéÀÇ ¹øÈ£±îÁö ¾Ë°í ½ÍÀ¸½Ã´Ù¸é UPS HOWTO¸¦ ã¾Æº¸±â ¹Ù¶õ´Ù.

6. ÇÁ·Î±×·¥ ¼³Á¤

  • powerd 2.0À» ÇÑ µð·ºÅ丮¿¡ Ç®¾î³õÀº ´ÙÀ½ ÄÄÆÄÀÏÇÏ°í /sbin/¿¡ powerd ½ÇÇàÆÄÀÏÀ» º¹»çÇØ ³õ´Â´Ù.
  • /etc/powerd.conf¸¦ Àû´çÈ÷ ¼öÁ¤ÇÑ´Ù. ÇÊÀÚ´Â ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÏ¿´´Ù. (2¹ø° ½Ã¸®¾ó Æ÷Æ®¿¡ ¿¬°á)
    serialline         /dev/cua1
    monitor            DCD
    failwhen           low
    asserthigh       DTR
    
    Áï, ÇÁ·Î±×·¥ÀÌ ½ÃÀ۵Ǹé DTR¿¡ Àü¾ÐÀÌ µé¾î°¡°í 10K OhmÂ¥¸® ÀúÇ×À¸·Î ¿¬°áµÇ¾îÀÖ´Â DCDµµ ¿ª½Ã Àü¾ÐÀÌ Àΰ¡(high)µÈ´Ù. Á¤ÀüÀÌ µÇ¸é DCD¿Í GND°¡ ¸±·¹ÀÌ¿¡ ÀÇÇؼ­ ´ÝÈ÷°Ô µÇ´Âµ¥ ÀÌ¿¡µû¶ó DCD´Â Àü¾ÐÀÌ 0V°¡ µÇ°í ½ÅÈ£´Â low°¡ µÇ¸ç À̸¦ powerd¿¡¼­ °¨ÁöÇÏ´Â °ÍÀÌ´Ù.
  • ½Ãµ¿ÆÄÀÏ ¼öÁ¤ - /etc/rc.d/rc.localÆÄÀÏ(¾Æ´Ï¸é µ¿µîÇÑ ¿ªÇÒÀ» ÇÏ´Â ´Ù¸¥ ÆÄÀÏ)¿¡ ´ÙÀ½ ¶óÀÎÀ» Ãß°¡ÇÑ´Ù.
       if [ -f /sbin/powerd ]; then
           echo "Running powerd"
           /sbin/powerd &
       fi
    
  • /etc/inittab¼öÁ¤ - ÇÊÀÚ´Â ´ÙÀ½°ú °°Àº ¶óÀÎÀ» »ðÀÔÇÏ¿´´Ù.
       pf::powerfail:/sbin/shutdown -f -h +300 "Power Failure; System Shutting Down"
       pr::powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
    
    ù¹ø° ¶óÀÎÀº Á¤ÀüÀÌ µÇ¾úÀ» °æ¿ì ¸ðµç»ç¶÷µé¿¡°Ô À̸¦ ¾Ë¸®°í 300ºÐ(5½Ã°£) ÈÄ¿¡ ¼Ë´Ù¿îÀ» Çϵµ·Ï ÇÏ´Â ¶óÀÎÀÌ°í ´ÙÀ½ ¶óÀÎÀº Àü¿øÀÌ º¹±¸µÇ¾úÀ» ¶§ ¼Ë´Ù¿îÀ» Ãë¼ÒÇÏ´Â ¶óÀÎÀÌ´Ù. Á¤ÀüÈÄ ¸îºÐ ÈÄ¿¡ ¼Ë´Ù¿îÀ» ½ÃÄÑ¾ß ÇÏ´ÂÁö´Â ´ÙÀ½ ¼½¼Ç¿¡¼­ ¼³¸íÇÑ´Ù. inittabÀ» ¼öÁ¤ÇÏ¿´À» °æ¿ì ±× »çÇ×ÀÌ ¹Ý¿µµÇµµ·Ï ÇÏ·Á¸é ÀçºÎÆÃÀ» ÇÏ´øÁö ¾Æ´Ï¸é ·çÆ® ÇÁ·ÒÇÁÆ®¿¡¼­ "telinit Q"¶ó°í ÀÔ·ÂÇÏ¸é µÈ´Ù.
  • ½ÃÇè°¡µ¿

    ·çÆ® ±ÇÇÑÀ¸·Î "telinit Q"¸¦ ÀÔ·ÂÇÏ°í powerd¸¦ ½ÇÇàÇÑ´Ù. ±×·± ´ÙÀ½ ¾î´ðÅ͸¦ »©¼­ 10ÃÊ ¸¦ ±â´Ù¸®¸é ¼Ë´Ù¿îÀÌ 300ºÐ ÈÄ¿¡ ½ÃÀÛµÉ °ÍÀ̶ó°í ³ª¿Ã °ÍÀÌ´Ù. ÀÌ »óÅ¿¡¼­ ¾î´ðÅ͸¦ ´Ù½Ã ¿¬°áÇÑ ´ÙÀ½ 10ÃÊ°£ ±â´Ù¸®¸é ¼Ë´Ù¿îÀÌ Ãë¼ÒµÇ¾ú´Ù´Â ¸Þ½ÃÁö°¡ ³ª¿Â´Ù. ÀÌ·Î½á ¸ðµç °ÅÀÇ ¸ðµç ÀÛ¾÷ÀÌ ³¡³­ ¼ÀÀÌ´Ù.

  • ¼Ë´Ù¿î Ãë¼Ò°¡ ¾È µÉ °æ¿ì

    Ȥ½Ã ÇÊÀÚ°¡ »ç¿ëÇÏ¿´´ø powerd 2.0°ú °°Àº ¹öÀüÀÇ ÇÁ·Î±×·¥À» »ç¿ëÇÑ °æ¿ì¿¡ ÇÁ·Î±×·¥ÀÇ ¹ö±×¿¡ ÀÇÇØ ¼Ë´Ù¿î Ãë¼Ò°¡ ¾È µÉ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì ħÂøÇÏ°Ô "shutdown -c"¸í·ÉÀ¸·Î ¼Ë´Ù¿îÀ» Ãë¼ÒÇÑ ´ÙÀ½ powerd.c¸¦ ¼öÁ¤ÇÑ´Ù. ÇÊÀÚ°¡ ¼öÁ¤ÇÑ °÷Àº ´ÙÀ½°ú °°Àºµ¥(diff °á°ú) Àüü ¼Ò½ºÄڵ带 ´Ù ¶â¾îº» ÈÄ ÇÑ °ÍÀÌ ¾Æ´Ï¹Ç·Î À߸ø ÇÏ¿´À» Áöµµ ¸ð¸¥´Ù. ¾Æ¹¸µç ÇÊÀÚ´Â ¿øÇÏ´Â °á°ú¸¦ ¾òÀ» ¼ö ÀÖ¾úÀ¸¹Ç·Î ÀÌ·¸°Ô °íÃļ­ »ç¿ëÁßÀÌ´Ù.

    ÀÏ´Ü ´ÙÀ½À» powerd.patch·Î ÀúÀåÀ» ÇÑ´Ù.

    --------------- powerd.patch start! ----------------
    1127,1145d
    1098a
      /* Create an info file for init. */
      unlink(PWRSTAT);
      fd = open(PWRSTAT, O_CREAT|O_WRONLY, 0644);
      
      if (fd<0)
        {
        PERROR(PWRSTAT);
        return 1; /* maybe next time... */
        }
    
      if (action==ACT_OK)
        write(fd, "OK\n", 3);
      else
        write(fd, "FAIL\n", 5);
      close(fd);
    
      MESSAGE("Telling init about...");
      kill(1, SIGPWR);
    .
    1,$wq
    --------------- powerd.patch end! ----------------
    

    ±×·± ´ÙÀ½ "ed powerd.c < powerd.patch"¶ó°í ÇÁ·ÒÇÁÆ®¿¡¼­ ÀÔ·ÂÇϸé ÀÚµ¿À¸·Î ÇÁ·Î±×·¥ÀÌ ÆÐÄ¡µÉ °ÍÀÌ´Ù. ÀÌ·± ÈÄ ´Ù½Ã ÄÄÆÄÀÏÇÏ°í ½ÇÇàÇØ º¸±â ¹Ù¶õ´Ù.

7. ¹èÅ͸®ÀÇ ´É·Â ¾Ë¾Æ³»±â

¹èÅ͸®ÀÇ ¿ë·®Àº UPSÀÇ ¼º´É¿¡ ¾ÆÁÖ Å« ¿µÇâÀ» ³¢Ä£´Ù. ÇÊÀÚÀÇ UPS´Â ÅÂÀÏÀÚµ¿Á¦¾î½Ã½ºÅÛÀÇ UX210S·Î 1.1KW±ÞÀÌ´Ù. ³»ºÎ ¹èÅ͸® ¸¸À¸·Î ÃÖ´ë ¿ë·®À¸·Î »ç¿ëÇÒ °æ¿ì ¸Å´º¾ó »ó¿¡´Â 4ºÐ°£ »ç¿ëÇÒ ¼ö ÀÖ´Ù°í ¾º¿© ÀÖ´Ù. ÇöÀç ÄÄÇ»ÅÍ 4´ë¿Í ¸ð´ÏÅÍ 2´ë¸¦ UPS¿¡ ¿¬°áÇÏ¿© ¾à 450WÁ¤µµ¸¦ ¾²°í Àִµ¥ ÀÌ °æ¿ì ¹èÅ͸® ÀúÀü¾Ð °æ°í°¡ ³ª±â Àü ¾à 14ºÐ Á¤µµ¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. °æ°í ÈÄ¿¡ 2ºÐÀÌ¸é ¹èÅ͸® º¸È£¸¦ À§ÇØ UPS°¡ ¼Ë´Ù¿î µÈ´Ù. µû¶ó¼­ ÃÖ´ë »ç¿ëÇÒ ¼ö ÀÖ´Â ½Ã°£ À̳»¿¡ ½Ã½ºÅÛÀ» ¼Ë´Ù¿î ½ÃÄÑ¾ß ÇÑ´Ù. ½Ã½ºÅÛÀÇ ¼Ë´Ù¿î ½Ã°£Àº ¸®´ª½ºÀÇ °æ¿ì ÃÖ¼Ò 2ºÐ ÀÌ»óÀ̾î¾ß ¾ÈÀüÇÏ´Ù. ¿ÜºÎ ¹èÅ͸®¸¦ º´·Ä·Î ¿¬°áÇÏ¿´À» °æ¿ì¿¡µµ ¸¶Âù°¡Áö·Î ¿ë·® Å×½ºÆ®¸¦ ÇØ º¸¾Æ¾ß Çϴµ¥, ¹æ¹ýÀº ¹èÅ͸® ÀúÀü¾Ð °æ°í°¡ ³¯ ¶§±îÁöÀÇ ½Ã°£À» ±â·ÏÇØ ³õÀ¸¸é µÈ´Ù. À̶§ ÇÑ°¡Áö ÁÖÀÇÁ¡Àº óÀ½ ¹èÅ͸®¸¦ ±¸ÀÔÇÏ¿´À» °æ¿ì¿¡´Â ¹èÅ͸®°¡ ¿ÏÀüÈ÷ ÃæÀüµÇ¾îÀÖÁö ¾Ê±â ¶§¹®¿¡ 3ÀÏ ÀÌ»ó ÃæºÐÈ÷ ÃæÀüÀ» ÇÑ ´ÙÀ½ ½ÃÇèÀ» ÇØ º¸¾Æ¾ß ÇÑ´Ù´Â Á¡ÀÌ´Ù. ¹èÅ͸®°¡ ¿ÏÀüÈ÷ ¹æÀüµÈ ÈÄÀÇ ÃæÀü½Ã°£Àº ¼ö½Ã°£ - ¼öÀÏ·Î ÀÌ°Í ¿ª½Ã Å×½ºÆ® ÇØ º¸¾Æ¾ß ÇÑ´Ù. ÀϹÝÀûÀ¸·Î UPSÀÇ 12VÂ¥¸® ¹èÅ͸®ÀÇ Àü¾ÐÀº ¹«ºÎÇÏ ´ë±â »óÅ¿¡¼­ 13.75VÀÌ´Ù.

8. ±âŸ ´Ù¸¥ °¡´ÉÇÑ °Íµé

ÇÑ UPS¿¡ µÎ ´ë ÀÌ»óÀÇ ÄÄÇ»ÅÍ°¡ ¿¬°áµÇ¾úÀ» °æ¿ì¿¡µµ powerd¸¦ »ç¿ëÇϸé Àü¿øÀÇ ÀÌ»óÀ» °¨½ÃÇÏ´Â ¼­¹ö¿Í ³ª¸ÓÁö Ŭ¶óÀ̾ðÆ® ÄÄÇ»ÅÍ·Î Àü¿ø ÀÌ»óÀ» Áß¾Ó°ü¸®¸¦ ÇÒ ¼ö ÀÖ´Ù. powerdÀÇ readme¸¦ Àо±â ¹Ù¶õ´Ù. ÇÑÆí À©µµ ¿£Æ¼ÀÇ °æ¿ì¿¡µµ ¸®´ª½º¿Í ¸¶Âù°¡Áö·Î Àü¿ø °ü¸®¸¦ ÇÒ ¼öÀִµ¥, ÇÉÀÇ ¹è¿­ÀÌ Á¶±Ý ¹Ù²î¾î¾ß ÇÑ´Ù. ÀÌ ³»¿ëÀº UPS-Howto¿¡ Àß ³ª¿ÍÀÖ´Ù.

9. Âü°í¹®Çå

  • Rubin, A. 1995, powerd 2.0 README
  • Stein, H. J. 1997, UPS HOWTO v 2.02


ID
Password
Join
As goatheard learns his trade by goat, so writer learns his trade by wrote.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2003-08-10 11:52:30
Processing time 0.0016 sec