Again, I read only the very first post of this thread and the conclusions were based on wrong assumptions regarding new OTA updates.
I noticed that the "fw_data.b" ektf3k firmware files in kitkat and marshmallow are identical so nothing has changed over the years. The firmware in CM12.1 which I use has several different bytes to those in stock kernel. The OP either had access to Elan's NDA documentation and patched a particular firmware or used various official Elan firmware versions in the packages posted here.
Maybe it's not available now, but the various updates and releases that they put out back then had different firmware files. Most devices will work fine with one of those various files, it's just a matter of finding the one that works for you. The different release source trees had different versions. I was going to build marshmallow and include the firmware that worked for me, but I couldn't find the ektf3k file in the source tree. I'll have to look again when I decide to tinker with that stuff again. It takes about a day to compile it all on an I7-2600 machine.
Firmware files all contain a date, and are automatically flashed when the kernel boots if the date is later than the installed firmware. I think sfhub modified the date so that it never met that condition as newer releases came out, but he never released his source so I'm really guessing. I modified the routine that called the flasher so that it would flash in any firmware that had a different date, so that I could roll back. Unfortunately, that doesn't lock the firmware into place like sfhub's thingys. I never gave out the kernel I built since it was only for my device and sfhub supplied something easier for people to do.
It's been a while, but as I recall, I couldn't find the actual source file for the firmare in the tree for marshmallow, or maybe it was lollipop, I just don't remember. I'm still running the old kitkat release. I need to download the source again and try to figure it all out sometime.