Saturday, October 29, 2022

Best VR player for Android (VLC based)

I tried many SBS video players for my VR headset but none seems to provide satisfactory experience. Most players on PlayStore are not satisfactory so i stopped looking for them on PlayStore. I tried to search forums and the search finally ended. Someone has made a vr player which satisfied my requirement and also the player is robust because its derived from VLC player.

The player is open source and available here https://github.com/autoandshare/HeadVR


The player has been published on playstore





Features (excerpt from website):


- Support touch control, bluetooth controller and head control

- Controlled by head motion, e.g., nod to play/pause. (Gyroscope sensor is necessary)

- Support playlist, viewing all the video's without taking off headset.

- Support most multimedia files with underlying libvlc.

- Local and network resources.

- Rich settings to make video comfortable to eyes.

- Force2D mode for stressful 3D video's.

- Support audio and subtitle selection.


I tried the this player and it simply shows the video in sbs etc formats instead of asking for cardboard etc settings. SBS can be customised and all we need is to align the lenses and the visuals are according to our needs. Side By Side is simple format and it should be flexible to move center, left right frames, shape and size of video. Every person has different head, eyes, nose etc and they must be able to adjust the video instead of using a prefixed setup. This simple thing is hard to find but this player does it well. However settings are very irritating because the settings UI is not available within the player screen. Every change in setting requires stopping of video and returning to settings window.

Anyone with coding skills can modify source and adjust the player for personal needs.




Wednesday, October 5, 2022

Remove pattern lock or pin from Motorola etc Androids.

My phone was locked by a kid who forgot the password and i was not able to log into device. I was stuck at pin input screen. The recovery mode was also showing empty with a dead robot and "no command" screen.


IMPORTANT:

This is not the only way to remove pin, pattern lock. It only shows information for those who understand fastboot, adb etc stuff. Below is only required when OEM unlock is not set from developer options. This also removes all user data. However ways to keep user data exist and still remove password but that is not intention of this article.

 

Before reading further you must read following subjects/methods to understand any further. Its not useful to re-write existing things again and again.

 

- Install adb on you OS.

- How to boot into fastboot mode on your device.

- Knowing more about your device.


Th device was secured using google account and "OEM Unlock" option was also not set from developers options!. While doing ./fastboot getvar all from shell returned following info. [I_REMOVED_IT] shows text i have removed to prevent showing personal IDs.


./fastboot getvar all > info.txt
(bootloader) version: 0.5
(bootloader) version-bootloader: (removed)
(bootloader) product: sanders
(bootloader) board: sanders
(bootloader) secure: yes
(bootloader) hwrev: P4
(bootloader) radio: 2
(bootloader) storage-type: emmc
(bootloader) emmc: 64GB SAMSUNG RC14MB RV=08 PV=07 FV=0000000000000007
(bootloader) ram: 4GB SAMSUNG LP3 DIE=8Gb M5=01 M6=05 M7=00 M8=5F
(bootloader) cpu: MSM8953
(bootloader) serialno: [I_REMOVED_IT]
(bootloader) cid: 0x0032
(bootloader) channelid: 0xc0
(bootloader) uid:[I_REMOVED_IT]
(bootloader) securestate: oem_locked
(bootloader) iswarrantyvoid: no
(bootloader) max-download-size: 534773760
(bootloader) reason: Reboot mode set to fastboot
(bootloader) imei: [I_REMOVED_IT]
(bootloader) meid:
(bootloader) date: 11-16-2017
(bootloader) sku: (removed)
(bootloader) carrier_sku:
(bootloader) battid: [I_REMOVED_IT]
(bootloader) iccid:
(bootloader) cust_md5:
(bootloader) max-sparse-size: 268435456
(bootloader) current-time: "Thu Jan  1  2:36:19 UTC 1970"
(bootloader) ro.build.fingerprint[0]: motorola/sanders_n/sanders_n:8.1.0
(bootloader) ro.build.fingerprint[1]: (removed)
(bootloader) ro.build.fingerprint[2]: -keys
(bootloader) poweroffalarm: 0
(bootloader) ro.build.version.full[0]: Blur_Version.2*****.12.sanders.re
(bootloader) ro.build.version.full[1]: tail.en.US
(bootloader) ro.build.version.qcom: ******removed*******
(bootloader) version-baseband: M8953_52.61.07.98R SANDERS_INDIADSDS_CUST
(bootloader) kernel.version[0]: Linux version 3.18.71-perf (hud
(bootloader) kernel.version[1]: soncm@ilclbld57) (gcc version 4.9.x 2015
(bootloader) kernel.version[2]: 0123 (prerelease) (GCC) ) #1 SMP PREEMPT
(bootloader) kernel.version[3]:  Tue Aug 13 15:23:08 CDT 2019
(bootloader) sbl1.git: git=MBM-NG-VC2.12-0-g698fb2f
(bootloader) rpm.git: git=92e5e21-dirty
(bootloader) tz.git: git=d95e83f
(bootloader) devcfg.git: git=d95e83f
(bootloader) keymaster.git: git=d95e83f
(bootloader) cmnlib.git: git=d95e83f
(bootloader) cmnlib64.git: git=d95e83f
(bootloader) prov.git: git=d95e83f
(bootloader) aboot.git: git=MBM-NG-VC2.12-0-g07ff23c
(bootloader) frp-state: protected (144)
(bootloader) ro.carrier: retin
(bootloader) current-slot:
(bootloader) slot-suffixes: _a
(bootloader) slot-count: 1
(bootloader) slot-successful:_a: INVALID
(bootloader) slot-successful:_b: INVALID
(bootloader) slot-bootable:_a: INVALID
(bootloader) slot-bootable:_b: INVALID
(bootloader) slot-retry-count:_a: unknown
(bootloader) slot-retry-count:_b: unknown


In this result securestate: oem_locked shows oem is locked. Bootloader was locked and to unlock it i created motorola id and requested UNLOCK KEY. However the unlock key was also not enough. After getting unlock key i tried to unlock -


fastboot oem unlock [MY_UNLOCK_KEY]
(bootloader) WARNING: This command erases all user data.
(bootloader) Please re-run this command to continue.
OKAY [  0.000s]
Finished. Total time: 0.000s

fastboot oem unlock [MY_UNLOCK_KEY]
(bootloader) Check 'Allow OEM Unlock' in Android Settings > Developer
(bootloader) Options
OKAY [  0.016s]
Finished. Total time: 0.016s


"(bootloader) Check 'Allow OEM Unlock' in Android Settings". One simple solution to this is erase user data. WARNING: It will wipe out all data. 


Run following commands to erase user data when recovery mode doesn't  show any options.


fastboot oem fb_mode_set

fastboot erase cache

fastboot erase userdata        [THIS PART DELETES USER DATA]

fastboot oem fb_mode_clear


reboot. More data can be erased above or simply find the relevant file to erase the PIN or PATTERN lock related information.

 

The device will be reset and if it was protected using Google account then SAME account will be required to login again otherwise device won't start for new users. Internet is NEEDED after reboot.