MSDN Embedded CE Tech Chat (October 27, 2009)

Chat Topic: MSDN Embedded CE Tech Chat
Date: Tuesday, October 27, 2009

Please note: portions of this chat have been edited for clarity.

Introductions:

Sing Wee[MS] (Expert):
Hi, I'm Sing Wee, part of the CoreOS/BSP Test Team.

rajran[MS] (Expert):
Hi , I am Rajeev Rangappa, PM in CoreOS team.

RajeevDubey[MS] (Expert):
Hi, I am Rajeev Dubey, Bluetooth Program Manager.

MariNe_MSFT (Expert):
My name is Mariana Nenova - SDET in the Shell team.

MikeThom [MS] (Expert):
Hi I am Mike Thomson, Group Manager from Windows Embedded CE

Sue Loh [MS] (Moderator):
Hi, I'm Sue Loh, a developer on the Windows Mobile tools team (with past experience on the kernel and file system).  I hope we can answer some of your questions today!

FBLANQ_MSFT (Expert):
Hi, I'm Francisco Blanquicet, part of the CoreOS/BSP team.

GLanger_MS (Expert):
Hi, I'm Glen Langer, lead PM for Core and BSPs.

MS_Dinglu (Expert):
Hi, I am Dingding Lu, I am in CoreOS/BSP test team

Start of chat:

mskim_MS (Expert):
Q:
Regarding Silverlight Runtime in R3 and Expression Blend 2 - Expression Blend 2 appears to be unable to cope with the CacheMode="BitmapCache" tag that's needed for off-screen rendering in the silverlight runtime. Am I doing something wrong?
A: Andrew, CacheMode is from Silverlight3, we added this feature into Cashemere for a better performance but Expression Blend2 doesn't know about this SL3 property.

kurtken_msft (Expert):
Q:
Can you point me to any documentation on the "threaded" SMS-message view in tmail.exe; I am having trouble adding my custom context-menu extension to it
A: Are your referring to the Windows Mobile SMS application?  This chat is for Windows CE.

mskim_MS (Expert):
Q:
So if I use Blend 3 will this help or just cause more problems?
A: You can't use Expression 3 with Cashmere, please use Blend2. You will need to add CacheMode only for the device XAML not in Blend2 XAML.

kurtken_msft (Expert):
Q:
Regarding mdd/pdd flash driver. There is some blocks that the MDD allocates for managing the data. Is it save to backup and recover those blocks? Where can we get info about them?
A: Can you give more information on what it is you are trying to do?  The MDD's management of blocks is opaque because if it ever changes the only updates will be internal.  is there a reason you need to access the internal structures?

Sue Loh [MS] (Moderator):
Q:
Hi! We are developing an app for a new handset running WM6.5 and are having problems when starting up first time. We are built into image and start up at boot since we have set correct reg keys in HKLM\Init. But one test case fails, namely to get reg notif
A: Can you explain a bit better what you mean by your test case fails to get reg notif?  Who is supposed to change the registry key, when?  Who is waiting on it, when?

kurtken_msft (Expert):
Q:
Hi! We are developing an app for a new handset running WM6.5 and are having problems when starting up first time. We are built into image and start up at boot since we have set correct reg keys in HKLM\Init. But one test case fails, namely to get reg notif
A: Hi Simon.  This chat is for windows CE, and does not cover windows Mobile.  The best thing for you to do is contact your WM representative that licenses WM to you to get support.

MikeThom [MS] (Expert):
Q:
Does Wince6.0 R3 include iPOD support?
A: No.  There is no integrated support in Windows Embedded CE.  There is an automative kit that does supply support for head-units.

KarelD_MSFT (Expert):
Q:
Regarding mdd/pdd flash driver. There is some blocks that the MDD allocates for managing the data. Is it save to backup and recover those blocks? Where can we get info about them?
A: It depends what do you want to achieve, but in most cases answer will be no. I would recommend to backup flash volume on logical level, not physical one. So file can be restored on different flash (with different bad blocks etc).

kurtken_msft (Expert):
Q:
Does Wince6.0 R3 include iPOD support?
A: When you say "support" do you mean being able to connect an IPod to a Windows CE 6.0 device that has USB host support?

kurtken_msft (Expert):
Q:
Yes, I am referring to Windows Mobile SMS application.  I thought this chat includes Windows Mobile topics.  Sorry, if that is not the case.
A: No.  please contact your support channels for windows mobile through your WM licensing representative.

