(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

567. Endereços Testados

Enquanto tentar determinar qual placa ethernet está lá, os seguintes endereços são auto-testados, supondo que o tipo de especificações da placa não foi configurado no kernel. Os nomes do arquivo abaixo estão em /usr/src/linux/driver /net/

        3c501.c         0x280, 0x300
        3c503.c:        0x300, 0x310, 0x330, 0x350, 0x250, 0x280, 0x2a0, 0x2e0
        3c505.c:        0x300, 0x280, 0x310
        3c507.c:        0x300, 0x320, 0x340, 0x280
        3c509.c:        Special ID Port probe
        apricot.c       0x300
        at1700.c:       0x300, 0x280, 0x380, 0x320, 0x340, 0x260, 0x2a0, 0x240
        atp.c:          0x378, 0x278, 0x3bc
        depca.c         0x300, 0x200
        de600.c:        0x378
        de620.c:        0x378
        eexpress.c:     0x300, 0x270, 0x320, 0x340
        hp.c:           0x300, 0x320, 0x340, 0x280, 0x2C0, 0x200, 0x240
        hp-plus.c       0x200, 0x240, 0x280, 0x2C0, 0x300, 0x320, 0x340
        lance.c:        0x300, 0x320, 0x340, 0x360
        ne.c:           0x300, 0x280, 0x320, 0x340, 0x360
        ni52.c          0x300, 0x280, 0x360, 0x320, 0x340
        ni65.c          0x300, 0x320, 0x340, 0x360
        smc-ultra.c:    0x200, 0x220, 0x240, 0x280, 0x300, 0x340, 0x380
        wd.c:           0x300, 0x280, 0x380, 0x240

Há alguns clones NE2000 por aí esperando por buracos negros para auto testar o programa de controle. Enquanto muitos clones NE2000 estão seguros até serem capacitados, alguns não podem ser reconfigurados para um modo seguro. Estas placas ethernet perigosas travarão qualquer acesso I/O a sua portas de dados. As localizações tipicamente perigosas são:

        Base chaveada de Placa Ethernet         Localizações perigosas (base + 0x10 - 0x1f)
                0x300 *                                         0x310-0x317
                0x320                                                   0x330-0x337
                0x340                                                   0x350-0x357
                0x360                                                   0x370-0x377

* A localização 0x300 é o lugar tradicional para colocar uma placa ethernet, mas é também um lugar popular para colocar outros dispositivos (freqüentemente os controladores SCSI). A localização 0x320 é freqüentemente a próxima escolhida, mas isto é ruim para o teste do programa de controle AHA1542. A localização 0x360 é ruim, porque entra em conflito com a porta paralela em 0x378. Se você tiver dois controladores IDE, ou dois controladores de unidade de disquete, então 0x360 é também uma escolha ruim, pois uma placa NE2000 vai destruí-los também

Note que os kernels > 1.1.7X mantém um registro de quem usa qual porta i/o, e não permitirá que um programa de controle use portas i/o registradas por um programa de controle anterior. Isto pode resultar em falha silenciosas dos testes. Você pode ver quem está usando as portas i/o digitando cat /proc/ioports se você tiver um sistema de arquivo capacitado.

Para evitar que estas placas ethernet se escondam, aqui estão as coisas que você pode fazer

  • Teste os BIOS dos dispositivos no espaço da memória. Isto é fácil e sempre seguro, mas só funciona para placas que sempre tiveram BIOSes, como os controladores SCSI primários.
  • Evite testar qualquer dos locais acima até que você tenha localizado seu dispositivo. Os clones NE2000 tem uma área de reconfiguração a partir <base>+0x18 para <base>+0x1f que lerão como 0xff, então testa lá primeiro se possível. É também seguro testar no espaço 8390 em <base>+0x00 - <base>+0x0f, mas aquela área voltará a valores quase ao acaso.
  • Se você tiver que testar na área perigosa, por exemplo se seu dispositivo alvo tiver só poucos locais de porta, primeiro verifique que não haja uma NE2000 lá. Você pode ver como fazer isto examinando o código de teste em /usr/src/linux/net/inet/ne.c
  • Use o argumento `reserve' no tempo de inicialização para proteger as áreas voláteis de serem testadas. Veja as informações no uso dos argumentos do tempo de inicialização com LILO em The reserve command


Página seguinte Página anterior Índice