Hi everybody,
As many people, I get the error code 21 while updating the EPG (TV guide) in windows media center for vista. I have been browsing the web for now one month to solve this problem. I know the error can appear suddenly after the EPG has been working perfectly for months. The error already occured with windows XP media center operating system, and could often be solved simply by deleting the EPG folder (in the ehome folder), and by reinstalling the guide in the media center (MCE) program. Good overviews about MCE errors and corresponding fixes can be found at http://blogs.msdn.com/astebner/articles/490466.aspx and http://blogs.msdn.com/astebner/articles/487537.aspx, although error 21 has no real fix there. In windows vista, many people seem to be unable to fix the problem with the method mentionned above. Moreover, Microsoft quotes this error in the general Vista Help and simply recommends to call the PC manufacturer for assistance, which is of little help cause no manufacturer seem to have been able to fix this problem.
The real diagnosis of error 21 is not the message displayed to the user, but the content of the .XML log file located in the C:\ProgramData\Microsoft\eHome\EPG\tracehelper folder.Below is a copy my log file. You can see that 100% of the guide seem to be downloaded and that a "Couldn't decompress and secure files" error with eventID 26 occurs before the error 21 is displayed. Any idea about what to do ?
Thanks
************************************************************- <trace> <event level="Error" source="Media Center Guide" time="2007:09:08 08:59:54:307934" eventid="26" category="0">Erreur d’exécution de la décompression des données. Couldn't decompress and secure files</event> <event level="Info" source="Media Center Guide" time="2007:09:08 08:59:54:307934" eventid="0" category="0">State now changed to: STATE_ERROR</event> <event level="Info" source="Media Center Guide" time="2007:09:08 08:59:54:205893" eventid="0" category="0">@ Ehepgdat Decompressing and securing files</event> <event level="Info" source="Media Center Guide" time="2007:09:08 08:59:54:202892" eventid="0" category="0">@ Ehepgdat: Bits Run Successful</event> <event level="Info" source="Media Center Guide" time="2007:09:08 08:59:54:202892" eventid="0" category="0">xn: bits: successful run.</event> <event level="Info" source="Media Center Guide" time="2007:09:08 08:59:54:178882" eventid="0" category="0">The job EPG Download is in state Transferred and is 100% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:08 08:59:53:947790" eventid="0" category="0">The job EPG Download is in state Transferring and is 100% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:08 08:59:52:782324" eventid="0" category="0">The job EPG Download is in state Transferring and is 63% complete.</event>
...
-- Denis
I have been having this same problem for 6 to 8 weeks now and it now means I can't program in anything to record any more.
I've tried everything from new installations of Vista, changing postcodes and transmitters (UK) and nothing works.
Reading the logs the dowload of the schedule appears to work just fine (or at least a part of it) but then it has trouble decrypting the data and that's what results in the error.
If this is happening with new installs, is this not happening to everyone, in the UK at least ?
I'm highly frustrated by this now.
UPDATED
Here are the latest log entries from today...
<event level="Error" source="Media Center Guide" time="2007:09:18 11:09:47:304488" eventid="26" category="0">Data decompression processing error. Couldn't decompress and secure files</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:09:47:304488" eventid="0" category="0">State now changed to: STATE_ERROR</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:09:47:250488" eventid="0" category="0">@ Ehepgdat Decompressing and securing files</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:09:47:238488" eventid="0" category="0">@ Ehepgdat: Bits Run Successful</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:09:47:238488" eventid="0" category="0">xn: bits: successful run.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:09:47:224488" eventid="0" category="0">The job EPG Download is in state Transferred and is 100% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:09:44:276488" eventid="0" category="0">The job EPG Download is in state Transferring and is 94% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:09:41:924488" eventid="0" category="0">The job EPG Download is in state Transferring and is 76% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:09:39:798488" eventid="0" category="0">The job EPG Download is in state Transferring and is 67% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:09:37:357488" eventid="0" category="0">The job EPG Download is in state Transferring and is 63% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:09:34:548488" eventid="0" category="0">The job EPG Download is in state Transferring and is 60% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:09:30:469488" eventid="0" category="0">The job EPG Download is in state Transferring and is 60% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:09:20:093488" eventid="0" category="0">The job EPG Download is in state Transferring and is 59% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:51:430488" eventid="0" category="0">The job EPG Download is in state Transferring and is 57% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:34:493488" eventid="0" category="0">The job EPG Download is in state Transferring and is 56% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:26:199488" eventid="0" category="0">Exiting Lineup version with version 430122397</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:26:196488" eventid="0" category="0">SqlLiteCommand.ExecuteReader:++++Guide load time: 4.7088 ms (select displayednumber, services.id, services.servicename from lineups, servicelineups, services where lineups.identifier = servicelineups.lineup and services.identifier = servicelineups.service and servicelineups.isprimary = 1 and servicelineups.isavailable = 1 and lineups.updatehidden = '0' and servicelineups.updatehidden = '0' and services.updatehidden = '0' order by displayednumber)</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:26:191488" eventid="0" category="0">Guide Db Init NativeCommand finished</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:26:191488" eventid="0" category="0">Guide Db Pre-Init finished</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:26:191488" eventid="0" category="0">Guide Db About to pre-init</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:26:191488" eventid="0" category="0">Finished Xn Open phase 6 - close</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:26:191488" eventid="0" category="0">Finished Xn Open phase 5</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:26:190488" eventid="0" category="0">Finished Xn Open phase 4</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:26:190488" eventid="0" category="0">Finished Xn Open phase 3</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:26:190488" eventid="0" category="0">Finished Xn Open phase 2</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:26:190488" eventid="0" category="0">Finished Xn Open phase 1</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:26:189488" eventid="0" category="0">Waiting on _xnOpenMutex</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:26:189488" eventid="0" category="0">opening sql lite connection</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:26:189488" eventid="0" category="0">GuideDbConnection SqlLiteConnection Init called</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:26:189488" eventid="0" category="0">GuideDbConnection new SqlLiteConnection called</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:26:189488" eventid="0" category="0">GuideDbConnection init called</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:26:189488" eventid="0" category="0">Creating new db connection</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:26:189488" eventid="0" category="0">Entering Lineup version</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:25:280488" eventid="0" category="0">The job EPG Download is in state Connecting and is 0% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:25:279488" eventid="0" category="0">The job EPG Download is in state Connecting and is 0% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:25:279488" eventid="0" category="0">The job EPG Download is in state Connecting and is 0% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:25:273488" eventid="0" category="0">The job EPG Download is in state Suspended and is 0% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:25:272488" eventid="0" category="0">@ Ehepgdat: Bits Run</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:25:234488" eventid="0" category="0">Downloading files http://epg.tvdownload.microsoft.com/epgdata/gb/5/2658985633/40/02/10/120049/120049_ListingData.txt?clientId=16753fb99a3e4d539cc6826fbf52d7b6&sessionToken=62CC2DC790D2F2F5C8EE1E4F8209BEC985BB77A19A2FE5A607DD5EA9842ED1EE1A97BCDA506C1915B0C562EA32096BB2B91908AA59F7305F</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:25:233488" eventid="0" category="0">@ Ehepgdat Downloading files</event> <event level="Warning" source="Media Center Guide" time="2007:09:18 11:08:25:233488" eventid="0" category="0">Unable to send Hms file</event> <event level="Warning" source="Media Center Guide" time="2007:09:18 11:08:25:233488" eventid="0" category="0">@ Ehepgdat: HmsTransmit Run Failed</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:19:232488" eventid="0" category="0">@ Ehepgdat Uploading HmsInfo</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:19:230488" eventid="0" category="0">@ Ehepgdat Crl and Rev Info Download</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:18:278488" eventid="0" category="0">ParseEpgService called : https://data.tvdownload.microsoft.com/epg/SEPGService.asmx/GetEPGDataMetaInfo?clientId=16753fb99a3e4d539cc6826fbf52d7b6&countryCode=gb&languageId=en&epgSupplierId=5&headendId=120049¤tVersion=0&sessionToken=62CC2DC790D2F2F5C8EE1E4F8209BEC985BB77A19A2FE5A607DD5EA9842ED1EE1A97BCDA506C1915B0C562EA32096BB2B91908AA59F7305F&epgDataSchemaVersion=1.1&clientType=ehome&version=6.0</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:18:278488" eventid="0" category="0">@ Ehepgdat Parsing EPG svc</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:17:170488" eventid="0" category="0">Discovery Service URI https://data.tvdownload.microsoft.com/discovery/discoveryservice.asmx/GetTVServicesMetaInfo?protocolVersion=1.0&clientAuthToken=6A6C2D1DAD009006D361EC694A24C512AEF4BFAFACBB7D547BA513443F02C0FC04808201B0D8B9C871E23D0B0DF349CA3263C47B9EDD47B6A2F289DB0B1E27099CF9CCA694C8FD3FF14CC76A99BBE51E09E7C4AA04D094EC1DF842846F05E503EC89CDC32C462481C38FD70CBC46A4AFC30FA4ADD3CE27875EB614E550F748BD&clientId=16753fb99a3e4d539cc6826fbf52d7b6&countryCode=gb&languageId=en&clientType=ehome&version=6.0</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:17:170488" eventid="0" category="0">ParseDiscoveryService called: https://data.tvdownload.microsoft.com/discovery/discoveryservice.asmx/GetTVServicesMetaInfo?protocolVersion=1.0&clientAuthToken=6A6C2D1DAD009006D361EC694A24C512AEF4BFAFACBB7D547BA513443F02C0FC04808201B0D8B9C871E23D0B0DF349CA3263C47B9EDD47B6A2F289DB0B1E27099CF9CCA694C8FD3FF14CC76A99BBE51E09E7C4AA04D094EC1DF842846F05E503EC89CDC32C462481C38FD70CBC46A4AFC30FA4ADD3CE27875EB614E550F748BD&clientId=16753fb99a3e4d539cc6826fbf52d7b6&countryCode=gb&languageId=en&clientType=ehome&version=6.0</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:17:170488" eventid="0" category="0">Discovery Service URI https://data.tvdownload.microsoft.com/discovery/discoveryservice.asmx/GetTVServicesMetaInfo?protocolVersion=1.0&clientAuthToken=6A6C2D1DAD009006D361EC694A24C512AEF4BFAFACBB7D547BA513443F02C0FC04808201B0D8B9C871E23D0B0DF349CA3263C47B9EDD47B6A2F289DB0B1E27099CF9CCA694C8FD3FF14CC76A99BBE51E09E7C4AA04D094EC1DF842846F05E503EC89CDC32C462481C38FD70CBC46A4AFC30FA4ADD3CE27875EB614E550F748BD&clientId=16753fb99a3e4d539cc6826fbf52d7b6&countryCode=gb&languageId=en&clientType=ehome&version=6.0</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:17:169488" eventid="0" category="0">State now changed to: STATE_DOWNLOADING</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:17:169488" eventid="0" category="0">@ Ehepgdat Parsing disc. svc</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:208488" eventid="0" category="0">State now changed to: STATE_CONNECTING</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:208488" eventid="0" category="0">@ Ehepgdat Est. xn</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:208488" eventid="0" category="0">SqlLiteCommand.ExecuteReader:++++Guide load time: 1.2810 ms (SELECT sources.* from sources WHERE sources.supplierid = '5' and sources.headendid = '120049' and sources.updatedelete = '0')</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:207488" eventid="0" category="0">Guide Db Init NativeCommand finished</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:207488" eventid="0" category="0">Guide Db Pre-Init finished</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:207488" eventid="0" category="0">Guide Db About to pre-init</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:206488" eventid="0" category="0">Finished Xn Open phase 6 - close</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:206488" eventid="0" category="0">Finished Xn Open phase 5</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:205488" eventid="0" category="0">Finished Xn Open phase 4</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:205488" eventid="0" category="0">Finished Xn Open phase 3</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:205488" eventid="0" category="0">Finished Xn Open phase 2</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:205488" eventid="0" category="0">Finished Xn Open phase 1</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:205488" eventid="0" category="0">Waiting on _xnOpenMutex</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:205488" eventid="0" category="0">opening sql lite connection</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:205488" eventid="0" category="0">GuideDbConnection SqlLiteConnection Init called</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:205488" eventid="0" category="0">GuideDbConnection new SqlLiteConnection called</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:205488" eventid="0" category="0">GuideDbConnection init called</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:205488" eventid="0" category="0">Creating new db connection</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:204488" eventid="0" category="0">@ Ehepgdat Loading old guide</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:198488" eventid="0" category="0">@ Ehepgdat Resetting</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:196488" eventid="0" category="0">@ Ehepgdat Logging d/l attempt</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:196488" eventid="0" category="0">State now changed to: STATE_INITIALIZING</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:160488" eventid="0" category="0">Exiting CreateGuide()</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:160488" eventid="0" category="0">Exiting CreateGuide() successfully</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:157488" eventid="0" category="0">SqlLiteCommand.ExecuteReader:++++Guide load time: 13.684 ms (select lineups.identifier, lineups.name, lineups.displayednumber, lineups.displayorder, 0 as isblocked, count(servicelineups.isavailable) as countavailable from servicelineups, lineups where servicelineups.lineup=lineups.identifier and servicelineups.isavailable =1 and servicelineups.istunable = 1 and servicelineups.isprimary = 1 and servicelineups.updatehidden = '0' and lineups.updatehidden = '0' group by lineups.identifier, lineups.name, lineups.displayednumber, lineups.displayorder)</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:144488" eventid="0" category="0">Guide Db Init NativeCommand finished</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:144488" eventid="0" category="0">Guide Db Pre-Init finished</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:144488" eventid="0" category="0">Guide Db About to pre-init</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:144488" eventid="0" category="0">Loading Channels Enter..</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:143488" eventid="0" category="0">SqlLiteCommand.ExecuteReader:++++Guide load time: 0.6050 ms (SELECT * from sources where loaderhash != 9943565 and updatehidden = 0)</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:143488" eventid="0" category="0">Guide Db Init NativeCommand finished</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:143488" eventid="0" category="0">Guide Db Pre-Init finished</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:143488" eventid="0" category="0">Guide Db About to pre-init</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:142488" eventid="0" category="0">Begin Sources Query</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:142488" eventid="0" category="0">Finished Xn Open phase 6 - close</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:141488" eventid="0" category="0">SqlLiteCommand.ExecuteReader:++++Guide load time: 1.736 ms (select version from sources where loaderhash = 9943565)</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:140488" eventid="0" category="0">Finished Xn Open phase 5</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:136488" eventid="0" category="0">Finished Xn Open phase 4</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:136488" eventid="0" category="0">Finished Xn Open phase 3</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:136488" eventid="0" category="0">Finished Xn Open phase 2</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:136488" eventid="0" category="0">Finished Xn Open phase 1</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:134488" eventid="0" category="0">Waiting on _xnOpenMutex</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:134488" eventid="0" category="0">opening sql lite connection</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:134488" eventid="0" category="0">GuideDbConnection SqlLiteConnection Init called</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:134488" eventid="0" category="0">GuideDbConnection new SqlLiteConnection called</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:134488" eventid="0" category="0">GuideDbConnection init called</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:117488" eventid="0" category="0">Begin Xn Init</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:117488" eventid="0" category="0">Entering CreateGuide()</event> <event level="Info" source="Media Center Guide" time="2007:09:18 11:08:16:021488" eventid="0" category="0">Apartment Event Helper Constructed Thread:</event> <event level="Error" source="Media Center Guide" time="2007:09:18 07:50:11:899888" eventid="26" category="0">Data decompression processing error. Couldn't decompress and secure files</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:50:11:899888" eventid="0" category="0">State now changed to: STATE_ERROR</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:50:11:775088" eventid="0" category="0">@ Ehepgdat Decompressing and securing files</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:50:11:775088" eventid="0" category="0">@ Ehepgdat: Bits Run Successful</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:50:11:775088" eventid="0" category="0">xn: bits: successful run.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:50:11:743888" eventid="0" category="0">The job EPG Download is in state Transferred and is 100% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:50:10:729888" eventid="0" category="0">The job EPG Download is in state Transferring and is 84% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:50:09:528688" eventid="0" category="0">The job EPG Download is in state Transferring and is 56% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:50:07:890688" eventid="0" category="0">The job EPG Download is in state Transferring and is 31% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:50:06:424288" eventid="0" category="0">The job EPG Download is in state Transferring and is 19% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:50:05:987488" eventid="0" category="0">The job EPG Download is in state Transferring and is 13% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:50:03:865888" eventid="0" category="0">The job EPG Download is in state Transferring and is 7% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:50:02:555488" eventid="0" category="0">The job EPG Download is in state Transferring and is 5% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:56:134888" eventid="0" category="0">The job EPG Download is in state Transferring and is 3% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:51:798088" eventid="0" category="0">The job EPG Download is in state Transferring and is 2% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:44:450488" eventid="0" category="0">The job EPG Download is in state Transferring and is 0% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:33:951688" eventid="0" category="0">The job EPG Download is in state Connecting and is 0% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:33:951688" eventid="0" category="0">The job EPG Download is in state Connecting and is 0% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:33:951688" eventid="0" category="0">The job EPG Download is in state Connecting and is 0% complete.</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:33:936088" eventid="0" category="0">@ Ehepgdat: Bits Run</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:33:514888" eventid="0" category="0">Downloading files http://epg.tvdownload.microsoft.com/epgdata/gb/5/2658985633/40/02/10/120049/120049_ListingData.txt?clientId=16753fb99a3e4d539cc6826fbf52d7b6&sessionToken=62CC2DC790D2F2F57F1A1A7A6A279609B8BB8025F366D5640426D601765D81218895522A68FECA3AE42659F82EB239AF3C2D90A04AF3C178</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:33:514888" eventid="0" category="0">@ Ehepgdat Downloading files</event> <event level="Warning" source="Media Center Guide" time="2007:09:18 07:49:33:514888" eventid="0" category="0">Unable to send Hms file</event> <event level="Warning" source="Media Center Guide" time="2007:09:18 07:49:33:514888" eventid="0" category="0">@ Ehepgdat: HmsTransmit Run Failed</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:31:346088" eventid="0" category="0">Exiting Lineup version with version 430122397</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:31:327088" eventid="0" category="0">SqlLiteCommand.ExecuteReader:++++Guide load time: 27.5744 ms (select displayednumber, services.id, services.servicename from lineups, servicelineups, services where lineups.identifier = servicelineups.lineup and services.identifier = servicelineups.service and servicelineups.isprimary = 1 and servicelineups.isavailable = 1 and lineups.updatehidden = '0' and servicelineups.updatehidden = '0' and services.updatehidden = '0' order by displayednumber)</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:31:299088" eventid="0" category="0">Guide Db Init NativeCommand finished</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:31:299088" eventid="0" category="0">Guide Db Pre-Init finished</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:31:299088" eventid="0" category="0">Guide Db About to pre-init</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:31:299088" eventid="0" category="0">Finished Xn Open phase 6 - close</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:31:299088" eventid="0" category="0">Finished Xn Open phase 5</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:31:296088" eventid="0" category="0">Finished Xn Open phase 4</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:31:296088" eventid="0" category="0">Finished Xn Open phase 3</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:31:296088" eventid="0" category="0">Finished Xn Open phase 2</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:31:296088" eventid="0" category="0">Finished Xn Open phase 1</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:31:295088" eventid="0" category="0">Waiting on _xnOpenMutex</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:31:295088" eventid="0" category="0">opening sql lite connection</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:31:295088" eventid="0" category="0">GuideDbConnection SqlLiteConnection Init called</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:31:295088" eventid="0" category="0">GuideDbConnection new SqlLiteConnection called</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:31:295088" eventid="0" category="0">GuideDbConnection init called</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:31:295088" eventid="0" category="0">Creating new db connection</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:31:295088" eventid="0" category="0">Entering Lineup version</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:27:437288" eventid="0" category="0">@ Ehepgdat Uploading HmsInfo</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:27:437288" eventid="0" category="0">@ Ehepgdat Crl and Rev Info Download</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:26:360888" eventid="0" category="0">ParseEpgService called : https://data.tvdownload.microsoft.com/epg/SEPGService.asmx/GetEPGDataMetaInfo?clientId=16753fb99a3e4d539cc6826fbf52d7b6&countryCode=gb&languageId=en&epgSupplierId=5&headendId=120049¤tVersion=0&sessionToken=62CC2DC790D2F2F57F1A1A7A6A279609B8BB8025F366D5640426D601765D81218895522A68FECA3AE42659F82EB239AF3C2D90A04AF3C178&epgDataSchemaVersion=1.1&clientType=ehome&version=6.0</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:26:360888" eventid="0" category="0">@ Ehepgdat Parsing EPG svc</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:24:239288" eventid="0" category="0">Discovery Service URI https://data.tvdownload.microsoft.com/discovery/discoveryservice.asmx/GetTVServicesMetaInfo?protocolVersion=1.0&clientAuthToken=19F382DA83D615E6DC07922E04FF38A06BF042130706FF04E892E6CB1D9A59919ECAC541963BFE5DB6F917CE9216AB1DF0F276CD3540F1D6D0E3C336C30018ED1C46882AF6DEC9C991504F9D4E928F058F918BEBFF9B9D8889A3869397EB714C3D6004B21590CE3F4D9ED9376539D0CECB45401E97385B7568DD95AFF1C15BE1&clientId=16753fb99a3e4d539cc6826fbf52d7b6&countryCode=gb&languageId=en&clientType=ehome&version=6.0</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:24:239288" eventid="0" category="0">ParseDiscoveryService called: https://data.tvdownload.microsoft.com/discovery/discoveryservice.asmx/GetTVServicesMetaInfo?protocolVersion=1.0&clientAuthToken=19F382DA83D615E6DC07922E04FF38A06BF042130706FF04E892E6CB1D9A59919ECAC541963BFE5DB6F917CE9216AB1DF0F276CD3540F1D6D0E3C336C30018ED1C46882AF6DEC9C991504F9D4E928F058F918BEBFF9B9D8889A3869397EB714C3D6004B21590CE3F4D9ED9376539D0CECB45401E97385B7568DD95AFF1C15BE1&clientId=16753fb99a3e4d539cc6826fbf52d7b6&countryCode=gb&languageId=en&clientType=ehome&version=6.0</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:24:239288" eventid="0" category="0">Discovery Service URI https://data.tvdownload.microsoft.com/discovery/discoveryservice.asmx/GetTVServicesMetaInfo?protocolVersion=1.0&clientAuthToken=19F382DA83D615E6DC07922E04FF38A06BF042130706FF04E892E6CB1D9A59919ECAC541963BFE5DB6F917CE9216AB1DF0F276CD3540F1D6D0E3C336C30018ED1C46882AF6DEC9C991504F9D4E928F058F918BEBFF9B9D8889A3869397EB714C3D6004B21590CE3F4D9ED9376539D0CECB45401E97385B7568DD95AFF1C15BE1&clientId=16753fb99a3e4d539cc6826fbf52d7b6&countryCode=gb&languageId=en&clientType=ehome&version=6.0</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:23:989688" eventid="0" category="0">State now changed to: STATE_DOWNLOADING</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:23:989688" eventid="0" category="0">@ Ehepgdat Parsing disc. svc</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:621688" eventid="0" category="0">State now changed to: STATE_CONNECTING</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:621688" eventid="0" category="0">@ Ehepgdat Est. xn</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:621688" eventid="0" category="0">SqlLiteCommand.ExecuteReader:++++Guide load time: 1.1551 ms (SELECT sources.* from sources WHERE sources.supplierid = '5' and sources.headendid = '120049' and sources.updatedelete = '0')</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:621688" eventid="0" category="0">Guide Db Init NativeCommand finished</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:621688" eventid="0" category="0">Guide Db Pre-Init finished</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:621688" eventid="0" category="0">Guide Db About to pre-init</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:574888" eventid="0" category="0">Finished Xn Open phase 6 - close</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:574888" eventid="0" category="0">Finished Xn Open phase 5</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:543688" eventid="0" category="0">Finished Xn Open phase 4</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:543688" eventid="0" category="0">Finished Xn Open phase 3</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:543688" eventid="0" category="0">Finished Xn Open phase 2</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:543688" eventid="0" category="0">Finished Xn Open phase 1</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:543688" eventid="0" category="0">Waiting on _xnOpenMutex</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:543688" eventid="0" category="0">opening sql lite connection</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:543688" eventid="0" category="0">GuideDbConnection SqlLiteConnection Init called</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:543688" eventid="0" category="0">GuideDbConnection new SqlLiteConnection called</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:543688" eventid="0" category="0">GuideDbConnection init called</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:543688" eventid="0" category="0">Creating new db connection</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:543688" eventid="0" category="0">@ Ehepgdat Loading old guide</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:19:044488" eventid="0" category="0">@ Ehepgdat Resetting</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:982088" eventid="0" category="0">@ Ehepgdat Logging d/l attempt</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:982088" eventid="0" category="0">State now changed to: STATE_INITIALIZING</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:716888" eventid="0" category="0">Exiting CreateGuide()</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:716888" eventid="0" category="0">Exiting CreateGuide() successfully</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:716888" eventid="0" category="0">SqlLiteCommand.ExecuteReader:++++Guide load time: 4.6635 ms (select lineups.identifier, lineups.name, lineups.displayednumber, lineups.displayorder, 0 as isblocked, count(servicelineups.isavailable) as countavailable from servicelineups, lineups where servicelineups.lineup=lineups.identifier and servicelineups.isavailable =1 and servicelineups.istunable = 1 and servicelineups.isprimary = 1 and servicelineups.updatehidden = '0' and lineups.updatehidden = '0' group by lineups.identifier, lineups.name, lineups.displayednumber, lineups.displayorder)</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:701288" eventid="0" category="0">Guide Db Init NativeCommand finished</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:701288" eventid="0" category="0">Guide Db Pre-Init finished</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:701288" eventid="0" category="0">Guide Db About to pre-init</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:701288" eventid="0" category="0">Loading Channels Enter..</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:701288" eventid="0" category="0">SqlLiteCommand.ExecuteReader:++++Guide load time: 0.5938 ms (SELECT * from sources where loaderhash != 9943565 and updatehidden = 0)</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:701288" eventid="0" category="0">Guide Db Init NativeCommand finished</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:701288" eventid="0" category="0">Guide Db Pre-Init finished</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:701288" eventid="0" category="0">Guide Db About to pre-init</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:701288" eventid="0" category="0">Begin Sources Query</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:701288" eventid="0" category="0">Finished Xn Open phase 6 - close</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:701288" eventid="0" category="0">SqlLiteCommand.ExecuteReader:++++Guide load time: 1.2891 ms (select version from sources where loaderhash = 9943565)</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:701288" eventid="0" category="0">Finished Xn Open phase 5</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:514088" eventid="0" category="0">Finished Xn Open phase 4</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:514088" eventid="0" category="0">Finished Xn Open phase 3</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:514088" eventid="0" category="0">Finished Xn Open phase 2</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:514088" eventid="0" category="0">Finished Xn Open phase 1</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:514088" eventid="0" category="0">Waiting on _xnOpenMutex</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:514088" eventid="0" category="0">opening sql lite connection</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:514088" eventid="0" category="0">GuideDbConnection SqlLiteConnection Init called</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:514088" eventid="0" category="0">GuideDbConnection new SqlLiteConnection called</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:514088" eventid="0" category="0">GuideDbConnection init called</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:186488" eventid="0" category="0">Begin Xn Init</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:18:186488" eventid="0" category="0">Entering CreateGuide()</event> <event level="Info" source="Media Center Guide" time="2007:09:18 07:49:17:749688" eventid="0" category="0">Apartment Event Helper Constructed Thread:</event>
Hi there,
I was experiencing the same problem. Downloading went to a 100%, but after that a decompression error (resulting in error 21). Tried just about everything I could find on the net, but nothing worked....
Yesterday I noticed something I hadn't seen before (mind you, it could just be a coincidence, I've had this error on a previous install and that was fixed magically). In the hidden directory C:\Program Data\Microsoft\Crypto\RSA\ there was no directory MachineKeys, which I do have on another machine that has a clean install of Vista Home Premium.
First of all I gave everyone full access rights on the directory (logged in as administrator), so that I could alter the contents of the directory without problems. And I created a directory called MachineKeys (again with full access rights for everyone) in the RSA directory.
After that I tried to update the guide (which I thought would have saved my zipcode, but obviously it didn't) which succeeded, but my guide was still empty. So I ran the guide setup again, entered zipcode etc. and after that the guide download was succesfull.
Hope this of any help.
Cheers,
Erwin
Hi Bob,
good to hear it put you on the right track!
I'd warn against that solution, I have over 20 keys in that store. I renamed it out of the way and tried it and lots of trusts I had stopped working so restored it and rebooted OK.
I did follow up a bit further on this though and found a post on an msdn blog that seems to narrow things down a little further.
http://blogs.msdn.com/astebner/archive/2005/12/03/499810.aspx
It seems a specific machinekey is responsible for the guide encryption and removing that may well work for a number of people.
Unfortunately it didn't work for me. On regenerating the missing key I still get the message...
File validation error - mismatched guide package. Code: 21
Perhaps there is another key that needs to be deleted as well? Hopefully an MS dev can tell us which one.
I noticed mceworld posted the 'Solution' already, I suggest someone gets them to change it before they zap their keystore and create a world of pain for themselves.
Hi Stubbo,
you've got a valid point there, but note that in my case there was no MachineKeys directory at all, so that wasn't an issue in my case.
The article you are referring to is about MCE2005, and I think the key is different on every computer (I have a different key on my computer now), so it's hard to tell which key to delete. But you are absolutely correct that you might remove RSA keys that are used by other programs if you move the directory as bobgentry did.
Maybe this is an idea if there is already a MachineKeys directory in de RSA folder:
1. temporarily rename the MachineKeys directory to MachineKeysOld
2. create a new directory MachineKeys
3. run the tv/guide setup in Media Center
4. if step 3 was succesful, copy the newly generated key from the new MachineKeys directory to the MachineKeysOld directory.
5. Remove the new directory MachineKeys
6. Rename MachineKeysOld back to MachineKeys.
In that way you'll add the new correct key to the existing set of keys. Of course I don't know if this will work, but it's worth a try.
Another possibility is maybe find in the registry which key is used, so you'll know which key to delete. But I'll have to check back home if I can find out where that info is stored.
Hope this helps.
P.S. On mceworld there's only the text about my fix when there is no MachineKeys store (no mention of renaming/deleting anything). Guess people will notice your reply when they read this original post before renaming an existing MachineKeys directory. Thanks for the input!
I have a solution:
I have been stuck with this problem for weeks. My last problems with vista MC was a few weeks ago, apparently MS released a patch that revoked rights for "Everyone" to a certain folder which caused endless problems.. so reading the above, one thing sounded familiar. I checked the parent folder of MachineKeys (C:\ProgramData\Microsoft\Crypto\RSA) and big surprise; "Everyone" has read-only and nothing else.. so as previously, I granted full access to all items and subfolders for "Everyone" and went right into media center and proceded to download the latest guide without problems. FU Microsoft.. get your sh!t together and stop F'ing with my bloody Media Center..
Okay, I've taken all of the comments away and done some experiments and found a solution that that has worked for me.
I summised that if the keys were being created correctly, perhaps it wasn't really the decryption that was failing, but the writting of the dycrypted data to the epg database.
I decided to find where the everyone authority was set in relation to the eHome folder, and it was the parent \ApplicationData\Microsoft folder.
I upped the authority for everyone to add modify and create rights as they were currently only set to read and execute.
Ran the guide update again, and bingo, it works.
Now I'm don't want to make wide ranging changes to the object authorities, so I decided to dig a little deeper.
I've found another copy of Vista that was downloading the epg data correctly previously and there is something interesting that's worth passing on.
Although the privaliges at the ApplicationData\Microsoft folder level were the same, they were not lower down at the eHome folder level.
In the working copy of Vista, does not inherit the priveliges from its parent ApplicationData\Microsoft folder, but on the non working system it does..
This mismatch seems to only be restricted to the eHome folder, all other subfolders of the ApplicationData\Microsoft folder have the same privaliges in both installations.
I checked another installation that didn't work and can confirm that too had inherited the parent priveliges.
As a final test I reset the everyone attributes on the ApplicationData\Microsoft folder back to read/execute and remove the inherited priveliges from the eHome folder. This was a simple case of turning off the inherit privelige flag on the eHome directory in the advanced security dialogue.
This now works perfectly.
Give it a go and see if it fixes your problems as well.
For MS, I guess you need to look into which update, or software installation could have changed the inherited priveliges flag on the eHome folder.
Job Done.
Thanks a lot to all participants in this post, in particular to TheMek and Stubbo.
The method proposed by TheMek (see the 6 steps above) almost worked for me. In addition I had to set permissions to "full access" for the RSA directory. Then I could restore the original permissions and it still works.
To summerrize, the method for me was the following:
0. Grant temporarily "full access" to the RSA directory (C:\Program Data\Microsoft\Crypto\RSA)
4. if step 3 was succesful, copy the newly generated key from the new MachineKeys directory to the MachineKeysOld directory. It may happen that the very same key already exists and can't be replaced, even by an administrator. In that case manual appropriation of the file is required.
7. Restore the initial permissions of "Everyone" for the RSA directory.
I really think that the media center team by microsoft should rapidly write an article about the present problem in the microsoft knowledge base.
Denis
I have just discovered what is really wrong with the MachineKeys folder as well now.
There should be a set of special permissions to override the inherited permissions on this folder, but they were no there.
Instead of al the deleting and renaming etc. you just need to check you have the following settings, and add them if they are missing.
Right click on \ProgramData\Microsoft\Crypto\RSA\MachineKeys and select Properties, then the security tab.
You should only have two sets of rights, everyone (special permissions) and administrators (special permissions). If not, then click the advanced button, then click the edit button. Unckeck the option to include inheritable permissions. When asked to copy or remove, choose remove.
If you are now left with the two special permissions for everyone and administrator, your done. If not, add the user everyone and set all the permissions except full control/traverse folder/Delete subfolder/Delete/Change permissions/Take ownership. Create the administrator and grant all permissions. Ok/Apply your way out.
So summing up from my previous email, it looks like the eHome directory had its inherit permissions flag chacked when it shouldn't have, and the same for the MachineKeys folder as well.
Anyway, I hope that's the last of it and we can all sleep well at night knowing that if we get an error code 21 again, we can all fix it at last.
Something new and interesting, and probably a problem for MS.
Since restoring the rights on the MachineKeys directory, I noticed my Windows Home Server connection is notw broken.
Sure enough, checking the event logs shows that the system account needs access to the WHS servers certificate which I'm guessing is placed there.
I would lay pretty good odds that the WSH client install changed the inheritance flag on the MachineKeys folder on my machine and that cause the problems with the guide as the rights were now no longer compatible with that.
Adding in SYSTEM with full rights to the MachineKeys directory fixed that problem, but the way it was doing it before with the inheritance flag causes bigger issues.
So it looks like having a media server with a tv guide is incompatible with being a windows home server client as they have conflicting rights requirements on the MachineKeys directory, at least out of the box.
Ho hum.