CSCI 6907 PROJECT PROPOSAL LIGHTS OUT MANAGEMENT

Similar documents
Arduino Uno. Arduino Uno R3 Front. Arduino Uno R2 Front

ARDUINO MEGA 2560 REV3 Code: A000067

ARDUINO UNO REV3 SMD Code: A The board everybody gets started with, based on the ATmega328 (SMD).

ARDUINO UNO REV3 Code: A000066

ARDUINO MEGA ADK REV3 Code: A000069

ARDUINO LEONARDO ETH Code: A000022

keyestudio Keyestudio MEGA 2560 R3 Board

Arduino ADK Rev.3 Board A000069

ARDUINO MICRO WITHOUT HEADERS Code: A000093

Prototyping Module Datasheet

ARDUINO LEONARDO WITH HEADERS Code: A000057

Breeze Board. Type A. User Manual.

How to Use an Arduino

Galep-Adapter DIL-40 => ISP-ASYNC/SYNC Article-No.:

ARDUINO YÚN MINI Code: A000108

Sanguino TSB. Introduction: Features:

1.6inch SPI Module user manual

Breeze Board. Type B. User Manual.

F2MC MB90385 series Evaluation Board Documentation. Revision Date Comment V New document

ARDUINO MINI 05 Code: A000087

6LoWPAN Development Platform Saker Manual

IDUINO for maker s life. User Manual. For IDUINO Mega2560 Board(ST1026)

Dual Serial Shield User Manual

ESPino - Specifications

SPI Universal Serial Communication Interface SPI Mode

Propeller Activity Board (#32910)

This manual provides information for the final user application developer on how to use SPC57S-Discovery microcontroller evaluation board.

Device: MOD This document Version: 1.0. Matches module version: v3 [29 June 2016] Date: 23 October 2017

Ultratronics v1.0 DATASHEET

8:1 Serial Port Expander

Pridgen Vermeer Robotics Xmega128 Manual

JeeNode V2. A small *duino-ish MPU board with a wireless RF module. Jean-Claude Wippler jeelab.equi4.com March 2009

DEVBOARD3 DATASHEET. 10Mbits Ethernet & SD card Development Board PIC18F67J60 MICROCHIP

Alessandra de Vitis. Arduino

CPU369-Module Documentation. Fujitsu Microelectronics Europe GmbH Am Siebenstein Dreieich-Buchschlag, Germany

Carrier Board Socket Modem CAB/MOD1

Real-Time Embedded Systems. CpE-450 Spring 06

CONTENTS BIGAVR2 KEY FEATURES 4 CONNECTING THE SYSTEM 5 INTRODUCTION 6

AVR-P development board Users Manual

CMS-8GP32. A Motorola MC68HC908GP32 Microcontroller Board. xiom anufacturing

Arduino Diecimila Pinouts 697B B8D-A50A-61944C26074F

Modtronix Engineering Modular Electronic Solutions SBC28DC. Single board computer for 28 pin DIP PICs

ARDUINO YÚN Code: A000008

XPort Direct+ Integration Guide/Data Sheet

Arduino Ethernet. Arduino Ethernet Rev. 2 board front view with optional PoE module. (

TA0139 USER MANUAL ARDUINO 2 WHEEL DRIVE WIRELESS BLUETOOTH ROBOT KIT

IDUINO for maker s life. User Manual. For IDUINO development Board.

PLC Stamp micro EVB Datasheet

ATmega48/88/168 Development Board

Arduino Uno R3 INTRODUCTION

Arduino Dock 2. The Hardware

WIZ810MJ Datasheet. (Ver. 1.2) 2007 WIZnet Inc. All Rights Reserved. For more information, visit our website at

Teratronik elektronische systeme gmbh. V4½-CPU Technical Data. Date:

AVR-Ready2. Additional Board. Manual. MikroElektronika

LPC-P1227 development board USER S MANUAL Initial release, March 2012 Designed by OLIMEX Ltd, 2011

Cookie User Manual. For NuMicro Edition 1.0. Rev. 1.0 Release: forum.coocox.org.

Supplement for module D061 incl. ATMega128 Prozessor

Serial Communication. Simplex Half-Duplex Duplex

WBoard EX. -WIFI Development Platform Based on Arduino

SimPLC. User Manual.

Pmod modules are powered by the host via the interface s power and ground pins.

Lesson 5 Arduino Prototype Development Platforms. Chapter-8 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

GSM 4 click MIKROE Weight: 33 g

BlueTooth Carrier Board CAB/BT1

3.3V regulator. JA H-bridge. Doc: page 1 of 7

Freeduino USB 1.0. Arduino Compatible Development Board Starter Guide. 1. Overview

ET-MINI W5100 ET-MINI W5100

AVR-P20 development board Users Manual

RS-232 Driver Module

Shack Clock kit. U3S Rev 2 PCB 1. Introduction

8051 Intermidiate Development Board. Product Manual. Contents. 1) Overview 2) Features 3) Using the board 4) Troubleshooting and getting help

