CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to support@ccsinfo.com

USB CDC creates a COM but doesn't answer

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
E_Blue



Joined: 13 Apr 2011
Posts: 417

View user's profile Send private message

USB CDC creates a COM but doesn't answer
PostPosted: Thu Mar 09, 2017 12:49 pm     Reply with quote

I'm having a trouble with the USB CDC, it enumerates OK as many times as I plug the USB connector but doesn't answer when I send a command.

The code was working ok for about 6 years.
In the last code update I didn't change anything related directly to USB CDC.

It doesn't happen with all devices, and if I shut off all the power , wait 5 seconds and restart the device work ok again.

I think is not a CDC library bug but I must to ask anyway, If any noise, due to a faulty connector, can mess up the CDC library?

How I can debug this?

There's any way to restart the CDC library if I can detect a faulty condition by code?

PIC18F67J50
Compiler Version 5.056
MPLAB IDE 8.80

I make it a capture with a Windows program and I got this.

Copy and save it as HTML file.

Code:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html><head><title>USBlyzer  Report</title>
<style type=text/css>
body {
   padding: 0;
   background: #fff;
   color: #000;
   font-family: Verdana, Arial, Helvetica, sans-serif;
   font-size: 70%;
   }
p {
   margin-top: .6em;
   margin-bottom: .6em;
   }
font.cap {
   font-weight: bold; font-size: 120%;
   }
table {
   width: 100%;
   background: #fff;
   margin-top: .3em;
   margin-bottom: .3em;
   border: 1px solid #999;
   border-collapse: collapse;
   table-layout:auto;
   }
th {
   padding: 1px 2px;
   background: #eee;
   color: #666666;
   font-size: 70%;
   white-space: nowrap;
   text-align: left;
   vertical-align: top;
   border: 1px solid #999;
   }
td {
   padding: 1px 2px;
   background: #fff;
   font-size: 70%;
   white-space: nowrap;
   vertical-align: top;
   border: 1px solid #999;
   }
td.rawdata {
   padding: 2px;
   background: #efefef;
   font-size: 70%;
   white-space: nowrap;
   vertical-align: top;
   border: 1px solid #999;
   }
td pre {
   padding-left: 1em;
   margin: 0;
   }
</style>
</head>

<body>

<font class="cap">USBlyzer  Report</font>

<p><b>Capture List</b>

