WeaponsGradeCode

Notes from the field…

Archive for January, 2008

Got A Sun SparcServer20 for free on Craigslist…

Gotta like free. This was a good one which, of course, makes up for all the less than optimal trades found on Craigslist.

I haven’t booted it up yet but it’s got three 2GB drives, one 18GB, a bunch of RAM, two tape drives, dual 75MHz processors, graphics card, a wide SCSI/NIC card and some other card I can’t identify, probably another SCSI card. That 18GB drive will likely find its way into my SGI O2.

The system:

Sun SparcServer 20

Logo:

Sun SparcServer 20 Logo

Back:

Sun SparcServer 20 Back

Guts:

Sun SparcServer 20 Guts

Replaced my BMW E46 330i Camshaft Position Sensor All By Myself

…and saved about $200. This should clear up the ‘Service Engine Soon’ light problem I described earlier.

The process was pretty easy requiring a modest technical skill set and tools. I think most people can handle it. The real tricky part is threading the wire around the engine compartment but the help of a spouse or stick should be enough to complete the job.

Follow the instructions here at e46fanatics.com.  They’re priceless.

The result is the car’s much more responsive and fun to drive again.

Changing the BMW E46 330i Oil at Home with the Pela PL-650 Oil Extractor

Shortly after buying my E46 BMW 330i I called around pricing oil changes. Wow. Everyone wanted between $80 and $120 for something I usually pay $30 - $40 for. Turns out, these machines require synthetic oil that runs at least $5 a quart, and it needs six of them. Tack on a $15 (retail) filter and labor and you’re up to at least $80.

For me, it was back to home oil changes. Luckily, bimmerparts.com has filters for less then $10 each so I buy three at a time and I buy the mandatory Castrol 5w-30 Syntec oil when it goes on sale. But that still leaves spending and afternoon jacking up the car and crawling underneath it ( a good time when you’re a teenager, but not later in life,) hoping you don’t strip the oil plug, spilling oil all over, etc.

While up on bimmerforums.com I heard people chatting about the Pela PL-650 oil extractor. I checked around and found a reasonably priced model at Yachtsee.com. I paid with PayPal and it arrived in a couple days.

The Pela PL-650:

The Pela PL-650

The parts that come with it, the extractor, one base tube and two extension tubes of differing widths:

The Pela PL-650 parts list.

The pouring spout:

Pela Spout

The pressure release valve:

Pela PL-650 pressure relase valve.

It’s a simple but effective device with good build quality. To start, drive the car around so the oil heats up a bit. Stop and let the oil drip back into the sump. Open the filter housing and toss out the filter. Then simply attach the base hose of the Pela PL-650 to its tank and the narrow tube extension to the base and insert the narrow tube into the oil dip stick pipe. Pump the handle about five times and wait about fifteen minutes for it to extract all the oil.

When complete, disassemble and easily tip the unit over and pour the old oil out the spout into old milk containers.

It’s very effective. Typically I can go through the whole process without spilling a drop. The car requires six quarts of oil and when I have that in the sump, the Pela will get it all out. Best of all, I never have to crawl under the car or risk damaging the oil plug.

If you own and E46 BMW and change your own oil, I highly recommend one of these devices.

PS: Be sure to get the Pela PL-650. The others won’t extract the entire sump in one go. You’ll have to stop and re-start the extractions with the smaller models.

Our daughter tearing up the ski slopes after six hours of training. Video 3

She’s the one in the pink hat and pink pants. She’s enrolled in the local Powder Pigs program and clearly it’s paying off.

Our daughter tearing up the ski slopes after six hours of training. Video 2

First YouTube Post: Our daughter tearing up the ski slopes after six hours of training. Video 1

She’s the one in the pink hat and pink pants. She’s enrolled in the local Powder Pigs program and clearly it’s paying off.

Peake Research R5/FCX-3 OBC-II/OBC2 Reader for BMW Review

So the 2001 330i’s been a great car to date, even at over 100,000 miles, and at the rate it’s going I suspect it’ll go another 150k. That’s the goal anyway. Unfortunately, I’ve had a couple very intermittent idle stalls, say once a month, and last week two in a row that turned on my “service engine soon” light.

I thought it’d be great to get an engine code scanner and find out what the issue is myself, but after reading a bunch of articles, it wasn’t clear which one I should get. Apparantely, there is a standard code system called OBC-II that all the manufactuers support to one degree or another. BMW fully supports the spec, but then adds a ton of proprietary codes that they keep to themselves and as one guy said, “only lets the dealers see them on Christmas.” :)

Surfing around shows a lot of standard products, many of them claiming to decipher the elusive BMW codes. The most promising products are the Peake Research R5/FCX-3 and the AutoEnginuity Scan Tool. The Peake Reaearch product seemed a bit pedestrian but claimed to only support BMW automobiles, a good and bad thing. It only cost around $150 so it suited my needs a bit better than the seemingly full featured AutoEnginuity product for close to $500.

Peake sells their product online but want $150 and $8 to ship via the slow boat out of Guatemalla. I found EuroSportDesign but they came across as a bit too slick. Luckily, they have an eBay presence and sold the unit for $138 with fast shipping for $3. I can pay via PayPal. Sold!

The unit arrived in three days:

Peake Research R5/FCX-3 Box

The contents: tool, case, and manual. The phone is there for a size reference. The R5/FCX-3 was smaller than I expected, simple, but adaquate construction. The manual was simply a photocopy.

Peake Research R5/FCX-3

The front:

Peake Research R5/FCX-3 Front

The connector:

Peake Research R5/FCX-3 connector

