Installing Workaround RealTek Drivers for EdiMAX, but getting error

The driver code from Realtek uses some functions (kernel_thread() and daemonize()) that have been removed from newer kernels. Fortunately, a helpful person on Github has ported the Realtek driver to the new APIs that accomplish the same thing in 3.8+ kernels.

The port is available at: https://github.com/dz0ny/rt8192cu

To install the ported driver (assuming you have git, build-essential and linux-headers-generic already), do:

git clone https://github.com/dz0ny/rt8192cu.git
cd rt8192cu
make
sudo make install

Then, to unload the built-in driver that doesn't work (rtl8192cu) and load your new driver (8192cu):

sudo modprobe -r rtl8192cu
sudo modprobe 8192cu

To keep using your new driver instead of the built-in one, add this to the end of /etc/modprobe.d/blacklist.conf:

blacklist rtl8192cu

I was getting this error while trying to compile the rtl8192cu driver under Linux 3.8.X:

I have patched the osdep_service.h file.

I have added this line:

void daemonize(char *, char *);

just before these lines:

inline static void thread_enter(void *context)
{
#ifdef PLATFORM_LINUX
    //struct net_device *pnetdev = (struct net_device *)context;
    //daemonize("%s", pnetdev->name);
    daemonize("%s", "RTKTHREAD");
    allow_signal(SIGTERM);
#endif
}

Hope that helps.

David