Minskad WLAN batterianvändning - tiwmod

Diskussion i 'Applikationsutveckling' startad av FlyBob, 21 nov 2009.

  1. FlyBob

    FlyBob Senior Droid Medlem

    Blev medlem:
    5 jun 2009
    Inlägg:
    1 367
    Mottagna gillanden:
    30

    MINA ENHETER

    OBS! Endast utvecklat och testat på HTC Magic, andra användare får gärna pröva!

    Jag har ett bra tag lurkat på hur jag kan minska effektåtgången för WLAN under dom förutsättningarna jag har;

    * Bra styrka i AP
    * Bara användning på förutbestämda platser
    * Batteri före Bandbredd
    * Långsammare WLAN är lugnt, mobilen är långsam.
    * Bibehållen funktionalitet

    Som durd tipsde mig om i en annan tråd (https://swedroid.se/forum/showthread.php?t=3445) så går det att göra en hel del optimeringar och ändringar av WLAN effekten och användandet.

    Resultatet av detta är att jag har slaktat /etc/wifi/tiwlan.ini och gjort en hel del ändringar under ett antal timmar nu med testande. Resultat och ändringar gjorda:

    - Uteffekten per kanal minskad till 75%
    - Minskad uteffekt vid scan till 80%
    - Uppgraderat Power save till UPSD protokollet
    - Stängt av Early Wakeup
    - Fixat Spectrum Energy Detection.
    - Minskat tiden till PowerSave
    - Minskat timeout till PowerSave

    På svenska: Mindre effekt vid sändning samt mer tid i djupare sovlägen. Detta resulterar i något sämre kommunikation vid svaga accesspunkter samt högre latency. Vad detta skall ge är längre batteritid vid WLAN-användning helt enkelt.

    Jag hittar fortfarande grannarnas nätverk med lika bra mottagning som tidigare. Märker inte någon som helst skillnad när jag surfar och eftersom jag inte gör något tidkritiskt som kräver latency (typ spelar CS) fungerar det mycket tillfredsställande för mig.

    Andra får väldigt gärna pröva och säga om ni hittar några fel, problem eller kraftigt minskad funktionalitet så skall jag försöka optimera denna fil till perfektion! Tar lite tid att sätta mig in i allt men det kommer mer och mer.

    Jag tar absolut inget ansvar för något, även om inget kan hända!

    Ingrepp:
    Tanka ner senaste verisionen här: flybob.mine.nu/www-pub/tiwmod/

    adb pull /etc/wifi/tiwlan.ini tiwlan_orig.ini
    adb push tiwmod.ini /etc/wifi/tiwlan.ini

    Starta om WiFi, enjoy mer batteri.

    Fungerar det inte alls är det bara att återställa från backupfilen och allt är normalt igen. Det är bara en inställningsfil med lite text.
     
  2. dimaZ

    dimaZ Senior Droid Medlem

    Blev medlem:
    7 okt 2009
    Inlägg:
    1 035
    Mottagna gillanden:
    217
    Operatör:
    Fello
    Telefon:
    Samsung Galaxy S22 Ultra

    MINA ENHETER

    Operatör:
    Fello
    Telefon:
    Samsung Galaxy S22 Ultra
    Telefon 2:
    OnePlus 8 Pro
    Har du fått några mätbara resultat?
    Räcker batteriet längre nu, och isåfall hur mycket längre tror du?
     
  3. FlyBob

    FlyBob Senior Droid Medlem

    Blev medlem:
    5 jun 2009
    Inlägg:
    1 367
    Mottagna gillanden:
    30

    MINA ENHETER

    Inga resultat alls, väldigt svårt att mäta... Beror på användning av wlan också, jag har igång det hela dagarna så jag bör spara en hel del. Kan försöka mäta med normal användning två dagar för att se förbrukning, men svårt är det!

    Ang förbrukning; WLAN brukar stå för ca 20% av min förbrukning, om jag lyckas minska detta till 10% så är jag grymt nöjd. Det borde innebära några fler timmar ivf. Sen har jag div andra optimeringar på 3g och cpu också som skall ge mig mer... mumma!
     
  4. durd

    durd Youth Droid Medlem

    Blev medlem:
    23 okt 2009
    Inlägg:
    187
    Mottagna gillanden:
    20

    MINA ENHETER

    Har inte testat (varit upptagen med öl-kodning), men några kommentarer iaf..
    Du har inte tänkt att köra bara A/G med tanke på den artikeln jag hitta förut?
    Varför inte minska uteffekter mer än bara till 75/80% ?

    Bara jag som tycker det är kul att wlan-kortet kan lira QoS? Och vad är det för IP-adresser som är förinställda för det?

    Btw, vissa av dina kommentarer stämmer inte överens med ändringarna i 0.5 :)

    Nu ska jag äta klart min kebab, och sova, gonatt! Kul att du varit produktiv :D Ska testa imorn/i veckan
     
  5. Qwerto

    Qwerto Infant Droid Medlem

    Blev medlem:
    17 nov 2009
    Inlägg:
    9
    Mottagna gillanden:
    0

    MINA ENHETER

    Dessa konfigureringar är alltså vendorspecifika. Vet du vad det är för wlanchip i din HTC Magic? Hela konfigurationsfilen var allmänt svårbegriplig. Finns det någon bättre dokumentation till den?

    Varför använder du UPSD? WiFiWmmPS är en variabel som du inte satt. Ska du köra wmm ps eller inte? Vad har du för AP? Klarar den wmm ps? Du bör göra en snifferlogg för att veta vad som händer då du sätter dessa parametrar. Jag tittar gärna på den.

    Då du sätter ner din sändeffekt bör du se till att inte dina omsändningar blir fler. Då kan din strömförbrukning öka. Lägre throughput är en stor indikation på att det är fler omsändningar. Verifiera med en snifferlog återigen. I hemmamiljö borde det vara väldigt få omsändningar tycker jag. Det borde vara en adaptiv algoritm där som beskrevs i förra tråden (https://swedroid.se/forum/showthread.php?t=3445) du är ute efter, men där är du säkert utelämnad till din wlanvendor..

    Roligt initiativ annars. Hoppas du lyckas med just dina förutsättningar...
     
  6. FlyBob

    FlyBob Senior Droid Medlem

    Blev medlem:
    5 jun 2009
    Inlägg:
    1 367
    Mottagna gillanden:
    30

    MINA ENHETER

    Det jobbiga med dokumentationen är att det inte finns någon, jagade som ett djur efter information om den igår men fick resultera i att jag fick tolka inställningarna till vad de kan betyda samt undersöka om det är något jag är intresserad av.. jobbigt värre.

    Valet stod mellan UPSD och Legacy, och rent intuitivt antar jag att Legacy inte är lika effektivt som UPSD. Min AP är WRT54 med Tomato.

    Hade inte en aning om vad Wmm vad, skall kolla upp det mer. Var lite orolig för kommentaren: "Use 1 on WiFi test in order to configure PS to work in WMM mode"

    Det värsta är att kommentarerna inte stämmer helt med vad som står, någon har ändrat innan mig, men vet inte varifrån det kommer... lite meckigt.

    Anledningen till bara 75/80% var ett val.. kan lika gärna strypa till 50%, inga problem.

    Kanske göra ett program som kan utföra modifikationerna mha root? Borde ju fungera faktiskt... så kan alla själv hitta sin optimala lösning. Vad tror ni om det, intressant?
     
  7. Qwerto

    Qwerto Infant Droid Medlem

    Blev medlem:
    17 nov 2009
    Inlägg:
    9
    Mottagna gillanden:
    0

    MINA ENHETER

    wmm är alltså wireless multimedia extensions, för att skicka prioriterad trafik - voice, video, background, best effort. Din broadcombaserade wrt54g har inte stöd för det vad jag vet. Kul att du kör med Tomato, själv är jag OpenWRT-användare...

    wmm ps (ps=power save) är som det låter. Eftersom beacons normalt skickas med ca 100ms mellanrum så funkar inte power save med tex voice, då du vill ta emot paketen med ca 20ms mellanrum. Var 20ms går du då upp i aktivt läge och skickar ett "poll"-paket som hämtar hem voicedata.

    Eftersom din AP inte stödjer wmm ps kommer din din telefon att gå tillbaka till legacy ps ändå, vilket alla APs förstår. I ditt fall tror jag det är minst lika effektivt.

    Kan du berätta om hur du använder ditt wlan? Surfar mycket? samtal? video? eller kanske mest tyst och det drar mycket ström ändå?
     
  8. FlyBob

    FlyBob Senior Droid Medlem

    Blev medlem:
    5 jun 2009
    Inlägg:
    1 367
    Mottagna gillanden:
    30

    MINA ENHETER

    Enligt http://focus.ti.com/pdfs/bcg/80211_wp_lowpower.pdf bör jag spara energi vid användning av dual-mode istället för b/g bara.

    Andra ändringar nu är att WMM är påslaget, då det bara var halvt igångsatt sen tidigare. Dock vettefan om det är nödvändigt, har inte hittat något om hur det påverkar förbrukningen. TCS fungerar fortfarande inte, tråkigt.

    Mindre utsändningar och ännu svagare vid scan, längre väntetid mellan probes.

    Stora ändringen är att a-mode nu körs, så vi tuffar i a/g dual mode (och b då eftersom g kan växla dit). Vi har helt enkelt ännu mer band att köra på och fler kanaler att välja på och en kraftigt minskad effektförbrukning _per bit_, då 802.11b står för bajs... ish.

    Har spanat på nättrafiken och ser ännu inga problem med alldeles för många tappade paket eller för långa vänteperioder. Skall försöka genomföra "jättebra" undersökningar i veckan angående förbrukning så skall vi se om mina ansträngningar har gett något resultat öht.

    QoS data:

    IPPortClassifier00_IPAddress = 0a 03 89 02 # (IP address 10.3.137.2)
    IPPortClassifier00_Port = 5001
     
  9. FlyBob

    FlyBob Senior Droid Medlem

    Blev medlem:
    5 jun 2009
    Inlägg:
    1 367
    Mottagna gillanden:
    30

    MINA ENHETER

    Jag använder främst mitt wlan i skolan eller i hemmet, samma typ av användning.

    Mycket data | Lång tystnad | Synka lite | Lång tystnad

    Därför vill jag ha effektiv och lång sömn så jag kan ha wlan påslaget 24/7 utan att det skall suga slut mitt batteri efter 8 timmar.
     
  10. Qwerto

    Qwerto Infant Droid Medlem

    Blev medlem:
    17 nov 2009
    Inlägg:
    9
    Mottagna gillanden:
    0

    MINA ENHETER

    Klarar din WRT54G verkligen av a-bandet, dvs 5GHz? Det tror inte jag. Det spelar dock ingen roll, för det är hastigheten som är den viktiga, inte frekvensen. Du ser sambanden i figur 6 i din länk.

    Det verkar vara Texas instruments som gjort wlanchippet, och de ligger inte (eller iaf låg int) i topp på listan över de strömsnålaste wlanchippen. Jag vet inte hur mycket det skiljer, men då du inte är uppkopplad ska det inte dra mycket ström alls om det är ett bra chip.

    Med din användning ska du hitta variabler som skannar sällan då du är ouppkopplad, och inte lyssnar på varje beacon då du är uppkopplad.

    Testa dessa:
    BeaconListenInterval - testa sätt upp den något, kanske 3 eller 5?
    Sätt också upp dtim på din AP om möjligt.

    Kolla vad denna betyder: BeaconReceiveTime = 50

    Ligger din/dina APs på samma kanal kan du enbart ha med denna i denna parameter:
    FirstConnScanBandB_ChannelList

    Om du vill upp snabbare på 54Mbit/s för lägre strömförbrukning kan det vara värt att titta på dessa:
    #Rate adaptation
    RateContThreshold = 10
    RateStepUpThreshold = 2 # kanske ska du sätta denna till 1?
    FBShortInterval = 40
    FBLongInterval = 200
    RateAdaptationTimeout = 300
     
  11. FlyBob

    FlyBob Senior Droid Medlem

    Blev medlem:
    5 jun 2009
    Inlägg:
    1 367
    Mottagna gillanden:
    30

    MINA ENHETER

    Testat nu med min normala användning och senaste verisionen är sämre!

    5 timmar - 35% Batteri - 28% av detta WLAN
    WLAN påslaget hela tiden, lite smått mailkoll, två telefonsamtal... dreadful!

    Nu har jag bytt till en tidigare verision som kan fungera bätter (Inget A-band) och testen fortsätter.

    Ungefär lika dåligt då med... ska pröva ytterligare varianter imorgon. Skolans wlan är dessutom lite smått elakt och håller min telefon vaken längre än vad jag vill, vi får se vad resultaten blir.
     
    Last edited: 23 nov 2009
  12. Qwerto

    Qwerto Infant Droid Medlem

    Blev medlem:
    17 nov 2009
    Inlägg:
    9
    Mottagna gillanden:
    0

    MINA ENHETER

    Din senaste version kanske är sämre under dåliga trafikförhållanden, som det kan vara i skolan med massor av enheter. Omsändningar är i allmänhet dåliga. Det går inte att säga något utan en luftlogg.
     
  13. FlyBob

    FlyBob Senior Droid Medlem

    Blev medlem:
    5 jun 2009
    Inlägg:
    1 367
    Mottagna gillanden:
    30

    MINA ENHETER

    25-29% ligger förbrukningen av wlan på under alla försök; förutom dagens genombrott. Plötsligt har jag gått ner till 17% genom att _inaktivera_ alla häftiga strömspar, QoS och dylikt. Den har extremt mycket längre sovtider och uteffekten är nere på 50%, vilket tyvärr blev lite för lite och jag hade problem med att nå.

    Fortfarande ligger det stora jobbet i att minska förbrukningen under standby och hålla den där under längsta möjliga perioder. Börjar inse hur jag skall göra en app som kan applicera inställningar lite lättare, kanske enligt profiler, för att slippa detta eviga ändrande via dator och adb samt kunna uppdatera vid miljöbyten.

    Testar vidare, byter inställningar 2ggr per dag och utvärderar hur dom beter sig för att hitta det mest optimala för att kunna ha igång wlan 24/7.