Hi, here is an ebuild for a working driver for RTL8187 and RTL818x wireless network cards. It works with git-sources-2.6.21_rc5-r5 on an RTL8187 in ad-hoc mode with WEP, for which the only other working method is ndiswrapper. The project is a fork of rtl8180-sa2400. No non-subversion release has yet been made.
Created attachment 115065 [details] rtl-wifi-9999.ebuild
I have 3 comments to add about this: 1) It works on amd64 arch, so you should be able to add ~amd64 to the keywords. uname -a: Linux gentoo 2.6.20-gentoo-r7 #8 SMP Sun May 6 06:57:08 MDT 2007 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 6000+ AuthenticAMD GNU/Linux 2) There seems to be a problem when trying to rmmod the ieee80211_crypt_wep_rtl and ieee80211_crypt_rtl modules. # lsmod Module Size Used by ieee80211_crypt_wep_rtl 7168 2 ieee80211_crypt_rtl 7680 1 ieee80211_crypt_wep_rtl It says the wep module is being used twice, but I can't figure out what is using it. I ran ifconfig wlan0 down, and rmmod'ed the device modules. These are the only two modules that will not rmmod. Perhaps I'm doing something wrong? 3) I'm not sure if this is a problem with my kernel, or with the ieee80211_crypt_wep_rtl module, and perhaps this is better suited for an upstream bug report, but the only resources I could find on the web relating to this suggest a fix which I have already done, and it still does not work. I can insert all the modules fine, and configuring my AP without and encryption, it is able to associate with no problems. However, if I try to set the encryption key, I get the following: # iwconfig wlan0 enc wep_key_here Error for wireless request "Set Encode" (8B2A) : SET failed on device wlan0 ; Operation not supported. And in dmesg: ieee80211_crypt_wep: could not allocate crypto API arc4 wlan0: could not initialize WEP: load module ieee80211_crypt_wep First of all, the instruction here is wrong, because for this to work properly, as far as I have understood, the stock kernel ieee80211_* drivers must be disabled in the kernel. This should be ieee80211_crypt_wep_rtl (again, this is more of an upstream issue). That aside, I've made sure that the crypt_wep_rtl module is inserted, and I've also tried compiling the stock kernel modules and inserting them. Neither has fixed this issue. The message "could not allocate crypto API arc4" message implies that the kernel does not have ARC4 support, however, the following entries are enabled in my kernel config: CONFIG_CRYPTO=y CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_CRC32C=y CONFIG_CRC32=y CONFIG_LIBCRC32C=y At any rate, the ebuild should check for the necessary kernel configuration, to ensure that the IEEE80211 options are disabled, and that the necessary CRYPTO options are enabled. But like I said, it does work for non-WEP APs, and on the amd64 arch.
(In reply to comment #2) > I have 3 comments to add about this: > > 1) It works on amd64 arch, so you should be able to add ~amd64 to the keywords. > uname -a: > Linux gentoo 2.6.20-gentoo-r7 #8 SMP Sun May 6 06:57:08 MDT 2007 x86_64 AMD > Athlon(tm) 64 X2 Dual Core Processor 6000+ AuthenticAMD GNU/Linux > > 2) There seems to be a problem when trying to rmmod the ieee80211_crypt_wep_rtl > and ieee80211_crypt_rtl modules. > > # lsmod > Module Size Used by > ieee80211_crypt_wep_rtl 7168 2 > ieee80211_crypt_rtl 7680 1 ieee80211_crypt_wep_rtl > > It says the wep module is being used twice, but I can't figure out what is > using it. I ran ifconfig wlan0 down, and rmmod'ed the device modules. These > are the only two modules that will not rmmod. Perhaps I'm doing something > wrong? > > 3) I'm not sure if this is a problem with my kernel, or with the > ieee80211_crypt_wep_rtl module, and perhaps this is better suited for an > upstream bug report, but the only resources I could find on the web relating to > this suggest a fix which I have already done, and it still does not work. > > I can insert all the modules fine, and configuring my AP without and > encryption, it is able to associate with no problems. However, if I try to set > the encryption key, I get the following: > > # iwconfig wlan0 enc wep_key_here > Error for wireless request "Set Encode" (8B2A) : > SET failed on device wlan0 ; Operation not supported. > > And in dmesg: > > ieee80211_crypt_wep: could not allocate crypto API arc4 > wlan0: could not initialize WEP: load module ieee80211_crypt_wep > > First of all, the instruction here is wrong, because for this to work properly, > as far as I have understood, the stock kernel ieee80211_* drivers must be > disabled in the kernel. This should be ieee80211_crypt_wep_rtl (again, this is > more of an upstream issue). That aside, I've made sure that the crypt_wep_rtl > module is inserted, and I've also tried compiling the stock kernel modules and > inserting them. Neither has fixed this issue. > > The message "could not allocate crypto API arc4" message implies that the > kernel does not have ARC4 support, however, the following entries are enabled > in my kernel config: > > CONFIG_CRYPTO=y > CONFIG_CRYPTO_ARC4=y > CONFIG_CRYPTO_CRC32C=y > CONFIG_CRC32=y > CONFIG_LIBCRC32C=y > > At any rate, the ebuild should check for the necessary kernel configuration, to > ensure that the IEEE80211 options are disabled, and that the necessary CRYPTO > options are enabled. But like I said, it does work for non-WEP APs, and on the > amd64 arch. > I observe exactly the same problem(s) using 2.6.22-gentoo-r5.
Created attachment 132942 [details] rtl-wifi-9999.ebuild Switches between WIRELESS_EXT and NET_RADIO. Bad news: Doesn't work with WPA for RTL8187. Good news: git-sources-2.6.23_rc9-r6 contains an RTL8187 kernel module which works with WPA. Info: http://forums.gentoo.org/viewtopic-p-4344212.html#4344212
Created attachment 135760 [details] compile dies in * Preparing r8180 module what was the last working revision?
*** This bug has been marked as a duplicate of bug 176438 ***