2012-10-12 27 views
10

Mam zadanie w pracy, aby sprawdzić, czy możliwe jest wysyłanie poleceń AT do urządzenia z systemem Android przez powłokę ADB. Do tej pory próbowałem wywoływać polecenia AT, ale przekazuję je jako normalne ciągi. Każda pomoc proszę każdemu.Wysyłanie poleceń AT za pośrednictwem ADB Android

+0

Nie sądzę, jest to możliwe. ADB nie jest modemem GSM – opc0de

+0

Wiem, ale widziałem podobny post, w którym ludzie wykonywali polecenia z powodzeniem z urządzeniem zrootowanym. –

+0

sprawdź to http://tech-papers.org/executing-at-commands-android-application/ –

Odpowiedz

2

Echo im gdzie? W Androidzie rozmawiasz z demonem (Radio Interface Layer), który z kolei rozmawia z autorską biblioteką, która wysyła polecenia do rzeczywistego sprzętu. Sprawdź rild kodu źródłowego, aby uzyskać szczegółowe informacje. Prawdopodobnie możesz napisać program wiersza poleceń, który będzie komunikował się z wersją rild i wykona ją przez powłokę adb, jeśli to pasuje do twoich potrzeb.

+0

Jest to rzeczywiście możliwe. Byłem w stanie uzyskać pracę pary i większość zwróciła prośbę OK. –

+0

Ponownie, echo je gdzie? Jakie polecenie wydałeś? ADB jest tylko środkiem do wykonywania polecenia powłoki w telefonie. Możesz być w stanie porozmawiać bezpośrednio z jakimś urządzeniem (lub podobnym), lub możesz nie być w stanie. W dużej mierze zależy to od konkretnego telefonu. –

6

Spróbuj tego:

echo -e "AT+CFUN=?\r\n" > /dev/ttyUSB0 

W telefonie linia szeregowa niekoniecznie musi być nazywany ttyUSB0. Jeśli to nie działa lub jest niedostępne, sprawdź inne wpisy katalogu /dev/.
Więc może to być również /dev/ttyGS0 lub /dev/SMD0 (jak dowiedziałem się @Sani).

W celu uzyskania dalszych informacji, proszę sprawdzić ten Guide


UWAGA:

Może być również telefony, które nie reagują na komendy AT na żadnym z ich urządzeniami szeregowymi (tty).
Po prostu wypróbowałem własną procedurę na Samsung Galaxy S4 i nie odniosłem żadnego sukcesu.

+0

Próbowałem tego i to nie działa. BDW moje urządzenie jest ukorzenione w gwiezie galaktyki –

+1

i MAMY GOTTEN działające rozwiązanie.Musiałem znaleźć modem mojego urządzenia, który w moim przypadku to SMD0 zamiast TTYUSB0. Miałem kilka poleceń poleceń i niektóre wróciły OK. Wciąż badam. Dzięki chłopaki. –

+0

Aaah, dlatego kazałem ci zapoznać się z przewodnikiem. : o) Ukończę moją odpowiedź, aby dopasować ten problem. Dziękujemy za podzielenie się z nami! – Nippey

0

Aby dowiedzieć się, który port do używania: Można sprawdzić

# cat /proc/tty/drivers 

Korzystając logcat -b radio | grep dev zobaczyć wich tty radia używa.

+0

Dla mojej Galaxy Note II (GT-N7100) było to '/ dev/ttySAC2'. – psiphi75

0

tak można uruchomić poleceń z adb shell zbyt na ...

prerequsite :- 
1. rooted android phone 
2. you are aware of the port that RIL use for i/o operation. 
3. to check which port is being used by RIl use `getprop rild.libargs` 

uruchomić polecenia AT z ADB

use echo -c "AT\r\n" > /dev/smd11 

PS: smd11 jest port używany przez RIL.This waha z urządzenia na urządzenie.

również uruchomić poleceń z Android AT sprawdzić samouczek

http://tech-papers.org/executing-at-commands-android-application/

+0

"aby sprawdzić, który port jest używany przez RIl, użyj' getprop rild.libargs' ", ale w moim przypadku nic nie zwraca. Brak tekstu. Używam telefonu Samsung GT-S5301 – mkhan

+1

Link nie działa –