Zdravím. Mám Raspberry Pi s GPRS modemem připojený přes převodník USB<->Seriový port a při aktivním internetovém připojení bych potřeboval přijímat SMS. Internet funguje přes ppp protokol. Pppd startuji pomocí wvdialu. Myslel jsem, že bych mezi pppd a soubor ovladače sériového portu (/dev/ttyUSB0) vložil virtuální soubor, ve kterém bych mohl komunikaci přerušit, přečíst a poslat SMS a pak zase pokračovat. Pokud víte o lepším řešení, tak sem s ním.
Jde vytvořit v user space virtuální soubor tak, abych měl plnou kontrolu nad tím, co z něho programy čtou a co zapisují?(v user space simulovat character device)
Díky, Petr
Nemá ten modem víc sériových portů? Modemy, co jsem zkoušel, měly třeba tři. Možná by šlo posílat SMSky po některém z těch zbývajících portů.
Modem který umí dělat něco jiného při navázaném internetovém spojení má rovnou ovladač který vytvoří více sériových portů. Starší GSM/EDGE modemy to uměly skoro všechny, dnešní 3G/4G jen občas.
jedná se o průmyslový modem s jedním sériovým portem. Modem si bohužel nemůžu vybírat.
Ahoj,
kolega to kdysi resil, ale pak se kuli nespolehlivosti od tohoto reseni upustilo. Modem(tenkrat se to resilo pro wavecom) jde vetsinou prepnout do multiplexopvaneho rezimu a pak jde mit jak GPRS tak i SMS. Ale asi by sis musel napsat vlastni "ovladac" co by to dokazal rozdelovat na vice portu, nebo to predavat nejak bokem pppd.
Radek
Chtěl jsem data předávat bokem a nechtěl jsem psát kernel modul, kvůli tomu abych udělal char device. Vypadá to, že jsem našel řešení ve formě 2 virtuálních tty
sudo socat PTY,link=/dev/ttyS98 PTY,link=/dev/ttyS99
příkaz vytvoří /dev/ttyS98 a /dev/ttyS99, které jsou mezi sebou provázané, co se zapíše do ttyS98, to se dá vyčíst z ttyS99 a naopak. Hledal jsem poměrně dlouho a našel jsem to až po dotazu zde :).
Pokud vás napadá lepší řešení, nebo nějaký důvod nepoužívání zmíněného příkazu, dejte vědět.
Ahoj,
ja si myslim ze ten napad se socat neni spatnej. Pripadne muzes volat socat ze sveho programu. Taky jsem nasel neco ohledne toho multiplexu. Koukni sem : https://www.kernel.org/doc/Documentation/serial/n_gsm.txt https://github.com/Rtone/cmux to je co mi google vratil na dotaz CMUX. Tim se obecne ten multiplex oznacuje.
Radek
Ahoj Radku, díky, na CMUX se podívám.
socat budu moct vynechat otevřením /dev/ptmx mi vznikne v /dev/pty pseudotty, do kterého můžu přeposílat data. Už jsem si ověřil, že při přeposílání dat z modemu mi internet funguje, odesláním +++ ho můžu pozastavit, přečíst SMS a pak zase obnovit. Přesně to jsem potřeboval.