(M)  s i s t e m a   o p e r a c i o n a l   m a g n u x   l i n u x ~/ · documentação · suporte · sobre

  Página seguinte Página anterior Índice

568. Escrevendo um Programa de controle

ethernet,escrevendo um programa de controle A única coisa que se precisa para usar uma placa ethernet com o Linux é o programa de controle apropriado. Para isto, é essencial que o fabricante libere as informações técnicas de programação para o público em geral sem que você (ou qualquer outro) tenha que transferir para eles sua vida. Uma boa diretriz para a probabilidade de conseguir a documentação (ou se você não estiver escrevendo o código, a probabilidade de que alguém mais esteja escrevendo aquele programa de controle que você realmente precisa) é a disponibilidade do pacote do programa de controle de Crynwr (nee Clarkson). Russ Nelson executa esta operação, e tem sido muito útil no suporte do desenvolvimento do programa de controle para Linux. Surfistas da Internet podem tentar esta URL para melhorar o software do Russ.

Russ Nelson's Packet Driver

Dada a documentação, você pode escrever um programa de controle para a sua placa e usá-lo para o Linux (pelo menos em teoria). Tenha em mente que alguns hardwares que foram projetados para as máquinas do tipo XT não funcionarão muito bem num ambiente de múltiplas perguntas como o Linux. O uso destas levarão a maiores problemas se sua rede encontrar uma quantia razoável de tráfego.

A maioria das placas vem com o programa de controle para as interfaces do MS -DOS como NDIS e ODI, mas estes são inúteis para o Linux. Muitas pessoas sugeriram que eles sejam diretamente ligados ou automaticamente traduzidos, mas isto é quase impossível. O programa de controle MS-DOS espera estar num modo de 16 bits e enganchar numa interrupção de software, ambos incompatíveis com o kernel Linux. Esta incompatibilidade é realmente uma característica, como alguns programas de controle do Linux são consideravelmente melhores que seus correlativos da MS-DOS. As séries do programa de controle 8390, por exemplo, usam os buffers de transmissão ping-pong, que só agora estão sendo introduzidos no mundo do MS-DOS.

(Buffers de Transmissão ping-pong significam o uso de pelo menos 2 buffers de pacote de tamanho máximo para os pacotes de transmissão. Um é carregado enquanto a placa está transmitindo para outra. O segundo é então enviado logo que o primeiro esteja terminado, e assim por diante. Desta maneira, a maioria das placas podem continuamente enviar pacotes back-to-back pelo fio.)

OK. Então você decidiu que você quer escrever um programa de controle para a placa Ethernet Foobar, pois você tem informações de programação, e ele ainda não foi feito. (...estes são as duas principais exigências ;-) Você deve começar como esboço do programa de controle de rede que é fornecido com a árvore fonte do kernel Linux. Ele pode ser encontrado no arquivo /usr/src/linux/driver /net/skeleton.c em todos os kernels recentes. Dê uma olhada no Guia de Programadores Kernel, na seguinte URL: KHG.


Página seguinte Página anterior Índice