Pré-requisitos
Você precisará dos pacotes build-essential
e linux-headers-generic
para instalação. Se você não possui esses pacotes, você pode encontrá-los em packages.ubuntu.com , baixar os arquivos *.deb
e instalá-los manualmente .
linux-headers-generic
é um pacote virtual que instala os cabeçalhos corretos para o kernel atual que você está executando. Você pode descobrir isso digitando uname -r
no terminal. O meu é 3.0.0-17-generic
. Isso significa que realmente devo baixar o pacote linux-headers-3.0.0-17-generic
. Depois de ter seu trabalho Ethernet, apt-get install linux-kernel-headers
para que você sempre tenha os cabeçalhos corretos.
O pacote build-essential
tem muitas dependências e, quando você tenta instalar o arquivo .deb
, ele informará o que está faltando. Volte para packages.ubuntu.com e baixe todo o *.debs
para os pacotes que ele reclama.
Se você estiver executando o Ubuntu, *.deb
arquivos podem ser instalados clicando duas vezes sobre eles. No Kubuntu, você precisa clicar com o botão direito e escolher a opção de instalação.
Construa o módulo
Vá para site do Davicom e baixe o LINUX Driver
para sua pasta pessoal.
Abra o Terminal e digite tar -xzvf dm9601-Linux2.6_1_1
para extraí-lo.
Digite cd dm9601
para entrar na pasta recém-criada.
Digite gedit dm9601.c
para editar o arquivo de origem quebrado.
Alterar #include <linux/config.h>
para #include <linux/configfs.h>
Salve o arquivo e feche o gedit.
Digite make
para construir o módulo.
Ok, agora você construiu o módulo. Neste ponto, podemos testá-lo. Com o seu adaptador USB Davicom conectado, digite sudo insmod dm9601.ko
para inserir temporariamente o módulo. Se tudo funcionar, precisamos fazer este módulo inserir automaticamente na inicialização.
Insira o módulo no bootup
Digite sudo cp dm9601.ko /lib/modules/$(uname -r)/kernel/ubuntu/net/
tipo sudo gedit /etc/modules
Adicione dm9601
em sua própria linha no final do arquivo
Salve e saia do gedit.
Seu módulo deve agora funcionar na reinicialização. Parabéns! Você precisará repetir os passos 2,3 & amp; 7 do estágio Build e etapa 1 do estágio Insert sempre que você instalar uma atualização do kernel.
Solução de problemas Se o insmod não funcionar, você provavelmente precisará adicionar o ID do seu dispositivo USB ao arquivo de cabeçalho.
Digite 'lsmod' e procure por uma linha que pertença ao seu adaptador USB Davicom. Deve ser semelhante ao "Bus 001 Device 006: ID 0a46: 9555 da Davicom Semiconductor, Inc." Se tiver dúvidas, desconecte todos os outros dispositivos USB e encontre a única linha que não tenha "0000: 0000".
Para o exemplo acima, digite gedit dm9601.h
e insira duas linhas semelhantes:
DM9601_DEV( "Davicom Semiconductor, Inc", VENDOR_ACCTON, 0x0a46, 0x9555,
DEFAULT_GPIO_RESET )
Seu código-fonte do módulo está agora configurado para reconhecer seu módulo. Continue a partir do passo 6 no estágio "Construir" das instruções.