0- RTL8180L

root@obelix:~ # lspci | grep 8180
00:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8180L 802.11b MAC (rev 20)

I- Userland tool

Download the command line tool and install it

root@obelix:~ # apt-get install ndiswrapper

Download the realtek 8180 windows driver

root@obelix:~ # wget "ftp://202.65.194.18/cn/wlan/ndis5x-8180(173).zip"
--21:17:40--  ftp://202.65.194.18/cn/wlan/ndis5x-8180(173).zip
           => `ndis5x-8180(173).zip'
Connecting to 202.65.194.18:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD /cn/wlan ... done.
==> PASV ... done.    ==> RETR ndis5x-8180(173).zip ... done.
Length: 104,101 (102K) (unauthoritative)

100%[====================================================>] 104,101       45.30K/s

21:17:50 (45.24 KB/s) - `ndis5x-8180(173).zip' saved [104101]

root@obelix:~ #
root@obelix:~ # unzip ndis5x-8180\(173\).zip
Archive:  ndis5x-8180(173).zip
  inflating: rtl8180.sys             
  inflating: NET8180.INF             
  inflating: Release.txt

Install the 8180 windows driver on your Debian GNU/Linux

root@obelix:~ # ndiswrapper -i NET8180.INF
Installing net8180
root@obelix:~ # ndiswrapper -l
Installed ndis drivers:
net8180 driver present, hardware present 
root@obelix:~ #

II- Kernel modules

get sources

root@obelix:~ # apt-get install ndiswrapper-source

uncompress them

root@obelix:/usr/src # tar xvjf ndiswrapper-source.tar.bz2

compile and install them

root@obelix:/usr/src/modules/ndiswrapper # make
root@obelix:/usr/src/modules/ndiswrapper # make install

once I did it, I got some problems to load the module ndiswrapper

root@obelix:~/ndiswrapper-1.29 # modprobe ndiswrapper
FATAL: Error inserting ndiswrapper (/lib/modules/2.6.18.2-obelix/misc/ndiswrapper.ko): Unknown symbol in module, or unknown parameter (see dmesg) 
root@obelix:~/ndiswrapper-1.29 # dmesg | tail -1
ndiswrapper: Unknown symbol wireless_send_event
root@obelix:~/ndiswrapper-1.29 #

after some research on google, I got a solution

http://ndiswrapper.sourceforge.net/mediawiki/index.php/FAQ

If you get the compilation error Unknown symbol: wireless_send_event you will need to enable the CONFIG_NET_RADIO option and recompile your kernel or find a kernel with this option already enabled. Checking for the /proc/net/wireless file is not a good way of making sure you have this option enabled since it will exist if one or both of CONFIG_NET_RADIO and CONFIG_NET_PCMCIA_RADIO options are enabled.

root@obelix:~ # modprobe ndiswrapper
root@obelix:~ # iwconfig wlan0
wlan0     IEEE 802.11b  ESSID:off/any  
          Mode:Auto  Frequency:2.437 GHz  Access Point: Not-Associated   
          Bit Rate:11 Mb/s   Tx-Power:20 dBm   Sensitivity=0/3  
          RTS thr:2432 B   Fragment thr:2432 B   
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

root@obelix:~ #

Now we are able to set up this new interface

root@obelix:~ # iwconfig wlan0 essid FON_zoxx
root@obelix:~ # iwconfig wlan0 
wlan0     IEEE 802.11b  ESSID:"FON_zoxx"  
          Mode:Managed  Frequency:2.417 GHz  Access Point: 00:18:84:11:6D:81   
          Bit Rate:11 Mb/s   Tx-Power:20 dBm   Sensitivity=0/3  
          RTS thr:2432 B   Fragment thr:2432 B   
          Encryption key:off
          Power Management:off
          Link Quality:73/100  Signal level:-49 dBm  Noise level:-96 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:-1068288296  Invalid misc:-1373815975   Missed beacon:0

root@obelix:~ #

Unfortunately It's only possible to use our ndiswrapper interface in managed or ad-hoc mode. No chance to use it in Master mode :(.