USB MOD1 - USB Plug and Play Serial Development Module

BroadR-Reach click PID: MIKROE Weight: 26 g

General-Purpose Microcontroller Module 12a Hardware Reference Release 1.4a (October 11, 2017)

XNUCLEO-F030R8, Improved STM32 NUCLEO Board

IO Expansion Shield User Manual

8 Port USB to RS- 232/422/485 Octal Adapter. Product Manual. Coolgear, Inc. Version 1.1 April 2018 Model Number: USB-8COMi-RM.

RN-174. WiFly GSX Super Module. Features. Description. Applications. rn-174-ds v1.1 1/24/2011

WIZ-SM10 Datasheet. ( Version 0.1 ) 2010 WIZnet Co., Ltd. All Rights Reserved. For more information, visit our website at

ARDUINO M0 PRO Code: A000111

3.1 I-7560 Pin Assignment and Specifications: Introduction

CONTENTS. dspicpro4 KEY FEATURES 4 CONNECTING THE SYSTEM 5 INTRODUCTION 6

MegaAVR-DEVelopment Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN (317) (317) FAX

VSX-6101 VSX-6100 VSX-6100-EVB DM&P

EASY219 / IEC CANopen Master / Slave

2 in 1. BigAVR User s Manual AVR. MikroElektronika. Software and Hardware solutions for Embedded World

Hardware Reference. DIL/NetPC DNP/2110 Board Revision 1.0

Revision History. Version Date Changes Error in PIN description SPI jack Initial version

USB RS232 Level Conversion copyright 2/25/07 Joe Pardue

LPC-P1227 development board USER S MANUAL Revision B, July 2013 Designed by OLIMEX Ltd, 2011

MINITRONICS v1.0 DATASHEET

2 in 1. EasyAVR4 User s Manual AVR. MikroElektronika. Software and Hardware solutions for Embedded World

Preliminary. PACKAGE - 28-pin MLP (5mm X 5mm) Example Circuit Diagram CP V. 48MHz Oscillator. USB Function Controller 512B EEPROM

EVB9S08DZ60. Demonstration Board for Freescale MC9S08DZ60. User s Manual

Melon S3 FPGA Development Board Product Datasheet

PRELIMINARY Prototyping Platform for the DLP-RF2 Transceiver

VSX-6101-V2 VSX-6100-EVB (Evaluation board) DM&P Vortex86SX 300MHz DIP 48pin CPU Module

NCOM SERIAL DEVICE SERVER 4XX SERIES USER S MANUAL

AVR Intermediate Development Board. Product Manual. Contents. 1) Overview 2) Features 3) Using the board 4) Troubleshooting and getting help

PB-MC-AVR28 28 Pin AVR Full Size Development Board

Transcription:

