Hey, all! It seems like a few of us picked up the Xoom Wi-fi in the last week, eagerly looking forward to tethering them to our OG Droids running GPA, but found that we simply couldn't tether. Yes, we knew the OG Droid is hardware limited to Wi-fi sharing in Ad Hoc mode, and we knew that Android devices don't natively support joining Ad Hoc networks. That's what Bluetooth is for! How to: Bluetooth Tether to Motorola XOOM Using Original DROID But, even as the rest of the web hopped on the tethering lovetrain, we GPA users couldn't seem to get our Xooms to connect to our Droids. Some of us switched back to BB on Froyo, and others moved on to other unaffected Gingerbread ROM's. *gasp* For me, GPA12 is the business, so I spent a ton of time trying to figure out what was going on. Yesterday, I finally found it: there's an extraneous file in the ROM (/system/lib/bluez-plugin/network.so) that is causing Bluetooth tethering to go haywire, and it doesn't seem to be needed for anything functional at all. I deleted it, and tethering was immediately functional, without any other negative effects! So we have two ways of going about fixing this for now: deleting the file manually via adb (requires a couple of remounts of /system), or a quick patcher I wrote for less-technical users. I also updated Pete with all the technical info, and he indicated that he'll soon be working on it on the GPA build side. Please find all the info you need below, and have a blast tethering your Xooms with GPA awesomeness!!! MANUAL PROCESS Droid: Backup your phone (although my device was fine, yours might not be happy with this) Droid: Have a ROM image ready for recovery on your SDCard (same reason) Droid: Turn off Bluetooth Droid: Connect to your PC via USB PC (terminal/command prompt): Run adb as root and shell in to your Droid Code: adb root adb shell PC (adb): Re-mount /system as read-write Code: mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system PC (adb): Copy the culprit file to your SDCard (or wherever) then delete it (mv gets a "Cross-device link" error) Code: cp /system/lib/bluez-plugin/network.so /sdcard/network.so rm /system/lib/bluez-plugin/network.so PC (adb): Re-mount /system as read only again Code: mount -o ro,remount -t yaffs2 /dev/block/mtdblock3 /system PC (adb): exit adb and disconnect your Droid from your PC Code: exit Follow aforementioned instructions to test your tether If tethering isn't working after the patch, try rebooting. If you're still having issues, please chime in on the thread. AUTOMATED PROCESS (PATCHER) Keep in mind that this isn't a piece of production-level software. I tried to accommodate the exceptions I could foresee, but there will always be issues. So, as you all know well, it might patch your system with zero problems, or it could ruin your phone forever, so you're using it at your own risk. With that out of the way, here we go... FIRST, the attached APK file simply has ".zip" appended to the filename so that I could upload it. DO NOT UNZIP THE FILE. Just rename the file, deleting the .zip extension. If your operating system is set to Hide known file extensions from you, a quick web search should hook you up. As you'll see in the attached screenshot, the screen is laid out with a disclaimer on the top (hey, I'm new here ), followed by a device info block containing what the patcher needs to know about your device (ROM Build, Root Status, Bluetooth Stack Status). If your build is not GPA10-15, or if the patcher can't find su, an exit dialog will pop up and let you know. Below the device info block, there is a single action button that either patches (deletes network.so) or restores (replaces network.so and updates permissions, in case you have issues after patching), based on your Bluetooth Stack Status (UNPATCHED, PATCHED). The description below the button also changes respectively. NOTE: when patching, the software executes three separate commands (re-mount read-write, file handling, re-mount read-only) via su, so you will be prompted three separate times for su authorization. This is normal, and allows for better recovery from exceptions. ALSO NOTE: the patcher keeps its copy of your network.so file in INTERNAL APPLICATION STORAGE. This means that if you uninstall the patcher, the saved copy of network.so will also be removed. If you reinstall the patcher, it will find the network.so file completely missing, so it will regard your Bluetooth Stack Status as UNKNOWN, and will not be able to do anything further on your device. At that point, you're relegated to manually copying the file back from a GPA zip file, or re-flashing over your current install. At the bottom, there's a self-explanatory Exit button. Here's the procedure: Droid: Backup your phone (although my device was fine, yours might not be happy with this) Droid: Have a ROM image ready for recovery on your SDCard (same reason) PC or Droid: Download the GpaBluetoothTetherPatcher.apk.zip file PC or Droid: RENAME the GpaBluetoothTetherPatcher.apk.zip file and remove the ".zip" extension (DO NOT UNZIP THE FILE) Droid: Copy the GpaBluetoothTetherPatcher.apk file to your SDCard if it's not there already Droid: Sideload the GpaBluetoothTetherPatcher.apk via Astro, Linda, or whatever (NOTE: Bluetooth permissions are for disabling Bluetooth before patching, in case you forget the next step) Droid: Turn off Bluetooth Droid: Launch GpaBluetoothTetherPatcher Droid: If your device is running GPA10-15, is rooted, and network.so is in place, you can click Patch Bluetooth Stack to proceed Droid: Navigate through the confirmation dialogs (3 su requests is normal; see NOTE above) Droid: Note your changed Bluetooth Stack Status. If you're PATCHED, you're ready to tether Droid: Click Exit Follow aforementioned instructions to test your tether If tethering isn't working after the patch, try rebooting. If you're still having issues, please chime in on the thread. Hope this helps everyone!