The SEMPRE WU-300 isn't a rtl8192S, but rtl8191S ;) [1]. But to unzip this driver source, the new tried to overwrite the files of the other driver. Anyway, I removed the old driver source and tried again. As expected it didn't build: [spinymouse@archlinux src]$ wget ftp://WebUser:Lc9FuH5r@209.222.7.36/cn/wlan/RTL8191SU_usb_linux_v2.6.6.0.20110401.zip [spinymouse@archlinux src]$ unzip RTL8191SU* [spinymouse@archlinux src]$ rm RTL* [spinymouse@archlinux src]$ cd rtl*/driver [spinymouse@archlinux driver]$ tar xzf rt* [spinymouse@archlinux driver]$ rm *tar.gz [spinymouse@archlinux driver]$ cd rtl* [spinymouse@archlinux rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401]$ make make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/3.0-rt/build M=/usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401 modules make[1]: Entering directory `/usr/src/linux-3.0-rt' CC [M] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/cmd/rtl871x_cmd.o In file included from /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/cmd/rtl871x_cmd.c:23:0: /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/osdep_service.h: In function ‘_init_timer’: /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/osdep_service.h:151:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] In file included from /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/rtl871x_ht.h:25:0, from /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/drv_types.h:67, from /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/cmd/rtl871x_cmd.c:24: /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h: In function ‘get_da’: /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:350:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:350:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:353:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:353:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:356:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:356:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:359:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:359:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h: In function ‘get_sa’: /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:374:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:374:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:377:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:377:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:380:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:380:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:383:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:383:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h: In function ‘get_hdr_bssid’: /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:397:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:397:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:400:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:400:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:403:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/wifi.h:403:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] In file included from /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/drv_types.h:73:0, from /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/cmd/rtl871x_cmd.c:24: /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/rtl871x_recv.h: In function ‘rxmem_to_recvframe’: /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/rtl871x_recv.h:434:30: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/rtl871x_recv.h:434:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] In file included from /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/drv_types.h:77:0, from /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/cmd/rtl871x_cmd.c:24: /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/rtl871x_io.h: At top level: /usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/include/rtl871x_io.h:35:28: fatal error: linux/smp_lock.h: No such file or directory compilation terminated. make[2]: *** [/usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/cmd/rtl871x_cmd.o] Error 1 make[1]: *** [_module_/usr/src/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401/driver/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401] Error 2 make[1]: Leaving directory `/usr/src/linux-3.0-rt' make: *** [modules] Error 2 [1] [spinymouse@archlinux ~]$ dmesg | grep rtl8 [ 5.319425] r8712u: register rtl8712_netdev_ops to netdev_ops [spinymouse@archlinux ~]$ uname -a Linux archlinux 3.0-rt #1 SMP PREEMPT RT Mon Dec 26 13:03:51 CET 2011 x86_64 AMD Athlon(tm) X2 Dual Core Processor BE-2350 AuthenticAMD GNU/Linux [spinymouse@archlinux ~]$ ls /lib/firmware/RTL8192SU -hAl total 0 [spinymouse@archlinux ~]$ hwinfo --usb [snip] 10: USB 00.0: 0000 Unclassified device [Created at usb.122] Unique ID: cLrx.pHbvpxhVmw2 Parent ID: k4bc.MrJLBLcWB9F SysFS ID: /devices/pci0000:00/0000:00:13.5/usb1/1-2/1-2:1.0 SysFS BusID: 1-2:1.0 Hardware Class: unknown Model: "Realtek RTL8191S WLAN Adapter" Hotplug: USB Vendor: usb 0x0bda "Realtek Semiconductor Corp." Device: usb 0x8172 "RTL8191S WLAN Adapter" Revision: "2.00" Serial ID: "00e04c000001" Driver: "r8712u" Driver Modules: "r8712u" Device File: wlan0 Speed: 480 Mbps HW Address: 00:0a:eb:22:ef:b3 Module Alias: "usb:v0BDAp8172d0200dc00dsc00dp00icFFiscFFipFF" Driver Info #0: Driver Status: r8712u is active Driver Activation Cmd: "modprobe r8712u" Config Status: cfg=new, avail=yes, need=no, active=unknown Attached to: #4 (Hub) [snip] [spinymouse@archlinux ~]$ grep 8191 /usr/src/linux-3.0-rt/.config [spinymouse@archlinux ~]$ grep 8192 /usr/src/linux-3.0-rt/.config CONFIG_RTL8192CE=m CONFIG_RTL8192SE=m CONFIG_RTL8192CU=m CONFIG_RTL8192C_COMMON=m CONFIG_RTL8192U=m CONFIG_RTL8192E=m