Just noticed something and hope it might help in figuring a way to defeat this insane DRM protection...
When I'm printing labels from my MacBook pro M1 it tends to print an empty lable after the original print... However if u unplug the USB cable from my Mac directly after the first lable is done printing, the empty lable isn't generated, but even better if I cancel the print job without the USB cable and reconnect the printer the lable count isn't decremented so you can print without decreasing or incrementing the nfc counter and it will still accept to print the next lable afterwards... I now have an empty roll wit 32 prints left
If there is a significant delay between it reading and writing the RFID tag, maybe a possible approach is to jam the signal with an external (modulated) 13.56MHz source to block the write.
Wouldn't it theoretically be possible to create a write locked NFC tag, with the expected Dymo data on to it? Than the printer can do it's roll type detection, thinks it's already used for some prints so it doesn't have to do any initialisation (if it even does that on the first print) and simple can't decremented the counter?
Looks like all those Arduino libraries do not support I2C slave very well
I tried ESP32, STM32 (we need a 3.3V MCU).
Next best thing would be to use native STM32 for emulation (stm32 blue pill boards seem to be available everywhere, even boards with cloned STM32 should work)
JS
BTW: The mentioned "CY8CKIT" Infineon IC / board is expensive and ICs are not available as far as I can see. Any particular reason why this was suggested?
I decided to use a STM32F103 since they are (still) available for reasonable prices from various sources. Anything like a "blue pill" will work.
And..... IT IS WORKING!
Full emulation of the reader IC + tag as a standard CubeMX project.
Whenever the roll is changed or the printer enters power down mode the counter is "REFRESHED"
Next step... I additionally interface the original reader so change of paper types is easy (just hold a tag of the paper type you want to use to the side of the printer and the emulator will "LEARN" it).
JS
That’s smarter than what I was planning.
If you are planning on releasing, I’ll stop working on mine.
Next step... I additionally interface the original reader so change of paper types is easy (just hold a tag of the paper type you want to use to the side of the printer and the emulator will "LEARN" it).
...but that assumes you've already bought some of the original expensive labels...
Or have cloned the tag to a card.
That’s smarter than what I was planning.
If you are planning on releasing, I’ll stop working on mine.
Please do not, we need diversity.
Thanks for the suggestions...
The emulation contains "learned" labels already, and if you use it like I do (multiple rolls per day all of the same type) then this is just enough.
Switching between rolls can be done using either another original roll (which is then learned) or by using a simple of the shelf NDEF Tag where you just write the SKU of the roll (e.g. "S0722430") inside (like you do with business card information, any phone can do this nowadays).
So by presenting either an original roll the complete data is learned, or by presenting a normal RFID NDEF tag with the SKU inside to choose from the pre installed tags is enough to switch between rolls.
This makes it possible to modify the printer once and then no need to open again in order to switch roll types.
Meanwhile I also created a small Android app which can be used to dump the complete SLIX2 tag (including the "signature" data).
I will setup a github project in the next few days with all the sources.
(As soon as github outtage is over:
https://www.githubstatus.com )
On the other hand I learned about a very beautiful (and available) NXP IC today. A friend suggested to have a look at the NHS3100 IC.
https://www.nxp.com/docs/en/data-sheet/NHS3100.pdf
Ignore the "temperature logging" in the title... and have a look at chapter "8.10 RFID/NFC communication unit"
This IC is a CortexM0 which can speak the correct NFC protocol...
This makes it possible to completely emulate a SLIX2 tag with a "magic counter":
The IC is (including inflated pricing) $4:
https://www.digikey.com/en/products/detail/nxp-usa-inc/NHS3100-A1Z/6578221
A completely working development board (which should be usable as magic tag) is availbale for $60 (Will pay itself after using only 4 off-brand rolls )
https://www.digikey.com/en/products/detail/nxp-usa-inc/NHS3100TEMODBUL/6578223
And I really like the idea to fight NXP with NXP Looks like the UID is fixed so this can not be used
JS
The first release is an Android utility application which can be used to dump the complete content of SLIX2 tags:
https://github.com/free-dmo/free-dmo-tag-dumpYou just start the app, hold it near the paper roll to scan it and it will show the complete dump.
It also will create a text file per dump in the "Downloads" folder.
It comes with full source code but also contains a pre compiled APK for "lazy" people (BUT: You really should NEVER EVER download APKs from somewhere and install them to your main Android device... Go the extra mile and check the source then compile it yourself!).
@ALL: It would be nice if you could use the app to scan some of your rolls (doesn't matter if consumed or fresh). Please copy/paste the content of the text file and post them here.
The difference of the raw dump compared to the output of other NFC apps is that it contains extra information like the Originality Signature from SLIX2 tags (which we need for a complete emulation).
JS
Attached are my 2 rolls. One is the small roll which comes with the printer the other one is SKU "S0722430" (54mm x 101mm | 2 1/8 x 4 inch)
EDIT: One more roll attached.
Anybody else please?
Please do not, we need diversity.
Plenty of things to hack out there. I can do something else
Here ya go. 4x6 inch, or 104x159mm. Standard shipping size.
Can someone please dump a 1x1" tag? I will dump mine, when it comes in, and if no one posts.
Louis did a follow-up, and I agree. The hack, whilst
worthy isn't going to make a difference I'm afraid.
Those that have the motiviation/ability to do the hardware hack are those who have the motivation never to use Dymo again for this. Almost all business customers will just continue to buy the genuine Dymo labels.
We need to hit Dymo hard now or every other manufacturer will see that they succeeded and they will try the same thing. We do this buy having an active anti-Dymo campaign and refusing to use their products and buying their competitors (I recommend Zebra). Keeping on top of the fake Amazon reviews and the like etc and help grow the new organic 1 star reviews. Eventually it has to hit Dymo where it hurts.
And for those that want an alternative to the Dymo label software, and have support for countless printers including the old Dymos, I've been talking to the author of this software:
https://label.live/He's also close to releasing his own printer as well.