3

I have a friend staying over and he has an android tablet: winok model w77

The tablet is stuck on a boot loop and I am trying to get it working again however nothing I have done so far has been of any help.

If I turn the tablet on then it goes to the splash screen (of manufacturer) and it will stay there until I turn it of or the battery drains

Pressing volume down + power has no effect

Pressing volume up + power button shows the splash screen, then the android image with a gear on it for a fraction of a second to then go to the android dead image, no options in between nor after, pressing on anything or combination of anything has any effect, tapping on any area of the screen has no effects

ADB

ADB works in both while normal boot (although in a loop) and in recovery SHELL works only in normal boot SHELL in recovery says:

- exec '/system/bin/sh' failed: No such file or directory (2) -

I am guessing previous is because partition is not mounted, adb remount says:

remount failed: Success

After reading a while I notice some people saying about the dalvik-cache causing problems, since I don't have any automated options like mentioned in many posts I tried by going into normal boot then

adb shell
rm -r /data/dalvik-cache
rm failed for /data/dalvik-cache, I/O error

I suppose is because it is in use? or maybe corrupted?

Also getting Segmentation fault on recovery:

adb shell
recovery
Segmentation fault

The device was not modified in any way from the manufacturer

There are only 3 buttons volume up and down and power

Battery is not removable

From here I really don't know what to do, is there no way to fix this thing?

The manufacturer does not answer emails, they don't have a phone and don't even have a support page on their website so I can't get any type of support from them, does anyone here has something I have not tried?


---EDIT---

@Izzy, following your message about formatting the data and cache partitions:

format and factory_reset commands were not available in my tablet, after searching around I found a way to format the partitions on my device link thanks also go to raskolnik from that link, I have also kept a copy of the sdparted zip so if the link on that page stops working send me a PM and I will send you a copy, that link describes the general usage but here is what I had to do:

127|root@android:/dev/block # mount
mount
rootfs / rootfs rw 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600,ptmxmode=000 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
/dev/block/nandd /system ext4 rw,nodev,noatime,user_xattr,barrier=0,data=ordered 0 0
/dev/block/nande /data ext4 rw,nosuid,nodev,noatime,user_xattr,barrier=0,journal_checksum,data=ordered,noauto_da_alloc 0 0
/dev/block/nandh /cache ext4 rw,nosuid,nodev,noatime,user_xattr,barrier=0,journal_checksum,data=ordered,noauto_da_alloc 0 0

From the above I was able to recognize the data and cache partitions as nande and nandh respectively so I then ran

1|root@android:/dev/block # parted /dev/block/nandh mkfs ext2
parted /dev/block/nandh mkfs ext2
Warning: The existing file system will be destroyed and all data on the
partition will be lost. Do you want to continue?
parted: invalid token: ext2
Yes/No? yes
yes
yes
Partition number? 1
1
1
File system type?  ext2? ext2
ext2
ext2
Information: You may need to update /etc/fstab.

