From: Marcelo B. <md...@ma...> - 2000-12-01 00:35:10
|
Ae pessoal, Estava pensando sobre as rotinas de procura de modem e tive algumas idéias. * Gostaria que vocês executassem o comando abaixo: ]$ cat /proc/tty/driver/serial ou então, para ter um output melhor: ]$ cat /proc/tty/driver/serial | head -n5 E me enviassem o retorno dela, acompanhado dos seguintes dados: * Distro utilizada; * Versão do kernel; * Configurações de portas seriais, mouse, e modem da máquina de vocês; Como exemplo, passo o da minha máquina: ---------------- * Distro: Conectiva 5.0 Edição Especial (da Revista do Linux) * Kernel: 2.2.14-19cl * Output do comando: [marcelo@arise marcelo]$ cat /proc/tty/driver/serial | head -n5 serinfo:1.0 driver:4.27 0: uart:16550A port:3F8 irq:4 baud:1200 tx:34 rx:7528 fe:980 brk:318 RTS|DTR|DSR 1: uart:16550A port:2F8 irq:3 baud:38400 tx:27 rx:0 RTS|DTR 2: uart:unknown port:3E8 irq:4 3: uart:16550A port:2E8 irq:10 baud:38400 tx:6 rx:18 RTS|CTS|DTR|DSR * Configuração de portas seriais da minha máquina: /dev/ttyS0: utilizada pelo mouse; /dev/ttyS1: habilitada na bios, sem nada ligado nela; /dev/ttyS2: desabilitada na bios/não existente; /dev/ttyS3: utilizada pelo modem; ------------------- A partir dai notamos o seguinte: * Onde tem serial, tem dispositivo controlador. Isso é notado pelo campo 'uart'. Onde tenho serial, tenho um controlador, no caso o 16550A; * Se eu usar aquele programinha que enviei antes para voces, nem mesmo como root eu consigo abrir a minha ttyS2. Estou supondo que o motivo para isso é que em ttyS2 eu não tenho nenhum controlador (uart) * um 'ps ax | grep gpm' me mostra a porta utilizada pelo gpm: [marcelo@arise marcelo]$ ps ax | grep gpm 789 ttyS0 S 0:00 gpm -t ms ^^^^^ * um 'ls -l /dev/mouse' me diz qual o link pro mouse; * um 'ls -l /dev/modem' me diz qual o link pro modem; Estou pensando em usar todas essas informações disponíveis para filtrar/melhorar a busca do modem. Exemplo: * Se eu sei que o gpm esta rodando em uma das seriais, não abrirei aquela serial, para evitar m*rdasss. Para contornar, pode-se: cruzar 'ps ax | grep mouse' com 'ls -l /dev/mouse', com isso concluiremos se a porta em questão _é_ a do mouse; a partir dai, pode-se: * alertar o usuário para isso; * desabilitar o gpm pra fazer a busca. Isso creio nao ser necessário, afinal "onde tem mouse não tem modem" :) * Pelo 'cat /proc/tty/driver/serial | head -n5' podemos saber onde tem controlador (uart). Cruzando isso com o 'ps aux ...' e o 'ls -l /dev/modem', podemos saber _em qual_ porta devemos tentar encontrar (ou seja mais provável encontrar) um modem; Com isso, a busca pode ser mais rápida e menos propensa a erros. Gostaria de saber o que vocês acham disso, prós e contras, idéias, sugestões, etc. É importante para mim saber os resultados do cat /proc/tty/driver/serial | head -n5 Tendo em vista que: * nos kernel's da série 2.2.x em que eu tive a chance de testar, funcionou em todos; * no kernel 2.0.36 (no meu podero 386) não funcionou. Nele, não há /proc/tty/driver/serial :( E eu não encontrei outra fonte alternativa para obter as infos desejadas; * Não sei qual o resultado em outras distros/kernels; Dependendo dos resultados, poderemos decidir se o que imaginei é viável ou não, e etc. Bom, por hora é isso ai galera. Desculpem por eu ter andado meio sumido ai, eu estava ruim de saúde :( Mas hoje estou mais feliz, finalmente chegou o tão esperado e encomendado livro "Beginning Linux Programming", 2nd Edition, 900 páginas de puro extase, do shell script ao X, de threads a device drivers, passando por IPC, sockets e internet programming (isso vai ser bom pro Volkano né André/Amauri?) hurruuuuuu, já tenho leitura pra esse fim de semana (e pra muitos e muitos outros, hehehe) E para os coders de plantão: lembram aquela url que eu mandei antes, do pppStatus ? Então, podemos aproveitar algo de lá pra implementar as contabilizações/monitorações de bytes transmitidos/recebidos, tempo de conexão, logs, etc. Vale a pena dar uma olhada. Abração ai galera! -- #=-=[ ser...@us... ]=-=+=#=--------------=# | Marcelo D. Beckmann --user[]="#173935"-- | | CL5 2.2.14 | md...@ma... UIN [53189692]----+ | Slack 7 2.2.13 # - =-#----=[ linuxcall.sourceforge.net ]=-----#-==-==-==-==-==-# + .~. | 386DX40 8MB 420MB Western Digital Caviar ] /V\ #----2.0.36--7,68 bogomips----[ Microcom 14400 CGA NE2000 ] /(.)\ "Estamos de volta aos tempos em que os homens eram homens ] ^`~´^ e programavam seus próprios drivers de dispositivo."L.T. ] #-====-#----=[ serialcoder ]=- + -=[ http://wm.themes.org ]=-----' RTS-[CTS]-DLE-STX-17-39-35-CRC-F6-66-DLE-ETX-/RTS-[/CTS-RTS]-CTS-[ACK] |