CSCI 6907 PROJECT PROPOSAL LIGHTS OUT MANAGEMENT JAMES LEE JAMESLEE@GWU.EDU. Project Abstract I am a system administrator who manages hundreds of Unix systems. One of the essential tools to ensure I don t have to visit the datacenter every time I want to work on a system is called lights out management (LOM). It s a little device built into high-end servers that allows me to log in over the network, power the system on and off, and access the operating system s console, when more traditional methods such as SSH fail. I run my personal file and web server at home on a Sun Ultra 4. It s a low-end, commodity X86 system with no built-in LOM. I ve rendered it inaccessible many times while performing upgrades or configuration changes remotely. I could have benefitted from a LOM in my home server, so I am proposing to build one. When complete, my LOM must be able to allow me to connect to it over the network with telnet, power the system on and off, and access the system s serial console for every state the system is in (BIOS, bootloader, kernel boot, console login shell) all without modifying the server s hardware.. Strategy The device will be built on top of the Arduino Prototyping Platform. I chose the Arduino mostly because I already own one (an Arduino Uno) and I want to keep costs low. This device is something I ll actually use, so I don t want to borrow any components. The Arduino is also attractive because of the availability of shields that extend its functionality by plugging new components into the board without soldering. An ethernet sheild and accompanying library are available for basic TCP/IP networking, and I intend to make use of them. I also like that the Arduino can be powered by USB. The Sun Ultra 4 has an internal USB port that always supplies power, even when the system is off. Beyond that, I will need to find a way to add an RS- serial port to the Arduino. The Arduino s ATmega8 microcontroller contains one UART for serial communication, but it is tied to the USB port, which I will need for programming and debugging. A software serial library is available for the Arduino for bit-banging serial communication over any GPIO ports, but that could impact the device s performance and interactivity due to the precise timing required for high-speed serial communication. And besides, that s too easy. So I will add a second hardware UART to the Arduino to connect to the system s serial console. Date: February, 0.

JAMES LEE JAMESLEE@GWU.EDU Traditional UARTs, such as the 6550, require more pins than the Arduino has, so I need to choose a UART with a more efficient bus technology, such as SPI which only requires four pins. After careful consideration, I have chosen to implement the Maxim MAX0E in my project. It s a combination of an SPI compatible UART and RS- transceiver. It s available in a DIP package, so I could effectively run wires from my Arduino to the MAX0E and from there to the serial port headers on the system s motherboard. I intend to take advantage of the interrupt raised by the chip to know when to read data from its eight word FIFO queue, rather than polling it. I will also need to develop the circuits necessary for controlling the system s power. My goal will be to be able to turn the system on and off, and reset it. To do this, it will be helpful for my device to know the current power state of the system. I plan to detect the system s state from its power LED. I will redirect the LED power line from the motherboard to a circuit connected to my Arduino to detect its state, and connect the power LED to the circuit such that it remains functional. I ve already proved the concept using a couple of transistors: A pin is also available on the system s motherboard that will help me control power. From my observation, it is pulled high to. V. When it drops low (i.e. gets pulled to ground), the system turns on. If it s pulled low for five seconds, the system turns off. That s how the power button on the front of the computer works. It s a simple button connected between the power pin and ground. Again, with a transistor or two and I should be able to control that from my Arduino without affecting the operation of the physical power button.

CSCI 6907 PROJECT PROPOSAL LIGHTS OUT MANAGEMENT Ethernet Shield Network System Serial Header RS SPI MAX0E Arduino Power Detection SPI GPIO System Power Header Power Control On top of the hardware, I will develop software that pulls all of the pieces together into a simple command-line interface. I will use the Arduino ethernet library to get an IP address from DHCP, accept connections over TCP port, and send and receive data from the stream. I will also write a driver that controls the MAX0E over SPI. Ideally it will extend the Arduino streams library to present an interface consistent with the other Arduino I/O libraries. Then I will write any code necessary to transmit data between the telnet and serial interfaces. Time permitting, I will make it possible to configure the LOM device, including settings such as IP address and serial port baud rate, over the telnet interface, saving the settings in the Arduino s EEPROM. The interface should look something like: jlee@client% telnet arduino > help Available commands: status poweron poweroff reset console exit > status System is off. > poweron

