Sziasztok!
Valaki tudna segíteni az lrzsz sx xmodem használatában? Adott egy SIM5320E modem modul. Win alól hyperterminal-al gond nélkül lehet rá feltölteni a LUA és egyéb fájlokat az AT command doksi ( http://www.microchip.ua/simcom/WCDMA/SIM5320/SIMCOM_SIM5320_ATC_EN_V1.2… ) 517 oldalától leírtak alapján xmodem protokollal, viszont a modemet egy Openwrt-s MR3020-as routerre csatlakoztatnám, ráadásul fixre forrasztva, tehát nagyon macerás lenne ide-oda dugdosni a router és a win PC között.
Első körben próbáltam ser2net-el átlőni a ttyUSB2 portját ami AT parancsokra működik is, de az xmodem küldés hibába fut. Lenne hozzá egy grafikus EFS Explorer nevű progi is, ami szintén nem szereti a hálózaton átlőtt portot, mert kifejezetten a diag port nevére vadászik a csatlakoztatott eszközök között és egyedi sorosportra nem lehet rácsatlakozni vele.
Felraktam az openwrt-re a minicom mellé az lrzsz-t hogy legyen xmodem támogatás is, de se a minicom-ból, se az sx-et parancssorból használva nem sikerül rávennem a sikeres fájlküldésre - az ideális a parancssoros volna, a minicom csak félmegoldás lenne...
Más-más a reakció, ha először minicom-ból kiadom a at+crxfile="hw1.lua" AT parancsot, majd próbálom küldeni a fájlt parancssorból:
sx -vv -bb /root/hw1.lua < /dev/ttyUSB2 > /dev/ttyUSB2
(a < dev > dev részt guglizva kukáztam össze, lehet már ott nem stimmel)
ilyenkor nem jön semmi értelmes reakció az sx-től, csak néha beugrik 1-1 NO CARRIER, +CGPS=0 meg hasonló rendszerüzenet a modemtől, egészen CTRL-C-ig
Ha megpróbálom magát az AT parancsot is belefűzni:
sx -vv -bb -cc at+crxfile="hw1.lua" /root/hw1.lua < /dev/ttyUSB2 > /dev/ttyUSB2
akkor az sx dobál vissza ezt azt hogy kapott ACK byte-okat néha, de továbbra is sikertelen a küldés
Tudna valaki segíteni benne, hogy hogyan tudnám működésre bírni?
Hozzászólások
Jól értem, hogy minicom-ból AT parancsok mennek rendesen, de az xmodem küldés már nem? Fura, mert ha a baudrate, flow control, stopbitek száma, stb. jól be van lőve, akkor mennie kellene. Legalábbis az egy fura hiba, ha az AT parancsok átmennek, az sx meg nem...
flow controllal lehetnek meg problemak, ha tul sokat kuld egyszerre (at parancsoknal nem gaz, de egy nagyonn file kuldesnel szamit)
A'rpi
köszi a tippeket, de sajnos így se jutottam előbbre...
bár eddig a parancssorral szenvedtem, de most próbálnám minicom-ból összehozni első körben:
az ATC doksi szerint: 115200bps, 8 bit data, no parity, 1 bit stop, no data stream control - erre állítottam a minicom-ot:
A - Serial Device : /dev/ttyUSB2
B - Lockfile Location : /var/lock
C - Callin Program :
D - Callout Program :
E - Bps/Par/Bits : 115200 8N1
F - Hardware Flow Control : No
G - Software Flow Control : No
ha bemegyek az xmodem küldésbe (CTRL+A > S > xmodem), kiválasztom a fájlt és mehet, akkor leblokkol itt:
┌───────────[xmodem upload - Press CTRL-C to quit]────────────┐
│Sending hw1.lua, 0 blocks: Give your local XMODEM receive com│
│mand now. │
local xmodem command, de hová? ha csak úgy vakon beszúrom vágólapról enter-el együtt, akkor azt letojja
több virtuális portja is van a modemnek. ha éppen nincsen betárcsázva akkor az USB3 ugyanúgy viselkedik mint az USB2 > megpróbáltam a 2-n küldeni xmodem-el, közben a 3-ra meg amikor bekérdezett, odavágtam az rx parancsot > a következő részben lévő eredményt kaptam...
ha először kiadom az at+crxfile="hw1.lua" parancsot, majd utána megyek az xmodem küldésbe, akkor pedig itt ragad le:
┌───────────[xmodem upload - Press CTRL-C to quit]────────────┐
│Sending hw1.lua, 0 blocks: Give your local XMODEM receive com│
│mand now. │
│Xmodem sectors/kbytes sent: 0/ 0kRetry 0: Got 00 for sector│
│ ACK │
várhatok rá a végtelenségig, ha megszakítom akkor nincsen fogadó módban már > eszi pl az ATI parancsot
a flow control vonalon elindulva kipróbáltam hw és sw flow control-al is, de egyiknél sincsen semmi változás...
----------------------
közben kicsit játszottam a hardver beállításaival. erősen úgy tűnik, hogy az USB-s virtuális portokra csatlakozva nincsen semmiféle flow control... amíg nem nyúltam máshoz, addig ezt dobta az at+ifc? : RFR and CTS pin are not in FLOW CTRL mode! > az ATC doksi ezt a megjegyzést írja hozzá: Before using this AT, please make sure AT+CGFUNC=11 return “+CGFUNC: 1”, Otherwise this AT will always report “RFR and CTS pin are not in FLOW CTRL mode!” . az AT+CGFUNC parancs pedig a hardverhez, a GPIO lábak beállításaihoz kapcsolódik hogy digit ki/bemenet legyen, vagy egyéb funkció legyen hozzátársítva mint UART flow control, I2C, SPI, stb stb... próbából átböktem aktívra az UART flow control-t, az IFC-t is hw flow controlra állítottam, majd utána a minicom-ot
is így lőttem be > semmi változás
ckermit-et próbáltad esetleg a minicom+lzszeresdfadfasdfasf páros helyett?
ha jól látom, ckermit package nincsen openwrt-hez... de ez a progi egyébként tudna xmodemet is? mert ahogy nézem, a kermit is egy alternatív protokoll, de a modem kizárólag csak xmodemet eszik a doksija szerint
most egy ubuntu-n próbálgatom ezt a c-kermit progit hogy ezzel menne e, de csak eddig jutottam:
mips@ubuntu:~$ sudo kermit -s /home/mips/hw1.lua -l /dev/ttyUSB2 -C at+crxfile="hw1.lua"
?Carrier required but not detected
Closing /dev/ttyUSB2...OK
"carrier-watch off" -ot viszont nem látok a paraméterek között :S a konzoljában lenne set carrier-watch off, de ott meg még nem sikerült rájönnöm hogy hogyan lehetne az rx AT parancsot beadni neki, majd küldeni a fájlt...