I recently bought an Asus 1001p. I got home and immediately installed Ubuntu Netbook Remix on it. Unfortunately my wireless chipset was not supported in the current kernel so I had to use the bleeding edge compat-wireless drivers. After successfully installing the drivers I ran into a problem using airodump-ng and aireplay-ng. It kept saying my interface was stuck in a perhaps hypothetical -1 channel and i kept receiving the error "fixed channel mon0: -1". After a bit of research I have a fix for Ubuntu (should work on other distros aswell) so i though i should share it.

NOTE: Make sure you have build-essential.

First I had to edit a few lines of an existing patch for a similar problem. Here is a link to my version of the patch but the contents are below anyway:

--- chan.c.orig
+++ chan.c
@@ -49,9 +49,12 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev,
struct ieee80211_channel *chan;
int result;
+ struct wireless_dev *mon_dev = NULL;

- if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR)
+ if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) {
+ mon_dev = wdev;
wdev = NULL;
+ }

if (wdev) {
@@ -76,5 +79,8 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev,
if (wdev)
wdev->channel = chan;

+ if (mon_dev)
+ mon_dev->channel = chan;
return 0;

Save it and copy it into the same directory as the compat wireless chan.c file. Mine was in ~/compat*/net/wireless but you can do a search with something like the below to find it.
sudo find / -name chan.c -print
Now open a terminal and navigate to the directory where chan.c and the patch are located. Run (I had to use sudo because the owner was root as i had already edited the file as root):
sudo patch -p0 -i < watevaucalledthepatch.patch
Now if you had to run the above command with root privileges (like me) then run the below to restore the file permissions. Replace userhere in the first line below with your user name:
sudo chown userhere:userhere chan.c
sudo chmod 777 chan.c
It should now be patched successfully with the right permissions. All you need to do now is recompile and unload the old drivers. Navigate into the base directory of compat wireless (mine was ~/compat*). I ran the below to select the ath9k drivers but you may have to do different depending on your chipset:
./scripts/driver-select ath9k
Now run the below to build:
sudo make install
And unload the old drivers:
sudo make unload
sudo make wlunload
You may or may not have to run the below, it won't hurt if you do.
sudo make btunload
Now reboot or alternatively run the below replacing driverhere with your driver:
sudo modprobe driverhere
Everything should be in working order and the problem fixed. I can now crack WEP in minutes and catch a handshake in a matter of seconds. Hope this helped anyone suffering with the same problem.