Installation was beyond trival: Turn on the car, then under the driver side dash is a panel. Flip it open and plug in the R5/FCX-3. You’ll quickly get this message meaning you’re ready to go:

Peake Research R5/FCX-3 Plugged In

Press ‘Go.’ Thinking a bit:

Peake Research R5/FCX-3 Reading

19 is the code page. Press ‘GO.’

Peake Research R5/FCX-3 Code Page

76! Let’s see, that the throttle position sensor is amiss. Press ‘Go’ again:

Peake Research R5/FCX-3 Throttle Position Sensor

41! Hmm, need a new intake camshaft position sensor. Press ‘Go’ again:

Peake Research R5/FCX-3 Camshaft Position Sensor

CC! Something’s hosed with the idle control. Press ‘Go’ again:

Idle

All done!

All done

Was is worth it? Probably, if I use it twice it should more than pay for itself compared to dealer diagnostic rates. The nice thing about it is the size is small enough to keep in the car for freeway side diagnostics. Now it’s off to bimmerparts.com for new parts! Look forward to posts about replacing the above parts :)

Configuring XFS on a Very Large RAID Array

This was one of those times that you’ve got a huge task at hand and you get bogged down in some super small detail that consumes a full day… I’m setting up a new MythTV system and the first step is configuring the RAID array. The hardware’s a piece of cake, partitioning was no problem, but how do you create an XFS volume that’ll survive multiple expansions?

You see, I’ve been stung by this before, I think with efs3. You start out with a modest file system, expand it a couple times, then you’re out of inodes. You’ve got a lot of free space, but you can’t create any more files until you create more inodes. You can create more inodes without destroying the file system which means backing the whole thing up, etc…

Luckily, XFS creates new inodes on the fly so that problem’s fixed. But I will be ‘growing’ it several times so how do I start my 1.3 TB array with a file system that will grow to over 5 TB? Turns out to be fairly easy. Common wisdom on the Internet is to simply create a default XFS file system only with at least 512 byte inodes. That’s for a > 1 TB array. This array will probably grow to 5 TB so I made my inodes 1k or 1024 bytes. That’s supposed to spread the inodes around the file system a bit better and is a bit more efficient with directories with lots of files in them. Good so far.

Now I have the problem of performance. I ran some tests and was only getting about 180MB/s read/write performance. Compared to other benchmarks on the Internet, that was pretty low.

I thought my XFS RAID parameters were incorrect so I start goofing off with the -d su=XX,-sw=xx parameters to speed things up. These parameters are supposed to indicate to XFS what the underlying RAID geometry is so that it can efficiently read and write to the file system. The su or sunit is the RAID stripe size (64k in my case) and the sw or stripe width is the number of data drives you have in your array multiplied by the sunit. In my case, I have a total of three drives in the array, one parity and two data drives, so my stripe width would be 128k. After a while, nothing was making a performance impact. I then tested a single SATA 2 7200RPM drive by itself and got 40MB/s throughput. Now 180MB/s on a two data drive array aint lookin’ so bad. Then I noticed the 400MB/s benchmarks came from eight drive arrays. The more drives the faster the array so that probably explained it.

The tests I used were primarily:
Write test:

# dd if=/dev/zero of=10gb bs=1M count=10240
10737418240 bytes (11 GB) copied, 22.459 seconds, 478 MB/s

Read test:

# dd if=10gb of=/dev/zero bs=1M count=10240
10737418240 bytes (11 GB) copied, 28.7843 seconds, 373 MB/s

I also tried bonnie++ but the results were largely incomprehensible.

That’s when I made the decision not to care about the stripe size and width anymore. Primarily because it didn’t appear to make a difference and also because it seems you can’t change it after you create the file system. If I went with the above parameters, what would happen when I added another drive? I’d be hosed I suspect.

The command I used to create the file system was:

/sbin/mkfs.xfs -i size=1k -f /dev/data/lvol0

…where /dev/data/lvol0 was my LVM logical partition.

I’ll be expanding the array shortly. I’ll let you know how it goes.

Building a High Capacity, HDTV MythTV System.

We’ve outgrown our current home network/MythTV system.

The front ends, in the living room and master bedroom, are great at standard definition. They have AMD Sempron 2200’s running at I think 1.6 MHz and while they churn through SD with ease, they just can’t decode HD MPEG 2 at any resolution. We now have two HD TVs so that’s gotta change.

The storage is a mess too. I started with a 400GB drive. Then two 400GB and a 200GB drive in spanned across volumes for 1TB. Then I picked up an Adaptec 2400 IDE raid controller and two more 400GB drives for 1.2 TB of RAID 5 storage. That’s hot. But then we ran out of space, again. Upgrading would cost a fortune as my server is a bit dated (2x 2.2 GHz Xeons if you can believe it) and I can’t buy a good SATA 2 PCI RAID controller. I would need a whole new server. So I picked up a cheap PCI SATA card, external enclosure, and 750GB drive. Yahoo, 750 GB of un-protected storage for just about $270. Enough to get us through another couple months. We ran out quickly.

Time to spring for the new system.

The front ends work fine at SD on the HDTVs so they can wait a bit. I have a lot of projects that’ll take a lot of space queued up so I’ve gotta build the back end out first.

The requirements are a backend that can scale to at least 5 TB of storage, run MythTV backend and record SD & HD content. It’ll also be an SGI IRIX install server, host development web sites, general purpose mysql server, and sub-version server.

More on the parts I chose later.

There’s no minimum age for the XO OLPC Laptop…

Here’s our one year old crankin’ up Pippin for another hard core Python development session:

Baby on the XO

Next Page »