Modemul GSM ZTE MF180 a căzut într-un fel în mâinile mele. Este ceva din cele mai ieftine. Și, în cele din urmă, a venit timpul, a decis să folosească acest miracol al industriei modemului chinez pentru a comunica cu un obiect la distanță în jurul căruia nu există nicio altă infrastructură de rețea și nu este prevăzută în următorii 50 de ani.
O dată voi spune că Wahlbergs sunt foarte ciudate pentru mine, și anume, am decis să folosesc apelurile vocale pentru a controla anumite funcții ale dispozitivului. Ei bine, să spunem, nu la sfârșitul vocii, dar totuși provocările, adică când numim numărul pe care este înregistrat dispozitivul nostru, trebuie să reacționeze cumva la apelul primit. Și nu numai, și chiar nu atât de mult în apel, pentru a finaliza apelul, și în funcție de condițiile de activare a diferitelor funcții. Pe de altă parte, dispozitivul ar trebui să poată să se sune, iar deja o maimuță bipedală pe cealaltă parte sau exact același sistem automatizat, la rândul său, reacționează cumva la ea.
Ofono - periferice pentru server de administrare GSM
Tovarășii de la Maemo Nokly și Stude au scris o piesă atât de amuzantă ca ofono. Serviciul funcționează cu diferite familii de modemuri și este controlat prin interfața bus DBUS. Modemul meu a fost sprijinit de mult timp, cu toate acestea, am fost oarecum deranjat când am realizat că interfața de apeluri vocale nu este disponibilă. Pe site-ul am citit că pentru astfel de modemuri GPRS numai în principiu nu este disponibil. Desigur, am fost indignat, pentru că am reușit deja să comunic cu dispozitivul printr-o consola serial în minicom. Au existat rapoarte despre apelurile primite și terminarea apelului, iar comanda AT + CLCC a funcționat, de asemenea. raportarea corectă a apelurilor curente. Am încercat chiar să mă chem (AT + 7 ×) și să resping apelurile (ATH), totul a fost în vigoare. Fără să mă gândesc mult timp, am decis să ajung la fund și să-mi aduc serverul la nevoile mele.
Vorkaerund: Activați serviciul de voce vocală
Serviciul de apel vocal a apărut de îndată ce am adăugat o linie în plugins / zte.c la funcția zte_pre_sim:
Pentru a testa serviciile dbus, folosesc de obicei instrumentul util mdbus2. care este în orice distribuție. Totul a început să funcționeze, după ce a pornit dispozitivul, am putut să-l sun și să primesc notificări:
Vorkaerund al doilea: rezolvăm problema notificării anulării apelurilor
Cu toate acestea, bucuria nu a durat mult, cu anularea apelului, semnalul de anulare nu a venit o dată, iar acest lucru a fost alarmant. Apoi am început serverul în modul de depanare și am început să caut:
Și am văzut un lucru curios, bineînțeles, în afară de orice altceva, pe care îl afișează acolo și arată multe lucruri de acolo:
Mesajul grep a fost găsit în drivere / atmodem / voicecall.c în funcția clcc_poll_cb. care analizează răspunsul modemului la comanda AT + CLCC. Aici este necesar să se explice faptul că serviciul primește informații despre starea apelurilor primite în diferite moduri, inclusiv prin pollingul direct al stării modemului prin lansarea periodică de către comandă în sine, acest lucru fiind făcut din motive de compatibilitate. Și acum cel mai interesant este ceea ce este înainte de ieșirea acestor mesaje (pentru a salva efectul pe care îl aduc întregul bloc în ansamblu):
Iată un astfel de Kvalkomm, aici sunt pentru dvs. asemenea comunicări calitative, greșeli pentru care, în ordinea lucrurilor, tragem concluzii, tovarăși. Se pare că suntem norocoși, nu mai puțin, de la dezvoltatorii de a se potrivi pentru ZTE. care, apropo, pune chips-uri ale acestei QualKomma.
Aici am decis să abordez soluția problemei prin curtea din spate, chiar nu am vrut să editez codul de referință (sau nu) implementarea protocolului atmodem. Amintiți-vă că am activat serviciul de voce vocală, deci am trecut 0 ca al doilea parametru, iar acest lucru nu este altceva decât idiomul furnizorului, așa că pur și simplu mergem acolo OFONO_VENDOR_QUALCOMM_MSM. și vom fi fericiți, sper.
Testele au aratat ca totul functioneaza exact asa cum a fost planificat, asa incat norocul, camarazii si hacking-ul fericit.