zd1211rw
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
zd1211rw [2008/04/21 19:12] – Make the instructions distro-independent. netrolller3d | zd1211rw [2011/06/26 15:45] – firmware note for gentoo wicher | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | |||
====== zd1211rw ====== | ====== zd1211rw ====== | ||
+ | authored by sleek | ||
- | This driver supports the zd1211 | + | **Review |
- | The older zd1211 | + | The ZyDAS zd1211 |
- | The new zd1211b chipset only partially supports injection. | + | The zd1211rw was included in mainline kernel 2.6.18 as a softmac driver, known to be notoriously unstable |
- | Bottom line, the zydas chipset is NOT recommended for use with the aircrack-ng suite due to the large number of problems with it. There are simply too many problems associated with the driver and the specific wireless devices. | + | ===== Patching: Kernel 2.26.24+ ===== |
- | The zd1211rw driver has been incorporated into the latest kernels. | + | To enable injection, we' |
- | The following links may be helpful | + | **1.** Go to http:// |
- | | + | **2.** Next up, **cd to your / |
- | * [[http://zd1211.wiki.sourceforge.net/|ZyDAS ZD1211 802.11b/g USB WLAN chipset Linux drivers Wiki]] | + | |
- | * [[http://www.linuxwireless.org/en/ | + | |
+ | **3.** Apply the patches: | ||
- | ===== Patching | + | patch -Np0 -i zd1211rw-inject+dbi-fix-2.6.26.patch. |
+ | patch -Np1 -i mac80211.compat08082009.wl_frag+ack_v1.patch. | ||
+ | patch -Np1 -i channel-negative-one-maxim.patch. | ||
+ | __Note:__ //the **xxxxx-xxxx-xxxx.patch** files must be in your compat-wireles-xxxx-xx-xx directory while patching, otherwise you will be asked to provide full path of the file which needs to be patched, example: / | ||
- | There are some new patches developed by SuD. | + | **4.** Patching is complete and we are ready to compile our driver, type **make** |
- | Obtain SuD's softmac and zd1211rw patches from here: | + | **5.** Barring any errors, next up is installing, **sudo make install** |
- | | + | **6.** Now that the newly compiled driver is installed, we are ready to use it, but before that we have to unload the old driver by typing **sudo make wlunload** |
- | For zd1211rw, either use aircrack' | + | **7.** To load the new driver, just type **sudo modprobe zd1211rw** |
+ | **8.** That's it! This concludes the zd1211 injection tutorial. You should now be able to inject. [[injection_test|Test]] your USB device, by setting it to monitor mode (airmon-ng) | ||
- | This section will describe how to patch your driver for injection. | ||
- | You will need to have your kernel headers and full source already installed on your system. See [[zd1211rw#installing_fedora_kernel_headers_and_source|Installing Fedora kernel headers and sources]] below for how to do this on Fedora. | + | |
+ | 14: | ||
+ | 14: | ||
+ | 14: | ||
+ | 14: | ||
+ | 14: | ||
+ | 14: | ||
+ | 14: | ||
+ | Voila ;-) | ||
- | Copy contents of **/ | + | Known issues at this point: |
+ | Fragmentation attack | ||
- | Copy contents of **/ | ||
- | Download and expand the latest version of the aircrack-ng suite to obtain the patches or download the from [[http:// | + | ===== Kernels 2.6.23 and lower ===== |
- | Copy zd1211rw_inject_2.6.23.patch to **/ | + | As mentioned above, kernels prior to 2.6.25 (2.6.2**4** with compat-wireless) are shipped with the softmac version |
- | + | ||
- | cd / | + | |
- | + | ||
- | NOTE: In the following lines, verbose and dry-run have a double dash in front of them. | + | |
- | patch -Np1 --verbose --dry-run -i zd1211rw_inject_2.6.23.patch | + | |
- | + | ||
- | If it was OK: | + | |
- | patch -Np1 --verbose | + | |
- | + | ||
- | Copy ieee80211_inject.patch | + | |
- | patch -Np1 --verbose --dry-run -i ieee80211_inject.patch | + | |
- | + | ||
- | If it was OK: | + | |
- | patch -Np1 --verbose | + | |
- | + | ||
- | Recompile the modules: | + | |
- | + | ||
- | cd / | + | |
- | make -C / | + | |
- | cd / | + | |
- | make -C / | + | |
- | + | ||
- | Now copy the new modules to the / | + | |
- | + | ||
- | cp / | + | |
- | cp / | + | |
- | cp / | + | |
- | + | ||
- | And finally, rebuild the module dependencies. | + | |
- | + | ||
- | | + | |
- | + | ||
- | At this point, the simplest method to bring up the new modules live is to reboot your system. | + | |
- | + | ||
- | If you have problems compiling zd1211rw, you can try: | + | |
- | + | ||
- | | + | |
- | | + | |
- | + | ||
- | ===== Installing Fedora kernel headers and source ===== | + | |
- | + | ||
- | These instructions are specific to Fedora. Change **2.6.20-1.2944.fc6** to the particular kernel version you have installed. **uname -r** can help you | + | |
- | + | ||
- | You need these packages already installed: | + | |
- | kernel-headers-2.6.20-1.2944.fc6 | + | |
- | kernel-devel-2.6.20-1.2944.fc6 | + | |
- | + | ||
- | Running the command | + | |
- | + | ||
- | If the headers and development packages are not already installed then obtain them from your favourite repository then: | + | |
- | + | ||
- | rpm -ivh kernel-headers-2.6.20-1.2944.fc6.i386.rpm | + | |
- | rpm -ivh kernel-devel-2.6.20-1.2944.fc6.i686.rpm (obtain i586 or i686 depending on your architecture) | + | |
- | + | ||
- | Alternatively, | + | |
- | + | ||
- | Now download and install the full kernel sources if they are not already on your system (This assumes you have downloaded this RPM from your favourite repository). | + | |
- | + | ||
- | rpm -ivh kernel-2.6.20-1.2944.fc6.src.rpm | + | |
- | + | ||
- | Change to the following directory: | + | |
- | + | ||
- | cd / | + | |
- | + | ||
- | Change " | + | |
- | rpmbuild -bp --target=i586 kernel-2.6.spec | + | |
- | + | ||
- | **NOTE**: Change references to versions to your specific version | + | |
- | + | ||
- | /bin/cp -a / | + | |
- | ln -s / | + | |
- | + | ||
- | + | ||
- | ===== Recompiling Kernel with Loadable Modules ===== | + | |
- | + | ||
- | Some kernels incorporate the functionality built into the kernel. | + | |
- | + | ||
- | These are the settings for menuconfig using 2.6.20-gentoo-r7, changing from kernel | + | |
- | + | ||
- | First, change the appropriate items in menuconfig: | + | |
- | + | ||
- | cd / | + | |
- | + | ||
- | make menuconfig | + | |
- | + | ||
- | | + | |
- | then set | + | |
- | < | + | |
- | < | + | |
- | all other module capable IEEE 80211 items will have automatically set themselves to <M> | + | |
- | + | ||
- | Also check that: | + | |
- | | + | |
- | < | + | |
- | + | ||
- | Exit out and save the config | + | |
- | + | ||
- | Now apply the zd1211 and ieee80211 inject patches and recompile/install | + | |
- | + | ||
- | Apply the zd1211 inject and ieee80211 inject patches as per patch instructions but only do the 4 patch -Np1 commands, in gentoo doing the make commands and copying all the files is unnecessary!! | + | |
- | + | ||
- | After the patches are applied, you can now recompile the kernel and modules | + | |
- | + | ||
- | cd /usr/src | + | |
- | make && make modules modules_install install | + | |
- | + | ||
- | Wait for it to finish and then reboot your system. | + | |
- | + | ||
- | Lastly, test your drivers and the injection patch. | + | |
+ | And if you're absolutely bent on installing the softmac driver on an old kernel, you can try [[http:// | ||
===== Troubleshooting ===== | ===== Troubleshooting ===== | ||
- | + | The most frequent road block you'll stumble upon is compilation errors with compat-wireless. They' | |
- | ===== General ===== | + | |
- | + | ||
- | Use " | + | |
- | + | ||
- | Bus 003 Device 003: ID 157e: | + | |
- | Bus 003 Device 001: ID 0000: | + | |
- | Bus 001 Device 001: ID 0000: | + | |
- | Bus 002 Device 001: ID 0000:0000 | + | |
- | + | ||
- | If your device is not listed then you first need to determine why and correct it. | + | |
- | + | ||
- | Use " | + | |
- | + | ||
- | | + | |
- | | + | |
- | | + | |
- | usb 3-1: reset high speed USB device using ehci_hcd | + | |
- | usb 3-1: firmware version 0x4810 and device bootcode version 0x4802 differ | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | + | ||
- | Depending on the error messages in dmesg, take the appropriate action. | + | |
- | + | ||
- | Use " | + | |
- | + | ||
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | + | ||
- | A common problem on new kernels is that the new mac80211 version of the driver gets loaded instead of the older legacy driver covered on this page. The newer driver doesn' | + | |
- | + | ||
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | + | ||
- | If that is the case, and you are having problems with the new driver, then you need to blacklist the modules by editing / | + | |
- | + | ||
- | # | + | |
- | | + | |
- | | + | |
- | + | ||
- | Also ensure that the time stamp on zd1211rw.ko module matches the date and time you compiled it. Otherwise this may mean you are running the wrong version | + | |
- | (Of course, you might also just update aircrack-ng to 1.0-beta2 | + | |
- | + | ||
- | Note however, that starting with kernel v2.6.25, zd1211rw is only available in the new mac80211 flavor, so you need to use an updated aircrack-ng for it. | + | |
Line 220: | Line 74: | ||
- http:// | - http:// | ||
- | - RPM for you distribution. | + | - RPM for you distribution. |
===== Why do I get ioctl(SIOCGIFINDEX) failed ? ===== | ===== Why do I get ioctl(SIOCGIFINDEX) failed ? ===== | ||
Line 229: | Line 83: | ||
* Error message: " | * Error message: " | ||
- | Then [[http:// | + | Then [[faq# |
+ | |||
+ | ===== Fragmentation attack ===== | ||
+ | |||
+ | The only unsupported function is the fragmentation " | ||
+ | |||
+ | Overall, its a great all-purpose chip to have for wireless auditing and general connectivity. | ||
+ | |||
+ | ===== Feedback ===== | ||
+ | * Instructions and discussion about the zd1211rw in the forum [[http:// | ||
+ |
zd1211rw.txt · Last modified: 2018/03/11 19:04 by mister_x