Skip to topic | Skip to bottom
www.postcogito.org
          ...sine propero notiones
Kiko
Você está aqui: Kiko > PostsEmPortugues > PtBrBlogEntry2008Jan27A Imprimível | fim do tópico


Start of topic | Skip to actions
English Version

Primeiras Experiências de Verdade com o TS7300

Rec 27-jan-2008 15:11

Apesar de ser meio antigo, o kernel2.4.26 que vem por padrão com o TS7300 seria perfeitamente usável se não fosse pelo fato de vir meio desequipado -- ele não vem nem com o iptables. Compilar um novo kernel 2.4.26 não foi muito difícil -- há um toolchain pré-empacotado para compilação cruzada bem bonzinho. Ativei todas as opções relacionadas ao iptables, apliquei o patch para acrescentar suporte ao ebtables e o ativei, compilei tudo e funcionou bem direitinho.

Adicionar o smbfs me fez tropeçar numa falha devido a uma função do_div64 faltando. Pegando uma dica no blog do Matt Godbolt's, copiei o arquivo linux/arch/arm/lib/div64.S pra dentro do diretório do smbfs, ajustei o Makefile para incluí-lo no build e tudo funcionou ok.

Na Tempest, usamos kernels 2.6 cheio de personalizações, tais como vservers, grsecurity, IMQ, DRBD, truecrypt e outras bonanças. Eu queria ver quantos recursos similares eu conseguiria atochar naquele kernel 2.4. Achei uma dentre muitas implementações do IMQ cujo patch se aplicou quase perfeitamente (eu tive de fazer um pequeno ajuste relativo a um #include que estava faltando), mas, fora isso, funcionou perfeitamente. O DRBD-0.7 também funcionou sem nenhum problema, apesar de eu ter tido de habilitar manualmente o suporte à função find_next_bit genérica (sem otimizações específicas para o processador/arquitetura). (O DRBD-8, por outro lado, só funciona em kernels 2.6 mesmo.) Agora, o TrueCrypt não funciona no 2.4, mas o loop-AES provê funcionalidade semelhante e funcionou de cara, sem eu nem precisar mexer em nada.

Um patch antigo do vservers-1.28 compilou sem grandes crises, mas não consegui compilar os utilitários userspace. Talvez eu tente de novo depois compilando tudo em modo auto-hospedado ao invés de por compilação cruzada -- nesse ponto eu estava mais explorando por brincadeira do que trabalhando de verdade, posto que pelo menos por enquanto para a minha aplicação não haverá necessidade dos recursos do vservers. Também não testei o grsec, apesar de estar curioso pra saber se ele funciona na arquitetura ARM (ele funcionava na arquitetura SPARC, em uma antiga Ultra 5 que eu tinha.)

Então, se você quer um kernel 2.4.26 com iptables, ebtables, IMQ e módulos pré-prontos para o DRBD-7 e o loop-AES para um TS7300, seus problemas acabram! Baixe aqui os binários do kernel e módulos pré-compilados (vmlinux.bin + /lib/modules/2.4.26-ts11-k2) ou um patch em relação à versão ts11 da Technologic Systems.

Uma coisa que não funcionou pra mim foi o utilitário bootload -- um combinado utilitário userspace + módulo de kernel que provê funcionalidade semelhante ao kexec -- ele nos permite dar partida em outro sistema operacional (Linux ou não) de dentro do próprio Linux. Talvez eu esteja cometendo algum erro bem trivial, pois li vários relatos de que funcionava perfeitamente. Eu tenho usado o método tedioso de dar um dd do vmlinux.bin na primeira partição do cartão SD.

Outra coisa que não funcionou direito foi meu minimodem GSM -- mesmo depois de eu fazer um cabo USB com fonte de alimentação própria. Eu fico obtendo mensagens repetidas de conexão/desconexão:

hub.c: new USB device not_pci-1, assigned address 4
ttyACM0: USB ACM device
usb.c: USB disconnect on device not_pci-1 address 4
hub.c: new USB device not_pci-1, assigned address 5
ttyACM0: USB ACM device
usb.c: USB disconnect on device not_pci-1 address 5
hub.c: new USB device not_pci-1, assigned address 6
ttyACM0: USB ACM device
usb.c: USB disconnect on device not_pci-1 address 6
hub.c: new USB device not_pci-1, assigned address 7

Isso é bem mau, pois conectividade GRPS/EDGE é um dos meus requisitos. Preciso pensar em um plano B.

Também descobri que a Technologic Systems oferece um produto baseado no TS7300 chamado TS-COMBOX com 25 portas seriais -- precisamente o que eu queria fazer reprogramando a FPGA. Eu ainda posso fazer isso, mas teria de recomeçar do zero -- as 8 UARTs, o cartão SD e o vídeo implementadas na FPGA são proprietárias; o código Verilog postado no site do projeto OpenCores só tem o MAC ethernet.

Como já dizia o célebre Capitão Nascimento: "quem disse que a vida é fácil?"...
topo


Você está aqui: Kiko > PostsEmPortugues > PtBrBlogEntry2008Jan27A

topo

Creative Commons License   O conteúdo deste site está disponibilizado nos termos de uma Licença Creative Commons, exceto onde dito em contrário.
  The content of this site is made available under the terms of a Creative Commons License, except where otherwise noted.