Již dvanáct let mi nikdo nedokáže odpovědět na jednu otázku (je pravda, že posledních pár let už mne to tak nesužuje a tudíž se ani neptám a negoogluji (v manuálech modemů to není)), třeba budete vědět.
Obecně platí, že pokud mají dvě zařízení komunikovat po sériové lince, musí mít stejně nastaveny parametry komunikace. Pokud to u jedné strany není možné (nějaký blackbox), musí se druhá přizpůsobit. Jedinou výjimkou je klasický modem. Je to v zásadě blackbox (nemá na sobě nic, čím by bylo možné předem nastavit rychlost) a přesto (bez problému?) komunikuje v celé škále rychlostí bez jakéhokoliv nastavení.
Až tak jednoduché to ovšem také není. Občas nekomunikuje (dalo by se říct "ze záhadných důvodů", ale ono je to částečně taky logické):
Zapnu počítač s připojeným (nebo nepřipojeným, to je jedno) modemem. Ať použiji nebo nepoužiji 'setserial', tak s ním nejsou schopny komunikovat některé aplikace přes '/dev/ttyS0'. Od okamžiku, kdy pouze spustím a ukončím 'minicom' (s vymazanými inicializačními řetězci), vše začne fungovat. Dělá snad nějakou extra inicializaci?
Abych to shrnul: Vím, že nějakým AT příkazem se dá nastavit DTE speed, ale jak ji můžu nastavit, když pro odeslání AT příkazu potřebuji znát současnou rychlost. Napadá mne, že po zapnutí modem standardně komunikuje na nějaké rychlosti dané nějakou normou (např. 2400), ale to mi nikdo nepotvrdil...
No, modem vetsinou miva/mival autobauding. Podle poslanych znaku A a T (coz je zacatek kazdeho AT prikazu :-) to dokaze 'desifrovat' (stejne jako paritu 8N, 7E, 7O), za predpokladu, ze je pouzito 8 datovych bitu tj. 8 bez ci 7 s paritou. Proto vetsina aplikaci pracujich s modemem zacina poslanim 'AT\r' a cekanim na '\nOK\r\n' .... Je pravda ze v pozdejsi dobe (napriklad u GSM/GPRS modemu) uz tato 'featura' uz vypadla a clovek musi 'nejak' zjistit (manual ?) jaka je defaultni rychlost a prestavit si ji. Samozrejmne kazdy modem ma svuj command, napr. GSM/GPRS Wavecom na to ma AT+IPR.
Jak jiz rekl prede mnou pan Anonym, modem ma detekci rychlosti. Pokazde kdy ocekava command, ktery vzdy zacina AT nebo at, z dat ktera mu prijdou se snazi rozpoznat rychlost a format.
Co se tyce problemu, kdy modem nekomunikuje a minicom ho z toho dostane, muze byt, ze modem byl v online mode = co dostane, to posle. Z tohoto stavu se dostane bud sekvenci 1s klid, pak +++, pak 1s klid, ovsem ty tri plusy musi prijit na spravne rychlosti. Dalsi moznost je shodit a nahodit DTR. A to je presne to, co udela minicom. Nahozeni a shozeni DTR dostane modem do command mode a tim padem modem 'obzivne'. Ovsem pozor, at&d0 (tusim) zablokuje tuto moznost, pak na DTR nereaguje.