2

So i burned digitizer on i9305 by flashing corrupted recovery. Then i flashed new working custom ROM and recovery, after Stock JB tried some KitKats like MoKee, Omni, CyanOgen 10/11 but i'm facing the same problem with all of them. After booting fresh android i got stuck on the welcome screen / first run setup wizard, cuz can't click anywhere. This phone supports USB OTG so i am able to use mouse in TWRP recovery for example, but the driver is not working on the welcome screen yet. Also i cant use ADB to simulate screen touch cuz it doesn't connect when the initial setup is active. I don't have any backup of initialized/configured android so this is no go either.

Any ideas how to get further? Thanks for any tip.

  • tried modify ROMs build.props with ro.setupwizard.mode=DISABLED, deletting gapps, deleting SetupWizard.apk/Provision.apk or OneTimeInstaller where applicable but the initial setup is present still. may a copy of any of these be located in boot.img too? – tomasb May 17 '14 at 15:13
  • also found a tip on XDA to delete /system/app/SetupWizard.apk on already installed android via adb with device in recovery, found that app in /system/priv-app but no change – tomasb May 17 '14 at 15:32
  • How can you burn a digitizer – Suici Doga May 23 '16 at 13:49
  • Question answered in the first sentence. Another option is to flash healthy but wrong version of recovery or ROM. Any electronic part can be burned by powering by higher voltage than it is designed for. Low level software controls such things too. – tomasb May 24 '16 at 10:30
  • What device's recovery did you install . Didn't know that software could fry a digitizer – Suici Doga May 24 '16 at 10:52
3

Finally found solution via editing /data/data/com.android.providers.settings/databases/settings.db file via sqlite3. Just adb pull that file to your computer, if you use stock recovery you must mount userdata partition manually, in that case see Android ADB Shell Recovery Mounting for hints. Also you can't just pull the file directly but copy it inside adb shell to your sdcard or some intermediary filesystem. Eg. busybox cp sett* /sdcard

To get rid of the initial setup:

update global set value=1 where name='device_provisioned';

update secure set value=1 where name='user_setup_complete';
insert into secure (name,value) VALUES ('device_provisioned','1');

Yes, the device_provisioned must be present in both tables. However on the stock JB there was no global table, so you don't need to take care of it and the secure table is missing some records we update here so these need to be inserted instead. On stock JB before editing the settings.db run PRAGMA wal_checkpoint and PRAGMA journal_mode = DELETE described here: https://stackoverflow.com/a/21258892/881375 otherwise updates on existing rows won't take effect because android will rollback on reboot. For CyanOgenMod 11 just delete the settings.db-journal file and it should be OK.

It was neccessary after pushing the settings.db file back to folder on device to

chmod 660 settings.db
chown system:system settings.db

in this order, because chmod may set the owner and group back to root

USB OTG mouse is still not working sadly, so i guess i must get access for adb anyway.

To enable USB debugging (ADB):

setprop persist.service.adb.enable 1 ('setprop persist.sys.usb.config mtp,adb' if needed)

settings.db:

update secure set value=5037 where name='adb_port';
update global set value=1 where name='adb_enabled';

After booting dialog to confirm PC's fingerprint appears. To avoid this get your adbkey.pub (on linux may be located at ~/.android):

adb push adbkey.pub /data/misc/adb/adbkey.pub
cat adbkey.pub >> adb_keys

After all of this you can input tap|swipe|text anything to control your phone and get access for bluetooth or OTG mouse/keyboard etc. I hope this helps. The fingerprint injection is needed for Android 4.2.2+.

Thanks to xda-developers and android issues with adb security at code.google.com.

  • all these commands were entered when the phone was in recovery mode so it was not necessary to deal with permissions – tomasb May 19 '14 at 1:47
  • the command cat adbkey.pub >> adb_keys you entered in your phone or host? – VP. Mar 9 '16 at 22:50
  • 1
    Long time but ... phone I guess because you need your phone knowing your host, sorry for unclear code blocks – tomasb Mar 9 '16 at 23:57
  • yup.. i found it out, but thank you for the answer, anyway ;) – VP. Mar 10 '16 at 19:00
0

I had the same problem. Solved it by installing ShareKM (app that allows you to control your android phone with a pc's keyboard and mouse). After you run the ShareKM app it will probably tell you it is outdated and you won't be able to run it. A workaround (found in this xda thread) is to first kill the app, clear its cache and set the date on your phone to 3/30/2014.

  • 1
    How do you install it in recovery mode? – tomasb Aug 4 '14 at 13:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.