# the dreaded realtek 8187 driver and 2.6.19 [solved/workarnd]

## dirtbag

*sigh* 

mythtv rtl8187_linux # emerge  rtl8187

Calculating dependencies... done!

>>> Emerging (1 of 1) net-wireless/rtl8187-1.10 to /

 * rtl8187-1.10.zip MD5  :Wink:  ...                                                                                       [ ok ]

 * rtl8187-1.10.zip size  :Wink:  ...                                                                                      [ ok ]

 * checking ebuild checksums  :Wink:  ...                                                                                  [ ok ]

 * checking auxfile checksums  :Wink:  ...                                                                                 [ ok ]

 * checking miscfile checksums  :Wink:  ...                                                                                [ ok ]

 * checking rtl8187-1.10.zip  :Wink:  ...                                                                                  [ ok ]

 * Determining the location of the kernel source code

 * Found kernel source directory:

 *     /usr/src/linux

 * Found kernel object directory:

 *     /lib/modules/2.6.19-gentoo-r3/build

 * Found sources for kernel version:

 *     2.6.19-gentoo-r3

>>> Unpacking source...

>>> Unpacking rtl8187-1.10.zip to /var/tmp/portage/rtl8187-1.10/work

 * Applying module-param-and-isoc.patch ...                                                                           [ ok ]

>>> Source unpacked.

>>> Compiling source in /var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1 ...

 * Preparing ieee80211_crypt-rtl module

make -C /usr/src/linux SUBDIRS=/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211 modules

make[1]: Entering directory `/usr/src/linux-2.6.19-gentoo-r3'

  CC [M]  /var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_softmac.o

  CC [M]  /var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_rx.o

  CC [M]  /var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_tx.o

  CC [M]  /var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_wx.o

  CC [M]  /var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_module.o

  CC [M]  /var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_softmac_wx.o

  CC [M]  /var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt.o

  CC [M]  /var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_ccmp.o

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_softmac.c:1361:4: warning: #warning CHECK_LOCK_HERE

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_softmac.c:1401:2: warning: #warning CHECK_LOCK_HERE

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_softmac.c: In function 'ieee80211_softmac_scan_wq':

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_softmac.c:391: warning: ISO C90 forbids mixed declarations and code

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_softmac.c: In function 'ieee80211_rx_frame_softmac':

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_softmac.c:1472: warning: ISO C90 forbids mixed declarations and code

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_softmac.c:1474: warning: 'chlen' may be used uninitialized in this function

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_softmac_wx.c: In function 'ieee80211_wx_set_wap':

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_softmac_wx.c:143: warning: ISO C90 forbids mixed declarations and code

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt.c:14:26: error: linux/config.h: No such file or directory

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_ccmp.c:12:26: error: linux/config.h: No such file or directory

  CC [M]  /var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_tkip.o

  CC [M]  /var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_wep.o

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_rx.c:25:26: error: linux/config.h: No such file or directory

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_tx.c:35:26: error: linux/config.h: No such file or directory

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_module.c:34:26: error: linux/config.h: No such file or directory

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_tkip.c:12:26: error: linux/config.h: No such file or directory

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_wep.c:12:26: error: linux/config.h: No such file or directory

make[2]: *** [/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt.o] Error 1

make[2]: *** Waiting for unfinished jobs....

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_ccmp.c: In function 'ieee80211_ccmp_aes_encrypt':

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_ccmp.c:75: warning: 'crypto_cipher_encrypt' is deprecated (declared at include/linux/crypto.h:842)

make[2]: *** [/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_ccmp.o] Error 1

make[2]: *** [/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_module.o] Error 1

make[2]: *** [/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_tx.o] Error 1

make[2]: *** [/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_rx.o] Error 1

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_tkip.c: In function 'ieee80211_tkip_encrypt':

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_tkip.c:317: warning: 'crypto_cipher_encrypt' is deprecated (declared at include/linux/crypto.h:842)

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_tkip.c: In function 'ieee80211_tkip_decrypt':

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_tkip.c:396: warning: 'crypto_cipher_decrypt' is deprecated (declared at include/linux/crypto.h:868)

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_tkip.c: In function 'michael_mic':

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_tkip.c:448: warning: 'crypto_digest_init' is deprecated (declared at include/linux/crypto.h:710)

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_tkip.c:449: warning: 'crypto_digest_setkey' is deprecated (declared at include/linux/crypto.h:736)

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_tkip.c:450: warning: 'crypto_digest_update' is deprecated (declared at include/linux/crypto.h:713)

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_tkip.c:451: warning: 'crypto_digest_final' is deprecated (declared at include/linux/crypto.h:715)

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_wep.c: In function 'prism2_wep_encrypt':

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_wep.c:141: warning: 'crypto_cipher_encrypt' is deprecated (declared at include/linux/crypto.h:842)

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_wep.c: In function 'prism2_wep_decrypt':

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_wep.c:185: warning: 'crypto_cipher_decrypt' is deprecated (declared at include/linux/crypto.h:868)

make[2]: *** [/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_wep.o] Error 1

make[2]: *** [/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211/ieee80211_crypt_tkip.o] Error 1

make[1]: *** [_module_/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211] Error 2

make[1]: Leaving directory `/usr/src/linux-2.6.19-gentoo-r3'

