diff options
author | Stefan Schweizer <genstef@gentoo.org> | 2007-05-09 20:00:14 +0000 |
---|---|---|
committer | Stefan Schweizer <genstef@gentoo.org> | 2007-05-09 20:00:14 +0000 |
commit | 89e8c72089b425d927c50e09b6532685dc4098f8 (patch) | |
tree | 770c2a248566118ab50941853171de32378f1f65 /net-wireless/rtl8187 | |
parent | Initial Commit. Ebuild by Robin H. Johnson <robbat2@gentoo.org>. Yet another ... (diff) | |
download | gentoo-2-89e8c72089b425d927c50e09b6532685dc4098f8.tar.gz gentoo-2-89e8c72089b425d927c50e09b6532685dc4098f8.tar.bz2 gentoo-2-89e8c72089b425d927c50e09b6532685dc4098f8.zip |
2.6.19 support for bug 161895 thanks to Christian Holler and Paul Bredbury
(Portage version: 2.1.2.7)
Diffstat (limited to 'net-wireless/rtl8187')
-rw-r--r-- | net-wireless/rtl8187/ChangeLog | 6 | ||||
-rw-r--r-- | net-wireless/rtl8187/files/digest-rtl8187-1.10 | 6 | ||||
-rw-r--r-- | net-wireless/rtl8187/files/kernel-2.6.19.patch | 231 | ||||
-rw-r--r-- | net-wireless/rtl8187/rtl8187-1.10.ebuild | 78 |
4 files changed, 282 insertions, 39 deletions
diff --git a/net-wireless/rtl8187/ChangeLog b/net-wireless/rtl8187/ChangeLog index 17e61633b341..63014d0e9e8f 100644 --- a/net-wireless/rtl8187/ChangeLog +++ b/net-wireless/rtl8187/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for net-wireless/rtl8187 # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/rtl8187/ChangeLog,v 1.4 2007/02/22 03:11:34 peper Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-wireless/rtl8187/ChangeLog,v 1.5 2007/05/09 20:00:14 genstef Exp $ + + 09 May 2007; Stefan Schweizer <genstef@gentoo.org> + +files/kernel-2.6.19.patch, rtl8187-1.10.ebuild: + 2.6.19 support for bug 161895 thanks to Christian Holler and Paul Bredbury 22 Feb 2007; Piotr Jaroszyński <peper@gentoo.org> ChangeLog: Transition to Manifest2. diff --git a/net-wireless/rtl8187/files/digest-rtl8187-1.10 b/net-wireless/rtl8187/files/digest-rtl8187-1.10 index 4ddaa6d2a0bd..dd5325960c79 100644 --- a/net-wireless/rtl8187/files/digest-rtl8187-1.10 +++ b/net-wireless/rtl8187/files/digest-rtl8187-1.10 @@ -1,3 +1,3 @@ -MD5 606b972a14cd4f5098d4c8bfe6384f8f rtl8187-1.10.zip 447810 -RMD160 27292c2ddbdec0db69f4ed151108ad8709252e57 rtl8187-1.10.zip 447810 -SHA256 76df6eef84864585e2fe3f724eefaf0be7d1b406aacb46f9be23ba2153b08205 rtl8187-1.10.zip 447810 +MD5 c5b1c7e0c094fa943a52e1a78117308b rtl8187_linux_26.1010.zip 794171 +RMD160 6782212f717f0acc4535a24bf2d8447c9b9bb899 rtl8187_linux_26.1010.zip 794171 +SHA256 e3c1b038bda9f21d12b77e147c97b47e500175db742872b9b61e8028b98a642e rtl8187_linux_26.1010.zip 794171 diff --git a/net-wireless/rtl8187/files/kernel-2.6.19.patch b/net-wireless/rtl8187/files/kernel-2.6.19.patch new file mode 100644 index 000000000000..a81c6223aa4f --- /dev/null +++ b/net-wireless/rtl8187/files/kernel-2.6.19.patch @@ -0,0 +1,231 @@ +diff -Naur ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/beta-8187/r8180_wx.c ./beta-8187/r8180_wx.c +--- ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/beta-8187/r8180_wx.c 2006-06-06 03:58:02.000000000 +0100 ++++ ./beta-8187/r8180_wx.c 2007-01-21 18:45:13.000000000 +0000 +@@ -664,7 +664,7 @@ + }; + + #if WIRELESS_EXT >= 17 +-static struct iw_statistics *r8180_get_wireless_stats(struct net_device *dev) ++static struct iw_statistics *r8180_get_stats(struct net_device *dev) + { + struct r8180_priv *priv = ieee80211_priv(dev); + +@@ -680,7 +680,7 @@ + .num_private = sizeof(r8180_private_handler) / sizeof(iw_handler), + .num_private_args = sizeof(r8180_private_args) / sizeof(struct iw_priv_args), + #if WIRELESS_EXT >= 17 +- .get_wireless_stats = r8180_get_wireless_stats, ++ .get_wireless_stats = r8180_get_stats, + #endif + .private_args = (struct iw_priv_args *)r8180_private_args, + }; +diff -Naur ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/beta-8187/r8187_core.c ./beta-8187/r8187_core.c +--- ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/beta-8187/r8187_core.c 2007-01-21 18:43:35.000000000 +0000 ++++ ./beta-8187/r8187_core.c 2007-01-21 18:45:13.000000000 +0000 +@@ -266,7 +266,7 @@ + } + + +-//irqreturn_t rtl8180_interrupt(int irq, void *netdev, struct pt_regs *regs); ++//irqreturn_t rtl8180_interrupt(int irq, void *netdev); + //void set_nic_rxring(struct net_device *dev); + //void set_nic_txring(struct net_device *dev); + static struct net_device_stats *rtl8180_stats(struct net_device *dev); +@@ -408,7 +408,7 @@ + } + + +-static struct iw_statistics *r8180_get_wireless_stats(struct net_device *dev) ++static struct iw_statistics *r8180_get_stats(struct net_device *dev) + { + struct r8180_priv *priv = ieee80211_priv(dev); + +@@ -678,7 +678,7 @@ + write_nic_dword(dev,TX_CONF,tx | (TX_LOOPBACK_NONE<<TX_LOOPBACK_SHIFT)); + #endif + } +-void rtl8187_rx_isr(struct urb *rx_urb, struct pt_regs *regs); ++void rtl8187_rx_isr(struct urb *rx_urb); + + + void rtl8187_rx_urbsubmit(struct net_device *dev, struct urb* rx_urb) +@@ -1048,7 +1048,7 @@ + } + + +-void rtl8187_rx_isr(struct urb *rx_urb, struct pt_regs *regs) ++void rtl8187_rx_isr(struct urb *rx_urb) + { + struct net_device *dev = (struct net_device*)rx_urb->context; + struct r8180_priv *priv = ieee80211_priv(dev); +@@ -1225,7 +1225,7 @@ + + void rtl8180_try_wake_queue(struct net_device *dev, int pri); + +-void rtl8187_lptx_isr(struct urb *tx_urb, struct pt_regs *regs) ++void rtl8187_lptx_isr(struct urb *tx_urb) + { + struct net_device *dev = (struct net_device*)tx_urb->context; + struct r8180_priv *priv = ieee80211_priv(dev); +@@ -1324,7 +1324,7 @@ + + } + +-void rtl8187_nptx_isr(struct urb *tx_urb, struct pt_regs *regs) ++void rtl8187_nptx_isr(struct urb *tx_urb) + { + struct net_device *dev = (struct net_device*)tx_urb->context; + struct r8180_priv *priv = ieee80211_priv(dev); +@@ -2418,7 +2418,7 @@ + dev->do_ioctl = rtl8180_ioctl; + dev->set_multicast_list = r8180_set_multicast; + dev->set_mac_address = r8180_set_mac_adr; +- dev->get_wireless_stats = r8180_get_wireless_stats; ++ dev->get_stats = r8180_get_stats; + dev->type=ARPHRD_ETHER; + + if (dev_alloc_name(dev, ifname) < 0){ +diff -Naur ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/beta-8187/r8187.h ./beta-8187/r8187.h +--- ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/beta-8187/r8187.h 2007-01-21 18:45:06.000000000 +0000 ++++ ./beta-8187/r8187.h 2007-01-21 18:45:13.000000000 +0000 +@@ -26,7 +26,7 @@ + + #include <linux/module.h> + #include <linux/kernel.h> +-#include <linux/config.h> ++#include <linux/autoconf.h> + #include <linux/init.h> + #include <linux/ioport.h> + #include <linux/sched.h> +@@ -285,5 +285,6 @@ + void write_phy_cck(struct net_device *dev, u8 adr, u32 data); + void write_phy_ofdm(struct net_device *dev, u8 adr, u32 data); + void rtl8185_tx_antenna(struct net_device *dev, u8 ant); ++void rtl8180_set_mode(struct net_device *dev,int mode); + void rtl8187_set_rxconf(struct net_device *dev); + #endif +diff -Naur ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/beta-8187/tags ./beta-8187/tags +--- ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/beta-8187/tags 2006-06-07 03:14:06.000000000 +0100 ++++ ./beta-8187/tags 2007-01-21 18:45:13.000000000 +0000 +@@ -1118,8 +1118,8 @@ + ps_timeout ieee80211.h /^ int ps_timeout;$/;" m struct:ieee80211_device + ps_tl ieee80211.h /^ u32 ps_tl;$/;" m struct:ieee80211_device + queue_stop ieee80211.h /^ short queue_stop;$/;" m struct:ieee80211_device +-r8180_get_wireless_stats r8180_wx.c /^static struct iw_statistics *r8180_get_wireless_stats(struct net_device *dev)$/;" f file: +-r8180_get_wireless_stats r8187_core.c /^static struct iw_statistics *r8180_get_wireless_stats(struct net_device *dev)$/;" f file: ++r8180_get_stats r8180_wx.c /^static struct iw_statistics *r8180_get_stats(struct net_device *dev)$/;" f file: ++r8180_get_stats r8187_core.c /^static struct iw_statistics *r8180_get_stats(struct net_device *dev)$/;" f file: + r8180_priv r8187.h /^typedef struct r8180_priv$/;" s + r8180_priv r8187.h /^}r8180_priv;$/;" t + r8180_private_args r8180_wx.c /^static const struct iw_priv_args r8180_private_args[] = { $/;" v file: +@@ -1228,11 +1228,11 @@ + rtl8187_beacon_stop r8187_core.c /^void rtl8187_beacon_stop(struct net_device *dev)$/;" f + rtl8187_beacon_tx r8187_core.c /^void rtl8187_beacon_tx(struct net_device *dev)$/;" f + rtl8187_link_change r8187_core.c /^void rtl8187_link_change(struct net_device *dev)$/;" f +-rtl8187_lptx_isr r8187_core.c /^void rtl8187_lptx_isr(struct urb *tx_urb, struct pt_regs *regs)$/;" f ++rtl8187_lptx_isr r8187_core.c /^void rtl8187_lptx_isr(struct urb *tx_urb)$/;" f + rtl8187_net_update r8187_core.c /^void rtl8187_net_update(struct net_device *dev)$/;" f +-rtl8187_nptx_isr r8187_core.c /^void rtl8187_nptx_isr(struct urb *tx_urb, struct pt_regs *regs)$/;" f ++rtl8187_nptx_isr r8187_core.c /^void rtl8187_nptx_isr(struct urb *tx_urb)$/;" f + rtl8187_rx_initiate r8187_core.c /^void rtl8187_rx_initiate(struct net_device *dev)$/;" f +-rtl8187_rx_isr r8187_core.c /^void rtl8187_rx_isr(struct urb *rx_urb, struct pt_regs *regs)$/;" f ++rtl8187_rx_isr r8187_core.c /^void rtl8187_rx_isr(struct urb *rx_urb)$/;" f + rtl8187_rx_urbsubmit r8187_core.c /^void rtl8187_rx_urbsubmit(struct net_device *dev, struct urb* rx_urb)$/;" f + rtl8187_set_rate r8187_core.c /^void rtl8187_set_rate(struct net_device *dev)$/;" f + rtl8187_set_rxconf r8187_core.c /^void rtl8187_set_rxconf(struct net_device *dev)$/;" f +diff -Naur ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_crypt.c ./ieee80211/ieee80211_crypt.c +--- ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_crypt.c 2006-06-06 03:57:56.000000000 +0100 ++++ ./ieee80211/ieee80211_crypt.c 2007-01-21 18:45:13.000000000 +0000 +@@ -11,7 +11,7 @@ + * + */ + +-#include <linux/config.h> ++#include <linux/autoconf.h> + #include <linux/version.h> + #include <linux/module.h> + #include <linux/init.h> +diff -Naur ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_crypt_ccmp.c ./ieee80211/ieee80211_crypt_ccmp.c +--- ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_crypt_ccmp.c 2006-06-06 03:58:00.000000000 +0100 ++++ ./ieee80211/ieee80211_crypt_ccmp.c 2007-01-21 18:45:13.000000000 +0000 +@@ -9,7 +9,7 @@ + * more details. + */ + +-#include <linux/config.h> ++#include <linux/autoconf.h> + #include <linux/version.h> + #include <linux/module.h> + #include <linux/init.h> +diff -Naur ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_crypt_tkip.c ./ieee80211/ieee80211_crypt_tkip.c +--- ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_crypt_tkip.c 2006-06-06 03:57:54.000000000 +0100 ++++ ./ieee80211/ieee80211_crypt_tkip.c 2007-01-21 18:45:13.000000000 +0000 +@@ -9,7 +9,7 @@ + * more details. + */ + +-#include <linux/config.h> ++#include <linux/autoconf.h> + #include <linux/version.h> + #include <linux/module.h> + #include <linux/init.h> +diff -Naur ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_crypt_wep.c ./ieee80211/ieee80211_crypt_wep.c +--- ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_crypt_wep.c 2006-06-06 03:57:54.000000000 +0100 ++++ ./ieee80211/ieee80211_crypt_wep.c 2007-01-21 18:45:13.000000000 +0000 +@@ -9,7 +9,7 @@ + * more details. + */ + +-#include <linux/config.h> ++#include <linux/autoconf.h> + #include <linux/version.h> + #include <linux/module.h> + #include <linux/init.h> +diff -Naur ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_module.c ./ieee80211/ieee80211_module.c +--- ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_module.c 2006-06-06 03:58:00.000000000 +0100 ++++ ./ieee80211/ieee80211_module.c 2007-01-21 18:45:13.000000000 +0000 +@@ -31,7 +31,7 @@ + *******************************************************************************/ + + #include <linux/compiler.h> +-#include <linux/config.h> ++#include <linux/autoconf.h> + #include <linux/errno.h> + #include <linux/if_arp.h> + #include <linux/in6.h> +diff -Naur ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_rx.c ./ieee80211/ieee80211_rx.c +--- ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_rx.c 2006-06-06 03:58:00.000000000 +0100 ++++ ./ieee80211/ieee80211_rx.c 2007-01-21 18:45:13.000000000 +0000 +@@ -22,7 +22,7 @@ + + + #include <linux/compiler.h> +-#include <linux/config.h> ++#include <linux/autoconf.h> + #include <linux/errno.h> + #include <linux/if_arp.h> + #include <linux/in6.h> +diff -Naur ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_softmac_wx.c ./ieee80211/ieee80211_softmac_wx.c +--- ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_softmac_wx.c 2006-06-06 03:57:54.000000000 +0100 ++++ ./ieee80211/ieee80211_softmac_wx.c 2007-01-21 18:45:13.000000000 +0000 +@@ -356,7 +356,7 @@ + spin_lock_irqsave(&ieee->lock, flags); + + if (wrqu->essid.flags && wrqu->essid.length) { +- len = ((wrqu->essid.length-1) < IW_ESSID_MAX_SIZE) ? (wrqu->essid.length-1) : IW_ESSID_MAX_SIZE; ++ len = ((wrqu->essid.length) < IW_ESSID_MAX_SIZE) ? (wrqu->essid.length) : IW_ESSID_MAX_SIZE; + + strncpy(ieee->current_network.ssid, extra, len); + ieee->current_network.ssid_len = len; +diff -Naur ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_tx.c ./ieee80211/ieee80211_tx.c +--- ../../../rtl8187-1.10-orig/work/rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_tx.c 2006-06-06 03:57:54.000000000 +0100 ++++ ./ieee80211/ieee80211_tx.c 2007-01-21 18:45:13.000000000 +0000 +@@ -32,7 +32,7 @@ + ******************************************************************************/ + + #include <linux/compiler.h> +-#include <linux/config.h> ++#include <linux/autoconf.h> + #include <linux/errno.h> + #include <linux/if_arp.h> + #include <linux/in6.h> diff --git a/net-wireless/rtl8187/rtl8187-1.10.ebuild b/net-wireless/rtl8187/rtl8187-1.10.ebuild index 8d7740003c92..f1bcb835d173 100644 --- a/net-wireless/rtl8187/rtl8187-1.10.ebuild +++ b/net-wireless/rtl8187/rtl8187-1.10.ebuild @@ -1,29 +1,28 @@ -# Copyright 1999-2006 Gentoo Foundation +# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/rtl8187/rtl8187-1.10.ebuild,v 1.3 2006/08/08 08:41:31 genstef Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-wireless/rtl8187/rtl8187-1.10.ebuild,v 1.4 2007/05/09 20:00:14 genstef Exp $ -inherit linux-mod eutils +inherit eutils linux-mod -DESCRIPTION="Driver for the rtl8187 wireless chipset" +FILE="rtl8187_linux_26.1010.zip" + +DESCRIPTION="Driver for the RTL8187 wireless chipset" HOMEPAGE="http://www.realtek.com.tw" -SRC_URI="http://dev.gentoo.org/~genstef/files/${P}.zip" -#ftp://152.104.238.194/cn/wlan/rtl8187l/linux26x-8187(110).zip -#ftp://61.56.86.122/cn/wlan/rtl8187l/linux26x-8187(110).zip -#ftp://210.51.181.211/cn/wlan/rtl8187l/linux26x-8187(110).zip -#ftp://202.65.194.18/cn/wlan/rtl8187l/linux26x-8187(110).zip +SRC_URI="ftp://61.56.69.18/cn/wlan/${FILE} + ftp://209.216.61.149/cn/wlan/${FILE}" -RESTRICT="mirror" LICENSE="GPL-2" +SLOT="0" KEYWORDS="x86" IUSE="" + DEPEND="app-arch/unzip" -S=${WORKDIR}/${PN}_linuxdrv_V${PV/0} + +S=${WORKDIR}/rtl8187_linux_26.1010.0622.2006 MODULE_NAMES="ieee80211_crypt-rtl(net:${S}/ieee80211) ieee80211_crypt_wep-rtl(net:${S}/ieee80211) ieee80211_crypt_tkip-rtl(net:${S}/ieee80211) ieee80211_crypt_ccmp-rtl(net:${S}/ieee80211) ieee80211-rtl(net:${S}/ieee80211) r8187(net:${S}/beta-8187)" -#CONFIG_CHECK="NET_RADIO CRYPTO CRYPTO_ARC4 CRC32 !IEEE80211" -ERROR_IEEE80211="${P} requires the in-kernel version of the IEEE802.11 subsystem to be disabled (CONFIG_IEEE80211)" BUILD_TARGETS=" " MODULESD_R8187_ALIASES=("wlan0 r8187") @@ -34,40 +33,49 @@ pkg_setup() { fi linux-mod_pkg_setup + + # Needs NET_RADIO in kernel, for wireless_send_event + local CONFIG_CHECK="NET_RADIO CRYPTO CRYPTO_ARC4 CRC32 !IEEE80211" + local ERROR_IEEE80211="${P} requires the in-kernel version of the IEEE802.11 subsystem to be disabled (CONFIG_IEEE80211)" + check_extra_config + BUILD_PARAMS="KSRC=${KV_DIR}" } src_unpack() { - unpack ${A} || die "Could not extract ZIP file." - cd ${S} - tar xzf stack.tar.gz || die "Could not extract IEEE80211 stack." - tar xzf drv.tar.gz || die "Could not extract driver." + unpack ${A} + cd "${S}" - sed -i -e 's:MODVERDIR=$(PWD) ::' {beta-8187,ieee80211}/Makefile - epatch ${FILESDIR}/module-param-and-isoc.patch + unpack ./stack.tar.gz + unpack ./drv.tar.gz + + edos2unix beta-8187/r8187_core.c || die + edos2unix beta-8187/r8187.h || die + + cp -f ieee80211/readme ieee80211.txt + rm -f beta-8187/*~ + + epatch "${FILESDIR}/kernel-2.6.19.patch" + + einfo "Ignore the 'ieee80211* undefined' warnings." } src_install() { linux-mod_src_install - dodoc ${WORKDIR}/r8187_release_note.txt ReadMe.txt wpa1.conf \ - beta-8187/AUTHORS beta-8187/CHANGES beta-8187/README + dodoc *.txt wlan0* beta-8187/{authors,changes,readme} } pkg_postinst() { linux-mod_pkg_postinst - einfo "You may want to add the following modules to /etc/modules.autoload.d/kernel-2.6" - echo - einfo "For WEP and WPA encryption" - echo ieee80211_crypt-rtl - einfo "WEP encryption" - echo ieee80211_crypt_wep-rtl - einfo "WPA TKIP encryption" - echo ieee80211_crypt_tkip-rtl - einfo "WPA CCMP encryption" - echo ieee80211_crypt_ccmp-rtl - einfo "For the r8187 module" - echo ieee80211-rtl - einfo "The module itself" - echo r8187 + + elog "You may want to add the following modules to" + elog "/etc/modules.autoload.d/kernel-2.6" + elog + elog "The module itself: r8187" + elog "WEP and WPA encryption: ieee80211_crypt-rtl" + elog "WEP encryption: ieee80211_crypt_wep-rtl" + elog "WPA TKIP encryption: ieee80211_crypt_tkip-rtl" + elog "WPA CCMP encryption: ieee80211_crypt_ccmp-rtl" + elog "For the r8187 module: ieee80211-rtl" } |