<table>
<tr><th>Type</th>
<th>Seq</th>
<th>Time</th>
<th>Elapsed</th>
<th>Duration</th>
<th>Request</th>
<th>Request Details</th>
<th>I/O</th>
<th>C:I:E</th>
<th>Device Object</th>
<th>Device Name</th>
<th>Driver Name</th>
<th>IRP</th>
<th>IRP Status (URB Status)</th>
</tr>
<tr><td>START</td><td>0001</td><td>11:56:54.642</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>Create</td><td>0002</td><td>11:57:13.612</td><td>18.970607 s</td><td></td><td>Create</td><td>hypertrm.exe</td><td></td><td></td><td>FFFFFA8006FCA4A0h</td><td>USBSER000</td><td>usbser</td><td>FFFFFA8006C13010h</td><td></td></tr>
<tr><td>Create</td><td>0003-0002</td><td>11:57:13.612</td><td>18.970629 s</td><td>22 us</td><td>Create</td><td>hypertrm.exe</td><td></td><td></td><td>FFFFFA8006FCA4A0h</td><td>USBSER000</td><td>usbser</td><td>FFFFFA8006C13010h</td><td>Success</td></tr>
<tr><td>URB</td><td>0004</td><td>11:57:13.612</td><td>18.970666 s</td><td></td><td>Class Interface</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td></td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA800700EC60h</td><td></td></tr>
<tr><td>URB</td><td>0005</td><td>11:57:13.612</td><td>18.970671 s</td><td></td><td>Class Interface</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td></td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA800700EC60h</td><td></td></tr>
<tr><td>URB</td><td>0006-0005</td><td>11:57:13.613</td><td>18.971492 s</td><td>821 us</td><td>Control Transfer</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td>--:--:00</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA800700EC60h</td><td>Success (Success)</td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  80 25 00 00 00 00 08                             .%.....         
</pre></td></tr>
<tr><td>URB</td><td>0007-0004</td><td>11:57:13.613</td><td>18.971495 s</td><td>829 us</td><td>Control Transfer</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td>--:--:00</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA800700EC60h</td><td>Success (Success)</td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  80 25 00 00 00 00 08                             .%.....         
</pre></td></tr>
<tr><td>URB</td><td>0008</td><td>11:57:13.613</td><td>18.971517 s</td><td></td><td>Class Interface</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td></td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA800700EC60h</td><td></td></tr>
<tr><td>URB</td><td>0009</td><td>11:57:13.613</td><td>18.971520 s</td><td></td><td>Class Interface</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td></td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA800700EC60h</td><td></td></tr>
<tr><td>URB</td><td>0010-0009</td><td>11:57:13.614</td><td>18.972456 s</td><td>935 us</td><td>Control Transfer</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td>--:--:00</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA800700EC60h</td><td>Success (Success)</td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  80 25 00 00 00 00 08                             .%.....         
</pre></td></tr>
<tr><td>URB</td><td>0011-0008</td><td>11:57:13.614</td><td>18.972458 s</td><td>941 us</td><td>Control Transfer</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td>--:--:00</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA800700EC60h</td><td>Success (Success)</td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  80 25 00 00 00 00 08                             .%.....         
</pre></td></tr>
<tr><td>URB</td><td>0012</td><td>11:57:13.614</td><td>18.972491 s</td><td></td><td>Class Interface</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td></td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA800700EC60h</td><td></td></tr>
<tr><td>URB</td><td>0013</td><td>11:57:13.614</td><td>18.972495 s</td><td></td><td>Class Interface</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td></td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA800700EC60h</td><td></td></tr>
<tr><td>URB</td><td>0014-0013</td><td>11:57:13.615</td><td>18.973455 s</td><td>960 us</td><td>Control Transfer</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td>--:--:00</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA800700EC60h</td><td>Success (Success)</td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  80 25 00 00 00 00 08                             .%.....         
</pre></td></tr>
<tr><td>URB</td><td>0015-0012</td><td>11:57:13.615</td><td>18.973458 s</td><td>966 us</td><td>Control Transfer</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td>--:--:00</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA800700EC60h</td><td>Success (Success)</td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  80 25 00 00 00 00 08                             .%.....         
</pre></td></tr>
<tr><td>URB</td><td>0016</td><td>11:57:13.615</td><td>18.973478 s</td><td></td><td>Class Interface</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td></td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA800700EC60h</td><td></td></tr>
<tr><td>URB</td><td>0017</td><td>11:57:13.615</td><td>18.973482 s</td><td></td><td>Class Interface</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td></td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA800700EC60h</td><td></td></tr>
<tr><td>URB</td><td>0018-0017</td><td>11:57:13.616</td><td>18.974456 s</td><td>974 us</td><td>Control Transfer</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td>--:--:00</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA800700EC60h</td><td>Success (Success)</td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  80 25 00 00 00 00 08                             .%.....         
</pre></td></tr>
<tr><td>URB</td><td>0019-0016</td><td>11:57:13.616</td><td>18.974459 s</td><td>981 us</td><td>Control Transfer</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td>--:--:00</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA800700EC60h</td><td>Success (Success)</td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  80 25 00 00 00 00 08                             .%.....         
</pre></td></tr>
<tr><td>URB</td><td>0020</td><td>11:57:13.616</td><td>18.974489 s</td><td></td><td>Class Interface</td><td>Set Line Coding (Ifc 0)</td><td>out</td><td></td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA800700EC60h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  60 09 00 00 00 00 08                             `......         
</pre></td></tr>
<tr><td>URB</td><td>0021</td><td>11:57:13.616</td><td>18.974492 s</td><td></td><td>Class Interface</td><td>Set Line Coding (Ifc 0)</td><td>out</td><td></td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA800700EC60h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  60 09 00 00 00 00 08                             `......         
</pre></td></tr>
<tr><td>URB</td><td>0022-0021</td><td>11:57:13.617</td><td>18.975429 s</td><td>937 us</td><td>Control Transfer</td><td>Set Line Coding (Ifc 0)</td><td>out</td><td>--:--:00</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA800700EC60h</td><td>Success (Success)</td></tr>
<tr><td>URB</td><td>0023-0020</td><td>11:57:13.617</td><td>18.975432 s</td><td>943 us</td><td>Control Transfer</td><td>Set Line Coding (Ifc 0)</td><td>out</td><td>--:--:00</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA800700EC60h</td><td>Success (Success)</td></tr>
<tr><td>URB</td><td>0024</td><td>11:57:13.617</td><td>18.975447 s</td><td></td><td>Class Interface</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td></td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA800700EC60h</td><td></td></tr>
<tr><td>URB</td><td>0025</td><td>11:57:13.617</td><td>18.975451 s</td><td></td><td>Class Interface</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td></td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA800700EC60h</td><td></td></tr>
<tr><td>URB</td><td>0026-0025</td><td>11:57:13.618</td><td>18.976452 s</td><td>1.001 ms</td><td>Control Transfer</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td>--:--:00</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA800700EC60h</td><td>Success (Success)</td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  60 09 00 00 00 00 08                             `......         
</pre></td></tr>
<tr><td>URB</td><td>0027-0024</td><td>11:57:13.618</td><td>18.976454 s</td><td>1.007 ms</td><td>Control Transfer</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td>--:--:00</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA800700EC60h</td><td>Success (Success)</td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  60 09 00 00 00 00 08                             `......         
</pre></td></tr>
<tr><td>URB</td><td>0028</td><td>11:57:13.618</td><td>18.976478 s</td><td></td><td>Class Interface</td><td>Set Control Line State (Ifc 0)</td><td>out</td><td></td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA800700EC60h</td><td></td></tr>
<tr><td>URB</td><td>0029</td><td>11:57:13.618</td><td>18.976482 s</td><td></td><td>Class Interface</td><td>Set Control Line State (Ifc 0)</td><td>out</td><td></td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA800700EC60h</td><td></td></tr>
<tr><td>URB</td><td>0030-0029</td><td>11:57:13.619</td><td>18.977450 s</td><td>968 us</td><td>Control Transfer</td><td>Set Control Line State (Ifc 0)</td><td>out</td><td>--:--:00</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA800700EC60h</td><td>Success (Success)</td></tr>
<tr><td>URB</td><td>0031-0028</td><td>11:57:13.619</td><td>18.977452 s</td><td>974 us</td><td>Control Transfer</td><td>Set Control Line State (Ifc 0)</td><td>out</td><td>--:--:00</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA800700EC60h</td><td>Success (Success)</td></tr>
<tr><td>URB</td><td>0032</td><td>11:57:13.619</td><td>18.977473 s</td><td></td><td>Class Interface</td><td>Set Line Coding (Ifc 0)</td><td>out</td><td></td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA800700EC60h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  60 09 00 00 00 00 08                             `......         
</pre></td></tr>
<tr><td>URB</td><td>0033</td><td>11:57:13.619</td><td>18.977476 s</td><td></td><td>Class Interface</td><td>Set Line Coding (Ifc 0)</td><td>out</td><td></td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA800700EC60h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  60 09 00 00 00 00 08                             `......         
</pre></td></tr>
<tr><td>URB</td><td>0034-0033</td><td>11:57:13.620</td><td>18.978452 s</td><td>976 us</td><td>Control Transfer</td><td>Set Line Coding (Ifc 0)</td><td>out</td><td>--:--:00</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA800700EC60h</td><td>Success (Success)</td></tr>
<tr><td>URB</td><td>0035-0032</td><td>11:57:13.620</td><td>18.978454 s</td><td>981 us</td><td>Control Transfer</td><td>Set Line Coding (Ifc 0)</td><td>out</td><td>--:--:00</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA800700EC60h</td><td>Success (Success)</td></tr>
<tr><td>URB</td><td>0036</td><td>11:57:13.620</td><td>18.978465 s</td><td></td><td>Class Interface</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td></td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA800700EC60h</td><td></td></tr>
<tr><td>URB</td><td>0037</td><td>11:57:13.620</td><td>18.978468 s</td><td></td><td>Class Interface</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td></td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA800700EC60h</td><td></td></tr>
<tr><td>URB</td><td>0038-0037</td><td>11:57:13.621</td><td>18.979456 s</td><td>988 us</td><td>Control Transfer</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td>--:--:00</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA800700EC60h</td><td>Success (Success)</td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  60 09 00 00 00 00 08                             `......         
</pre></td></tr>
<tr><td>URB</td><td>0039-0036</td><td>11:57:13.621</td><td>18.979458 s</td><td>994 us</td><td>Control Transfer</td><td>Get Line Coding (Ifc 0)</td><td>in</td><td>--:--:00</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA800700EC60h</td><td>Success (Success)</td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  60 09 00 00 00 00 08                             `......         
</pre></td></tr>
<tr><td>URB</td><td>0040</td><td>11:57:42.588</td><td>47.948375 s</td><td></td><td>Bulk or Interrupt Transfer</td><td>1 byte data</td><td>out</td><td>01:01:02</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA80088E9880h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  51                                               Q               
</pre></td></tr>
<tr><td>URB</td><td>0041</td><td>11:57:42.588</td><td>47.948386 s</td><td></td><td>Bulk or Interrupt Transfer</td><td>1 byte data</td><td>out</td><td>01:01:02</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA80088E9880h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  51                                               Q               
</pre></td></tr>
<tr><td>URB</td><td>0042-0041</td><td>11:57:42.589</td><td>47.949080 s</td><td>695 us</td><td>Bulk or Interrupt Transfer</td><td>1 byte buffer</td><td>out</td><td>01:01:02</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA80088E9880h</td><td>Success (Success)</td></tr>
<tr><td>URB</td><td>0043-0040</td><td>11:57:42.589</td><td>47.949087 s</td><td>712 us</td><td>Bulk or Interrupt Transfer</td><td>1 byte buffer</td><td>out</td><td>01:01:02</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA80088E9880h</td><td>Success (Success)</td></tr>
<tr><td>URB</td><td>0044</td><td>11:57:42.589</td><td>47.949160 s</td><td></td><td>Bulk or Interrupt Transfer</td><td>1 byte data</td><td>out</td><td>01:01:02</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA80088E9880h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  54                                               T               
</pre></td></tr>
<tr><td>URB</td><td>0045</td><td>11:57:42.589</td><td>47.949169 s</td><td></td><td>Bulk or Interrupt Transfer</td><td>1 byte data</td><td>out</td><td>01:01:02</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA80088E9880h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  54                                               T               
</pre></td></tr>
<tr><td>URB</td><td>0046-0045</td><td>11:57:47.590</td><td>52.950064 s</td><td>5.000895 s</td><td>Bulk or Interrupt Transfer</td><td></td><td>out</td><td>01:01:02</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA80088E9880h</td><td>Cancelled (Canceled)</td></tr>
<tr><td>URB</td><td>0047-0044</td><td>11:57:47.590</td><td>52.950071 s</td><td>5.000911 s</td><td>Bulk or Interrupt Transfer</td><td></td><td>out</td><td>01:01:02</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA80088E9880h</td><td>Cancelled (Canceled)</td></tr>
<tr><td>URB</td><td>0048</td><td>11:57:47.591</td><td>52.950243 s</td><td></td><td>Bulk or Interrupt Transfer</td><td>1 byte data</td><td>out</td><td>01:01:02</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA80088E9880h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  54                                               T               
</pre></td></tr>
<tr><td>URB</td><td>0049</td><td>11:57:47.591</td><td>52.950255 s</td><td></td><td>Bulk or Interrupt Transfer</td><td>1 byte data</td><td>out</td><td>01:01:02</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA80088E9880h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  54                                               T               
</pre></td></tr>
<tr><td>URB</td><td>0050-0049</td><td>11:57:52.591</td><td>57.950956 s</td><td>5.000701 s</td><td>Bulk or Interrupt Transfer</td><td></td><td>out</td><td>01:01:02</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA80088E9880h</td><td>Cancelled (Canceled)</td></tr>
<tr><td>URB</td><td>0051-0048</td><td>11:57:52.591</td><td>57.950963 s</td><td>5.000719 s</td><td>Bulk or Interrupt Transfer</td><td></td><td>out</td><td>01:01:02</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA80088E9880h</td><td>Cancelled (Canceled)</td></tr>
<tr><td>URB</td><td>0052</td><td>11:57:52.591</td><td>57.951082 s</td><td></td><td>Bulk or Interrupt Transfer</td><td>1 byte data</td><td>out</td><td>01:01:02</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA80088E9880h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  2A                                               *               
</pre></td></tr>
<tr><td>URB</td><td>0053</td><td>11:57:52.591</td><td>57.951091 s</td><td></td><td>Bulk or Interrupt Transfer</td><td>1 byte data</td><td>out</td><td>01:01:02</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA80088E9880h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  2A                                               *               
</pre></td></tr>
<tr><td>URB</td><td>0054-0053</td><td>11:57:57.591</td><td>62.950886 s</td><td>4.999795 s</td><td>Bulk or Interrupt Transfer</td><td></td><td>out</td><td>01:01:02</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA80088E9880h</td><td>Cancelled (Canceled)</td></tr>
<tr><td>URB</td><td>0055-0052</td><td>11:57:57.591</td><td>62.950894 s</td><td>4.999812 s</td><td>Bulk or Interrupt Transfer</td><td></td><td>out</td><td>01:01:02</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA80088E9880h</td><td>Cancelled (Canceled)</td></tr>
<tr><td>URB</td><td>0056</td><td>11:57:57.591</td><td>62.950962 s</td><td></td><td>Bulk or Interrupt Transfer</td><td>1 byte data</td><td>out</td><td>01:01:02</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA80088E9880h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  35                                               5               
</pre></td></tr>
<tr><td>URB</td><td>0057</td><td>11:57:57.591</td><td>62.950974 s</td><td></td><td>Bulk or Interrupt Transfer</td><td>1 byte data</td><td>out</td><td>01:01:02</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA80088E9880h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  35                                               5               
</pre></td></tr>
<tr><td>URB</td><td>0058-0057</td><td>11:58:02.591</td><td>67.951823 s</td><td>5.000849 s</td><td>Bulk or Interrupt Transfer</td><td></td><td>out</td><td>01:01:02</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA80088E9880h</td><td>Cancelled (Canceled)</td></tr>
<tr><td>URB</td><td>0059-0056</td><td>11:58:02.591</td><td>67.951830 s</td><td>5.000868 s</td><td>Bulk or Interrupt Transfer</td><td></td><td>out</td><td>01:01:02</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA80088E9880h</td><td>Cancelled (Canceled)</td></tr>
<tr><td>URB</td><td>0060</td><td>11:58:02.592</td><td>67.951941 s</td><td></td><td>Bulk or Interrupt Transfer</td><td>1 byte data</td><td>out</td><td>01:01:02</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA80088E9880h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  31                                               1               
</pre></td></tr>
<tr><td>URB</td><td>0061</td><td>11:58:02.592</td><td>67.951951 s</td><td></td><td>Bulk or Interrupt Transfer</td><td>1 byte data</td><td>out</td><td>01:01:02</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA80088E9880h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  31                                               1               
</pre></td></tr>
<tr><td>URB</td><td>0062-0061</td><td>11:58:07.593</td><td>72.952768 s</td><td>5.000817 s</td><td>Bulk or Interrupt Transfer</td><td></td><td>out</td><td>01:01:02</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA80088E9880h</td><td>Cancelled (Canceled)</td></tr>
<tr><td>URB</td><td>0063-0060</td><td>11:58:07.593</td><td>72.952776 s</td><td>5.000834 s</td><td>Bulk or Interrupt Transfer</td><td></td><td>out</td><td>01:01:02</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA80088E9880h</td><td>Cancelled (Canceled)</td></tr>
<tr><td>URB</td><td>0064</td><td>11:58:07.593</td><td>72.952945 s</td><td></td><td>Bulk or Interrupt Transfer</td><td>1 byte data</td><td>out</td><td>01:01:02</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA80088E9880h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  0D                                               .               
</pre></td></tr>
<tr><td>URB</td><td>0065</td><td>11:58:07.593</td><td>72.952956 s</td><td></td><td>Bulk or Interrupt Transfer</td><td>1 byte data</td><td>out</td><td>01:01:02</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA80088E9880h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  0D                                               .               
</pre></td></tr>
<tr><td>URB</td><td>0066-0065</td><td>11:58:12.593</td><td>77.952699 s</td><td>4.999743 s</td><td>Bulk or Interrupt Transfer</td><td></td><td>out</td><td>01:01:02</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA80088E9880h</td><td>Cancelled (Canceled)</td></tr>
<tr><td>URB</td><td>0067-0064</td><td>11:58:12.593</td><td>77.952706 s</td><td>4.999761 s</td><td>Bulk or Interrupt Transfer</td><td></td><td>out</td><td>01:01:02</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA80088E9880h</td><td>Cancelled (Canceled)</td></tr>
<tr><td>URB</td><td>0068</td><td>12:00:51.236</td><td>236.595407 s</td><td></td><td>Bulk or Interrupt Transfer</td><td>1 byte data</td><td>out</td><td>01:01:02</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA8006FDE600h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  0D                                               .               
</pre></td></tr>
<tr><td>URB</td><td>0069</td><td>12:00:51.236</td><td>236.595418 s</td><td></td><td>Bulk or Interrupt Transfer</td><td>1 byte data</td><td>out</td><td>01:01:02</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA8006FDE600h</td><td></td></tr>
<tr><td colspan='15' class='rawdata'><pre>
00000000  0D                                               .               
</pre></td></tr>
<tr><td>URB</td><td>0070-0069</td><td>12:00:56.237</td><td>241.596629 s</td><td>5.001211 s</td><td>Bulk or Interrupt Transfer</td><td></td><td>out</td><td>01:01:02</td><td>FFFFFA8006F17060h</td><td>USBPDO-13</td><td>usbhub</td><td>FFFFFA8006FDE600h</td><td>Cancelled (Canceled)</td></tr>
<tr><td>URB</td><td>0071-0068</td><td>12:00:56.237</td><td>241.596635 s</td><td>5.001228 s</td><td>Bulk or Interrupt Transfer</td><td></td><td>out</td><td>01:01:02</td><td>FFFFFA8006F39890h</td><td></td><td>usbfilter</td><td>FFFFFA8006FDE600h</td><td>Cancelled (Canceled)</td></tr>
</table>

