Thursday, July 29, 2010

Setup Gentoo on Asus U30JC-QX010X : Part 4 - Webcam

In order to use the asus U30JC-QX010X webcam on Gentoo, I needed to enable a few options in the kernel (2.6.34-r2) :
CONFIG_MEDIA_SUPPORT=y
CONFIG_VIDEO_DEV=m
CONFIG_VIDEO_V4L2_COMMON=m
CONFIG_VIDEO_ALLOW_V4L1=y
CONFIG_VIDEO_V4L1_COMPAT=y
CONFIG_VIDEO_MEDIA=m
CONFIG_IR_CORE=y
CONFIG_VIDEO_IR=y
CONFIG_MEDIA_TUNER=m
CONFIG_MEDIA_TUNER_CUSTOMISE=y
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L1=m
CONFIG_VIDEO_CAPTURE_DRIVERS=y
CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
CONFIG_VIDEO_IR_I2C=m
CONFIG_V4L_USB_DRIVERS=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_SND_RAWMIDI=m
CONFIG_SND_RAWMIDI_SEQ=m
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m
Added use flags :
media-tv/xawtv X alsa opengl
media-video/mplayer v4l v4l2
I only needed to emerge xawtv and mplayer. usbutils was already installed by hal.

Then, you can test your webcam :
mplayer tv://
Reference : Webcam - Gentoo Linux Wiki

Wednesday, July 28, 2010

Filed my first Gentoo bug today

While struggling again with linux nvidia driver to use my Geforce 310m under Gentoo, I found a bug in eselect-opengl package. The patch is available in bugzilla.

Saturday, July 24, 2010

Unable to add new components in Windows 7 [Solved]

I wanted to add IIS on my asus laptop with Windows 7 Pro x64 but it keeps failing miserably. I cannot add any new component. It fails with the error :
  • French : Une erreur s'est produite. Certaines fonctionnalités n'ont pas été modifiées correctement.
  • English : An error has occurred. Not all of the features were successfully changed.
It is not linked to my tuning of windows 7 professionnal as I have enabled back again services, tasks, auto run registry keys and startup shortcuts.

I have also enabled again system restore for both C and D drives. Strangely, I had to temporarily rename the C drive to its original name (OS) to avoid strange errors when validating the new configuration.

I found on the net that the following command line could help :
fsutil resource setautoreset true C:\
But it hasn't fixed my problem.

Each attempt adds five Windows Error Reporting events in the Application events log like :
Récipient d’erreurs 660181886, type 5
Nom d’événement : CbsPackageServicingFailure2
Réponse : Non disponible
ID de CAB : 0

Signature du problème :
P1 : 6.1.7600.16385
P2 : Microsoft-Windows-Foundation-Package
P3 : 6.1.7600.16385
P4 : amd64
P5 : unknown
P6 : 80073701
P7 : Resolve
P8 : Installed
P9 : Installed
P10 : Windows Optional Component Manager

Fichiers joints :
C:\Windows\Logs\CBS\CbsPersist_20100719145300.cab
C:\Windows\Logs\CBS\CbsPersist_20100720135637.cab
C:\Windows\Logs\CBS\CbsPersist_20100724175736.cab
C:\Windows\Logs\CBS\CbsPersist_20100724190432.cab
C:\Windows\Logs\CBS\CbsPersist_20100724202127.cab
C:\Windows\Logs\CBS\CBS.log
C:\Windows\servicing\Sessions\Sessions.xml
C:\Windows\winsxs\poqexec.log
C:\Windows\inf\setupapi.dev.log

Ces fichiers sont peut-être disponibles ici :
C:\ProgramData\Microsoft\Windows\WER\ReportArchive\Critical_6.1.7600.16385_12b152e0507da7dbac253e5d6773b3d790739076_02e58056

Symbole d’analyse :
Nouvelle recherche de la solution : 0
ID de rapport : 48d9af65-9764-11df-89ff-9b9906ca6306
Statut du rapport : 0
or
Récipient d’erreurs 1105700561, type 5
Nom d’événement : WindowsWcpOtherFailure3
Réponse : Non disponible
ID de CAB : 0

Signature du problème :
P1 : 6.1.7600
P2 : base\wcp\componentstore\csd_locking.cpp
P3 : CCSDirectTransaction::LockComponent
P4 : 321
P5 : c015000c
P6 : 0x05f3852f
P7 :
P8 :
P9 :
P10 :

