Odp: anydata adu890-w
Jedno i drugie to linux, więc myślałem, że jakaś solucja się znajdzie.
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Oprogramowanie / Software → anydata adu890-w
Strony Poprzednia 1 2 3 4 5 6 Następna
Zaloguj się lub zarejestruj by napisać odpowiedź
Jedno i drugie to linux, więc myślałem, że jakaś solucja się znajdzie.
Ale racji specyfiki systemów - nie.
Witam,
Walczę z tym modemem na tp-linku mr3220 z Gargoyle 1.5.6 (r33081), by obsy.
Niby skrypt (ten drugi, z odczytywanie pinu) podany przez użytkownika marek, po drobnej modyfikacji, wykonuje się i ciągi są wysyłane na port ttyUSB2 we właściwym czasie, ale modem się nie przełącza (cały czas zapalona jest tylko czerwona dioda na nim)
Nie wiem dokładnie co może być przyczyną, ale zauważyłem 2 rzeczy:
*1* po wykonaniu: echo "16d5 6603" > /sys/bus/usb-serial/drivers/option1/new_id
na wszelki wypadek sprawdzam czy w pliku new_id coś się dopisało, ale jest tam pustka. W edytorze vi mam taki komunikat przy edycji tego pliku:
"/sys/bus/usb-serial/drivers/option1/new_id" Permission denied
Dodam że połączenie jest przez Putty po SSH przez wifi i jestem zalogowany jako root na routerze
Czy to tak ma być, czy mam jakiś błąd?
*2* tu pewnie pytanie będzie do autora tematu chyba że ktoś będzie wiedział:
chodzi mi o sposób wysłania pinu:
/bin/echo -ne "\xD2\x01\x00\xZZ\xZZ\xZZ\xZZ\xFF\xFF\xFF\xFF\x57\x6D\x7E" > /dev/ttyUSB2
ZZ mam zamienić na pin
ponieważ modem mi się nie przełączał, to próbowałem ten pin wpisywać w tym miejscu ręcznie, myśląc że może tu mam błąd
Czyli jeśli np. mam pin: 1111, to mam wpisać
x01/x01/x01/x01 czy /x457/x457/x457/x457 ?
1. Nie zobaczysz tego w tym pliku. W ogóle tego nie zobaczysz bo leci do wewnętrznych struktur sterownika, a sam plik jest "wirtualny"
Przyznaję, że skypt który zamieściłem wcześniej czasem nie działa. Być może problem jest w tym, że trzeba te komendy wysłać w dokładnie właściwym momencie.... Niestety nie mogę na razie tego dokładnie zbadać bo nie mam już modemu w pobliżu. Stan w jakim to wszystko zostawiłem to 'czasem działa, czasem nie' :-)
Jeśli używasz echo poprzedzone \x to PIN oczywiście musi być w hexach...każda cyfra osobno.
Podsłuchałem komunikacje usb z modemem pod windowsem i u mnie pin jest wysyłany innym(ale podobnym) ciągiem:
\xD2\x01\x00\x3Z\x3Z\x3Z\x3Z\xFF\xFF\xFF\xFF\xD5\x6C\x7E, gdzie ZZZZ - kolejne cyfry pinu (w dec)
(dodam jeszcze że wpisując tu błedny pin lub wpisując go inaczej - zielona dioda się nie zapala)
mam taki skrypt hotplug'a - /etc/hotplug.g/tty/10-adu890
#!/bin/sh
. /etc/functions.sh
log() {
logger -t hotplug-anydata "$@"
}
log " "
log " $DEVICENAME $ACTION"
case "$DEVICENAME" in
ttyUSB2)
[ -e "/dev/$DEVICENAME" ] || [ "$ACTION" = remove ] || exit 0
log "dev = ttyUSB2"
if [ "$ACTION" = add ]; then
# moj pin 1111 czyli - 1 1 1 1
/bin/echo -ne "\xD2\x01\x00\x31\x31\x31\x31\xFF\xFF\xFF\xFF\xD5\x6C\x7E" > /dev/ttyUSB2
sleep 1
/bin/echo -ne "\xD2\x11\x00\x32\x70\x7E" > /dev/ttyUSB2
log "Configured AnyDATA ADU890W for CDMA"
fi
;;
*) log "dev not ttyUSB2"
;;
esac
log "koniec"
Teraz za każdym razem po podłączeniu modemu i wykonaniu skryptu zapala się zielona dioda i świeci przez cały czas (to już coś
- teraz tylko pozostaje zmiana koloru zielonego na niebieski), ale po wpisaniu ifup wan dostaję:
root@mr3220:/$ ifup wan
Error setting PIN, check card manually
wan(3g): Failed to set the PIN code.Przecież pin już wysłałem wcześniej w hex, a może jakoś inaczej teraz trzeba "podłączyć internet"?
Bo jak jest w /etc/config/network to skrypty startowe próbują to jeszcze raz wysłać. Usuń tą opcją z /etc/config/network jak to na stałe w hotplugu schowałeś.
BTW... adu890 nie jest i tak wspierany przez usb-modeswitch więc można go odinstalować.
Chyba zlokalizowałem mój problem. U mnie "ifup wan" nie działa po restacie usb (przez GPIO6 - mam WR842N, r33338). Ale wystarczy: "killall netifd; netifd" i wtedy ifup wan.
Mój obecny skrypt hotplug (w katalogu tty):
#!/bin/sh
. /etc/functions.sh
log() {
logger -t hotplug-anydata "$@"
}
case "$DEVICENAME" in
ttyUSB2*)
[ -e "/dev/$DEVICENAME" ] || [ "$ACTION" = remove ] || exit 0
if [ "$ACTION" = add ]; then
log "Configuring AnyDATA ADU890-W for CDMA"
config_load network
local pincode
config_get pincode wan pincode
if [ -n "$pincode" ]; then
/bin/echo -ne "\xD2\x01\x00" > "/dev/$DEVICENAME"
/bin/echo -n $pincode > "/dev/$DEVICENAME"
/bin/echo -ne "\xFF\xFF\xFF\xFF\x57\x6D\x7E" > "/dev/$DEVICENAME"
fi
/bin/echo -ne "\xD2\x11\x00\x32\x70\x7E" > "/dev/$DEVICENAME"
log "Configured AnyDATA ADU890-W for CDMA"
fi
;;
esacJak widać nie potrzebuje "sleep"...
Usunąłem pin z config network i modem połączył się z internetem
Dziękuję wszystkim za pomoc i podpowiedzi ![]()
Oct 7 20:15:31 mr3220 user.notice hotplug-anydata: ttyUSB2 add
Oct 7 20:15:31 mr3220 user.notice hotplug-anydata: dev = ttyUSB2
Oct 7 20:15:32 mr3220 user.notice hotplug-anydata: Configured AnyDATA ADU890W for CDMA
Oct 7 20:15:32 mr3220 user.notice hotplug-anydata: koniec
...
Oct 7 20:15:42 mr3220 user.notice hotplug-anydata:
Oct 7 20:15:42 mr3220 user.notice hotplug-anydata: ttyACM0 add
Oct 7 20:15:42 mr3220 user.notice hotplug-anydata: dev not ttyUSB2
Oct 7 20:15:42 mr3220 user.notice hotplug-anydata: koniec
Oct 7 20:15:42 mr3220 user.notice 3g-hotplug: Starting interface wan for device ttyACM0
...
Oct 7 20:15:45 mr3220 daemon.notice pppd[4043]: pppd 2.4.5 started by root, uid 0
Oct 7 20:15:46 mr3220 local2.info chat[4048]: abort on (BUSY)
Oct 7 20:15:46 mr3220 local2.info chat[4048]: abort on (NO CARRIER)
Oct 7 20:15:46 mr3220 local2.info chat[4048]: abort on (ERROR)
Oct 7 20:15:46 mr3220 local2.info chat[4048]: abort on (NO DIAL TONE)
Oct 7 20:15:46 mr3220 local2.info chat[4048]: abort on (NO ANSWER)
Oct 7 20:15:46 mr3220 local2.info chat[4048]: abort on (DELAYED)
Oct 7 20:15:46 mr3220 local2.info chat[4048]: report (CONNECT)
Oct 7 20:15:46 mr3220 local2.info chat[4048]: timeout set to 10 seconds
Oct 7 20:15:46 mr3220 local2.info chat[4048]: send (AT^M)
Oct 7 20:15:46 mr3220 local2.info chat[4048]: expect (OK)
Oct 7 20:15:46 mr3220 local2.info chat[4048]: AT^M^M
Oct 7 20:15:46 mr3220 local2.info chat[4048]: OK
Oct 7 20:15:46 mr3220 local2.info chat[4048]: -- got it
Oct 7 20:15:46 mr3220 local2.info chat[4048]: send (ATZ^M)
Oct 7 20:15:46 mr3220 local2.info chat[4048]: timeout set to 30 seconds
Oct 7 20:15:46 mr3220 local2.info chat[4048]: expect (OK)
Oct 7 20:15:46 mr3220 local2.info chat[4048]: ^M
Oct 7 20:15:46 mr3220 local2.info chat[4048]: ATZ^M^M
Oct 7 20:15:46 mr3220 local2.info chat[4048]: OK
Oct 7 20:15:46 mr3220 local2.info chat[4048]: -- got it
Oct 7 20:15:46 mr3220 local2.info chat[4048]: send (ATDT#777^M)
Oct 7 20:15:46 mr3220 local2.info chat[4048]: expect (CONNECT)
Oct 7 20:15:46 mr3220 local2.info chat[4048]: ^M
Oct 7 20:15:48 mr3220 local2.info chat[4048]: ATDT#777^M^M
Oct 7 20:15:48 mr3220 local2.info chat[4048]: CONNECT
Oct 7 20:15:48 mr3220 local2.info chat[4048]: -- got it
Oct 7 20:15:48 mr3220 local2.info chat[4048]: send (^M)
Oct 7 20:15:48 mr3220 daemon.info pppd[4043]: Serial connection established.
Oct 7 20:15:48 mr3220 daemon.info pppd[4043]: Using interface 3g-wan
Oct 7 20:15:48 mr3220 daemon.notice pppd[4043]: Connect: 3g-wan <--> /dev/ttyACM0
Oct 7 20:15:55 mr3220 daemon.info pppd[4043]: CHAP authentication succeeded: Welcome to PDSN.
Oct 7 20:15:55 mr3220 daemon.notice pppd[4043]: CHAP authentication succeeded
...Więc zrób teraz jeszcze jeden post, opisz wszystko po kolei co trzeba zrobić aby chciał działać. Dołączę to do spisu modemó.
Tylko że u mnie wysyłanie pinu do modemu jest wykonywane innym ciągiem niż u Marka. Może są różne wersje tego modemu?
Poza tym muszę jeszcze zrobić tak aby skrypt hotpluga wykonywał się tylko dla tego modemu. A moja znajomość tego systemu nie jest zbyt wielka ![]()
I jest jeszcze jedna sprawa, modem łączy się z internetem (za każdym razem) gdy włączę router i po załadowaniu systemu podłączam modem, bo gdy włączam router razem z modemem to muszę po załadowaniu systemu wyłączyć i włączyć zasilanie USB programowo.
W obu przypadkach router łączy się automatycznie z internetem
Dodaj się to wyłączenie do /etc/rc.local o zobacz. Wygląda na to że modem startuje za wcześnie w stosunku do systemu jest jakiś problem.
No to dziwne jest faktycznie... U mnie sekwencja którą używa mariuszb nie działa. Czyli działa "moja" sekwencja, za pinem:
\xFF\xFF\xFF\xFF\x57\x6D\x7ENie działa:
\xFF\xFF\xFF\xFF\xD5\x6C\x7EMam już skrypt hotpluga wykonywany tylko dla tego modemu. Napisze to co robiłem aby modem zadziałał, może się komuś przyda:
1. Gargoyle 1.5.6 (r33081) z 2012-09-19, by obsy
2. Gargoyle > Konfiguracja > Podstawowa: Modem 3G, CDMA-EVDO, /dev/ttyACM0, pin "pusty", Polska - Orange CDMA
3. Do pliku /etc/rc.local w pierwszej(i drugiej) linii wpisać:
echo "16d5 6603" > /sys/bus/usb-serial/drivers/option1/new_id
sleep 2
4. Poniższy skrypt umieścić w pliku /etc/hotplug.d/tty/10-adu890 (patrz pin/wersja - ewentualna zmiana w skrypcie)
#!/bin/sh
. /etc/functions.sh
log() {
logger -t hotplug-anydata "*** $@"
}
log "$DEVICENAME $ACTION"
local VPid
case "$DEVICENAME" in
"ttyUSB2")
[ -e "/dev/$DEVICENAME" ] || [ "$ACTION" = "remove" ] || exit 0
if [ "$ACTION" = "add" ]; then
log "Device = ttyUSB2"
VPid=$(cat /proc/bus/usb/devices | grep 16d5 | cut -c 5-27)
log "VPid: $VPid"
case "$VPid" in
"Vendor=16d5 ProdID=6603")
log "Vendor=16d5 ProdID=6603 - sending strings..."
# pin - dla innego pinu ponizszy ciag bedzie inny
# 1 1 1 1
/bin/echo -ne "\xD2\x01\x00\x31\x31\x31\x31\xFF\xFF\xFF\xFF\xD5\x6C\x7E" > /dev/ttyUSB2
/bin/echo -ne "\xD2\x11\x00\x32\x70\x7E" > /dev/ttyUSB2
log "... strings sent"
;;
*)
log "Different Vendor or ProdID"
;;
esac
fi
;;
# *) log "Device not ttyUSB2"
# ;;
esacJeśli nie działa - przeczytać poprzednie posty i wprowadzić ew. zmiany
Och...'strings sent' nie 'sended' ![]()
Próbowałeś wysłać pin tak jak w moim skrypcie...tzn czytać pin z configa?
Sent, sended... - ale wiadomo o co chodzi ![]()
Gdy ustawie pin w configu, to owszem mogę go odczytać, ale podczas łączenia z netem, dostaje taki komunikat
root@mr3220:/$ ifup wan
Error setting PIN, check card manually
wan(3g): Failed to set the PIN code.
i brak połączenia, a bez wpisywania pinu w configu router łączy się automatycznie (nie muszę wpisywać ifup wan)
a i jeszcze co do ostatniego skryptu: to sprawdzanie Vendor i ProdID może nie jest najlepsze, ale działa - nic innego nie wymyślę
Zrób
cat /sys/devices/platform/ehci-platform/usb1/*/*/ttyUSB2/../../idProduct
cat /sys/devices/platform/ehci-platform/usb1/*/*/ttyUSB2/../../idVendor
I będziesz miał VID/PID urządzenia z którego ttyUSB2 pochodzi.
Witam,
a wiadomo coś na temat 895A? Jest prawdopodobne, że przechodzę na Orange rev.B i mam dylemat co kupić do MR3420, żeby to ładnie działało. Orange niestety w ofercie dla firm internet mobilny (wszystkie technologie) daje tylko jakieś szajsy Huawei bez revB
W ogóle 890 czy 895 jest bardzo ciężki do dostania z tego co się orientowałem, a to chyba jedyne modemy stick usb dla rev B.
Nic nie wiadomo. Ktoś musi mieć modem i sprawdzić.
Mój PIN (0000) idzie takim ciągiem:
echo -ne "\xD2\x01\x00\x30\x30\x30\x30\xFF\xFF\xFF\xFF\xD0\x7D\x5D\x7E" > /dev/ttyUSB2
Ma on więc jedną "sekcję" więcej. Możecie sprawdzić, czy u Was dla PIN-u "0000" w ciągu tylko 4 "sekcje" się zmieniają czy jeszcze jakieś? Może uda się jakiś wzór wypracować.
0000 - D2 01 00 30 30 30 30 FF FF FF FF D0 7D 5D 7E
1111 - D2 01 00 31 31 31 31 FF FF FF FF D5 6C 7E
2222 - D2 01 00 32 32 32 32 FF FF FF FF DA 5F 7E
3333 - D2 01 00 33 33 33 33 FF FF FF FF DF 4E 7E
4444 - D2 01 00 34 34 34 34 FF FF FF FF C4 39 7E
5555 - D2 01 00 35 35 35 35 FF FF FF FF C1 28 7E
6666 - D2 01 00 36 36 36 36 FF FF FF FF CE 1B 7E
7777 - D2 01 00 37 37 37 37 FF FF FF FF CB 0A 7E
8888 - D2 01 00 38 38 38 38 FF FF FF FF F8 F5 7E
9999 - D2 01 00 39 39 39 39 FF FF FF FF FD E4 7E1234 - D2 01 00 31 32 33 34 FF FF FF FF B9 EA 7E
11111- D2 01 00 31 31 31 31 31 FF FF FF 4E F9 7E
Takie coś mi dla PIN-ów wyszło, komuś się powtarzają?
Sprawdzasz to pod windowsem? Ja nie sprawdzałem ale widze ze dla pinu 1111 mam ten sam ciag ktory podales. Moze ta koncowka ktora sie zmienia to jakas suma kontrolna (pinu?) lub cos podobnego
Tak, wszystko pod Windowsem. Pierwsze 3 sekcje to chyba informacje, że PIN leci, kolejne 8 sekcji to PIN (gdzie "FF" to po prostu brak cyfr), kolejne 2 to jakaś suma kontrolna, a "7E" to znak końca (tylda) polecenia (przy zmianie PIN-u też taki leci).
Dla pinu 0000 tez mam dłuższy ciąg
00000 - D2 01 00 30 30 30 30 30 FF FF FF F0 F4 7E
0000 - D2 01 00 30 30 30 30 FF FF FF FF D0 7D 5D 7E
0001 - D2 01 00 30 30 30 31 FF FF FF FF 94 76 7E
0002 - D2 01 00 30 30 30 32 FF FF FF FF 58 6B 7E
1111 - D2 01 00 31 31 31 31 FF FF FF FF D5 6C 7E
Nie chce mi się sprawdzać każdego, bo by zmienić pin muszę kartę przekładać do telefonu, ale pewnie będę miał tak jak podałeś.
Teraz tylko jak znaleźć zależność.
Inżyniera wsteczna na aplikacji pod Windowsem?
Strony Poprzednia 1 2 3 4 5 6 Następna
Zaloguj się lub zarejestruj by napisać odpowiedź
eko.one.pl → Oprogramowanie / Software → anydata adu890-w
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc