<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/54355/usb-ccid-class-with-nordic-nrf52840</link><description>I am developing USB CCID driver class for nordic nRF52840. I used USB CDC-ACM class as reference and tried to implement for USB CCID. I have developed the device descriptor for it. 
 USB CCID class has 1 interface and 3 endpoints(1 for interrupt, 1 for</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 03 Nov 2020 03:25:07 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/54355/usb-ccid-class-with-nordic-nrf52840" /><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/278179?ContentTypeID=1</link><pubDate>Tue, 03 Nov 2020 03:25:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d6f8d2b0-982d-476f-820e-0e666c0dbf34</guid><dc:creator>Chu Tien Thinh</dc:creator><description>&lt;p&gt;can you share the source code usb ccid?, thank you very much&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/228797?ContentTypeID=1</link><pubDate>Mon, 13 Jan 2020 12:52:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b6692b4b-cc4e-4864-9563-4634be9a7e09</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;It is hard to say what can be wrong here, as the logs do not show in-depth information on what is happening, and there&amp;#39;s no way to see what the host is doing.&lt;/p&gt;
&lt;p&gt;It sounds like a item is queued while you&amp;#39;re trying to handle the queue, but I cannot state this for certain without looking at the USB traces.&lt;/p&gt;
&lt;p&gt;Does any of the handlers return a non-zero return code?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/228257?ContentTypeID=1</link><pubDate>Thu, 09 Jan 2020 06:50:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:57129a95-1e1e-4b2d-b6a6-7f90d212b253</guid><dc:creator>Mohammad</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Thanks for your response. I tried as per your suggestion (I disabled the&amp;nbsp; NRF_LOG)&amp;nbsp; but the result is the same. Not coming out from the loop.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/228127?ContentTypeID=1</link><pubDate>Wed, 08 Jan 2020 12:43:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e70154ad-2341-436c-bdc9-5e01aa2da4f8</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you have logging enabled, and print many characters over the UART, and the host is polling the usb device for data every 5 frames, I suspect that the usbd_event_queue will always look like it returns true, as it get polled very frequently, and the remainder of the time is spent with handling the NRF_LOG calls.&lt;/p&gt;
&lt;p&gt;Could you try blinking a LED or similar in your main loop to see if it toggles during this state?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/227595?ContentTypeID=1</link><pubDate>Mon, 06 Jan 2020 08:51:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:868533d6-6a79-4fa6-8b52-d28999a79751</guid><dc:creator>Mohammad</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;em&gt;&amp;nbsp;This timing interval can be driven by the host. It is a bit unclear to me based on the logs, does everything work as expected?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Yes, USB CCID class messages are working fine as expected. Only the problem, it&amp;#39;s not coming out of this loop&lt;/p&gt;
&lt;p&gt;&lt;span&gt;while (app_usbd_event_queue_process())&lt;/span&gt;&lt;br /&gt;&lt;span&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span&gt;/* Nothing to do */&lt;/span&gt;&lt;br /&gt;&lt;span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/227582?ContentTypeID=1</link><pubDate>Mon, 06 Jan 2020 08:09:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f9e10422-ff4b-4ab1-afe1-89225f969924</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="Gouse"]But I can able to process all the USBD CCID device class functions. I have tested all the CCID functions its working fine. The output of it is given below for your reference.&amp;nbsp;[/quote]
&lt;p&gt;&amp;nbsp;It sounds like the USB host is polling the USB device for data in a given interval, but the device does not have something to send. This can be verified if you have a usb sniffer trace (if you have a dedicated usb sniffer, like a ellisys usb explorer (&lt;a href="https://www.ellisys.com/products/usbex200/"&gt;https://www.ellisys.com/products/usbex200/&lt;/a&gt;) or any other dedicated usb sniffer (totalphase is also popular:&amp;nbsp;&lt;a href="https://www.totalphase.com/solutions/apps/usb-analyzer-guide/"&gt;https://www.totalphase.com/solutions/apps/usb-analyzer-guide/&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote user="Gouse"]&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;While digging&amp;nbsp;app_usbd_event_queue_process(), this function doesnt return false, because&amp;nbsp;m_sof_events_cnt is 0x0005 every time.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;I don&amp;#39;t know why&amp;nbsp;m_sof_events_cnt is 5 every time.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;[/quote]
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;This timing interval can be driven by the host. It is a bit unclear to me based on the logs, does everything work as expected?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/227052?ContentTypeID=1</link><pubDate>Mon, 30 Dec 2019 10:51:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:48a1b3ab-388f-4c7a-99fb-1718a56bca7a</guid><dc:creator>Mohammad</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Still, the problem is not cleared,&amp;nbsp;&lt;span&gt;that the program sticks in an infinite loop at this part&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;while (app_usbd_event_queue_process())&lt;/span&gt;&lt;br /&gt;&lt;span&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span&gt;/* Nothing to do */&lt;/span&gt;&lt;br /&gt;&lt;span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;But I can able to process all the USBD CCID device class functions. I have tested all the CCID functions its working fine. The output of it is given below for your reference.&amp;nbsp;&lt;pre class="ui-code" data-mode="c_cpp"&gt;&amp;lt;info&amp;gt; app: USBD CCID example started.
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 11
&amp;lt;info&amp;gt; app: USB power detected
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 8
&amp;lt;info&amp;gt; app: USB ready
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 10
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 15
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 13
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 2
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 3
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 15
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 1
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 1
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 15
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 5

&amp;lt;info&amp;gt; usbd_ccid: setup_event_handler
&amp;lt;info&amp;gt; usbd_ccid: setup_req_std_in
&amp;lt;info&amp;gt; usbd_ccid: NRF_ERROR_NOT_SUPPORTED

&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 15
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 5
&amp;lt;info&amp;gt; usbd_ccid: setup_event_handler
&amp;lt;info&amp;gt; usbd_ccid: setup_req_class_in
&amp;lt;info&amp;gt; usbd_ccid: Data = A1 02 00 00 00 04
&amp;lt;info&amp;gt; usbd_ccid: APP_USBD_CCID_GET_CLOCK_FREQUENCIES

&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 5
&amp;lt;info&amp;gt; usbd_ccid: setup_event_handler
&amp;lt;info&amp;gt; usbd_ccid: setup_req_class_in
&amp;lt;info&amp;gt; usbd_ccid: Data = A1 03 00 00 00 04
&amp;lt;info&amp;gt; usbd_ccid: APP_USBD_CCID_GET_DATA_RATES

&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_ICCPOWEROFF
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_ICCPOWERON
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_GETPARAMETERS
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_XFRBLOCK
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev
&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_ICCPOWEROFF
&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler app_evt.type = 6
&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;While digging&amp;nbsp;app_usbd_event_queue_process(), this function doesnt return false, because&amp;nbsp;m_sof_events_cnt is 0x0005 every time.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I don&amp;#39;t know why&amp;nbsp;m_sof_events_cnt is 5 every time.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/225427?ContentTypeID=1</link><pubDate>Fri, 13 Dec 2019 15:05:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0bc1d532-39d7-4471-8213-0848127e46a8</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;That can potentially happen (ie: the request wasn&amp;#39;t for this specific descriptor), which is the reason why all class implementations forward that to the app_usbd_core.c::app_usbd_core_setup_rsp().&lt;/p&gt;
&lt;p&gt;It is hard to tell what happens here, as I do not have all the details. What is the expected vs. actual behavior that you&amp;#39;re seeing?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/224858?ContentTypeID=1</link><pubDate>Wed, 11 Dec 2019 08:55:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cdc10fc3-4cfd-4151-b85c-63b168dfa11d</guid><dc:creator>Mohammad</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I have a problem with&amp;nbsp;static ret_code_t setup_req_std_in(app_usbd_class_inst_t const * p_inst,&lt;br /&gt; app_usbd_setup_evt_t const * p_setup_ev)&lt;/p&gt;
&lt;p&gt;static ret_code_t setup_req_std_in(app_usbd_class_inst_t const * p_inst,&lt;br /&gt; app_usbd_setup_evt_t const * p_setup_ev)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; NRF_LOG_INFO(&amp;quot;setup_req_std_in &amp;quot;);&lt;/p&gt;
&lt;p&gt;&amp;nbsp; /* Only Get Descriptor standard IN request is supported by CCID class */&lt;br /&gt;&amp;nbsp; if ((app_usbd_setup_req_rec(p_setup_ev-&amp;gt;setup.bmRequestType) == APP_USBD_SETUP_REQREC_DEVICE)&amp;nbsp;&amp;amp;&amp;amp;&lt;br /&gt; (p_setup_ev-&amp;gt;setup.bRequest == APP_USBD_SETUP_STDREQ_GET_DESCRIPTOR))&amp;nbsp;&lt;br /&gt;&amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;NRF_LOG_INFO(&amp;quot;Inside setup_req_std_in &amp;quot;);&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;size_t dsc_len = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;size_t max_size;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;uint8_t * p_trans_buff = app_usbd_core_setup_transfer_buff_get(&amp;amp;max_size);&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/* Try to find descriptor in class internals*/&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ret_code_t ret = app_usbd_class_descriptor_find(p_inst,&amp;nbsp;p_setup_ev-&amp;gt;setup.wValue.hb,&lt;br /&gt; p_setup_ev-&amp;gt;setup.wValue.lb,&amp;nbsp;p_trans_buff,&amp;nbsp;&amp;amp;dsc_len);&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if (ret != NRF_ERROR_NOT_FOUND)&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ASSERT(dsc_len &amp;lt; NRF_DRV_USBD_EPSIZE);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return app_usbd_core_setup_rsp(&amp;amp;(p_setup_ev-&amp;gt;setup), p_trans_buff, dsc_len);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp;NRF_LOG_INFO(&amp;quot;NRF_ERROR_NOT_SUPPORTED&amp;quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp;return NRF_ERROR_NOT_SUPPORTED;&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;ret_code_t ret = app_usbd_class_descriptor_find(p_inst,p_setup_ev-&amp;gt;setup.wValue.hb,p_setup_ev-&amp;gt;setup.wValue.lb,p_trans_buff,&amp;amp;dsc_len);&lt;/p&gt;
&lt;p&gt;It returns ret =&amp;nbsp;NRF_ERROR_NOT_FOUND;&lt;/p&gt;
&lt;p&gt;In the above&amp;nbsp;&lt;span&gt;p_setup_ev-&amp;gt;setup.wValue.hb = 6; (desc_type)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;p_setup_ev-&amp;gt;setup.wValue.lb = 0;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;p_trans_buff = 26 03 48 00 53 00 49 00 44 00 36 (Here I dont now the actual length of p_trans_buff)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;dsc_len = 0;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I find the above value by debugging the code.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Inside the&amp;nbsp;app_usbd_class_descriptor_find() function , the value of&amp;nbsp;type as follows,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;4, 33, 5, 5, 5 (4 for interface, 33 for CCID, 5 for endpoint)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;So&amp;nbsp;if(type == desc_type) condition is not satisfied.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;t returns ret =&amp;nbsp;&lt;/span&gt;&lt;span&gt;NRF_ERROR_NOT_FOUND; from&amp;nbsp;app_usbd_class_descriptor_find&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Help me to solve this issue&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/222423?ContentTypeID=1</link><pubDate>Wed, 27 Nov 2019 15:17:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:796e9a09-a89d-46e0-adf6-10ab1cdc2cf6</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;[quote user="Gouse"][/quote]&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;em&gt;Is it stuck inside there, or just not processing any events? It sounds like there&amp;#39;s some CCID specific events that are not implemented?&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Yes, it processes the events.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Have you checked if the CCID class documentation has specific setup requests? Because it looks like there are unhandled/unimplemented cases in your implementation of the class.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/222357?ContentTypeID=1</link><pubDate>Wed, 27 Nov 2019 13:05:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bdada906-308a-478c-9b96-bd3e7d9b2914</guid><dc:creator>Mohammad</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Yes, it is&amp;nbsp;&lt;span&gt;&amp;nbsp;p_event-&amp;gt;app_evt.type.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;NRF_LOG_INFO(&amp;quot;ccid_event_handler = %d&amp;quot;, p_event-&amp;gt;app_evt.type);&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;em&gt;Is it stuck inside there, or just not processing any events? It sounds like there&amp;#39;s some CCID specific events that are not implemented?&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Yes, it processes the events.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/222351?ContentTypeID=1</link><pubDate>Wed, 27 Nov 2019 12:53:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:59c6c58d-74dc-469a-88af-80ce2fcb620f</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="Gouse"]&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 5&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: setup_event_handler&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: setup_req_std_in&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: NRF_ERROR_NOT_SUPPORTED[/quote]
&lt;p&gt;&amp;nbsp;What is &amp;#39;5&amp;#39; in this case? Is that the p_event-&amp;gt;app_evt.type? If yes, then that is the setup&amp;nbsp;APP_USBD_EVT_DRV_SETUP, which should handle class specific requests. I do not have extensive knowledge about CCID, unfortunately, so I cannot state what should be implemented for this specific USB class.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="Gouse"]But i have problem that the program stucks in infinte loop at this part&lt;br /&gt;&lt;br /&gt; while (app_usbd_event_queue_process())&lt;br /&gt; {&lt;br /&gt; /* Nothing to do */&lt;br /&gt; }[/quote]
&lt;p&gt;&amp;nbsp;Is it stuck inside there, or just not processing any events? It sounds like there&amp;#39;s some CCID specific events that are not implemented?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/222107?ContentTypeID=1</link><pubDate>Tue, 26 Nov 2019 13:28:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7c4944a5-2e66-4e49-a513-68e58d386a0e</guid><dc:creator>Mohammad</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thanks for your reply.&lt;/p&gt;
&lt;p&gt;Now i can send and receive the data through the endpoints.&lt;br /&gt;&lt;br /&gt;I have tested the following CCID message functions working good&lt;br /&gt;&lt;br /&gt;PC_TO_RDR_GETSLOTSTATUS&lt;br /&gt;PC_TO_RDR_ICCPOWERON&lt;br /&gt;PC_TO_RDR_ICCPOWEROFF&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;RDR_to_PC_DataBlock&lt;br /&gt;&lt;span&gt;RDR_to_PC_SlotStatus&lt;/span&gt;&lt;br /&gt;&lt;span&gt;RDR_to_PC_NotifySlotChange&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;But i have problem that the program stucks in infinte loop at this part&lt;br /&gt;&lt;br /&gt; while (app_usbd_event_queue_process())&lt;br /&gt; {&lt;br /&gt; /* Nothing to do */&lt;br /&gt; }&lt;/p&gt;
&lt;p&gt;Help me to solve this issue.&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration:underline;"&gt;&lt;strong&gt;Ouput:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;info&amp;gt; app: USBD CCID example started.&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 11&lt;br /&gt;&amp;lt;info&amp;gt; app: USB power detected&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 8&lt;br /&gt;&amp;lt;info&amp;gt; app: USB ready&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 10&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 15&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 13&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 2&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 3&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 15&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 1&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 1&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 15&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 5&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: setup_event_handler&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: setup_req_std_in&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: NRF_ERROR_NOT_SUPPORTED&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 15&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 6&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Current EP address = 0x2&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: NRF_USBD_EP_WAITING&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Length of the data received = 10&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: CCID Message type = 65 and bseq = 1&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_GETSLOTSTATUS&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: OK = 0&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: EPOUT_DATA: 02 done&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ------------------------&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 6&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Current EP address = 0x2&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Length of the data received = 10&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: CCID Message type = 81 and bseq = 1&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: OK = 1&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: EPOUT_DATA: 02 done&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ------------------------&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 6&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Current EP address = 0x82&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: EPIN_DATA: 82 done&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: RDR_to_PC_NotifySlotChange = 50, 03&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ------------------------&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 6&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Current EP address = 0x81&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: EPIN_CON: notify&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: EPIN_CON: 81 done&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ------------------------&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 6&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Current EP address = 0x2&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Length of the data received = 10&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: CCID Message type = 63 and bseq = 2&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_ICCPOWEROFF&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: OK = 0&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: EPOUT_DATA: 02 done&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ------------------------&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 6&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Current EP address = 0x82&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: EPIN_DATA: 82 done&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ------------------------&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 6&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Current EP address = 0x2&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Length of the data received = 10&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: CCID Message type = 62 and bseq = 3&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_ICCPOWERON&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: OK = 0&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: EPOUT_DATA: 02 done&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ------------------------&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 6&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Current EP address = 0x82&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: EPIN_DATA: 82 done&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ------------------------&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 6&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Current EP address = 0x2&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Length of the data received = 10&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: CCID Message type = 63 and bseq = 4&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_ICCPOWEROFF&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: OK = 0&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: EPOUT_DATA: 02 done&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ------------------------&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 6&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Current EP address = 0x82&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: EPIN_DATA: 82 done&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ------------------------&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 6&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Current EP address = 0x2&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Length of the data received = 10&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: CCID Message type = 62 and bseq = 5&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_ICCPOWERON&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: OK = 0&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: EPOUT_DATA: 02 done&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ------------------------&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 6&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Current EP address = 0x82&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: EPIN_DATA: 82 done&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ------------------------&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 6&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Current EP address = 0x2&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Length of the data received = 10&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: CCID Message type = 63 and bseq = 6&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_ICCPOWEROFF&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: OK = 0&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: EPOUT_DATA: 02 done&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ------------------------&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 6&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Current EP address = 0x82&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: EPIN_DATA: 82 done&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ------------------------&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 6&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Current EP address = 0x2&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Length of the data received = 10&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: CCID Message type = 62 and bseq = 7&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: PC_TO_RDR_ICCPOWERON&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: OK = 0&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: EPOUT_DATA: 02 done&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ------------------------&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 6&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_endpoint_ev&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: Current EP address = 0x82&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: EPIN_DATA: 82 done&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ------------------------&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 5&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: setup_event_handler&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: setup_req_std_in&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: NRF_ERROR_NOT_SUPPORTED&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 5&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: setup_event_handler&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: setup_req_std_in&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: NRF_ERROR_NOT_SUPPORTED&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: ccid_event_handler = 5&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: setup_event_handler&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: setup_req_std_in&lt;br /&gt;&amp;lt;info&amp;gt; usbd_ccid: NRF_ERROR_NOT_SUPPORTED&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/221592?ContentTypeID=1</link><pubDate>Fri, 22 Nov 2019 14:06:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2e9b4c43-8cd3-4fc9-ab93-c4db3265d51d</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
[quote user="Gouse"]ret = nrf_drv_usbd_ep_transfer(NRF_DRV_USBD_EPIN0, &amp;amp;transfer);[/quote]
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;In that function, you check if it is IN or OUT direction, based on the EP.&lt;/p&gt;
&lt;p&gt;In the case of the cdc_acm, it uses the&amp;nbsp;app_usbd_ep_handled_transfer(), which schedules a callback just prior to when the transfer is to occur, as per the header documentation in nrfx_usbd.h:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;/**
 * @brief Start sending data over the endpoint using the transfer handler function.
 *
 * This function initializes an endpoint transmission.
 * Just before data is transmitted, the transfer handler
 * is called and it prepares a data chunk.
 *
 * @param[in] ep        Endpoint number.
 *                      For an IN endpoint, sending is initiated.
 *                      For an OUT endpoint, receiving is initiated.
 * @param[in] p_handler Transfer handler - feeder for IN direction and consumer for
 *                      OUT direction.
 *
 * @retval NRFX_SUCCESS             Transfer queued or started.
 * @retval NRFX_ERROR_BUSY          Selected endpoint is pending.
 * @retval NRFX_ERROR_INVALID_ADDR  Unexpected transfer on EPIN0 or EPOUT0.
 */
nrfx_err_t nrfx_usbd_ep_handled_transfer(nrfx_usbd_ep_t ep,
                                         nrfx_usbd_handler_desc_t const * p_handler);&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;You can also fetch this using&amp;nbsp;app_usbd_ep_transfer() (for both directions, filtered on the input EP).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[quote user="Gouse"][/quote]&lt;/p&gt;
&lt;p&gt;If it is bulkout endpoint,&amp;nbsp;cdc_acm_rx_block_finished is called once the&amp;nbsp;NRF_USBD_EP_OK is OK.&lt;/p&gt;
&lt;p&gt;But i need to know how to copy the data from the endpoint.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;That specific function has CDC specific buffering logic, which makes it complicated wrt. where the USB data is read. It&amp;#39;s essentially the call to &amp;quot;app_usbd_ep_handled_transfer&amp;quot; that handles it. The rest is buffer logic.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/221201?ContentTypeID=1</link><pubDate>Thu, 21 Nov 2019 06:39:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:261e5b41-38b1-40e1-98da-8296c1d37dd1</guid><dc:creator>Mohammad</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thanks for your response.&lt;/p&gt;
&lt;p&gt;Can you specify your answer more clearly where i can refer in the cdc code for receive the data from endpoint.&lt;/p&gt;
&lt;p&gt;For example, to send the data in endpoint(EP0), i&amp;nbsp;use the following code,&lt;/p&gt;
&lt;div class="line"&gt;&lt;a class="code" title="API Result." href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/group__sdk__error.html#gaf6c20fb483036617204f12e99e0b997b"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;ret_code_t ret;&lt;br /&gt;nrf_drv_usbd_transfer_t transfer =&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;.p_data = {.tx = p_data},&lt;br /&gt;&amp;nbsp; &amp;nbsp;.size = size&lt;br /&gt;};&lt;br /&gt;ret = nrf_drv_usbd_ep_transfer(NRF_DRV_USBD_EPIN0, &amp;amp;transfer);&lt;/p&gt;
&lt;p&gt;As per your above statement, once the NRF_DRV_USBD_EVT_EPTRANSFER event is generated, it calls&amp;nbsp;cdc_acm_endpoint_ev where the type of endpoint is check.&lt;/p&gt;
&lt;p&gt;If it is bulkout endpoint,&amp;nbsp;cdc_acm_rx_block_finished is called once the&amp;nbsp;NRF_USBD_EP_OK is OK.&lt;/p&gt;
&lt;p&gt;But i need to know how to copy the data from the endpoint.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/221137?ContentTypeID=1</link><pubDate>Wed, 20 Nov 2019 15:39:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:38933fa1-b29e-4750-8bb2-7ba9774066ae</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;When using app_usbd, see the event handler, in case of the cdc, cdc_acm_event_handler, case &amp;quot;APP_USBD_EVT_DRV_EPTRANSFER&amp;quot;.&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/220978?ContentTypeID=1</link><pubDate>Wed, 20 Nov 2019 07:55:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:33408e91-5a3a-4db4-a456-a6d50beae1d7</guid><dc:creator>Mohammad</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thanks for your response.&lt;/p&gt;
&lt;p&gt;Can you let me know how to receive the data from the specific endpoint.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/220578?ContentTypeID=1</link><pubDate>Mon, 18 Nov 2019 13:06:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c1fae1a0-8875-4198-90c7-3eab233652a4</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote user="Gouse"]Now I need to modify further more in order to finish the USB CCID class driver. So i need to know parameter details of&lt;br /&gt;&lt;br /&gt;1. usb class instant data (app_usbd_class_inst_t) (Here class will be cdc or audio or msc or HID, in my case it is ccid, app_usbd_ccid_inst_t).&lt;br /&gt;&lt;br /&gt;2. class&amp;nbsp;context(&amp;nbsp;app_usbd_class_ctx_t,&amp;nbsp; Here class will be cdc or audio or msc or HID, in my case it is ccid, app_usbd_ccid_ctx_t).&lt;br /&gt;&lt;br /&gt;3.&amp;nbsp;class specific request handled via control endpoint ( app_usbd_class_req_t,&amp;nbsp;&amp;nbsp;Here class will be cdc or audio or msc or HID, in my case it is ccid, app_usbd_ccid_req_t).[/quote]
&lt;p&gt;Unfortunately, we do not have a document/guide specifically on how to create a own usb class.&lt;/p&gt;
&lt;p&gt;The parameters you&amp;#39;re asking for is defined in the USB CCID class itself, which you can find here: &lt;a href="https://www.usb.org/sites/default/files/DWG_Smart-Card_CCID_Rev110.pdf"&gt;https://www.usb.org/sites/default/files/DWG_Smart-Card_CCID_Rev110.pdf&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To implement these into the USBD framework, I would recommend looking at the already present classes, and the documentation for USBD:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/lib_usbd.html?cp=6_1_3_60"&gt;https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/lib_usbd.html?cp=6_1_3_60&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/220425?ContentTypeID=1</link><pubDate>Sat, 16 Nov 2019 20:12:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6ba56e29-2e2e-4fc4-bcf8-d678530e9c2b</guid><dc:creator>Mohammad</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;H&amp;aring;kon,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I am developing USB CCID driver class which not exist in nRF52 SDK.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Nordic guy (kenneth) refer me to use USB CDC-ACM class as reference for developing USB CCID class driver.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/38402/need-support-for-usb-ccid-using-nrf52840"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/38402/need-support-for-usb-ccid-using-nrf52840&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I have modified all the USB CDC class files in order to detect as USB CCID. Files are,&lt;br /&gt;1. app_usbd_ccid_types.h&lt;br /&gt;2. app_usbd_ccid_internals.h&lt;br /&gt;3. app_usbd_ccid_desc.h&lt;br /&gt;4. app_usbd_ccid.h&lt;br /&gt;5. app_usbd_ccid.c&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I have successfully written the Interface and class descriptor for CCID and I have tested it. Now the windows shows correctly Microsoft usbccid smart card reader(WUDF).&lt;br /&gt;&lt;br /&gt;Now I need to modify further more in order to finish the USB CCID class driver. So i need to know parameter details of&lt;br /&gt;&lt;br /&gt;1. usb class instant data (app_usbd_class_inst_t) (Here class will be cdc or audio or msc or HID, in my case it is ccid, app_usbd_ccid_inst_t).&lt;br /&gt;&lt;br /&gt;2. class&amp;nbsp;context(&amp;nbsp;app_usbd_class_ctx_t,&amp;nbsp; Here class will be cdc or audio or msc or HID, in my case it is ccid, app_usbd_ccid_ctx_t).&lt;br /&gt;&lt;br /&gt;3.&amp;nbsp;class specific request handled via control endpoint ( app_usbd_class_req_t,&amp;nbsp;&amp;nbsp;Here class will be cdc or audio or msc or HID, in my case it is ccid, app_usbd_ccid_req_t).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I have attached my&amp;nbsp;app_usbd_ccid_internal.h file for your refrence.(above)&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/220297?ContentTypeID=1</link><pubDate>Fri, 15 Nov 2019 12:29:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1b6a219a-d8d5-4059-9ecd-295a5ab9d0c2</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am sorry if I have misunderstood. From your text, I read that the windows driver enumeration (more specifically; the driver name) is the issue. Is that not the case? If not, can you please describe more in detail?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/220183?ContentTypeID=1</link><pubDate>Thu, 14 Nov 2019 21:28:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ba980cdd-4eea-47a4-a308-0f897621b43e</guid><dc:creator>Mohammad</dc:creator><description>&lt;p&gt;Hi &lt;span&gt;H&amp;aring;kon,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;This is not the answer for the issue i described above.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Pls check above issue i have described.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB CCID class with nordic nRF52840</title><link>https://devzone.nordicsemi.com/thread/220087?ContentTypeID=1</link><pubDate>Thu, 14 Nov 2019 13:36:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fa2b3c5f-6f94-49b3-87a1-a36c8d9fdd00</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This is a windows feature, that you cannot fix in firmware.&lt;/p&gt;
&lt;p&gt;See a similar issue here, just for the USBD_CDC_ACM:&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/52438/usb-cdc-uart-is-recognized-as-teensy-com-port"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/52438/usb-cdc-uart-is-recognized-as-teensy-com-port&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;If you have another driver, you can manually update the driver, as described in the above link.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>