I gave up on the DWL-G122 leaving it to a peaceful resting place in the general category of all things shit.
I went out and bought a Linksys WMP54G (pci card) and it was a breeze to install with ndiswrapper and works a charm, all the time.
The wireless connection on this machine is using a DWL-G122 usb dongle.
The connection was never that good and I always presumed this was the distance between the router and client. We live on the second floor, and the server and router is in the basement. The basement is built of concrete. Many people have been overly surprised that it works at all!
By good I mean 99%+ connectivity. All our music and dvds are located on the server, we listen to music through rhythmbox, and the music pauses everytime the g122 dongle breaks the connection to the router :'(
Until I brought home a new work laptop (Fujitsu Siemens LifeBook E8020) and with its ipw2200 wireless chip achieved 100% connectivity *anywhere* in the apartment! I realised the d-link dongle wasn't really so hot.
And it burns out over time
Now the ndiswrapper module crashes after a few minutes of using it.
kernel logging reports:
ndiswrapper: (wrap_reset_pipe) "resetting pipe 2 failed"
Trying to remove the ndiswrapper from the kernel:
rmmod ndiswrapper
results in a kernel OOPS
EIP is at wrap_submit_irp [ndiswrapper]
Call Trace:
pdoDisplatchDeviceControl [ndiswrapper]
IofCallDriver [ndiswrapper]
NdisReleaseSpinLock [ndiswrapper]
schedule
...
So I downloaded ndiswrapper 1.9 and built it maually.
("make DEBUG=3" needs line 847 of drivers/ndis.c commented out).
To my dismay still crashed.