Pil şarj olurken tam olarak ne oluyor?

Başlatan Aequitas, 03 Nisan 2016 - 00:22:29

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Aequitas

Diyelim ki bilgisayarı şarja taktım, o esnada pil göstergesi şarj olduğunu göstermeye başlıyor ve pil yüzdesi şarj oldukça artıyor.
/sys/class/power_supply içinde bu verilerin olduğu dosyalar var ve sürekli donanımsal veriyi okuyup güncelleniyor, mesela yüzdesini gösteren dosyadaki değer kaç ise pil göstergesindeki değer o oluyor.
Benim merak ettiğim, şarja taktığımı algılayıp o dosyaların içindeki verilerin değişmesini sağlayan şey ne? Şarja bağladığımı nasıl algılıyor?
Niye merak ediyorum diye soracak olursanız, cep telefonum (Note 2 N7100) touchwiz tabanlı rom yüklediğimde şarja bağladığımı algılamıyor, ancak şarjdayken yeniden başlatırsam o zaman şarj olduğunu algılıyor. Sanırım şarja bağladığımda burada bir şeyler ters gidiyor ve döngü o anda kilitleniyor.
Ama cyanogenmod türevi AOSP rom yüklersem bu sorun yok.
İşin temelinde ne var çözebilirsem bunu da halledebiliriz diye düşünüyorum.
Umarım bir şeyler yapabiliriz bu konuda.


Öfkelenmeyin.
           Hz. Muhammed (sav)

heartsmagic

Hani konuyu bilmiyorum ama alt yapısını anlasan bile yazılım kısmını düzenleyebilecek kadar programlama biliyor musun? Biri ki dosya düzenlemesi ile olabilecek bir şey gibi durmuyor bence. İlgili ROM geliştiricilerine durumu hata kaydı olarak geçmek daha makul bence.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

mhmtkrktr

Yeniden  başlattığında ilgili değerleri doğru olarak okuyorsa, yaşadığın sorun ( tahminen ) ortamın kendisini yenileyememesi gibi bir sorundur.

Örneğin font yüklediğin zaman font cache 'ini fc-cache -frv komutuyla, program yüklediğin zaman application dizinini update-desktop-database komutuyla veya şema oluşturduğun da glib-compile-schemas /usr/share/glib-2.0/schemas komutuyla şemanın oturumu yenilemeden aktif edilmesi gibi.

Donanımlar için de benzer bir komut vardı. Arch resmi forumda karşılaşmıştım ama şuan hatırlamıyorum. Bahsettiğim komut vb işine yararsa, söylediğin dosyada ki değişiklikler 5-10 dk gibi belirli aralıklarla kontrol edilip, komutun çalıştırılması sağlanabilir belki.

Bu arada gnome masaüstü kullanıyorsan, masaüstünü yenilemeyide deneyebilirsin. Bu sorunu çözmez ama nereye bakılacağı konusunda fikir verebilir gibi.

dbus-send --type=method_call --print-reply --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'global.reexec_self()'

Aequitas

#3
@heatsmagic, aslında haklısın ama bu romların bir tane sahibi yok. DN4 diye bir rom var, sonradan bir sürü kişi bu romu alıp kendine göre ekleme çıkarma yaparak farklı isimler ile sürmüş, dolayısı ile bunları yapan kişilerin de bu konuda çok detaylı bilgisi yok malesef. DN4 ü yapanlar ise artık destek vermiyorlar. Yine de onlara ulaşmaya çalışacağım. Ben hani android ile linux benzer mimariye sahip diye, linux bilgisi dahilinde sorunun kaynağını saptayabilir miyim acaba diye düşündüm. Zira net şundan dolayı sorun yaşanıyor diyebilirsek, çözüm için rom yapımcılarına çok daha spesifik bir soru yöneltebilirim.

@mhmtkrktr, sorunum bilgisayarımda değil, cep telefonumda. Linux ile androidin benzer dosya sistemi yapısı ve altyapısı nedeniyle buradan bir çözüm bulmaya çalışıyordum.
Örneğin linuxta acpi gibi güç yönetim modüllerini systemctl komutu ile denetleyebiliyoruz. Benzer şekilde android de systemd'yi kullanıyor ve sysctl komutu var ancak çok detayını öğrenemedim. Acaba yüklü olan kernel modüllerinde mi bir problem var diye, dmesg benzeri bir çıktı bulabilirsem veya sysctl'yi kullanmayı çözebilirsem oradan bir ipucu yakalamaya çalışacağım.
Zira bana da senin dediğin gibi kendini yenileyememesinden kaynaklanıyormuş gibi geliyor. Yani şarja taktığım anda bir şey bu yenilemeyi engelliyor gibi duruyor.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 03 Nisan 2016 - 22:51:06

Şu anda sorunun kernel kaynaklı olmadığını düşünüyorum. Zira şarja bağladığımda gösterge çalışmıyor ancak /sys/class/power_supply/max77693-charger/uevent dosyasında 1898mAh akım ile şarj olduğunu gösteriyor. Söküyorum, discharching diyor, takıyorum, charging diyor. Yani kernel pil verisini okuyup buraya gönderiyor. Sanırım sorun şarja bağladığım anda buradaki verilere göre GUI'de değişiklik olmaması, o noktada bir takılma söz konusu. Bu da içimi rahatlattı açıkçası. Ama GUI işin içine girince hiç anlamadığım bir yere odaklanmak zorunda kaldım şimdi.


Öfkelenmeyin.
           Hz. Muhammed (sav)