1

I have an SGS4 i9500 device with totally screen broken. So, I can't see or touch anything. But device works. I had flashed it with Odin using this firmware: I9500XXUGNJ1_I9500SERGNJ1_SER. Then I rooted it same way and flashed CWM revovery v6.0.3.3. Now I need to install some software on it (VNC server and more and more). So, I need to have ADB shell enabled in main system. I connected via ADB in recovery, mounted main /system directory like this:

~ # cat /etc/fstab

/dev/block/mmcblk0p19 /cache ext4 rw
/dev/block/mmcblk0p21 /data ext4 rw
/dev/block/mmcblk0p20 /system ext4 rw
/dev/null /sdcard datamedia rw
/dev/block/mmcblk1p1 /external_sd vfat rw

~ # mount -o rw -t ext4 /dev/block/mmcblk0p20 /system

Then, like described here I appended /defaul.prop and /system/build.prop:

echo "persist.service.adb.enable=1" >> default.prop 
echo "persist.service.debuggable=1" >> default.prop
echo "persist.sys.usb.config=mtp,adb" >> default.prop
echo "persist.service.adb.enable=1" >> /system/build.prop 
echo "persist.service.debuggable=1" >> /system/build.prop
echo "persist.sys.usb.config=mtp,adb" >> /system/build.prop

So, ADB enabled in main system. But it still shows UNAUTHARIZED device status. At same link we see the solution:

cd ~/.android
adb push adbkey.pub /data/misc/adb/adb_keys

(from C:\User\user_name directory in my case)

Then restarted ADB daemon. But it still have UNAUTHARIZED device status when rebooted to the system. How this happens? Also, /data in recovery is same as /data in fstab when the /system isn't. I checked multiple times: /data/misc/adb/adb_keys is same as my public key. What I missed up? Any suggestions? Also may be there is another way to disable ADB auth? May be more options in .prop files?

UPD: It's seems like /data/misc/adb/adb_keys for recovery and for the system are different. But everything points that's not true:

cd /etc
/etc # ls
ls
fstab           mtab            recovery.fstab
/etc # cat recovery.fstab
cat recovery.fstab

# mount point   fstype          device                                  device2
/efs                    ext4            /dev/block/mmcblk0p3
/boot                   emmc            /dev/block/mmcblk0p9
/recovery               emmc            /dev/block/mmcblk0p10
/cache                  ext4            /dev/block/mmcblk0p19
/system                 ext4            /dev/block/mmcblk0p20
/data                   ext4            /dev/block/mmcblk0p21   length=-16384
/preload                ext4            /dev/block/mmcblk0p16
/modem                  emmc            /dev/block/mmcblk0p13

/sdcard                 datamedia   /dev/null
/external_sd    vfat            /dev/block/mmcblk1p1

/etc # cat fstab
cat fstab
/dev/block/mmcblk0p19 /cache ext4 rw
/dev/block/mmcblk0p21 /data ext4 rw
/dev/block/mmcblk0p20 /system ext4 rw
/dev/null /sdcard datamedia rw
/dev/block/mmcblk1p1 /external_sd vfat rw

Thanks in advance. Pavel.

1

1 Answer 1

1

I had exact same issue on my LG Volt when screen was broken. So first thing for sure you need to have enabled is "developer options" and USB debugging turned on.

Even when USB debugging is turned on when your computer will send encrypted digital key code for authentication you have to accept on your screen.

That's for security purpose.

There was one solution for enabling USB debugging but after that you have to confirm digital key code to access ADB shell... Etc...

1
  • Thank you for reply. Yep. According to this post we should append public key to file /data/misc/adb/adb_keys whether is done where we accept dialog on device. I did it. Also when I tried to put wrong key even recovery shown me unauthorized. So I forced to reflash it. But now recovery authorized normally while main system isn't. It still appeared as unauthorized.
    – AvoiDFaTE
    Dec 24, 2016 at 17:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .