Introduction
This page describes the procedure for updating your Nexus One phone with a kernel that supports tethering. It will work with both Wireless and Wired (usb) tether. It also includes a loopback block driver for mounting filesystem images.
Details
Download the new kernel update from the Download page.
If you are running on a user build (default install), see further below
Instructions for userdebug or eng build:
- You must be running a userdebug or eng build. This update won't run on the 'user' build, you will get 'verification failed'.
- Download the update from the 'Downloads' page above.
- Rename it to 'update.zip' and copy it to the top directory of your phone's SD card.
- If you have 'adb':
- adb reboot recovery
- If you do NOT have adb
- Power off your phone.
- Turn it on whilst holding the trackball down
- At the boot screen, use the volume keys to select 'bootloader' then press the power button to select.
- At the next screen, select 'recovery' and press the power button to select it.
- The boot 'cross' will appear, and shortly after a '!' graphic will appear. Hold down the power button, then press 'volume up'.
- You will see a menu with blue text. Use the trackball to highlight and select 'apply SD card update'
- The process should take a few seconds, after which you can reboot your phone.
- If you get 'verification failed' you probably have a user build. See below.
- You now have a tether-enabled kernel.
Instructions for user build (with root hack only): All steps before step 12 are safe and wont touch your phone's Rom /flash
- Get a copy of 'adb' and 'fastboot' (check the SDK or google for them).
- Grab the Nexus One update zip and 'nexusone-zimage' from the downloads page
- Plug your phone's USB in.
- adb reboot bootloader
- When the bootloader screen appears: fastboot boot nexusone-zimage
- Make sure the phone boots, if not, STOP
- Note that Wifi will not work at this stage.
- If the phone fails to boot, something is wrong. Pull the battery to reboot.
- Unzip the update zipfile, then 'adb push bcm4329.ko /sqlite_stmt_journals/'
- adb shell
- su
- insmod /sqlite_stmt_journals/bcm4329.ko
- If an error appears doing this, STOP
- lsmod
- You should see 'bcm4329' listed. If not, STOP.
- mount -w -o remount /dev/block/mtdblock3 /system
- cat /sqlite_stmt_journals/bcm4329.ko > /system/lib/modules/bcm4329.ko
- Logout out of the phone.
- adb reboot bootloader
- When the boot screen appears: fastboot flash zimage nexusone-zimage
- fastboot reboot
- Your phone should come up, you are done!!
wheres the kernal update?
Verification failed... i will try again
"Verification failed... i will try again"
Same thing here.
no luck..
fail.
I don't see a kernal update in downloads
nor do i
All should be better now. The kernel update is visible on the downloads page, and the instructions are updated for those getting 'verification failed' (ie follow the 'user' instructions).
I am having a problem on step 16. adb flash zimage nexusone-zimage does not do anything. It just scrolls all of the text of the adb help. What do I need to do?
@ayo991 Shot in the dark here, but the command seems more in line with fastboot; try "fastboot flash zimage nexusone-zimage"
I had tried it and things seem to be working however, the tethering fails to start and nothing shows up in the logs so I can't figure out what it's trying to do. Tried reinstalling the binaries but still shows the general "Unable to start tethering. Please try again!"
Hope that helps!
Note to dev: Is there any other troubleshooting steps I'm missing? Wish I could check what it's trying to do however it just doesn't want to show me anything. (su is up and running, I have other applications that need it to run).
@msakurai.android Thanks, that got my wifi working again, but the tether does not work.
there is no command 'adb flash'. there is 'fastboot flash'. is that just a typo in the instructions?
Sorry yes 'adb flash' is a typo. Should be 'fastboot flash'. Fixed.
Followed the instructions for people with the user build, and no luck. I get a prompt that says "unable to start tethering. Please try again!" My WiFi? is still working though.
I have a rooted retail phone, and have the same exact results as shannongilliam. "Unable to start tethering. Please try again!". Followed the instructions, got no errors during the process. Try to view logs, but the screen just stays blank.
Try -pre2 which I have posted a short while ago. You might need to uninstall the earlier one first.
I tried -pre2 and got the same result - "Unable to start tethering. Please try again!". But it works if I manually run "insmod bcm4329.ko".
Try menu->setup->menu->reinstall binaries
I tried -pre2, didn't work at first, reinstalled binaries, and then it started working. Thanks!
Yup, reinstalling binaries worked for me with pre-2. Thanks bro
Will this work on a Droid if you are using Android 2.1?
Wont work on a Droid, no. A kernel is hardware specific.
both pre-2 & pre-3 don't work for me, I can see the AP but the computer will not connect to it (xp-sp3) I tryed reinstalling the binaries with no luck.
I've found that after I install/update the kernal that ONLY the 1.6 wifi tether works not the newer 1.8 supposedly FOR the Nexus One...anyone else finding that also?
Cant get 1.8 pre2 or 3 to work, just tryed 1.6 (HTC version) that did not do it either. Do I need to install the 0.1 addon (bacon) from the xda-dev forums to make this work??
Whatever you did for pre4, finally did the job for me, it works now. Thx
I couldn't figure the the fastboot because the linux sdk didn't include it. http://androidforums.com/samsung-i7500/32481-howto-linux-adb-fastboot-mass-storage.html
Using a stock phone, everything was working till step 7, returned 'error: device not found.' Computer recognizes the phone as ADB Interface > HTC Bootloader under device manager, but adb in command prompt refuses to recognize it's existence now. adb get-state returns 'unknown'
I get insmod: can't insert '/sqlite_stmt_journals/bcm4329.ko': invalid module format
Any idea what this means? Do I have the wrong kernel version or something?
ps. I am using MoDaCo? custom rom 1.2.2
I get this when I try to insmod:
insmod: init_module '/sqlite_stmt_journals/bcm4329.ko' failed (Exec format error)
Nexus One: Superboot 1.1 tether 2.0 pre-1
I went through the steps for the user build. I get through the installation without issue and was able to startup the Tether app and could see and connect to it from my WinXP netbook (shows up as connected client in tether app)...But I was never able to ride it through to internet access.
Looks like the problem is that now my WiFi? won't turn on, in the WiFi? settings it just says "unable to start wifi".
Does anyone have the original bcm4329.ko kernel? Unfortunately I didn't back it up before updating.
thanks.
I have the same problems running insmod:
insmod: init_module '/sqlite_stmt_journals/bcm4329.ko' failed (Exec format error)
dmesg shows the following, which indicates the kernel modules are compiled against a different kernel to the default:
<3>369.684539 bcm4329: version magic '2.6.29-gad36b87-dirty preempt mod_unload ARMv7 ' should be '2.6.29-gad36b87 preempt mod_unload ARMv7 '
Just downloaded 2.0 pre-2, reinstalled and rebooted. - Turned on Tether, my netbook immediately connected via WiFi?. - On the netbook I was able to surf the net as expected. - Tried turning on WiFi? on the N1, this time it indeed does turn on.
Thank you!!
As a sidenote, I'm using a netbook with a trimmed down WinXP install and was unable to get PDANet working. This was due to the Analog Modem being removed from the XP install (which the PDANet Modem requires in order to install). But with android-wifi-tether, I don't have to deal with such things anymore!
I cannot get my phone to be recognized by adb... are there instructions somewhere on how to do this? I have USB debugging enabled and I installed the USB drivers, which I used to root the phone. I can run the fastboot commands but not adb commands. When I run "adb devices" it says "List of devices attached" and it's blank... Any other adb commands say no device attached. I am using Windows XP. I tried running adb while the phone is booted normally and also from the fastboot-usb menu. Any ideas?! I'm going nuts here.
Okay I rebooted my PC and the adb commands started working... Now I'm trying to figure out how to "logout" of my phone ??
Hi,
I excpect some problem during with "instructions for user build" on my Nexus One.
So here is the steps I've followed to try the installation of wifi-tether:
First, the step "5. When the bootloader screen appears: fastboot boot nexusone-zimage" failed during booting:
fastboot boot nexusone-zimage creating boot image... creating boot image - 1982464 bytes downloading 'boot.img'... OKAY booting... FAILED (remote: not allowed)To correct this problem, just unlock the bootloader with this command:
My next problem appears when I will enter in "su mode" (step 9)
$ su su: permission deniedSo... I've followed instructions from this site:
Once this 2 problems solved, I've been restarted the instructions from step 4 and all work fine since step 10. Like some people I've this error:
insmod /sqlite_stmt_journals/bcm4329.ko insmod: init_module '/sqlite_stmt_journals/bcm4329.ko' failed (Exec format error) dmesg shows the following (like nigelr): <3>[ 324.138549] bcm4329: version magic '2.6.29-gad36b87-dirty preempt mod_unload ARMv7 ' should be '2.6.29-gad36b87 preempt mod_unload ARMv7 'At this time, I've no solution for now.
Best Regards
Do I need to do this if I'm already running Cyanogen's latest (5.0-beta3)? I just rooted last night and installed cyanogen and can't get wireless tether working. (The app appears to run fine on the phone, but my Vista laptop can't connect "Windows cannot connect to AndroidTether?)
Finally I've found a solution. Perhaps that's a little bit risky but... it seen to work ;)
1. Downloaded original Nexus One image and follow step 13 and 14 from http://www.machackpc.com/headline/restore-your-nexus-one-to-its-original-shipping-image/
2. Installed boot image supplied at this location http://android.modaco.com/content/google-nexus-one-nexusone-modaco-com/298782/30-dec-1-1-superboot-rooting-the-nexus-one/
3. Reinstalled original image supplied in step 1
At this time I can do a shell command in simple user mode or super user mode.
Then I've followed all steps from "Instructions for user build" without trouble.
At this time I'll be able to install Wifi-tether ;)
For your information, I've try to install the latest Nexus One update (available at http://news.nexus-one.co.uk/post/368625804/how-tos-manually-install-the-latest-nexus-one)
The installation failed with this error:
assert failed: apply_patch_check("/system/lib/modules/bcm4329.ko", "4b7e6ea9d1e4568de6fa58d34fc59b09c4760480", "eefa27158b72625ff89610007a03c0d55f5b2200") E:error in /sdcard/update.zip (Status 7) Installation aborted.I think this update will be usable by removing the bcm module and, of course, wifi-tether.
yahoooooo... wow... m a nooby.... it took some playing.... but.... I got my tether...
I got the same error as pascal.rapaz
same problem with pascal.rapaz. I tried to rm the file /system/lib/modules/bcm4329.ko but seems it can't solve the problem, and wifi-teather still works. maybe I need the original zimage?
the zimage (after flashed in step 16) will cause "unable to start wifi" on the newest update. but bluetooth tether works.
can confirm this. is there a solution out there for this issue?
I think the only solution is to (re)build the bcm4329 module. But I've never do that before and I've not find the bcm4329 source code yet. Perhaps the wifi-tether team can help us ?
Yes I am having the same issue, I can't get the new firmware to install due to this Kernel issue. And I never even got the tether to work, so its screwing me up for nothing! Can you please give us a solution or directions on how to restore the Kernel from factory???
Thanks!
akoyer, you can restore the original boot image and the kernel by following instructions from this site: http://www.machackpc.com/headline/restore-your-nexus-one-to-its-original-shipping-image/
After installing the factory system, you can install wifi-tether. It work fine (in my case !) otherwise you can probably update you're phone but I've not tested yet.
Just skip steps 10 and 11 if you don't want the erase all your datas !
I had userdebug (or at least settings->about phone said I did) but I still got the 'verification failed' error and had to follow the second set of instrs for 'user'. But that worked.
Just for future reference, is there a way to undo all this kernel shenaniganry and get a pristine "factory" reset? thanks!!!!
Looks that in the update google updated the wifi driver to 802.11n, maybe that's why the bcm4329 module module will cause wifi unable to start
Just a question. Followed all the steps for 'user' and read all the way down to here. When you say "Wifi will not work at this stage" you mean it won't work until you follow the rest of the steps, right? I've done this 2 times now (will try a third) and my wifi at the end of the whole process is still unable to start. I'm running 2.1 update 1 and kernel 2.6.29-gad36b87-dirty. Anyone else running into this problem?
ahha! should have seen the very last post! Will my nandroid backup reset this to pre-wifi tether kernel shenaniganry?
N.L.Holman, as my experience, flash any of the boot (insecureboot, superboot or superboot with hi-mem) for ERE27 at
http://android.modaco.com/content/google-nexus-one-nexusone-modaco-com/298782/08-feb-erd79-ere27-superboot-rooting-the-nexus-one/
will bring back wifi (and broke tethering).
Is it possible to get this working on the ERE36B radio update? I had it working fine on ERE27, but wanted the 3G fix.
With Cyanogen 5.0.5, I was able to download and run the wifi tethering app without having to go into adb or fastboot.
Some examples of userdebug and eng builds please? I get verification failed on Cyanogen 5.0.5.3
worked perfectly with the user build steps. did not mess up my previously flashed ROM.
I have tried for 3 weeks on how to get these things working properly. I have tried to understand how adb works and so far I'm at a complete loss. The directions are very technical and hard for the average dummy like me to understand. Any clarification on how to get the tethering working on my moto droid 2.0.1 (rooted) working would be greatly appreciated.
I recently installed wireless_tether_2_0-pre10.apk on to my rooted Nexus One running the Cyanogen mod 5.0.53.
Tethering ran fine. But then I couldn't get my N1 to connect to the Wireless network at home. It just wouldn't connect. Did the wireless tethering break my Wifi?
Thanks for the help!
I got through step 6 in the User build with root hack only, and then I could not get step 7 to work. I also lost my wifi but got it back by running the install superboot windows bat again. So I am stuck, I cannot get the kernel changed in order to become wifi hotspot......is there any way you could possibly rewrite the instructions with a little more detail since I am not used to using commands like this and I think possibly I am typing something wrong, beginning with step 7. Actually, now that I think about it I can't be sure that the nexus-zimage worked but it said it got the image okay. I made a text file of my command prompt dialogue but I can't figure out how to include it with this comment. So, here is a paste of it:
Microsoft Windows 6.1.7600? Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\Karen>cd\
C:\>cd AndroidSDK\tools\ The system cannot find the path specified.
C:\>cd AndroidSDK\tools\
C:\AndroidSDK\tools>adb devices adb server is out of date. killing... daemon started successfully List of devices attached
C:\AndroidSDK\tools>adb devices List of devices attached
C:\AndroidSDK\tools>adb devices List of devices attached
C:\AndroidSDK\tools>adb devices List of devices attached HT9CZP802077 device
C:\AndroidSDK\tools>cd\
C:\>cd C:Superboot
C:\Superboot>fastboot-windows devices 'fastboot-windows' is not recognized as an internal or external command, operable program or batch file.
C:\Superboot>fastboot devices 'fastboot' is not recognized as an internal or external command, operable program or batch file.
C:\Superboot>fastboot-windows devices HT9CZP802077 fastboot
C:\Superboot>fastboot-windows oem unlock ... INFOErasing userdata... FAILED (status read failed (Too many links))
C:\Superboot>fastboot-windows oem unlock ... INFODevice was already unlocked! OKAY
C:\Superboot>fastboot boot nexusone-zimage 'fastboot' is not recognized as an internal or external command, operable program or batch file.
C:\Superboot>fastboot-boot nexusone-zimage 'fastboot-boot' is not recognized as an internal or external command, operable program or batch file.
C:\Superboot>fastboot-windows nexusone-zimage usage: fastboot <option> <command>
commands:
options:
C:\Superboot>fastboot-windows boot nexusone-zimage creating boot image... creating boot image - 1982464 bytes downloading 'boot.img'... OKAY booting... OKAY
C:\Superboot>adb-windows push bcm4329.ko /sqlite_stmt_journals/ error: device not found
C:\Superboot>adb-windows push bcm4329.ko/sqlite_stmt_journals/ Android Debug Bridge version 1.0.25
e
unning. ith AL>:<port> - disconnect from a TCP/IP device device commands:
l it
) )DATAOPTS:
scripting:
d device ad-write tloader or recovery program tcpip <port> - restarts the adbd daemon listening on TCP on the spec ified port networking:adb sync notes: adb sync <directory>
pdated.
C:\Superboot>adb-windows shell error: device not found
C:\Superboot>adb shell 'adb' is not recognized as an internal or external command, operable program or batch file.
C:\Superboot>adb-windows shell error: device not found
C:\Superboot>adb-windows.exe shell error: device not found
C:\Superboot>adb push bcm4329.ko/sqlite_stmt_journals/ 'adb' is not recognized as an internal or external command, operable program or batch file.
C:\Superboot>'adb push bcm4329.ko/sqlite_stmt_journals/' ''adb' is not recognized as an internal or external command, operable program or batch file.
C:\Superboot>adb push bcm4329.ko /sqlite_stmt_journals/ 'adb' is not recognized as an internal or external command, operable program or batch file.
C:\Superboot>adb-windows push bcm4329.ko /sqlite_stmt_journals/ error: device not found
C:\Superboot>
Thanks for your help.
To the poster above:
Your problem is that you are not running these commands from the directory to which you downloaded the android sdk. Also, please use a service like pastebin.org and link to it, rather than spam the board with all your input.
I have a question for the developers, or anyone who has had a similar experience. I have updated to EPE76 and then superbooted with himem to root the device. If I try running Wireless Tether without following this guide, everything starts okay in the log, but it throws the netfilter error, and the NAT rules, IP tables, and Access Control fail. If I flash the zimage, and run the app, everything else fails except those that I previously mentioned, and the netfilter error is not thrown. If anyone has any insight into what I should do to resolve this, I would be most appreciative
Can someone please post a link to the original bcm4329.ko from nexus one 2.1 release. I cannot upgrade to Froyo because of it.
Thanks
I'd like to build a tun.ko module to run with this kernel. I've tried using the kernel in the android-2.1_r2 branch of the source, and switching to the origin/android-msm-2.6.29-nexusone branch, but that doesn't seem to work. Not with the config in /proc/config.gz on my device (which has this new kernel - 2.6.29-gad36b87-dirty preempt mod_unload ARMv7). Can someone possibly provide some clues for building a tun.ko? Or provide one from this kernel build? Thanks.
i am also building the tun.ko module in emulator please help insmod and lsmod not working