<br><br><p align=center>This report was generated by <a href="http://www.usblyzer.com/">USBlyzer</a>

</body>

</html>

_________________
Electric Blue
temtronic



Joined: 01 Jul 2010
Posts: 9161
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Thu Mar 09, 2017 1:34 pm     Reply with quote

OK, in the past 6 years have you upgraded ANY portion of the Windows Operating System? Odds are you're not the 'system manage' or whetever they call it these days so your program doesn't have access( permission) as it did 6 years ago.
E_Blue



Joined: 13 Apr 2011
Posts: 417

View user's profile Send private message

PostPosted: Thu Mar 09, 2017 2:00 pm     Reply with quote

Yes, I change from Windows XP to Windows 7, and I'm the only user and administrator; but is not OS permission related, since the data is going from PC to micro as is showed in the HTML file.

And I don't get any error on the Windows Application until about 40 seconds from the first command or if I hot unplug the device.

The USB CDC works fine even in this version, but some times don't.
The automatic part, enumeration, it works always fine, the problem seems to be with the receive of the data.

If I send "QTT*51/r" I get this, look at the time



Every five seconds an error.
_________________
Electric Blue
temtronic



Joined: 01 Jul 2010
Posts: 9161
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Thu Mar 09, 2017 2:54 pm     Reply with quote

well I'm still using XP, so I can't help though I've seen here that there are 'layers' of permissions you have to set up. The every 5 seconds kinda points to a Windows thing, though what, I have no idea.
I'm sure someone else will chime in on this.

Silly option ,might be to get a PC with XP on it and see it it works. If it does then you know it's '7' problem.

WRT XP, I did have 'some' program/ap/boogyman change the allowable USB port current on ONE port some time ago. I've never ever figured that out....

Jay
PCM programmer



Joined: 06 Sep 2003
Posts: 21708

View user's profile Send private message

PostPosted: Thu Mar 09, 2017 6:18 pm     Reply with quote

Quote:
In the last code update I didn't change anything related directly to USB CDC.

Go back to the setup before the change. Does it work ?

Re temtronic's tack -
How long have you been using Win7 ? How many years was it working
with Win7 ? My guess is, a few. I doubt that's the problem.

You made changes. Were these entirely in CCS code for the PIC ?
Did you change the compiler version right before your "last code update" ?


Restore your test setup to a working condition. Then change one little
thing at a time and test it until it fails. Then you have found your problem.
This method isn't necessarily 100% effective, but quite often it is.
Ttelmah



Joined: 11 Mar 2010
Posts: 19328

View user's profile Send private message

PostPosted: Fri Mar 10, 2017 3:53 am     Reply with quote

