1

Spent the last few weeks reading, typing, testing, rinse & repeat to no avail in solving a problem.

Problem: Trying to reverse engineer a serial protocol at work. Instrument is currently being sold. Speaks exclusively to a GUI that was 'written' in Labview and is old and buggy. I can't navigate the Labview 'code' for the life of me and the old SW engineer is gone. I have the firmware code - but I'm not a firmware guy and I can't seem to find any kind of communications protocol in the firmware (I'm looking for read functions in the UART routines with input compare logic.. can't find anything).

I've been using Busdog and some other serial monitors to read USB port communications between GUI and instrument. I try to mimic what the GUI is saying, but I get different responses from instrument. I've tried every common baud rate and I can't get the instrument to respond in the same manner (I'm seeing 57600 in firmware and software code but still can't get that baud rate to work). Language I'm using is C# if that matters. Instrument also uses USB adapter for old style D-Sub serial cable, really not sure if that matters either.

Here's the GUI/Instrument startup log:

Id Type Time Length Hex Ascii
12 Out (USB URB Function: 9) 0.000000 4 00 00 00 00 ....
12 Out (USB URB Function: 9) 1.008934 4 00 00 00 00 ....
12 Out (USB URB Function: 9) 1.010073 4 00 00 00 00 ....
12 Out (USB URB Function: 9) 1.007099 4 00 00 00 00 ....
12 Out (USB URB Function: 9) 1.010093 4 00 00 00 00 ....
12 Out (USB URB Function: 9) 1.009898 4 00 00 00 00 ....
12 Out (USB URB Function: 9) 1.010076 4 00 00 00 00 ....
12 Out (USB URB Function: 9) 1.010085 4 00 00 00 00 ....
12 Out (USB URB Function: 9) 1.010055 4 00 00 00 00 ....
12 Out (USB URB Function: 9) 1.009993 4 00 00 00 00 ....
12 Out (USB URB Function: 9) 1.010076 4 00 00 00 00 ....

12 In (USB URB Function: 9) 0.478304 19 01 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..................

12 In (USB URB Function: 9) 0.015842 29 01 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ............................

12 Out (USB URB Function: 9) 0.035298 5 09 01 00 00 f6 .....

12 In (USB URB Function: 9) 1.476104 7 01 60 09 01 00 00 f6 ......

12 Out (USB URB Function: 9) 0.000255 4 01 00 00 ff ....

12 In (USB URB Function: 9) 0.255325 14 01 60 01 13 32 33 30 30 34 35 37 00 02 14 ...2300457...

12 In (USB URB Function: 9) 0.016031 13 01 60 01 c7 00 78 00 58 f9 01 03 04 d8 ....x.X.....

12 Out (USB URB Function: 9) 0.001046 5 05 01 01 00 f9 .....

12 In (USB URB Function: 9) 0.190664 50 01 60 05 3c 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 43 44 4f 4d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 52 46 ..<...................CDOM.....................RF

12 In (USB URB Function: 9) 0.016036 18 01 60 55 00 00 00 00 00 4e 00 00 00 00 00 02 9d 03 bc .U.....N.........

12 Out (USB URB Function: 9) 0.000203 5 05 01 02 00 f8 .....

12 In (USB URB Function: 9) 0.223419 9 01 60 05 3c 02 00 00 00 00 ..<.....

12 In (USB URB Function: 9) 1.015965 59 01 60 00 00 00 00 00 00 00 00 00 00 00 01 00 01 42 72 69 67 68 74 65 6e 65 72 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 52 46 55 00 00 00 00 00 4e 00 00 00 00 00 05 3f 06 b9 ...............Brighteners..............RFU.....N......?..

12 Out (USB URB Function: 9) 0.000705 5 05 01 03 00 f7 .....

12 In (USB URB Function: 9) 0.223026 7 01 60 05 3c 03 00 00 ..<...

12 In (USB URB Function: 9) 0.015999 61 01 60 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 54 72 79 70 74 6f 70 68 61 6e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 52 46 55 00 00 00 00 00 4e 00 00 00 00 00 05 82 06 b9 .................Tryptophan...............RFU.....N.........

12 Out (USB URB Function: 9) 0.000924 5 05 01 04 00 f6 .....

12 In (USB URB Function: 9) 0.238712 5 01 60 05 3c 04 ..<.

12 In (USB URB Function: 9) 0.016021 63 01 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 43 34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 52 46 55 00 00 00 00 00 4e 00 00 00 00 00 01 47 02 bd ...................C4.......................RFU.....N......G..

12 Out (USB URB Function: 9) 0.000253 5 05 01 05 00 f5 .....

12 In (USB URB Function: 9) 0.239318 10 01 60 05 3c 05 00 00 00 00 00 ..<......

