This particular fix is all over the internet, as patches posted on
mailing lists, package maintainer's mirrors, etc.
I don't know the full origin of it, but it works. It also makes sense. I
found a quote regarding it here:
http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/71438
> [...] patched so it will compile against kernels that no longer
> provide the old procfs API and with calls to strnicmp() replaced with
> strncasecmp().
Here's an example of the patch in the wild:
9cf1f08f9a/8192cu-dkms/RTL8192CU-kernel-4.0.patch
Note that the sources mentioned above all talk about the more common
8192cu driver, but the change is the same as both drivers share the
majority of the code with each other.
<speculation>
I guess this is part of the reason why the hardware makers don't publish
updated drivers; they've copy-pasted it everywhere and patching them all
is a pain for them.
</speculation>
Found patch on the web:
http://users.telenet.be/x86_64/Patches/rtl8192eu-k3.13.patch
Before patch, kernel panic due to a NULL dereference in
rtw_ndev_notifier_register; this patch solves that problem by not using
these methods on kernel versions after a certain number, so it leads me
to believe that this patch is meant to make the driver compatible with
newer kernel versions.
Version information: 20140812_rtl8192EU_linux_v4.3.1.1_11320
2014-08-12
version 4.3.1.1_11320
Source:
ftp://files.dlink.com.au/products/DWA-131/REV_E/Drivers/DWA-131_Linux_driver_v4.3.1.1.zip
This version does not currently work on newer kernels, but it does
contain USB ID 2001:3319, which a lot of other repos in GitHub does not.