Try one simple change.

On the W7 machine, go into the power management settings, advanced, and turn off 'USB selective suspend'.

This feature is differently coded in Windows Vista and later, than in the earlier OS's. In use, W7, will enumerate, and almost immediately suspend the device, if there is no traffic for only a very few mSec. The suspend on XP is done using an idle request, while on W8 and later the power ISP is instead used....
E_Blue



Joined: 13 Apr 2011
Posts: 417

View user's profile Send private message

PostPosted: Fri Mar 10, 2017 9:49 am     Reply with quote

I'm using W7 x64 from a year ago.
I did not change the compiler version recently.

I don't think it's a Windows related thing because the firmware works ok in 50 devices and one fail, and if the same device is powered off, wait 5 seconds and connect the battery again it works like the rest.

Also, has been tested on different machines, most W7, and one W10.

I can turn off 'USB selective suspend' but most end user have no idea, they just want to plug the device and configure it.
_________________
Electric Blue
Ttelmah



Joined: 11 Mar 2010
Posts: 19328

View user's profile Send private message

PostPosted: Fri Mar 10, 2017 9:52 am     Reply with quote

I'd replace whatever capacitor you have on Vusb.
temtronic



Joined: 01 Jul 2010
Posts: 9161
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Fri Mar 10, 2017 11:04 am     Reply with quote

