<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://xinu.cs.mu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vblas</id>
	<title>Embedded Xinu - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://xinu.cs.mu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vblas"/>
	<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php/Special:Contributions/Vblas"/>
	<updated>2026-06-15T14:31:53Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=Systems_Laboratory&amp;diff=3915</id>
		<title>Systems Laboratory</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=Systems_Laboratory&amp;diff=3915"/>
		<updated>2011-08-09T16:25:52Z</updated>

		<summary type="html">&lt;p&gt;Vblas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About the Systems Laboratory ==&lt;br /&gt;
&lt;br /&gt;
[http://www.mu.edu/ Marquette]'s [[Systems Laboratory]], under the direction of [http://www.mscs.mu.edu/~brylow/ Dr. Dennis Brylow] in the [http://www.mscs.mu.edu/ Department of Mathematics, Statistics, and Computer Science], is housed on the third floor of Cudahy Hall.&lt;br /&gt;
&lt;br /&gt;
The lab creates new tools and methods for building and studying complex computer systems. Our emphasis is on embedded, real-time, and network systems, with strong ties to the electrical and computer engineering community, and the computer science education community. Current projects include:&lt;br /&gt;
&lt;br /&gt;
1. Experimental Embedded Networking Platform. Creation of laboratory infrastructure and software for research and education in the area of embedded networking appliances, particularly wireless routers and IP telephony. Collaboration with Cisco Systems Advanced Research Division.&lt;br /&gt;
&lt;br /&gt;
2. Experimental Embedded Operating System Laboratory. Creation of laboratory infrastructure and software for research and education in area of embedded operating systems. Collaboration with University of Buffalo and University of Mississippi, with funding from the National Science Founcation.&lt;br /&gt;
&lt;br /&gt;
3. Embedded Software Transactional Memory. Exploration of an innovative transactional memory model for guaranteeing process synchronization in embedded operating systems. Collaboration with Intel Research.&lt;br /&gt;
&lt;br /&gt;
The Systems Lab will host three undergraduate [http://acm.mscs.mu.edu/reu REU] (Research Experience for Undergraduates) students in summer 2010, funded by the MU's College of Arts and Sciences.  They will be working on ports of the Embedded Xinu operating system to new embedded platforms, embedded network emulation, and multicore embedded systems.&lt;br /&gt;
&lt;br /&gt;
See the MSCS [http://www.mscs.mu.edu/mscs/faculty/research_labs.html Research Labs] page for more research laboratories in our department.&lt;br /&gt;
&lt;br /&gt;
== Publications ==&lt;br /&gt;
&lt;br /&gt;
=== Conference Proceedings and Journals ===&lt;br /&gt;
&amp;lt;li&amp;gt;Dennis Brylow and Kyle Thurow. Hands-on Networking Labs With Embedded Routers. In &amp;lt;i&amp;gt;Proceedings of [http://www.sigcse.org/sigcse2011/ SIGCSE 2011]: The 42nd ACM Technical Symposium on Computer Science Education&amp;lt;/i&amp;gt;, pages 399-404, Dallas, Texas, March 2011.&lt;br /&gt;
[http://doi.acm.org/10.1145/1953163.1953283 (link)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Matt Netkow and Dennis Brylow. Xest: An Automated Framework for Regression Testing of Embedded Software. In &amp;lt;i&amp;gt;Proceedings of [http://www.artist-embedded.org/artist/-WESE-10-.html WESE 2010]: 6th Workshop on Embedded Systems Education&amp;lt;/i&amp;gt;, pages 40-47, Scottsdale, Arizona, October 2010.&lt;br /&gt;
[http://www.artist-embedded.org/docs/Events/2010/WESE/Proceedings_WESE_2010.pdf (link)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Adam Mallen and Dennis Brylow. Compiler Construction With A Dash of Concurrency and An Embedded Twist. In &amp;lt;i&amp;gt;Proceedings of [http://splashcon.org/ SPLASH 2010]: Systems, Programming, Languages, and Applications: Software for Humanity&amp;lt;/i&amp;gt; (formerly OOPSLA) Educators' and Trainers' Symposium, pages 161-168, Reno, Nevada, October 2010. &lt;br /&gt;
[http://dx.doi.org/10.1145/1869542.1869568 (link)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Dennis Brylow and Bina Ramamurthy. Nexos: A Next Generation Embedded&lt;br /&gt;
Systems Laboratory, In &amp;lt;i&amp;gt;Proceedings of WESE 2008: 4th Workshop on Embedded&lt;br /&gt;
Systems Education&amp;lt;/i&amp;gt;, pages 10-17, Atlanta, Georgia, October 2008.&lt;br /&gt;
[http://www.lulu.com/content/3613764 (link)]&amp;lt;br /&amp;gt;&lt;br /&gt;
Extended version in &amp;lt;i&amp;gt;SIGBED Review&amp;lt;/i&amp;gt;, Volume 6, Number 1, January 2009.&lt;br /&gt;
[http://www.cs.virginia.edu/sigbed/archives/2009-01/j-7-wese-journal-p18-final-brylow.pdf (link)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Dennis Brylow. An Experimental Laboratory Environment for Teaching Embedded &lt;br /&gt;
Operating Systems, In &amp;lt;i&amp;gt;Proceedings of [http://www.cs.duke.edu/sigcse08/ SIGCSE 2008]: The 39th ACM Technical Symposium on Computer Science Education&amp;lt;/i&amp;gt;, pages 192-196, Portland, Oregon, March 2008. [http://doi.acm.org/10.1145/1352322.1352201 (link)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Dennis Brylow.  An Experimental Laboratory Environment for Teaching Embedded Hardware Systems, In &amp;lt;i&amp;gt;Proceedings of&lt;br /&gt;
[http://www.ncsu.edu/wcae/ISCA2007/FinalProgram.html WCAE 2007]:&lt;br /&gt;
Workshop on Computer Architecture Education&amp;lt;/i&amp;gt;,&lt;br /&gt;
pages 44-51, San Diego, California, June 2007.&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/papers/Brylow-WCAE2007.pdf (link)]&lt;br /&gt;
&lt;br /&gt;
=== Posters and Undergraduate Research ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Kyle Thurow and Dennis Brylow.  A Network Emulator on Embedded Xinu.&lt;br /&gt;
Poster presentation and research talk presented at [http://www.sigcse.org/sigcse2010/ SIGCSE 2010]&lt;br /&gt;
[http://src.acm.org/ ACM Student Research Competition], undergraduate division, Milwaukee, Wisconsin, March 2010.  Kyle placed in the top five and advanced to the semi-finals round.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Gabe Van Eyck and Dennis Brylow.  Xinu as a Multi-Core Operating&lt;br /&gt;
System on the PlayStation 3.  Poster presentation at [http://www.sigcse.org/sigcse2010/ SIGCSE 2010]&lt;br /&gt;
[http://src.acm.org/ ACM Student Research Competition], undergraduate division, Milwaukee, Wisconsin, March 2010.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Aaron Gember and Dennis Brylow.  Real-Time TCP Extensions.  Poster&lt;br /&gt;
presentation and research talk presented at [http://www.cs.arizona.edu/groups/sigcse09/ SIGCSE 2009]&lt;br /&gt;
[http://src.acm.org/ ACM Student Research Competition], undergraduate division, Chattanooga, Tennessee.  Aaron advanced to&lt;br /&gt;
semi-finals, placed in top&lt;br /&gt;
three finalists, and advanced to the grand finals.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Dennis Brylow.  Experimental Operating System Lab On A Dime.&lt;br /&gt;
[http://www.cs.potsdam.edu/sigcse07/ SIGCSE 2007]: Technical Symposium on Computer Science Education, Covington, Kentucky,&lt;br /&gt;
March 2007.  [http://www.mscs.mu.edu/~brylow/papers/Brylow-SIGCSE2007.pdf (link)].&lt;br /&gt;
&lt;br /&gt;
=== Workshops ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Paul Ruth and Dennis Brylow.  Teaching With Embedded Xinu.  Workshop&lt;br /&gt;
accepted at [http://www.cs.olemiss.edu/acmse2010/Home.htm ACMSE 2010]:&lt;br /&gt;
The 48th ACM Southeast Conference, Oxford, Mississippi, April 2010.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Dennis Brylow and Paul Ruth.  Teaching With Embedded Xinu.  Workshop&lt;br /&gt;
accepted at [http://www.sigcse.org/sigcse2010/ SIGCSE 2010]:&lt;br /&gt;
The 41st ACM Technical Symposium on Computer Science Education, Milwaukee,&lt;br /&gt;
Wisconsin, March 2010.&lt;br /&gt;
&lt;br /&gt;
== Lab Equipment ==&lt;br /&gt;
&lt;br /&gt;
The [[Systems Laboratory]] is populated with dual-headed Linux boxes running the latest version of [http://fedoraproject.org/ Fedora Linux].&lt;br /&gt;
Other workstations in the lab include a dual-core Apple G5 running OS X, and several multi-core boxes for higher-end computation.&lt;br /&gt;
&lt;br /&gt;
The Xinu Laboratory component of the Systems Lab includes a pool of 24 WRT54GL wireless routers organized into a managed embedded&lt;br /&gt;
backend pool, as well as smaller quantities of half a dozen other router types.  Embedded development kits available include&lt;br /&gt;
the Freescale/Motorola [http://www.evbplus.com/hcs12.html 68HC12 Dragon12] board,&lt;br /&gt;
the Atmel [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2717 AT91 Series ARM Thumb] AT91EB40A board,&lt;br /&gt;
the [http://www.atmel.com/products/AVR/butterfly ATmega169 Butterfly],&lt;br /&gt;
a Zilog [http://www.zilog.com/docs/z8/devtools/z86ccp01zem.pdf Z86 Emulator Z86CCP01ZEM],&lt;br /&gt;
and the Zilog [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showProdDet&amp;amp;businessLine=1&amp;amp;familyId=6&amp;amp;productId=Z8F04A28100KIT Z8 Encore XP Dev Kit Z8F04A28100KIT-C].&lt;br /&gt;
&lt;br /&gt;
The Systems Lab includes both a private research network with our own gateway and firewall, and connections to each of the MSCS department production networks.&lt;br /&gt;
The Lab also hosts Subversion, Trac, and Web service for the Marquette Student [http://acm.mscs.mu.edu/ ACM Chapter], the&lt;br /&gt;
[http://mulug.mscs.mu.edu/ Marquette University Linux Users Group], and a stratum 2 NTP server for campus.&lt;br /&gt;
&lt;br /&gt;
== Lab Personnel ==&lt;br /&gt;
&lt;br /&gt;
=== Current Students ===&lt;br /&gt;
&lt;br /&gt;
[[File:XINU-Summer2011.png|800px|thumb]] The Xinu Team in Summer 2011.&lt;br /&gt;
&lt;br /&gt;
From left,&lt;br /&gt;
[http://jasoncowdy.com/ Jason Cowdy],&lt;br /&gt;
[http://www.linkedin.com/pub/kyle-persohn/31/a31/990 Kyle Persohn],&lt;br /&gt;
[http://www.facebook.com/MattBajzek Matt Bajzek],&lt;br /&gt;
[http://www.linkedin.com/pub/paul-spillane/22/a07/56b Paul Spillane],&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/ Dr. Dennis Brylow],&lt;br /&gt;
Anna Whitley, and&lt;br /&gt;
[http://www.linkedin.com/pub/blas-victor/27/781/351 Victor Blas].&lt;br /&gt;
Not pictured:&lt;br /&gt;
[http://mziwisky.wordpress.com/ Mike Ziwisky].&lt;br /&gt;
&lt;br /&gt;
=== Alumni ===&lt;br /&gt;
&lt;br /&gt;
[http://phinze.com Paul Hinze], B.S. 2008.  Currently works as a developer for [http://braintreepayments.com Braintree].&lt;br /&gt;
&lt;br /&gt;
[http://research.engineering.wustl.edu/~schultzm/ Mike Schultz], M.S. 2009.  Now at [http://cse.wustl.edu/Pages/default.aspx Washington University in St. Louis] doctoral program.&lt;br /&gt;
&lt;br /&gt;
Tim Blattner, B.S. 2009.  Now at [http://www.cs.umbc.edu/ University of Maryland - Baltimore County] doctoral program.&lt;br /&gt;
&lt;br /&gt;
[http://www.gemberdesign.com/ Aaron Gember], B.S. 2009.  Now at [http://www.cs.wisc.edu/ University of Wisconsin-Madison] doctoral program.&lt;br /&gt;
&lt;br /&gt;
[http://netkow.com/ Matt Netkow], B.S. 2009.  Now works as a developer for [http://www.savogroup.com/ The SAVO Group].&lt;br /&gt;
&lt;br /&gt;
Adam Mallen, B.S. 2009.  Now at [http://www.marquette.edu/mscs/ Marquette University] doctoral program in Computational Sciences with an emphasis in Math.&lt;br /&gt;
&lt;br /&gt;
Adam Koehler, M.S. 2010.  Now at [http://www1.cs.ucr.edu/index.php University of California Riverside] doctoral program.&lt;br /&gt;
&lt;br /&gt;
[http://www.zacintosh.com/ Zachary Lund], M.S. 2010.  Now works as the lead developer for [http://www.savtrans.com/ SAV Transportation Group].&lt;br /&gt;
&lt;br /&gt;
Joseph Pintozzi, B.S. 2010.  Now works as a developer for [http://core-apps.com/ Core-Apps, LLC].&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=Quotes&amp;diff=3706</id>
		<title>Quotes</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=Quotes&amp;diff=3706"/>
		<updated>2010-11-03T22:17:50Z</updated>

		<summary type="html">&lt;p&gt;Vblas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Fall 2010 ==&lt;br /&gt;
&lt;br /&gt;
* MS: [in regards to running Xinu on a roomba] &amp;quot;I believe the O/S students would say, 'Xinu doesn't need to suck any more than it already does.'&amp;quot;&lt;br /&gt;
* KP: &amp;quot;If there's a ghetto solution to something, it's in this lab.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Iced tea is too iced tea-y, and lemonade is too lemonade-y&amp;quot;&lt;br /&gt;
* [Dr. Brylow enters the lab] MK: &amp;quot;Dibs!&amp;quot; / SG: &amp;quot;Dibs!&amp;quot; / RB: &amp;quot;You can't dibs Dr. Brylow, he's a people.&amp;quot;&lt;br /&gt;
* KP: [In reference to the thermostat] &amp;quot;Stand back; I'm about to engineer this thing.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Type make, and it compiles... with errors, because it's _____'s code.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;You can't just type like string something in C?&amp;quot; / KP: &amp;quot;No.&amp;quot; / AM: &amp;quot;God, who the hell uses C anyway?&amp;quot; / KP: &amp;quot;Uh... everyone in this laboratory?&amp;quot;&lt;br /&gt;
* KP: &amp;quot;Hmm. Should I call DPS and make them let me into my office?&amp;quot; / VB: &amp;quot;Start a fire! That will make them come over here.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;How come CTRL+A doesn't select everything? [on Nekros] ... Oh wait, I'm using the keyboard on my laptop.&amp;quot;&lt;br /&gt;
* SG: &amp;quot;Why are you treating me like a hooker?&amp;quot; ... &amp;quot;Whooo all these singles, strip club tonight boys!&amp;quot;&lt;br /&gt;
* AG: [referring to the new lockers] &amp;quot;They're probably the most secure thing on the Windows side of the lab.&amp;quot;&lt;br /&gt;
* [when KP's scp failed] Ashley: Mawdryn and Nyssa are out shopping. Nekros is there too.&lt;br /&gt;
* DB: &amp;quot;This entire sentence reads like it was outsourced to India.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Summer 2010 ==&lt;br /&gt;
&lt;br /&gt;
* AM: &amp;quot;It's more confusing when I get it!&amp;quot;&lt;br /&gt;
* DB: [In reference to WRT160NL routers] &amp;quot;This isn't like the other children. It's something different.&amp;quot;&lt;br /&gt;
* Krenz: &amp;quot;There's light at the end of the tunnel and it's not a train.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;I'm so confused by this new ls.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Do I need to sacrifice goat entrails to the new Fedora 13 for you to be happy with it?&amp;quot;&lt;br /&gt;
* AG: &amp;quot;Does anyone here know Perl.&amp;quot; / DB: &amp;quot;It is an abomination.&amp;quot;&lt;br /&gt;
* AK: [Commit message] &amp;quot;fixed first bug after the last bug&amp;quot;&lt;br /&gt;
&amp;lt;!-- * AK: &amp;quot;killall batch grading... killall xterm... &amp;quot; / DB: &amp;quot;killall students...&amp;quot; --&amp;gt;&lt;br /&gt;
* DB: &amp;quot;Just add like three more zeros to it. Screw it.  ... Okay maybe three zeros was a little much.&amp;quot;&lt;br /&gt;
* KP: &amp;quot;Why can't the phone work like this.&amp;quot; / DB: &amp;quot;Because the phone is not a stepper motor.&amp;quot; / KP: &amp;quot;Can I write a thesis on M&amp;amp;M dispensing?&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Can we just set it back to Fedora 1 and leave it there?&amp;quot;&lt;br /&gt;
* KP: &amp;quot;How long could it take to write an essay for your diet coke of a thesis?&amp;quot;&lt;br /&gt;
* SG: &amp;quot;I can't believe I ran into a f*cking pole.&amp;quot;&lt;br /&gt;
* SG: &amp;quot;I expected more blinking and less doing nothing.&amp;quot;&lt;br /&gt;
* KP: &amp;quot;Have you ever had Pita Bros?&amp;quot; / DB: &amp;quot;No, where's that?&amp;quot; / KP: &amp;quot;It's the hybrid electric cart that parks by campus selling food.&amp;quot; / DB: &amp;quot;Oh, no don't eat there that's a good way to get botulism.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;Who castrated the ARP command?&amp;quot;&lt;br /&gt;
* DB: &amp;quot;If the Ethernet device is a fire hose and the serial device is a garden hose, where should the excess water go?&amp;quot; / KP: &amp;quot;The pool.&amp;quot;&lt;br /&gt;
* KT: &amp;quot;We need to break a router so we have a reason to use the debricker.&amp;quot; / KP: &amp;quot;There's a whole pile of reasons right over there.&amp;quot;&lt;br /&gt;
* KP: [shakes head] / KT: &amp;quot;Have I failed in some way?&amp;quot;&lt;br /&gt;
* KP: &amp;quot;Let's boot this b*tch!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Spring 2010 ==&lt;br /&gt;
&lt;br /&gt;
* AM: &amp;quot;Babies are like larvae that evolve into people.&amp;quot;&lt;br /&gt;
* KT: &amp;quot;I use tilde all the time.&amp;quot; / DB: &amp;quot;Maybe a little too much.&amp;quot;&lt;br /&gt;
* KT: [after using a configure script that accidentally made a directory named ~] &amp;quot;I was trying to remove the ~ directory. I tried ''rm -r ~'' and the system complained about files in use. I thought that was weird, so I used the ''-f'' force option [resulting in ''rm -rf ~'']. When I tried to use ''make'', it said file not found and that is when I realized I deleted my home directory.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;What does that mean?&amp;quot; / MS: &amp;quot;You can't eat Catholics on Friday.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;These little details are like sorting your M&amp;amp;Ms by color before you eat them.&amp;quot; / ZL [who is color deficient]: &amp;quot;I always do that. It's good practice.&amp;quot; / DB: &amp;quot;Bad example.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fall 2009 ==&lt;br /&gt;
&lt;br /&gt;
* AK: &amp;quot;If you fail [the GRE] every time, that's a hint.&amp;quot;&lt;br /&gt;
* ZL: [Talking about the sound coming from the VoIP speakers] &amp;quot;That's a new one. I like it. You could almost dance to it.&amp;quot; / AK: &amp;quot;Really quickly.&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;Do you live here [in the lab]?&amp;quot; / DS: &amp;quot;If that isn't the pot calling the kettle black...&amp;quot; / ZL: &amp;quot;You make a good point.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;When does grad school get fun?&amp;quot; / DB: &amp;quot;When you are done, and you look back on it fondly, and you have a high paying doctoral job.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;It's Friday. Who am I kidding?&amp;quot;&lt;br /&gt;
* MK: &amp;quot;I'm going to be using this [red pen] all semester. It will be a good investment.&amp;quot;&lt;br /&gt;
* FH: &amp;quot;Not that it's my thing, but there is no alcohol allowed, right?&amp;quot;&lt;br /&gt;
* DB: [After setting a bag of candy on the table] &amp;quot;Marquette Dental School appreciates your business.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Thesis first!&amp;quot;&lt;br /&gt;
* Steve Merrill: [While working with MATLAB] &amp;quot;FAIL!&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;...or we could throw it off the balcony.&amp;quot; / DB: &amp;quot;NO!&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;I have a plan to test that. It requires three computers.&amp;quot; / DB: &amp;quot;I like it already.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Summer 2009 ==&lt;br /&gt;
&lt;br /&gt;
* DB: &amp;quot;Why is this not working?&amp;quot; / MS: &amp;quot;Morbius is not promiscuous enough.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Isn't holy water hard to come by?&amp;quot;&lt;br /&gt;
* DB: [Speaking about AM's meeting with CS] &amp;quot;We also don't recognize [Struble] as a valid commitment.&amp;quot;&lt;br /&gt;
* RB: &amp;quot;Don't just sit there and gloat at me.&amp;quot;&lt;br /&gt;
* RB: &amp;quot;Jokes don't really work right now.  Sorry.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Ruining my body with one substance is enough.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;I need someone to hold my hand when I go get a haircut.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Everyone sounds lame when they post on girls' walls.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;I'm in Cudahy. I work here and live here.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Adam counts as -1.&amp;quot; / AG: &amp;quot;Only one?&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;It sounds like crap but it corresponds.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;I will be the supportive advisor this evening.&amp;quot; / MS: [Sarcastically] &amp;quot;What a change.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;In dangerous situations, that's when it's best to drink&lt;br /&gt;
* AG: &amp;quot;Yeah.  We played Wii bowling. And I learned how to play Magic.&amp;quot; / DB: &amp;quot;Ohh noo. It's like supervoc being taking over by the mad man.  Once SV7 is gone its all downhill.&amp;quot;&lt;br /&gt;
* DM: &amp;quot;Iran. Iraq. IRAW.&amp;quot;&lt;br /&gt;
* AG: &amp;quot;You can only flash something once.&amp;quot; / ZL: &amp;quot;Clearly, because you get arrested after that.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;I was rushing because I needed to be here by 3pm today.&amp;quot;&lt;br /&gt;
* MS: &amp;quot;He just put a hack on top of a hack on top of a hack.&amp;quot; / AG: &amp;quot;You don't have a network stack, you have a network hack.&amp;quot; / ZL: &amp;quot;You have a network pile.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;Someone wrote on our table.&amp;quot; / Anonymous: &amp;quot;Kill them.&amp;quot;&lt;br /&gt;
* DB: [Talking about hair] &amp;quot;That's not a matter of personal preference; that's correct.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;There would be so many good quotes if we allowed f-words.&amp;quot;&lt;br /&gt;
* MS: [Speaking to DB's friends] &amp;quot;You might want to bring your own videos.&amp;quot;&lt;br /&gt;
* RB: &amp;quot;Oh no.  It works consistently.  It gets my hopes up only to shatter them.&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;It's good. But..&amp;quot; / AG: &amp;quot;But, It looks like I cheated. ... You got to cheat sometimes.&amp;quot;&lt;br /&gt;
* DH: &amp;quot;Why would I doubt you, you are a student whose life depends on following the rules, I am only Director of a program which is supposed to enforce the rules.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;Yeah. I'm pretty much done. I'm wasted.&amp;quot;&lt;br /&gt;
* AG: &amp;quot;I fear ugliness.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Chicks dig werewolves.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Computers should never take this long to do something unless its awesome.&amp;quot; / GV: &amp;quot;Did you press the turbo button?&amp;quot;&lt;br /&gt;
* RB: [To AM] &amp;quot;You're going to make some freaky girl very happy someday.&amp;quot;&lt;br /&gt;
* AG: &amp;quot;It looked like you were conducting an orchestra.&amp;quot; / MS: &amp;quot;Well, I was composing an email.&amp;quot;&lt;br /&gt;
* RB: &amp;quot;I feel like I am using beta every time I log into Windows.&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;Get it done.  Testing is not important.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;What's wrong with you people?&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;The thing is, when I do say something offensive, it's very good.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;The sooner I get kicked out of the lab, the sooner I can start drinking.&amp;quot;&lt;br /&gt;
* MS: [Commit message] &amp;quot;Updated the Xinu banner for version 2.0. We can release now.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Spring 2009 ==&lt;br /&gt;
&lt;br /&gt;
* AM: &amp;quot;Do you really want me in charge of something that affects another human being?&amp;quot;&lt;br /&gt;
* TB: &amp;quot;Sleep sounds amazing right now.&amp;quot; / AM: &amp;quot;Oh my god...does it ever!&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;I'm all about making fun of people while they're in the room.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;The Internet is a vast wasteland of sewage.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;I won't say it's fixed, but I have now intervened on your behalf.&amp;quot;&lt;br /&gt;
* Zachary's Girlfriend: &amp;quot;Darn. I am taking on Brylow traits.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;You can think of them as ornaments hung on a syntax tree.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;purged Tim from nvram&amp;quot;&lt;br /&gt;
* AK: &amp;quot;If you want some sort of base for how sick I still feel just insert a burst of coughing after each sentence while reading this email.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;The rat gets nothing!&amp;quot;&lt;br /&gt;
* AG: &amp;quot;My brain operates at 10,000 Gemberflops per second.&amp;quot;&lt;br /&gt;
* AG: &amp;quot;I'm not saying it's my opinion.  I'm just saying its Adolph's opinion.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;He's celebrating the month of feasting.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;There's a special travel dispensation for pretzels.&amp;quot;&lt;br /&gt;
* CS: &amp;quot;I'm not very quotable.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Oh, it's travelling up in my butt.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;I shut off Slayer while we are gone.&amp;quot; / MS: &amp;quot;I'm sure Mawdryn will turn itself off, too.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;My room mate never plays with me.&amp;quot;&lt;br /&gt;
* MS: &amp;quot;I just made a mess on the seat.&amp;quot;&lt;br /&gt;
* TB: &amp;quot;I don't need a haircut - I am representing myself at this conference.&amp;quot;&lt;br /&gt;
* AM: [Referring to high performance gum] &amp;quot;It is just like high performance computing: it's really really good for a really really short period of time.&amp;quot;&lt;br /&gt;
* AK: [Speaking to Brylow]  &amp;quot;We just got out of Cracker Barrel and you are already eating pretzels.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Oh my God - Dinosaur World.  We are skipping SIGCSE.&amp;quot;&lt;br /&gt;
* TB: &amp;quot;Yeah, my life is a joke sometimes.&amp;quot;&lt;br /&gt;
* TB: &amp;quot;One of these days I'll get English right.&amp;quot;&lt;br /&gt;
* Presenter at SIGCSE 2009: &amp;quot;I mean, it's kind of fun to trash your operating system.&amp;quot;&lt;br /&gt;
* TB: &amp;quot;I like to let my hair air-dry. It poofs better.&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;I would not want Tim on my team for a game of telephone.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;They're not pretzel rods, they're fuel rods.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;But that's non-linear board usage.  I never do that.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;There's a lot more TODOs where those came from.&amp;quot;&lt;br /&gt;
* DB: [Said to an almost empty lab] &amp;quot;Aren't I paying a bunch of students to work for me?&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Aww we all got laser pointers!  This is gonna rule!&amp;quot;&lt;br /&gt;
* TB: &amp;quot;I thought I fixed everything doing nothing. It happens so many times.&amp;quot;&lt;br /&gt;
* [A discussion on going to the bar in a lab of all guys] / AG: &amp;quot;We're probably not as good looking as Victoria.&amp;quot; / AM: &amp;quot;Yeah, and she has a boyfriend...but none of you have boyfriends.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Just for funsies.&amp;quot;&lt;br /&gt;
* TB: [As AM points a laser pointer at TB] &amp;quot;I feel like I'm being sniped.&amp;quot;&lt;br /&gt;
* Ryan Feil: [Speaking in the lab of an operating systems assignment] &amp;quot;Shouldn't there be more people here scrambling to get this done.&amp;quot;&lt;br /&gt;
* MS: [As DB writes &amp;quot;IP Stack&amp;quot; on the board] &amp;quot;Ha ha. He pees stack. IP urine.&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;Really all we have right now are questions.&amp;quot;&lt;br /&gt;
* MS: [On a sheet of paper hidden among AM's homework] &amp;quot;#6. Thm: Adam sucks! Ha ha. / Pf: trivial.&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;I should just source control my...everything.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;English is not sufficient for teaching compilers.&amp;quot;&lt;br /&gt;
* TB: &amp;quot;That's it. It's 100 percent done.&amp;quot;&lt;br /&gt;
* TB: &amp;quot;We were 100 percent done. We just need to get more speed-up.&amp;quot;&lt;br /&gt;
* AG: &amp;quot;So, Tim, when you are 30, will you say your life is 100 percent done?&amp;quot;&lt;br /&gt;
* AG: &amp;quot;make tim: now compiling nonsense.c&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Oh, here we go: proof by rant.  That's a new one.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Do you really want me representing this school.&amp;quot; / DB: [Out of context] &amp;quot;No.&amp;quot;&lt;br /&gt;
* AG: &amp;quot;If I leave the lab, I feel like I'm leaving civilization behind.&amp;quot;&lt;br /&gt;
* AG: [Browsing through Mike's wedding gift registry] &amp;quot;Xinu only has 50 threads.  The sheets Mike wants have 410, but they don't have memory protection.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;Oh good Brylow left.  Now I can leave.&amp;quot;&lt;br /&gt;
* AK: [First commit message] &amp;quot;modified some ifthenelse stuff to look a little more like class&amp;quot; / [Second commit message] &amp;quot;removed the code I added to ifthenelse, it made no sense and didn't compile&amp;quot;&lt;br /&gt;
* DB: [To a prospective student touring the System's Lab] &amp;quot;Ignore the rat.&amp;quot;&lt;br /&gt;
* MS: [Discussing DB's tests] &amp;quot;Why would you study for his test? You are either screwed or not screwed...it's fairly binary.&amp;quot;&lt;br /&gt;
* MS: [Left a message for AG] &amp;quot;I hax0rd your boxor!&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Oh look.  She dumped me on Facebook.  Awesome!&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Don't stroke the yeast colony.&amp;quot;&lt;br /&gt;
* MS: [Speaking of his yeast colony] &amp;quot;It's free!&amp;quot; / DB: &amp;quot;Don't release it!&amp;quot;&lt;br /&gt;
* MS: &amp;quot;If I just get really offensive and harsh with what I say then I won't get quoted any more.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Alright, I'm going home.  See you in the morning.&amp;quot; / ZL: &amp;quot;The morning.  Really?&amp;quot; / DB: &amp;quot;Well no.&amp;quot;&lt;br /&gt;
* MS: [Anticipating DB's response to new advisees] &amp;quot;You want to be my advisee.  Kiss the clock.&amp;quot;&lt;br /&gt;
* MS: &amp;quot;It is much more important to see me being reamed up the ass.&amp;quot;&lt;br /&gt;
* JA: [Discussing potential names of Dan Mahoney's future son] &amp;quot;Name him your last name backwards so he can be a palindrome.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;Big setup no follow through.&amp;quot; / AG: &amp;quot;I'm all about that.&amp;quot; / MS: &amp;quot;That's what she said.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;That's not an algorithm; that's a sweatshop.&amp;quot;&lt;br /&gt;
* Lyndsie: &amp;quot;High school cheer leading is even on ESPN.&amp;quot; / MS: &amp;quot;That is really sweet!&amp;quot;&lt;br /&gt;
* AM: &amp;quot;I always assume that everyone in the world is just listening to me to talk. I also assume that people just follow me around just to listen to me.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Every time Tim opens his mouth to say something about the poster, you just close your eyes and pray.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;This will all work out right? Induction through hand-waving.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Except it's like fake adoption, where it turns out the child is actually yours.&amp;quot;&lt;br /&gt;
* &amp;quot;If you're concerned about that you're probably in the wrong major, because we're going to build skynet.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;So we are selling you to indentured servitude now?&amp;quot; / AM: &amp;quot;I hope so, then I get free passage to the new world.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Why do you work here?&amp;quot;&lt;br /&gt;
* AM: &amp;quot;I have three desks worth of space just taken up with garbage and shit.&amp;quot;&lt;br /&gt;
* Anonymous: &amp;quot;You know, pretty soon that relationship will be 100% done.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fall 2008 ==&lt;br /&gt;
&lt;br /&gt;
* MN: [Talking about the large rubber rat] &amp;quot;I don't get paid enough to have this thing look at me.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;Now that grading's done, I deserve a pretzel.&amp;quot;&lt;br /&gt;
* AG: &amp;quot;I haven't even started, and I already feel defeated.&amp;quot; / MS: &amp;quot;Welcome to graduate school.&amp;quot;&lt;br /&gt;
* ''RFC 793: Transmission Control Protocol'': &amp;quot;When the original SYN (pun intended) finally arrives at line 6, the synchronization proceeds normally.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;If I think more than 30 seconds into my own future I start to panic.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Once again, I've solved the problem, but the computer has failed to see my genius.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;It takes many years of sucky teaching to learn how to teach well.  You have to start sucking somewhere.&amp;quot;&lt;br /&gt;
* TB: &amp;quot;When you get the packet it is all going to be out of order.&amp;quot;&lt;br /&gt;
* MS: &amp;quot;I was going to ask you what they stood for, but I knew the answer was: 'Get the hell out of my office Mike.'&amp;quot;&lt;br /&gt;
* DB: &amp;quot;You have the plague now too?&amp;quot;&lt;br /&gt;
* AK: &amp;quot;It was like Tim's brain on a piece of paper.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;His abstract was words in a paint can and all he did was throw it on a poster.&amp;quot;&lt;br /&gt;
* TB: &amp;quot;Yeah, how did we get sidetracked.&amp;quot; / AM: &amp;quot;I started talking.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Now US-41 through Terre Haute, that's the corridor of hell.&amp;quot;&lt;br /&gt;
* Zachary's Sister: [Upon visiting the Systems Lab] &amp;quot;It's like having six zacs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Summer 2008 ==&lt;br /&gt;
* linux-2.6.25.9/lib/iomap.c: Ugly macros are a way of life.&lt;br /&gt;
* ../net/tcp/tcpTimer.c:101: error: ‘rum’ undeclared (first use in this function)&lt;br /&gt;
* BH: &amp;quot;Vim has a learning curve.&amp;quot; / MS: &amp;quot;No, it's a line.&amp;quot;&lt;br /&gt;
* MS: &amp;quot;[re: Firefox Plushie] Wow, that look more like a raccoon to me.  And wouldn't that just make people position Linux Tux and Firefox Fux is various explicit positions?   Or is that just me?&amp;quot; / DB: &amp;quot;Yes, Michael.  It is just you.  And I don't think the Firefox mascot's proper name is 'Fux.'&amp;quot;&lt;br /&gt;
* JP: &amp;quot;I'm laughing because my nose itches.&amp;quot;&lt;br /&gt;
* JP: &amp;quot;I'm not going to start my own business. For a business to work, the owner has to care.&amp;quot;&lt;br /&gt;
* MS: &amp;quot;''Broken Beyond Syntax'', that's going to be the title of my autobiography.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Spring 2008 ==&lt;br /&gt;
* AK: &amp;quot;[online review of sushi place in Portland with Aaron] Sit in the lounge. The red chairs are very comfortable. The food was really good too. Had some chicken dish, don't remember what it was called.&amp;quot;&lt;br /&gt;
* JP: &amp;quot;I'm not saying it's my opinion, I'm just saying it's an opinion.&amp;quot;&lt;br /&gt;
* JP: &amp;quot;Yeah, that's just fool complicated.&amp;quot;&lt;br /&gt;
* AG: &amp;quot;Even Tim's pictures have bugs in them.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;Warnings mean you are smarter than the compiler!&amp;quot;&lt;br /&gt;
* AG: &amp;quot;Do you use text messaging?&amp;quot; / JP: &amp;quot;What's that?&amp;quot;&lt;br /&gt;
* AG: &amp;quot;I feel like doing something.  What should I do?&amp;quot; / PH: &amp;quot;Go home.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Any questions?  What else have I forgotten to tell you?&amp;quot; (email to lab) / Response: &amp;quot;The XINU lab notes that you forgot to tell us that you love us.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Traditionally, graduate students get a bed to themselves in this situation.&amp;quot;&lt;br /&gt;
* PH: &amp;quot;I'm really going to enjoy watching the commits to this branch.&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;Voc and Supervoc joined at the UART&amp;quot;&lt;br /&gt;
* George Corliss: &amp;quot;Verbose.  Minus 5.&amp;quot;&lt;br /&gt;
* Steve Merrill: &amp;quot;Publish!  Publish!  Publish!&amp;quot; (walking down the hall past junior faculty offices)&lt;br /&gt;
* JP: &amp;quot;I am just participating cause I'm standing here.&amp;quot;&lt;br /&gt;
* JP: &amp;quot;New commands are silly.&amp;quot;&lt;br /&gt;
* JP: &amp;quot;I've solved all kinds of problems in my life that no one's ever solved before.&amp;quot;&lt;br /&gt;
* AG: &amp;quot;You know scheme.  I know scheme.  We all scheme for ice cream.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;I like StarTrek, but that would be less a hobby and more an investment.&amp;quot;&lt;br /&gt;
* MS: &amp;quot;Subtract two.&amp;quot; / MN: &amp;quot;Why?&amp;quot; / MS: &amp;quot;...because I said so.&amp;quot; / MN: &amp;quot;...alright...&amp;quot; / MS: &amp;quot;...and then when that doesn't work subtract four.  But two should work.&amp;quot; / MN: &amp;quot;Two didn't work.&amp;quot; / MS: &amp;quot;Damnit!  Subtract four.&amp;quot; (Conversation continues in a similar fashion until Matt ends up subtracting eight.)&lt;br /&gt;
* DB: &amp;quot;So they basically made a hammer and went after everything that could be a nail.&amp;quot;&lt;br /&gt;
* JP: &amp;quot;This is so unfair to us petty criminals.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;We'll all be getting eye transplants soon.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;''I'' am somehow derived from C.&amp;quot; (on the ubiquity of the C programming language)&lt;br /&gt;
* JP: &amp;quot;First you have to get the $3,000 license for the whizbang that does all the work.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;I don't remember what the silly window is, but it must be important.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;[UML is] just a bunch of boxes on paper.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Java has corrupted you all.&amp;quot;&lt;br /&gt;
* KJ: &amp;quot;There are some fonts that ''really'' spread out a paper.&amp;quot; (discussing parameters for COSC 198 term paper)&lt;br /&gt;
* DB: &amp;quot;You're telling me to put in less work.  I'm not going to argue with you.&amp;quot;&lt;br /&gt;
* ''See MIPS Run, 2nd Ed.'': &amp;quot;When we finally make contact with aliens, their wheelbarrows will have round wheels and their computers will probably use fixed-size pages.&amp;quot;&lt;br /&gt;
* ''RFC 826: An Ethernet Address Resolution Protocol'': &amp;quot;The world is a jungle in general, and the networking game contributes many animals.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== XINU Pith ==&lt;br /&gt;
* XINU Cometh.&lt;br /&gt;
* XINU Returneth.&lt;br /&gt;
* XINU Calls.&lt;br /&gt;
* XINU Returns.&lt;br /&gt;
* XINU Creates.&lt;br /&gt;
* XINU Reschedules.&lt;br /&gt;
* XINU Saves and Restores.&lt;br /&gt;
* XINU Preempts.&lt;br /&gt;
* XINU Comes Not to JUDGE, But to EXECUTE...&lt;br /&gt;
* XINU Knows Your Inmost Firmware.&lt;br /&gt;
* XINU Brings New Life to Old Hardware.&lt;br /&gt;
* XINU Waits.&lt;br /&gt;
* XINU Allocates.&lt;br /&gt;
* XINU Deallocates Away.&lt;br /&gt;
* XINU Tastes Great.&lt;br /&gt;
* XINU Has Less Filling.&lt;br /&gt;
* XINU Runs FOREVER.&lt;br /&gt;
* XINU Eschews Obfuscation.&lt;br /&gt;
* XINU Does Not Do Windows.&lt;br /&gt;
* XINU Brings ORDER out of CHAOS.&lt;br /&gt;
* XINU Brings CHAOS from ORDER.&lt;br /&gt;
* He Whoever Believes in XINU Shall Have Eternal Processing.&lt;br /&gt;
* XINU Shall Run Again.&lt;br /&gt;
* XINU Is Not UNIX.&lt;br /&gt;
* XINU.  It's What's For Dinner.&lt;br /&gt;
* No XINU and No Mips Make Homer Something Something...&lt;br /&gt;
* See XINU.  See XINU Run.  Run XINU Run.&lt;br /&gt;
* XINU Allocateth, XINU Deallocateth Away.&lt;br /&gt;
&lt;br /&gt;
== Abbreviations ==&lt;br /&gt;
{| &lt;br /&gt;
|-&lt;br /&gt;
|'''Abbreviation''' &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; || '''Name'''&lt;br /&gt;
|-&lt;br /&gt;
| AG || Aaron Gember&lt;br /&gt;
|-&lt;br /&gt;
| AK || Adam Koehler&lt;br /&gt;
|-&lt;br /&gt;
| AM || Adam Mallen&lt;br /&gt;
|-&lt;br /&gt;
| BH || Brandon Hahn&lt;br /&gt;
|-&lt;br /&gt;
| CS || Craig Struble&lt;br /&gt;
|-&lt;br /&gt;
| DB || Dennis (or Dr.) Brylow&lt;br /&gt;
|-&lt;br /&gt;
| DH || Doug Harris&lt;br /&gt;
|-&lt;br /&gt;
| DM || Dan Mahoney&lt;br /&gt;
|-&lt;br /&gt;
| DS || Devin Sigulinsky&lt;br /&gt;
|-&lt;br /&gt;
| FH || Fran Hurtado&lt;br /&gt;
|-&lt;br /&gt;
| GV || Gabe Van Eyck&lt;br /&gt;
|-&lt;br /&gt;
| JP || Justin Picotte&lt;br /&gt;
|-&lt;br /&gt;
| JA || Joe Pintozzi&lt;br /&gt;
|-&lt;br /&gt;
| KJ || Kyle Jackson&lt;br /&gt;
|-&lt;br /&gt;
| KP || Kyle Persohn&lt;br /&gt;
|-&lt;br /&gt;
| KT || Kyle Thurow&lt;br /&gt;
|-&lt;br /&gt;
| MK || Matthias Kohler&lt;br /&gt;
|-&lt;br /&gt;
| MN || Matt Netkow&lt;br /&gt;
|-&lt;br /&gt;
| MS || Michael Schultz&lt;br /&gt;
|-&lt;br /&gt;
| PH || Paul Hinze&lt;br /&gt;
|-&lt;br /&gt;
| SG || Steven Gago&lt;br /&gt;
|-&lt;br /&gt;
| TB || Tim Blattner&lt;br /&gt;
|-&lt;br /&gt;
| VB || Victor Blas&lt;br /&gt;
|-&lt;br /&gt;
| ZL || Zachary Lund&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=Quotes&amp;diff=3705</id>
		<title>Quotes</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=Quotes&amp;diff=3705"/>
		<updated>2010-11-03T20:08:39Z</updated>

		<summary type="html">&lt;p&gt;Vblas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Fall 2010 ==&lt;br /&gt;
&lt;br /&gt;
* MS: [in regards to running Xinu on a roomba] &amp;quot;I believe the O/S students would say, 'Xinu doesn't need to suck any more than it already does.'&amp;quot;&lt;br /&gt;
* KP: &amp;quot;If there's a ghetto solution to something, it's in this lab.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Iced tea is too iced tea-y, and lemonade is too lemonade-y&amp;quot;&lt;br /&gt;
* [Dr. Brylow enters the lab] MK: &amp;quot;Dibs!&amp;quot; / SG: &amp;quot;Dibs!&amp;quot; / RB: &amp;quot;You can't dibs Dr. Brylow, he's a people.&amp;quot;&lt;br /&gt;
* KP: [In reference to the thermostat] &amp;quot;Stand back; I'm about to engineer this thing.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Type make, and it compiles... with errors, because it's _____'s code.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;You can't just type like string something in C?&amp;quot; / KP: &amp;quot;No.&amp;quot; / AM: &amp;quot;God, who the hell uses C anyway?&amp;quot; / KP: &amp;quot;Uh... everyone in this laboratory?&amp;quot;&lt;br /&gt;
* KP: &amp;quot;Hmm. Should I call DPS and make them let me into my office?&amp;quot; / VB: &amp;quot;Start a fire! That will make them come over here.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;How come CTRL+A doesn't select everything? [on Nekros] ... Oh wait, I'm using the keyboard on my laptop.&amp;quot;&lt;br /&gt;
* SG: &amp;quot;Why are you treating me like a hooker?&amp;quot; ... &amp;quot;Whooo all these singles, strip club tonight boys!&amp;quot;&lt;br /&gt;
* AG: [referring to the new lockers] &amp;quot;They're probably the most secure thing on the Windows side of the lab.&amp;quot;&lt;br /&gt;
* [when KP's scp failed] Ashley: Mawdryn and Nyssa are out shopping. Nekros is there too.&lt;br /&gt;
* DB: &amp;quot;This entire sentence reads like it was outsourced to India.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Ultimately, there is a way to get porn on the IBM Network.&amp;quot;&lt;br /&gt;
== Summer 2010 ==&lt;br /&gt;
&lt;br /&gt;
* AM: &amp;quot;It's more confusing when I get it!&amp;quot;&lt;br /&gt;
* DB: [In reference to WRT160NL routers] &amp;quot;This isn't like the other children. It's something different.&amp;quot;&lt;br /&gt;
* Krenz: &amp;quot;There's light at the end of the tunnel and it's not a train.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;I'm so confused by this new ls.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Do I need to sacrifice goat entrails to the new Fedora 13 for you to be happy with it?&amp;quot;&lt;br /&gt;
* AG: &amp;quot;Does anyone here know Perl.&amp;quot; / DB: &amp;quot;It is an abomination.&amp;quot;&lt;br /&gt;
* AK: [Commit message] &amp;quot;fixed first bug after the last bug&amp;quot;&lt;br /&gt;
&amp;lt;!-- * AK: &amp;quot;killall batch grading... killall xterm... &amp;quot; / DB: &amp;quot;killall students...&amp;quot; --&amp;gt;&lt;br /&gt;
* DB: &amp;quot;Just add like three more zeros to it. Screw it.  ... Okay maybe three zeros was a little much.&amp;quot;&lt;br /&gt;
* KP: &amp;quot;Why can't the phone work like this.&amp;quot; / DB: &amp;quot;Because the phone is not a stepper motor.&amp;quot; / KP: &amp;quot;Can I write a thesis on M&amp;amp;M dispensing?&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Can we just set it back to Fedora 1 and leave it there?&amp;quot;&lt;br /&gt;
* KP: &amp;quot;How long could it take to write an essay for your diet coke of a thesis?&amp;quot;&lt;br /&gt;
* SG: &amp;quot;I can't believe I ran into a f*cking pole.&amp;quot;&lt;br /&gt;
* SG: &amp;quot;I expected more blinking and less doing nothing.&amp;quot;&lt;br /&gt;
* KP: &amp;quot;Have you ever had Pita Bros?&amp;quot; / DB: &amp;quot;No, where's that?&amp;quot; / KP: &amp;quot;It's the hybrid electric cart that parks by campus selling food.&amp;quot; / DB: &amp;quot;Oh, no don't eat there that's a good way to get botulism.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;Who castrated the ARP command?&amp;quot;&lt;br /&gt;
* DB: &amp;quot;If the Ethernet device is a fire hose and the serial device is a garden hose, where should the excess water go?&amp;quot; / KP: &amp;quot;The pool.&amp;quot;&lt;br /&gt;
* KT: &amp;quot;We need to break a router so we have a reason to use the debricker.&amp;quot; / KP: &amp;quot;There's a whole pile of reasons right over there.&amp;quot;&lt;br /&gt;
* KP: [shakes head] / KT: &amp;quot;Have I failed in some way?&amp;quot;&lt;br /&gt;
* KP: &amp;quot;Let's boot this b*tch!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Spring 2010 ==&lt;br /&gt;
&lt;br /&gt;
* AM: &amp;quot;Babies are like larvae that evolve into people.&amp;quot;&lt;br /&gt;
* KT: &amp;quot;I use tilde all the time.&amp;quot; / DB: &amp;quot;Maybe a little too much.&amp;quot;&lt;br /&gt;
* KT: [after using a configure script that accidentally made a directory named ~] &amp;quot;I was trying to remove the ~ directory. I tried ''rm -r ~'' and the system complained about files in use. I thought that was weird, so I used the ''-f'' force option [resulting in ''rm -rf ~'']. When I tried to use ''make'', it said file not found and that is when I realized I deleted my home directory.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;What does that mean?&amp;quot; / MS: &amp;quot;You can't eat Catholics on Friday.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;These little details are like sorting your M&amp;amp;Ms by color before you eat them.&amp;quot; / ZL [who is color deficient]: &amp;quot;I always do that. It's good practice.&amp;quot; / DB: &amp;quot;Bad example.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fall 2009 ==&lt;br /&gt;
&lt;br /&gt;
* AK: &amp;quot;If you fail [the GRE] every time, that's a hint.&amp;quot;&lt;br /&gt;
* ZL: [Talking about the sound coming from the VoIP speakers] &amp;quot;That's a new one. I like it. You could almost dance to it.&amp;quot; / AK: &amp;quot;Really quickly.&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;Do you live here [in the lab]?&amp;quot; / DS: &amp;quot;If that isn't the pot calling the kettle black...&amp;quot; / ZL: &amp;quot;You make a good point.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;When does grad school get fun?&amp;quot; / DB: &amp;quot;When you are done, and you look back on it fondly, and you have a high paying doctoral job.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;It's Friday. Who am I kidding?&amp;quot;&lt;br /&gt;
* MK: &amp;quot;I'm going to be using this [red pen] all semester. It will be a good investment.&amp;quot;&lt;br /&gt;
* FH: &amp;quot;Not that it's my thing, but there is no alcohol allowed, right?&amp;quot;&lt;br /&gt;
* DB: [After setting a bag of candy on the table] &amp;quot;Marquette Dental School appreciates your business.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Thesis first!&amp;quot;&lt;br /&gt;
* Steve Merrill: [While working with MATLAB] &amp;quot;FAIL!&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;...or we could throw it off the balcony.&amp;quot; / DB: &amp;quot;NO!&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;I have a plan to test that. It requires three computers.&amp;quot; / DB: &amp;quot;I like it already.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Summer 2009 ==&lt;br /&gt;
&lt;br /&gt;
* DB: &amp;quot;Why is this not working?&amp;quot; / MS: &amp;quot;Morbius is not promiscuous enough.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Isn't holy water hard to come by?&amp;quot;&lt;br /&gt;
* DB: [Speaking about AM's meeting with CS] &amp;quot;We also don't recognize [Struble] as a valid commitment.&amp;quot;&lt;br /&gt;
* RB: &amp;quot;Don't just sit there and gloat at me.&amp;quot;&lt;br /&gt;
* RB: &amp;quot;Jokes don't really work right now.  Sorry.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Ruining my body with one substance is enough.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;I need someone to hold my hand when I go get a haircut.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Everyone sounds lame when they post on girls' walls.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;I'm in Cudahy. I work here and live here.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Adam counts as -1.&amp;quot; / AG: &amp;quot;Only one?&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;It sounds like crap but it corresponds.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;I will be the supportive advisor this evening.&amp;quot; / MS: [Sarcastically] &amp;quot;What a change.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;In dangerous situations, that's when it's best to drink&lt;br /&gt;
* AG: &amp;quot;Yeah.  We played Wii bowling. And I learned how to play Magic.&amp;quot; / DB: &amp;quot;Ohh noo. It's like supervoc being taking over by the mad man.  Once SV7 is gone its all downhill.&amp;quot;&lt;br /&gt;
* DM: &amp;quot;Iran. Iraq. IRAW.&amp;quot;&lt;br /&gt;
* AG: &amp;quot;You can only flash something once.&amp;quot; / ZL: &amp;quot;Clearly, because you get arrested after that.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;I was rushing because I needed to be here by 3pm today.&amp;quot;&lt;br /&gt;
* MS: &amp;quot;He just put a hack on top of a hack on top of a hack.&amp;quot; / AG: &amp;quot;You don't have a network stack, you have a network hack.&amp;quot; / ZL: &amp;quot;You have a network pile.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;Someone wrote on our table.&amp;quot; / Anonymous: &amp;quot;Kill them.&amp;quot;&lt;br /&gt;
* DB: [Talking about hair] &amp;quot;That's not a matter of personal preference; that's correct.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;There would be so many good quotes if we allowed f-words.&amp;quot;&lt;br /&gt;
* MS: [Speaking to DB's friends] &amp;quot;You might want to bring your own videos.&amp;quot;&lt;br /&gt;
* RB: &amp;quot;Oh no.  It works consistently.  It gets my hopes up only to shatter them.&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;It's good. But..&amp;quot; / AG: &amp;quot;But, It looks like I cheated. ... You got to cheat sometimes.&amp;quot;&lt;br /&gt;
* DH: &amp;quot;Why would I doubt you, you are a student whose life depends on following the rules, I am only Director of a program which is supposed to enforce the rules.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;Yeah. I'm pretty much done. I'm wasted.&amp;quot;&lt;br /&gt;
* AG: &amp;quot;I fear ugliness.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Chicks dig werewolves.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Computers should never take this long to do something unless its awesome.&amp;quot; / GV: &amp;quot;Did you press the turbo button?&amp;quot;&lt;br /&gt;
* RB: [To AM] &amp;quot;You're going to make some freaky girl very happy someday.&amp;quot;&lt;br /&gt;
* AG: &amp;quot;It looked like you were conducting an orchestra.&amp;quot; / MS: &amp;quot;Well, I was composing an email.&amp;quot;&lt;br /&gt;
* RB: &amp;quot;I feel like I am using beta every time I log into Windows.&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;Get it done.  Testing is not important.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;What's wrong with you people?&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;The thing is, when I do say something offensive, it's very good.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;The sooner I get kicked out of the lab, the sooner I can start drinking.&amp;quot;&lt;br /&gt;
* MS: [Commit message] &amp;quot;Updated the Xinu banner for version 2.0. We can release now.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Spring 2009 ==&lt;br /&gt;
&lt;br /&gt;
* AM: &amp;quot;Do you really want me in charge of something that affects another human being?&amp;quot;&lt;br /&gt;
* TB: &amp;quot;Sleep sounds amazing right now.&amp;quot; / AM: &amp;quot;Oh my god...does it ever!&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;I'm all about making fun of people while they're in the room.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;The Internet is a vast wasteland of sewage.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;I won't say it's fixed, but I have now intervened on your behalf.&amp;quot;&lt;br /&gt;
* Zachary's Girlfriend: &amp;quot;Darn. I am taking on Brylow traits.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;You can think of them as ornaments hung on a syntax tree.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;purged Tim from nvram&amp;quot;&lt;br /&gt;
* AK: &amp;quot;If you want some sort of base for how sick I still feel just insert a burst of coughing after each sentence while reading this email.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;The rat gets nothing!&amp;quot;&lt;br /&gt;
* AG: &amp;quot;My brain operates at 10,000 Gemberflops per second.&amp;quot;&lt;br /&gt;
* AG: &amp;quot;I'm not saying it's my opinion.  I'm just saying its Adolph's opinion.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;He's celebrating the month of feasting.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;There's a special travel dispensation for pretzels.&amp;quot;&lt;br /&gt;
* CS: &amp;quot;I'm not very quotable.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Oh, it's travelling up in my butt.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;I shut off Slayer while we are gone.&amp;quot; / MS: &amp;quot;I'm sure Mawdryn will turn itself off, too.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;My room mate never plays with me.&amp;quot;&lt;br /&gt;
* MS: &amp;quot;I just made a mess on the seat.&amp;quot;&lt;br /&gt;
* TB: &amp;quot;I don't need a haircut - I am representing myself at this conference.&amp;quot;&lt;br /&gt;
* AM: [Referring to high performance gum] &amp;quot;It is just like high performance computing: it's really really good for a really really short period of time.&amp;quot;&lt;br /&gt;
* AK: [Speaking to Brylow]  &amp;quot;We just got out of Cracker Barrel and you are already eating pretzels.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Oh my God - Dinosaur World.  We are skipping SIGCSE.&amp;quot;&lt;br /&gt;
* TB: &amp;quot;Yeah, my life is a joke sometimes.&amp;quot;&lt;br /&gt;
* TB: &amp;quot;One of these days I'll get English right.&amp;quot;&lt;br /&gt;
* Presenter at SIGCSE 2009: &amp;quot;I mean, it's kind of fun to trash your operating system.&amp;quot;&lt;br /&gt;
* TB: &amp;quot;I like to let my hair air-dry. It poofs better.&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;I would not want Tim on my team for a game of telephone.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;They're not pretzel rods, they're fuel rods.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;But that's non-linear board usage.  I never do that.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;There's a lot more TODOs where those came from.&amp;quot;&lt;br /&gt;
* DB: [Said to an almost empty lab] &amp;quot;Aren't I paying a bunch of students to work for me?&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Aww we all got laser pointers!  This is gonna rule!&amp;quot;&lt;br /&gt;
* TB: &amp;quot;I thought I fixed everything doing nothing. It happens so many times.&amp;quot;&lt;br /&gt;
* [A discussion on going to the bar in a lab of all guys] / AG: &amp;quot;We're probably not as good looking as Victoria.&amp;quot; / AM: &amp;quot;Yeah, and she has a boyfriend...but none of you have boyfriends.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Just for funsies.&amp;quot;&lt;br /&gt;
* TB: [As AM points a laser pointer at TB] &amp;quot;I feel like I'm being sniped.&amp;quot;&lt;br /&gt;
* Ryan Feil: [Speaking in the lab of an operating systems assignment] &amp;quot;Shouldn't there be more people here scrambling to get this done.&amp;quot;&lt;br /&gt;
* MS: [As DB writes &amp;quot;IP Stack&amp;quot; on the board] &amp;quot;Ha ha. He pees stack. IP urine.&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;Really all we have right now are questions.&amp;quot;&lt;br /&gt;
* MS: [On a sheet of paper hidden among AM's homework] &amp;quot;#6. Thm: Adam sucks! Ha ha. / Pf: trivial.&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;I should just source control my...everything.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;English is not sufficient for teaching compilers.&amp;quot;&lt;br /&gt;
* TB: &amp;quot;That's it. It's 100 percent done.&amp;quot;&lt;br /&gt;
* TB: &amp;quot;We were 100 percent done. We just need to get more speed-up.&amp;quot;&lt;br /&gt;
* AG: &amp;quot;So, Tim, when you are 30, will you say your life is 100 percent done?&amp;quot;&lt;br /&gt;
* AG: &amp;quot;make tim: now compiling nonsense.c&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Oh, here we go: proof by rant.  That's a new one.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Do you really want me representing this school.&amp;quot; / DB: [Out of context] &amp;quot;No.&amp;quot;&lt;br /&gt;
* AG: &amp;quot;If I leave the lab, I feel like I'm leaving civilization behind.&amp;quot;&lt;br /&gt;
* AG: [Browsing through Mike's wedding gift registry] &amp;quot;Xinu only has 50 threads.  The sheets Mike wants have 410, but they don't have memory protection.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;Oh good Brylow left.  Now I can leave.&amp;quot;&lt;br /&gt;
* AK: [First commit message] &amp;quot;modified some ifthenelse stuff to look a little more like class&amp;quot; / [Second commit message] &amp;quot;removed the code I added to ifthenelse, it made no sense and didn't compile&amp;quot;&lt;br /&gt;
* DB: [To a prospective student touring the System's Lab] &amp;quot;Ignore the rat.&amp;quot;&lt;br /&gt;
* MS: [Discussing DB's tests] &amp;quot;Why would you study for his test? You are either screwed or not screwed...it's fairly binary.&amp;quot;&lt;br /&gt;
* MS: [Left a message for AG] &amp;quot;I hax0rd your boxor!&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Oh look.  She dumped me on Facebook.  Awesome!&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Don't stroke the yeast colony.&amp;quot;&lt;br /&gt;
* MS: [Speaking of his yeast colony] &amp;quot;It's free!&amp;quot; / DB: &amp;quot;Don't release it!&amp;quot;&lt;br /&gt;
* MS: &amp;quot;If I just get really offensive and harsh with what I say then I won't get quoted any more.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Alright, I'm going home.  See you in the morning.&amp;quot; / ZL: &amp;quot;The morning.  Really?&amp;quot; / DB: &amp;quot;Well no.&amp;quot;&lt;br /&gt;
* MS: [Anticipating DB's response to new advisees] &amp;quot;You want to be my advisee.  Kiss the clock.&amp;quot;&lt;br /&gt;
* MS: &amp;quot;It is much more important to see me being reamed up the ass.&amp;quot;&lt;br /&gt;
* JA: [Discussing potential names of Dan Mahoney's future son] &amp;quot;Name him your last name backwards so he can be a palindrome.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;Big setup no follow through.&amp;quot; / AG: &amp;quot;I'm all about that.&amp;quot; / MS: &amp;quot;That's what she said.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;That's not an algorithm; that's a sweatshop.&amp;quot;&lt;br /&gt;
* Lyndsie: &amp;quot;High school cheer leading is even on ESPN.&amp;quot; / MS: &amp;quot;That is really sweet!&amp;quot;&lt;br /&gt;
* AM: &amp;quot;I always assume that everyone in the world is just listening to me to talk. I also assume that people just follow me around just to listen to me.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Every time Tim opens his mouth to say something about the poster, you just close your eyes and pray.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;This will all work out right? Induction through hand-waving.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Except it's like fake adoption, where it turns out the child is actually yours.&amp;quot;&lt;br /&gt;
* &amp;quot;If you're concerned about that you're probably in the wrong major, because we're going to build skynet.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;So we are selling you to indentured servitude now?&amp;quot; / AM: &amp;quot;I hope so, then I get free passage to the new world.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Why do you work here?&amp;quot;&lt;br /&gt;
* AM: &amp;quot;I have three desks worth of space just taken up with garbage and shit.&amp;quot;&lt;br /&gt;
* Anonymous: &amp;quot;You know, pretty soon that relationship will be 100% done.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fall 2008 ==&lt;br /&gt;
&lt;br /&gt;
* MN: [Talking about the large rubber rat] &amp;quot;I don't get paid enough to have this thing look at me.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;Now that grading's done, I deserve a pretzel.&amp;quot;&lt;br /&gt;
* AG: &amp;quot;I haven't even started, and I already feel defeated.&amp;quot; / MS: &amp;quot;Welcome to graduate school.&amp;quot;&lt;br /&gt;
* ''RFC 793: Transmission Control Protocol'': &amp;quot;When the original SYN (pun intended) finally arrives at line 6, the synchronization proceeds normally.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;If I think more than 30 seconds into my own future I start to panic.&amp;quot;&lt;br /&gt;
* AM: &amp;quot;Once again, I've solved the problem, but the computer has failed to see my genius.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;It takes many years of sucky teaching to learn how to teach well.  You have to start sucking somewhere.&amp;quot;&lt;br /&gt;
* TB: &amp;quot;When you get the packet it is all going to be out of order.&amp;quot;&lt;br /&gt;
* MS: &amp;quot;I was going to ask you what they stood for, but I knew the answer was: 'Get the hell out of my office Mike.'&amp;quot;&lt;br /&gt;
* DB: &amp;quot;You have the plague now too?&amp;quot;&lt;br /&gt;
* AK: &amp;quot;It was like Tim's brain on a piece of paper.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;His abstract was words in a paint can and all he did was throw it on a poster.&amp;quot;&lt;br /&gt;
* TB: &amp;quot;Yeah, how did we get sidetracked.&amp;quot; / AM: &amp;quot;I started talking.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Now US-41 through Terre Haute, that's the corridor of hell.&amp;quot;&lt;br /&gt;
* Zachary's Sister: [Upon visiting the Systems Lab] &amp;quot;It's like having six zacs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Summer 2008 ==&lt;br /&gt;
* linux-2.6.25.9/lib/iomap.c: Ugly macros are a way of life.&lt;br /&gt;
* ../net/tcp/tcpTimer.c:101: error: ‘rum’ undeclared (first use in this function)&lt;br /&gt;
* BH: &amp;quot;Vim has a learning curve.&amp;quot; / MS: &amp;quot;No, it's a line.&amp;quot;&lt;br /&gt;
* MS: &amp;quot;[re: Firefox Plushie] Wow, that look more like a raccoon to me.  And wouldn't that just make people position Linux Tux and Firefox Fux is various explicit positions?   Or is that just me?&amp;quot; / DB: &amp;quot;Yes, Michael.  It is just you.  And I don't think the Firefox mascot's proper name is 'Fux.'&amp;quot;&lt;br /&gt;
* JP: &amp;quot;I'm laughing because my nose itches.&amp;quot;&lt;br /&gt;
* JP: &amp;quot;I'm not going to start my own business. For a business to work, the owner has to care.&amp;quot;&lt;br /&gt;
* MS: &amp;quot;''Broken Beyond Syntax'', that's going to be the title of my autobiography.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Spring 2008 ==&lt;br /&gt;
* AK: &amp;quot;[online review of sushi place in Portland with Aaron] Sit in the lounge. The red chairs are very comfortable. The food was really good too. Had some chicken dish, don't remember what it was called.&amp;quot;&lt;br /&gt;
* JP: &amp;quot;I'm not saying it's my opinion, I'm just saying it's an opinion.&amp;quot;&lt;br /&gt;
* JP: &amp;quot;Yeah, that's just fool complicated.&amp;quot;&lt;br /&gt;
* AG: &amp;quot;Even Tim's pictures have bugs in them.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;Warnings mean you are smarter than the compiler!&amp;quot;&lt;br /&gt;
* AG: &amp;quot;Do you use text messaging?&amp;quot; / JP: &amp;quot;What's that?&amp;quot;&lt;br /&gt;
* AG: &amp;quot;I feel like doing something.  What should I do?&amp;quot; / PH: &amp;quot;Go home.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Any questions?  What else have I forgotten to tell you?&amp;quot; (email to lab) / Response: &amp;quot;The XINU lab notes that you forgot to tell us that you love us.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Traditionally, graduate students get a bed to themselves in this situation.&amp;quot;&lt;br /&gt;
* PH: &amp;quot;I'm really going to enjoy watching the commits to this branch.&amp;quot;&lt;br /&gt;
* ZL: &amp;quot;Voc and Supervoc joined at the UART&amp;quot;&lt;br /&gt;
* George Corliss: &amp;quot;Verbose.  Minus 5.&amp;quot;&lt;br /&gt;
* Steve Merrill: &amp;quot;Publish!  Publish!  Publish!&amp;quot; (walking down the hall past junior faculty offices)&lt;br /&gt;
* JP: &amp;quot;I am just participating cause I'm standing here.&amp;quot;&lt;br /&gt;
* JP: &amp;quot;New commands are silly.&amp;quot;&lt;br /&gt;
* JP: &amp;quot;I've solved all kinds of problems in my life that no one's ever solved before.&amp;quot;&lt;br /&gt;
* AG: &amp;quot;You know scheme.  I know scheme.  We all scheme for ice cream.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;I like StarTrek, but that would be less a hobby and more an investment.&amp;quot;&lt;br /&gt;
* MS: &amp;quot;Subtract two.&amp;quot; / MN: &amp;quot;Why?&amp;quot; / MS: &amp;quot;...because I said so.&amp;quot; / MN: &amp;quot;...alright...&amp;quot; / MS: &amp;quot;...and then when that doesn't work subtract four.  But two should work.&amp;quot; / MN: &amp;quot;Two didn't work.&amp;quot; / MS: &amp;quot;Damnit!  Subtract four.&amp;quot; (Conversation continues in a similar fashion until Matt ends up subtracting eight.)&lt;br /&gt;
* DB: &amp;quot;So they basically made a hammer and went after everything that could be a nail.&amp;quot;&lt;br /&gt;
* JP: &amp;quot;This is so unfair to us petty criminals.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;We'll all be getting eye transplants soon.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;''I'' am somehow derived from C.&amp;quot; (on the ubiquity of the C programming language)&lt;br /&gt;
* JP: &amp;quot;First you have to get the $3,000 license for the whizbang that does all the work.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;I don't remember what the silly window is, but it must be important.&amp;quot;&lt;br /&gt;
* AK: &amp;quot;[UML is] just a bunch of boxes on paper.&amp;quot;&lt;br /&gt;
* DB: &amp;quot;Java has corrupted you all.&amp;quot;&lt;br /&gt;
* KJ: &amp;quot;There are some fonts that ''really'' spread out a paper.&amp;quot; (discussing parameters for COSC 198 term paper)&lt;br /&gt;
* DB: &amp;quot;You're telling me to put in less work.  I'm not going to argue with you.&amp;quot;&lt;br /&gt;
* ''See MIPS Run, 2nd Ed.'': &amp;quot;When we finally make contact with aliens, their wheelbarrows will have round wheels and their computers will probably use fixed-size pages.&amp;quot;&lt;br /&gt;
* ''RFC 826: An Ethernet Address Resolution Protocol'': &amp;quot;The world is a jungle in general, and the networking game contributes many animals.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== XINU Pith ==&lt;br /&gt;
* XINU Cometh.&lt;br /&gt;
* XINU Returneth.&lt;br /&gt;
* XINU Calls.&lt;br /&gt;
* XINU Returns.&lt;br /&gt;
* XINU Creates.&lt;br /&gt;
* XINU Reschedules.&lt;br /&gt;
* XINU Saves and Restores.&lt;br /&gt;
* XINU Preempts.&lt;br /&gt;
* XINU Comes Not to JUDGE, But to EXECUTE...&lt;br /&gt;
* XINU Knows Your Inmost Firmware.&lt;br /&gt;
* XINU Brings New Life to Old Hardware.&lt;br /&gt;
* XINU Waits.&lt;br /&gt;
* XINU Allocates.&lt;br /&gt;
* XINU Deallocates Away.&lt;br /&gt;
* XINU Tastes Great.&lt;br /&gt;
* XINU Has Less Filling.&lt;br /&gt;
* XINU Runs FOREVER.&lt;br /&gt;
* XINU Eschews Obfuscation.&lt;br /&gt;
* XINU Does Not Do Windows.&lt;br /&gt;
* XINU Brings ORDER out of CHAOS.&lt;br /&gt;
* XINU Brings CHAOS from ORDER.&lt;br /&gt;
* He Whoever Believes in XINU Shall Have Eternal Processing.&lt;br /&gt;
* XINU Shall Run Again.&lt;br /&gt;
* XINU Is Not UNIX.&lt;br /&gt;
* XINU.  It's What's For Dinner.&lt;br /&gt;
* No XINU and No Mips Make Homer Something Something...&lt;br /&gt;
* See XINU.  See XINU Run.  Run XINU Run.&lt;br /&gt;
* XINU Allocateth, XINU Deallocateth Away.&lt;br /&gt;
&lt;br /&gt;
== Abbreviations ==&lt;br /&gt;
{| &lt;br /&gt;
|-&lt;br /&gt;
|'''Abbreviation''' &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; || '''Name'''&lt;br /&gt;
|-&lt;br /&gt;
| AG || Aaron Gember&lt;br /&gt;
|-&lt;br /&gt;
| AK || Adam Koehler&lt;br /&gt;
|-&lt;br /&gt;
| AM || Adam Mallen&lt;br /&gt;
|-&lt;br /&gt;
| BH || Brandon Hahn&lt;br /&gt;
|-&lt;br /&gt;
| CS || Craig Struble&lt;br /&gt;
|-&lt;br /&gt;
| DB || Dennis (or Dr.) Brylow&lt;br /&gt;
|-&lt;br /&gt;
| DH || Doug Harris&lt;br /&gt;
|-&lt;br /&gt;
| DM || Dan Mahoney&lt;br /&gt;
|-&lt;br /&gt;
| DS || Devin Sigulinsky&lt;br /&gt;
|-&lt;br /&gt;
| FH || Fran Hurtado&lt;br /&gt;
|-&lt;br /&gt;
| GV || Gabe Van Eyck&lt;br /&gt;
|-&lt;br /&gt;
| JP || Justin Picotte&lt;br /&gt;
|-&lt;br /&gt;
| JA || Joe Pintozzi&lt;br /&gt;
|-&lt;br /&gt;
| KJ || Kyle Jackson&lt;br /&gt;
|-&lt;br /&gt;
| KP || Kyle Persohn&lt;br /&gt;
|-&lt;br /&gt;
| KT || Kyle Thurow&lt;br /&gt;
|-&lt;br /&gt;
| MK || Matthias Kohler&lt;br /&gt;
|-&lt;br /&gt;
| MN || Matt Netkow&lt;br /&gt;
|-&lt;br /&gt;
| MS || Michael Schultz&lt;br /&gt;
|-&lt;br /&gt;
| PH || Paul Hinze&lt;br /&gt;
|-&lt;br /&gt;
| SG || Steven Gago&lt;br /&gt;
|-&lt;br /&gt;
| TB || Tim Blattner&lt;br /&gt;
|-&lt;br /&gt;
| VB || Victor Blas&lt;br /&gt;
|-&lt;br /&gt;
| ZL || Zachary Lund&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3677</id>
		<title>HOWTO:Modify the ASUS hardware</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3677"/>
		<updated>2010-08-11T14:00:22Z</updated>

		<summary type="html">&lt;p&gt;Vblas: /* Task Six: Attach Transceiver Board to DB9 Serial Ports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:HOWTO]]&lt;br /&gt;
== Summary ==&lt;br /&gt;
The purpose of this walk through is to explain how to add hardware to the ASUS wl-330gE router to take advantage of the serial port on the router and use it to communicate with the serial console for [[Xinu]]. This communication is important for interacting with the Common Firmware Environment's, or [[CFE]], command line interface which is necessary to run Xinu on the router.&lt;br /&gt;
&lt;br /&gt;
== Before Starting ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The following lists all the ''necessary'' parts. However, the following tutorial describes assembling the transceiver on one of our custom transceiver boards. One could assemble the parts of the entire transceiver properly without the board, but with more difficulty.  Our transceiver board design is freely available for public use.&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.ps Transceiver schematic] is in postscript format, suitable for [http://opencircuitdesign.com/xcircuit/ XCircuit].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.pcb Transceiver PCB layout] is in [http://pcb.sourceforge.net/ PCB format].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xainu/Xinu-Transceiver.tgz Transceiver fabrication tarball] contains Gerber photoplotter and CNC drill files suitable for professional fabrication.&lt;br /&gt;
(No warranty express or implied, obviously.)&lt;br /&gt;
&lt;br /&gt;
=== Parts List ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Part Name&lt;br /&gt;
! Details&lt;br /&gt;
! Part / Model Number&lt;br /&gt;
! Price&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| ASUS [[wl-330gE]] Router&lt;br /&gt;
| 802.11b/g wireless access point&lt;br /&gt;
| [http://usa.asus.com/ ASUS wl-330gE]&lt;br /&gt;
| ~$40.00&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 4 pin header&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 5 pin header&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC shrouded double header&lt;br /&gt;
| 0.1”, 10 conductor&lt;br /&gt;
| Jameco 67811CM&lt;br /&gt;
| $0.33&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ADM202 Transceiver Chip&lt;br /&gt;
| Serial Transceiver ADM202EAN&lt;br /&gt;
| Jameco 1800464&lt;br /&gt;
| $1.60&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Capacitor 220 nF&lt;br /&gt;
| Tantalum,.22uF,35V,10%&lt;br /&gt;
| Jameco 33507&lt;br /&gt;
| $0.18&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Capacitor 100 nF&lt;br /&gt;
| Tantalum,.1uF,35V,10%&lt;br /&gt;
| Jameco 33488&lt;br /&gt;
| $0.22&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DB9 Female&lt;br /&gt;
| 22AWG,SOLDER CUP&lt;br /&gt;
| Jameco 15771CM&lt;br /&gt;
| $0.59&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(We provide this parts list as a data point; we offer no guarantees about current prices, and it is not our intent to endorse any particular vendor.)&lt;br /&gt;
&lt;br /&gt;
=== Tools List ===&lt;br /&gt;
* Soldering Iron&lt;br /&gt;
* Dremel tool (for cutting holes in plastic case)&lt;br /&gt;
* Continuity Tester (Multimeter, or some other way of checking for proper connections)&lt;br /&gt;
* Voltmeter (Multimeter will work for this, too)&lt;br /&gt;
&lt;br /&gt;
== Steps to Modify the Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Task One: Open the Router ===&lt;br /&gt;
&lt;br /&gt;
Using a screwdriver, remove the two nails located underneath the router and gently remove the top of the router from the bottom, revealing the PCB.&lt;br /&gt;
&lt;br /&gt;
'''DO NOTE: This is where the warranty on the router is voided!'''&lt;br /&gt;
&lt;br /&gt;
=== Task Two: Attach the Serial Header ===&lt;br /&gt;
&lt;br /&gt;
The PCB is easily removable at this state from the router. Located in the center of the PCB is the Broadcom BCM5354 chip. Above the chip are four holes that are aligned vertically. The four holes represent the input and output for the serial interface, along with the 3.3 volt power and ground sources for the serial port.&lt;br /&gt;
&lt;br /&gt;
For easier connectivity, we can use a 4-pin header on the board to easily attach and detach a 4 connection cable. Use a soldering iron to solder the 4-pin header onto the board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Three: Create space for access to serial port on the router &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using a dremel or other power tool, carefully cut out a rectangular shaped hole on the faceplate of the router. The hole should be cut above the words “Portable” and it should be 3 mm wide and 1 cm in height, or enough to see the serial port through the hole. This will be used for a 4-wired cable to attach the router to the transceiver board, detailed in step seven. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Four: Creating the ADM202 Transceiver Circuit Board &amp;lt;/h3&amp;gt;&lt;br /&gt;
[[Image:Transceiver_schematic_wl-330gE.JPG|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
[[Image:Transceiver board.jpg|thumb|150px|right|Blank transceiver board before adding components.]]&lt;br /&gt;
[[Image:Complete transceiver board.jpg|thumb|150px|right|Transceiver board with all components in place except ribbon cables.]]&lt;br /&gt;
&lt;br /&gt;
A transceiver circuit is needed to convert the 3.3 volt serial signals from the router to conventional RS-232 serial voltages. To do this, we need a small square of “perf board”, or other circuit prototyping techniques. A soldering iron needs to be used to solder the components onto the board.&lt;br /&gt;
&lt;br /&gt;
Solder the shrouded double header, the socket, and the capacitors onto the board. The direction of the pins matter due to their polarity.&lt;br /&gt;
 &lt;br /&gt;
Once the components have been placed on the board, use a continuity tester to check the connection between the header soldered into the router's board and the socket on the transceiver board. Now the ADM202 chip can be inserted onto the board. Next, wires need to be soldered onto the bottom of the transceiver board. Since this router only has one transceiver board, only three of the holes need wires. Under the J2 label, solder wires into the two left most holes. Under the J1 label, which is under the chip, solder a wire on the right most hole. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Five: Attach Transceiver Board to the Router&amp;lt;/h3&amp;gt;&lt;br /&gt;
The easiest way to accomplish this is to use an 4-wire audio cable between the router's serial header and the shrouded double header on the transceiver board. Using the 4-pin header on the router, connect the four wires from the audio cable into the 4-pin header. On the transceiver board, follow the diagram to match the corresponding cables on the shrouded double header, but using a 5-pin serial header to easily attack to the shrouded double header.&lt;br /&gt;
[[Image:Serial_Port_Connection.jpeg|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
&lt;br /&gt;
=== Task Six: Attach Transceiver Board to DB9 Serial Ports ===&lt;br /&gt;
Since the router is very small, it will not have space to place the DB9 Serial Port. Therefore, a small container needs to be created to encase all of the components. This will be discussed in step seven. &lt;br /&gt;
Take the three wires from the transceiver board and attach them to the DB9 female according to the diagram. Make sure that the solder cups 1, 4, and 6 are connected to each other and solder cups 7 and 8 are connected to each other in the DB9 Female serial port. Notice that in the case of the DB9 Female the T1OUT pin of the ADM202 transceiver chip needs to be connected to solder cup 2, the R1IN pin of the ADM202 transceiver chip needs to be connected to solder cup 3, and the ground needs to be connected to solder cup 5. &lt;br /&gt;
[[Image:DB9_serial_port_wiring.jpeg|thumb|400px|right|Diagram demonstrating proper wiring between the transceiver board and the DB9 	serial port.]]&lt;br /&gt;
&lt;br /&gt;
Now you can use a continuity tester to make sure that all the connections are good and that no wires or solder cups are touching. The router should be placed back it its case, and the box keeping all the components together should separate the router from the transceiver board. It will be very bad if the circuit board and the transceiver board were to touch.&lt;br /&gt;
&lt;br /&gt;
=== Task Seven: Creating a box case for the component ===&lt;br /&gt;
The ASUS router is small, but because of this, there is no space for the DB9 female serial port, the adaptor, the relay, and the transceiver board. Because of this, a box is needed to enclose all of these components together. The box should have holes cut out for the DB9 female serial port, the power adapter and the Ethernet port. Also, a small barrier needs to be placed between the transceiver board and the relay so they do not meet. The PCB can be safely placed inside the ASUS router case.&lt;br /&gt;
&lt;br /&gt;
== What to do next? ==&lt;br /&gt;
&lt;br /&gt;
Connect UART0 (the DB9 Female serial port) to a computer and follow the next HOWTO on using a PC to [[HOWTO:Connect to a modified router|connect to a modified router]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
''This work is supported in part by NSF grant DUE-CCLI-0737476.''&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3676</id>
		<title>HOWTO:Modify the ASUS hardware</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3676"/>
		<updated>2010-08-11T13:55:08Z</updated>

		<summary type="html">&lt;p&gt;Vblas: /* Task Two: Attach the Serial Header */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:HOWTO]]&lt;br /&gt;
== Summary ==&lt;br /&gt;
The purpose of this walk through is to explain how to add hardware to the ASUS wl-330gE router to take advantage of the serial port on the router and use it to communicate with the serial console for [[Xinu]]. This communication is important for interacting with the Common Firmware Environment's, or [[CFE]], command line interface which is necessary to run Xinu on the router.&lt;br /&gt;
&lt;br /&gt;
== Before Starting ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The following lists all the ''necessary'' parts. However, the following tutorial describes assembling the transceiver on one of our custom transceiver boards. One could assemble the parts of the entire transceiver properly without the board, but with more difficulty.  Our transceiver board design is freely available for public use.&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.ps Transceiver schematic] is in postscript format, suitable for [http://opencircuitdesign.com/xcircuit/ XCircuit].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.pcb Transceiver PCB layout] is in [http://pcb.sourceforge.net/ PCB format].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xainu/Xinu-Transceiver.tgz Transceiver fabrication tarball] contains Gerber photoplotter and CNC drill files suitable for professional fabrication.&lt;br /&gt;
(No warranty express or implied, obviously.)&lt;br /&gt;
&lt;br /&gt;
=== Parts List ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Part Name&lt;br /&gt;
! Details&lt;br /&gt;
! Part / Model Number&lt;br /&gt;
! Price&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| ASUS [[wl-330gE]] Router&lt;br /&gt;
| 802.11b/g wireless access point&lt;br /&gt;
| [http://usa.asus.com/ ASUS wl-330gE]&lt;br /&gt;
| ~$40.00&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 4 pin header&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 5 pin header&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC shrouded double header&lt;br /&gt;
| 0.1”, 10 conductor&lt;br /&gt;
| Jameco 67811CM&lt;br /&gt;
| $0.33&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ADM202 Transceiver Chip&lt;br /&gt;
| Serial Transceiver ADM202EAN&lt;br /&gt;
| Jameco 1800464&lt;br /&gt;
| $1.60&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Capacitor 220 nF&lt;br /&gt;
| Tantalum,.22uF,35V,10%&lt;br /&gt;
| Jameco 33507&lt;br /&gt;
| $0.18&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Capacitor 100 nF&lt;br /&gt;
| Tantalum,.1uF,35V,10%&lt;br /&gt;
| Jameco 33488&lt;br /&gt;
| $0.22&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DB9 Female&lt;br /&gt;
| 22AWG,SOLDER CUP&lt;br /&gt;
| Jameco 15771CM&lt;br /&gt;
| $0.59&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(We provide this parts list as a data point; we offer no guarantees about current prices, and it is not our intent to endorse any particular vendor.)&lt;br /&gt;
&lt;br /&gt;
=== Tools List ===&lt;br /&gt;
* Soldering Iron&lt;br /&gt;
* Dremel tool (for cutting holes in plastic case)&lt;br /&gt;
* Continuity Tester (Multimeter, or some other way of checking for proper connections)&lt;br /&gt;
* Voltmeter (Multimeter will work for this, too)&lt;br /&gt;
&lt;br /&gt;
== Steps to Modify the Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Task One: Open the Router ===&lt;br /&gt;
&lt;br /&gt;
Using a screwdriver, remove the two nails located underneath the router and gently remove the top of the router from the bottom, revealing the PCB.&lt;br /&gt;
&lt;br /&gt;
'''DO NOTE: This is where the warranty on the router is voided!'''&lt;br /&gt;
&lt;br /&gt;
=== Task Two: Attach the Serial Header ===&lt;br /&gt;
&lt;br /&gt;
The PCB is easily removable at this state from the router. Located in the center of the PCB is the Broadcom BCM5354 chip. Above the chip are four holes that are aligned vertically. The four holes represent the input and output for the serial interface, along with the 3.3 volt power and ground sources for the serial port.&lt;br /&gt;
&lt;br /&gt;
For easier connectivity, we can use a 4-pin header on the board to easily attach and detach a 4 connection cable. Use a soldering iron to solder the 4-pin header onto the board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Three: Create space for access to serial port on the router &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using a dremel or other power tool, carefully cut out a rectangular shaped hole on the faceplate of the router. The hole should be cut above the words “Portable” and it should be 3 mm wide and 1 cm in height, or enough to see the serial port through the hole. This will be used for a 4-wired cable to attach the router to the transceiver board, detailed in step seven. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Four: Creating the ADM202 Transceiver Circuit Board &amp;lt;/h3&amp;gt;&lt;br /&gt;
[[Image:Transceiver_schematic_wl-330gE.JPG|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
[[Image:Transceiver board.jpg|thumb|150px|right|Blank transceiver board before adding components.]]&lt;br /&gt;
[[Image:Complete transceiver board.jpg|thumb|150px|right|Transceiver board with all components in place except ribbon cables.]]&lt;br /&gt;
&lt;br /&gt;
A transceiver circuit is needed to convert the 3.3 volt serial signals from the router to conventional RS-232 serial voltages. To do this, we need a small square of “perf board”, or other circuit prototyping techniques. A soldering iron needs to be used to solder the components onto the board.&lt;br /&gt;
&lt;br /&gt;
Solder the shrouded double header, the socket, and the capacitors onto the board. The direction of the pins matter due to their polarity.&lt;br /&gt;
 &lt;br /&gt;
Once the components have been placed on the board, use a continuity tester to check the connection between the header soldered into the router's board and the socket on the transceiver board. Now the ADM202 chip can be inserted onto the board. Next, wires need to be soldered onto the bottom of the transceiver board. Since this router only has one transceiver board, only three of the holes need wires. Under the J2 label, solder wires into the two left most holes. Under the J1 label, which is under the chip, solder a wire on the right most hole. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Five: Attach Transceiver Board to the Router&amp;lt;/h3&amp;gt;&lt;br /&gt;
The easiest way to accomplish this is to use an 4-wire audio cable between the router's serial header and the shrouded double header on the transceiver board. Using the 4-pin header on the router, connect the four wires from the audio cable into the 4-pin header. On the transceiver board, follow the diagram to match the corresponding cables on the shrouded double header, but using a 5-pin serial header to easily attack to the shrouded double header.&lt;br /&gt;
[[Image:Serial_Port_Connection.jpeg|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
&lt;br /&gt;
=== Task Six: Attach Transceiver Board to DB9 Serial Ports ===&lt;br /&gt;
Since the router is very small, it will not have space to place the DB9 Serial Port. Therefore, a small container needs to be created to encase all of the components. This will be discussed in step seven. &lt;br /&gt;
Take the three wires from the transceiver board and attach them to the DB9 female according to the diagram. (picture here). Make sure that the solder cups 1, 4, and 6 are connected to each other and solder cups 7 and 8 are connected to each other in the DB9 Female serial port. Notice that in the case of the DB9 Female the T1OUT pin of the ADM202 transceiver chip needs to be connected to solder cup 2, the R1IN pin of the ADM202 transceiver chip needs to be connected to solder cup 3, and the ground needs to be connected to solder cup 5. &lt;br /&gt;
[[Image:DB9_serial_port_wiring.jpeg|thumb|400px|right|Diagram demonstrating proper wiring between the transceiver board and the DB9 	serial port.]]&lt;br /&gt;
&lt;br /&gt;
Now you can use a continuity tester to make sure that all the connections are good and that no wires or solder cups are touching. The router should be placed back it its case, and the box keeping all the components together should separate the router from the transceiver board. It will be very bad if the circuit board and the transceiver board were to touch.&lt;br /&gt;
&lt;br /&gt;
=== Task Seven: Creating a box case for the component ===&lt;br /&gt;
The ASUS router is small, but because of this, there is no space for the DB9 female serial port, the adaptor, the relay, and the transceiver board. Because of this, a box is needed to enclose all of these components together. The box should have holes cut out for the DB9 female serial port, the power adapter and the Ethernet port. Also, a small barrier needs to be placed between the transceiver board and the relay so they do not meet. The PCB can be safely placed inside the ASUS router case.&lt;br /&gt;
&lt;br /&gt;
== What to do next? ==&lt;br /&gt;
&lt;br /&gt;
Connect UART0 (the DB9 Female serial port) to a computer and follow the next HOWTO on using a PC to [[HOWTO:Connect to a modified router|connect to a modified router]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
''This work is supported in part by NSF grant DUE-CCLI-0737476.''&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3675</id>
		<title>HOWTO:Modify the ASUS hardware</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3675"/>
		<updated>2010-08-11T13:31:06Z</updated>

		<summary type="html">&lt;p&gt;Vblas: /* Task One: Open the Router */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:HOWTO]]&lt;br /&gt;
== Summary ==&lt;br /&gt;
The purpose of this walk through is to explain how to add hardware to the ASUS wl-330gE router to take advantage of the serial port on the router and use it to communicate with the serial console for [[Xinu]]. This communication is important for interacting with the Common Firmware Environment's, or [[CFE]], command line interface which is necessary to run Xinu on the router.&lt;br /&gt;
&lt;br /&gt;
== Before Starting ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The following lists all the ''necessary'' parts. However, the following tutorial describes assembling the transceiver on one of our custom transceiver boards. One could assemble the parts of the entire transceiver properly without the board, but with more difficulty.  Our transceiver board design is freely available for public use.&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.ps Transceiver schematic] is in postscript format, suitable for [http://opencircuitdesign.com/xcircuit/ XCircuit].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.pcb Transceiver PCB layout] is in [http://pcb.sourceforge.net/ PCB format].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xainu/Xinu-Transceiver.tgz Transceiver fabrication tarball] contains Gerber photoplotter and CNC drill files suitable for professional fabrication.&lt;br /&gt;
(No warranty express or implied, obviously.)&lt;br /&gt;
&lt;br /&gt;
=== Parts List ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Part Name&lt;br /&gt;
! Details&lt;br /&gt;
! Part / Model Number&lt;br /&gt;
! Price&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| ASUS [[wl-330gE]] Router&lt;br /&gt;
| 802.11b/g wireless access point&lt;br /&gt;
| [http://usa.asus.com/ ASUS wl-330gE]&lt;br /&gt;
| ~$40.00&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 4 pin header&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 5 pin header&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC shrouded double header&lt;br /&gt;
| 0.1”, 10 conductor&lt;br /&gt;
| Jameco 67811CM&lt;br /&gt;
| $0.33&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ADM202 Transceiver Chip&lt;br /&gt;
| Serial Transceiver ADM202EAN&lt;br /&gt;
| Jameco 1800464&lt;br /&gt;
| $1.60&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Capacitor 220 nF&lt;br /&gt;
| Tantalum,.22uF,35V,10%&lt;br /&gt;
| Jameco 33507&lt;br /&gt;
| $0.18&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Capacitor 100 nF&lt;br /&gt;
| Tantalum,.1uF,35V,10%&lt;br /&gt;
| Jameco 33488&lt;br /&gt;
| $0.22&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DB9 Female&lt;br /&gt;
| 22AWG,SOLDER CUP&lt;br /&gt;
| Jameco 15771CM&lt;br /&gt;
| $0.59&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(We provide this parts list as a data point; we offer no guarantees about current prices, and it is not our intent to endorse any particular vendor.)&lt;br /&gt;
&lt;br /&gt;
=== Tools List ===&lt;br /&gt;
* Soldering Iron&lt;br /&gt;
* Dremel tool (for cutting holes in plastic case)&lt;br /&gt;
* Continuity Tester (Multimeter, or some other way of checking for proper connections)&lt;br /&gt;
* Voltmeter (Multimeter will work for this, too)&lt;br /&gt;
&lt;br /&gt;
== Steps to Modify the Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Task One: Open the Router ===&lt;br /&gt;
&lt;br /&gt;
Using a screwdriver, remove the two nails located underneath the router and gently remove the top of the router from the bottom, revealing the PCB.&lt;br /&gt;
&lt;br /&gt;
'''DO NOTE: This is where the warranty on the router is voided!'''&lt;br /&gt;
&lt;br /&gt;
=== Task Two: Attach the Serial Header ===&lt;br /&gt;
&lt;br /&gt;
The PCB is easily removable at this state from the router. Located in the center of the PCB is the Broadcom BCM535 chip. Above the chip are four holes that are aligned vertically. The four holes represent the input and output for the serial interface, along with the 3.3 volt power and ground sources for the serial port.&lt;br /&gt;
&lt;br /&gt;
For easier connectivity, we can use a 4-pin header on the board to easily attach and detach a 4 connection cable. Use a soldering iron to solder the 4-pin header onto the board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Three: Create space for access to serial port on the router &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using a dremel, carefully cut out a rectangular shaped hole on the faceplate of the router. The hole should be cut above the words “Portable” and it should be 3 mm wide and 1 cm in height, or enough to see the serial port through the hole. This will be used for a 4-wired cable to attach the router to the transceiver board, detailed in step seven. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Four: Creating the ADM202 Transceiver Circuit Board &amp;lt;/h3&amp;gt;&lt;br /&gt;
[[Image:Transceiver_schematic_wl-330gE.JPG|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
[[Image:Transceiver board.jpg|thumb|150px|right|Blank transceiver board before adding components.]]&lt;br /&gt;
[[Image:Complete transceiver board.jpg|thumb|150px|right|Transceiver board with all components in place except ribbon cables.]]&lt;br /&gt;
&lt;br /&gt;
A transceiver circuit is needed to convert the 3.3 volt serial signals from the router to conventional RS-232 serial voltages. To do this, we need a small square of “perf board”, or other circuit prototyping techniques. A soldering iron needs to be used to solder the components onto the board.&lt;br /&gt;
&lt;br /&gt;
Solder the shrouded double header, the socket, and the capacitors onto the board. The direction of the pins matter due to their polarity.&lt;br /&gt;
 &lt;br /&gt;
Once the components have been placed on the board, use a continuity tester to check the connection between header soldered into the router's board and the socket on the transceiver board. Now the ADM202 chip can be inserted onto the board. Next, wires need to be soldered onto bottom of the transceiver board. Since this router only has one transceiver board, only three of the holes need wires. Under the J2 label, solder wires into the two left most holes. Under the J1 label, which is under the chip, solder a wire on the right most hole. &lt;br /&gt;
(insert transceiver board diagram and transceiver board pictures)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Five: Attach Transceiver Board to the Router&amp;lt;/h3&amp;gt;&lt;br /&gt;
The easiest way to accomplish this is to use an 4-wire audio cable between the router's serial header and the shrouded double header on the transceiver board. Using the 4-pin header on the router, connect the four wires from the audio cable into the 4-pin header. On the transceiver board, follow the diagram to match the corresponding cables on the shrouded double header, but using a 5-pin serial header to easily attack to the shrouded double header.&lt;br /&gt;
[[Image:Serial_Port_Connection.jpeg|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
&lt;br /&gt;
=== Task Six: Attach Transceiver Board to DB9 Serial Ports ===&lt;br /&gt;
Since the router is very small, it will not have space to place the DB9 Serial Port. Therefore, a small container needs to be created to encase all of the components. This will be discussed in step seven. &lt;br /&gt;
Take the three wires from the transceiver board and attach them to the DB9 female according to the diagram. (picture here). Make sure that the solder cups 1, 4, and 6 are connected to each other and solder cups 7 and 8 are connected to each other in the DB9 Female serial port. Notice that in the case of the DB9 Female the T1OUT pin of the ADM202 transceiver chip needs to be connected to solder cup 2, the R1IN pin of the ADM202 transceiver chip needs to be connected to solder cup 3, and the ground needs to be connected to solder cup 5. &lt;br /&gt;
[[Image:DB9_serial_port_wiring.jpeg|thumb|400px|right|Diagram demonstrating proper wiring between the transceiver board and the DB9 	serial port.]]&lt;br /&gt;
&lt;br /&gt;
Now you can use a continuity tester to make sure that all the connections are good and that no wires or solder cups are touching. The router should be placed back it its case, and the box keeping all the components together should separate the router from the transceiver board. It will be very bad if the circuit board and the transceiver board were to touch.&lt;br /&gt;
&lt;br /&gt;
=== Task Seven: Creating a box case for the component ===&lt;br /&gt;
The ASUS router is small, but because of this, there is no space for the DB9 female serial port, the adaptor, the relay, and the transceiver board. Because of this, a box is needed to enclose all of these components together. The box should have holes cut out for the DB9 female serial port, the power adapter and the Ethernet port. Also, a small barrier needs to be placed between the transceiver board and the relay so they do not meet. The PCB can be safely placed inside the ASUS router case.&lt;br /&gt;
&lt;br /&gt;
== What to do next? ==&lt;br /&gt;
&lt;br /&gt;
Connect UART0 (the DB9 Female serial port) to a computer and follow the next HOWTO on using a PC to [[HOWTO:Connect to a modified router|connect to a modified router]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
''This work is supported in part by NSF grant DUE-CCLI-0737476.''&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3674</id>
		<title>HOWTO:Modify the ASUS hardware</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3674"/>
		<updated>2010-08-11T13:30:54Z</updated>

		<summary type="html">&lt;p&gt;Vblas: /* Parts List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:HOWTO]]&lt;br /&gt;
== Summary ==&lt;br /&gt;
The purpose of this walk through is to explain how to add hardware to the ASUS wl-330gE router to take advantage of the serial port on the router and use it to communicate with the serial console for [[Xinu]]. This communication is important for interacting with the Common Firmware Environment's, or [[CFE]], command line interface which is necessary to run Xinu on the router.&lt;br /&gt;
&lt;br /&gt;
== Before Starting ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The following lists all the ''necessary'' parts. However, the following tutorial describes assembling the transceiver on one of our custom transceiver boards. One could assemble the parts of the entire transceiver properly without the board, but with more difficulty.  Our transceiver board design is freely available for public use.&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.ps Transceiver schematic] is in postscript format, suitable for [http://opencircuitdesign.com/xcircuit/ XCircuit].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.pcb Transceiver PCB layout] is in [http://pcb.sourceforge.net/ PCB format].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xainu/Xinu-Transceiver.tgz Transceiver fabrication tarball] contains Gerber photoplotter and CNC drill files suitable for professional fabrication.&lt;br /&gt;
(No warranty express or implied, obviously.)&lt;br /&gt;
&lt;br /&gt;
=== Parts List ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Part Name&lt;br /&gt;
! Details&lt;br /&gt;
! Part / Model Number&lt;br /&gt;
! Price&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| ASUS [[wl-330gE]] Router&lt;br /&gt;
| 802.11b/g wireless access point&lt;br /&gt;
| [http://usa.asus.com/ ASUS wl-330gE]&lt;br /&gt;
| ~$40.00&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 4 pin header&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 5 pin header&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC shrouded double header&lt;br /&gt;
| 0.1”, 10 conductor&lt;br /&gt;
| Jameco 67811CM&lt;br /&gt;
| $0.33&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ADM202 Transceiver Chip&lt;br /&gt;
| Serial Transceiver ADM202EAN&lt;br /&gt;
| Jameco 1800464&lt;br /&gt;
| $1.60&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Capacitor 220 nF&lt;br /&gt;
| Tantalum,.22uF,35V,10%&lt;br /&gt;
| Jameco 33507&lt;br /&gt;
| $0.18&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Capacitor 100 nF&lt;br /&gt;
| Tantalum,.1uF,35V,10%&lt;br /&gt;
| Jameco 33488&lt;br /&gt;
| $0.22&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DB9 Female&lt;br /&gt;
| 22AWG,SOLDER CUP&lt;br /&gt;
| Jameco 15771CM&lt;br /&gt;
| $0.59&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(We provide this parts list as a data point; we offer no guarantees about current prices, and it is not our intent to endorse any particular vendor.)&lt;br /&gt;
&lt;br /&gt;
=== Tools List ===&lt;br /&gt;
* Soldering Iron&lt;br /&gt;
* Dremel tool (for cutting holes in plastic case)&lt;br /&gt;
* Continuity Tester (Multimeter, or some other way of checking for proper connections)&lt;br /&gt;
* Voltmeter (Multimeter will work for this, too)&lt;br /&gt;
&lt;br /&gt;
== Steps to Modify the Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Task One: Open the Router ===&lt;br /&gt;
&lt;br /&gt;
Using a screwdriver, remove the two nails located underneath the router and getnly remove the top of the router from the bottom, revealing the PCB.&lt;br /&gt;
&lt;br /&gt;
'''DO NOTE: This is where the warranty on the router is voided!'''&lt;br /&gt;
&lt;br /&gt;
=== Task Two: Attach the Serial Header ===&lt;br /&gt;
&lt;br /&gt;
The PCB is easily removable at this state from the router. Located in the center of the PCB is the Broadcom BCM535 chip. Above the chip are four holes that are aligned vertically. The four holes represent the input and output for the serial interface, along with the 3.3 volt power and ground sources for the serial port.&lt;br /&gt;
&lt;br /&gt;
For easier connectivity, we can use a 4-pin header on the board to easily attach and detach a 4 connection cable. Use a soldering iron to solder the 4-pin header onto the board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Three: Create space for access to serial port on the router &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using a dremel, carefully cut out a rectangular shaped hole on the faceplate of the router. The hole should be cut above the words “Portable” and it should be 3 mm wide and 1 cm in height, or enough to see the serial port through the hole. This will be used for a 4-wired cable to attach the router to the transceiver board, detailed in step seven. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Four: Creating the ADM202 Transceiver Circuit Board &amp;lt;/h3&amp;gt;&lt;br /&gt;
[[Image:Transceiver_schematic_wl-330gE.JPG|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
[[Image:Transceiver board.jpg|thumb|150px|right|Blank transceiver board before adding components.]]&lt;br /&gt;
[[Image:Complete transceiver board.jpg|thumb|150px|right|Transceiver board with all components in place except ribbon cables.]]&lt;br /&gt;
&lt;br /&gt;
A transceiver circuit is needed to convert the 3.3 volt serial signals from the router to conventional RS-232 serial voltages. To do this, we need a small square of “perf board”, or other circuit prototyping techniques. A soldering iron needs to be used to solder the components onto the board.&lt;br /&gt;
&lt;br /&gt;
Solder the shrouded double header, the socket, and the capacitors onto the board. The direction of the pins matter due to their polarity.&lt;br /&gt;
 &lt;br /&gt;
Once the components have been placed on the board, use a continuity tester to check the connection between header soldered into the router's board and the socket on the transceiver board. Now the ADM202 chip can be inserted onto the board. Next, wires need to be soldered onto bottom of the transceiver board. Since this router only has one transceiver board, only three of the holes need wires. Under the J2 label, solder wires into the two left most holes. Under the J1 label, which is under the chip, solder a wire on the right most hole. &lt;br /&gt;
(insert transceiver board diagram and transceiver board pictures)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Five: Attach Transceiver Board to the Router&amp;lt;/h3&amp;gt;&lt;br /&gt;
The easiest way to accomplish this is to use an 4-wire audio cable between the router's serial header and the shrouded double header on the transceiver board. Using the 4-pin header on the router, connect the four wires from the audio cable into the 4-pin header. On the transceiver board, follow the diagram to match the corresponding cables on the shrouded double header, but using a 5-pin serial header to easily attack to the shrouded double header.&lt;br /&gt;
[[Image:Serial_Port_Connection.jpeg|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
&lt;br /&gt;
=== Task Six: Attach Transceiver Board to DB9 Serial Ports ===&lt;br /&gt;
Since the router is very small, it will not have space to place the DB9 Serial Port. Therefore, a small container needs to be created to encase all of the components. This will be discussed in step seven. &lt;br /&gt;
Take the three wires from the transceiver board and attach them to the DB9 female according to the diagram. (picture here). Make sure that the solder cups 1, 4, and 6 are connected to each other and solder cups 7 and 8 are connected to each other in the DB9 Female serial port. Notice that in the case of the DB9 Female the T1OUT pin of the ADM202 transceiver chip needs to be connected to solder cup 2, the R1IN pin of the ADM202 transceiver chip needs to be connected to solder cup 3, and the ground needs to be connected to solder cup 5. &lt;br /&gt;
[[Image:DB9_serial_port_wiring.jpeg|thumb|400px|right|Diagram demonstrating proper wiring between the transceiver board and the DB9 	serial port.]]&lt;br /&gt;
&lt;br /&gt;
Now you can use a continuity tester to make sure that all the connections are good and that no wires or solder cups are touching. The router should be placed back it its case, and the box keeping all the components together should separate the router from the transceiver board. It will be very bad if the circuit board and the transceiver board were to touch.&lt;br /&gt;
&lt;br /&gt;
=== Task Seven: Creating a box case for the component ===&lt;br /&gt;
The ASUS router is small, but because of this, there is no space for the DB9 female serial port, the adaptor, the relay, and the transceiver board. Because of this, a box is needed to enclose all of these components together. The box should have holes cut out for the DB9 female serial port, the power adapter and the Ethernet port. Also, a small barrier needs to be placed between the transceiver board and the relay so they do not meet. The PCB can be safely placed inside the ASUS router case.&lt;br /&gt;
&lt;br /&gt;
== What to do next? ==&lt;br /&gt;
&lt;br /&gt;
Connect UART0 (the DB9 Female serial port) to a computer and follow the next HOWTO on using a PC to [[HOWTO:Connect to a modified router|connect to a modified router]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
''This work is supported in part by NSF grant DUE-CCLI-0737476.''&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3672</id>
		<title>HOWTO:Modify the ASUS hardware</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3672"/>
		<updated>2010-08-10T23:02:47Z</updated>

		<summary type="html">&lt;p&gt;Vblas: /* Steps to Modify the Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:HOWTO]]&lt;br /&gt;
== Summary ==&lt;br /&gt;
The purpose of this walk through is to explain how to add hardware to the ASUS wl-330gE router to take advantage of the serial port on the router and use it to communicate with the serial console for [[Xinu]]. This communication is important for interacting with the Common Firmware Environment's, or [[CFE]], command line interface which is necessary to run Xinu on the router.&lt;br /&gt;
&lt;br /&gt;
== Before Starting ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The following lists all the ''necessary'' parts. However, the following tutorial describes assembling the transceiver on one of our custom transceiver boards. One could assemble the parts of the entire transceiver properly without the board, but with more difficulty.  Our transceiver board design is freely available for public use.&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.ps Transceiver schematic] is in postscript format, suitable for [http://opencircuitdesign.com/xcircuit/ XCircuit].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.pcb Transceiver PCB layout] is in [http://pcb.sourceforge.net/ PCB format].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xainu/Xinu-Transceiver.tgz Transceiver fabrication tarball] contains Gerber photoplotter and CNC drill files suitable for professional fabrication.&lt;br /&gt;
(No warranty express or implied, obviously.)&lt;br /&gt;
&lt;br /&gt;
=== Parts List ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Part Name&lt;br /&gt;
! Details&lt;br /&gt;
! Part / Model Number&lt;br /&gt;
! Price&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| ASUS [[wl-330gE]] Router&lt;br /&gt;
| 802.11b/g wireless access point&lt;br /&gt;
| [http://usa.asus.com/ ASUS wl-330gE]&lt;br /&gt;
| ~$40.00&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 4 pin&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 5 pin&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC shrouded double header&lt;br /&gt;
| 0.1”, 10 conductor&lt;br /&gt;
| Jameco 67811CM&lt;br /&gt;
| $0.33&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ADM202 Transceiver Chip&lt;br /&gt;
| Serial Transceiver ADM202EAN&lt;br /&gt;
| Jameco 1800464&lt;br /&gt;
| $1.60&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Capacitor 220 nF&lt;br /&gt;
| Tantalum,.22uF,35V,10%&lt;br /&gt;
| Jameco 33507&lt;br /&gt;
| $0.18&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Capacitor 100 nF&lt;br /&gt;
| Tantalum,.1uF,35V,10%&lt;br /&gt;
| Jameco 33488&lt;br /&gt;
| $0.22&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DB9 Female&lt;br /&gt;
| 22AWG,SOLDER CUP&lt;br /&gt;
| Jameco 15771CM&lt;br /&gt;
| $0.59&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(We provide this parts list as a data point; we offer no guarantees about current prices, and it is not our intent to endorse any particular vendor.)&lt;br /&gt;
&lt;br /&gt;
=== Tools List ===&lt;br /&gt;
* Soldering Iron&lt;br /&gt;
* Dremel tool (for cutting holes in plastic case)&lt;br /&gt;
* Continuity Tester (Multimeter, or some other way of checking for proper connections)&lt;br /&gt;
* Voltmeter (Multimeter will work for this, too)&lt;br /&gt;
&lt;br /&gt;
== Steps to Modify the Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Task One: Open the Router ===&lt;br /&gt;
&lt;br /&gt;
Using a screwdriver, remove the two nails located underneath the router and getnly remove the top of the router from the bottom, revealing the PCB.&lt;br /&gt;
&lt;br /&gt;
'''DO NOTE: This is where the warranty on the router is voided!'''&lt;br /&gt;
&lt;br /&gt;
=== Task Two: Attach the Serial Header ===&lt;br /&gt;
&lt;br /&gt;
The PCB is easily removable at this state from the router. Located in the center of the PCB is the Broadcom BCM535 chip. Above the chip are four holes that are aligned vertically. The four holes represent the input and output for the serial interface, along with the 3.3 volt power and ground sources for the serial port.&lt;br /&gt;
&lt;br /&gt;
For easier connectivity, we can use a 4-pin header on the board to easily attach and detach a 4 connection cable. Use a soldering iron to solder the 4-pin header onto the board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Three: Create space for access to serial port on the router &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using a dremel, carefully cut out a rectangular shaped hole on the faceplate of the router. The hole should be cut above the words “Portable” and it should be 3 mm wide and 1 cm in height, or enough to see the serial port through the hole. This will be used for a 4-wired cable to attach the router to the transceiver board, detailed in step seven. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Four: Creating the ADM202 Transceiver Circuit Board &amp;lt;/h3&amp;gt;&lt;br /&gt;
[[Image:Transceiver_schematic_wl-330gE.JPG|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
[[Image:Transceiver board.jpg|thumb|150px|right|Blank transceiver board before adding components.]]&lt;br /&gt;
[[Image:Complete transceiver board.jpg|thumb|150px|right|Transceiver board with all components in place except ribbon cables.]]&lt;br /&gt;
&lt;br /&gt;
A transceiver circuit is needed to convert the 3.3 volt serial signals from the router to conventional RS-232 serial voltages. To do this, we need a small square of “perf board”, or other circuit prototyping techniques. A soldering iron needs to be used to solder the components onto the board.&lt;br /&gt;
&lt;br /&gt;
Solder the shrouded double header, the socket, and the capacitors onto the board. The direction of the pins matter due to their polarity.&lt;br /&gt;
 &lt;br /&gt;
Once the components have been placed on the board, use a continuity tester to check the connection between header soldered into the router's board and the socket on the transceiver board. Now the ADM202 chip can be inserted onto the board. Next, wires need to be soldered onto bottom of the transceiver board. Since this router only has one transceiver board, only three of the holes need wires. Under the J2 label, solder wires into the two left most holes. Under the J1 label, which is under the chip, solder a wire on the right most hole. &lt;br /&gt;
(insert transceiver board diagram and transceiver board pictures)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Five: Attach Transceiver Board to the Router&amp;lt;/h3&amp;gt;&lt;br /&gt;
The easiest way to accomplish this is to use an 4-wire audio cable between the router's serial header and the shrouded double header on the transceiver board. Using the 4-pin header on the router, connect the four wires from the audio cable into the 4-pin header. On the transceiver board, follow the diagram to match the corresponding cables on the shrouded double header, but using a 5-pin serial header to easily attack to the shrouded double header.&lt;br /&gt;
[[Image:Serial_Port_Connection.jpeg|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
&lt;br /&gt;
=== Task Six: Attach Transceiver Board to DB9 Serial Ports ===&lt;br /&gt;
Since the router is very small, it will not have space to place the DB9 Serial Port. Therefore, a small container needs to be created to encase all of the components. This will be discussed in step seven. &lt;br /&gt;
Take the three wires from the transceiver board and attach them to the DB9 female according to the diagram. (picture here). Make sure that the solder cups 1, 4, and 6 are connected to each other and solder cups 7 and 8 are connected to each other in the DB9 Female serial port. Notice that in the case of the DB9 Female the T1OUT pin of the ADM202 transceiver chip needs to be connected to solder cup 2, the R1IN pin of the ADM202 transceiver chip needs to be connected to solder cup 3, and the ground needs to be connected to solder cup 5. &lt;br /&gt;
[[Image:DB9_serial_port_wiring.jpeg|thumb|400px|right|Diagram demonstrating proper wiring between the transceiver board and the DB9 	serial port.]]&lt;br /&gt;
&lt;br /&gt;
Now you can use a continuity tester to make sure that all the connections are good and that no wires or solder cups are touching. The router should be placed back it its case, and the box keeping all the components together should separate the router from the transceiver board. It will be very bad if the circuit board and the transceiver board were to touch.&lt;br /&gt;
&lt;br /&gt;
=== Task Seven: Creating a box case for the component ===&lt;br /&gt;
The ASUS router is small, but because of this, there is no space for the DB9 female serial port, the adaptor, the relay, and the transceiver board. Because of this, a box is needed to enclose all of these components together. The box should have holes cut out for the DB9 female serial port, the power adapter and the Ethernet port. Also, a small barrier needs to be placed between the transceiver board and the relay so they do not meet. The PCB can be safely placed inside the ASUS router case.&lt;br /&gt;
&lt;br /&gt;
== What to do next? ==&lt;br /&gt;
&lt;br /&gt;
Connect UART0 (the DB9 Female serial port) to a computer and follow the next HOWTO on using a PC to [[HOWTO:Connect to a modified router|connect to a modified router]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
''This work is supported in part by NSF grant DUE-CCLI-0737476.''&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3671</id>
		<title>HOWTO:Modify the ASUS hardware</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3671"/>
		<updated>2010-08-10T23:02:14Z</updated>

		<summary type="html">&lt;p&gt;Vblas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:HOWTO]]&lt;br /&gt;
== Summary ==&lt;br /&gt;
The purpose of this walk through is to explain how to add hardware to the ASUS wl-330gE router to take advantage of the serial port on the router and use it to communicate with the serial console for [[Xinu]]. This communication is important for interacting with the Common Firmware Environment's, or [[CFE]], command line interface which is necessary to run Xinu on the router.&lt;br /&gt;
&lt;br /&gt;
== Before Starting ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The following lists all the ''necessary'' parts. However, the following tutorial describes assembling the transceiver on one of our custom transceiver boards. One could assemble the parts of the entire transceiver properly without the board, but with more difficulty.  Our transceiver board design is freely available for public use.&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.ps Transceiver schematic] is in postscript format, suitable for [http://opencircuitdesign.com/xcircuit/ XCircuit].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.pcb Transceiver PCB layout] is in [http://pcb.sourceforge.net/ PCB format].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xainu/Xinu-Transceiver.tgz Transceiver fabrication tarball] contains Gerber photoplotter and CNC drill files suitable for professional fabrication.&lt;br /&gt;
(No warranty express or implied, obviously.)&lt;br /&gt;
&lt;br /&gt;
=== Parts List ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Part Name&lt;br /&gt;
! Details&lt;br /&gt;
! Part / Model Number&lt;br /&gt;
! Price&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| ASUS [[wl-330gE]] Router&lt;br /&gt;
| 802.11b/g wireless access point&lt;br /&gt;
| [http://usa.asus.com/ ASUS wl-330gE]&lt;br /&gt;
| ~$40.00&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 4 pin&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 5 pin&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC shrouded double header&lt;br /&gt;
| 0.1”, 10 conductor&lt;br /&gt;
| Jameco 67811CM&lt;br /&gt;
| $0.33&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ADM202 Transceiver Chip&lt;br /&gt;
| Serial Transceiver ADM202EAN&lt;br /&gt;
| Jameco 1800464&lt;br /&gt;
| $1.60&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Capacitor 220 nF&lt;br /&gt;
| Tantalum,.22uF,35V,10%&lt;br /&gt;
| Jameco 33507&lt;br /&gt;
| $0.18&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Capacitor 100 nF&lt;br /&gt;
| Tantalum,.1uF,35V,10%&lt;br /&gt;
| Jameco 33488&lt;br /&gt;
| $0.22&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DB9 Female&lt;br /&gt;
| 22AWG,SOLDER CUP&lt;br /&gt;
| Jameco 15771CM&lt;br /&gt;
| $0.59&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(We provide this parts list as a data point; we offer no guarantees about current prices, and it is not our intent to endorse any particular vendor.)&lt;br /&gt;
&lt;br /&gt;
=== Tools List ===&lt;br /&gt;
* Soldering Iron&lt;br /&gt;
* Dremel tool (for cutting holes in plastic case)&lt;br /&gt;
* Continuity Tester (Multimeter, or some other way of checking for proper connections)&lt;br /&gt;
* Voltmeter (Multimeter will work for this, too)&lt;br /&gt;
&lt;br /&gt;
== Steps to Modify the Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Task One: Open the Router ===&lt;br /&gt;
&lt;br /&gt;
Using a screwdriver, remove the two nails located underneath the router and getnly remove the top of the router from the bottom, revealing the PCB.&lt;br /&gt;
&lt;br /&gt;
'''DO NOTE: This is where the warranty on the router is voided!'''&lt;br /&gt;
&lt;br /&gt;
=== Task Two: Attach the Serial Header ===&lt;br /&gt;
&lt;br /&gt;
The PCB is easily removable at this state from the router. Located in the center of the PCB is the Broadcom BCM535 chip. Above the chip are four holes that are aligned vertically. The four holes represent the input and output for the serial interface, along with the 3.3 volt power and ground sources for the serial port.&lt;br /&gt;
&lt;br /&gt;
For easier connectivity, we can use a 4-pin header on the board to easily attach and detach a 4 connection cable. Use a soldering iron to solder the 4-pin header onto the board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Three: Create space for access to serial port on the router &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using a dremel, carefully cut out a rectangular shaped hole on the faceplate of the router. The hole should be cut above the words “Portable” and it should be 3 mm wide and 1 cm in height, or enough to see the serial port through the hole. This will be used for a 4-wired cable to attach the router to the transceiver board, detailed in step seven. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Four: Creating the ADM202 Transceiver Circuit Board &amp;lt;/h3&amp;gt;&lt;br /&gt;
[[Image:Transceiver_schematic_wl-330gE.JPG|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
[[Image:Transceiver board.jpg|thumb|150px|right|Blank transceiver board before adding components.]]&lt;br /&gt;
[[Image:Complete transceiver board.jpg|thumb|150px|right|Transceiver board with all components in place except ribbon cables.]]&lt;br /&gt;
&lt;br /&gt;
A transceiver circuit is needed to convert the 3.3 volt serial signals from the router to conventional RS-232 serial voltages. To do this, we need a small square of “perf board”, or other circuit prototyping techniques. A soldering iron needs to be used to solder the components onto the board.&lt;br /&gt;
&lt;br /&gt;
Solder the shrouded double header, the socket, and the capacitors onto the board. The direction of the pins matter due to their polarity.&lt;br /&gt;
 &lt;br /&gt;
Once the components have been placed on the board, use a continuity tester to check the connection between header soldered into the router's board and the socket on the transceiver board. Now the ADM202 chip can be inserted onto the board. Next, wires need to be soldered onto bottom of the transceiver board. Since this router only has one transceiver board, only three of the holes need wires. Under the J2 label, solder wires into the two left most holes. Under the J1 label, which is under the chip, solder a wire on the right most hole. &lt;br /&gt;
(insert transceiver board diagram and transceiver board pictures)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Five: Attach Transceiver Board to the Router&amp;lt;/h3&amp;gt;&lt;br /&gt;
The easiest way to accomplish this is to use an 4-wire audio cable between the router's serial header and the shrouded double header on the transceiver board. Using the 4-pin header on the router, connect the four wires from the audio cable into the 4-pin header. On the transceiver board, follow the diagram to match the corresponding cables on the shrouded double header, but using a 5-pin serial header to easily attack to the shrouded double header.&lt;br /&gt;
[[Image:Serial_Port_Connection.jpeg|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
&lt;br /&gt;
=== Task Six: Attach Transceiver Board to DB9 Serial Ports ===&lt;br /&gt;
Since the router is very small, it will not have space to place the DB9 Serial Port. Therefore, a small container needs to be created to encase all of the components. This will be discussed in step seven. &lt;br /&gt;
Take the three wires from the transceiver board and attach them to the DB9 female according to the diagram. (picture here). Make sure that the solder cups 1, 4, and 6 are connected to each other and solder cups 7 and 8 are connected to each other in the DB9 Female serial port. Notice that in the case of the DB9 Female the T1OUT pin of the ADM202 transceiver chip needs to be connected to solder cup 2, the R1IN pin of the ADM202 transceiver chip needs to be connected to solder cup 3, and the ground needs to be connected to solder cup 5. &lt;br /&gt;
[[Image:DB9_serial_port_wiring|thumb|400px|right|Diagram demonstrating proper wiring between the transceiver board and the DB9 	serial port.]]&lt;br /&gt;
&lt;br /&gt;
Now you can use a continuity tester to make sure that all the connections are good and that no wires or solder cups are touching. The router should be placed back it its case, and the box keeping all the components together should separate the router from the transceiver board. It will be very bad if the circuit board and the transceiver board were to touch.&lt;br /&gt;
&lt;br /&gt;
=== Task Seven: Creating a box case for the component ===&lt;br /&gt;
The ASUS router is small, but because of this, there is no space for the DB9 female serial port, the adaptor, the relay, and the transceiver board. Because of this, a box is needed to enclose all of these components together. The box should have holes cut out for the DB9 female serial port, the power adapter and the Ethernet port. Also, a small barrier needs to be placed between the transceiver board and the relay so they do not meet. The PCB can be safely placed inside the ASUS router case.&lt;br /&gt;
&lt;br /&gt;
== What to do next? ==&lt;br /&gt;
&lt;br /&gt;
Connect UART0 (the DB9 Female serial port) to a computer and follow the next HOWTO on using a PC to [[HOWTO:Connect to a modified router|connect to a modified router]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
''This work is supported in part by NSF grant DUE-CCLI-0737476.''&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3670</id>
		<title>HOWTO:Modify the ASUS hardware</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3670"/>
		<updated>2010-08-10T22:58:00Z</updated>

		<summary type="html">&lt;p&gt;Vblas: /* Task Two: Attach the Serial Header */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:HOWTO]]&lt;br /&gt;
== Summary ==&lt;br /&gt;
The purpose of this walk through is to explain how to add hardware to the ASUS wl-330gE router to take advantage of the serial port on the router and use it to communicate with the serial console for [[Xinu]]. This communication is important for interacting with the Common Firmware Environment's, or [[CFE]], command line interface which is necessary to run Xinu on the router.&lt;br /&gt;
&lt;br /&gt;
== Before Starting ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The following lists all the ''necessary'' parts. However, the following tutorial describes assembling the transceiver on one of our custom transceiver boards. One could assemble the parts of the entire transceiver properly without the board, but with more difficulty.  Our transceiver board design is freely available for public use.&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.ps Transceiver schematic] is in postscript format, suitable for [http://opencircuitdesign.com/xcircuit/ XCircuit].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.pcb Transceiver PCB layout] is in [http://pcb.sourceforge.net/ PCB format].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xainu/Xinu-Transceiver.tgz Transceiver fabrication tarball] contains Gerber photoplotter and CNC drill files suitable for professional fabrication.&lt;br /&gt;
(No warranty express or implied, obviously.)&lt;br /&gt;
&lt;br /&gt;
=== Parts List ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Part Name&lt;br /&gt;
! Details&lt;br /&gt;
! Part / Model Number&lt;br /&gt;
! Price&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| ASUS [[wl-330gE]] Router&lt;br /&gt;
| 802.11b/g wireless access point&lt;br /&gt;
| [http://usa.asus.com/ ASUS wl-330gE]&lt;br /&gt;
| ~$40.00&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 4 pin&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 5 pin&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC shrouded double header&lt;br /&gt;
| 0.1”, 10 conductor&lt;br /&gt;
| Jameco 67811CM&lt;br /&gt;
| $0.33&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ADM202 Transceiver Chip&lt;br /&gt;
| Serial Transceiver ADM202EAN&lt;br /&gt;
| Jameco 1800464&lt;br /&gt;
| $1.60&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Capacitor 220 nF&lt;br /&gt;
| Tantalum,.22uF,35V,10%&lt;br /&gt;
| Jameco 33507&lt;br /&gt;
| $0.18&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Capacitor 100 nF&lt;br /&gt;
| Tantalum,.1uF,35V,10%&lt;br /&gt;
| Jameco 33488&lt;br /&gt;
| $0.22&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DB9 Female&lt;br /&gt;
| 22AWG,SOLDER CUP&lt;br /&gt;
| Jameco 15771CM&lt;br /&gt;
| $0.59&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(We provide this parts list as a data point; we offer no guarantees about current prices, and it is not our intent to endorse any particular vendor.)&lt;br /&gt;
&lt;br /&gt;
=== Tools List ===&lt;br /&gt;
* Soldering Iron&lt;br /&gt;
* Dremel tool (for cutting holes in plastic case)&lt;br /&gt;
* Continuity Tester (Multimeter, or some other way of checking for proper connections)&lt;br /&gt;
* Voltmeter (Multimeter will work for this, too)&lt;br /&gt;
&lt;br /&gt;
== Steps to Modify the Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Task One: Open the Router ===&lt;br /&gt;
&lt;br /&gt;
Using a screwdriver, remove the two nails located underneath the router and getnly remove the top of the router from the bottom, revealing the PCB.&lt;br /&gt;
&lt;br /&gt;
'''DO NOTE: This is where the warranty on the router is voided!'''&lt;br /&gt;
&lt;br /&gt;
=== Task Two: Attach the Serial Header ===&lt;br /&gt;
&lt;br /&gt;
The PCB is easily removable at this state from the router. Located in the center of the PCB is the Broadcom BCM535 chip. Above the chip are four holes that are aligned vertically. The four holes represent the input and output for the serial interface, along with the 3.3 volt power and ground sources for the serial port.&lt;br /&gt;
&lt;br /&gt;
For easier connectivity, we can use a 4-pin header on the board to easily attach and detach a 4 connection cable. Use a soldering iron to solder the 4-pin header onto the board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Three: Create space for access to serial port on the router &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using a dremel, carefully cut out a rectangular shaped hole on the faceplate of the router. The hole should be cut above the words “Portable” and it should be 3 mm wide and 1 cm in height, or enough to see the serial port through the hole. This will be used for a 4-wired cable to attach the router to the transceiver board, detailed in step seven. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Four: Creating the ADM202 Transceiver Circuit Board &amp;lt;/h3&amp;gt;&lt;br /&gt;
[[Image:Transceiver_schematic_wl-330gE.JPG|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
[[Image:Transceiver board.jpg|thumb|150px|right|Blank transceiver board before adding components.]]&lt;br /&gt;
[[Image:Complete transceiver board.jpg|thumb|150px|right|Transceiver board with all components in place except ribbon cables.]]&lt;br /&gt;
&lt;br /&gt;
A transceiver circuit is needed to convert the 3.3 volt serial signals from the router to conventional RS-232 serial voltages. To do this, we need a small square of “perf board”, or other circuit prototyping techniques. A soldering iron needs to be used to solder the components onto the board.&lt;br /&gt;
&lt;br /&gt;
Solder the shrouded double header, the socket, and the capacitors onto the board. The direction of the pins matter due to their polarity.&lt;br /&gt;
 &lt;br /&gt;
Once the components have been placed on the board, use a continuity tester to check the connection between header soldered into the router's board and the socket on the transceiver board. Now the ADM202 chip can be inserted onto the board. Next, wires need to be soldered onto bottom of the transceiver board. Since this router only has one transceiver board, only three of the holes need wires. Under the J2 label, solder wires into the two left most holes. Under the J1 label, which is under the chip, solder a wire on the right most hole. &lt;br /&gt;
(insert transceiver board diagram and transceiver board pictures)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Five: Attach Transceiver Board to the Router&amp;lt;/h3&amp;gt;&lt;br /&gt;
The easiest way to accomplish this is to use an 4-wire audio cable between the router's serial header and the shrouded double header on the transceiver board. Using the 4-pin header on the router, connect the four wires from the audio cable into the 4-pin header. On the transceiver board, follow the diagram to match the corresponding cables on the shrouded double header, but using a 5-pin serial header to easily attack to the shrouded double header.&lt;br /&gt;
[[Image:Serial_Port_Connection.jpeg|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
&lt;br /&gt;
=== Task Six: Attach Transceiver Board to DB9 Serial Ports ===&lt;br /&gt;
Since the router is very small, it will not have space to place the DB9 Serial Port. Therefore, a small container needs to be created to encase all of the components. This will be discussed in step seven. &lt;br /&gt;
Take the three wires from the transceiver board and attach them to the DB9 female according to the diagram. (picture here). Make sure that the solder cups 1, 4, and 6 are connected to each other and solder cups 7 and 8 are connected to each other in the DB9 Female serial port. Notice that in the case of the DB9 Female the T1OUT pin of the ADM202 transceiver chip needs to be connected to solder cup 2, the R1IN pin of the ADM202 transceiver chip needs to be connected to solder cup 3, and the ground needs to be connected to solder cup 5. &lt;br /&gt;
&lt;br /&gt;
Now you can use a continuity tester to make sure that all the connections are good and that no wires or solder cups are touching. The router should be placed back it its case, and the box keeping all the components together should separate the router from the transceiver board. It will be very bad if the circuit board and the transceiver board were to touch.&lt;br /&gt;
&lt;br /&gt;
=== Task Seven: Creating a box case for the component ===&lt;br /&gt;
The ASUS router is small, but because of this, there is no space for the DB9 female serial port, the adaptor, the relay, and the transceiver board. Because of this, a box is needed to enclose all of these components together. The box should have holes cut out for the DB9 female serial port, the power adapter and the Ethernet port. Also, a small barrier needs to be placed between the transceiver board and the relay so they do not meet. The PCB can be safely placed inside the ASUS router case.&lt;br /&gt;
&lt;br /&gt;
== What to do next? ==&lt;br /&gt;
&lt;br /&gt;
Connect UART0 (the DB9 Female serial port) to a computer and follow the next HOWTO on using a PC to [[HOWTO:Connect to a modified router|connect to a modified router]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
''This work is supported in part by NSF grant DUE-CCLI-0737476.''&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=Main_Page&amp;diff=3669</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=Main_Page&amp;diff=3669"/>
		<updated>2010-08-10T22:56:02Z</updated>

		<summary type="html">&lt;p&gt;Vblas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Embedded Xinu is an ongoing research and implementation project in the area of Operating Systems and Embedded Systems.  Its goal is to port the [[Xinu|Xinu Operating System]] to the embedded MIPS platform.  The current release supports Linksys WRT54GL and WRT160NL routers, as well as the Qemu virtual machine.  While this project is still in progress, our laboratory environment and curriculum materials are already in use for courses in Operating Systems, Hardware Systems, Embedded Systems, Networking and Compilers.&lt;br /&gt;
&lt;br /&gt;
The Embedded Xinu project was conceived and is supervised by [http://www.mscs.mu.edu/~brylow/ Dr. Dennis Brylow] and is being conducted by both graduate and undergraduate students in the [[Systems Laboratory]] in the [http://www.mscs.mu.edu/ Math, Statistics, &amp;amp; Computer Science] department of [http://www.mu.edu/ Marquette University] in Milwaukee, Wisconsin.  The first major phase of work on Embedded Xinu began in the Summer of 2006.&lt;br /&gt;
&lt;br /&gt;
Our project partners include [http://www.cse.buffalo.edu/~bina/ Dr. Bina Ramamurthy] at University of Buffalo (with whom we shared an [http://www.nsf.gov/pubs/2009/nsf09529/nsf09529.html NSF CCLI] grant), [http://cs.olemiss.edu/~ruth/wiki/doku.php Dr. Paul Ruth] at University of Mississippi, and [http://www.cs.purdue.edu/people/comer Dr. Doug Comer] (father of Xinu) at Purdue University.&lt;br /&gt;
&lt;br /&gt;
== Teaching With Embedded Xinu ==&lt;br /&gt;
&lt;br /&gt;
* Join us for the [http://www.cs.olemiss.edu/acmse2010/pdf/xinu.pdf Teaching With Embedded Xinu Workshop] at [http://www.cs.olemiss.edu/acmse2010/Home.htm ACMSE 2010] in Oxford, Mississippi (Ole Miss campus) April 15.  This workshop will share ready-made curriculum resources that have been used successfully to teach hardware systems, operating systems, realtime/embedded systems, networking, and compilers with the Embedded Xinu platform at several colleges/universities. Commodity wireless router hardware or equivalent virtual machines, combined with freely-available software and tools, make for a powerful and flexible learning platform without having to fake any components. Come see what Nexos has to offer for your program.&lt;br /&gt;
&lt;br /&gt;
* For curriculum guidance on adopting or adapting Embedded Xinu for undergraduate coursework, see [[Teaching With Xinu]].&lt;br /&gt;
&lt;br /&gt;
== Building an Embedded Xinu Laboratory ==&lt;br /&gt;
&lt;br /&gt;
In this section we are developing instructions so that other groups can benefit from the work we are doing.  These guides can be followed more or less in order to create a relatively inexpensive platform for a custom operating system.  As our work develops further, there will be more Xinu-specific information.&lt;br /&gt;
&lt;br /&gt;
# Obtain a [[List of supported platforms|supported platform]].&lt;br /&gt;
# [[HOWTO:Modify the Linksys hardware|Modify the Linksys hardware]] or [[HOWTO:Modify the ASUS hardware|Modify the ASUS hardware]]&lt;br /&gt;
# [[HOWTO:Connect to a modified router|Connect to a modified router]]&lt;br /&gt;
# [[HOWTO:Build Xinu|Build Xinu]]&lt;br /&gt;
# [[HOWTO:Deploy Xinu|Deploy Xinu]]&lt;br /&gt;
# (Optional) [[HOWTO:Build Backend Pool|Build a pool of backends]]&lt;br /&gt;
&lt;br /&gt;
== Other Embedded Xinu Information ==&lt;br /&gt;
&lt;br /&gt;
* MIPS [[processor]]&lt;br /&gt;
* Main [[memory]]&lt;br /&gt;
* [[Exception and Interrupt Handling]]&lt;br /&gt;
* [[UART driver]]&lt;br /&gt;
* [[TTY driver]]&lt;br /&gt;
* [[Switch driver]]&lt;br /&gt;
* [[Flash memory]]&lt;br /&gt;
* [[EJTAG|Enhanced Joint Test Action Group]] debugger&lt;br /&gt;
* [[Standard library]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;small&amp;gt;The Xinu Lab is brought to you in part by [[XMMS|M&amp;amp;M's]].&amp;lt;/small&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
--&amp;gt;__NOTOC__&amp;lt;!-- Disable &amp;quot;Contents&amp;quot; box from showing --&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;__NOEDITSECTION__&amp;lt;!-- Disable [edit] from appearing --&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3668</id>
		<title>HOWTO:Modify the ASUS hardware</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3668"/>
		<updated>2010-08-10T22:55:23Z</updated>

		<summary type="html">&lt;p&gt;Vblas: /* Task Two: Attach the Serial Header */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:HOWTO]]&lt;br /&gt;
== Summary ==&lt;br /&gt;
The purpose of this walk through is to explain how to add hardware to the ASUS wl-330gE router to take advantage of the serial port on the router and use it to communicate with the serial console for [[Xinu]]. This communication is important for interacting with the Common Firmware Environment's, or [[CFE]], command line interface which is necessary to run Xinu on the router.&lt;br /&gt;
&lt;br /&gt;
== Before Starting ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The following lists all the ''necessary'' parts. However, the following tutorial describes assembling the transceiver on one of our custom transceiver boards. One could assemble the parts of the entire transceiver properly without the board, but with more difficulty.  Our transceiver board design is freely available for public use.&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.ps Transceiver schematic] is in postscript format, suitable for [http://opencircuitdesign.com/xcircuit/ XCircuit].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.pcb Transceiver PCB layout] is in [http://pcb.sourceforge.net/ PCB format].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xainu/Xinu-Transceiver.tgz Transceiver fabrication tarball] contains Gerber photoplotter and CNC drill files suitable for professional fabrication.&lt;br /&gt;
(No warranty express or implied, obviously.)&lt;br /&gt;
&lt;br /&gt;
=== Parts List ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Part Name&lt;br /&gt;
! Details&lt;br /&gt;
! Part / Model Number&lt;br /&gt;
! Price&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| ASUS [[wl-330gE]] Router&lt;br /&gt;
| 802.11b/g wireless access point&lt;br /&gt;
| [http://usa.asus.com/ ASUS wl-330gE]&lt;br /&gt;
| ~$40.00&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 4 pin&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 5 pin&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC shrouded double header&lt;br /&gt;
| 0.1”, 10 conductor&lt;br /&gt;
| Jameco 67811CM&lt;br /&gt;
| $0.33&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ADM202 Transceiver Chip&lt;br /&gt;
| Serial Transceiver ADM202EAN&lt;br /&gt;
| Jameco 1800464&lt;br /&gt;
| $1.60&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Capacitor 220 nF&lt;br /&gt;
| Tantalum,.22uF,35V,10%&lt;br /&gt;
| Jameco 33507&lt;br /&gt;
| $0.18&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Capacitor 100 nF&lt;br /&gt;
| Tantalum,.1uF,35V,10%&lt;br /&gt;
| Jameco 33488&lt;br /&gt;
| $0.22&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DB9 Female&lt;br /&gt;
| 22AWG,SOLDER CUP&lt;br /&gt;
| Jameco 15771CM&lt;br /&gt;
| $0.59&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(We provide this parts list as a data point; we offer no guarantees about current prices, and it is not our intent to endorse any particular vendor.)&lt;br /&gt;
&lt;br /&gt;
=== Tools List ===&lt;br /&gt;
* Soldering Iron&lt;br /&gt;
* Dremel tool (for cutting holes in plastic case)&lt;br /&gt;
* Continuity Tester (Multimeter, or some other way of checking for proper connections)&lt;br /&gt;
* Voltmeter (Multimeter will work for this, too)&lt;br /&gt;
&lt;br /&gt;
== Steps to Modify the Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Task One: Open the Router ===&lt;br /&gt;
&lt;br /&gt;
Using a screwdriver, remove the two nails located underneath the router and getnly remove the top of the router from the bottom, revealing the PCB.&lt;br /&gt;
&lt;br /&gt;
'''DO NOTE: This is where the warranty on the router is voided!'''&lt;br /&gt;
&lt;br /&gt;
=== Task Two: Attach the Serial Header ===&lt;br /&gt;
&lt;br /&gt;
The PCB is easily removable at this state from the router. Located in the center of the PCB is the Broadcom BCM535 chip. Above the chip are four holes that are aligned vertically. The four holes represent the input and output for the serial interface, along with the 3.3 volt power and ground sources for the serial port.&lt;br /&gt;
&lt;br /&gt;
For easier connectivity, we can use a 4-pin header on the board to easily attach and detach a 4 connection cable. Use a soldering iron to solder the 4-pin header onto the board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Three: Create space for access to serial port on the router &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using a dremel, carefully cut out a rectangular shaped hole on the faceplate of the router. The hole should be cut above the words “Portable” and it should be 3 mm wide and 1 cm in height, or enough to see the serial port through the hole. This will be used for a 4-wired cable to attach the router to the transceiver board, detailed in step seven. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Four: Creating the ADM202 Transceiver Circuit Board &amp;lt;/h3&amp;gt;&lt;br /&gt;
[[Image:Transceiver_schematic_wl-330gE.JPG|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
[[Image:Transceiver board.jpg|thumb|150px|right|Blank transceiver board before adding components.]]&lt;br /&gt;
[[Image:Complete transceiver board.jpg|thumb|150px|right|Transceiver board with all components in place except ribbon cables.]]&lt;br /&gt;
&lt;br /&gt;
A transceiver circuit is needed to convert the 3.3 volt serial signals from the router to conventional RS-232 serial voltages. To do this, we need a small square of “perf board”, or other circuit prototyping techniques. A soldering iron needs to be used to solder the components onto the board.&lt;br /&gt;
&lt;br /&gt;
Solder the shrouded double header, the socket, and the capacitors onto the board. The direction of the pins matter due to their polarity.&lt;br /&gt;
 &lt;br /&gt;
Once the components have been placed on the board, use a continuity tester to check the connection between header soldered into the router's board and the socket on the transceiver board. Now the ADM202 chip can be inserted onto the board. Next, wires need to be soldered onto bottom of the transceiver board. Since this router only has one transceiver board, only three of the holes need wires. Under the J2 label, solder wires into the two left most holes. Under the J1 label, which is under the chip, solder a wire on the right most hole. &lt;br /&gt;
(insert transceiver board diagram and transceiver board pictures)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Five: Attach Transceiver Board to the Router&amp;lt;/h3&amp;gt;&lt;br /&gt;
The easiest way to accomplish this is to use an 4-wire audio cable between the router's serial header and the shrouded double header on the transceiver board. Using the 4-pin header on the router, connect the four wires from the audio cable into the 4-pin header. On the transceiver board, follow the diagram to match the corresponding cables on the shrouded double header, but using a 5-pin serial header to easily attack to the shrouded double header.&lt;br /&gt;
[[Image:Serial_Port_Connection.JPG|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
&lt;br /&gt;
=== Task Six: Attach Transceiver Board to DB9 Serial Ports ===&lt;br /&gt;
Since the router is very small, it will not have space to place the DB9 Serial Port. Therefore, a small container needs to be created to encase all of the components. This will be discussed in step seven. &lt;br /&gt;
Take the three wires from the transceiver board and attach them to the DB9 female according to the diagram. (picture here). Make sure that the solder cups 1, 4, and 6 are connected to each other and solder cups 7 and 8 are connected to each other in the DB9 Female serial port. Notice that in the case of the DB9 Female the T1OUT pin of the ADM202 transceiver chip needs to be connected to solder cup 2, the R1IN pin of the ADM202 transceiver chip needs to be connected to solder cup 3, and the ground needs to be connected to solder cup 5. &lt;br /&gt;
&lt;br /&gt;
Now you can use a continuity tester to make sure that all the connections are good and that no wires or solder cups are touching. The router should be placed back it its case, and the box keeping all the components together should separate the router from the transceiver board. It will be very bad if the circuit board and the transceiver board were to touch.&lt;br /&gt;
&lt;br /&gt;
=== Task Seven: Creating a box case for the component ===&lt;br /&gt;
The ASUS router is small, but because of this, there is no space for the DB9 female serial port, the adaptor, the relay, and the transceiver board. Because of this, a box is needed to enclose all of these components together. The box should have holes cut out for the DB9 female serial port, the power adapter and the Ethernet port. Also, a small barrier needs to be placed between the transceiver board and the relay so they do not meet. The PCB can be safely placed inside the ASUS router case.&lt;br /&gt;
&lt;br /&gt;
== What to do next? ==&lt;br /&gt;
&lt;br /&gt;
Connect UART0 (the DB9 Female serial port) to a computer and follow the next HOWTO on using a PC to [[HOWTO:Connect to a modified router|connect to a modified router]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
''This work is supported in part by NSF grant DUE-CCLI-0737476.''&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3667</id>
		<title>HOWTO:Modify the ASUS hardware</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3667"/>
		<updated>2010-08-10T22:54:35Z</updated>

		<summary type="html">&lt;p&gt;Vblas: /* Task Two: Attach the Serial Header */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:HOWTO]]&lt;br /&gt;
== Summary ==&lt;br /&gt;
The purpose of this walk through is to explain how to add hardware to the ASUS wl-330gE router to take advantage of the serial port on the router and use it to communicate with the serial console for [[Xinu]]. This communication is important for interacting with the Common Firmware Environment's, or [[CFE]], command line interface which is necessary to run Xinu on the router.&lt;br /&gt;
&lt;br /&gt;
== Before Starting ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The following lists all the ''necessary'' parts. However, the following tutorial describes assembling the transceiver on one of our custom transceiver boards. One could assemble the parts of the entire transceiver properly without the board, but with more difficulty.  Our transceiver board design is freely available for public use.&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.ps Transceiver schematic] is in postscript format, suitable for [http://opencircuitdesign.com/xcircuit/ XCircuit].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.pcb Transceiver PCB layout] is in [http://pcb.sourceforge.net/ PCB format].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xainu/Xinu-Transceiver.tgz Transceiver fabrication tarball] contains Gerber photoplotter and CNC drill files suitable for professional fabrication.&lt;br /&gt;
(No warranty express or implied, obviously.)&lt;br /&gt;
&lt;br /&gt;
=== Parts List ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Part Name&lt;br /&gt;
! Details&lt;br /&gt;
! Part / Model Number&lt;br /&gt;
! Price&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| ASUS [[wl-330gE]] Router&lt;br /&gt;
| 802.11b/g wireless access point&lt;br /&gt;
| [http://usa.asus.com/ ASUS wl-330gE]&lt;br /&gt;
| ~$40.00&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 4 pin&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 5 pin&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC shrouded double header&lt;br /&gt;
| 0.1”, 10 conductor&lt;br /&gt;
| Jameco 67811CM&lt;br /&gt;
| $0.33&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ADM202 Transceiver Chip&lt;br /&gt;
| Serial Transceiver ADM202EAN&lt;br /&gt;
| Jameco 1800464&lt;br /&gt;
| $1.60&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Capacitor 220 nF&lt;br /&gt;
| Tantalum,.22uF,35V,10%&lt;br /&gt;
| Jameco 33507&lt;br /&gt;
| $0.18&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Capacitor 100 nF&lt;br /&gt;
| Tantalum,.1uF,35V,10%&lt;br /&gt;
| Jameco 33488&lt;br /&gt;
| $0.22&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DB9 Female&lt;br /&gt;
| 22AWG,SOLDER CUP&lt;br /&gt;
| Jameco 15771CM&lt;br /&gt;
| $0.59&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(We provide this parts list as a data point; we offer no guarantees about current prices, and it is not our intent to endorse any particular vendor.)&lt;br /&gt;
&lt;br /&gt;
=== Tools List ===&lt;br /&gt;
* Soldering Iron&lt;br /&gt;
* Dremel tool (for cutting holes in plastic case)&lt;br /&gt;
* Continuity Tester (Multimeter, or some other way of checking for proper connections)&lt;br /&gt;
* Voltmeter (Multimeter will work for this, too)&lt;br /&gt;
&lt;br /&gt;
== Steps to Modify the Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Task One: Open the Router ===&lt;br /&gt;
&lt;br /&gt;
Using a screwdriver, remove the two nails located underneath the router and getnly remove the top of the router from the bottom, revealing the PCB.&lt;br /&gt;
&lt;br /&gt;
'''DO NOTE: This is where the warranty on the router is voided!'''&lt;br /&gt;
&lt;br /&gt;
=== Task Two: Attach the Serial Header ===&lt;br /&gt;
&lt;br /&gt;
The PCB is easily removable at this state from the router. Located in the center of the PCB is the Broadcom BCM535 chip. Above the chip are four holes that are aligned vertically. The four holes represent the input and output for the serial interface, along with the 3.3 volt power and ground sources for the serial port.&lt;br /&gt;
&lt;br /&gt;
For easier connectivity, we can use a 4-pin header on the board to easily attach and detach a 4 connection cable. Use a soldering iron to solder the 4-pin header onto the board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Three: Create space for access to serial port on the router &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using a dremel, carefully cut out a rectangular shaped hole on the faceplate of the router. The hole should be cut above the words “Portable” and it should be 3 mm wide and 1 cm in height, or enough to see the serial port through the hole. This will be used for a 4-wired cable to attach the router to the transceiver board, detailed in step seven. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Four: Creating the ADM202 Transceiver Circuit Board &amp;lt;/h3&amp;gt;&lt;br /&gt;
[[Image:Transceiver_schematic_wl-330gE.JPG|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
[[Image:Transceiver board.jpg|thumb|150px|right|Blank transceiver board before adding components.]]&lt;br /&gt;
[[Image:Complete transceiver board.jpg|thumb|150px|right|Transceiver board with all components in place except ribbon cables.]]&lt;br /&gt;
&lt;br /&gt;
A transceiver circuit is needed to convert the 3.3 volt serial signals from the router to conventional RS-232 serial voltages. To do this, we need a small square of “perf board”, or other circuit prototyping techniques. A soldering iron needs to be used to solder the components onto the board.&lt;br /&gt;
&lt;br /&gt;
Solder the shrouded double header, the socket, and the capacitors onto the board. The direction of the pins matter due to their polarity.&lt;br /&gt;
 &lt;br /&gt;
Once the components have been placed on the board, use a continuity tester to check the connection between header soldered into the router's board and the socket on the transceiver board. Now the ADM202 chip can be inserted onto the board. Next, wires need to be soldered onto bottom of the transceiver board. Since this router only has one transceiver board, only three of the holes need wires. Under the J2 label, solder wires into the two left most holes. Under the J1 label, which is under the chip, solder a wire on the right most hole. &lt;br /&gt;
(insert transceiver board diagram and transceiver board pictures)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Five: Attach Transceiver Board to the Router&amp;lt;/h3&amp;gt;&lt;br /&gt;
The easiest way to accomplish this is to use an 4-wire audio cable between the router's serial header and the shrouded double header on the transceiver board. Using the 4-pin header on the router, connect the four wires from the audio cable into the 4-pin header. On the transceiver board, follow the diagram to match the corresponding cables on the shrouded double header, but using a 5-pin serial header to easily attack to the shrouded double header.&lt;br /&gt;
[[Image:Transceiver_schematic_wl-330gE.JPG|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
&lt;br /&gt;
=== Task Six: Attach Transceiver Board to DB9 Serial Ports ===&lt;br /&gt;
Since the router is very small, it will not have space to place the DB9 Serial Port. Therefore, a small container needs to be created to encase all of the components. This will be discussed in step seven. &lt;br /&gt;
Take the three wires from the transceiver board and attach them to the DB9 female according to the diagram. (picture here). Make sure that the solder cups 1, 4, and 6 are connected to each other and solder cups 7 and 8 are connected to each other in the DB9 Female serial port. Notice that in the case of the DB9 Female the T1OUT pin of the ADM202 transceiver chip needs to be connected to solder cup 2, the R1IN pin of the ADM202 transceiver chip needs to be connected to solder cup 3, and the ground needs to be connected to solder cup 5. &lt;br /&gt;
&lt;br /&gt;
Now you can use a continuity tester to make sure that all the connections are good and that no wires or solder cups are touching. The router should be placed back it its case, and the box keeping all the components together should separate the router from the transceiver board. It will be very bad if the circuit board and the transceiver board were to touch.&lt;br /&gt;
&lt;br /&gt;
=== Task Seven: Creating a box case for the component ===&lt;br /&gt;
The ASUS router is small, but because of this, there is no space for the DB9 female serial port, the adaptor, the relay, and the transceiver board. Because of this, a box is needed to enclose all of these components together. The box should have holes cut out for the DB9 female serial port, the power adapter and the Ethernet port. Also, a small barrier needs to be placed between the transceiver board and the relay so they do not meet. The PCB can be safely placed inside the ASUS router case.&lt;br /&gt;
&lt;br /&gt;
== What to do next? ==&lt;br /&gt;
&lt;br /&gt;
Connect UART0 (the DB9 Female serial port) to a computer and follow the next HOWTO on using a PC to [[HOWTO:Connect to a modified router|connect to a modified router]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
''This work is supported in part by NSF grant DUE-CCLI-0737476.''&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3666</id>
		<title>HOWTO:Modify the ASUS hardware</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3666"/>
		<updated>2010-08-10T21:28:34Z</updated>

		<summary type="html">&lt;p&gt;Vblas: /* Task Two: Attach the Serial Header */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:HOWTO]]&lt;br /&gt;
== Summary ==&lt;br /&gt;
The purpose of this walk through is to explain how to add hardware to the ASUS wl-330gE router to take advantage of the serial port on the router and use it to communicate with the serial console for [[Xinu]]. This communication is important for interacting with the Common Firmware Environment's, or [[CFE]], command line interface which is necessary to run Xinu on the router.&lt;br /&gt;
&lt;br /&gt;
== Before Starting ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The following lists all the ''necessary'' parts. However, the following tutorial describes assembling the transceiver on one of our custom transceiver boards. One could assemble the parts of the entire transceiver properly without the board, but with more difficulty.  Our transceiver board design is freely available for public use.&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.ps Transceiver schematic] is in postscript format, suitable for [http://opencircuitdesign.com/xcircuit/ XCircuit].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.pcb Transceiver PCB layout] is in [http://pcb.sourceforge.net/ PCB format].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xainu/Xinu-Transceiver.tgz Transceiver fabrication tarball] contains Gerber photoplotter and CNC drill files suitable for professional fabrication.&lt;br /&gt;
(No warranty express or implied, obviously.)&lt;br /&gt;
&lt;br /&gt;
=== Parts List ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Part Name&lt;br /&gt;
! Details&lt;br /&gt;
! Part / Model Number&lt;br /&gt;
! Price&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| ASUS [[wl-330gE]] Router&lt;br /&gt;
| 802.11b/g wireless access point&lt;br /&gt;
| [http://usa.asus.com/ ASUS wl-330gE]&lt;br /&gt;
| ~$40.00&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 4 pin&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 5 pin&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC shrouded double header&lt;br /&gt;
| 0.1”, 10 conductor&lt;br /&gt;
| Jameco 67811CM&lt;br /&gt;
| $0.33&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ADM202 Transceiver Chip&lt;br /&gt;
| Serial Transceiver ADM202EAN&lt;br /&gt;
| Jameco 1800464&lt;br /&gt;
| $1.60&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Capacitor 220 nF&lt;br /&gt;
| Tantalum,.22uF,35V,10%&lt;br /&gt;
| Jameco 33507&lt;br /&gt;
| $0.18&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Capacitor 100 nF&lt;br /&gt;
| Tantalum,.1uF,35V,10%&lt;br /&gt;
| Jameco 33488&lt;br /&gt;
| $0.22&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DB9 Female&lt;br /&gt;
| 22AWG,SOLDER CUP&lt;br /&gt;
| Jameco 15771CM&lt;br /&gt;
| $0.59&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(We provide this parts list as a data point; we offer no guarantees about current prices, and it is not our intent to endorse any particular vendor.)&lt;br /&gt;
&lt;br /&gt;
=== Tools List ===&lt;br /&gt;
* Soldering Iron&lt;br /&gt;
* Dremel tool (for cutting holes in plastic case)&lt;br /&gt;
* Continuity Tester (Multimeter, or some other way of checking for proper connections)&lt;br /&gt;
* Voltmeter (Multimeter will work for this, too)&lt;br /&gt;
&lt;br /&gt;
== Steps to Modify the Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Task One: Open the Router ===&lt;br /&gt;
&lt;br /&gt;
Using a screwdriver, remove the two nails located underneath the router and getnly remove the top of the router from the bottom, revealing the PCB.&lt;br /&gt;
&lt;br /&gt;
'''DO NOTE: This is where the warranty on the router is voided!'''&lt;br /&gt;
&lt;br /&gt;
=== Task Two: Attach the Serial Header ===&lt;br /&gt;
&lt;br /&gt;
The PCB is easily removable at this state from the router. Located in the center of the PCB is the Broadcom BCM535 chip. Above the chip are four holes that are aligned vertically. The four holes represent the input and output for the serial interface, along with the 3.3 volt power and ground sources for the serial port.&lt;br /&gt;
&lt;br /&gt;
For easier connectivity, we can use a 4-pin header on the board to easily attach and detach a 4 connection cable. Use a soldering iron to solder the 4-pin header onto the board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Three: Create space for access to serial port on the router &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using a dremel, carefully cut out a rectangular shaped hole on the faceplate of the router. The hole should be cut above the words “Portable” and it should be 3 mm wide and 1 cm in height, or enough to see the serial port through the hole. This will be used for a 4-wired cable to attach the router to the transceiver board, detailed in step seven. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Four: Creating the ADM202 Transceiver Circuit Board &amp;lt;/h3&amp;gt;&lt;br /&gt;
[[Image:Transceiver_schematic_wl-330gE.JPG|thumb|400px|left|Schematic showing the connections between the components of the ADM202 transceiver circuit board and between the board and the DB9 serial port.]]&lt;br /&gt;
[[Image:Transceiver board.jpg|thumb|150px|right|Blank transceiver board before adding components.]]&lt;br /&gt;
[[Image:Complete transceiver board.jpg|thumb|150px|right|Transceiver board with all components in place except ribbon cables.]]&lt;br /&gt;
&lt;br /&gt;
A transceiver circuit is needed to convert the 3.3 volt serial signals from the router to conventional RS-232 serial voltages. To do this, we need a small square of “perf board”, or other circuit prototyping techniques. A soldering iron needs to be used to solder the components onto the board.&lt;br /&gt;
&lt;br /&gt;
Solder the shrouded double header, the socket, and the capacitors onto the board. The direction of the pins matter due to their polarity.&lt;br /&gt;
 &lt;br /&gt;
Once the components have been placed on the board, use a continuity tester to check the connection between header soldered into the router's board and the socket on the transceiver board. Now the ADM202 chip can be inserted onto the board. Next, wires need to be soldered onto bottom of the transceiver board. Since this router only has one transceiver board, only three of the holes need wires. Under the J2 label, solder wires into the two left most holes. Under the J1 label, which is under the chip, solder a wire on the right most hole. &lt;br /&gt;
(insert transceiver board diagram and transceiver board pictures)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Five: Attach Transceiver Board to the Router&amp;lt;/h3&amp;gt;&lt;br /&gt;
The easiest way to accomplish this is to use an 4-wire audio cable between the router's serial header and the shrouded double header on the transceiver board. Using the 4-pin header on the router, connect the four wires from the audio cable into the 4-pin header. On the transceiver board, follow the diagram to match the corresponding cables on the shrouded double header, but using a 5-pin serial header to easily attack to the shrouded double header.&lt;br /&gt;
(diagram)&lt;br /&gt;
&lt;br /&gt;
=== Task Six: Attach Transceiver Board to DB9 Serial Ports ===&lt;br /&gt;
Since the router is very small, it will not have space to place the DB9 Serial Port. Therefore, a small container needs to be created to encase all of the components. This will be discussed in step seven. &lt;br /&gt;
Take the three wires from the transceiver board and attach them to the DB9 female according to the diagram. (picture here). Make sure that the solder cups 1, 4, and 6 are connected to each other and solder cups 7 and 8 are connected to each other in the DB9 Female serial port. Notice that in the case of the DB9 Female the T1OUT pin of the ADM202 transceiver chip needs to be connected to solder cup 2, the R1IN pin of the ADM202 transceiver chip needs to be connected to solder cup 3, and the ground needs to be connected to solder cup 5. &lt;br /&gt;
&lt;br /&gt;
Now you can use a continuity tester to make sure that all the connections are good and that no wires or solder cups are touching. The router should be placed back it its case, and the box keeping all the components together should separate the router from the transceiver board. It will be very bad if the circuit board and the transceiver board were to touch.&lt;br /&gt;
&lt;br /&gt;
=== Task Seven: Creating a box case for the component ===&lt;br /&gt;
The ASUS router is small, but because of this, there is no space for the DB9 female serial port, the adaptor, the relay, and the transceiver board. Because of this, a box is needed to enclose all of these components together. The box should have holes cut out for the DB9 female serial port, the power adapter and the Ethernet port. Also, a small barrier needs to be placed between the transceiver board and the relay so they do not meet. The PCB can be safely placed inside the ASUS router case.&lt;br /&gt;
&lt;br /&gt;
== What to do next? ==&lt;br /&gt;
&lt;br /&gt;
Connect UART0 (the DB9 Female serial port) to a computer and follow the next HOWTO on using a PC to [[HOWTO:Connect to a modified router|connect to a modified router]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
''This work is supported in part by NSF grant DUE-CCLI-0737476.''&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=File:Transceiver_schematic_wl-330gE.JPG&amp;diff=3665</id>
		<title>File:Transceiver schematic wl-330gE.JPG</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=File:Transceiver_schematic_wl-330gE.JPG&amp;diff=3665"/>
		<updated>2010-08-10T21:14:12Z</updated>

		<summary type="html">&lt;p&gt;Vblas: Transceiver Board Schematic for the ASUS wl-330gE, using Adam Mallen's design.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Transceiver Board Schematic for the ASUS wl-330gE, using Adam Mallen's design.&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=File:Serial_Port_Connection.jpeg&amp;diff=3664</id>
		<title>File:Serial Port Connection.jpeg</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=File:Serial_Port_Connection.jpeg&amp;diff=3664"/>
		<updated>2010-08-10T21:10:38Z</updated>

		<summary type="html">&lt;p&gt;Vblas: Serial Port Connection for the ASUS wl-330gE.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Serial Port Connection for the ASUS wl-330gE.&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=File:DB9_serial_port_wiring.jpeg&amp;diff=3663</id>
		<title>File:DB9 serial port wiring.jpeg</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=File:DB9_serial_port_wiring.jpeg&amp;diff=3663"/>
		<updated>2010-08-10T21:08:15Z</updated>

		<summary type="html">&lt;p&gt;Vblas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DB9 Serial Port Wiring for the ASUS wl-330gE router. Edited from Adam Mallen's design.&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=File:DB9_serial_port_wiring.jpeg&amp;diff=3662</id>
		<title>File:DB9 serial port wiring.jpeg</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=File:DB9_serial_port_wiring.jpeg&amp;diff=3662"/>
		<updated>2010-08-10T21:07:57Z</updated>

		<summary type="html">&lt;p&gt;Vblas: DB9 Serial Port Wiring for the ASUS wl-330gE router. Edited from Adam Mallen's desing.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DB9 Serial Port Wiring for the ASUS wl-330gE router. Edited from Adam Mallen's desing.&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3661</id>
		<title>HOWTO:Modify the ASUS hardware</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3661"/>
		<updated>2010-08-10T21:03:37Z</updated>

		<summary type="html">&lt;p&gt;Vblas: /* Parts List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:HOWTO]]&lt;br /&gt;
== Summary ==&lt;br /&gt;
The purpose of this walk through is to explain how to add hardware to the ASUS wl-330gE router to take advantage of the serial port on the router and use it to communicate with the serial console for [[Xinu]]. This communication is important for interacting with the Common Firmware Environment's, or [[CFE]], command line interface which is necessary to run Xinu on the router.&lt;br /&gt;
&lt;br /&gt;
== Before Starting ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The following lists all the ''necessary'' parts. However, the following tutorial describes assembling the transceiver on one of our custom transceiver boards. One could assemble the parts of the entire transceiver properly without the board, but with more difficulty.  Our transceiver board design is freely available for public use.&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.ps Transceiver schematic] is in postscript format, suitable for [http://opencircuitdesign.com/xcircuit/ XCircuit].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.pcb Transceiver PCB layout] is in [http://pcb.sourceforge.net/ PCB format].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xainu/Xinu-Transceiver.tgz Transceiver fabrication tarball] contains Gerber photoplotter and CNC drill files suitable for professional fabrication.&lt;br /&gt;
(No warranty express or implied, obviously.)&lt;br /&gt;
&lt;br /&gt;
=== Parts List ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Part Name&lt;br /&gt;
! Details&lt;br /&gt;
! Part / Model Number&lt;br /&gt;
! Price&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| ASUS [[wl-330gE]] Router&lt;br /&gt;
| 802.11b/g wireless access point&lt;br /&gt;
| [http://usa.asus.com/ ASUS wl-330gE]&lt;br /&gt;
| ~$40.00&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 4 pin&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 5 pin&lt;br /&gt;
| Jameco  &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| IDC shrouded double header&lt;br /&gt;
| 0.1”, 10 conductor&lt;br /&gt;
| Jameco 67811CM&lt;br /&gt;
| $0.33&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ADM202 Transceiver Chip&lt;br /&gt;
| Serial Transceiver ADM202EAN&lt;br /&gt;
| Jameco 1800464&lt;br /&gt;
| $1.60&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Capacitor 220 nF&lt;br /&gt;
| Tantalum,.22uF,35V,10%&lt;br /&gt;
| Jameco 33507&lt;br /&gt;
| $0.18&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Capacitor 100 nF&lt;br /&gt;
| Tantalum,.1uF,35V,10%&lt;br /&gt;
| Jameco 33488&lt;br /&gt;
| $0.22&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DB9 Female&lt;br /&gt;
| 22AWG,SOLDER CUP&lt;br /&gt;
| Jameco 15771CM&lt;br /&gt;
| $0.59&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(We provide this parts list as a data point; we offer no guarantees about current prices, and it is not our intent to endorse any particular vendor.)&lt;br /&gt;
&lt;br /&gt;
=== Tools List ===&lt;br /&gt;
* Soldering Iron&lt;br /&gt;
* Dremel tool (for cutting holes in plastic case)&lt;br /&gt;
* Continuity Tester (Multimeter, or some other way of checking for proper connections)&lt;br /&gt;
* Voltmeter (Multimeter will work for this, too)&lt;br /&gt;
&lt;br /&gt;
== Steps to Modify the Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Task One: Open the Router ===&lt;br /&gt;
&lt;br /&gt;
Using a screwdriver, remove the two nails located underneath the router and getnly remove the top of the router from the bottom, revealing the PCB.&lt;br /&gt;
&lt;br /&gt;
'''DO NOTE: This is where the warranty on the router is voided!'''&lt;br /&gt;
&lt;br /&gt;
=== Task Two: Attach the Serial Header ===&lt;br /&gt;
&lt;br /&gt;
The PCB is easily removable at this state from the router. Located in the center of the PCB is the Broadcom BCM535 chip. Above the chip are four holes that are aligned vertically. The four holes represent the input and output for the serial interface, along with the 3.3 volt power and ground sources for the serial port.&lt;br /&gt;
&lt;br /&gt;
For easier connectivity, we can use a 4-pin header on the board to easily attach and detach a 4 connection cable. Use a soldering iron to solder the 4-pin header onto the board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Three: Create space for access to serial port on the router &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using a dremel, carefully cut out a rectangular shaped hole on the faceplate of the router. The hole should be cut above the words “Portable” and it should be 3 mm wide and 1 cm in height, or enough to see the serial port through the hole. This will be used for a 4-wired cable to attach the router to the transceiver board, detailed in step seven. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Four: Creating the ADM202 Transceiver Circuit Board &amp;lt;/h3&amp;gt;&lt;br /&gt;
A transceiver circuit is needed to convert the 3.3 volt serial signals from the router to conventional RS-232 serial voltages. To do this, we need a small square of “perf board”, or other circuit prototyping techniques. A soldering iron needs to be used to solder the components onto the board.&lt;br /&gt;
&lt;br /&gt;
Solder the shrouded double header, the socket, and the capacitors onto the board. The direction of the pins matter due to their polarity.&lt;br /&gt;
 &lt;br /&gt;
Once the components have been placed on the board, use a continuity tester to check the connection between header soldered into the router's board and the socket on the transceiver board. Now the ADM202 chip can be inserted onto the board. Next, wires need to be soldered onto bottom of the transceiver board. Since this router only has one transceiver board, only three of the holes need wires. Under the J2 label, solder wires into the two left most holes. Under the J1 label, which is under the chip, solder a wire on the right most hole. &lt;br /&gt;
(insert transceiver board diagram and transceiver board pictures)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Five: Attach Transceiver Board to the Router&amp;lt;/h3&amp;gt;&lt;br /&gt;
The easiest way to accomplish this is to use an 4-wire audio cable between the router's serial header and the shrouded double header on the transceiver board. Using the 4-pin header on the router, connect the four wires from the audio cable into the 4-pin header. On the transceiver board, follow the diagram to match the corresponding cables on the shrouded double header, but using a 5-pin serial header to easily attack to the shrouded double header.&lt;br /&gt;
(diagram)&lt;br /&gt;
&lt;br /&gt;
=== Task Six: Attach Transceiver Board to DB9 Serial Ports ===&lt;br /&gt;
Since the router is very small, it will not have space to place the DB9 Serial Port. Therefore, a small container needs to be created to encase all of the components. This will be discussed in step seven. &lt;br /&gt;
Take the three wires from the transceiver board and attach them to the DB9 female according to the diagram. (picture here). Make sure that the solder cups 1, 4, and 6 are connected to each other and solder cups 7 and 8 are connected to each other in the DB9 Female serial port. Notice that in the case of the DB9 Female the T1OUT pin of the ADM202 transceiver chip needs to be connected to solder cup 2, the R1IN pin of the ADM202 transceiver chip needs to be connected to solder cup 3, and the ground needs to be connected to solder cup 5. &lt;br /&gt;
&lt;br /&gt;
Now you can use a continuity tester to make sure that all the connections are good and that no wires or solder cups are touching. The router should be placed back it its case, and the box keeping all the components together should separate the router from the transceiver board. It will be very bad if the circuit board and the transceiver board were to touch.&lt;br /&gt;
&lt;br /&gt;
=== Task Seven: Creating a box case for the component ===&lt;br /&gt;
The ASUS router is small, but because of this, there is no space for the DB9 female serial port, the adaptor, the relay, and the transceiver board. Because of this, a box is needed to enclose all of these components together. The box should have holes cut out for the DB9 female serial port, the power adapter and the Ethernet port. Also, a small barrier needs to be placed between the transceiver board and the relay so they do not meet. The PCB can be safely placed inside the ASUS router case.&lt;br /&gt;
&lt;br /&gt;
== What to do next? ==&lt;br /&gt;
&lt;br /&gt;
Connect UART0 (the DB9 Female serial port) to a computer and follow the next HOWTO on using a PC to [[HOWTO:Connect to a modified router|connect to a modified router]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
''This work is supported in part by NSF grant DUE-CCLI-0737476.''&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3660</id>
		<title>HOWTO:Modify the ASUS hardware</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3660"/>
		<updated>2010-08-10T20:41:19Z</updated>

		<summary type="html">&lt;p&gt;Vblas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:HOWTO]]&lt;br /&gt;
== Summary ==&lt;br /&gt;
The purpose of this walk through is to explain how to add hardware to the ASUS wl-330gE router to take advantage of the serial port on the router and use it to communicate with the serial console for [[Xinu]]. This communication is important for interacting with the Common Firmware Environment's, or [[CFE]], command line interface which is necessary to run Xinu on the router.&lt;br /&gt;
&lt;br /&gt;
== Before Starting ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The following lists all the ''necessary'' parts. However, the following tutorial describes assembling the transceiver on one of our custom transceiver boards. One could assemble the parts of the entire transceiver properly without the board, but with more difficulty.  Our transceiver board design is freely available for public use.&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.ps Transceiver schematic] is in postscript format, suitable for [http://opencircuitdesign.com/xcircuit/ XCircuit].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.pcb Transceiver PCB layout] is in [http://pcb.sourceforge.net/ PCB format].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xainu/Xinu-Transceiver.tgz Transceiver fabrication tarball] contains Gerber photoplotter and CNC drill files suitable for professional fabrication.&lt;br /&gt;
(No warranty express or implied, obviously.)&lt;br /&gt;
&lt;br /&gt;
=== Parts List ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Part Name&lt;br /&gt;
! Details&lt;br /&gt;
! Part / Model Number&lt;br /&gt;
! Price&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| Linksys [[WRT54GL]] Router&lt;br /&gt;
| 802.11b/g wireless broadband router&lt;br /&gt;
| [http://www.linksys.com/servlet/Satellite?c=L_Product_C2&amp;amp;childpagename=US%2FLayout&amp;amp;cid=1133202177241&amp;amp;pagename=Linksys%2FCommon%2FVisitorWrapper Linksys WRT54GL]&lt;br /&gt;
| ~$65.00&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Ribbon cable&lt;br /&gt;
| 28 AWG, 10 conductor, 25'&lt;br /&gt;
| Jameco  643508CM&lt;br /&gt;
| $4.99&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 0.1”, 10 conductor &lt;br /&gt;
| Jameco  32491CM&lt;br /&gt;
| $0.25&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| IDC shrouded double header&lt;br /&gt;
| 0.1”, 10 conductor&lt;br /&gt;
| Jameco 67811CM&lt;br /&gt;
| $0.33&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ADM202 Transceiver Chip&lt;br /&gt;
| Serial Transceiver ADM202EAN&lt;br /&gt;
| Jameco 1800464&lt;br /&gt;
| $1.60&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Capacitor 220 nF&lt;br /&gt;
| Tantalum,.22uF,35V,10%&lt;br /&gt;
| Jameco 33507&lt;br /&gt;
| $0.18&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Capacitor 100 nF&lt;br /&gt;
| Tantalum,.1uF,35V,10%&lt;br /&gt;
| Jameco 33488&lt;br /&gt;
| $0.22&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DB9 Female&lt;br /&gt;
| 22AWG,SOLDER CUP&lt;br /&gt;
| Jameco 15771CM&lt;br /&gt;
| $0.59&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DB9 Male&lt;br /&gt;
| 22AWG,SOLDER CUP&lt;br /&gt;
| Jameco 15747CM&lt;br /&gt;
| $0.59&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(We provide this parts list as a data point; we offer no guarantees about current prices, and it is not our intent to endorse any particular vendor.)&lt;br /&gt;
&lt;br /&gt;
=== Tools List ===&lt;br /&gt;
* Soldering Iron&lt;br /&gt;
* Dremel tool (for cutting holes in plastic case)&lt;br /&gt;
* Continuity Tester (Multimeter, or some other way of checking for proper connections)&lt;br /&gt;
* Voltmeter (Multimeter will work for this, too)&lt;br /&gt;
&lt;br /&gt;
== Steps to Modify the Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Task One: Open the Router ===&lt;br /&gt;
&lt;br /&gt;
Using a screwdriver, remove the two nails located underneath the router and getnly remove the top of the router from the bottom, revealing the PCB.&lt;br /&gt;
&lt;br /&gt;
'''DO NOTE: This is where the warranty on the router is voided!'''&lt;br /&gt;
&lt;br /&gt;
=== Task Two: Attach the Serial Header ===&lt;br /&gt;
&lt;br /&gt;
The PCB is easily removable at this state from the router. Located in the center of the PCB is the Broadcom BCM535 chip. Above the chip are four holes that are aligned vertically. The four holes represent the input and output for the serial interface, along with the 3.3 volt power and ground sources for the serial port.&lt;br /&gt;
&lt;br /&gt;
For easier connectivity, we can use a 4-pin header on the board to easily attach and detach a 4 connection cable. Use a soldering iron to solder the 4-pin header onto the board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Three: Create space for access to serial port on the router &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using a dremel, carefully cut out a rectangular shaped hole on the faceplate of the router. The hole should be cut above the words “Portable” and it should be 3 mm wide and 1 cm in height, or enough to see the serial port through the hole. This will be used for a 4-wired cable to attach the router to the transceiver board, detailed in step seven. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Four: Creating the ADM202 Transceiver Circuit Board &amp;lt;/h3&amp;gt;&lt;br /&gt;
A transceiver circuit is needed to convert the 3.3 volt serial signals from the router to conventional RS-232 serial voltages. To do this, we need a small square of “perf board”, or other circuit prototyping techniques. A soldering iron needs to be used to solder the components onto the board.&lt;br /&gt;
&lt;br /&gt;
Solder the shrouded double header, the socket, and the capacitors onto the board. The direction of the pins matter due to their polarity.&lt;br /&gt;
 &lt;br /&gt;
Once the components have been placed on the board, use a continuity tester to check the connection between header soldered into the router's board and the socket on the transceiver board. Now the ADM202 chip can be inserted onto the board. Next, wires need to be soldered onto bottom of the transceiver board. Since this router only has one transceiver board, only three of the holes need wires. Under the J2 label, solder wires into the two left most holes. Under the J1 label, which is under the chip, solder a wire on the right most hole. &lt;br /&gt;
(insert transceiver board diagram and transceiver board pictures)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Five: Attach Transceiver Board to the Router&amp;lt;/h3&amp;gt;&lt;br /&gt;
The easiest way to accomplish this is to use an 4-wire audio cable between the router's serial header and the shrouded double header on the transceiver board. Using the 4-pin header on the router, connect the four wires from the audio cable into the 4-pin header. On the transceiver board, follow the diagram to match the corresponding cables on the shrouded double header, but using a 5-pin serial header to easily attack to the shrouded double header.&lt;br /&gt;
(diagram)&lt;br /&gt;
&lt;br /&gt;
=== Task Six: Attach Transceiver Board to DB9 Serial Ports ===&lt;br /&gt;
Since the router is very small, it will not have space to place the DB9 Serial Port. Therefore, a small container needs to be created to encase all of the components. This will be discussed in step seven. &lt;br /&gt;
Take the three wires from the transceiver board and attach them to the DB9 female according to the diagram. (picture here). Make sure that the solder cups 1, 4, and 6 are connected to each other and solder cups 7 and 8 are connected to each other in the DB9 Female serial port. Notice that in the case of the DB9 Female the T1OUT pin of the ADM202 transceiver chip needs to be connected to solder cup 2, the R1IN pin of the ADM202 transceiver chip needs to be connected to solder cup 3, and the ground needs to be connected to solder cup 5. &lt;br /&gt;
&lt;br /&gt;
Now you can use a continuity tester to make sure that all the connections are good and that no wires or solder cups are touching. The router should be placed back it its case, and the box keeping all the components together should separate the router from the transceiver board. It will be very bad if the circuit board and the transceiver board were to touch.&lt;br /&gt;
&lt;br /&gt;
=== Task Seven: Creating a box case for the component ===&lt;br /&gt;
The ASUS router is small, but because of this, there is no space for the DB9 female serial port, the adaptor, the relay, and the transceiver board. Because of this, a box is needed to enclose all of these components together. The box should have holes cut out for the DB9 female serial port, the power adapter and the Ethernet port. Also, a small barrier needs to be placed between the transceiver board and the relay so they do not meet. The PCB can be safely placed inside the ASUS router case.&lt;br /&gt;
&lt;br /&gt;
== What to do next? ==&lt;br /&gt;
&lt;br /&gt;
Connect UART0 (the DB9 Female serial port) to a computer and follow the next HOWTO on using a PC to [[HOWTO:Connect to a modified router|connect to a modified router]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
''This work is supported in part by NSF grant DUE-CCLI-0737476.''&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3659</id>
		<title>HOWTO:Modify the ASUS hardware</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3659"/>
		<updated>2010-08-10T20:29:38Z</updated>

		<summary type="html">&lt;p&gt;Vblas: /* Task Two: Attach the Serial Header */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:HOWTO]]&lt;br /&gt;
== Summary ==&lt;br /&gt;
The purpose of this walk through is to explain how to add hardware to the ASUS wl-330gE router to take advantage of the serial port on the router and use it to communicate with the serial console for [[Xinu]]. This communication is important for interacting with the Common Firmware Environment's, or [[CFE]], command line interface which is necessary to run Xinu on the router.&lt;br /&gt;
&lt;br /&gt;
== Before Starting ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The following lists all the ''necessary'' parts. However, the following tutorial describes assembling the transceiver on one of our custom transceiver boards. One could assemble the parts of the entire transceiver properly without the board, but with more difficulty.  Our transceiver board design is freely available for public use.&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.ps Transceiver schematic] is in postscript format, suitable for [http://opencircuitdesign.com/xcircuit/ XCircuit].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.pcb Transceiver PCB layout] is in [http://pcb.sourceforge.net/ PCB format].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xainu/Xinu-Transceiver.tgz Transceiver fabrication tarball] contains Gerber photoplotter and CNC drill files suitable for professional fabrication.&lt;br /&gt;
(No warranty express or implied, obviously.)&lt;br /&gt;
&lt;br /&gt;
=== Parts List ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Part Name&lt;br /&gt;
! Details&lt;br /&gt;
! Part / Model Number&lt;br /&gt;
! Price&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| Linksys [[WRT54GL]] Router&lt;br /&gt;
| 802.11b/g wireless broadband router&lt;br /&gt;
| [http://www.linksys.com/servlet/Satellite?c=L_Product_C2&amp;amp;childpagename=US%2FLayout&amp;amp;cid=1133202177241&amp;amp;pagename=Linksys%2FCommon%2FVisitorWrapper Linksys WRT54GL]&lt;br /&gt;
| ~$65.00&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Ribbon cable&lt;br /&gt;
| 28 AWG, 10 conductor, 25'&lt;br /&gt;
| Jameco  643508CM&lt;br /&gt;
| $4.99&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 0.1”, 10 conductor &lt;br /&gt;
| Jameco  32491CM&lt;br /&gt;
| $0.25&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| IDC shrouded double header&lt;br /&gt;
| 0.1”, 10 conductor&lt;br /&gt;
| Jameco 67811CM&lt;br /&gt;
| $0.33&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ADM202 Transceiver Chip&lt;br /&gt;
| Serial Transceiver ADM202EAN&lt;br /&gt;
| Jameco 1800464&lt;br /&gt;
| $1.60&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Capacitor 220 nF&lt;br /&gt;
| Tantalum,.22uF,35V,10%&lt;br /&gt;
| Jameco 33507&lt;br /&gt;
| $0.18&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Capacitor 100 nF&lt;br /&gt;
| Tantalum,.1uF,35V,10%&lt;br /&gt;
| Jameco 33488&lt;br /&gt;
| $0.22&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DB9 Female&lt;br /&gt;
| 22AWG,SOLDER CUP&lt;br /&gt;
| Jameco 15771CM&lt;br /&gt;
| $0.59&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DB9 Male&lt;br /&gt;
| 22AWG,SOLDER CUP&lt;br /&gt;
| Jameco 15747CM&lt;br /&gt;
| $0.59&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(We provide this parts list as a data point; we offer no guarantees about current prices, and it is not our intent to endorse any particular vendor.)&lt;br /&gt;
&lt;br /&gt;
=== Tools List ===&lt;br /&gt;
* Soldering Iron&lt;br /&gt;
* Dremel tool (for cutting holes in plastic case)&lt;br /&gt;
* Continuity Tester (Multimeter, or some other way of checking for proper connections)&lt;br /&gt;
* Voltmeter (Multimeter will work for this, too)&lt;br /&gt;
&lt;br /&gt;
== Steps to Modify the Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Task One: Open the Router ===&lt;br /&gt;
&lt;br /&gt;
Using a screwdriver, remove the two nails located underneath the router and getnly remove the top of the router from the bottom, revealing the PCB.&lt;br /&gt;
&lt;br /&gt;
'''DO NOTE: This is where the warranty on the router is voided!'''&lt;br /&gt;
&lt;br /&gt;
=== Task Two: Attach the Serial Header ===&lt;br /&gt;
&lt;br /&gt;
The PCB is easily removable at this state from the router. Located in the center of the PCB is the Broadcom BCM535 chip. Above the chip are four holes that are aligned vertically. The four holes represent the input and output for the serial interface, along with the 3.3 volt power and ground sources for the serial port.&lt;br /&gt;
&lt;br /&gt;
For easier connectivity, we can use a 4-pin header on the board to easily attach and detach a 4 connection cable. Use a soldering iron to solder the 4-pin header onto the board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Three: Create space for access to serial port on the router &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using a dremel, carefully cut out a rectangular shaped hole on the faceplate of the router. The hole should be cut above the words “Portable” and it should be 3 mm wide and 1 cm in height, or enough to see the serial port through the hole. This will be used for a 4-wired cable to attach the router to the transceiver board, detailed in step seven. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Four: Creating the ADM202 Transceiver Circuit Board &amp;lt;/h3&amp;gt;&lt;br /&gt;
A transceiver circuit is needed to convert the 3.3 volt serial signals from the router to conventional RS-232 serial voltages. To do this, we need a small square of “perf board”, or other circuit prototyping techniques. A soldering iron needs to be used to solder the components onto the board.&lt;br /&gt;
&lt;br /&gt;
Solder the shrouded double header, the socket, and the capacitors onto the board. The direction of the pins matter due to their polarity.&lt;br /&gt;
 &lt;br /&gt;
Once the components have been placed on the board, use a continuity tester to check the connection between header soldered into the router's board and the socket on the transceiver board. Now the ADM202 chip can be inserted onto the board. Next, wires need to be soldered onto bottom of the transceiver board. Since this router only has one transceiver board, only three of the holes need wires. Under the J2 label, solder wires into the two left most holes. Under the J1 label, which is under the chip, solder a wire on the right most hole. &lt;br /&gt;
(insert transceiver board diagram and transceiver board pictures)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Five: Attach Transceiver Board to the Router&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since the router is very small, it will not have space to place the DB9 Serial Port. Therefore, a small container needs to be created to encase all of the components. This will be discussed in step seven. &lt;br /&gt;
Take the three wires from the transceiver board and attach them to the DB9 female according to the diagram. (picture here). Make sure that the solder cups 1, 4, and 6 are connected to each other and solder cups 7 and 8 are connected to each other in the DB9 Female serial port. Notice that in the case of the DB9 Female the T1OUT pin of the ADM202 transceiver chip needs to be connected to solder cup 2, the R1IN pin of the ADM202 transceiver chip needs to be connected to solder cup 3, and the ground needs to be connected to solder cup 5. &lt;br /&gt;
&lt;br /&gt;
Now you can use a continuity tester to make sure that all the connections are good and that no wires or solder cups are touching. The router should be placed back it its case, and the box keeping all the components together should separate the router from the transceiver board. It will be very bad if the circuit board and the transceiver board were to touch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Seven: Creating a box case for the components&amp;lt;/h3&amp;gt;&lt;br /&gt;
The ASUS router is small, but because of this, there is no space for the DB9 female serial port, the adaptor, the relay, and the transceiver board. Because of this, a box is needed to enclose all of these components together. The box should have holes cut out for the DB9 female serial port, the power adapter and the Ethernet port. Also, a small barrier needs to be placed between the transceiver board and the relay so they do not meet. The PCB can be safely placed inside the ASUS router case.&lt;br /&gt;
&lt;br /&gt;
=== Task Five: Attach Transceiver Board to DB9 Serial Ports ===&lt;br /&gt;
&lt;br /&gt;
Before soldering the wires from the transceiver board to the serial ports, it is a good idea to drill two holes in the front of the router's casing to use for the serial ports and also two small holes on each side of the bigger ones to use for screws or bolts to keep the '''DB9 Serial Ports''' in place. The three pictures to the right show how to take off the front sticker and what the case should look like after you've drilled two holes in the front for the serial ports. It is also a good idea to cut the sticker and place the left part back on to cover up the remaining holes in the casing.&lt;br /&gt;
&lt;br /&gt;
[[Image:Serial ports diagram.JPG|thumb|300px|left|Diagram of wiring to connect the two DB9 serial ports to the transceiver board.]]&lt;br /&gt;
&lt;br /&gt;
Next, feed the six wires coming from the transceiver board through the two holes you just drilled. Make sure that the three wires soldered into the holes marked '''J1''' on the transceiver board go through the hole on the left of the front of the router and the three wires soldered into the holes marked '''J2''' on the transceiver board go through the hole on the right of the front of the router. &lt;br /&gt;
&lt;br /&gt;
Following the diagram to the left, solder some spare wires or chopped pieces of ribbon cable into the two DB9 serial ports. Notice that solder cups 1, 4, and 6 are connected to each other and solder cups 7 and 8 are connected to each other on both the '''DB9 Female''' and '''DB9 Male''' serial ports. Then, again following the diagram, solder in the wires coming from '''J1''' into the appropriate solder cups of the '''DB9 Female''' and the wires coming from '''J2''' into the appropriate solder cups of the '''DB9 Male'''. &lt;br /&gt;
&lt;br /&gt;
Notice that in the case of the '''DB9 Female''' the ''T1OUT'' pin of the ADM202 transceiver chip needs to be connected to solder cup 2, the ''R1IN'' pin of the ADM202 transceiver chip needs to be connected to solder cup 3, and the ''ground'' needs to be connected to solder cup 5.&lt;br /&gt;
&lt;br /&gt;
Also, notice that in the case of the '''DB9 Male''' the ''R2IN'' pin of the ADM202 transceiver chip needs to be connected to solder cup 2, the ''T2OUT'' pin of the ADM202 transceiver chip needs to be connected to solder cup 3, and the ''ground'' needs to be connected to solder cup 5.&lt;br /&gt;
&lt;br /&gt;
Feeding the wires through the holes and connecting the serial ports in this way ensures that the router's primary serial device will be connected to the '''DB9 Female''' serial port and will be located on the left side while the router's secondary serial device will be connected to the '''DB9 Male''' serial port and will be located on the right side of the front of the router.&lt;br /&gt;
&lt;br /&gt;
After all the soldering is done it is a good idea to use a '''continuity tester''' to make sure that all the connections are good and no wires or solder cups may be accidentally touching. Your result should look something like the pictures below. Now is a good time to tape the transceiver board down to the front of the case. It would be extremely bad for the transceiver board to rub up against the router's circuit board when it was plugged in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Serial ports done1.jpg|thumb|300px|right|Overhead picture of what the router will look like after the DB9 serial ports are correctly soldered into place, but before they have been screwed and secured into the router's case.]]&lt;br /&gt;
[[Image:Serial ports done.jpg|thumb|300px|left|Front view of what the router will look like after the DB9 serial ports are correctly soldered into place, but before they have been screwed and secured into the router's case.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Six: Close the Router &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This final task is best described in photos:&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Attach Back.jpg|thumb|350px|Now that everything is connected we can re-assemble it.  First you put on the back/top half.  Keyed ribbon cable is plugged in to serial port header on circuit board.]]&lt;br /&gt;
| [[Image:Attach Front.jpg|thumb|350px|Next you can carefully install the front half (making sure not to break any of the wires we have).]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Task Seven: Rejoice ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Complete.jpg|thumb|500px|center|Now you have a WRT54GL with two serial ports installed and ready to run your own operating system.]]&lt;br /&gt;
&lt;br /&gt;
== What to do next? ==&lt;br /&gt;
&lt;br /&gt;
Connect UART0 (the DB9 Female serial port) to a computer and follow the next HOWTO on using a PC to [[HOWTO:Connect to a modified router|connect to a modified router]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
''This work is supported in part by NSF grant DUE-CCLI-0737476.''&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3658</id>
		<title>HOWTO:Modify the ASUS hardware</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=HOWTO:Modify_the_ASUS_hardware&amp;diff=3658"/>
		<updated>2010-08-10T17:47:37Z</updated>

		<summary type="html">&lt;p&gt;Vblas: Created page with 'Category:HOWTO == Summary == The purpose of this walk through is to explain how to add hardware to the ASUS wl-330gE router to take advantage of the serial port on the router...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:HOWTO]]&lt;br /&gt;
== Summary ==&lt;br /&gt;
The purpose of this walk through is to explain how to add hardware to the ASUS wl-330gE router to take advantage of the serial port on the router and use it to communicate with the serial console for [[Xinu]]. This communication is important for interacting with the Common Firmware Environment's, or [[CFE]], command line interface which is necessary to run Xinu on the router.&lt;br /&gt;
&lt;br /&gt;
== Before Starting ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The following lists all the ''necessary'' parts. However, the following tutorial describes assembling the transceiver on one of our custom transceiver boards. One could assemble the parts of the entire transceiver properly without the board, but with more difficulty.  Our transceiver board design is freely available for public use.&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.ps Transceiver schematic] is in postscript format, suitable for [http://opencircuitdesign.com/xcircuit/ XCircuit].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xinu/Xinu-Transceiver.pcb Transceiver PCB layout] is in [http://pcb.sourceforge.net/ PCB format].&lt;br /&gt;
[http://www.mscs.mu.edu/~brylow/xainu/Xinu-Transceiver.tgz Transceiver fabrication tarball] contains Gerber photoplotter and CNC drill files suitable for professional fabrication.&lt;br /&gt;
(No warranty express or implied, obviously.)&lt;br /&gt;
&lt;br /&gt;
=== Parts List ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Part Name&lt;br /&gt;
! Details&lt;br /&gt;
! Part / Model Number&lt;br /&gt;
! Price&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| Linksys [[WRT54GL]] Router&lt;br /&gt;
| 802.11b/g wireless broadband router&lt;br /&gt;
| [http://www.linksys.com/servlet/Satellite?c=L_Product_C2&amp;amp;childpagename=US%2FLayout&amp;amp;cid=1133202177241&amp;amp;pagename=Linksys%2FCommon%2FVisitorWrapper Linksys WRT54GL]&lt;br /&gt;
| ~$65.00&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Ribbon cable&lt;br /&gt;
| 28 AWG, 10 conductor, 25'&lt;br /&gt;
| Jameco  643508CM&lt;br /&gt;
| $4.99&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| IDC socket connector&lt;br /&gt;
| 0.1”, 10 conductor &lt;br /&gt;
| Jameco  32491CM&lt;br /&gt;
| $0.25&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| IDC shrouded double header&lt;br /&gt;
| 0.1”, 10 conductor&lt;br /&gt;
| Jameco 67811CM&lt;br /&gt;
| $0.33&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ADM202 Transceiver Chip&lt;br /&gt;
| Serial Transceiver ADM202EAN&lt;br /&gt;
| Jameco 1800464&lt;br /&gt;
| $1.60&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Capacitor 220 nF&lt;br /&gt;
| Tantalum,.22uF,35V,10%&lt;br /&gt;
| Jameco 33507&lt;br /&gt;
| $0.18&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Capacitor 100 nF&lt;br /&gt;
| Tantalum,.1uF,35V,10%&lt;br /&gt;
| Jameco 33488&lt;br /&gt;
| $0.22&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DB9 Female&lt;br /&gt;
| 22AWG,SOLDER CUP&lt;br /&gt;
| Jameco 15771CM&lt;br /&gt;
| $0.59&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| DB9 Male&lt;br /&gt;
| 22AWG,SOLDER CUP&lt;br /&gt;
| Jameco 15747CM&lt;br /&gt;
| $0.59&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(We provide this parts list as a data point; we offer no guarantees about current prices, and it is not our intent to endorse any particular vendor.)&lt;br /&gt;
&lt;br /&gt;
=== Tools List ===&lt;br /&gt;
* Soldering Iron&lt;br /&gt;
* Dremel tool (for cutting holes in plastic case)&lt;br /&gt;
* Continuity Tester (Multimeter, or some other way of checking for proper connections)&lt;br /&gt;
* Voltmeter (Multimeter will work for this, too)&lt;br /&gt;
&lt;br /&gt;
== Steps to Modify the Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Task One: Open the Router ===&lt;br /&gt;
&lt;br /&gt;
Using a screwdriver, remove the two nails located underneath the router and getnly remove the top of the router from the bottom, revealing the PCB.&lt;br /&gt;
&lt;br /&gt;
'''DO NOTE: This is where the warranty on the router is voided!'''&lt;br /&gt;
&lt;br /&gt;
=== Task Two: Attach the Serial Header ===&lt;br /&gt;
&lt;br /&gt;
The PCB is easily removable at this state from the router. Located in the center of the PCB is the Broadcom BCM535 chip. Above the chip are four holes that are aligned vertically. The four holes represent the input and output for the serial interface, along with the 3.3 volt power and ground sources for the serial port.&lt;br /&gt;
&lt;br /&gt;
For easier connectivity, we can use a 4-pin header on the board to easily attach and detach a 4 connection cable. Use a soldering iron to solder the 4-pin header onto the board. &lt;br /&gt;
&lt;br /&gt;
	O Ground&lt;br /&gt;
	O Transmit	&lt;br /&gt;
	O Receive&lt;br /&gt;
	O 3.3 V&lt;br /&gt;
&lt;br /&gt;
	[ ] Broadcom Chip&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Three: Create the ADM202 Transceiver Circuit Board &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The next step is to build the transceiver circuit, which converts the 3.3 volt serial signals from the router to conventional RS-232 serial voltages.  The circuit includes only a handful of components, so it can be assembled using a small square of &amp;quot;perf board&amp;quot;, or a variety of other inexpensive circuit prototyping techniques.  We use a custom-made printed circuit board to simplify assembly, as shown here.  (Link to page with PCB specs, and directions.)  Again, you'll need your '''soldering iron''' to secure the different pieces in the transceiver board.&lt;br /&gt;
&lt;br /&gt;
Using the diagram on the left, solder the '''shrouded double header''', the '''socket''', and the '''capacitors''' into the board in the appropriate places. '''NOTE:''' the positions of the components on the physical board are not represented in the diagram, but the silkscreen on the board indicates placement and orientation.  '''FURTHER NOTE:''' each component has a proper polarity or pin marking -- direction matters!&lt;br /&gt;
&lt;br /&gt;
The pictures to the right show the transceiver board in various stages of completion. The top one shows the blank board on which the other components will be added. The bottom one shows the '''shrouded double header''', the '''socket''', and the '''capacitors''' soldered in place. It also shows the actual ADM202 chip inserted into the socket, however, before inserting the chip it is a good idea to test what you've completed so far. &lt;br /&gt;
&lt;br /&gt;
Use a '''continuity tester''' to check the connection between the header soldered into the router's board and the socket on your transceiver board. The next step we recommend for testing your work is to plug in the router and use a '''voltmeter''' to check that the ''ground'' and ''power'' pins on the socket (pins 15 and 16) are registering at 3.3 volts. Now, actually insert the ADM202 chip into the socket and power up the router again, making sure that the lights turn on and nothing shorts out.&lt;br /&gt;
&lt;br /&gt;
The next step is to get six wires from a chopped up piece of the ribbon cable (or any six spare wires) and solder them into place in the six holes (two sets of three) at the bottom of the transceiver board. The resulting completed transceiver board should look something like the picture below the diagram.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Four: Attach Tranceiver Board to the Router&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Tranceiver attached.jpg|thumb|200px|left|Transceiver board attached via ribbon cable to the serial header soldered into the router's board.]]&lt;br /&gt;
[[Image:Front sticker.jpg|thumb|75px|right]]&lt;br /&gt;
[[Image:Front.jpg|thumb|75px|right]]&lt;br /&gt;
[[Image:Drilled front.jpg|thumb|75px|right]]&lt;br /&gt;
&lt;br /&gt;
First take a piece of ribbon cable and attach each end to one of your IDC socket connectors. Notice the marker on the connector that signifies where pin 1 of the header will connect to. Make sure that the same side of the ribbon cable is attached to the marked side of both connectors. In other words make sure that the same wire will line up with pin 1 on both headers when the connectors are eventually attached to the headers. The next step is to actually plug in the connectors to the headers. Attach one connector to the header we soldered into the router's board and the other connector to the header we soldered into the transceiver board. The result should look something like the picture to the left. Now is a good time to reattach the router's board to its case by screwing the two screws into place and then closing up both black pieces of the back part of the router's case.&lt;br /&gt;
&lt;br /&gt;
=== Task Five: Attach Transceiver Board to DB9 Serial Ports ===&lt;br /&gt;
&lt;br /&gt;
Before soldering the wires from the transceiver board to the serial ports, it is a good idea to drill two holes in the front of the router's casing to use for the serial ports and also two small holes on each side of the bigger ones to use for screws or bolts to keep the '''DB9 Serial Ports''' in place. The three pictures to the right show how to take off the front sticker and what the case should look like after you've drilled two holes in the front for the serial ports. It is also a good idea to cut the sticker and place the left part back on to cover up the remaining holes in the casing.&lt;br /&gt;
&lt;br /&gt;
[[Image:Serial ports diagram.JPG|thumb|300px|left|Diagram of wiring to connect the two DB9 serial ports to the transceiver board.]]&lt;br /&gt;
&lt;br /&gt;
Next, feed the six wires coming from the transceiver board through the two holes you just drilled. Make sure that the three wires soldered into the holes marked '''J1''' on the transceiver board go through the hole on the left of the front of the router and the three wires soldered into the holes marked '''J2''' on the transceiver board go through the hole on the right of the front of the router. &lt;br /&gt;
&lt;br /&gt;
Following the diagram to the left, solder some spare wires or chopped pieces of ribbon cable into the two DB9 serial ports. Notice that solder cups 1, 4, and 6 are connected to each other and solder cups 7 and 8 are connected to each other on both the '''DB9 Female''' and '''DB9 Male''' serial ports. Then, again following the diagram, solder in the wires coming from '''J1''' into the appropriate solder cups of the '''DB9 Female''' and the wires coming from '''J2''' into the appropriate solder cups of the '''DB9 Male'''. &lt;br /&gt;
&lt;br /&gt;
Notice that in the case of the '''DB9 Female''' the ''T1OUT'' pin of the ADM202 transceiver chip needs to be connected to solder cup 2, the ''R1IN'' pin of the ADM202 transceiver chip needs to be connected to solder cup 3, and the ''ground'' needs to be connected to solder cup 5.&lt;br /&gt;
&lt;br /&gt;
Also, notice that in the case of the '''DB9 Male''' the ''R2IN'' pin of the ADM202 transceiver chip needs to be connected to solder cup 2, the ''T2OUT'' pin of the ADM202 transceiver chip needs to be connected to solder cup 3, and the ''ground'' needs to be connected to solder cup 5.&lt;br /&gt;
&lt;br /&gt;
Feeding the wires through the holes and connecting the serial ports in this way ensures that the router's primary serial device will be connected to the '''DB9 Female''' serial port and will be located on the left side while the router's secondary serial device will be connected to the '''DB9 Male''' serial port and will be located on the right side of the front of the router.&lt;br /&gt;
&lt;br /&gt;
After all the soldering is done it is a good idea to use a '''continuity tester''' to make sure that all the connections are good and no wires or solder cups may be accidentally touching. Your result should look something like the pictures below. Now is a good time to tape the transceiver board down to the front of the case. It would be extremely bad for the transceiver board to rub up against the router's circuit board when it was plugged in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Serial ports done1.jpg|thumb|300px|right|Overhead picture of what the router will look like after the DB9 serial ports are correctly soldered into place, but before they have been screwed and secured into the router's case.]]&lt;br /&gt;
[[Image:Serial ports done.jpg|thumb|300px|left|Front view of what the router will look like after the DB9 serial ports are correctly soldered into place, but before they have been screwed and secured into the router's case.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;clear:both;&amp;quot;&amp;gt; Task Six: Close the Router &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This final task is best described in photos:&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Attach Back.jpg|thumb|350px|Now that everything is connected we can re-assemble it.  First you put on the back/top half.  Keyed ribbon cable is plugged in to serial port header on circuit board.]]&lt;br /&gt;
| [[Image:Attach Front.jpg|thumb|350px|Next you can carefully install the front half (making sure not to break any of the wires we have).]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Task Seven: Rejoice ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Complete.jpg|thumb|500px|center|Now you have a WRT54GL with two serial ports installed and ready to run your own operating system.]]&lt;br /&gt;
&lt;br /&gt;
== What to do next? ==&lt;br /&gt;
&lt;br /&gt;
Connect UART0 (the DB9 Female serial port) to a computer and follow the next HOWTO on using a PC to [[HOWTO:Connect to a modified router|connect to a modified router]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
''This work is supported in part by NSF grant DUE-CCLI-0737476.''&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=Main_Page&amp;diff=3657</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=Main_Page&amp;diff=3657"/>
		<updated>2010-08-10T17:33:18Z</updated>

		<summary type="html">&lt;p&gt;Vblas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Embedded Xinu is an ongoing research and implementation project in the area of Operating Systems and Embedded Systems.  Its goal is to port the [[Xinu|Xinu Operating System]] to the embedded MIPS platform.  The current release supports Linksys WRT54GL and WRT160NL routers, as well as the Qemu virtual machine.  While this project is still in progress, our laboratory environment and curriculum materials are already in use for courses in Operating Systems, Hardware Systems, Embedded Systems, Networking and Compilers.&lt;br /&gt;
&lt;br /&gt;
The Embedded Xinu project was conceived and is supervised by [http://www.mscs.mu.edu/~brylow/ Dr. Dennis Brylow] and is being conducted by both graduate and undergraduate students in the [[Systems Laboratory]] in the [http://www.mscs.mu.edu/ Math, Statistics, &amp;amp; Computer Science] department of [http://www.mu.edu/ Marquette University] in Milwaukee, Wisconsin.  The first major phase of work on Embedded Xinu began in the Summer of 2006.&lt;br /&gt;
&lt;br /&gt;
Our project partners include [http://www.cse.buffalo.edu/~bina/ Dr. Bina Ramamurthy] at University of Buffalo (with whom we shared an [http://www.nsf.gov/pubs/2009/nsf09529/nsf09529.html NSF CCLI] grant), [http://cs.olemiss.edu/~ruth/wiki/doku.php Dr. Paul Ruth] at University of Mississippi, and [http://www.cs.purdue.edu/people/comer Dr. Doug Comer] (father of Xinu) at Purdue University.&lt;br /&gt;
&lt;br /&gt;
== Teaching With Embedded Xinu ==&lt;br /&gt;
&lt;br /&gt;
* Join us for the [http://www.cs.olemiss.edu/acmse2010/pdf/xinu.pdf Teaching With Embedded Xinu Workshop] at [http://www.cs.olemiss.edu/acmse2010/Home.htm ACMSE 2010] in Oxford, Mississippi (Ole Miss campus) April 15.  This workshop will share ready-made curriculum resources that have been used successfully to teach hardware systems, operating systems, realtime/embedded systems, networking, and compilers with the Embedded Xinu platform at several colleges/universities. Commodity wireless router hardware or equivalent virtual machines, combined with freely-available software and tools, make for a powerful and flexible learning platform without having to fake any components. Come see what Nexos has to offer for your program.&lt;br /&gt;
&lt;br /&gt;
* For curriculum guidance on adopting or adapting Embedded Xinu for undergraduate coursework, see [[Teaching With Xinu]].&lt;br /&gt;
&lt;br /&gt;
== Building an Embedded Xinu Laboratory ==&lt;br /&gt;
&lt;br /&gt;
In this section we are developing instructions so that other groups can benefit from the work we are doing.  These guides can be followed more or less in order to create a relatively inexpensive platform for a custom operating system.  As our work develops further, there will be more Xinu-specific information.&lt;br /&gt;
&lt;br /&gt;
# Obtain a [[List of supported platforms|supported platform]].&lt;br /&gt;
# [[HOWTO:Modify the Linksys hardware|Modify the Linksys hardware]]&lt;br /&gt;
# [[HOWTO:Modify the ASUS hardware|Modify the ASUS hardware]]&lt;br /&gt;
# [[HOWTO:Connect to a modified router|Connect to a modified router]]&lt;br /&gt;
# [[HOWTO:Build Xinu|Build Xinu]]&lt;br /&gt;
# [[HOWTO:Deploy Xinu|Deploy Xinu]]&lt;br /&gt;
# (Optional) [[HOWTO:Build Backend Pool|Build a pool of backends]]&lt;br /&gt;
&lt;br /&gt;
== Other Embedded Xinu Information ==&lt;br /&gt;
&lt;br /&gt;
* MIPS [[processor]]&lt;br /&gt;
* Main [[memory]]&lt;br /&gt;
* [[Exception and Interrupt Handling]]&lt;br /&gt;
* [[UART driver]]&lt;br /&gt;
* [[TTY driver]]&lt;br /&gt;
* [[Switch driver]]&lt;br /&gt;
* [[Flash memory]]&lt;br /&gt;
* [[EJTAG|Enhanced Joint Test Action Group]] debugger&lt;br /&gt;
* [[Standard library]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;small&amp;gt;The Xinu Lab is brought to you in part by [[XMMS|M&amp;amp;M's]].&amp;lt;/small&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
--&amp;gt;__NOTOC__&amp;lt;!-- Disable &amp;quot;Contents&amp;quot; box from showing --&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;__NOEDITSECTION__&amp;lt;!-- Disable [edit] from appearing --&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
	<entry>
		<id>https://xinu.cs.mu.edu/index.php?title=Main_Page&amp;diff=3656</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://xinu.cs.mu.edu/index.php?title=Main_Page&amp;diff=3656"/>
		<updated>2010-08-10T17:32:20Z</updated>

		<summary type="html">&lt;p&gt;Vblas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Embedded Xinu is an ongoing research and implementation project in the area of Operating Systems and Embedded Systems.  Its goal is to port the [[Xinu|Xinu Operating System]] to the embedded MIPS platform.  The current release supports Linksys WRT54GL and WRT160NL routers, as well as the Qemu virtual machine.  While this project is still in progress, our laboratory environment and curriculum materials are already in use for courses in Operating Systems, Hardware Systems, Embedded Systems, Networking and Compilers.&lt;br /&gt;
&lt;br /&gt;
The Embedded Xinu project was conceived and is supervised by [http://www.mscs.mu.edu/~brylow/ Dr. Dennis Brylow] and is being conducted by both graduate and undergraduate students in the [[Systems Laboratory]] in the [http://www.mscs.mu.edu/ Math, Statistics, &amp;amp; Computer Science] department of [http://www.mu.edu/ Marquette University] in Milwaukee, Wisconsin.  The first major phase of work on Embedded Xinu began in the Summer of 2006.&lt;br /&gt;
&lt;br /&gt;
Our project partners include [http://www.cse.buffalo.edu/~bina/ Dr. Bina Ramamurthy] at University of Buffalo (with whom we shared an [http://www.nsf.gov/pubs/2009/nsf09529/nsf09529.html NSF CCLI] grant), [http://cs.olemiss.edu/~ruth/wiki/doku.php Dr. Paul Ruth] at University of Mississippi, and [http://www.cs.purdue.edu/people/comer Dr. Doug Comer] (father of Xinu) at Purdue University.&lt;br /&gt;
&lt;br /&gt;
== Teaching With Embedded Xinu ==&lt;br /&gt;
&lt;br /&gt;
* Join us for the [http://www.cs.olemiss.edu/acmse2010/pdf/xinu.pdf Teaching With Embedded Xinu Workshop] at [http://www.cs.olemiss.edu/acmse2010/Home.htm ACMSE 2010] in Oxford, Mississippi (Ole Miss campus) April 15.  This workshop will share ready-made curriculum resources that have been used successfully to teach hardware systems, operating systems, realtime/embedded systems, networking, and compilers with the Embedded Xinu platform at several colleges/universities. Commodity wireless router hardware or equivalent virtual machines, combined with freely-available software and tools, make for a powerful and flexible learning platform without having to fake any components. Come see what Nexos has to offer for your program.&lt;br /&gt;
&lt;br /&gt;
* For curriculum guidance on adopting or adapting Embedded Xinu for undergraduate coursework, see [[Teaching With Xinu]].&lt;br /&gt;
&lt;br /&gt;
== Building an Embedded Xinu Laboratory ==&lt;br /&gt;
&lt;br /&gt;
In this section we are developing instructions so that other groups can benefit from the work we are doing.  These guides can be followed more or less in order to create a relatively inexpensive platform for a custom operating system.  As our work develops further, there will be more Xinu-specific information.&lt;br /&gt;
&lt;br /&gt;
# Obtain a [[List of supported platforms|supported platform]].&lt;br /&gt;
# [[HOWTO:Modify the Linksys hardware|Modify the Linksys hardware] or [HOWTO:Modify the ASUS hardware|Modify the ASUS hardware]]&lt;br /&gt;
# [[HOWTO:Connect to a modified router|Connect to a modified router]]&lt;br /&gt;
# [[HOWTO:Build Xinu|Build Xinu]]&lt;br /&gt;
# [[HOWTO:Deploy Xinu|Deploy Xinu]]&lt;br /&gt;
# (Optional) [[HOWTO:Build Backend Pool|Build a pool of backends]]&lt;br /&gt;
&lt;br /&gt;
== Other Embedded Xinu Information ==&lt;br /&gt;
&lt;br /&gt;
* MIPS [[processor]]&lt;br /&gt;
* Main [[memory]]&lt;br /&gt;
* [[Exception and Interrupt Handling]]&lt;br /&gt;
* [[UART driver]]&lt;br /&gt;
* [[TTY driver]]&lt;br /&gt;
* [[Switch driver]]&lt;br /&gt;
* [[Flash memory]]&lt;br /&gt;
* [[EJTAG|Enhanced Joint Test Action Group]] debugger&lt;br /&gt;
* [[Standard library]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;small&amp;gt;The Xinu Lab is brought to you in part by [[XMMS|M&amp;amp;M's]].&amp;lt;/small&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
--&amp;gt;__NOTOC__&amp;lt;!-- Disable &amp;quot;Contents&amp;quot; box from showing --&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;__NOEDITSECTION__&amp;lt;!-- Disable [edit] from appearing --&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vblas</name></author>
		
	</entry>
</feed>