How to register the G1 without a sim or data plan

Search This thread

JesusFreke

Inactive Recognized Developer
Oct 23, 2008
736
54
Dallas
I've found a way to register the G1 in the initial registration screen that comes up the first time you boot the phone (or after you wipe the phone). It will allow you to register if you don't have a sim card at all, or if you have a sim card but no data plan.

First, You must have either RC29 or earlier, or modded RC30. It won't work with official RC30, sorry. If you don't know for sure what version you have, but you know you haven't installed a modified RC30 build, then the easiest way to check is to reboot the phone, and once it starts up and is showing the "click the android to begin" screen, or the "no sim card" screen, then type the following on the phone keyboard

<enter>reboot<enter>

If it reboots, then you have RC29 or ealier. Otherwise you have RC30.

Second, you must have adb installed on your computer, and have the USB drivers installed, or at least ready to install when it asks for the driver when you connect the G1. See this page for details on how to get adb working: http://code.google.com/android/intro/develop-and-debug.html#developingondevicehardware

Third, you must have a wifi network that you can connect to.


There are too many possibilities to write specific step-by-step instructions for every case. So I will give an overview of the process instead. If someone else wants to write some specific instructions, that would be welcome :D

-----------

When you start up the phone without a sim card, it goes into a locked screen that says "no sim card found", and you can't even get into the registration app. So the first step is to get around that screen. You have to connect to your phone with adb shell and get root access, and then type the following command:
sqlite3 /data/data/com.android.providers.settings/databases/settings.db "INSERT INTO system (name, value) VALUES ('device_provisioned', 1);"

And then reboot the phone. When it starts up again it will go into the registration screen instead of the locked "no sim card" screen.

This assumes that you have the sqlite3 binary on your phone. This binary is provided in RC30 v1.2. Alternatively, you could manually copy the binary to your phone with adb push, or put it on the sdcard and copy it to your phone. I can post a copy of just the sqlite3 binary if needed.

-----------

The second step is to enable and configure wifi, so that the registration process can connect to the google servers. In an adb shell session, type the following command:

am start -a android.intent.action.MAIN -n com.android.settings/.Settings

This doesn't have to have root access to work. It works fine with the "shell" user that adb on non-modded phones runs as.

That command will bring up the settings page on your phone. From there, you can enable wifi and connect to your wifi network, and then proceed with registration as per normal :D

------------

A few tips and tricks:

- If you have an official RC29 or lower phone, type the following command on the phone keyboard to enable adb:
<enter>setprop persist.service.adb.enable 1<enter>

- If you need to get root access on an official RC29 or lower phone, while it's at the registration screen, or the "no sim card" screen, enable adb (see first tip), and then type the following command on the phone keyboard:
<enter>telnetd<enter>

Now, copy a busybox binary to /data/local/busybox with adb push, and then connect to your phone with adb shell, and give the busybox binary execute permissions (i.e. chmod 755 /data/local/busybox)

busybox has a telnet applet, so you can do:
busybox telnet 127.0.0.1
to get a telnet session with root access.

- If you don't want to register the phone at all, you can set the app.setupwizard.disable property to 0 to prevent registration. Once you have an adb shell session open, type the following:

setprop app.setupwizard.disable 1

and then reboot. once it loads back up, it should bypass the registration screen all-together.

But beware, the phone seems a bit glitchy if you don't have it registered. For example, the home button doesn't seem to work. And you can't access the market or any of the google apps of course.