Fichiers joints :
C:\Windows\Logs\CBS\CbsPersist_20100719145300.cab
C:\Windows\Logs\CBS\CbsPersist_20100720135637.cab
C:\Windows\Logs\CBS\CbsPersist_20100724175736.cab
C:\Windows\Logs\CBS\CbsPersist_20100724190432.cab
C:\Windows\Logs\CBS\CbsPersist_20100724202127.cab
C:\Windows\Logs\CBS\CBS.log
C:\Windows\servicing\Sessions\Sessions.xml
C:\Windows\winsxs\poqexec.log
C:\Windows\System32\LogFiles\Scm\SCM.EVM
C:\Windows\Logs\CBS\FilterList.log
C:\Windows\Temp\WER6622.tmp.hdmp
C:\Windows\Temp\WER66ED.tmp.mdmp

Ces fichiers sont peut-être disponibles ici :
C:\ProgramData\Microsoft\Windows\WER\ReportArchive\Critical_6.1.7600_61fd7aaf67694893e820b3fd1752ddf4faf4e84_06197a3e

Symbole d’analyse :
Nouvelle recherche de la solution : 0
ID de rapport : 48d9af64-9764-11df-89ff-9b9906ca6306
Statut du rapport : 0
Extract from C:\Windows\Logs\CBS\CBS.log (with telnet client component) :
Info    CBS    Perf: Resolve chain started.
Info CSI 0000000b@2010/7/24:20:44:42.885 CSI Transaction @0x69300e0 initialized for deployment engine {d16d444c-56d8-11d5-882d-0080c847b195} with flags 00000002 and client id [101]"TI1.30092144_4010074112:2/Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7600.16385"
Info CBS Exec: Resolving Package: Microsoft-Windows-Telnet-Client-Package~31bf3856ad364e35~amd64~de-DE~6.1.7600.16385, Update: TelnetClient
Info CBS Exec: Resolving component from existing package; passing NULL manifest path to PinDeployment and hoping things haven't been scavenged.
Info CBS Exec: Resolving Package: Microsoft-Windows-Telnet-Client-Package~31bf3856ad364e35~amd64~de-DE~6.1.7600.16385, Update: TelnetClient, PinDeployment: amd64_microsoft-windows-t..oyment-languagepack_31bf3856ad364e35_6.1.7600.16385_de-de_c3c58e4b573d9172
Error CSI 0000000c@2010/7/24:20:44:42.913 (F) d:\w7rtm\base\wcp\componentstore\csd_locking.cpp(321): Error STATUS_SXS_ASSEMBLY_MISSING originated in function CCSDirectTransaction::LockComponent expression: (null) [gle=0x80004005]
Error CSI 0000000d (F) STATUS_SXS_ASSEMBLY_MISSING #238072# from CCSDirectTransaction::OperateEnding at index 0 of 1 operations, disposition 2[gle=0xd015000c]
Error CSI 0000000e (F) HRESULT_FROM_WIN32(ERROR_SXS_ASSEMBLY_MISSING) #237957# from Windows::ServicingAPI::CCSITransaction::ICSITransaction_PinDeployment(Flags = 0, a = Microsoft-Windows-Telnet-Client-Deployment-LanguagePack, Version = 6.1.7600.16385, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture = [l:10{5}]"de-DE", VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral, cb = (null), s = (null), rid = [96]"Microsoft-Windows-Telnet-Client-Package~31bf3856ad364e35~amd64~de-DE~6.1.7600.16385.TelnetClient", rah = (null), manpath = (null), catpath = (null), ed = 0, disp = 0)[gle=0x80073701]
Info CBS Failed to pin deployment while resolving Update: TelnetClient from file: (null) [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
Info CBS Failed to resolve item[0] in Package: Microsoft-Windows-Telnet-Client-Package~31bf3856ad364e35~amd64~de-DE~6.1.7600.16385, Update: TelnetClient [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
Info CBS Failed to resolve execution update. [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
Error CBS Failed to resolve execution package: Microsoft-Windows-Telnet-Client-Package~31bf3856ad364e35~amd64~de-DE~6.1.7600.16385 [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
Info CSI 0000000f@2010/7/24:20:44:45.042 CSI Transaction @0x69300e0 destroyed
Info CBS Perf: Resolve chain complete.
Info CBS Failed to resolve execution chain. [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
Error CBS Failed to process single phase execution. [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
Info CBS WER: Generating failure report for package: Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7600.16385, status: 0x80073701, failure source: Resolve, start state: Installed, target state: Installed, client id: Windows Optional Component Manager
Info CBS Failed to query DisableWerReporting flag. Assuming not set... [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]
Info CBS Failed to add %windir%\winsxs\pending.xml to WER report because it is missing. Continuing without it...
Info CBS Failed to add %windir%\winsxs\pending.xml.bad to WER report because it is missing. Continuing without it...
Info CBS Reboot mark refs: 0
Info CBS Enabling LKG boot option
Info CBS Exec: End: nested restore point - complete.
Info CBS Restored system sleep block state: 0x80000000
Info CBS Client aborted the install. [HRESULT = 0x800f0821 - CBS_E_ABORT]
Info CBS Exec: Processing complete. Session: 30092144_4010074112, Package: Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7600.16385 [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
Error CBS Failed to perform operation. [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
Info CBS Session: 30092144_4010074112 finalized. Reboot required: no [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
A few notes :
  • STATUS_SXS_ASSEMBLY_MISSING : Culture is wrong ! Why the hell is it looking for German (de-DE) packages on my French laptop ?
  • The log tells Reboot required: no but it asks for reboot anyway (even if nothing is installed!)
I have downloaded System Update Readiness Tool (100 MB) even if the ERROR_SXS_ASSEMBLY_MISSING error might not be fixed by this tool (not listed in the error table). After 25 min execution, no error were detected in C:\Windows\Logs\CBS\CheckSUR.log.

Sytem File Checker tool (sfc /verifyonly) found nothing (aucune violation d'intégrité).

Google search :Running the package manager by hand is a bit more explicit (I use the same name as in my French graphical user interface):
pkgmgr /iu:"Client Telnet"
Gestionnaire de package Windows
Echec de l'opération avec 0x80073701
L'assembly référencé n'a pas pu être trouvé.

Well this is the ERROR_SXS_ASSEMBLY_MISSING error found earlier in Component Based Servicing log (CBS.log).

After some research with Process Monitor, it seems that TrustedInstaller.exe fails to open the registry key HKLM\COMPONENTS\DerivedData\Components\amd64_microsoft-windows-s..oyment-languagepack_31bf3856ad364e35_6.1.7600.16385_de-de_08eb0375be2e567f. I can confirm this with regedit : the de_de key is missing, I only got these versions : el-gr, en-us, es-es, fr-fr, he-il, it-it, nl-nl, pt-pt and zh-tw.

Note: HKLM\COMPONENTS might be missing on Windows 7. In this case, it would be generated completely if you launch Windows package manager UI.

These keys matches files under C:\Windows\winsxs. I cannot find the de-de files in this folder. This is what Andre Ziegler told me in the forums. He also confirmed that I need to reinstall Windows 7 (again :( ).

If I look into C:\Windows\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}, I can find all language files, and the German file in particular (like Microsoft-Windows-Shell-InboxGames-Package~31bf3856ad364e35~amd64~de-DE~6.1.7600.16385).

As adviced in Win7 Inside Out - WinSxS, I have launched language packs setup application lpksetup but German pack is not installed (as expected : manifests are missing).

Note: WinSxS = Windows Side by Side assemblies.

Thanks to mydigitallife, I have downloaded German MUI pack : windows6.1-kb972813-x64-de-de_399ac15b2d55fd5dea0770d98825d7e75f4ad533.exe. To install this pack :
  • Run pack exe to extract lp.cab file
  • Download vistalizator
  • Choose add language
  • Select lp.cab file
  • Validate language installation
  • Make German the new display language : no !
It is now possible to add new features. Victory !

Monday, July 5, 2010

How to read ext2 / ext3 partition under Windows 7

Ext2IFS works !
You must enable Vista compatibility mode (I have chosen Vista SP2).
Then you can assign drive letters in the control panel (IFS Drives Control Panel Item in Icon mode).
Unfortunately, it seems that you need to shutdown your computer to properly unmount the drive (hibernation improperly unmounts partitions).