well with this information...

" the firmware works ok in 50 devices and one fail"

it sounds like a hardware problem for that ONE unit
PCM programmer



Joined: 06 Sep 2003
Posts: 21708

View user's profile Send private message

PostPosted: Fri Mar 10, 2017 11:27 am     Reply with quote

Yeah. One board out of 50 fails ? You presented the problem as a
systemic problem, which is "right up our alley". But in fact, you are
asking us to trouble-shoot one board that's failed out of a batch of 50.
This is a problem for your board test department, not us.
E_Blue



Joined: 13 Apr 2011
Posts: 417

View user's profile Send private message

PostPosted: Fri Mar 10, 2017 2:27 pm     Reply with quote

None of the ones that I tested has failed.

A coworker from another sector bringed me two devices that have failed and another coworker one more.

I don't have the exact number of manufactured devices, I'm the developer, I'm in another floor but I guess that at least 100 devices has been manufactured.
_________________
Electric Blue
E_Blue



Joined: 13 Apr 2011
Posts: 417

View user's profile Send private message

PostPosted: Fri Mar 10, 2017 2:39 pm     Reply with quote

PCM programmer wrote:
Yeah. One board out of 50 fails ? You presented the problem as a
systemic problem....


No, I didn't.
If you read the original post I clearly stated