4 JAMES LEE JAMESLEE@GWU.EDU > status System is on. > console Press #. to exit console. system login: jlee password: jlee@system % exit #. > exit Connection closed by foreign host. jlee@client %. Unknowns The biggest unknown for me is whether I ll be able to implement the MAX0E chip. I ve never worked with SPI before so it may be a challenge to learn. Complicating matters is that the Arduino ethernet shield also operates on the same SPI bus. Some forums discussions indicate the shield s ethernet module, the Wiznet W500, has a poor SPI implementation that pollutes the MISO line even it s not selected. Others seem to have gotten around the issue by completely disabling SPI on the W500 while it s not in use. This may require modification to the ethernet shield itself, and will almost certainly require modification to the ethernet library. It will be the first issue I have to resolve when I receive the parts. I also wonder whether I will be able to acheive the oscillator accuracy required for driving the MAX0E from a breadboard. The datasheet warns about keeping traces between the MAX0E and the crystal oscillator short due to parasitic capacitance, something I can t really control in a breadboard. It says the chip will operate with up to a % error in the oscillator. Another fear is the KB program size limitation on the Arduino. Simple inputoutput programs can take 6 to 8 KB, and basic client-server networked programs using the ethernet library take about 6 KB. I will have to budget the code space very carefully. I may have to get creative towards the end to get everything to fit. I know I can jettison the DHCP piece to save KB if I have to. A lesser fear is that I will not be able to drive the Arduino, the ethernet shield, and the MAX0E from the current supplied by the USB port. If not, I can connect it to a wall wart.

CSCI 6907 PROJECT PROPOSAL LIGHTS OUT MANAGEMENT 5 Week Of Feb Feb 9 Feb 6 Mar 4 Mar Mar 8 Mar 5 4. Implementation Plan Milestone Order parts Receive parts, confirm serial console access with laptop, develop circuits for power control. Begin work on MAX0E driver. Be able to talk back and forth between serial ports on the Arduino. Build small proof of concept app using the ethernet shield and library; test interoperability with MAX0E on shared SPI bus. Solidify network and serial layers; develop power control library; bring pieces together into command-line user-interface. Project completed. 5. Resources Sun Ultra 4 Arduino Uno Arduino Ethernet Shield Maxim MAX0E.6864 MHz Crystal Oscillator pf Capacitors General Purpose NPN Transistors Breadboard and Jumper Wires (M-M and M-F)

FPB CONN J7 Arduino Pin (INT) Arduino Pin (MOSI) MAX0E 0 SHDN 9 IRQ U? X 0 X 9 pf.6864 MHz Pull up Built in Vcc 0K Arduino Pin 5 4 5 6 7 8 9 0 Arduino Pin (MISO) 5 6 DIN DOUT V+ V 6 pf 4 Arduino Pin (SCK) 7 8 SCLK CS C+ C Q? N 5 7 6 8 Arduino Pin 9 (SS) 4 4 TX TIN RTS TIN C+ 4 C 5 TOUT 7 TOUT 8 SERIAL HDR J7 4 5 7 txd rxd CD dtr dsr ri cts rts 6 8 Q? N FPB J 4 5 RX ROUT RIN 6 9 gnd nc 0 Vcc 47K 5 6 CTS ROUT RIN Arduino Pin 6 0K Q? N PWR LED PWR BTN TITLE FILE: PAGE Sun Ultra 4 Lights Out Management Serial and Power Control lom.sch OF REVISION: DRAWN BY: James Lee <jameslee@gwu.edu>