View previous topic :: View next topic |
Author |
Message |
E_Blue
Joined: 13 Apr 2011 Posts: 417
|
USB CDC creates a COM but doesn't answer |
Posted: Thu Mar 09, 2017 12:49 pm |
|
|
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: 9226 Location: Greensville,Ontario
|
|
Posted: Thu Mar 09, 2017 1:34 pm |
|
|
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
|
|
Posted: Thu Mar 09, 2017 2:00 pm |
|
|
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: 9226 Location: Greensville,Ontario
|
|
Posted: Thu Mar 09, 2017 2:54 pm |
|
|
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
|
|
Posted: Thu Mar 09, 2017 6:18 pm |
|
|
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: 19513
|
|
Posted: Fri Mar 10, 2017 3:53 am |
|
|
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
|
|
Posted: Fri Mar 10, 2017 9:49 am |
|
|
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: 19513
|
|
Posted: Fri Mar 10, 2017 9:52 am |
|
|
I'd replace whatever capacitor you have on Vusb. |
|
|
temtronic
Joined: 01 Jul 2010 Posts: 9226 Location: Greensville,Ontario
|
|
Posted: Fri Mar 10, 2017 11:04 am |
|
|
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
|
|
Posted: Fri Mar 10, 2017 11:27 am |
|
|
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
|
|
Posted: Fri Mar 10, 2017 2:27 pm |
|
|
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
|
|
Posted: Fri Mar 10, 2017 2:39 pm |
|
|
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
|
|
Posted: Fri Mar 10, 2017 2:47 pm |
|
|
Ttelmah wrote: | I'd replace whatever capacitor you have on Vusb. |
Thanks, I will check that. _________________ Electric Blue |
|
|
temtronic
Joined: 01 Jul 2010 Posts: 9226 Location: Greensville,Ontario
|
|
Posted: Fri Mar 10, 2017 4:52 pm |
|
|
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 |
|
|
|