drbob's Blog

November 11, 2011

Installing Windows 7 on an Asus eee pc 1000H

Filed under: eeepc — gbdrbob @ 6:49 pm

After the HD failed on my trusty Asus EEE PC 1000H I decided to get one of those swish new solid state flash drives and install Windows 7.

The purchase and installation of an OCZ Agility 3 drive went smoothly (enabling AHCI mode required an unofficial BIOS update, read the thread, I recommend the basic AHCI mod, the over clocking bios mods have issues). Please note that enabling AHCI mode involves installing a third party modified bios, I don’t recommend it unless you’re installing an SSD. AHCI is not required but you’ll get better performance from an SSD with AHCI enabled. I also updated the ssd drive firmware using the tools on the ocz community forums.

The installation of Windows 7 was another matter. The following is almost certainly re-inventing the wheel but what should be the go-to site for info on the eee pc – the eeeuser forums, is unfortunately down so often I’ve never once been able to access it when I actually needed to look something up.

Step one – install with no cd/dvd drive

Solved easily enough – Microsoft provide a utility (available here or here) which will copy Windows 7 from an iso dvd image file to an sd card or usb drive and make it bootable.

Note you may need to change the boot order in the EEE PC bios to ensure it tries to boot off external drives before the internal hard drive.

Step 2 – drivers

This is where my pain began. Windows 7 has basic built in drivers for most of the peripherals but to get full functionality you need the proper drivers. I suggest you let windows update find the video driver and look below for the rest:

Asus has decided not to support the installation of windows 7 on the 1000H so their web page for windows 7 on the 1000H is very unhelpful, listing only manuals, bios updates and a broken (“Cannot connect to server.”) liveupdate utility.

Thankfully (for you) I’ve done the hunting around to find all the necessary updated drivers. Asus reused most of the hardware in the 1000H in later models that do have official Windows7 support so most drivers are available direct on the asus web site, you just need to know where to look.

Chipset

This may not be necessary as the default windows chipset drivers appeared to work fine but Intel provide a web page to scan your system for updated drivers here.

At the time I scanned my eeepc it suggested the v9.2.0.1025 inf update utility.

Touchpad

Asus used elantech touchpads in the eee pc.

The latest elan touchpad driver that works with my eeepc seems to be version 7.0.5.16 the later v8 series drivers won’t install.

Click here for a list of all the touchpad drivers Asus provide for windows 7 32 bit.

Camera

The camera in my 1000H is made by Chicony. I’m not sure if they used the same model in all productions runs or switched around between camera models (asus certainly have done this with other laptops), so find the camera hardware id in device manger (instructions from Asus on how to do this).

Windows identified my webcam as a CNF7129 with hardware id USB\Vid_04f2&Pid_b071&MI_00 this suggests chicony driver V061.005.200.440 from asus. I saw a big improvement in camera image quality with this driver over the default windows driver.

Click here for all the various camera drivers Asus provide for windows 7 32 bit.

Function Keys

Many of these won’t work at all without the driver. The windows XP “astray.exe” tray utility is replaced by “HotkeyService” system service in windows 7.

Download HotkeyService v1.20 from asus here.

To assign programs to the two user configurable silver hardware shortcut keys you need the InstantKey v1.12 utility.

SuperHybridEngine

Utility to throttle back the CPU to eke out extra time when running off the battery or (slightly) overclock the CPU for some extra speed.

Windows 7 version 2.13 here.

Bluetooth

The standard windows bluetooth driver should work OK, but more functionality is available if you install the broadcom bluetooth driver. I had to run it several times as before the broadcom downloader utility successfully authenticated my system and installed the driver.

With all of that installed my system runs well, with no lost functionality compared to XP, and is surprisingly snappy thanks to the ssd. Audio (Realtek ALC269) and wifi (Ralink/Mediatek RT2860) drivers are also available but I was happy with drivers provided by windows – if it ain’t broke, dont’t fix it.

Here is a zip file with all the drivers I used with my eee pc. Please note that your pc may require different camera drivers.

UPDATE

One issue I noticed after a few months is that in Windows 7 you loose the ability to set the screen resolution to scaled non native resoultions such as 1024×768 and 1152×864 (downscaled to fit the 1024×600 screen). The option to use down scaled screen resolutions can be restored with a registry hack. It’s described here (I think this advice may have originated on this thread on the eeuser forums, but, as usual the forum site is down…):

1) Run regedit
1a) If you are not on higest tree level, go to it (click on “Computer” at the top of the key tree on the left)
2) Search and modify all values “Display1_DownScalingSupported” from “0″ to “1″ (you can press F3 to repeat a search)
3) Restart the system
4) Enjoy the two new resolutions: 1024×768 px and 1152×864 px

UPDATE 2

After some time using the eepc with the ocz agility3 ssd I noticed it would intermittently hang in windows for up to 30 seconds. This invariably happened during heavy disk access. I worked around the issue by disabling HIPM/DIPM (host initiated power management/drive initiated power management) in the power settings. The option to set this has to be enabled with a registry hack, as described here. Disabling HIPM/DIPM removed the freezing but also may reduce battery life, a future bios update for the ssd or the intel ICH7 controller may solve the issue properly.