(Note: the following was the previous way to skip registration. I'll keep it here for informational purposes, but its easier to use the app.setupwizard.disable method instead of this)

- If you don't want to register the phone at all, you can edit /data/system/packages.xml and disable the registration screen. Add the following to the end of the <package> section for com.android.setupwizard, and then reboot:

<disabled-components>
<item name="com.android.setupwizard.SetupWizardActivity" />
</disabled-components>

so the full <package> would look something like below after the modification:

<package name="com.android.setupwizard" codePath="/system/app/SetupWizard.apk" system="true" ts="1217592000000" userId="10010">
<sigs count="1">
<cert index="0" />
</sigs>
<disabled-components>
<item name="com.android.setupwizard.SetupWizardActivity" />
</disabled-components>
</package>
 
Last edited:

johnny13oi

Senior Member
Nov 13, 2006
368
5
Texas
He worked on this for a very long time with me and walked me through all the steps when testing this out. Great person.
 

cmavr8

Senior Member
Jun 9, 2005
141
2
Really nice...
I'll try to do it.
I have to study though...

I'll be in touch.

Thanks
 

satru

Senior Member
Apr 22, 2008
304
18
thanks JF you are good in this thing.

My case i have sim card without data plan, when turn on phone show me screen for register email account with google.

c:\adb shell
show me # simbol
am start -a android.intent.action.MAIN -n com.android.settings/.Settings

and in the phone show me the menu for connect to my wireless :eek:

conected, registered, go ahead.

thanks
 
  • Like
Reactions: Chris4evernoob

cmavr8

Senior Member
Jun 9, 2005
141
2
satru, in what screen are you typing "c:\adb shell"?
1. Before you click "the android"
2. while reading the agreement
3. When you can select "create" or "sign in" to a google account
4. Or later ? (where?)

Thanks


EDIT:
Ok, I hate to do that but:
I am completely stupid. I've been reading around xda-dev for hours and still can't find how to check what software I'm running. (prior or post RC30...)

In boot loader it says:
"DREA100 PVT 32B
HBOOT-0.95.0000
CPLD-4
RADIO-1.22.12.28

Sep 2 2008

Serial0"

Do I have RC30?
I couldn't get it out of bootloader mode, so I pulled the battery out.
 
Last edited:

johnny13oi

Senior Member
Nov 13, 2006
368
5
Texas
To cmavr, try entering the restore mode and see if the computer will detect it then. Is it automatically mounting the SD card onto the computer? If it is then you probably have RC19 which is good. Try removing the SD card and plugging the phone into the computer.
 

JesusFreke

Inactive Recognized Developer
Oct 23, 2008
736
54
Dallas
satru, in what screen are you typing "c:\adb shell"?
1. Before you click "the android"
2. while reading the agreement
3. When you can select "create" or "sign in" to a google account
4. Or later ? (where?)

Thanks


EDIT:
Ok, I hate to do that but:
I am completely stupid. I've been reading around xda-dev for hours and still can't find how to check what software I'm running. (prior or post RC30...)

In boot loader it says:
"DREA100 PVT 32B
HBOOT-0.95.0000
CPLD-4
RADIO-1.22.12.28

Sep 2 2008

Serial0"

Do I have RC30?
I couldn't get it out of bootloader mode, so I pulled the battery out.



A quick way to check if you have RC30 is to reboot the phone, and then once it starts up and it shows the "click the android to begin" screen, type
<enter>reboot<enter> on the phone keyboard.


If it reboots, you have RC29 or lower. Otherwise you have RC30.

If you do have RC29 or lower, then you can use the first tip I posted to enable adb. Once adb is enabled it should ask you to install the drivers when you plug it in.
 

cmavr8

Senior Member
Jun 9, 2005
141
2
Hi again, thanks for your reply.

I rebooted without sim card, no "click here to begin" appeared, just the "no sim card" notice.

I entered reboot and it rebooted! So this is good.

Now, with the phone connected, I type in terminal:

"user@pc:/media/Docs/Android/tools$ ./adb shell
error: device not found
user@pc:/media/Docs/Android/tools$ ./adb devices
List of devices attached

user@pc:/media/Docs/Android/tools$ "

This is not normal, is it?

What should I do now?

(I also have a t-mobile sim card, not activated. It just came with the phone. I can go through the activation proccess (gmail account etc) but it can't complete as it's disabled)
 

JesusFreke

Inactive Recognized Developer
Oct 23, 2008
736
54
Dallas
Hi again, thanks for your reply.

I rebooted without sim card, no "click here to begin" appeared, just the "no sim card" notice.

I entered reboot and it rebooted! So this is good.

Now, with the phone connected, I type in terminal:

"user@pc:/media/Docs/Android/tools$ ./adb shell
error: device not found
user@pc:/media/Docs/Android/tools$ ./adb devices
List of devices attached

user@pc:/media/Docs/Android/tools$ "

This is not normal, is it?

What should I do now?

(I also have a t-mobile sim card, not activated. It just came with the phone. I can go through the activation proccess (gmail account etc) but it can't complete as it's disabled)


Did you try my first tip to enable adb?
 

cmavr8

Senior Member
Jun 9, 2005
141
2
To cmavr, try entering the restore mode and see if the computer will detect it then. Is it automatically mounting the SD card onto the computer? If it is then you probably have RC19 which is good. Try removing the SD card and plugging the phone into the computer.

Thanks for your reply.

SD mounting works fine.
In recovery mode nothing is better... (tried recovery without sd only)

Is there anything else I should try?
 

cmavr8

Senior Member
Jun 9, 2005
141
2
Did you try my first tip to enable adb?

What do you mean enable?
I should enable it on the g1 but it's locked, no menus available.


I thought the first step was to enter the "adb shell" command in the PC, then pass this through the pc to the G1:
"sqlite3 /data/data/com.android.providers.settings/settings.db INSERT INTO system (name, value) VALUES ('device_provisioned', 1);"

Am I missing something?
 

JesusFreke

Inactive Recognized Developer
Oct 23, 2008
736
54
Dallas
What do you mean enable?
I should enable it on the g1 but it's locked, no menus available.


I thought the first step was to enter the "adb shell" command in the PC, then pass this through the pc to the G1:
"sqlite3 /data/data/com.android.providers.settings/settings.db INSERT INTO system (name, value) VALUES ('device_provisioned', 1);"

Am I missing something?

A couple of things:

- Look further down the post, there's a "tips and tricks" section. The first tip is how to enable adb.

- second, I don't think you need to go through the first step (the sqlite3 command). The first step is to get past the "no sim card" screen. You said you have a sim card, just no data plan, right? So you don't need to get past the "no sim card" screen :D. You can skip to the second step (once you get adb working, of course)
 

cmavr8

Senior Member
Jun 9, 2005
141
2
DID IT!

Thanks so much!!

I now have to wait for the unlock code so that I can also use my sim card...

Thanks both of you!

EDIT:
T-mobile sent me the unlock code although I was not a customer for even one day!
That's great...
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    I've found a way to register the G1 in the initial registration screen that comes up the first time you boot the phone (or after you wipe the phone). It will allow you to register if you don't have a sim card at all, or if you have a sim card but no data plan.

    First, You must have either RC29 or earlier, or modded RC30. It won't work with official RC30, sorry. If you don't know for sure what version you have, but you know you haven't installed a modified RC30 build, then the easiest way to check is to reboot the phone, and once it starts up and is showing the "click the android to begin" screen, or the "no sim card" screen, then type the following on the phone keyboard

    <enter>reboot<enter>

    If it reboots, then you have RC29 or ealier. Otherwise you have RC30.

    Second, you must have adb installed on your computer, and have the USB drivers installed, or at least ready to install when it asks for the driver when you connect the G1. See this page for details on how to get adb working: http://code.google.com/android/intro/develop-and-debug.html#developingondevicehardware

    Third, you must have a wifi network that you can connect to.


    There are too many possibilities to write specific step-by-step instructions for every case. So I will give an overview of the process instead. If someone else wants to write some specific instructions, that would be welcome :D

    -----------

    When you start up the phone without a sim card, it goes into a locked screen that says "no sim card found", and you can't even get into the registration app. So the first step is to get around that screen. You have to connect to your phone with adb shell and get root access, and then type the following command:
    sqlite3 /data/data/com.android.providers.settings/databases/settings.db "INSERT INTO system (name, value) VALUES ('device_provisioned', 1);"

    And then reboot the phone. When it starts up again it will go into the registration screen instead of the locked "no sim card" screen.

    This assumes that you have the sqlite3 binary on your phone. This binary is provided in RC30 v1.2. Alternatively, you could manually copy the binary to your phone with adb push, or put it on the sdcard and copy it to your phone. I can post a copy of just the sqlite3 binary if needed.

    -----------

    The second step is to enable and configure wifi, so that the registration process can connect to the google servers. In an adb shell session, type the following command:

    am start -a android.intent.action.MAIN -n com.android.settings/.Settings

    This doesn't have to have root access to work. It works fine with the "shell" user that adb on non-modded phones runs as.

    That command will bring up the settings page on your phone. From there, you can enable wifi and connect to your wifi network, and then proceed with registration as per normal :D

    ------------

    A few tips and tricks:

    - If you have an official RC29 or lower phone, type the following command on the phone keyboard to enable adb:
    <enter>setprop persist.service.adb.enable 1<enter>

    - If you need to get root access on an official RC29 or lower phone, while it's at the registration screen, or the "no sim card" screen, enable adb (see first tip), and then type the following command on the phone keyboard:
    <enter>telnetd<enter>

    Now, copy a busybox binary to /data/local/busybox with adb push, and then connect to your phone with adb shell, and give the busybox binary execute permissions (i.e. chmod 755 /data/local/busybox)

    busybox has a telnet applet, so you can do:
    busybox telnet 127.0.0.1
    to get a telnet session with root access.

    - If you don't want to register the phone at all, you can set the app.setupwizard.disable property to 0 to prevent registration. Once you have an adb shell session open, type the following:

    setprop app.setupwizard.disable 1

    and then reboot. once it loads back up, it should bypass the registration screen all-together.

    But beware, the phone seems a bit glitchy if you don't have it registered. For example, the home button doesn't seem to work. And you can't access the market or any of the google apps of course.

    (Note: the following was the previous way to skip registration. I'll keep it here for informational purposes, but its easier to use the app.setupwizard.disable method instead of this)

    - If you don't want to register the phone at all, you can edit /data/system/packages.xml and disable the registration screen. Add the following to the end of the <package> section for com.android.setupwizard, and then reboot:

    <disabled-components>
    <item name="com.android.setupwizard.SetupWizardActivity" />
    </disabled-components>

    so the full <package> would look something like below after the modification:

    <package name="com.android.setupwizard" codePath="/system/app/SetupWizard.apk" system="true" ts="1217592000000" userId="10010">
    <sigs count="1">
    <cert index="0" />
    </sigs>
    <disabled-components>
    <item name="com.android.setupwizard.SetupWizardActivity" />
    </disabled-components>
    </package>
    1
    thanks JF you are good in this thing.

    My case i have sim card without data plan, when turn on phone show me screen for register email account with google.

    c:\adb shell
    show me # simbol
    am start -a android.intent.action.MAIN -n com.android.settings/.Settings

    and in the phone show me the menu for connect to my wireless :eek:

    conected, registered, go ahead.

    thanks
    1
    Tried it all, no success. HELP

    I have a G1 and it does not recognize SIM card. I was able to enable adb access, but problem starts there:

    - I cant connect adb shell with root access (I type su after adb shell and I get permission denied)
    - I also can't bring up the Settings pane (typing "am start -a android.intent.action.MAIN -n com.android.settings/.Settings" while on adb shell. I do it once, it does nothing, and second time it calls: "Warning: Activity not started, its current task has been brought to the front")

    The screen continues to display the No SIM Card message and I can't get past it. HELP PLEASE. Thanks in advance


    P.S: I am quite a noob, but I know well how to use adb and stuff, and I know I'm on RC29 because phone reboots when I type the command.
    Also I couldn't find the modded RC30 anywhere, but I managed to get the sqlite3 binary (although I can't use because I can't get to that point lol)

    Thank you guys

    EDIT: Oddly enough, I repeated all the steps with an SD Card inserted and it worked. I got past the No SIM Card screen and could register. You guys rock