chipKIT® Development Platform

Inspired by Arduino™

chipKIT USB for Serial with Windows Embedded

Posted 2013-05-02 09:13:59 by Majenko

The following is a conversation between Jacob Christ and Brian Schmalz with resolutions regarding using chipKIT boards that use USB for serial (Fubarino SD, PONTECH Quick240, PONTECH UAV100, ect) with Windows Embedded.

Jacob: FYI, The USB.inf file does not work on XP Embedded.  It's probably due to missing sys or inf files (since XP Embedded is a subset of XP Pro).  We are working on a fix and will post when we figure it out.  

Brian: This is an issue that has come up before with my EiBotBoard I believe. It is due to a lack of the usbser.sys file. Note that when an OEM of XPE generates a build, they can choose to not include many of the files that normal XP ships with  (to save space and make the system easier to manage). So some XPE systems may have usbser.sys and many don't. Here's a nice thread asking if it's OK to re-distribute usbser.sys, the takeaway being that I think it is. Now, which version to use? http://www.winvistatips.com/distributing-usbser-sys-our-customers-t195889.html Note this same problem exists with all versions of "Windows Embedded" (XP, Win7, etc.)  

Jacob: The Stk500v2.inf file includes the mdmcpq.inf which is not present in Windows XP Embedded.   We just copied the inf file from XP: c:\windows\inf\mdmcpq.inf to the corresponding location in XP Embedded and re-installed the driver and it worked. What I think the Stk500v2.inf file is picking up from the mdmcpq.inf file are the following two sections:   [LowerFilter_Service_Inst] DisplayName="USB Modem Driver" ServiceType= 1 StartType  = 3 ErrorControl = 0 ServiceBinary = %12%\usbser.sys   [FakeModemCopyFileSection] usbser.sys,,,0x20   We may just be able to included this directly into the Stk500v2.inf file and this would not be an issue since the usbser.sys IS part of XP Embedded. I'm no inf expert and I'm doing my best to not become one (thank you Brian Schmalz for getting the driver signed for Windows 8).  And I don't know how important it is for anyone here to have the USB drivers work out of the box in XP Embedded.  For us, its no big deal to copy over the inf file to an XP Embedded installation.  

Brian: One thing to note: using mdmcpq.inf is the correct way to reference usbser.sys according to Microchip and Microsoft. I believe this is because usbser.sys may be called different things (?!?!) or located in different spots on various systems, and the mdmcpq.inf file will always point to the 'right' spot for usbser.sys as it is generated during install or something? I'm not an INF expert, but the latest MLA from Microchip has a fantastic help file that describes all of this stuff and how to sign drivers and a lot of other really good things to know.  

Jacob: Cool, thanks... I guess Stk500v2.inf is right then.  I'm glad you knew this.