[MOD][08.21.13][Hotspot AP mode fix - LIVE on android-wifi-tether site][GB/ICS]
RECENT NEWS: Fixed wifi tether on newest ICS rom, the problem was the exact same firmware issue from the original GB roms. HTC had two AP firmwares just as with the original GB roms. See notes below about the firmware for GB for more information, attached is a zip file that will replace the non-tether compatible firmware with the firmware that does work for tether. I found it interesting that HTC's firmwares from prior ICS versions worked fine without modifications, but the latest one required this hack just like the original GB HTC roms.
Looking to get your Gingerbread Rezound's wireless hotspot to work in Infrastructure mode?
Having problems with your Ice Cream Sandwich Rezound's wireless hotspot stuttering while playing online games in Infrastructure mode?
You found the right thread!
Con247 suggested I move the quick-start guide to the top of this thread.
WARNING: DO NOT FLASH THE ZIP FILE ON ICS ROMS, DO NOT FLASH THE ZIP FILE ON ICS ROMS!
I am now an official developer and committer for the Android-Wifi-Tether project. Now that is awesome!
1. The file wifi_tether_v3_2-pre1.apk downloaded as wifi_tether_v3_2-pre1.zip?!?
This is actually a common issue when downloading any APK via a web browser and is a result of your web browser recognizing the file format for a ZIP file and the fix is very easy. Rename wifi_tether_v3_2-pre1.zip to wifi_tether_v3_2-pre1.apk and it will install.
2. When tethering to my phone over my 4G connection, the internet gets very laggy and unresponsive...but on 3G it works fine?!?
This is a common problem among those with 4G phones in 4G areas using tethering apps. Sometimes those devices are unable to operate both the 4G radio and the WIFI radio at the same time...either due to the amount of heat generated...power consumed...or possibly hardware required for both to operate that can not be shared. Unfortunately there is no fix to make it work over 4G without an issue if you are having problems. You maybe one of the lucky ones who can use it in which case this won't apply to you. If you have issues try tethering with a 3G connection, usually this will resolve the problems.
To my knowledge this is an issue that affects all tethering apps including Verizon's Hotspot. Reports on success or failures in this forum are appreciated.
3. Your post has too many words...Lots of words make things useless, can you reduce it to an index card size or just delete it all?
I'm glad you asked. You see as a person inclined to work with things on a technical level I often find myself browsing hundreds of thousands of pages of what the layman would consider "jiberish". While the "jiberish" is of no use to a layman, it is very important to other persons of the technical inclination such as computer programmers, software developers, and the like. We share details of our changes to the "jiberish" with each other openly to help further future discoveries and fixes in the realm of computer science. If I were to say remove half of the development blog attached at the bottom of this post then I would have done the equivalent of starting the next episode of your favorite tv show (ex: Jersey Shore) halfway through an episode you never saw. While missing half an episode of Jersey Shore might not seem very important, it might have been an episode that had Snookie conceiving a child with The Situation before the second half where they all go out drinking and eventually get in a fight over the way The Situation starts grinding on some other chick. Which too any Jersey Shore fan would have been monumental. The development blog is just as monumental to us technical types. I hope that my work in getting wifi tether working on GB Rezound can help others get wifi tether working on their on devices that may be having a similar problem. So in short, no I will not shorten the post.
---KNOWN ISSUES ENDS HERE---
---QUICKSTART BEGINS HERE---
Most problems with Wifi Tether not working are related to not replacing the firmware correctly or not uninstalling the old apk before installing the new one. Remember if your Wifi Tether is in system you will have to use a special app like Titianium Backup or Root Explorer to remove it before attempting to replace it with my patched version.
The EasyFix zip file will attempt to remove any original Wireless Tether (having it's original APK name ie: com.googlecode.android.wifi.tether-?.apk) installed if it exist, this will also fix any force close issues you are having from a incomplete or improper install of Wireless Tether as noted earlier in this thread that some have experienced. The script for EasyFix will perform a more complete fix. The update.zip contains the updated firmware and apk. It will copy the apk to your /data/app folder and the firmware to /system/etc/firmware. Enjoy!
WARNING: DO NOT FLASH THE ZIP FILE ON ICS ROMS, DO NOT FLASH THE ZIP FILE ON ICS ROMS!
EASYFIX for GB - How to enable wireless tether on the Rezound GB! In 10 EASY Steps! 1. You need GBOnly-WifiTetherComplete32P1.zip (includes my modified apk - attached) located at the bottom of this post, CleanROM 1.7+, access to terminal/adb, and root. 2. UNINSTALL ALL COPIES OF ANDROID WIFI TETHER 3. Reboot to recovery and flash GBOnly-WifiTetherComplete32P1.zip 4. Reboot back to Android. 5. Open Wifi Tether (That you just installed, It will know you using a Rezound and use NetD by default) 6. Enable encryption if desired (it works) 7. Check MSS Clamping and Routing fix (I used both in my work) 8. Check access control (if you want it) 9. Turn on Wifi Tether 10. PARTY!!!
EASYFIX for ICS - How to fix wireless tether stutter on the Rezound ICS! In 9 EASY Steps! 1. You need to download wifi_tether_v3_2-pre1.apk to your SD card (only the apk - attached) located at the bottom of this post, an ICS ROM, and root. 2. UNINSTALL ALL COPIES OF ANDROID WIFI TETHER 3. Install wifi_tether_v3_2-pre1.apk using your favorite file manager. 4. Open Wifi Tether (That you just installed, It will know you using a Rezound and use NetD by default) 5. Enable encryption if desired (it works) 6. Check Routing fix (Required) 7. Check access control (if you want it) 8. Turn on Wifi Tether 9. PARTY!!!
If for some reason you want AD-HOC tethering, simply change "Setup-Method" to WEXT (remember AD-HOC/WEXT does not support encryption). Typically everyone is wanting AP mode so Auto/NetD is likely what you are wanting.
---QUICKSTART ENDS HERE---
Development Blog Begins Here
I noticed that this device has 4 firmware images for the wifi radio in GB and 6 in ICS. I think part of our problem is restrictions placed in the firmware by HTC for VZW. In short you can find the firmware in /etc/firmware/fw_bcm*.bin and if you replace fw_bcm4330_apsta.bin with fw_bcm4330b2_apsta.bin (backup your firmware folder first!) you can now open an access point with wpa2 encryption. I however have not been able to get a complete connection, and it always gives up waiting on dhcp address and iptables shows no packets routed or dropped. I'll look into it further after the weekend is over right now all I have is my phone and development further than this might not be possible without my PC. I think the VZW hotspot is loading firmware b2 of the access point firmware (apsta) for it's work while standard android use loads the first firmware.
#2: ifconfig shows I have a valid interface and traffic on it but forwarding does not appear to be happening. (Packet count increases with attempts to visit website, I setup static Ip on the client to avoid DHCP failure during my tests.) Looks like I'm missing a route as well.
#3: and the interface has not been assigned an IPv4 address so that explains the lack of a route.
#4: I can get the Rezound to communicate to a (both ways if the Rezound initiates the connection/ping) tethered device but I can not get the tethered device to communicate with the Rezound (as if the data just goes into a black hole). But ARP routeing tables show correct information on both sides of the connection. I appear to have a missing route somewhere and it's getting late.
You need Wifi Tether 3.1-beta 11, CleanROM 1.7+, access to terminal/adb, and root.
TURN OFF WIFI / TETHER APPS IF ON
Create a backup of /etc/firmware/fw_bcm*.bin
Replace fw_bcm4330_apsta.bin with fw_bcm4330b2_apsta.bin
Open Wifi Tether
Set device as Google NexusOne
Set method as NetD (master)
Enable encryption if desired (it works)
Change Lan (Select 192.168.2.0/24)
I have not determined if MSS Clamping or Routing fix are needed but my tests include routing fix.
Turn on Wifi Tether
in terminal do the following without qoutes:
"/system/xbin/ifconfig eth0 inet 192.168.2.254 netmask 255.255.255.0 mtu 1500"
On the device you want to connect to the hotspot with do the following
Set static ip information (DHCP will not work at this time)
Connect device to hotspot.
Device (not the Rezound) will show connected but have no network access at this time.
On the Rezound in the terminal you can verify the device is connected with ping
You will see the ping replies! (Press volume down + "C" to stop once confirmed if using terminal)
WOOT! We're half way there! I think if Wifi Tether setup the interface with the IPV4 address properly instead of us having to go back and set it after the fact that this may work without any further trouble.
Once we have Wifi Tether resolved, I will have my dream device! ...at least for the next 6 months \\
#5: I HAVE IT! I will post a working fix/update within a few hours! It works!
#6: FINAL SOLUTION!
The problem was two fold, first the phone has two sets of firmwares and by default loads a non-accesspoint capable version when trying to setup an accesspoint. I've already explained that part in my first post. The second problem, the accesspoint interface firmware operates on eth0, which is NOT what wireless tether expects...so I either had to intercept tether's scripts and fix the interface name OR modify tether to use the proper interface name (which I did both, but the fix I am posting is a modified tether without scripts...it is simpler, and EASY FOR THE WIRELESS TETHER TEAM TO FIX).
ADVANCED FIX - How to enable wireless tether on the Rezound! In 12 EASY Steps!
Please scroll down to EASY FIX 2 for instructions on using con247's zip in recovery instead of moving files around in root explorer yourself.
Download the attached MODIFIED WIFI TETHER APK, it has the interface names for the networking accesspoint corrected to eth0 and not wl0.1 (which was the default for google nexus).
1. You need Wifi Tether 3.1-beta 11b2 (my modified version), CleanROM 1.7+, access to terminal/adb, and root. 2. TURN OFF WIFI / TETHER APPS IF ON 3. Create a backup of /etc/firmware/fw_bcm*.bin 4. Replace (existing) fw_bcm4330_apsta.bin with fw_bcm4330b2_apsta.bin in /etc/firmware 5. Install modified Wifi Tether 6. Open Wifi Tether 7. Set device as Google NexusOne 8. Set method as NetD (master) 9. Enable encryption if desired (it works) 10. Check MSS Clamping and Routing fix (I used both in my work) 11. Turn on Wifi Tether 12. PARTY!!!
For those with trust issues download apktool and decompile wifi tether yourself, open smali/com/googlecode/android/wifi/tether/system/Configuration.smali
using a NON DESTRUCTIVE TEXT EDITOR! I.E. one that will not change anything you do not specifically change! I used JEdit on Ubuntu, I read Notepad++ on windows will work good too.
Under ".method private setupSoftapGoogle()V"
Change line 2707:
const-string v0, "wl0.0"
const-string v0, "eth0"
Save and rebuild & sign apk.
Have a great day!
This hack is all of my own work, please give me credit if you use this or include it in your rom/mod!
Donations are always welcome as I do appreciate a good beer ;-D
Questions about will it work on my ROM or Kernel, you will just have to try it. Remember to backup your firmware folder to revert incase you make a mistake. This method should work on any GB rom and should work on ICS as well. So long as the kernel/rom dev has not radically modified their ROM/Kernel in the wifi/tether department. Enjoy!
Also attached some nifty images with my chicken scratch on them to help point out the original file differences (in size) as well as what we are replacing in case there was any confusion.
EASYFIX 1/2 & INSTRUCTIONS REMOVED - PLEASE SEE EASYFIX
Enjoy, Thanks goto con247 who packaged up a recovery zip to move the firmware!
This fix has been updated and is now using Beta12 of Wifi Tether.
The patch is slightly different instead of patching Google's Nexus driver I just copied it to it's own routine patched the device name as indicated in the above patch instructions, renamed it to HTC Rezound GB and added it to the device menu. No more looking like a hack here. The Wifi Tether team could easily add this patch to their base code (I did this using a text editor on the smali code), but it would only benefit HTC Rezound GB users with rooted devices. Oh well...Enjoy Everyone!
Update 04/11/12: Fixed downloads...not sure what was wrong. Re-uploaded the files and all is well. Sorry for the inconvenience.
Update 04/12/12: Really fixed downloads...I do not know what has happened. I tested them when they first went up and they worked fine. Could be a browser issue maybe? I was using Chrome, this time FireFox. Never had any issues uploading before. I downloaded both files again completely to be sure this time, everything looks good. Again I apologize for the inconvenience.
Update 04/23/12: Updated patch to latest beta14.
Update 04/28/12: Corrected firmware/module file locations for Rezound. Removed SoftAP (does not work on Rezound GB profile anyway). Tested Wext on Rezound profile (works for those wanting Adhoc, note: encryption not supported on Adhoc). Added patch notice to App title bar so you know what is installed (default vs patched). Also gave myself credit for the patch in the about box and added a link to this thread for future reference and added a donation button in the about box for those who feel generous (Don't forget about the Wifi Tether team, without which non of this would be possible!). Enjoy! (Fixed Download: I forgot to sign the APK, sorry everyone!)
Update 05/02/12: Moved quickstart guide to top per con247's suggestion. Also note this fix is NOT needed for any ICS variants, only GB.
Update 05/18/12: Per feedback from Kidney Poker I have patched the Wifi Tether Application to include a Rezound ICS profile, in that profile I added correct ICS firmware folder/filenames (The Rezound's firmware/modules are in different locations than Google ICS), the result of which I believe caused some stuttering in the connection was running applications requiring a consistent and low ping (I.E. Online Games). I appreciate any additional feedback anyone would like to add on this matter, let me know if this patch improves your tethering experience or not. Thanks! ICS does not need firmware files moved for AP mode to work so do not flash the zip, you only need the apk of the patched Wifi Tether application. DO NOT INSTALL WifiTetherFixCompleteR14B.zip on ICS!!!
Update 06/01/12: Added beta15 PUBLIC TEST 1 UNOFFICIAL Wifi Tether with my changes that I am submitting to the Wifi Tether team. Give it a try, fiddle with the options, tell me how it works! Post your feedback and Thanks!
Update 06/02/12: Beta15 PUBLIC TEST 2: Fixed bug where Automatic quota shutdown appeared twice in settings. Configure ed keep-alive shutdown timer option to be disabled when keep-alive is set to retry indefinitely.
Update 06/27/12: Android wifi-tether now has an official download with my changes includes and some new features added! Woot Woot!
Update 07/14/12: I am now an official developer and committer for the Android-Wifi-Tether project. Now that is awesome!
Update 08/21/13: Updated post to include fix for latest ICS release, the firmware issue from GB returned to this version of ICS. Simply replacing fw_bcm4330_apsta_b1.bin with fw_bcm4330_apsta_b2.bin located in /system/etc/firmware/ and this change will enable wifi tether using android-wifi-tether. Updated zips to include latest non-experimental version v3.3 beta 2 and attached for direct download. GB firmware zip is intended only for GB roms, and ICS Latest zip is intended only for the latest ICS version v4.03.605.2 710RD. You will need a custom kernel to tether, the stock kernel will not work as it lacks the proper NAT layers to do so.
Unfortunately I've not been able to resolve the routing issues yet, communication starting from the client towards the tether point (rezound) arrives but does not seem to get past the interface device (packets are counted but data is getting dropped after reaching the rezound. I am still trying to resolve this.
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?