Soros porton modem

Fórumok

Soros porton modem

Hozzászólások

Udv mindenkinek!
A problemam: soros porton keresztul szeretnek elerni modemet. Tul vok mar a soros port hogyanon, tobb tucaton is. A programom csak akkor mukodik, ha elotte lefuttatom a cu -l /dev/ttyS0 parancsot. A progi Fedora 2 alatt c programnyelven keszul. En mar kezdek kifogyni az otletekbol.. A kerdesem az lenne, hogy miert nem hasznal a soros porthoz tartozo Flag-ek beallitas? Mit kellene meg elkovetnem, hogy cu-s trukk nelkul is mukodjon a progi

Szerintem a HOWTO-k mellet némi minicom vagy pppd forrás megtekintés sem haszontalan. A modemnek pl. a DTR jel állítás egy elég fontos dolog és azt 'sima' sorosporti flaggel nem igazán tudtam én se beállítani. Szigorúan ioctl hívás kellett hozzá...
Ha gondolod, akkor előkaparom a forrást, de az jó esetben is holnap...

Én így használom és nekem működik...

[code:1:24c8fe3236]
/* soros port megnyitasa */
int OpenPort(const char *PortName){
struct termios TermIO;
int Port=open(PortName,O_RDWR|O_NOCTTY);
if(Port<0) fprintf(stderr,"%s: %s %s\n",PRGNAME,PortName,strerror(errno));
else{
TermIO.c_iflag=IGNPAR|ICRNL; /* input mode flags */
TermIO.c_oflag=0; /* output mode flags */
TermIO.c_cflag=B9600|CS8|CLOCAL|CREAD; /* control mode flags */
TermIO.c_lflag=ICANON|ISIG; /* local mode flags */
/* control characters */
TermIO.c_cc[VINTR] =0; /* Ctrl-c */
TermIO.c_cc[VQUIT] =0; /* Ctrl-\ */
TermIO.c_cc[VERASE] =0; /* del */
TermIO.c_cc[VKILL] =0; /* @ */
TermIO.c_cc[VEOF] =4; /* Ctrl-d */
TermIO.c_cc[VTIME] =0; /* inter-character timer unused */
TermIO.c_cc[VMIN] =0; /* blocking read until 1 character arrives */
TermIO.c_cc[VSWTC] =0; /* '\0' */
TermIO.c_cc[VSTART] =0; /* Ctrl-q */
TermIO.c_cc[VSTOP] =0; /* Ctrl-s */
TermIO.c_cc[VSUSP] =0; /* Ctrl-z */
TermIO.c_cc[VEOL] ='\0'; /* '\0' */
TermIO.c_cc[VREPRINT]=0; /* Ctrl-r */
TermIO.c_cc[VDISCARD]=0; /* Ctrl-u */
TermIO.c_cc[VWERASE] =0; /* Ctrl-w */
TermIO.c_cc[VLNEXT] =0; /* Ctrl-v */
TermIO.c_cc[VEOL2] =0; /* '\0' */
tcflush(Port,TCIFLUSH);
tcsetattr(Port,TCSANOW,&TermIO);
}
return Port;
}
[/code:1:24c8fe3236]

Koszi a hozzaszolasokat!
Hasonlo flagekkel probalkoztam en is. A helyzet javulni latszik. :D A program 2. futasa utan mukodik. Valszinuleg mar nem a flegekkel van bibi. Marad az ioctl() modem line settings. Az egyik doksiban mintha talalkoztam volna mar vele..
Udv Tornado!