From: C. <dig...@us...> - 2000-11-17 10:56:28
|
Marcelo Beckmann wrote: > > tava revendo os mails aqui, e pintou mais ideias: > --------8<------------ > # char **modem_ati(char *device) > # > # A gente passa como parâmetro a saída da função anterior e recebe um > # vetor com as ATI's do modem... > > Exatamente, o parâmetro anterior seria retornado como parâmetro, sem > o uso de uma variável global. A partir daí, faço a leitura dos ATI's > e escrevo a resposta no vetor, retornando o ponteiro pro mesmo. > --------8<----------- > > Que tal o seguinte: Essa me pareceu mais interessante... > int modem_ati(int fd, char **modem_ati) > Quanto aos parâmetros: > char device: passaria o número da porta, ttyS[device] > int fd: passaria o file descriptor, retornado por uma função, por > exemplo, int openport(char port); > > Tudo é possivel, não há problema algum em implementar de uma forma ou > outra, digam ai o que voces acham melhor. > > Alex e interface texto, seja em C ou script: > Acham valido um executavelzinho pra resetar o modem, ou localizar o > modem? Esse executavel retornaria 0 (sucesso) ou outros valores para > codigos de erros. O valor de retorno pode ser aproveitado por um > script ou um prog em C. Com certeza... se puder fazer, vai ser uma boa... :) > Nesse caso, achariam legal que fosse?: > resetmodem [x] > > sendo x a porta do modem. Essa mais simples parece ser melhor... > Em anexo, estou enviando o modem.c > Ele vasculha as portas ttyS0 a ttyS3 em busca de algum modem. > > O retorno dele é algo parecido com: digitalcoder [alcs]$ sudo ./modem Modem Seek and Destroy - versão 0.2 Seek modem at ttyS0: (0)(1)(2) ...nothing :( Seek modem at ttyS1: unable to open port Seek modem at ttyS2: unable to open port Seek modem at ttyS3: (0)[9] ...modem found!!! digitalcoder [alcs]$ Só é uma pena que não esteja funcionando como usuário comum... Talvez tenhamos que usar akele lance do fork como root (UID 0) para que o user comum possa usar essas funções... > Entre []'s, o numero de bytes recebidos do modem. hehehhe... mexa o mouse durante o scan da tttS0... ;-) > Aqui, se rodar como root, abro e escrevo a ttyS0, mas nela esta > rodando tb o gpm, entao, tenho que dar um restart no gpm apos rodar o > 'modem'. Estejam preparados para isso, de preferencia rodem no > terminal, já que pode travar o mouse. :( Curioso, testei aki no X, com mouse pendurado no gpm (no XF86Config, o device do mouse é o /dev/gpmdata) e não teve nada demais... mouse na boa... :) > Aqui testei em dois modems: > * boca SRS33600, em ttyS3 > * microcom deskporte 14400, externo, ligado em ttyS1 Aki eu testei com um Trellis, 28.8 ISA, funcionou sem problemas tb. Marcelo, quanto à akele lance do winmodem cara, o f*da é que se o driver dele não estiver carregado, não rola. Tipo, no caso do HSP por exemplo: se vc não carregar o pctel.o, o /dev/ttyS15 fica "NULL". Nesses casos, o mais correto seria um scan no link simbólico (o kppp faz isso) em /dev/modem... dá prá implementar ? > Se puderem testar ai, eu agradeço. Se encontrarem algum problema, > ou se não funcionar muito bem, me avisem pra eu poder corrigir. Aki funcionou sem problemas... > Na sequencia, estarei mandando as funcoes preparadas > especificamente para o Andre e o Alex usarem na interface/scripts. Opa. Maravilha mano... valeu aí o gaz que vc tá dando na coisa... Eu tava todo empolgado tb, mas de uma hora prá outra apareceu um monte de trampo aki.... puts, é bom e é ruim. :) Ainda não tive tempo de implementar as funcs de acesso ao arkivo, mas se Deus quiser ainda nesse fim de semana a coisa sai... :) Ps: Eae Amauri, bem vindo de volta cara !!! :P Peguei uns trecos legais sobre o GTK e pasmem !!! Ainda nesse fim de semana deve sair um BETA _funcional_ da interface em gtk (mesmas funcionalidades do atual BETA da XSTEP. :))) []'s -- André Casteliano Analista de Sistemas +-=-=[ dig...@us...]=-=-+ [ Linux User: # 178853 Machine: # 79923 ] [ Linux Heavy User - Powered by Slackware 7.1 ] [ http://www.geocities.com/andre_casteliano/ ] +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ [ LinuxCall - The Linux Dialer ] [ http://linuxcall.sourceforge.net ] +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ |