Posted: March 21st, 2009 | Author: jkorbes | Filed under: Technical Stuff | Tags: automobiles, iac valve, idle air control valve, mazda mpv, troubleshooting | 10 Comments »
I have owned a 2004 Mazda MPV LX since early 2006, and it has been a great vehicle so far. Plenty of room, fairly fuel-efficient, quite practical and very satisfactory on the whole… with one exception.
Starting around late 2007, the minivan started to occasionally stall while decelerating or braking. The RPMs would drop to near-zero and the engine would die. It only happened a couple of times over a few months but began to get more and more frequent as time passed. Generally it would only happen between 15 and 50 MPH, and only when letting off of the accelerator. After the first few times, I learned to avoid it by tapping the gas as I saw the RPMs plummet; if I did that in time, I was able to keep it from dying. If I didn’t however, my only recourse was to shift into Neutral, start the engine while rolling, shift back into Drive and keep going. Of course, this was quite unsafe, and by the time it was stalling once or twice every time I drove it, it was time to do something about it.
I did a bit of research online and found the occasional mention of a faulty IAC valve being the cause of stalling and rough idling. The folks at Kragen didn’t know what an IAC valve was, and I didn’t pursue it any further from there.
The van began to show a check engine light, so I took it in to the local Mazda dealership to have them check it out. It turns out the check engine light was the result of a sensor that was blocked by excessive carbon buildup in the intake manifold, which was caused in part by the stalling behavior. According to the tech, the stalling was causing the engine to run a richer fuel/air mix on restart (because it interpreted the stall as an indication of a fuel/air mixture that was too lean), and this frequently-richer burn was causing an undue amount of carbon buildup. They cleaned out the intake manifold with Seafoam (or a product like it), did a firmware upgrade, changed the plugs and wires (which I’d asked them to do as a maintenance step while they had it in there), and, $1,100 later, was given a clean bill of health. The MPV passed Oregon’s emissions testing, the stalling was gone and all seemed well.
A couple of months later, the stalling started to act up again, and grew in frequency as it did before. I did a bit more research and all available evidence still pointed at a faulty IAC valve. As it turns out, the folks at Kragen weren’t able to find the part I was referring to because it seems to go by several name/acronym combinations: IAC valve, idle air control valve, idle control valve.
Still not sure that a fix was in sight but willing to try it, I ordered a replacement IAC valve from an online parts retailer for around $65 and put it in. Replacement of the valve was very easy; it is attached to the intake manifold by two bolts, and has a simple wire harness attached to it. Here are two pictures showing its location on the engine. I saved these when I was doing my research and, unfortunately, can’t find the original source, but here they are:

Location of idle air control valve on MPV engine

