Ring, ye bastard! Ring!

Kao da mi ih nije dosta otkad mi se sec zona corruptala i otkad sam ostao bez WLAN-a i Bluetootha, jučer sam otkrio novi problem na svom iPhoneu. Izgleda da, naime, pati od donekle raširenog problema za koji sve dok mi se nije dogodio uopće nisam čuo - propušta pozive kad je u sleepu!

Zapravo ih ne propušta, jer su - kad ga upalim - uredno evidentirani kao propušteni pozivi, sa Caller ID-jem i svime, nego jednostavno “ne zna” upaliti ekran, prikazati Incoming Call screen i početi zvoniti ili vibrirati kad ga netko nazove dok je u sleepu.

Ono što je najzanimljivije u čitavoj priči jest da se to događa samo i isključivo ako je iPhone na baterijskom napajanju. Ako je spojen na punjač ili USB port, ekran se najnormalnije pali tijekom dolaznog poziva i telefon zvoni. Zanimljivo je i da, ako se telefon probudi iz sleepa pritiskom na tipku usred upravo dolazećeg poziva, uredno pojavljuje Incoming Call screen i telefon počinje zvoniti.

Prema nekim teorijama, uzrok problemu je hardverski - prema nekima defektan baseband, prema drugima problem u napajanju comm pločice. Ljudi su to zaključili na prilično tupav način: zato što zamjena comm boarda popravlja problem. To je otprilike kao da zaključite da je razlog rušenju vašeg stolnog stroja hardver jer - eto - zamjena matične ploče, procesora, RAM-a, tvrdog diska i grafičke kartice riješava problem.
Analizom baseband logova, zaključio sam da problem definitivno nije u hardveru, ili bar ne u basebandu, jer on svoj posao radi sasvim normalno. Kako to izgleda? Ovako…

Sa priključenim vanjskim napajanjem:

27989 recv[low]: OK
27989 send[low]: at+xdrv=0,20,0
27996 recv[low]: +XDRV: 0,20,0,0
27998 recv[low]: OK
64998 recv[call]: RING
65000 recv[reg]: RING
65002 recv[sms]: RING
65003 recv[low]: RING
65005 recv[pdp_ctl]: RING
65007 recv[pdp_0]: RING
65009 recv[pdp_1]: RING

65013 recv[call]: +CLIP…………………….
65013 evt: Sending internal notification kEventCallActive (0) params…………
65013 evt: Sending event kCallStateChangeNotification (1)
65013 clm: Current caller id info ……………
65013 evt: Sending event kIncomingCallerIdNotification (9)
65027 recv[call]: +XCALLSTAT: 1,4

Na baterijskom napajanju:

115459 mux: Enter low power mode.
115459 mux: Control channel sending PSC command (0 bytes).
115464 mux: Control channel received PSC response (0 bytes).
115515 reg: ………………………………………….. …..
115691 rm: exit low power
115691 mux: Exit low power mode.

115691 evt: Sending internal notification kEventExitingLowPower (15) params…………
160691 reg: ………………………………………….. ….
160691 reg: elapsedSecs = 45, elapsedAbsSecs = 0, gLowPowerTotalElapsedSecs = 45
160913 recv[call]: RING
160913 recv[reg]: RING
160913 recv[sms]: RING
160913 recv[low]: RING
160913 recv[pdp_ctl]: RING
160913 recv[pdp_0]: RING
160913 recv[pdp_1]: RING

160913 recv[call]: +CLIP…………………….
160913 evt: Sending internal notification kEventCallActive (0) params…………
160914 evt: Sending event kCallStateChangeNotification (1)
160914 clm: Current caller id info ……………
160914 evt: Sending event kIncomingCallerIdNotification (9)
160914 recv[call]: +XCALLSTAT: 1,4

Kao što se vidi iz priloženog, razlika između slučaja kad telefon normalno zvoni (iPhone spojen na vanjsko napajanje) i slučaja kad ne zvoni (iPhone na baterijskom napajanju) jest u tome što baseband na bateriji ulazi u štedni način rada (low power state), a na vanjskom napajanju ne. Međutim, u oba slučaja baseband uredno registrira poziv, šalje odgovor RING i notificira OS o pozivu i identitetu pozivatelja. Štoviše, na bateriji se neposredno prije poziva budi iz low power statea, baš kao što bi i trebao!

Do sad sam isprobao apsolutno sve što mi je palo na pamet i što se spominjalo kao moguće riješenje i nisam napravio apsolutno nikakav pomak. Jedina uspješna riješenja problema koja se ponavljaju po raznim forumima uopće nisu riješenja. Prvo je ostaviti iPod da s isključenim (stišanim) zvukom neprekidno svira u pozadini, što spriječava i telefon i baseband da uđu u sleep. I naravno ždere bateriju nenormalnom brzinom. Drugo je instalirati Summerboard i JohnTool Erice Sardun, što spriječava baseband da uđe u low power state i ne radi pod 1.1.1. Konačno, treće je riješenje već spomenuta zamjena comm boarda, što je riješenje u otprilike jednakom smislu kao što je amputacija glave lijek za gripu.

Iako zvuči posve nelogično, nekako sumnjam da je uzrok ovome isto u NOR-u, vrlo vjerojatno i sec zoni. No tu i dalje ne mogu napraviti ništa. Za sad mi ostaje samo čekanje da netko s Hackint0sha ili iPhone Elite foruma odgovori na postove, no nekako sumnjam da će biti nekih upotrebljivih ideja.

Ante Vukorepa

4 Responses to “Ring, ye bastard! Ring!”

  1. ikich Says:

    cini se da se sindrom “twin peaksa” s iphoneom nastavlja. neobjasnjivi “bugovi” korisnicima polako papaju zivce. no moj problem u usporedbi s tvojim je mala beba. naime, osim sto nikako ne mogu skinuti ukleti appsnapp, pojavio mi se novi banalan problem: kod svakog gasenja i paljenja telefonda moram nanovo upisivati postavke za gprs. suludo je to malo vec…. pozdrav

  2. luka Says:

    Ikic ovo sa gprsom je poznati problem, imas na hacikintoshu mini tutorial kako rijesito problem, ja sam ga rijesio sa services programom.
    a ti ante stvarno nemas srece :)

  3. iphone071 Says:

    nema mjesta sumnji, i do sada su nam pomagali u nevjerovatnim stvarima, tako da treba se bar u njih pouzdati, da ne ulazimo sad u religijske konotacije :) u svakom slucaju imas punu podrsku, a ako sta nasurfamo na forumima, javimo!

  4. mijo Says:

    Ja imam isti problem nece sa mi zvoni i mos ga j**** ako si rijesio problem molio bi te da mi mail-aš ili barem neki link neso Pozdrav

Leave a Reply