make: *** [modules] Error 2

!!! ERROR: net-wireless/rtl8187-1.10 failed.

Call stack:

  ebuild.sh, line 1546:   Called dyn_compile

  ebuild.sh, line 937:   Called src_compile

  ebuild.sh, line 1255:   Called linux-mod_src_compile

  linux-mod.eclass, line 510:   Called die

!!! Unable to make  KSRC=/usr/src/linux  .

!!! If you need support, post the topmost build error, and the call stack if relevant.

mythtv rtl8187_linux # emerge --info

Portage 2.1.1-r2 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.4-r4, 2.6.19-gentoo-r3 i686)

=================================================================

System uname: 2.6.19-gentoo-r3 i686 VIA Samuel 2

Gentoo Base System version 1.12.6

Last Sync: Wed, 10 Jan 2007 18:30:01 +0000

distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]

ccache version 2.4 [enabled]

app-admin/eselect-compiler: [Not Present]

dev-java/java-config: [Not Present]

dev-lang/python:     2.3.5, 2.4.3-r4

dev-python/pycrypto: 2.0.1-r5

dev-util/ccache:     2.4-r6

dev-util/confcache:  [Not Present]

sys-apps/sandbox:    1.2.17

sys-devel/autoconf:  2.13, 2.61

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2

sys-devel/binutils:  2.16.1-r3

sys-devel/gcc-config: 1.3.14

sys-devel/libtool:   1.5.22

virtual/os-headers:  2.6.17-r2

ACCEPT_KEYWORDS="x86"

AUTOCLEAN="yes"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-O2 -mcpu=i686"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"

CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"

CXXFLAGS="-O2 -mcpu=i686"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict"

GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo http://gentoo.osuosl.org/ ftp://mirror.datapipe.net/gentoo"

MAKEOPTS="-j8"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="x86 X aac alsa alsa_cards_es1373 alsa_pcm_plugins_adpcm alsa_pcm_plugins_alaw alsa_pcm_plugins_asym alsa_pcm_plugins_copy alsa_pcm_plugins_dmix alsa_pcm_plugins_dshare alsa_pcm_plugins_dsnoop alsa_pcm_plugins_empty alsa_pcm_plugins_extplug alsa_pcm_plugins_file alsa_pcm_plugins_hooks alsa_pcm_plugins_iec958 alsa_pcm_plugins_ioplug alsa_pcm_plugins_ladspa alsa_pcm_plugins_lfloat alsa_pcm_plugins_linear alsa_pcm_plugins_meter alsa_pcm_plugins_mulaw alsa_pcm_plugins_multi alsa_pcm_plugins_null alsa_pcm_plugins_plug alsa_pcm_plugins_rate alsa_pcm_plugins_route alsa_pcm_plugins_share alsa_pcm_plugins_shm alsa_pcm_plugins_softvol apache2 berkdb bitmap-fonts cli cracklib crypt cups dba dlloader dri dvb dvd elibc_glibc fortran gd gdbm gpm gtk2 iconv input_devices_keyboard input_devices_mouse ipv6 isdnlog kernel_linux libg++ lirc lirc_devices_hauppauge mjpeg mysql mythtv ncurses nls nptl nptlonly opengl pam pcre perl php4 ppds pppd python readline reflection server session spl ssl tcpd threads truetype truetype-fonts type1-fonts udev unicode usb userland_GNU video_cards_ati video_cards_ivtvdev win32codecs xorg xvid zlib"

Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS

