Looks like these are the only correct win32 drivers for your card:
http://ftp://ftp.dlink.com/Wireless/dwlg650_revB/Driver/dwlg650_driver_254.zipDownload and unzip the archive. You should find a 'Drivers' directory containing the required drivers; you should be fine to delete 'ar52119x.sys' since it's for win9x systems and you want the driver for winxp/nt systems.
Your pciid should be: 168c:0013 - this should be confirmed once you load the driver in ndiswrapper
If you don't have the latest ndiswrapper package from the repo then get it now, install it, and reboot (I think it's version 1.9).
Start by making sure that the hal daemon/service is stopped; in fact, if it's set to start with the system then please disable this service during this testing period.
Next, list the ndiswrapper drivers that are installed (as root,
ndiswrapper -l). My natural expectation would be that this would list none (maybe some) drivers that you had tried in the past, however on my system it lists several that are installed by default which was not my expectation. At least you can see which drivers are already installed this way. Did the listing show many drivers?
Next, remove some ndiswrapper modules that may be loaded by default (as root,
ndiswrapper -r <modulename>). Make sure that 'airplus', 'gplus', and 'netdlwl' are removed to help make sure there's not a conflict with a preloaded module trying to controlling your hardware. Were any of these listed as 'driver installed'? Just to ensure they're not installed anymore, re-list your ndiswrapper modules.
Next, clean up your
/etc/modprobe.conf and
/etc/ifplugd/ifplugd.conf files. Remove the alias for ath0/wlan0 from the former, and remove the atho/wlan0 interface name from the latter. This should leave your modprobe.conf file with a single alias entry for eth0, and it should leave your ifplugd.conf file with a single interface device name (eth0).
Install the driver using ndiswrapper (as root,
ndiswrapper -i net5211.inf).
Now, list your ndiswrapper drivers again. You should see something to the effect of:
net5211 : driver installed
device (168c:0013) presentwithin the driver listing. Do you see this?
Next, have ndiswrapper insert the alias info for you (as root,
ndiswrapper -m); use the standard 'wlan0' interface name for this test (not ath0). IIRC, this command exits with what seems to be an error statement; not a big deal. Open your
/etc/modprobe.conf and
/etc/ifplugd/ifplugd.conf files and make sure the correct information has been inserted for you;
alias wlan0 ndiswrapper and
INTERFACES="eth0 wlan0", respectively. IIRC, modprobe.conf looks good but you have to manually add the interface name to ifplugd.
Next, you need to restart the ifplugd server by issuing
service ifplugd restart, or better yet just reboot.
If you're good up to this point then run
depmod -aq as root, and wait a minute or so.
If you're good up to this point and you have not received any glaring errors/problems up to this point then you should insert the ndiswrapper module as root (
modprobe ndiswrapper).
If you don't get any errors up to this point then you should have the drivers loaded for your wireless card and it should (theorhetically) function once it's connected to a network.
I know you've stated that you are supposed to use 'ath0'. If this test did not work correctly using wlan0 then start from scratch and substitute ath0 as the alias/interface name throughout - really, start from scratch (i.e. clean up the modprobe/ifplugd files, remove modules, etc.).
If it seems like you're good up to this point then go straight to wifi-radar. Delete any old profiles and start a new one; ssid name, managed network, auto channel, dhcp enabled, etc... Then try connecting to the newly created profile; give it a couple minutes to make a good attempt. If it doesn't seem to connect (indicated by iwconfig/ifconfig or your wifi card icon with green bars) then click disconnect - be sure to pay attention to see if the connection is made upon clicking 'disconnect'. If it does seem to connect on disconnect, then immediately click connect again and give it a few seconds to "level out". I only mention this odd behavious because my laptop (native driver) has this strangness, but my desktop (ndiswrapper driver) does not. The alternative to wifi-radar is to do it manually as you've been attempting on your previous attempts. I would certainly try wifi-radar first, and if you don't have success then try the manual method
I know this is all TOO familiar from all your other attempts but sometimes just having things listed differently helps.
Good luck!