December 7, 2009

Recompiling ffmeg with mpeg2 in Debian Lenny

Filed under: Uncategorized — Tags: , , , , , — gbdrbob @ 12:37 am

I recently tried to use VLC on Debian Lenny to stream video in mpeg2 format to my Dreambox. I discovered to my dismay that mpeg2 encoding has been silently removed from ffmpeg (which vlc uses to perform the encoding) due to software patent licensing issues. VLC would give the following error message:

ffmpeg encoder error: cannot find encoder MPEG-2 Video

These bugs discuss the problem: #440216, #440702, #508524, #522373. The package maintainers promise a neat solution in the next release of Debian with a new package in “non-free” which will include the removed encoders, but that rather leaves us users in the lurch if we need mpeg2 now.

A recipe for recompiling ffmpeg with the removed encoders is suggested in bug 50854:

# apt-get build-dep ffmpeg-debian
$ apt-get source ffmpeg-debian
$ cd ffmpeg-debian-0.svn20080206
$ DEB_BUILD_OPTIONS=internalencoders fakeroot debian/rules get-orig-source
$ sed -i '1s/ffmpeg-debian/ffmpeg/' debian/changelog debian/control
$ DEB_BUILD_OPTIONS=internalencoders dpkg-buildpackage -us -uc

Unfortunately it doesn’t work. New ffmpeg packages build correctly but they too are stripped of the mpeg2 encoder. To get a non-stripped ffmpeg with the encoders enabled I had to hack both the download and the build scripts, manually extract the “original source” tarball and copy the “debian” directory into the “original source” directory tree before attempting to compile.

Here’s what I did broken down into steps (prefix of # means as root, $ can be as a normal user), start in an empty directory:

1)  Get required dependencies and download the official debian (stripped of mpeg2) package source:

# apt-get build-dep ffmpeg-debian
$ apt-get source ffmpeg-debian
$ cd ffmpeg-debian-0.svn20080206

2) Edit debian/rules to stop the automatic stripping of the original source after download and the disabling of mpeg2 in the build options.

I did this by commenting out lines 27 to 29 (add a #  in front of each line), as they cause mpeg2 to be disabled in the build config:

ifeq (,$(findstring internalencoders,$(DEB_BUILD_OPTIONS)))
 echo "#include \"config-extra-includes.h\"" >> debian-$*/config.h
endif

I also removed line 66 which runs a script to strip mpeg2 references out of the orginal source code. Delete the line which reads:

-c $(CURDIR)/debian/strip.sh \

3) Now download the original souce code:

$ DEB_BUILD_OPTIONS="internalencoders"
$ fakeroot debian/rules get-orig-source

4) Untar the original source file, creating an “ffmpeg” sub directory:

$ cd ..
$ tar -zxf ffmpeg_0.svn20080206-18.tar.gz

5) Copy the debian files from the official package into the original source directory tree

$ cp -r ffmpeg-debian-0.svn20080206/debian ffmpeg/

6) Fix the name of the package in the debian files and compile:

$ cd ffmpeg
$ sed -i '1s/ffmpeg-debian/ffmpeg/' debian/changelog debian/control
$ DEB_BUILD_OPTIONS="internalencoders"
$ dpkg-buildpackage -us -uc

You’ll then have a set of .deb files in the parent directory which you can install using “dpkg -i” I didn’t need the dev or doc packages but installed all the rest.

Once installed ffmpeg had mpeg2 encoding again:

$ ffmpeg -formats | grep mpeg2
FFmpeg version r11872+debian_0.svn20080206-18, Copyright (c) 2000-2008 Fabrice Bellard, et al.
 configuration: --enable-gpl --enable-libfaad --enable-pp --enable-swscaler --enable-x11grab
--prefix=/usr --enable-libgsm --enable-libtheora --enable-libvorbis --enable-pthreads --disable-strip
--enable-libdc1394 --enable-shared --disable-static
 libavutil version: 49.6.0
 libavcodec version: 51.50.0
 libavformat version: 52.7.0
 libavdevice version: 52.0.0
 built on Dec  6 2009 13:56:07, gcc: 4.3.2
 E mpeg2video      MPEG2 video
DEVSDT mpeg2video

VLC will stream/convert video to mpeg2 again.

As stated in bug #508524 recompiling ffmpeg with mpeg2 in Lenny is completely unsupported, the above advice has not been extensively tested and is without warranty of any kind, if it breaks your system you get to keep the pieces.

Issues I still need to address:

  • The package version number remains the same, so any updates to the official package will probably replace the version with mpeg2 created above. Advice on how to fix this is welcome.

There is probably a much simpler way of achieving the above result but despite much googling I was unable to find it. Feel free to point me in the right direction if a better solution exists.

This blog describes a similar problem on Ubuntu.

Blog at WordPress.com.