12 In (USB URB Function: 9) 0.016044 58 01 60 00 00 00 00 00 00 00 00 00 00 01 00 01 43 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 52 46 55 00 00 00 00 00 4e 00 00 00 00 00 01 45 02 bd .`.............C5.......................RFU.....N......E..

12 Out (USB URB Function: 9) 0.000724 5 05 01 06 00 f4 .....

12 In (USB URB Function: 9) 0.239014 7 01 60 05 3c 06 00 00 ..<...

12 In (USB URB Function: 9) 1.016014 61 01 60 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 43 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 52 46 55 00 00 00 00 00 4e 00 00 00 00 00 01 43 02 bd .................C6.......................RFU.....N......C..

12 Out (USB URB Function: 9) 0.000268 5 05 01 07 00 f3 .....

12 In (USB URB Function: 9) 0.255336 55 01 60 05 3c 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 44 65 70 74 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0 43 00 00 00 00 00 ..<...................Depth.....................C.....

12 In (USB URB Function: 9) 0.015864 13 01 60 00 00 00 00 00 00 00 02 0f 03 bc ............

12 Out (USB URB Function: 9) 1.009433 4 00 00 00 00 ....

12 In (USB URB Function: 9) 0.013163 6 01 60 00 00 00 00 .....

12 Out (USB URB Function: 9) 1.011897 4 00 00 00 00 ....

12 In (USB URB Function: 9) 0.010717 6 01 60 00 00 00 00 .....

12 Out (USB URB Function: 9) 1.011300 4 00 00 00 00 ....

12 In (USB URB Function: 9) 0.011293 6 01 60 00 00 00 00 ..... (idling at this point... )

Here's my program/instrument log @ 57600 baud:

Id Type Time Length Hex Ascii

12 Out (USB URB Function: 9) 0.000000 4 00 00 00 00 ....

12 In (USB URB Function: 9) 0.001779 7 01 68 30 00 ce 00 30 .h0...0

12 In (USB URB Function: 9) 0.027282 70 01 60 e0 e7 3e fe 3e c0 fe 07 80 30 f8 98 fe 3e 0e f8 07 83 ce 06 0e f0 0e 00 30 1e ce e6 78 83 f0 0e fe 18 80 30 e0 30 00 30 3e 06 f8 30 00 30 1e 98 0e 1e e7 f0 18 3e e0 98 00 f0 30 e0 ce 00 01 60 30 00 f0 f0 ...>.>....0...>..........0...x......0.0.0>..0.0.......>....0....0...

12 Out (USB URB Function: 9) 2.699018 4 00 00 00 00 ....

12 In (USB URB Function: 9) 0.000785 3 01 70 00

12 In (USB URB Function: 9) 0.001493 8 01 68 ce 00 30 00 f0 30

12 In (USB URB Function: 9) 0.015390 9 01 60 e0 ce 00 30 00 f0 f0

12 Out (USB URB Function: 9) 1.669796 4 00 00 00 00

12 In (USB URB Function: 9) 0.000797 3 01 70 00

12 In (USB URB Function: 9) 0.001374 8 01 68 ce 00 30 00 f0 30

12 In (USB URB Function: 9) 0.016017 9 01 60 e0 ce 00 30 00 f0 f0

12 Out (USB URB Function: 9) 0.573729 4 00 00 00 00

12 In (USB URB Function: 9) 0.000870 3 01 70 00

12 In (USB URB Function: 9) 0.001373 8 01 68 ce 00 30 00 f0 30

12 In (USB URB Function: 9) 0.015141 9 01 60 e0 ce 00 30 00 f0 f0

12 Out (USB URB Function: 9) 2.286973 5 09 01 00 00 f6

12 In (USB URB Function: 9) 0.000881 3 01 68 c0

12 In (USB URB Function: 9) 0.000244 3 01 60 00

12 In (USB URB Function: 9) 0.001108 8 01 68 33 00 30 00 f0 30

12 In (USB URB Function: 9) 0.015015 10 01 60 00 fe e6 00 30 00 f0 f0

12 Out (USB URB Function: 9) 1.950696 4 01 00 00

12 In (USB URB Function: 9) 0.000805 3 01 68 c0

12 In (USB URB Function: 9) 0.000213 3 01 60 00

12 In (USB URB Function: 9) 0.015034 8 01 60 33 00 30 00 f0 f0

12 Out (USB URB Function: 9) 0.561288 5 05 01 01 00 f9

12 In (USB URB Function: 9) 0.000797 3 01 68 f0

12 In (USB URB Function: 9) 0.000245 3 01 70 00

12 In (USB URB Function: 9) 0.001254 8 01 68 33 00 30 00 f0 30

12 In (USB URB Function: 9) 0.000123 3 01 70 00

12 In (USB URB Function: 9) 0.000248 3 01 68 ff

12 In (USB URB Function: 9) 0.015170 8 01 60 c6 00 30 00 f0 f0

12 Out (USB URB Function: 9) 1.869307 5 05 01 01 00 f9

12 In (USB URB Function: 9) 0.000888 3 01 68 f0

12 In (USB URB Function: 9) 0.000250 3 01 60 00

12 In (USB URB Function: 9) 0.001117 8 01 68 33 00 30 00 f0 30 .h3.0..0

12 In (USB URB Function: 9) 0.000124 3 01 70 00 .p.

12 In (USB URB Function: 9) 0.000249 3 01 68 ff .h.

12 In (USB URB Function: 9) 0.015890 8 01 60 c6 00 30 00 f0 f0 ...0...

12 Out (USB URB Function: 9) 3.052994 5 05 01 02 00 f8 .....

12 In (USB URB Function: 9) 0.000804 3 01 68 f0 .h.

12 In (USB URB Function: 9) 0.000124 3 01 70 00 .p.

12 In (USB URB Function: 9) 0.001377 8 01 68 33 00 30 00 f0 30 .h3.0..0

12 In (USB URB Function: 9) 0.000123 3 01 60 00 ..

12 In (USB URB Function: 9) 0.000125 3 01 68 ff .h.

12 In (USB URB Function: 9) 0.015154 8 01 60 c6 00 30 00 f0 f0 ...0...

12 Out (USB URB Function: 9) 2.182100 5 05 01 03 00 f7 .....

12 In (USB URB Function: 9) 0.000870 3 01 68 f0 .h.

12 In (USB URB Function: 9) 0.000207 3 01 60 00 ..

12 In (USB URB Function: 9) 0.001265 8 01 68 33 00 30 00 f0 30 .h3.0..0

12 In (USB URB Function: 9) 0.015650 10 01 60 00 fe e6 00 30 00 f0 f0 .....0...
>

Not sure why I can't match the startup routine. Or match anything else. I assume I'm missing something big.. I just don't know what. Any insight helps. Thanks.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.