<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Kinetis Microcontrollers中的主题 Re: Kinetis USB CDC driver for Windows 10</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-USB-CDC-driver-for-Windows-10/m-p/660156#M40503</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Peter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Nice concise write-up!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Some further points of interest:&lt;/P&gt;&lt;P&gt;1. If you have installed a USB-CDC device with one VCOM it is possible to add multiple CDC interfaces to it later (using the same VID/PID) and it will automaticaly appear as multiple VCOMs (&lt;EM&gt;up to 6 VCOMs are possible with the FRDM-K64F&lt;/EM&gt;)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.A fresh install (new VID/PID) of composite CDC devices works the same in automatic mode (no installation needed and all VCOMs are immediately available). &lt;EM&gt;Ref.: Windows 8 required a seperate manual installation for each interface....&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. With RNDIS devices (I was just testing a K61 based HS USB RNDIS on Windows 10) it is not as straightforward, unfortunately. [&lt;EM&gt;Noting that RNDIS is based on USB-CDC&lt;/EM&gt;]&lt;BR /&gt;- the automatic install method installs it with usb_ser.sys, even if the Microsoft OS String Descriptor (MOD) is used to inform that it is RNDIS... Presently I have found no way to overload this after such an install, although there are dicussions about it in the Internet that don't work on my Win 10 version... [&lt;EM&gt;I do believe is that if one knows exactly where the files are stored on the PC it would be possible to directly select them but this is not something that can normally be expected of an end user - especially as the storge location may change and things are named differently in differnt language versions - so I haven't followed it up&lt;/EM&gt;]&lt;BR /&gt;- I MUST remove the automatic method (2, 0, 0xff) instead of (2, 2, 0xff) so that it DOES allow a manual installation and then it is possibe to select a Microsoft "Remote RNDIS based Internet Sharing Device" which then works (almost) normally. Although the RNDIS works I have found that I need to set its adapter to have a fixed IP address and then set it back to "obtain its configuration from DHCP" otherwise it doesn't request from the DHCP server that is in the RNDIS device (not a USB problem but something else strange, which was Ok in Win 8)&lt;/P&gt;&lt;P&gt;- RNDIS + VCOM composite devices of course also need a manual install due to the same problem that it otherwise assumes usb_sys for each interface. &lt;EM&gt;Ref. Windows 8 only accepts RNDIS on the first interface and VCOMs following (it will not accept other ordering). Windows 8 will also only accept one RNDIS interface on the device&lt;/EM&gt;. I haven't yet tried to see whether WIndows 10 will accept multiple RNDIS iterfaces or possibly different interface ordering (I don't have plans to do it at the moment after finding the Win 8 can't do it anyway, but maybe there will be interest at some point in the future and it would be very interesting it it did then work...)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 29 Sep 2016 23:14:28 GMT</pubDate>
    <dc:creator>mjbcswitzerland</dc:creator>
    <dc:date>2016-09-29T23:14:28Z</dc:date>
    <item>
      <title>Kinetis USB CDC driver for Windows 10</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-USB-CDC-driver-for-Windows-10/m-p/660155#M40502</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is not a question, I just thought that my experiences might be of use to someone with the same problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Recently,&amp;nbsp;like with a number of others, I have needed a method for transferring&amp;nbsp;data between a Visual Studio 2015 C++ program on a&amp;nbsp;PC running Windows 10 and a FRDM-K64F board.&amp;nbsp;&lt;/P&gt;&lt;P&gt;For the FRDM-K64F I started with the KSDK v2.0&amp;nbsp;USB CDC ACM class example &lt;EM&gt;usb_device_cdc_vcom&lt;/EM&gt;&amp;nbsp;and the provided driver &lt;EM&gt;fsl_ucwxp.inf&lt;/EM&gt;. Windows 10 would not load the driver of course, (as its not signed) so I went in search of answers and found two:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. The first answer was "Enable the installation of unsigned drivers" as in&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/thread/375982"&gt;https://community.nxp.com/thread/375982&lt;/A&gt;&lt;/P&gt;&lt;P&gt;I didn't particularly want to do this so I kept looking.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. The second answer (which I&amp;nbsp;stumbled across by accident)&amp;nbsp;is that you don't need a driver, or more correctly you don't need to supply a driver, but can use &lt;A href="https://msdn.microsoft.com/en-us/library/windows/hardware/dn707976(v=vs.85).aspx"&gt;&lt;EM&gt;usbser.sys&lt;/EM&gt;&lt;/A&gt;,&amp;nbsp;the Microsoft provided in-box driver for your Communications and CDC Control device. This can be loaded manually or automatically.&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;&lt;STRONG style="color: black;"&gt;Manual installation&lt;/STRONG&gt;&lt;SPAN style="color: black;"&gt;; Note: On my PC it enumerated as COM4.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;&lt;SPAN style="color: black;"&gt;When &lt;EM&gt;usb_device_cdc_vcom&lt;/EM&gt;&amp;nbsp;is started the &lt;STRONG&gt;Device Manager&lt;/STRONG&gt; shows a new device with the title &lt;EM&gt;Other devices &amp;gt; etc&lt;/EM&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;OL&gt;&lt;OL&gt;&lt;LI&gt;In &lt;STRONG&gt;Device Manager&lt;/STRONG&gt; right-click on&amp;nbsp;the new device&amp;nbsp;and select “Update Driver Software…”.&lt;/LI&gt;&lt;LI style="color: #000000; font-size: 11pt;"&gt;Select “Browse my computer for driver software”, then “Let me pick from a list of device drivers on my computer”, then “Common hardware types: &amp;gt; Ports (COM &amp;amp; LPT)”,&lt;/LI&gt;&lt;LI style="color: #000000; font-size: 11pt;"&gt;From the list select &lt;EM&gt;Manufacturer &amp;gt; Microsoft. &lt;/EM&gt;Then&amp;nbsp;&lt;EM&gt;Model &amp;gt; USB Serial Device&lt;/EM&gt;… This produces a “&lt;EM&gt;Not Recommended… Can’t verify it is compatible etc&lt;/EM&gt;”, BUT then it installs as&lt;/LI&gt;&lt;/OL&gt;&lt;/OL&gt;&lt;P style="padding-left: 90px;"&gt;&lt;EM&gt;“Update Driver Software – USB Serial Device (COM4)&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt; padding-left: 90px;"&gt;&lt;EM style="color: black;"&gt;Windows has successfully updated your driver software&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt; padding-left: 90px;"&gt;&lt;EM style="color: black;"&gt;Windows has finished installing driver software for this device&lt;/EM&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 36pt; padding-left: 90px;"&gt;&lt;EM style="color: black;"&gt;USB Serial Device&lt;/EM&gt;&lt;SPAN style="color: black;"&gt;”&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In &lt;EM&gt;Device Manager &amp;gt; Ports (COM &amp;amp; LPT)&lt;/EM&gt;, there is now a new device &lt;EM&gt;USB Serial Device (COM4)&lt;/EM&gt;.&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;Note:&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 18pt;"&gt;In step 3 there is another &lt;EM&gt;Model&lt;/EM&gt; option &lt;EM&gt;USB Serial Modem Device&lt;/EM&gt;. I don’t know what the difference is but it appears to do the same thing.&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt 18pt;"&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;If there is&amp;nbsp;another driver already loaded for your device and you wish to change to the Microsoft driver the procedure is slightly different;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;In &lt;STRONG&gt;Device Manager&lt;/STRONG&gt; right-click on the new device&amp;nbsp;and select “Update Driver Software…”.&lt;/LI&gt;&lt;LI style="color: #000000; font-size: 11pt;"&gt;Select “Browse my computer for driver software”, then “Let me pick from a list of device drivers on my computer”, then, uncheck "&lt;EM&gt;Show compatible hardware"&lt;/EM&gt;&amp;nbsp;&amp;nbsp;&lt;/LI&gt;&lt;LI style="color: #000000; font-size: 11pt;"&gt;From the list select &lt;EM&gt;Manufacturer &amp;gt; Microsoft&lt;/EM&gt; and &lt;EM&gt;Model &amp;gt; USB Serial Device&lt;/EM&gt;…&lt;/LI&gt;&lt;LI style="color: #000000; font-size: 11pt;"&gt;In &lt;STRONG&gt;&lt;EM&gt;Device Manager&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; &amp;gt; Ports (COM &amp;amp; LPT)&lt;/EM&gt;, there is now a new device &lt;EM&gt;USB Serial Device (COM4)&lt;/EM&gt;.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Automatic Installation&lt;/STRONG&gt;: &lt;SPAN style="font-size: 11pt;"&gt;To load &lt;A href="https://msdn.microsoft.com/en-us/library/windows/hardware/dn707976(v=vs.85).aspx"&gt;&lt;EM&gt;usbser.sys&lt;/EM&gt; &lt;/A&gt;automatically, set the class code &lt;EM&gt;bDeviceClass&lt;/EM&gt; = 02 and the subclass code &lt;EM&gt;bDeviceSubClass&lt;/EM&gt; = 02 in the Device Descriptor.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-size: 11pt;"&gt;Testing and verification&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11pt;"&gt;This worked as far as &lt;SPAN style="color: #000000;"&gt;&lt;EM&gt;usb_device_cdc_vcom&lt;/EM&gt;&amp;nbsp;would echo characters typed into a serial emulation program such as Putty but wouldn't work for a Visual C++ program such as the Microsoft example&amp;nbsp;on the &lt;A href="https://msdn.microsoft.com/en-us/library/system.io.ports.serialport(v=vs.110).aspx?cs-save-lang=1&amp;amp;cs-lang=cpp#code-snippet-1"&gt;SerialPort Class&lt;/A&gt; page. The serial port would open correctly but wouldn't accept any characters for transmission. &lt;/SPAN&gt;&lt;/SPAN&gt;The solution&amp;nbsp;is to&amp;nbsp;set the DTR handshaking signal by including the line&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;_serialPort-&amp;gt;DtrEnable = true;&lt;/P&gt;&lt;P&gt;in the Visual C++ program after the port is opened. &lt;SPAN style="color: black;"&gt;The DtrEnable command is sent to the FRDM-K64F and results in the &lt;/SPAN&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;s_cdcVcom.&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0; font-size: 10pt;"&gt;startTransactions &lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;flag being set indicating that the CDC device is ready to Transmit and Receive data. See the &lt;EM&gt;kUSB_DeviceCdcEventSetControlLineState&lt;/EM&gt; event in function &lt;EM&gt;USB_DeviceCdcVcomCallback()&lt;/EM&gt; of file &lt;EM&gt;WinUSB_Test_003.c &lt;/EM&gt;(file &lt;EM&gt;virtual_com.c&lt;/EM&gt; in project &lt;EM&gt;dev_cdc_vcom_bm_frdmk64f&lt;/EM&gt;).&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Sep 2016 12:02:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-USB-CDC-driver-for-Windows-10/m-p/660155#M40502</guid>
      <dc:creator>PeteG</dc:creator>
      <dc:date>2016-09-28T12:02:49Z</dc:date>
    </item>
    <item>
      <title>Re: Kinetis USB CDC driver for Windows 10</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-USB-CDC-driver-for-Windows-10/m-p/660156#M40503</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Peter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Nice concise write-up!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Some further points of interest:&lt;/P&gt;&lt;P&gt;1. If you have installed a USB-CDC device with one VCOM it is possible to add multiple CDC interfaces to it later (using the same VID/PID) and it will automaticaly appear as multiple VCOMs (&lt;EM&gt;up to 6 VCOMs are possible with the FRDM-K64F&lt;/EM&gt;)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.A fresh install (new VID/PID) of composite CDC devices works the same in automatic mode (no installation needed and all VCOMs are immediately available). &lt;EM&gt;Ref.: Windows 8 required a seperate manual installation for each interface....&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. With RNDIS devices (I was just testing a K61 based HS USB RNDIS on Windows 10) it is not as straightforward, unfortunately. [&lt;EM&gt;Noting that RNDIS is based on USB-CDC&lt;/EM&gt;]&lt;BR /&gt;- the automatic install method installs it with usb_ser.sys, even if the Microsoft OS String Descriptor (MOD) is used to inform that it is RNDIS... Presently I have found no way to overload this after such an install, although there are dicussions about it in the Internet that don't work on my Win 10 version... [&lt;EM&gt;I do believe is that if one knows exactly where the files are stored on the PC it would be possible to directly select them but this is not something that can normally be expected of an end user - especially as the storge location may change and things are named differently in differnt language versions - so I haven't followed it up&lt;/EM&gt;]&lt;BR /&gt;- I MUST remove the automatic method (2, 0, 0xff) instead of (2, 2, 0xff) so that it DOES allow a manual installation and then it is possibe to select a Microsoft "Remote RNDIS based Internet Sharing Device" which then works (almost) normally. Although the RNDIS works I have found that I need to set its adapter to have a fixed IP address and then set it back to "obtain its configuration from DHCP" otherwise it doesn't request from the DHCP server that is in the RNDIS device (not a USB problem but something else strange, which was Ok in Win 8)&lt;/P&gt;&lt;P&gt;- RNDIS + VCOM composite devices of course also need a manual install due to the same problem that it otherwise assumes usb_sys for each interface. &lt;EM&gt;Ref. Windows 8 only accepts RNDIS on the first interface and VCOMs following (it will not accept other ordering). Windows 8 will also only accept one RNDIS interface on the device&lt;/EM&gt;. I haven't yet tried to see whether WIndows 10 will accept multiple RNDIS iterfaces or possibly different interface ordering (I don't have plans to do it at the moment after finding the Win 8 can't do it anyway, but maybe there will be interest at some point in the future and it would be very interesting it it did then work...)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Sep 2016 23:14:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-USB-CDC-driver-for-Windows-10/m-p/660156#M40503</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2016-09-29T23:14:28Z</dc:date>
    </item>
  </channel>
</rss>

