<?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>MCUXpresso SDKのトピックRe: how to issue a device reset using usb stack?</title>
    <link>https://community.nxp.com/t5/MCUXpresso-SDK/how-to-issue-a-device-reset-using-usb-stack/m-p/1032156#M2209</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Banxian:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please refer to below API, USB_HostRemoveDevice.&amp;nbsp; it is similar to yours. ,but not sure if it will meet your requirements&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;/*!&lt;BR /&gt; * @brief Removes the attached device.&lt;BR /&gt; *&lt;BR /&gt; * This function removes the attached device.&lt;BR /&gt; * This function should not be used all the time.&lt;BR /&gt; *&lt;BR /&gt; * @param[in] hostHandle The host handle.&lt;BR /&gt; * @param[in] deviceHandle Removing device handle.&lt;BR /&gt; *&lt;BR /&gt; * @retval kStatus_USB_Success Remove successfully.&lt;BR /&gt; * @retval kStatus_USB_InvalidHandle The hostHandle or deviceHandle is a NULL pointer.&lt;BR /&gt; * @retval kStatus_USB_InvalidParameter The deviceHandle instance don't belong to hostHandle instance.&lt;BR /&gt; */&lt;BR /&gt;extern usb_status_t USB_HostRemoveDevice(usb_host_handle hostHandle, usb_device_handle deviceHandle);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 11 Feb 2020 10:08:33 GMT</pubDate>
    <dc:creator>danielchen</dc:creator>
    <dc:date>2020-02-11T10:08:33Z</dc:date>
    <item>
      <title>how to issue a device reset using usb stack?</title>
      <link>https://community.nxp.com/t5/MCUXpresso-SDK/how-to-issue-a-device-reset-using-usb-stack/m-p/1032155#M2208</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello, I am porting a usb exploit applications from macosx to an imxrt1011 kit.&lt;/P&gt;&lt;P&gt;the code is copied from usb_host_hid_generic with some change (hid to dfu, and add some more wait states).&lt;/P&gt;&lt;P&gt;I found after a DFU_CLRSTATUS command, device is disconnect but doesnot reconnect after one second. (timeout error on suspend)&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="QQ图片20200104100803.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/101509i837607743DDC38CC/image-size/large?v=v2&amp;amp;px=999" role="button" title="QQ图片20200104100803.png" alt="QQ图片20200104100803.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;in PC's usb stack, it looks like this:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="QQ图片20200104101350.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/101510i3DDB55D19EFCB750/image-size/large?v=v2&amp;amp;px=999" role="button" title="QQ图片20200104101350.png" alt="QQ图片20200104101350.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;so I guess I need to force a soft reset after an dfu clear status control message (like IOUSBDeviceInterface-&amp;gt;ResetDevice&amp;nbsp; under osx or libusb_reset_device under linux).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried call&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (USB_HostDeinit(&amp;amp;g_HostHandle) != kStatus_USB_Success) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usb_echo("host deinit error\r\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = USB_HostInit(CONTROLLER_ID, &amp;amp;g_HostHandle, USB_HostEvent);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (status != kStatus_USB_Success) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; usb_echo("host init error\r\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;in one of my step but it just cause a hardfault.on USB_HostDeinit.&lt;/P&gt;&lt;P&gt;a single USB_HostInit call doesn't fix suspend timeout error, too.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;is there any examples to do a device reset in host side?&lt;/P&gt;&lt;P&gt;I know dfu protocol have a DFU_DETACH command to do a detach-attach sequence in device side, but I do not want send extra packet to device because it may change device's heap, which have side effect in exploit.&lt;/P&gt;&lt;P&gt;I am using mcuxprsso sdk 2.6.0, in usb_examples, each host sample is one way state machine which lacks re plugin support.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 04 Jan 2020 02:19:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-SDK/how-to-issue-a-device-reset-using-usb-stack/m-p/1032155#M2208</guid>
      <dc:creator>banxian</dc:creator>
      <dc:date>2020-01-04T02:19:02Z</dc:date>
    </item>
    <item>
      <title>Re: how to issue a device reset using usb stack?</title>
      <link>https://community.nxp.com/t5/MCUXpresso-SDK/how-to-issue-a-device-reset-using-usb-stack/m-p/1032156#M2209</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Banxian:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please refer to below API, USB_HostRemoveDevice.&amp;nbsp; it is similar to yours. ,but not sure if it will meet your requirements&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;/*!&lt;BR /&gt; * @brief Removes the attached device.&lt;BR /&gt; *&lt;BR /&gt; * This function removes the attached device.&lt;BR /&gt; * This function should not be used all the time.&lt;BR /&gt; *&lt;BR /&gt; * @param[in] hostHandle The host handle.&lt;BR /&gt; * @param[in] deviceHandle Removing device handle.&lt;BR /&gt; *&lt;BR /&gt; * @retval kStatus_USB_Success Remove successfully.&lt;BR /&gt; * @retval kStatus_USB_InvalidHandle The hostHandle or deviceHandle is a NULL pointer.&lt;BR /&gt; * @retval kStatus_USB_InvalidParameter The deviceHandle instance don't belong to hostHandle instance.&lt;BR /&gt; */&lt;BR /&gt;extern usb_status_t USB_HostRemoveDevice(usb_host_handle hostHandle, usb_device_handle deviceHandle);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Feb 2020 10:08:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-SDK/how-to-issue-a-device-reset-using-usb-stack/m-p/1032156#M2209</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2020-02-11T10:08:33Z</dc:date>
    </item>
    <item>
      <title>Re: how to issue a device reset using usb stack?</title>
      <link>https://community.nxp.com/t5/MCUXpresso-SDK/how-to-issue-a-device-reset-using-usb-stack/m-p/1032157#M2210</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;infact I tried&amp;nbsp;USB_HostRemoveDevice before I post this thread, but it takes no help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (USB_HostRemoveDevice(&amp;amp;g_HostHandle, g_HostDfuGeneric.deviceHandle) != kStatus_USB_Success) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usb_echo("remove device error\r\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Jun 2020 18:23:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-SDK/how-to-issue-a-device-reset-using-usb-stack/m-p/1032157#M2210</guid>
      <dc:creator>banxian</dc:creator>
      <dc:date>2020-06-08T18:23:31Z</dc:date>
    </item>
    <item>
      <title>Re: how to issue a device reset using usb stack?</title>
      <link>https://community.nxp.com/t5/MCUXpresso-SDK/how-to-issue-a-device-reset-using-usb-stack/m-p/1393764#M3499</link>
      <description>&lt;P&gt;Hello dear banxian,&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;g_HostHandle and g_HostDfuGeneric.deviceHandle are already pointers. remove &amp;amp; ands it should be fine.&lt;BR /&gt;&lt;/SPAN&gt;Regards&lt;/P&gt;</description>
      <pubDate>Mon, 03 Jan 2022 12:38:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-SDK/how-to-issue-a-device-reset-using-usb-stack/m-p/1393764#M3499</guid>
      <dc:creator>bulubuch</dc:creator>
      <dc:date>2022-01-03T12:38:48Z</dc:date>
    </item>
  </channel>
</rss>

