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