[Barnes & Noble Nook Tablet] adorable:
Okay, so the Play app wasn't the solution. Apparently, in CM7, which works with adhoc with the fix, there was modifications done to the supplicant file. Another site had the base code (posted at end).

Because some people are successful in posting compiled supplicants for other CM10.x phones/tablets, I'm guessing that someone needs to download the Android/CM10.x source code, make code modifications to the supplicant file, compile it specifically to work with the Nook Tablet, and put it out here.

Thus, we'll only get a working supplicant fix for adhoc if someone's willing to do this - I'm guessing.

In the meantime, stuck on CM7 which works fine with adhoc...

---

*** ctrl_iface.c.bak	Mon Aug 16 14:32:51 2010

--- ctrl_iface.c	Tue Aug 17 15:08:18 2010

***************

*** 31,36 ****

--- 31,40 ----

#include "wps_supplicant.h"

#include "wps/wps.h"

+ #define ANDROID_IBSS_HACK

+ #define ANDROID_IBSS_SUFFIX "(adhoc)"

+ #define ANDROID_IBSS_SUFFIX_LEN strlen(ANDROID_IBSS_SUFFIX)

+

static int wpa_supplicant_global_iface_list(struct wpa_global *global,

char *buf, int len);

static int wpa_supplicant_global_iface_interfaces(struct wpa_global *global,

***************

*** 341,346 ****

--- 345,357 ----

ssid_len = _res;

_ssid = ssid_buf;

}

+ #ifdef ANDROID_IBSS_HACK

+	if (ssid->mode == IEEE80211_MODE_IBSS)

+	ret = os_snprintf(pos, end - pos, "ssid=%s "ANDROID_IBSS_SUFFIX"\nid=%d\n",

+	wpa_ssid_txt(_ssid, ssid_len),

+	ssid->id);

+	else

+ #endif

ret = os_snprintf(pos, end - pos, "ssid=%s\nid=%d\n",

wpa_ssid_txt(_ssid, ssid_len),

ssid->id);

***************

*** 777,788 ****

--- 788,801 ----

return -1;

pos += ret;

}

+ #ifndef ANDROID_IBSS_HACK

if (res->caps & IEEE80211_CAP_IBSS) {

ret = os_snprintf(pos, end - pos, "[IBSS]");

if (ret < 0 || ret >= end - pos)

return -1;

pos += ret;

}

+ #endif

/* Just to make the fields line up nicely when printed */

if (!ie && !ie2) {

ret = os_snprintf(pos, end - pos, "\t");

***************

*** 791,796 ****

--- 804,815 ----

pos += ret;

}

ie = wpa_scan_get_ie(res, WLAN_EID_SSID);

+ #ifdef ANDROID_IBSS_HACK

+	if (res->caps & IEEE80211_CAP_IBSS)

+	ret = os_snprintf(pos, end - pos, "\t%s "ANDROID_IBSS_SUFFIX,

+	ie ? wpa_ssid_txt(ie + 2, ie[1]) : "");

+	else

+ #endif

ret = os_snprintf(pos, end - pos, "\t%s",

ie ? wpa_ssid_txt(ie + 2, ie[1]) : "");

if (ret < 0 || ret >= end - pos)

***************

*** 1085,1090 ****

--- 1104,1125 ----

return -1;

}

+ #ifdef ANDROID_IBSS_HACK

+	if (os_strcmp(name, "ssid") == 0) {

+	if ((value[0] == '"') &&

+	(os_strlen(value) > ANDROID_IBSS_SUFFIX_LEN) &&

+	(os_strncmp(value+os_strlen(value)-ANDROID_IBSS_SUFFIX_LEN-1, ANDROID_IBSS_SUFFIX, ANDROID_IBSS_SUFFIX_LEN)==0)) {

+	if (wpa_config_set(ssid, "mode", "1", 0) < 0) {

+	wpa_printf(MSG_DEBUG, "CTRL_IFACE: failed to set IBSS on '%s'",

+	value);

+	return -1;

+	}

+	value[os_strlen(value)-ANDROID_IBSS_SUFFIX_LEN-2]='"';

+	value[os_strlen(value)-ANDROID_IBSS_SUFFIX_LEN-1]='\0';

+	}

+	}

+ #endif

+

if (wpa_config_set(ssid, name, value, 0) < 0) {

wpa_printf(MSG_DEBUG, "CTRL_IFACE: Failed to set network "

"variable '%s'", name);

***************

*** 1150,1155 ****

--- 1185,1196 ----

return -1;

}

+ #ifdef ANDROID_IBSS_HACK

+	if ((os_strcmp(name, "ssid") == 0) && (ssid->mode == IEEE80211_MODE_IBSS)) {

+	res = strlcat(buf,ANDROID_IBSS_SUFFIX"\"", buflen);

+	buf[strlen(buf)-ANDROID_IBSS_SUFFIX_LEN-2]=' ';

+	}

+ #endif

os_free(value);

return res;

*** events.c.bak	Mon Aug 16 14:33:05 2010

--- events.c	Mon Aug 16 17:51:41 2010

***************

*** 579,587 ****

--- 579,589 ----

}

if (bss->caps & IEEE80211_CAP_IBSS) {

+	if (ssid->mode != IEEE80211_MODE_IBSS) {

wpa_printf(MSG_DEBUG, " skip - "

"IBSS (adhoc) network");

continue;

+	}

}

wpa_printf(MSG_DEBUG, " selected non-WPA AP "