root@android:/dev/block # parted /dev/block/nande mkfs ext2
parted /dev/block/nande mkfs ext2
Warning: The existing file system will be destroyed and all data on the
partition will be lost. Do you want to continue?
parted: invalid token: ext2
Yes/No? yes
yes
yes
Partition number? 1
1
1
File system type?  ext2? ext2
ext2
ext2
Warning: File system has errors!  You should run e2fsck.
Ignore/Cancel? Ignore
Ignore
Ignore
Information: You may need to update /etc/fstab.`

As recommended per the script above I then ran e2fsck

16|root@android:/dev/block # e2fsck nande
e2fsck nande
e2fsck 1.41.6 30-May-2009
nande is mounted.

WARNING!!!  Running e2fsck on a mounted filesystem may cause
SEVERE filesystem damage.

Do you really want to continue y/n? y

Hell yes, I now got nothing to loose so yes

yes
nande contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Inode 2131 is in extent format, but superblock is missing EXTENTS feature
Fix y? yes

Inode 2131, i_blocks is 584, should be 146.  Fix y? yes
yes

Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Unattached inode 2131
Connect to /lost+found y? yes

Inode 2131 ref count is 2, should be 1.  Fix y? Fix
yes

Pass 5: Checking group summary information
Block bitmap differences:  +4706--4726 +4928--4959 +5824--5832 +19478--19488
Fix y? y
yes

Free blocks count wrong for group #0 7660, counted=7598.
Fix y? yes

Free blocks count wrong for group #2 (7678, counted=7667).
Fix? y
yes

Free blocks count wrong (982715, counted=982642).
Fix? yes

Inode bitmap differences:  +2131
Fix? y
yes

Free inodes count wrong for group #0 (4085, counted=4084).
Fix? yes

Free inodes count wrong (524277, counted=524276).
Fix? y
yes


nande: ***** FILE SYSTEM WAS MODIFIED *****
nande: 12/524288 files (8.3% non-contiguous), 65934/1048576 blocks
1|root@android:/dev/block #
1|root@android:/dev/block # ^C
C:\Program Files (x86)\Minimal ADB and Fastboot>adb reboot

So I was done at this point and rebooted the device hoping for the best and got the same splash screen so

C:\Program Files (x86)\Minimal ADB and Fastboot>adb devices
List of devices attached
20080411413fc082        device

C:\Program Files (x86)\Minimal ADB and Fastboot>adb shell
root@android:/ # cd data
cd data
root@android:/data # cd dalvik-cache
cd dalvik-cache
root@android:/data/dalvik-cache #

Bingo I now have access to the dalvik-cache folder and after a little wait ~5 min the device started, all data is lost but the device is functioning, thank you @Izzy again for going along on the troubleshooting with me!! :)

  • Our edits just crossed, sorry. Feel free to edit again, take a look at my formatting. Basically, it was enclosing code blocks by <pre>..</pre> or indenting code lines by 4+ spaces. // I'd say move the big "detailed process" to a pastebin for reference. It's too much to be included. Maybe I take the most relevant lines (e.g. from mount) into my answer, but we probably don't need the complete output inline :) – Izzy Jun 2 '14 at 0:04
0

Summarizing the solution from the comments:

The cause of trouble was a corrupted file system: not being able to delete files from the cache turned out being caused by the system not being able to access them. From the comments:

ls /data/dalvik-cache gives me /data/dalvik-cache: I/O error

With the trace showing an error to even stat the directory, a wipe showed similar errors in many other places (as it tried to delete all files and directories recursively). So options were to re-format the file system of /data in the hope it was only the file system being corrupted (and not the block device itself). Different approaches here. Though most of them failed somehow, I'll list them all – as on a different device things might look different, and one of them might succeed though it did not here:

  • booting to recovery and issuing a factory-reset (or with a custom recovery, even directly formatting the affected partitions) was not a way to go, as it was impossible to even boot into recovery
  • fastboot -w, fastboot format userdata, fastboot format cache had to be sorted out as well, as the device didn't boot into mode
  • luckily, the device was able to be accessed via , so
    • adb shell wipe data; adb reboot; failed as described above (tried to "delete" instead of formatting)
    • some places mention format CACHE:, format DATADATA:, and format DATA: via adb shell, which initially failed here as format was not a recognized command
    • same for the factory_reset command available on some devices

      hint: ls /system/bin and ls /system/xbin are pretty helpful to figure what commands are available on the device

    • last resort was to figure the file system parameters via mount (or checking /init.rc, or other means), and then using the corresponding mkfs command to manually re-format the partition.
root@android# mount
[…]
/dev/block/nande /data ext4 rw,nosuid,nodev,noatime,user_xattr,barrier=0,journal_checksum,data=ordered,noauto_da_alloc 0 0
/dev/block/nandh /cache ext4 rw,nosuid,nodev,noatime,user_xattr,barrier=0,journal_checksum,data=ordered,noauto_da_alloc 0 0

root@android# parted /dev/block/nandh mkfs ext2
# bunch of warnings etc. here, all suggestions approved with "yes"

root@android# parted /dev/block/nande mkfs ext2
# same game as with nandh

root@android:# e2fsck nande
# again confirm to fix each inode

Returned to the command prompt on the PC:

adb reboot

And the device came to the splash, took a few minutes building up the Dalvik cache again, and then booted fine!


One thing you might have noticed is a minor difference: mount reported the partitions as ext4, while Tlacaelel then formatted them ext2. Both are variants of ExtFS, with ext4 definitely being the newer one, so this shouldn't be a real issue.


Further readings and references:

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.