Sue Loh [MS] (Moderator):
Q
: We listen for changes to HKLM\System\State\Phone , "Missed Call Count" however at this first start up we never get such notifications. Rebooting will make it work as expected. Any ideas why it does not work the first time?
A: You're saying the entire first boot, you never get notifications.  Right?  Not that you miss the very first notification of the very first boot, and everything else works after that.  Assuming I got it right -- well you need a registry key in order to wait.  Are you sure the key exists at first?

Sue Loh [MS] (Moderator):
Q:
We listen for changes to HKLM\System\State\Phone "Missed Call Count", however at this first start up we never get such notifs. Rebooting will make it work as expected.
A: You're saying the entire first boot, you never get notifications.  Right?  Not that you miss the very first notification of the very first boot, and everything else works after that.  Assuming I got it right -- well you need a registry key in order to wait.  Are you sure the key exists at first?

KarelD_MSFT (Expert):
Q:
Does Wince6.0 R3 include iPOD support?
A: iPod expose itself as normal block device and as such it is supported. If you are looking for stream interface there is support in Microsoft Windows CE for Automotive, but you can add support yourself if you are able to get agreement from Apple and authentication chip.

davbo_msft (Moderator):
Q:
Actually, the title of this was presented as "Windows Embedded CE AND Windows Mobile", so that is not the case then?
A: The primary focus is Windows CE Embedded because we don't have Windows Mobile expertise online for these chats.  Sue Loh has Mobile Experience and is able to answer some Mobile questions.  If you are on a Mobile Platform and the question is related to a core Windows CE feature then it might be able to be handled by this group.

kurtken_msft (Expert):
Q:
[PDD/MDD continuation] What I´m trying to achieve is to have a recover situation, if my NOR gets corrupted.
A: Are you worried about NOR being corrupted by your PDD?

mskim_MS (Expert):
Q:
Do you have a reference BSP that supports the XAML features in Cashmere so we do some performance testing?
A: We don't have a reference BSP that works best with EXR (Embedded Xaml Runtime) however you can find BSPs from other third parties.

KarelD_MSFT (Expert):
Q:
[PDD/MDD continuation] What I´m trying to achieve is to have a recover situation, if my NOR gets corrupted.
A: For NOR you can save metainformation (as there aren't bad blocks). But for me still seems more reasonable to use logical level (where flash looks simply as sequence of blocks).

Sue Loh [MS] (Moderator):
Q:
Actually, the title of this was presented as "Windows Embedded CE AND Windows Mobile", so that is not the case then?
A: A few months ago the Windows Mobile team participation in these chats was canceled.  :-(  I'm the sole renegade hold-out from the mobile team, though there are lots of mobile questions I can't answer.  You can try asking but we can't guarantee we'll be able to help.

kurtken_msft (Expert):
Q:
Yes, I'd like to connect an iPOD to a Wince 6.0 device with USB host isochronous support. Normally I need the Audio class and the iPOD library on top of it. Are audio class and iPOD library included in Wince 6.0 R3?
A: no, there is no such support included in windows embedded CE 6.0 R3.  You could add such support yourself, but there is none built in.

kurtken_msft (Expert):
Q:
Ok, thanks for the clarification...perhaps the title should be changed!
A: yes, thank you.

KarelD_MSFT (Expert):
Q:
Yes, I'd like to connect an iPOD to a Wince 6.0 device with USB host isochronous support. Normally I need the Audio class and the iPOD library on top of it. Are audio class and iPOD library included in Wince 6.0 R3?
A: I already answer it is some way. Answer is no for Windows CE 6.0 R3. Note that you have to have authentication chip anyway.

RajeevDubey[MS] (Expert):
Q:
Will Bluetooth A2DP profile make it into R3 through a QFE? If not in R3 will it be in CE7?
A: Hi Andrew, we do not discuss roadmap related items in this forum. If you have any particular feature request, please submit it via Product Support channel (which will then collect business justification etc information) to help us prioritize such requests.

davbo_msft (Moderator):
Q:
Ok, thanks for the clarification...perhaps the title should be changed!
A: The chat titles get scheduled months in advance but the next round of scheduling will designate Windows CE Embedded Only.  Sorry for the confusion.  If you have a general Windows CE question please feel free to ask the experts.

Sue Loh [MS] (Moderator):
Q:
No notifs until reboot. We use RegistryNotifyCallback, the reg key is not present but according to doc a notif will arrive whenever created. After boot it still does not exist but a notif when it is created is sent as expected
A: A notification should arrive for the key itself when created, if you're holding open a notif handle on the parent key.  Does the parent key exist?  How far up the tree are things missing at first?  I'm just trying to judge whether there's something you could have missed in your algorithm, or whether it sounds like a bug.  There shouldn't really be anything different between registry change notifications in first vs. subsequent boots.

MikeThom [MS] (Expert):
Q:
https://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.windowsce.platbuilder&tid=d5fa66de-0167-4a1f-932f-273fba9b29e8&cat=&lang=&cr=&sloc=&p=1
A: I will have someone from the QFE team look into this.

Sue Loh [MS] (Moderator):
Sorry hoongyuin, we're only experts in Windows CE, not desktop Windows.

MikeThom [MS] (Expert):
Q:
Morning, I have a question regarding the Sept QFE '09 which causes ActiveSync issues I posted but got no answer? I am seeing more people posting on similar issue and on CE6.0 as well do you have any more info on this issue?
A: I will have someone from the QFE team look into this.

RajeevDubey[MS] (Expert):
Q:
Hello, I have a CSR bluetooth module to manage under WinCE and I would like to use the HCI_CustomCode to send some proprietary commands. Please could you tell me how to fill pcall for HCI_CustomCode (I did not found in msdn documentation)
A: Hi Butterfly, Please email me your request and I will get back to you after reviewing it with our dev team. Please provide an example of what you are trying to accomplish so we can address your concern properly.

KarelD_MSFT (Expert):
Q:
I´m already referring to the logical blocks. I want to know how to I get back to a "last well known" state backup of the filesystem (I´m using TExFAT). I am having filesystem corruptions due to hard power loss cycles.
A: Correct procedure in such situation is dismount all file systems from block device, erase, create partitions and write sectors from backup.

mskim_MS (Expert):
Q:
XAML Runtime Open GL Render Plugin: As shipped this supports OPENGL ES 2.0. My hardware has ES 1.1 support. Does the render plugin *NEED* any ES 2.0 features or should it be possible to convert the plugin for ES 1.1?
A: Andrew, this XAML renderer plug-in uses OpenGL ES 2.0 features. Since the plug-in is provided as public code, you can take a look at it.

RajeevDubey[MS] (Expert):
Q:
Thank you RajeevDubey but at which address, can I email ?
A:rajeevdu@microsoft.com

mskim_MS (Expert):
Q:
XAML Runtime Open GL Render Plugin: As shipped this supports OPENGL ES 2.0. My hardware has ES 1.1 support. Does the render plugin *NEED* any ES 2.0 features or should it be possible to convert the plugin for ES 1.1?
A: One of the ES 2.0 feature EXR uses is the Shader.

Sue Loh [MS] (Moderator):
Q:
Nothing in reg tree missing except actual value name="Missed call count" as defined in snapi.h. HKCU\System\State\Phone key is present
A: Hmm, if your code is successfully opening the key and holding a notification handle on it, and that notification handle isn't getting notified when the value is created, then that sounds like a bug.  The only thing you could do about it is get in touch with our support.  If it really is a bug then the support cost is supposed to be free, I believe (but you might want to double check).  I would double check that your code is successfully opening these handles, just in case HKLM\System\State\Phone is getting created AFTER your code runs.

RajeevDubey[MS] (Expert):
Q:
Thank you, I email you my request about HCI_CustomCode.
A: I have not received your mail yet. Will confirm once I get it.

kurtken_msft (Expert):
Q:
I saw a question last month about if FMD_WriteSector() fails on NAND, and I was unclear about one point.  After compation, does the FAL mark the block as bad, or try to erase it and reuse it?  Same behavior for Flash MDD?
A: when a writesector fails, no attempt to write to the block will occur after that.  As far as I know, this includes an erase attempt.  The block may be read from, but will not be written to.  if compaction moves the sectors out of the block that is now 'bad', then that block will not be used again even for reads.

Sing Wee[MS] (Expert):
Q:
Is there a suitable version of conmanclient2 for ce 6 with two VS2005 running at the same time (One with PB and another one in app dev mode)? I get many edm.exe messages in PB when doing with the version from standard sdk 5 of conmanclient2? (I´m debugging an application that tests the driver)
A: Is your application native or managed?

davbo_msft (Moderator):
Q:
Using Windows Media Player Settings.setMode, what is the proper way to call it without it returning a E_INVALIDARG?  When I call it with BSTR mode = L"shuffle" (mode, FALSE) or (mode, TRUE), they both return an error and indicates 0x80070057 => E_INVALIDAR
A: WMP OCX 7.0 https://msdn.microsoft.com/en-us/library/bb821536.aspx.  I don't see setMode exposed on the interface.  For Shuffle you'd need to implement that outside of the OCX.

mskim_MS (Expert):
Q:
EXR OGLES2.0: What processor did you use to test the XAML OGL Render plugin? It would be good for us to test the EXR with Open GL without having to recode for OGL ES 1.1.
A: We have tested the OGL plug-in with TI OMAP 3530 and nVidea Tegra APX 2600 but also knows that it works with many other platforms.

davbo_msft (Moderator):
Q:
G.  I am calling it via aninstance of IWMPSettings->setMode(mode, bValue);
A: OCX 7 IWMPSettings Interface https://msdn.microsoft.com/en-us/library/bb821471.aspx - setMode not a supported method.

Sue Loh [MS] (Moderator):
Q:
We listen for changes to HKLM\System\State\Phone "Missed Call Count", however at this first start up we never get such notifs. Rebooting will make it work as expected.
A: Yeah, I'd expect HKLM\System\State and its sub-keys to be created sometime during the first boot. Unfortunately there's no way to auto-attach an application debugger during device boot.  I would probably try writing a simple log, like you say.  You could also revise your code to fall back to waiting on HKLM\System if the "State" and "Phone" keys don't exist.  Or to try creating the keys instead of just opening them.

Sue Loh [MS] (Moderator):
Q:
So there is a possibility that those reg keys are in fact not created yet? Is there any good way to attach/debug such situations? (other than file logging)
A: [re-posting to correct message on the conversation] Yeah, I'd expect HKLM\System\State and its sub-keys to be created sometime during the first boot. Unfortunately there's no way to auto-attach an application debugger during device boot.  I would probably try writing a simple log, like you say.  You could also revise your code to fall back to waiting on HKLM\System if the "State" and "Phone" keys don't exist.  Or to try creating the keys instead of just opening them.

mskim_MS (Expert):
Q:
EXR: Are there advantages using the OGL renderer rather that the DirectDraw renderer? Or do they give equivalent functionality and performance?
A: It all depends on the platform implementation however there's no advantage on any technology for this plug-in.

Sing Wee[MS] (Expert):
Q:
native
A: Hi Marcelovk, I'm not an expert in this area, but I have a tutorial from a previous public presentation that showed this should indeed work.  Could you private message me your email address, and I'll email the tutorial to you.

RajeevDubey[MS] (Expert):
Q:
Did you receive my e-mail?
A: Yes, just got it.

davbo_msft (Moderator):
Q:
In Wince 6.0 is there a speech recognition engine?
A: Microsoft Auto includes a speech engine - https://www.microsoft.com/auto

mskim_MS (Expert):
Q:
In Wince 6.0 is there a speech recognition engine?
A: SAPI 5.2 is included in CE 6. You can find more information from here https://download.microsoft.com/download/a/0/9/a09e587c-4ff9-4a58-a854-56fe50b862b2/release%20notes.htm

Sue Loh [MS] (Moderator):
Q:
On our device we have 2GB NAND flash and we have four partitions (Binary with ULDR, NK, OS, Storage). The Storage partition (USERSTORE, initially empty) should allocate the the whole NAND flash after the OS partition

What are the right configuration entries in memory.cfg.xml to get a Storage partition of 2GB (minus other partitions)?
A: I would try something like:

        <ULDR ID="ULDR" STORAGE_ID="FLASH"/>

        <RAMIMAGE ID="NK" STORAGE_ID="FLASH" COMPRESS="0" FIXUP_ADDRESS="0x80000000" ROMFLAGS="2" FSRAMPERCENT="0x00000000" FREE_SPACE_BUFFER="0x40000" />

        <IMGFS ID="OS" STORAGE_ID="FLASH" FREE_SPACE_BUFFER="0x3200000" />

        <USERSTORE STORAGE_ID="FLASH" ID="Storage" PART_TYPE="0x02" />

I have also sent feedback to our documentation team that there needs to be more guidance here.

davbo_msft (Moderator):
Q:
In Wince 6.0 is there a speech recognition engine?
A: Found another MSDN link on the SAPI 5.0 https://msdn.microsoft.com/en-us/library/aa914072.aspx

Sing Wee[MS] (Expert):
Q:
hi i have just bought a new laptop with vista however im trying to setup a wireless network ive enterd my wep key etc. . but when i click connect a grey box pops up asking me to enter my credintals ( user name, password and logon domain) can you help me ?
A: Sorry, this particular chat is for Windows CE only.

davbo_msft (Moderator):
Hello everyone, we are just about out of time.

Thank you for joining us for our Windows Embedded CE 6.0 chat today!

<https://www.Microsoft.com/Embedded>

A special thank you to the product group members for coming out.

The transcript of today’s chat will be posted online as soon as possible, to <https://msdn.microsoft.com/en-us/chats>.  We’ll see you again for another chat next month.  Please check <https://msdn.microsoft.com/en-us/chats> for the list of upcoming chats.

If you still have unanswered questions, let me suggest that you post them on one of our newsgroups on

<https://msdn.microsoft.com/en-us/windowsembedded/ce/default.aspx>

-Windows Embedded CE 6.0 R3  Now Available! <https://msdn.microsoft.com/windowsembedded/ce/dd630616.aspx>

davbo_msft (Moderator):
Any unanswered questions I will work to get answers and post with the transcript.

Sing Wee[MS] (Expert):
Q:
native
A: (From private message conversation, in case others are interested):  Since this is native, is there any reason you need to use two instances of VS2005?  Why not include the application as a subproject of the OS design?

mskim_MS (Expert):
Andrew, please send email to mskim@microsoft.com for your VFP question on EXR, I will let you know.

davbo_msft (Moderator):
Q:
NOOO!, the transcript takes years to be available!!
A: I've worked w/ the Chat posting team and they should get posted faster now.

Sing Wee[MS] (Expert):
Q:
Looking at the SDBus I saw that you never put in HighSpeed Mode the SD card?Is it supported by the stack the high speed mode for the SD card compliant with the spec ver 1.10 and higher?
A: According to some documents I've seen, CE6.0 RTM should support SD v1.1, CE6.0 R2 should support SD v2.0 (ADMA).  On the MMC-side, we're supporting 3.x.

KarelD_MSFT (Expert):
Q:
I saw a question last month about if FMD_WriteSector() fails on NAND, and I was unclear about one point.  After compation, does the FAL mark the block as bad, or try to erase it and reuse it?  Same behavior for Flash MDD?
A: If we are talking about flash abstraction library which shipped with Windows CE 6.0 R2 (flashcommon.lib and other) you don't need to. The Flash MDD will do it. 

Sue Loh [MS] (Moderator):
Q:
How can I disable the memory pooling for a specific driver in Windows CE 6.0?
A: By "pooling" I presume you mean paging of the driver code.  You have a couple of ways to do it: set the "M" flag on the driver in your .bib file, if the driver is in ROM.  Make sure NOT to set bit 2 (DEVFLAGS_LOADLIBRARY) of the "flags" registry value, under the driver registry settings.  Or call LoadDriver on it instead of LoadLibrary, if you're loading it programmatically.  This blog post is on the OPPOSITE topic, but still has tips you can follow if you do the opposite of what it's saying.  https://blogs.msdn.com/ce_base/archive/2008/02/28/making-sections-of-windows-ce-device-driver-code-non-pageable.aspx

Sue Loh [MS] (Moderator):
Q:
In Wince 6.0 is there a way to disable the memory pooling for the Storage Card?If yes how is it possible?
A: By "pooling" I presume you mean paging of the driver code.  You have a couple of ways to do it: set the "M" flag on the driver in your .bib file, if the driver is in ROM.  Make sure NOT to set bit 2 (DEVFLAGS_LOADLIBRARY) of the "flags" registry value, under the driver registry settings.  Or call LoadDriver on it instead of LoadLibrary, if you're loading it programmatically.  This blog post is on the OPPOSITE topic, but still has tips you can follow if you do the opposite of what it's saying.  https://blogs.msdn.com/ce_base/archive/2008/02/28/making-sections-of-windows-ce-device-driver-code-non-pageable.aspx

MikeThom [MS] (Expert):
Q:
EXR: Our ARM 11 platform has VFP which we have enabled through the OEM Floating Point CRT support (SYSGEN_OEM_FPCRT). Will this mean that the embedded XAML runtime will utilise the hardware floating point coprocessor? Or is it entirely integer based?
A: It will make use of the VFP enabled CRT.

Sing Wee[MS] (Expert):
Q:
Yes SD 1.1 and 2.0 are supported but not in high speed mode. Look at the SDBus implementation and let me know..
A: I just found the answer.  Unfortunately, it appears we don't support High Speed in CE6.0 and its variants.