The following article originally appeared in IEEE Spectrum Magazine, and is republished here with permission.

The Stanford diaries


go to previous page

Chris's journal

FRIDAY, 28 JUNE:

[Granite Systems is running out of network bandwidth on the company's existing 10-Mb/s Ethernet, so Chris and his co-workers are trying to upgrade the company's workstations to 100-Mb/s Ethernet cards.] Jim (a hardware engineer) and I work on Cyberstar (the moniker of his machine, a Sparc20), and we get the 100-Mb/s Ethernet card in. No one has bothered to tell me that Cyberstar is a big server and so, by taking it down, we have caused apparently six to eight people to not be able to work.

So now there is pressure to get it back up. And of course it won't restart. I call Christophe (a hardware engineer) at home and he tells me, "Oh, that's a common problem, do x y z"; what he says gets the machine up and running. The 100-Mb/s card is acting weird and giving strange errors. We muck around with it for 1-1.5 hours, but to no avail. I suspect it is broken.

In the process, I bring Cyberstar on and off the net about two or three times, probably causing weird stuff to happen to other machines. In the end, we disable the card and put Cyberstar back the way it was. This is now very nontrivial. I call Christophe again; he says to talk to Mark Ross (director of hardware) and see if we can move the server disks from Cyberstar to Paris, once we switch Paris to 100 Mb/s. Sounds like a plan. I talk to Mark; he concurs. First I have to switch Paris over.

Now the fun really begins. Paris is a Sun Ultrasparc, which is supposed to have a switchable 10-100-Mb/s interface on board. So I start looking at Paris (Christophe's machine, since he's gone). Turning it on and off hurts no-one; this is good. I try plugging it directly into the 100-Mb/s hub, but it won't link up with the hub--normally a switchable card just senses what is going on. So I try to reboot Paris to see if that's what it takes. Still no go. Go looking for Sun manuals to see if it needs some magic incantation to switch over. Can't find anything. Notice the machine is calling the interface "le0," so look that up, and it's supposedly a 10-Mb/s-only interface .

I go ask Mark if the Ultras are really switchable. He looks at me strangely, says, "Of course they are, I designed it." I try to tell him that it's calling it "le0," does he know what the other possibility is? He says "hme0." So I go back and look for "hme0" in the filesystem device tree, but there is no "hme0" on this machine that I can find. I go back to ask him again, if he will open up the machine and look at the chips and tell me. He opens it up and looks around for a while, thinks he finds the hmeO chip. I am doubtful. I poke around a little more, getting very exasperated.

Finally, as he is showing some people from Sun who are at a meeting at Granite out the door, he realizes he can ask them. So they look at each other, say, "Where's Matt? Ask Matt, he can tell you" (Matt is one of the visitors from Sun). They find Matt and sit him in front of Paris. He types some stuff at the console and says, "It's an le0, no hme0 in here." (I was right, it turns out). Now Mark is very flustered, asking them about all kinds of internal code names for parts (electron, neutron, neutron heavy, neutron light, electron plus).

Turns out Sun has made a new model without the switchable Ethernet (without telling Mark). Mark thanks them, shows them out the door and comes back to me. Still seems frustrated. Says something like, "Well, that's a bummer," and goes to find Linc Holland, the vice president of finance, since we are going to need to buy 100-Mb/s cards for all 10 of these machines. So progress grinds to a halt on the 100-Mb/s front.

MONDAY, 15 JULY:

2:50 p.m. Andy Bechtolscheim is supposed to meet me to visit another site to see their ISDN [integrated-services digital network] remote access (I'm supposed to figure out how we will do something similar for ISDN dial-in at Granite). However, he is running late. Call him on the cell phone and he says he's on his way over. "Be there in 2 minutes."

3:40 p.m. He's running way late. Reschedule to 4:10.

4:30 p.m. We leave for Sunnyvale in Andy's VW Vanagon, which he is driving (madly), like his old Porsche 911. He talks on the cell phone on the way down.

Short meeting to demonstrate the ISDN remote set-up at this other firm (one of Andy's investments), then ride home. Nice chat with Andy about a variety of things, including the ISDN and fibre channel.

5:30 p.m. Get back to the office.

THURSDAY, 8 AUGUST:

Got in around 10:30 a.m., rather bleary from little sleep. Started working on coding. (I had made some changes the night before and broke something.) I remembered something this morning in the shower, so I tried that (turns out I needed that, but also some other stuff). Played with initial blocks and also with pad placement (selection of pins for inputs and outputs), but it's still not working. Turns out that the diagram Christophe drew yesterday had one too many inverters in it, which messed everything up. Once I fixed that, it simulated fine so I started the synthesis and partition/place/ route (PPR) software again.

The PPR failed, I thought it was because I created the pad wrong, so I went back and fixed that. It failed again the same way. Then I realized it was a constraint file problem. Fix the constraint and try to run again, but it's 2 p.m., weekly status meeting time.

2 p.m. Quick meeting, in the small conference room.

Around 2:30 p.m. I have a serial PROM burnt for my FPGA [field-programmable gate array] (rev 006, so that's my seventh one: 000, 001, and so on). I put it in and try the board with the test software I wrote yesterday and it actually works, board and software. It writes the data into the EEPROM and reads back what I stored there. Cool! I'm pretty much stunned that it worked. Mark drops by then and asks what's going on. I tell him it's working and he's pretty happy. I tell Christophe later on and he's psyched, too.


IEEE Spectrum November 1997 Volume 34 Number 11

(c) Copyright 1997, The Institute of Electrical and Electronics Engineers, Inc.