How I fixed my Wii’s noisy disc drive & read errors.

I got my Wii in late 2006 and around 2009 I noticed it was starting to sound like a circular saw when the disc drive was spinning. This was annoying but it didn’t affect the games so I never thought much about it.

About two weeks ago, however, New Super Mario Bros. Wii stopped working:

The Wii basically worked except for the disc drive. As soon as I put a disc in, I’d get the error above – even if I didn’t start start the game. I tried blowing in the disc slot (the only thing I could think of… worked for my old NES!) but the problem continued. I figured I had two choices: buy another Wii or attempt to fix mine. Since mine was already essentially useless I figured it couldn’t hurt anything to try fixing it.

After some searching I quickly learned that to do any work inside a Wii requires a Tri-Wing screwdriver just to open the case. I went to the hardware store and got a Tri-Wing bit but it was too big to be of any use on the Wii. I found this Silverwing Tri-Wing screwdriver on Amazon for under $5 that did the trick.

With trusty screwdriver in hand, I opened the Wii thusly:

With it now open I followed this guy’s advice:

Bending these small triangles down created a gap that stopped the vibration & the noise and made the Wii playable again.

Bend these small pieces down to stop the Wii disc drive's loud noise.
Bend these small pieces down to stop the Wii disc drive's loud noise.

It has some new weird sounds when the disc first spins up and when it spins it down (I assume the braking mechanism) but it’s practically silent during gameplay. Yay!

Pretty good

Pretty, pretty, pretty, pretty, pretty good.

One-click converting .avi to .mp4 for iPod or iPhone

After a lot of searching for an easy way to do this, I stumbled onto WinFF, which is a gui wrapper around ffmpeg, a GPL’d MPEG encoder. It worked pretty well out of the box, but for all of the AVIs I’d recorded with my old camera (Canon Powershot A540) it would fail immediately with this error:

Audio resampler only works with 16 bits per sample. patch welcome.

After some searching it seems this is related to a known bug which was apparently fixed in February 2009. I set out to find a newer ffmpeg.exe (which is what WinFF calls to do the actual conversion). I found some Win32 builds of ffmpeg here but found that they all claimed to not know the “libfaac” codec. After some more digging I learned that libfaac (the audio codec for MP4 for iPod/iPhone) is no longer considered free software and was dropped from the repository in mid-April. Fortunately there were older builds available, and I grabbed the one dated 2009-04-01, extracted the ffmpeg.exe into my WinFF directory and voila, it worked.

Old ffmpeg.exe:

C:\Documents and Settings\Evan>"C:\Program Files\WinFF\ffmpeg.exe" -version
FFmpeg version SVN-r15986, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --extra-cflags=-fno-common --enable-memalign-hack --enable-pthr
eads --enable-libmp3lame --enable-libxvid --enable-libvorbis --enable-libtheora
--enable-libspeex --enable-libfaac --enable-libgsm --enable-libx264 --enable-lib
schroedinger --enable-avisynth --enable-swscale --enable-gpl
  libavutil     49.12. 0 / 49.12. 0
  libavcodec    52. 6. 0 / 52. 6. 0
  libavformat   52.23. 1 / 52.23. 1
  libavdevice   52. 1. 0 / 52. 1. 0
  libswscale     0. 6. 1 /  0. 6. 1
  built on Dec  3 2008 01:59:37, gcc: 4.2.4
FFmpeg SVN-r15986
libavutil     49.12. 0 / 49.12. 0
libavcodec    52. 6. 0 / 52. 6. 0
libavformat   52.23. 1 / 52.23. 1
libavdevice   52. 1. 0 / 52. 1. 0
libswscale     0. 6. 1 /  0. 6. 1

New ffmpeg.exe:

C:\Documents and Settings\Evan>"C:\Program Files\WinFF\ffmpeg.exe" -version
FFmpeg version SVN-r18306, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --enable-memalign-hack --prefix=/mingw --cross-prefix=i686-ming
w32- --cc=ccache-i686-mingw32-gcc --target-os=mingw32 --arch=i686 --cpu=i686 --e
xtra-cflags=-fno-common --enable-avisynth --enable-gpl --enable-zlib --enable-bz
lib --enable-libgsm --enable-libfaac --enable-pthreads --enable-libvorbis --enab
le-libmp3lame --enable-libopenjpeg --enable-libtheora --enable-libspeex --enable
-libxvid --enable-libfaad --enable-libschroedinger --enable-libx264
  libavutil     50. 2. 0 / 50. 2. 0
  libavcodec    52.22. 3 / 52.22. 3
  libavformat   52.32. 0 / 52.32. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libswscale     0. 7. 1 /  0. 7. 1
  built on Apr  2 2009 03:25:40, gcc: 4.2.4
FFmpeg SVN-r18306
libavutil     50. 2. 0 / 50. 2. 0
libavcodec    52.22. 3 / 52.22. 3
libavformat   52.32. 0 / 52.32. 0
libavdevice   52. 1. 0 / 52. 1. 0
libswscale     0. 7. 1 /  0. 7. 1

This also works great for encoding videos to XviD, which shrinks them to about 10-20% of their original size, making it much faster (in some cases, possible) to upload them to sharing sites.