zd1211rw
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
zd1211rw [2008/11/26 16:11] – This page is only for zd1211rw-softmac! netrolller3d | zd1211rw [2018/03/11 19:04] (current) – Removed unusable instructions mister_x | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | This driver supports the zd1211 and the newer zd1211b chipsets by Zydas. | + | **IMPORTANT NOTE**: |
- | In pre-2.6.25 kernels, the older zd1211 chipset only partially supports injection. | + | ====== zd1211rw ====== |
+ | authored by sleek | ||
- | The new zd1211b chipset only partially supports injection. | + | **Review |
- | Starting with kernels 2.6.25 | + | The ZyDAS zd1211 |
- | Bottom line, the Zydas chipset is only recommended for use with the aircrack-ng suite if you have a fairly-recent | + | The zd1211rw was included in mainline |
- | The zd1211rw driver has been incorporated into the latest kernels. So you will have to patch the kernel source to obtain injection support. | + | The only unsupported function is the fragmentation " |
- | The following links may be helpful | + | Overall, its a great all-purpose chip to have for wireless auditing |
- | * [[http:// | + | ====== Patching ====== |
- | * [[http:// | + | To enable injection, we'll have to patch the driver first. |
- | * [[http:// | + | |
+ | ==== Modern kernels ==== | ||
+ | For modern kernels, good results can be obtained even when sticking closely to stock kernels. | ||
- | ===== Patching zd1211rw ===== | + | === Kernel 2.6.34 - 2.6.38 |
- | There are some new patches developed by SuD. They are especially designed for 2.6.24 kernels but the also work on previous versions. | + | **1.** cd into your kernel sources |
- | Obtain SuD's softmac and zd1211rw patches from here: | + | **2.** Apply the patch: |
+ | wget -O - 'http:// | ||
- | | + | **3.** Recompile and reload the driver as usual. Refer to your distro' |
- | For zd1211rw, either | + | ==== Legacy kernels ==== |
+ | On old kernels, you need to use the compat-wireless approach. | ||
+ | The most frequent road block you'll stumble upon is compilation errors with compat-wireless. They're not necessarily **// | ||
+ | === Kernel 2.26.24+ === | ||
- | This section will describe how to patch your driver for injection. There is quite a bit of variation between distributions so this describe the general steps you must take. You will have to tweak the instructions for your specific distribution and kernel | + | **1.** Go to http:// |
- | You will need to have your kernel headers | + | **2.** Next up, **cd to your / |
- | Copy contents of **/ | + | **3.** Apply the patches: |
- | Copy contents of **/usr/src/linux/ | + | 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: | ||
- | Download | + | **4.** Patching is complete |
- | Copy zd1211rw_inject_2.6.23.patch to **/ | + | **5.** Barring any errors, next up is installing, **sudo make install** |
- | cd / | + | **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** |
- | NOTE: In the following lines, verbose | + | **7.** To load the new driver, just type **sudo modprobe zd1211rw** or simply unplug |
- | patch -Np1 --verbose --dry-run -i zd1211rw_inject_2.6.23.patch | + | |
- | If it was OK: | + | **8.** That' |
- | patch -Np1 --verbose | + | |
- | Copy ieee80211_inject.patch to / | ||
- | patch -Np1 --verbose --dry-run -i ieee80211_inject.patch | ||
- | If it was OK: | + | # aireplay-ng -9 mon0 |
- | | + | 14:39:59 Trying broadcast probe requests... |
+ | | ||
+ | 14: | ||
+ | 14: | ||
+ | 14: | ||
+ | 14: | ||
+ | 14: | ||
+ | Voila ;-) | ||
- | Recompile the modules: | + | Known issues at this point: |
+ | Fragmentation attack is not yet supported. | ||
- | cd / | ||
- | make -C / | ||
- | cd / | ||
- | make -C / | ||
- | Now copy the new modules to the / | + | === Kernels 2.6.23 and lower === |
- | cp / | + | As mentioned above, kernels prior to 2.6.25 (2.6.2**4** with compat-wireless) are shipped with the softmac |
- | cp / | + | |
- | cp / | + | |
- | And finally, rebuild | + | And if you're absolutely bent on installing the softmac driver on an old kernel, you can try [[http:// |
- | | + | ==== Troubleshooting ==== |
- | At this point, the simplest method to bring up the new modules live is to reboot your system. | + | === Couldn' |
- | + | ||
- | 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 **rpm -qa | grep kernel** will show which kernel packages are installed. | + | |
- | + | ||
- | 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 in the next few lines. | + | |
- | + | ||
- | /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, | + | |
- | + | ||
- | 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/ | + | |
- | + | ||
- | 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 with the following commands: | + | |
- | + | ||
- | cd /usr/src | + | |
- | make all modules modules_install install | + | |
- | + | ||
- | Wait for it to finish and then reboot your system. | + | |
- | + | ||
- | Lastly, test your drivers and the injection patch. | + | |
- | + | ||
- | + | ||
- | ===== Troubleshooting ===== | + | |
- | + | ||
- | + | ||
- | + | ||
- | ===== 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 and address 3 | + | |
- | 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 the module. | + | |
- | (Of course, you might also just update aircrack-ng to 1.0-rc1 or 1.0-svn, and use the unpatched mac80211 driver with it.) | + | |
- | + | ||
- | 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. | + | |
- | + | ||
- | + | ||
- | ===== Couldn' | + | |
If dmesg has an error similar to the following: | If dmesg has an error similar to the following: | ||
Line 225: | Line 96: | ||
- http:// | - http:// | ||
- | - RPM for you distribution. | + | - RPM for you distribution. |
- | ===== Why do I get ioctl(SIOCGIFINDEX) failed ? ===== | + | === Why do I get ioctl(SIOCGIFINDEX) failed ? === |
If you get error messages similar to: | If you get error messages similar to: | ||
Line 234: | Line 105: | ||
* Error message: " | * Error message: " | ||
- | Then [[http:// | + | Then [[faq# |
+ | |||
+ | ===== Feedback ===== | ||
+ | * Instructions and discussion about the zd1211rw in the forum [[http:// | ||
+ |
zd1211rw.1227712289.txt.gz · Last modified: 2008/11/26 16:11 by netrolller3d