mythtv rtl8187_linux # 

any ideas? suggestions?

-DBLast edited by dirtbag on Sun Jan 14, 2007 5:08 pm; edited 1 time in total

----------

## didymos

Yeah, this is common.  2.6.19 kernels no longer have the "linux/config.h" header.  You just need to change any occurence of "config.h" to "autoconf.h".  For awhile now, all the config.h header has done is to #include the autoconf.h header.  They just finally got rid of it; unfortunately, not all packages have caught up yet. 2.6.19 is supposed to going stable in portage soon, so stuff like this should be fixed pretty soon now.  Check bugzilla, because someone may have posted a patch for that package already.

----------

## dirtbag

thanks for the tip!

for those keeping score, heres what I had to change..

beta-8187/r8187.h:#include <linux/config.h>

ieee80211/ieee80211_tx.c:#include <linux/config.h>

ieee80211/ieee80211_crypt.c:#include <linux/config.h>

ieee80211/ieee80211_rx.c:#include <linux/config.h>

ieee80211/ieee80211_crypt_wep.c:#include <linux/config.h>

ieee80211/ieee80211_crypt_ccmp.c:#include <linux/config.h>

ieee80211/ieee80211_module.c:#include <linux/config.h>

ieee80211/ieee80211_crypt_tkip.c:#include <linux/config.h>

mythtv rtl8187_linuxdrv_V1.1 # 

in the /var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1 dir

then went to /var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/ieee80211

and did a make there and then you ummm...

not sure which dir you put the resulting modules in..

/lib/modules/2.6.19-gentoo-r3/kernel/drivers/net/wireless/rlt8187  ??

----------

## dirtbag

ooh, looks like you need to cd into 

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/beta-8187

and then run make there

but there I get 

mythtv beta-8187 # pwd

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/beta-8187

mythtv beta-8187 # make

make -C /lib/modules/2.6.19-gentoo-r3/build SUBDIRS=/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/beta-8187 modules

make[1]: Entering directory `/usr/src/linux-2.6.19-gentoo-r3'

  CC [M]  /var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/beta-8187/r8187_core.o

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/beta-8187/r8187_core.c: In function 'rtl8187_rx_urbsubmit':

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/beta-8187/r8187_core.c:680: warning: passing argument 6 of 'usb_fill_bulk_urb' from incompatible pointer type

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/beta-8187/r8187_core.c: In function 'rtl8180_tx':

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/beta-8187/r8187_core.c:1466: warning: passing argument 6 of 'usb_fill_bulk_urb' from incompatible pointer type

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/beta-8187/r8187_core.c: In function 'rtl8187_usb_probe':

/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/beta-8187/r8187_core.c:2385: error: 'struct net_device' has no member named 'get_wireless_stats'

make[2]: *** [/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/beta-8187/r8187_core.o] Error 1

make[1]: *** [_module_/var/tmp/portage/rtl8187-1.10/work/rtl8187_linuxdrv_V1.1/beta-8187] Error 2

make[1]: Leaving directory `/usr/src/linux-2.6.19-gentoo-r3'

make: *** [modules] Error 2

mythtv beta-8187 # 

-db

----------

## dirtbag

I guess ill file a bug..

-db

----------

## dirtbag

https://bugs.gentoo.org/show_bug.cgi?id=161895

----------

## didymos

Looks like another header change, this time  linux/netdevice.h.  It looks like you would now just use a generic stats struct instead of a wireless specific one.  The function takes the same argument and has the same form, but different types are now used:

```

Instead of this:

struct iw_statistics*   (*get_wireless_stats)(struct net_device *dev);

Now there is this:

struct net_device_stats* (*get_stats)(struct net_device *dev);

```

