Warning: Creating default object from empty value in /home3/soriconm/public_html/_reviewhorizon/wp-content/themes/boldnews/functions/admin-hooks.php on line 160

How to connect and tether Android Nook Color to Ad-Hoc networks like MyWi

If you have a Nook Color device and followed my first two articles about rooting and enabling side loading apps and enabling Android Market on the Nook Color, and, if you are like me and need everything working properly, there is one thing left to convert Nook Color in something exquisite…Enabling it to tether to your smartphone – an iPhone 4 in my case.

Let’s start with a little bit of background: AT&T won’t let you tether easily so this is one of the main reason to jailbreak your iPhone. Once you jailbroken it, there is a very useful application called MyWi, currently at version 4.0. MyWi enables an Ad-hoc connection and a PC can connect and tether through it absolutely fine. The problem is that by default, Android devices can’t connect to Ad-hoc networks, they require only infrastructure networks that neither iPhone app can provide, MyWi included. The next best thing would be to enable somehow Nook Color to see and connect to Ad Hoc networks.

Somewhere in the many threads from XDA developers lies the answer. Member cicada gets the credit (and my thanks) for the following instructions:

0. Ensure you are running Windows ;). The steps described should work with other operating systems as well, with minor changes but I only tested under Windows.

1. Be sure that your Nook Color is rooted (see this article for instructions).

2. Download and extract wpa_supplicant-ncadhoc inside your Android SDK\Tools folder. Replace Android SDK with the actual folder where Android SDK is installed. If this sounds weird to you, read the original Nook Color rooting article.

3. Disable WiFi on your device

4. Download the original wpa_supplicant from the Nook Color using the following command. The file will be downloaded inside Android SDK\Tools folder. Move it in a safe location.

Open a command line window and navigate to Android SDK\Tools folder (or wherever you have ADB.EXE file) and execute the following command.

adb pull /system/bin/wpa_supplicant wpa_supplicant.backup

5. Copy the new wpa_suplicant file you downloaded called wpa_supplicant.adhocfix in the Android SDK\Tools folder.

6. Execute the following commands one by one in the command window (you’ll basically copy the new wpa_suplicant file back on the device.

adb shell mount -o remount,rw /dev/block/mmcblk0p5 /system
adb push wpa_supplicant.adhocfix /system/bin/wpa_supplicant
adb shell chmod 755 /system/bin/wpa_supplicant
adb shell mount -o remount,ro /dev/block/mmcblk0p5 /system
7. Re-enable WiFi on your device
8. Now yourdevice will see Ad Hoc networks and display them preceded by ‘*’ (star).
Following these instructions I was able to successfully tether my Nook Color to my iPhone 4 running MyWi 4.0.
Note: There is a bug in the new wpa_supplicant file that kills the connection whenever your Nook Color gets locked / in sleep mode. To fix the issue, disable and re-enable the WiFi connection on the Nook Color every time you need to use the MyWi connection and you are good to go.
A quick way to add a little button on the home page to quickly enable / disable WiFi is by buying and installing Beautiful Widgets. The application contain a small widget as large as an icon that can turn on/off your WiFi connection.
Update: There is an additional way to fix the WiFi sleep problem by downloading Spare Parts application from Android Market. The application adds additional settings not normally available and under “Other secret system settings” you can access WiFi sleep policy. If you set it on never, you won’t experience the sleeping issue anymore but the battery will drain much faster. Use it on conjunction with the WiFi On/Off widget and you are set.
Update 2: There is now a way to force your Nook Color to connect to the previous access point when coming back from sleep. In order to achieve it, you’ll need a special script that will enable / disable the WiFi every time you get the device back from sleep. Here is how to do this:
1. Download this app (Setting Profiles Full). The app is $4 but that is a small amount to pay in my opinion to enable Nook Color tethering the proper way!
2. You will need to create two profiles in the Setting Profiles Full app. One profile to turn WiFi On, the other profile to turn WiFi Off.
3. In the same app (Setting profiles Full) create two rules, one rule to turn WiFi Off when Nook Color Screen Turns Off, the other rule to turn WiFI On when the screen turns On. In order to add a condition around Nook Color Screen being Off, just use the inverse logic option as in the screenshots.
  • Windy

    Is there a way to do this on a Mac? I don’t have Windows installed anywhere; both my laptop and my desktop are Macs.

  • Gastly Dastard

    Yes, Windy. The instructions would be the same for a mac.

  • Gastly Dastard

    Step five is redundant and unnecessary if you downloaded wpa_supplicant-ncadhoc.zip to the SDK/tools directory and extracted it there. I can confirm that the instructions are correct for mac (except for forward slashes vs. backslashes and adb vs. ADB.EXE). I can also confirm it worked. I was able to you my iPhonse 3GS with MyWi using the Nook Color.

  • Viragoboy

    Excellent! Thanks for the post, also works with Ubuntu.

  • Viragoboy

    An update on this – I installed Spare Parts and set the wifi sleep policy to never, but to no avail. The wifi issue got annoying real fast, so I threw together a couple of scripts that will swap out the wpa_supplicant file on demand using a couple of shell scripts:


    echo "Trying to set r/w folder"
    mount -o remount,rw /dev/block/mmcblk0p5 /system

    echo "Trying to copy file adhoc"
    busybox cp /system/bin/wpa_supplicant.adhoc /system/bin/wpa_supplicant

    echo "Trying to set r/o folder"
    mount -o remount,ro /dev/block/mmcblk0p5 /system

    echo "Done."

    and to reset to stock:

    echo "Trying to set r/w folder"
    mount -o remount,rw /dev/block/mmcblk0p5 /system

    echo "Trying to copy file original"
    busybox cp /system/bin/wpa_supplicant.original /system/bin/wpa_supplicant

    echo "Trying to set r/o folder"
    mount -o remount,ro /dev/block/mmcblk0p5 /system

    echo "Done."

    The scripts are run using GScript and cycling the wifi off/on causes the nook to reload the file.

    Done.

  • Ben

    Is there a better way to do this, via Android Commander?

  • Bemuse

    Since I did this it seems my wifi signal is weaker and wifi drops out and I have to turn it off and back on to get a connection. Is anyone else experiencing this?

  • Edouble

    Worked like a champ. Took a bit of doing however, was finally able to get things going. 🙂

  • Kernkraft

    Noob question and call me crazy but in order to complete the tethering process to your cell phone’s wifi, I need to jailbreak my droid incredible in order to ‘free’ up the wifi signal correct?

    Thanks for any help.

  • Hmm…

    Most newer ‘droid phones and the older Nexus One already allow you to set up a portable wifi hotspot via the stock ROM. A lot easier than mucking around with supplicants even on a rooted NC.

  • Red

    Hmmm,

    What about if you have an iPhone which I am pretty sure is a very common case?

  • human

    Can this be done via root explorer? Thanks!

  • George

    Hi.. I have this setup and my nook can find the ad-hoc network nicely.. but, I cannot ever connect. I constantly get an acquiring IP Address… and then Unsuccessful. I know the MyWi settings are correct because my laptop and iPAD connected without issue to it… any advice? I followed the instructions to the letter 3 times… and have toggled wifi and the nook on/off many times without help. Thx!

  • joe

    I have everything running perfect on my computer and the Nook color. ADB works great and the ADB usb works too> I am completely lost with this everytime i enter the second command it says mount not found> I do not understand step 2 with the folder thing in sdk tools would you please help with an understandable version of this for morons

  • RH

    joe,

    “Android SDK” is a sample name for the Android SDK installation folder which may be different in your case. “Tools” is a sub-folder in the main Android SDK folder where the wpa_supplicant-ncadhoc file will actually be stored.

    let me know if it helps!