Closeup of IAC valve
As you can see, the valve is fairly easy to locate. It should be in a similar location for the following years:
- 2002 Mazda MPV
- 2003 Mazda MPV
- 2005 Mazda MPV
- 2006 Mazda MPV
Years 2001 and earlier have the IAC valve attached to the firewall, but it should not be too difficult to find (the part itself looks the same as the one seen here).
Since installing the replacement valve around four months ago, the minivan has been running as good as it did when I bought it. There have been no issues whatsoever with stalling or rough running.
Posted: December 14th, 2008 | Author: jkorbes | Filed under: Uncategorized | No Comments »
I have a Maxtor OneTouch 4 Plus external USB drive, 750gb, that I wanted to connect to my home server running FreeBSD 7.0. I planned on using the drive for holding music and media, using the FreeBSD server as a media hub running Mediatomb and NFS/SMB shares.
In planning the venture, I needed the hard drive’s format to be as universally compatible and as universally stable as possible. I needed to be able to reliably interact with the drive under FreeBSD and Linux, as well as OS X and Windows (should the need ever arise, I want to be ready).
After some thought, I ended up settling on ext2 for the drive’s file system. I chose ext2 because:
- It is fairly universal, in that it can be mounted and used reliably from most OSs.
- I did not want to use FAT32; plus, FreeBSD’s msdosfs driver could not mount the drive properly (even with the -o large switch).
- Did not want to use NTFS because of general shakiness on any non-Windows platform.
- I initially tried UFS, but gave up after repeated failed attempts to get FreeBSD to partition and label it properly. (Not sure why; suspect the drive’s detected geometry may have been an issue.)
- Considered ZFS but decided I don’t want to be that cutting-edge; plus I wouldn’t have a use for most of its extended functionality. (I just need a basic filesystem.)
- Considered HFS+ but FreeBSD support is shaky (old driver, could not get it to compile on 7.0).
So, I plugged the drive into an Ubuntu Ibex box, formatted it into one ext2 partition and plugged it in to the FreeBSD box.
mount -t ext2fs /dev/da0s1 /mnt/media
So far, so good. The output of the mount command shows that the drive is there and mounted. But then:
cd /mnt
ls -la
ls: media: Bad file descriptor
For some reason, the mount point could not be listed.
After some research, I came across this bug report that described the problem in greater detail. Basically, newer versions of Linux seem to format ext2fs partitions using a 256-byte inode size, versus the previous default of 128 bytes, which is what the FreeBSD ext2fs driver expects it to be.
Fixing The Problem
To fix it, you’ll apply a patch by Josh Carroll, who posted it in the bug report linked above. Under a standard FreeBSD 7.0 installations, the commands will be something like this (as root):
cd /usr/src/sys/gnu/fs
cp -R ext2fs ext2fs.orig
cd ext2fs
fetch http://pflog.net/~floyd/ext2fs.diff
patch <ext2fs.diff
cd /usr/src
make buildkernel KERNCONF=GENERIC && make installkernel KERNCONF=GENERIC
If all goes well, you should then be able to restart, mount the drive, and have it work as expected. Good luck!
Posted: November 20th, 2008 | Author: jkorbes | Filed under: Technical Stuff | Tags: computers, drivers, mce, media center, windows | 20 Comments »
I have an older Toshiba laptop that I’ve had set up as an experimental media center box for a while now, running MediaPortal on top of Windows XP Pro. The thing has been working very well so far, except for one major problem — no matter how hard I tried, I could not get Windows XP Pro to recognize the receiver for the generic Media Center remote control I had picked up off of NewEgg.
Initially, I picked up a Logitech Harmony 550 remote, hoping I could make it work with the laptop’s built-in IrDA transceiver, but to no avail — the IrDA unit apparently cannot communicate on the Consumer IR spectrum that a standard remote control uses. Not one to be easily defeated, I picked up a cheap, generic Windows Media Center remote control and receiver. I plugged the receiver in and, to my dismay, Windows was unable to locate a driver for the device.
After months of sporadic attempts and research, I finally found the solution. Under Windows XP, the receiver will show up under “Other devices” in the Device Manager as an “eHome Infrared Transceiver”, sporting an exclamation mark badge over a question mark — missing drivers. Windows Update turns up nothing, and a patch for Windows XP MCE that is suggested by many seems to not help anything either.
To install the drivers for the device, follow these steps:
- Right-click on the device entry and select Properties.
- Click on the “Reinstall Driver…” button. Opt to not check Windows Update; you’ve probably already tried with no luck.
- Get esoteric with the “Install from a list or specific location” option.
- Get more esoteric with the “I will choose the driver to install” option.
- Under the “hardware type” box, choose the “Universal Serial Bus controllers” option.
- On the next page, a correctly-labeled driver should appear as the only option in the box. Continue.
- Skip affirmatively past any prompts you receive.
- After the driver is installed, wait a bit while it churns through the resultant child devices that will appear.
You should now be good to go! I just discovered this earlier this evening and was very excited, so I figured I’d make a post about it to save others the pain and heartache that I experienced.
Additional Note: In order for the correct driver to appear, you may need to install this update. It is for XP MCE 2005 but should also install cleanly on XP.