If you make two changes, it'll compile, but that doesn't mean it'll work.  Since I don't have a realtek adapter, I have no way of knowing.  Anyway, the changes are this, as a patch:

begin -----------------------------------------------------------------

--- r8187_core.c.orig   2007-01-13 17:04:14.000000000 -0800

+++ r8187_core.c        2007-01-13 17:04:45.000000000 -0800

@@ -388,7 +388,7 @@

 }

-static struct iw_statistics *r8180_get_wireless_stats(struct net_device *dev)

+static struct net_device_stats *r8180_get_wireless_stats(struct net_device *dev)

 {

        struct r8180_priv *priv = ieee80211_priv(dev);

@@ -2382,7 +2382,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_wireless_stats;

        dev->type=ARPHRD_ETHER;

        if (dev_alloc_name(dev, ifname) < 0){

end --------------------------------------------------------------------

The formatting might be off a bit, which can confuse patch.  Also, the current source available from realtek has changed quite a bit from that fetched by the ebuild.

----------

## didymos

Oh, yeah, I guess I should have told you to have the preprocessor test the kernel version, but since this was just for your own use, I didn't mention it.  If you did submit a patch to bugzilla, you'd want that in there, both for the config.h stuff and the stuff above.

----------

## rdaruszka

I was able to get my r8187 to work (on amd64 also) on 2.6.19

I'd make a patch file for it but I'm not sure how so heres what I did:

follow the instructions at http://gentoo-wiki.com/HARDWARE_rtl8187

Once makedrv fails edit the source code

changes all instances of:

```

#INCLUDE <linux/config.h>
```

to:

```

#INCLUDE <linux/autoconf.h>
```

in beta-8187/r8187_core.c change:

```

dev->get_wireless_stats = r8180_get_wireless_stats;
```

to:

```

//dev->get_wireless_stats = r8180_get_wireless_stats;
```

finally in ieee80211/ieee80211_softmac_wx.c change:

```

len = ((wrqu->essid.length-1) < IW_ESSID_MAX_SIZE) ? (wrqu->essid.length-1) : IW_ESSID_MAX_SIZE;
```

to:

```

len = ((wrqu->essid.length) < IW_ESSID_MAX_SIZE) ? (wrqu->essid.length) : IW_ESSID_MAX_SIZE;
```

-DO NOT- rerun makedrv as this will overwrite your changes.  Instead run the following in the terminal:

```

cd ieee80211

make clean

make

cd ../beta-8187

make clean

make
```

then copy the .ko files as the gentoo-wiki article says.

It should work without a problem after that.  I also read that people are thinking about rolling back the changes to the wireless extensions in the 2.6.19 kernel that caused this problem, but I can't say for sure.

----------

## didymos

 *rdaruszka wrote:*   

> 
> 
> in beta-8187/r8187_core.c change:
> 
> ```
> ...

 

That seems like an iffy change to make.  Are you sure nothing is relying on that pointer actually pointing to something useful?

----------

## rdaruszka

I do not know if anything needs that, I do know from the changelogs that in the 2.6.19 kernel the netdev->get_wireless_stats was removed.  Also my wireless works again since doing this, I will of course report if I have any failures here but I wanted to get a way of making it work out onto the net since I was unable to find one in my searches in the past 10 hours since I upgraded my kernel to 2.6.19.  Perhaps the iw_statistics change posted above would be better for that section of the driver.

----------

## didymos

It wasn't so much removed as renamed and made generic.  It's just get_stats now, and the iw_statistics struct is now net_device_stats.  Of course, since the driver actually works for you, it may not be needed after all, but I still wonder whether or not some condition, when met, will cause the struct to be accessed and cause trouble.  Since it's a kernel driver, it could be nasty.  I'll have to look at the wireless source in the kernel to find out how that gets used, and when.

----------

## dirtbag

THANK YOU x 10^23!!!!!!!!!!!!!!!!!

It works!!

 :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy: 

again, thanks guys, great work.. I appreciate it.

now I can finally but the ndiswrapper I was using for this adapter to the curb!

-db

----------

## PaulBredbury

See bug for a working ebuild for rtl8187 on kernel 2.6.19  :Smile: 

----------