It doesn't happen with all devices, and if I shut off all the power , wait 5 seconds and restart the device work ok again.

I think is not a CDC library bug but I must to ask anyway, If any noise, due to a faulty connector, can mess up the CDC library?

_________________
Electric Blue
E_Blue



Joined: 13 Apr 2011
Posts: 417

View user's profile Send private message

PostPosted: Fri Mar 10, 2017 2:47 pm     Reply with quote

Ttelmah wrote:
I'd replace whatever capacitor you have on Vusb.


Thanks, I will check that.
_________________
Electric Blue
temtronic



Joined: 01 Jul 2010
Posts: 9161
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Fri Mar 10, 2017 4:52 pm     Reply with quote

hmm 2 devices out of 100+..

Are they sequential in serial numbers, from the same production run, same person assemble them, same components.

It does 'sound' like a bad cap or reversed insertion cap problem, though without seeing the devices it's really just a guess.

'Noise' won't alter the CDC llibrary. well it shouldn't as it's hard programmed. if anything 'noise', will generally alter RAM.

Since this is a USB attached device, do you have the correct PSU components, bypass caps, USB connectors? What PIC? Most require specific PCB layout, caps,etc. Check DOM for Errata.

You need to find out what's common with the 2 that fail but different on the 98 that passed.

Jay
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group