can you provide some lines of your source code? are you using Scanner SDK?
1 of 1 people found this helpful
I know that this is an old question but I had the same issue and I couldn't find any information. So I hope this helps some one.
First, ensure that the class of your tags allows encoding (or writing at the epc). Not all tags allows this, although the most common ones do.
Second, ensure that the tags are not locked nor password protected by the factory or the retailer. It is very common that the retailer don't know much technical details of the tags... validate you retailer response with the response of the tags factory.
Third, attempt to read from the epc of the tag. Validate the reading with an epc decoder like Ken Traub Consulting LLC -- EPC Encoder/Decoder . Be aware that there are standards on how the epc should be encoded, you should follow a standard to write at the epc.
In my case, I notice that the data obtained by my mc3190z was not valid. But after some trial and error I realize that skipping the first 2 bytes would make the data valid. For example e6163000e28011606000020bc1c87c18 is the read from the handheld and is not a epc valid data, but this, on the other hand 3000e28011606000020bc1c87c18 , is valid.
So, I attempted to write the epc using a offset of 2 bytes and a valid code; and it worked!!
The explanation is that, although the epc is writable, is not fuuuuully writable. The standard states that some portions of the epc are reserved for CRC (A 16-bit Cyclic Redundancy Check computed over the contents of the EPC bank) and the PC Bit (Protocol Control bits) and there is also complementary control data at the end of the epc memory. The full process is covered at the GS1 standard: https://www.gs1.org/sites/default/files/docs/epc/GS1_EPC_TDS_i1_11.pdf It is a long document but reading it will save you a lot of time if you are just starting like me.