12
votes
Accepted
Finding out checksum algorithm
It's a big-endian CRC16 (polynomial 0x8005) of the data from the byte following the 0x82 up to and including the byte before the CRC.
For example, for your last RX frame:
82 00 00 00 ff 00 00 00 01 ...
9
votes
Accepted
Thought I found serial port - broke embedded device instead! Help?
Frying your board:
Just touching one single pin of a chip, or connecting it to ground over a reasonably high-resistance voltmeter, will generally not fry a board. However, there are ways to fry a ...
8
votes
Thought I found serial port - broke embedded device instead! Help?
I had to add just a few things to have a clear mind (although the other answer is really good and got my up-vote already).
Single pin touching with a probe can blow up your HW.
And I do not mean the ...
8
votes
Accepted
Decoding serial data
You know that 72 will be in the data each time. Lets convert that to hex which is 48. We can see that clearly in each packet.
It's preceded by 3 0 bytes presumable because it's written out as a 32 ...
8
votes
Accepted
I really struggled to figure it out, now can anyone help me reverse engineer this checksum?
The key is getting getting a megaton of samples, so that the analysis has something to feed on. It really helps if you can stick the samples in a database table or dictionary that can be queried ...
5
votes
Accepted
Hex timestamp decode
import sys
import os
if(len(sys.argv) != 2):
sys.exit("usage %s 0xdead" % os.path.basename(sys.argv[0]))
if((sys.argv[1].startswith("0x")!=True) or (len(sys.argv[1])!=6 )):
sys.exit("0x ...
4
votes
Router's serial port only outputs garbage
If this is data, then there should be a common clock, with the raising/falling edge signals all on individual ticks of that clock.
I scaled the bottom half of your scope output by 500% horizontally, ...
4
votes
Accepted
Need help with a USB gaming mouse
my understanding of USB is very low at best (even if I do develop some simple USB devices for a living) so read this with major prejudice...
Your driver class and configuration must match the USB (...
4
votes
Accepted
Reverse engineering serial communication CRC algorithm
This question seems simpler than you might expect.
Since as OP noted, the code is irrelevant to validation mechanism used in the discussed system, I shall ignore it. It is indeed irrelevant as will ...
4
votes
Reverse engineering the IBM BSC (Bisync) protocol
If you have known data and a known CRC, and an unknown value (like the initial CRC value or the final XOR value), you can always loop through all possible values and find those that give you the ...
4
votes
Accepted
Reverse engineering the IBM BSC (Bisync) protocol
SOLUTION
I got help from a guy named Peter. He gave me a piece of test code in C. The CRC algorithm looked pretty similar to the ones I already tried. But what was important was that he pointed out ...
3
votes
Reverse engineering USB peripheral driver
Well, your question is a bit broad as it stands, but let's take it one by one. Typically (but not always) drivers for printers these days are user mode drivers (UMDF), which means you're looking for a ...
Community wiki
3
votes
Router's serial port only outputs garbage
Your signal is very degraded: your rise and fall times are too slow relative to the bit rate. If the signal really looks as your scope plot shows, and this is not just a measurement issue, then it's ...
3
votes
Decoding proprietary 485 comms
I would hardly call this an answer, but I can't comment yet..
You need additional data.
Have you tried opening the outdoor unit and examining the board that you're communicating with? you might find ...
3
votes
Why can't I decode this UART signal?
Answering my own question: just figured out that the board that the CP2102 decoder was mounted on had a LED wired to the RXD line. It happens that this board was poorly designed, and this LED was set ...
3
votes
Accepted
2byte checksum for serial traffic
It is a CRC-A checksum. 16bits.
Preface: From my research this is the crc for that standard.
Its calculated from start of packet up to checksum
https://crccalc.com
Put 8209 and check the result: ...
2
votes
Accepted
Understanding decoding communications over interfaces
A comment in your previous question pointed out that your hydrometer likely uses the M-Bus or Meter-Bus protocol, and your fields in question are all thoroughly explained in the documentation of said ...
2
votes
Anti-theft system rs485 keypad
It is quite possible the master device requires keypad to answer within a specific time window. Adding a man-in-the-middle violates these conditions.
To analyze data direction, you can try connecting ...
2
votes
Finding JTAG/UART Connections
In the second picture on the bottom there is an nonpupulated connector, whose pins are labeled RX and TX. Thats at least one of maybe more uart interfaces.
You should additionaly check the traces on ...
2
votes
Decoding proprietary 485 comms
I managed to decode the protocol on XYE connection. My findings are here https://codeberg.org/xye/xye
The XYE connection is the bus between a central controller and the indoor units. The bus from the ...
2
votes
Accepted
Decipher variable length serial protocol
I understand your Arduino serves as a relay in the middle between the controller and the LCD. What you could do (not extremely exciting, but you did not mention whether you made similar experiments ...
2
votes
UE Megaboom serial protocol
If the device doesn’t respond to unsolicited traffic, it probably needs some specific commands to return results. You could try bruteforcing it by sending random data but it’s a chancy business.
A ...
2
votes
Sniffing serial Bluetooth traffic on Android
According to this StackOverflow answer, Android has a setting in Developer Options from 4.4 onwards. You first need to enable Developer Settings (if you have not done so already), then enable “Enable ...
2
votes
Reverse engineering checksum from RS-485 device
The protocol spec clearly does not apply to your device, so don't bother trying to use its checksum calculation. However it may be similar enough to provide some clues to the actual protocol.
The ...
2
votes
Identifying a toner chip and its communication protocol to re-program it
If you have a Brother printer you can use these instructions I found on Amazon on how to reset your cartridge chip, it worked for me.
"I was able to reset my toner cartridges for this model by using ...
2
votes
Help decoding this UART serial signal
Every UART packets contains a start bit what is always 0 and 1 or 2 stop bit(s) what is/are always 1. If you check the middle of your trace there are single 1 bits with some spaces between them. Every ...
2
votes
Accepted
Reverse engineering 12-byte serial packets from doorbell
Based on how you have laid it out, you look to have it mostly mapped out correctly,
The preamble (control device wake up) would be a general broadcast message to all units on the data bus, (The pull ...
2
votes
Wrong keyboard strokes sent to serial in putty
You have probably tried already but other baud rates?
9600, 1200, 2400, 57600
Seems like 8,N,1 is common?
8 DATA, No parity, and 1 STOP bit
Maybe helpful?
https://stackoverflow.com/questions/...
2
votes
Reverse UART communication protocol
From my question:
It seems to work :)
Is the message length
more or less ;)
See procedure bellow
Still wondering if it's a "common/standard protocol"?
Procedure
I have removed the module ...
2
votes
Accepted
determine proprietary 16-bit floating-point format
Maybe it is the temperature in Kelvin: 311 - 80/2 = 217K = -2.15°C
Or the offset is different than 80/2. A 16-bit floating-poitn format, especially a different one from IEEE-754 is highly unlikely. ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
serial-communication × 92hardware × 20
protocol × 17
crc × 11
linux × 7
embedded × 7
firmware-analysis × 7
encodings × 6
jtag × 6
usb × 5
communication × 5
windows × 4
encryption × 4
hex × 4
packet × 4
binary-analysis × 3
decryption × 3
sniffing × 3
hexadecimal × 3
disassembly × 2
android × 2
memory × 2
file-format × 2
python × 2
driver × 2