Support #408
Updated by Daniel Curtis about 10 years ago
{{>toc}} h2. Precompiled method Driver files available for the TP-LINK TL-WN725N V2 and similar wifi dongles using the 8188eu driver module for systems using the Raspbian image. IMPORTANT: First check the version of Linux you have. Use the command @uname -a@ to find the version of Linux. <pre> uname -a </pre> > Linux raspberrypi 3.10.24+ *#614* PREEMPT Thu Dec 19 20:38:42 GMT 2013 armv6l GNU/Linux The important part is 3.10.24+ #614. This is just an example and your version may be different. Select the right driver for the version you have from the list below. h3. rtl8188eu drivers for 3.6.11+ * 3.6.11+ #371 up to #520 inclusive - 8188eu-20130209.tar.gz * 3.6.11+ #524, #528, #532 - 8188eu-20130815.tar.gz * 3.6.11+ #538, #541, #545, #551, #557 - 8188eu-20130830.tar.gz h3. rtl8188eu drivers for 3.10.18+ to 3.10.38+ * 3.10.18+ #577 - 8188eu-20131105.tar.gz * 3.10.18+ #579, #585 - 8188eu-20131106.tar.gz * 3.10.18+ #587 - 8188eu-20131110.tar.gz * 3.10.18+ #590, #592 - 8188eu-20131111.tar.gz * 3.10.18+ #594, #596 - 8188eu-20131113.tar.gz * 3.10.19+ #600 - 8188eu-20131113.tar.gz * 3.10.21+ #602, #604 - 8188eu-20131113.tar.gz * 3.10.22+ #606 - 8188eu-20131206.tar.gz * 3.10.23+ #608 - 8188eu-20131209.tar.gz * 3.10.24+ #610 - 8188eu-20131209.tar.gz * 3.10.24+ #614 - 8188eu-20131219.tar.gz * 3.10.25+ #616, #618 - 8188eu-20131219.tar.gz * 3.10.25+ #622, #624 - 8188eu-20131219.tar.gz * 3.10.26+ #628 - 8188eu-20140110.tar.gz * 3.10.27+ #630 - 8188eu-20140117.tar.gz * 3.10.28+ #632, #634 - 8188eu-20140117.tar.gz * 3.10.29+ #636, #638 - 8188eu-20140117.tar.gz * 3.10.30+ #640, #642 - 8188eu-20140117.tar.gz * 3.10.32+ #646, #648 - 8188eu-20140117.tar.gz * 3.10.33+ #654, #656 - 8188eu-20140117.tar.gz * 3.10.33+ #658 - 8188eu-20140117.tar.gz * 3.10.34+ #660, #661 - 8188eu-20140117.tar.gz * 3.10.36+ #662, #664 - 8188eu-20140117.tar.gz * 3.10.36+ #665, #666 - 8188eu-20140117.tar.gz * 3.10.37+ #667, #669 - 8188eu-20140117.tar.gz * 3.10.38+ #675 - 8188eu-20140117.tar.gz h3. rtl8188eu drivers for 3.12.18+ to 3.12.22+ * 3.12.18+ #673, #677 - 8188eu-20140425.tar.gz * 3.12.18+ #679, #680 - 8188eu-20140501.tar.gz * 3.12.19+ #681, #682 - 8188eu-20140509.tar.gz * 3.12.19+ #684 - 8188eu-20140509.tar.gz * 3.12.20+ #685, #686 - 8188eu-20140509.tar.gz * 3.12.20+ #687 - 8188eu-20140509.tar.gz * 3.12.21+ #688, #689 - 8188eu-20140509.tar.gz * 3.12.22+ #690, #691 - 8188eu-20140616.tar.gz Link to driver files - use date code from list above to download required driver https://dl.dropboxusercontent.com/u/80256631/8188eu-201xyyzz.tar.gz NOTE: If updating firmware revisions, say from 3.10.23+ to 3.10.24+, and they use the same driver, in this case 8188eu-20131209.tar.gz, you will still need to reinstall the driver on the newer version of Linux, even though the driver has not changed as it will be loaded from a different directory by the new Linux revision and you need to install it in the new directory. The driver installation instructions expect you to be using Raspbian, either installed from a basic rasbian image or installed using NOOBS. The instructions are based on running from a Command Line Terminal, not a GUI (Graphical User Interface). If you are running using the GUI you will need to open a terminal window and run the commands from the terminal window but I can't guarantee they will work. If you have a wired internet connection install the driver with the following commands <pre> wget https://dl.dropboxusercontent.com/u/80256631/8188eu-201xyyzz.tar.gz <--set data code for driver version above tar -zxvf 8188eu-201xyyzz.tar.gz <--set data code for driver version above sudo install -p -m 644 8188eu.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless sudo insmod /lib/modules/$(uname -r)/kernel/drivers/net/wireless/8188eu.ko sudo depmod -a </pre> If you do not have an internet connection the driver file will need to be downloaded on another computer and copied to the SD card. I use a Windows laptop and will use that as an example of how to copy and install the wifi driver. Open a web browser on your Windows computer and download the driver. Check the name of the driver file before saving it and correct it if necessary. I have sometimes found Windows tries to save the driver file as 8188eu-201xyyzz.tar.tar when it should be 8188eu-201xyyzz.tar.gz. Substitute the correct file name for "xyyzz". Take the SD card and load it into an SD card reader on your Windows computer. Copy the driver file, 8188eu-201xyyzz.tar.gz, from your Windows computer to the SD card. Safely remove the SD card from the card reader by clicking the safe removal icon in the task bar and install the SD card in your Raspberry Pi and power on and login. h2. Compiling from Source h3. Compiling with DKMS (recommended) * Install dkms: <pre> apt-get install dkms </pre> * Get the current raspberry pi linux source: <pre> cd /usr/src git clone --depth 0 https://github.com/raspberrypi/linux.git linux-`unamr -r` cd linux zcat /proc/config.gz > .config </pre> * In the next step you may be prompted questions about the configuration if your /proc/config.gz does not answer them (new features for example) <pre> sudo make oldconfig sudo make modules_prepare sudo wget https://github.com/raspberrypi/firmware/blob/53d1ae311226b5cd7ea1277832139b74b2bb0f90/extra/Module.symvers https://github.com/raspberrypi/firmware/raw/master/extra/Module.symvers sudo ln -s /usr/src/linux-`uname -r` /lib/modules/`uname -r`/source sudo ln -s /usr/src/linux-`uname -r` /lib/modules/`uname -r`/build </pre> *NOTE*: I needed to use the History feature on GitHub to locate the exact version I was using, in this case it was 3.12.28+ * Get driver source, compile, install and load it <pre> cd /usr/src git clone https://github.com/lwfinger/rtl8188eu.git </pre> * Build and install the rtl8188eu driver using dkms: <pre> dkms add ./rt8188eu dkms build 8188eu/1.0 dkms install 8188eu/1.0 </pre> h3. Manual compilation (not recommended) * Get linux source code, prepare config files and create symlinks <pre> cd /usr/src git clone https://github.com/raspberrypi/linux.git cd linux zcat /proc/config.gz > .config </pre> * In the next step you may be prompted questions about the configuration if your /proc/config.gz does not answer them (new features for example) <pre> sudo make oldconfig sudo make modules_prepare sudo wget https://github.com/raspberrypi/firmware/raw/master/extra/Module.symvers sudo ln -s /usr/src/linux /lib/modules/`uname -r`/source sudo ln -s /usr/src/linux /lib/modules/`uname -r`/build </pre> * Get driver source, compile, install and load it <pre> cd /usr/src git clone https://github.com/lwfinger/rtl8188eu.git cd rtl8188eu make all sudo make install </pre> After this step you should have those new files installed: # /lib/modules/`uname -r`/kernel/drivers/net/wireless/8188eu.ko # /lib/firmware/rtlwifi/rtl8188eufw.bin * Load the module <pre> sudo modprobe 8188eu </pre> * Remove driver and linux source code to recover some space (around 700MB); do not run if you want to keep the code for future compilations <pre> cd /usr/src rm /lib/modules/`uname -r`/source rm /lib/modules/`uname -r`/build rm /usr/src/linux-`uname -r` rm /usr/src/linux rm -R rtl8188eu </pre> h3. Automagic compilation * Script form: <pre> vi compile_rtl8188eu.sh </pre> #* And add the followingL <pre> #!/bin/bash # Get linux source code, prepare config files and create symlinks VERSION=`uname -r | awk -F'.' '{print $1"."$2}'` cd ~ wget https://codeload.github.com/raspberrypi/linux/tar.gz/rpi-${VERSION}.y -O rpi-${VERSION}.y.tar.gz sudo tar zxf rpi-${VERSION}.y.tar.gz -C /usr/src/ cd /usr/src/linux-rpi-${VERSION}.y/ sudo bash -c "zcat /proc/config.gz > /usr/src/linux-rpi-${VERSION}.y/.config" # In the next step you may be prompted questions about the configuration # if your /proc/config.gz does not answer them (new features for example) sudo make oldconfig sudo make modules_prepare sudo wget https://github.com/raspberrypi/firmware/raw/master/extra/Module.symvers sudo ln -s /usr/src/linux-rpi-${VERSION}.y /lib/modules/`uname -r`/source sudo ln -s /usr/src/linux-rpi-${VERSION}.y /lib/modules/`uname -r`/build # Optional #sudo ln -s /usr/src/linux-rpi-${VERSION}.y /usr/src/linux-`uname -r` #sudo ln -s /usr/src/linux-rpi-${VERSION}.y /usr/src/linux # Get driver source, compile, install and load it cd ~ git clone https://github.com/lwfinger/rtl8188eu.git cd rtl8188eu # This will take around 20 minutes make all sudo make install # After this step you should have those new files installed: # /lib/modules/`uname -r`/kernel/drivers/net/wireless/8188eu.ko # /lib/firmware/rtlwifi/rtl8188eufw.bin sudo modprobe 8188eu # Remove driver and linux source code to recover some space (around 700MB) # Leave those lines commented if you want to keep the code for future compilations #sudo rm /lib/modules/`uname -r`/source #sudo rm /lib/modules/`uname -r`/build #sudo rm /usr/src/linux-`uname -r` #sudo rm /usr/src/linux #sudo rm -R /usr/src/linux-rpi-${VERSION}.y #cd ~ #rm rpi-${VERSION}.y.tar.gz #rm -R rtl8188eu </pre> * Make the script executable: <pre> chmod +x compile_rtl8188eu.sh </pre> * Run the script: <pre> ./compile_rtl8188eu.sh </pre> h2. Resources * http://www.raspberrypi.org/forums/viewtopic.php?p=462982 * http://tech.enekochan.com/en/2014/03/08/new-script-to-compile-tp-link-tl-wn725n-version-2-lwfinger-driver-in-raspbian/ * https://github.com/lwfinger/rtl8188eu