locked
How to create a metadata package for app using mobile broadband api

    Question

  • I'm trying to create a device metadata package with help of the metadata authoring tool for a mobile device on my Windows 8 computer. What I need is
    to make my application able to use the Metro Mobile BroadBand Api's. By reading Microsofts documentation, I have understood that I need to create
    a metadata package that is giving my application rights to use the Metro Mobile Broadband Api's. The problem is that I haven't succeeded to do this
    by using the meta data authoring tool. From what I understand, I should be able to see the application referenced in the mobile account related registry
    entries. I can see that my metadata package is unpacked into the DeviceMetadataCache. My guess is that I need to do something more than just create the metadata
    package and copy it to the DeviceMetaDataStorage. The question is what.
    I have tried to remove the registry entries for the mobile account and restart the mobile device. The result
    is that the registry entries are recreated. But they do not contain the extra information about my application. Which should be there.
    I have checked the event logs, which is the suggestion from the Microsoft documentation. But I can't see any errors or other indications that suggests that something
    has gone wrong.
    Thursday, March 8, 2012 2:01 PM

Answers

All replies

  • pwr00,

    I will look into this for you.

    Best Wishes - Eric

    Monday, March 12, 2012 8:14 PM
    Moderator
  • pwr00,

    The below paper should be helpful:

    http://msdn.microsoft.com/library/windows/hardware/br259122

    Best Wishes - Eric

    Thursday, March 15, 2012 3:25 AM
    Moderator
  • pwr00,

    Also the following:

    http://go.microsoft.com/fwlink/?linkid=242058
    is the whitepaper that covers the step-by-step process for creating metadata.

    The full set of mobile broadband docs at http://msdn.microsoft.com/en-us/library/windows/hardware/hh852368.aspx


    Tuesday, March 20, 2012 6:47 PM
    Moderator
  • Hi!

    Thank you for your help! The debug tips were quite helpful. Now I can see that there's something wrong with my metadata package. Unfortunately not what.

    The error message says:

    Error updating mobile broadband account data store.  Error is 0x800401F3: Invalid class string

    The complete part from the log where the metadata package is parsed is pasted bellow. Is there some other way to validate the metadata package? I've tried hundreds of different combinations. I guess it's the "Applications" part of the metadata package that causes problems. But I'm not really sure. In a perfect world I would get more information about how to solve this problem.


    [Microsoft-Windows-Mobile-Broadband-Experience-Parser-Task]Parsing metadata for device container with id "{A17851B4-9088-11E1-A10A-E0CA94493BC5}" for culture "en-US".
    [Microsoft-Windows-Mobile-Broadband-Experience-Parser-Task]Starting parse of mobile broadband service information file.
    [Microsoft-Windows-Mobile-Broadband-Experience-Parser-Task]Metadata package contains data for culture "en-US".
    [Microsoft-Windows-Mobile-Broadband-Experience-Parser-Task]Cryptographic error verifying digital signature for file "c:\programdata\microsoft\windows\devicemetadatacache\dmrccache\multiloc\e3b41e15-3a2f-4114-990f-78ef8dd64fc9\ServiceInfo\en-US\MobileBroadbandInfo.xml".  Error is 0x800F023F: A file could not be verified because it does not have an associated catalog signed via Authenticode(tm).
    [Microsoft-Windows-Mobile-Broadband-Experience-Parser-Task]Signature verification error ignored because test signing is enabled on this computer.
    [Microsoft-Windows-Mobile-Broadband-Experience-Parser-Task]Finished parse of mobile broadband service information file.
    [Microsoft-Windows-Mobile-Broadband-Experience-Parser-Task]Starting update of stored network account infomation.
    [Microsoft-Windows-Mobile-Broadband-Experience-Parser-Task]Error updating mobile broadband account data store.  Error is 0x800401F3: Invalid class string
    [Microsoft-Windows-Mobile-Broadband-Experience-Parser-Task]Finished update of stored network account infomation.
    [Microsoft-Windows-Mobile-Broadband-Experience-Parser-Task]Parsing metadata for device container with id "{A17850C9-9088-11E1-A10A-E0CA94493BC5}" for culture "en-US".
    [Microsoft-Windows-Mobile-Broadband-Experience-Parser-Task]Parser task finished.
    [Microsoft-Windows-Mobile-Broadband-Experience-Parser-Task]MbaeParserTask did not complete successfully.  Error is 0x80070306: One or more errors occurred while processing the request.

    Friday, April 27, 2012 9:42 AM
  • Has this issue been resolved? 

    I see successful WWAN SVC logs with data store create/update start and data store create/update finished with no errors.

    I do not see logo in the flyout, registry items are there but not updated fully, and there are no logs for the Microsoft-Windows-Mobile-Broadband-Experience-Parser-Task. Any advice on how to debug this?

    My metro app can call IMbnInterfaceManager::GetInterfaces successfully now (previously was returning E_ACCESSDENIED), but now IMbnDeviceServicesContext::EnumerateDeviceServices() fails with E_ACCESSDENIED. 

    I have entered the IMSI range and providerID for the Associations with a IMSI range covering my IMSI. The one question I have is regarding Service Number. How do I know which GUID to use? I created my own based on several references from the docs such as:

    • Service Number (Required): Specify a GUID that uniquely identifies your service. This GUID is used to identify the operator when using operator XML provisioning. If you update the device metadata package, this GUID should remain the same. For more information on selecting a GUID for Service Number, see the Guide to Providing Mobile Broadband Metadata at http://go.microsoft.com/fwlink/?linkid=242064.

    Note  This is a different value than the Experience ID and the file name of the device metadata package.

    • Service Number:  The unique ID for the mobile broadband service provider. This GUID is also used to identify the operator when using Account Provisioning Metadata. If you update the device metadata package, this GUID should remain the same.
    • Element

    The ServiceNumber element specifies the unique self-generated GUID that represents this operator. This GUID must be present and is checked when the Operator provisioning API is used to ensure a match with the GUID value that is included in the operator provisioning XML file. This file is described in Providing Mobile Broadband Metadata.


    Friday, May 4, 2012 11:06 PM
  • Hi clarenceq,

    The error you're getting is because you're using an invalid Service Number. Can you double-check the formatting of the GUID? A GUID is a 128-bit value consisting of one group of 8 hexadecimal digits, followed by three groups of 4 hexadecimal digits each, followed by one group of 12 hexadecimal digits. The following example GUID shows the groupings of hexadecimal digits in a GUID: 6B29FC40-CA47-1067-B31D-00DD010662DA

    Visual Studio 11 can generate GUIDs. On the Tools menu, click Create GUID. Select option #4 Registry Format, but remove the braces from the GUID when copying the GUID into the Service Metadata Authoring Wizard.

    -Jack

    Saturday, May 5, 2012 12:13 AM
  • Thanks Jack.

    Unfortunately i do not believe it is the GUID. The GUID I generated was from VS tool Create GUID and i did copy it using option4, excluding the brackets. So you are saying it is correct for me to generate the GUID (rather than somehow looking it up based on the carrier i am using)?

    Any other ideas or ways of debugging this?

    What is strange is on very rare occasion i do see the dmrccache update. I do go to Control Panel -> Devices and Printers and hit F5 after plugging in device every time. I don't believe it is the "classic control panel", just the standard win 8 control panel, as i don't know how to differentiate between classic and non-classic. i don't see any signs it is used though, registry not updated and no flyout update and no logs for the parser task.

    -Clarence

    Saturday, May 5, 2012 12:43 AM
  • Clarence,

    Please try clearing the metadata cache by deleting all folders under %programdata%\Microsoft\Windows\DeviceMetadataCache\dmrccache\culture where culture is the culture code for the current culture of your test computer (for example, en-us) and rebooting.

    Note if you make changes to metadata, the metadata package must have a different GUID as the file name.

    -Jack

    Thursday, May 10, 2012 10:22 PM