phhusson / treble_experimentations

Notes about tinkering with Android Project Treble
3.34k stars 657 forks source link

[OP 7T] Very weak vibrations / wrong durations #1024

Open natinusala opened 4 years ago

natinusala commented 4 years ago

On my OnePlus 7T (hotdogb), vibrations seem to only last for very little time, at the point where they are barely noticable when holding the phone.

I tried with one of my apps and the phone always vibrates the same way regardless to the value I give to the vibrate method... I went up to a 500ms vibration, no difference whatsoever

Any clue ? I am using stock vendor. Thanks !

phhusson commented 4 years ago

K, they probably have a "2d" vibrator which can also variate the intensity, not just duration. I guess they exposed it with custom HAL. Please give the list of those:

adb shell lshal

Le jeu. 19 déc. 2019 à 14:36, Nathan S. notifications@github.com a écrit :

On my OnePlus 7T (hotdogb), vibrations seem to only last for very little time, at the point where they are barely noticable when holding the phone.

I tried with one of my apps and the phone always vibrates the same way regardless to the value I give to the vibrate method... I went up to a 500ms vibration, no difference whatsoever

Any clue ? I am using stock vendor. Thanks !

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/phhusson/treble_experimentations/issues/1024?email_source=notifications&email_token=AAAA4OXLLDZCBATDG3HHDX3QZN2HJA5CNFSM4J5GOFCKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IBUTQYQ, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAA4OVBFLZRH6T3IJDWNV3QZN2HJANCNFSM4J5GOFCA .

natinusala commented 4 years ago

Here it is : https://pastebin.com/5YAKzfiZ

phhusson commented 4 years ago

Hum nothings looks obvious.

Could be:

I'm downloading OP7T firmware to reverse those and see if they seem related to vibrator.

Le jeu. 19 déc. 2019 à 16:37, Nathan S. notifications@github.com a écrit :

Here it is : https://pastebin.com/5YAKzfiZ

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

natinusala commented 4 years ago

Cool thanks a lot !

phhusson commented 4 years ago

Okay, I found this in oneplus-services.jar:

private String mVibratorIntensityPath = "/sys/class/leds/vibrator/vmax_mv";
        if ("dumpling".equals(str) || "cheeseburger".equals(str)) {
            this.mVibratorIntensityPath = "/sys/class/timed_output/vibrator/vmax_mv";
        }

The values written to this file are 580, 1508, 1910 or 1726 depending on the vibration pattern. Let's start by trying all those values.

natinusala commented 4 years ago

Sadly none of the files above exist (using the stock kernel)