Jump to Navigation

Alix3d3

Realizando testes com a Alixd3d. É um "sistema em um chip" (SOC), com processador AMD Geode de 500Mhz, 256Mb de RAM, portas VGA, 2xUSB, serial, rede e áudio integradas. Ela roda com corrente contínua de 7.5V a 20V.

1. Recebendo o pacote

pacote

Recebi pelo correio a minha Streambox Alix. Primeira coisa foi abrir o pacote e checar o que tinha dentro.

bilhete

Em cima da Alix fechada, bilhete pessoal do broda só pra ter certeza que não teria problemas na entrada aqui.

cartao

Cartão CF de 4Gb já com um sistema rodando. Ele tem um grub que oferece 4 ou 5 opções: dois kernels da streambox, um kernel "volátil" de pure:dyne e outros dois kernels de pure:dyne.

bajo

Parte de baixo da Alix. Na borda esquerda, plugues de entrada e saída de áudio e VGA, e não se vêem as duas portas USB. No meio, o cartão CF já instalado, e um slot minipci. Não dá pra ver na foto, mas na borda direita tem mais um conector ETH, alguns LEDs, a entrada de alimentação e uma porta serial (lembra disso?).

cima

A Alix vista de cima. Mais um slot minipci, a bateria e o processador AMD Geode 500.

2. Rodando a Streambox

(cenas do próximo capítulo, mais em breve)

A idéia da Streambox é criar um pacote de hardware e software para estrimar áudio sem precisar de muita configuração. Em tese, se a Streambox for conectada a uma rede DHCP e ligada, ela transmite qualquer coisa que entrar pelo plugue de entrada de áudio da caixa.

Liguei a streambox pra testar com a fonte de um laptop Amazon HEL-81. Ela se comportou bem. Nas primeiras vezes, eu estava sem teclado, então só fiquei olhando. Até tentei espetar ela na rede e usar uma wi-fi, mas não tinha muito o que fazer. De saída de sampa, comprei uma daquelas fontes com saída regulável, com máximo de 12v.

Já em Ubatuba, liguei meu teclado de borracha e o monitor externo, para rodar de verdade a Alix. Pluguei um monte de coisas num hub USB, e liguei a fonte. Nada. Começava o boot e voltava. Deixei de lado por um dia, e voltei na manhã seguinte com a fonte de um thinkpad de uns amigos que está parado lá embaixo. Bootou normal. Acho que a fonte que comprei não dá conta da Alix mais todos os lances que liguei na USB.

Fiz algumas experiências com o wi-fi, mas acho que tem algum problema com o firmware da minha placa USB que usa o driver zd1211rw. Baixei em outro computador o .deb do firmware dela, movei pra alix com um pendrive e começou a listar as redes. A princípio, consegui pegar um IP por dhcp, mas ainda não consegui conectar direito.

((Pra ter certeza, acho preciso ligar direto pelo cabo de rede, mas o roteador fica do lado de fora da casa. Pra rodar lá, preciso começar atualizando a BIOS, que na versão que chegou aqui conta com um problema: não deixa a alix bootar sem estar ligada a um monitor. Vou começar por aí, então.))

Conectando, atualizando

(120509) Depois de pesquisar um pouco outras distros como imedia e voyage (ver links nos bookmarks, abaixo), acabei decidindo brincar um pouco mais com o debian que o broda mandou, porque pelo menos eu conheço um pouco do sistema. Quem sabe depois de ter outro cartão CF eu brinque mais com outras distros. Pra conectar à internet, acabei compartilhando a conexão do meu laptop (inicialmente direto no iptables, mas depois decidi testar o firestarter outra vez, e funcionou). Agora tô rodando um apt-get update && apt-get upgrade, e seja o que dios quiser ;)

(130509) O upgrade de ontem rolou ok, e agora estou instalando wireless-tools e o firmware do zd1211. Precisei adicionar contrib e non-free ao repositório do debian no sources.list.

(140509) Instalei o wpa_supplicant e depois de penar bastante lembrei que tinha ligado o wi-fi em um hub USB, e aparentemente não rola. O mouse infravermelho barato e o bluetooth aparentemente funcionavam no hub, mas o wi-fi não. Como o teclado também não gosta de trabalhar no hub USB, isso deixa um problema: as duas portas USB já ficam tomadas, de cara. Solução possível é descolar um wi-fi por PCI Express, mas isso é mais uma grana que vai. Será que tem outra opção?

(020809) Lento por aqui, mas andando. Nas últimas semanas, descolei alguns complementos de laboratório pra Alix: um leitor de cartão CF, um cartão CF de 2Gb, um hub USB com alimentação externa, um monitor monocromático de 7". Ainda nos planos: um cartão wi-fi MiniPCI (com chipset que permita criar redes em modo Master e Ad-Hoc) e um kit de painel solar e bateria. Pesquisando por aí, vi que cartões CF são meio problemáticos, mas bastante estáveis. Lembrei de um amigo fotógrafo que usava cartões CF. Vou pedir os antigos pra ele.

Baixei a imagem freedos.zip daqui. Segundo o site, ela não funciona para todas as geometrias de cartão CF.  Descompactei. Escrevi o freedos.img para o cartão CF. Testei, boot ok. Sorte. Voltei pro linux, baixei o arquivo de atualização da BIOS aqui (beta - alixbio7.zip). Montei o cartão CF e joguei os arquivos da atualização da BIOS lá dentro. Amanhã eu atualizo a BIOS.

atualizando a BIOS

(030809) O update da BIOS rodou bem. Ainda não testei se o sistema está disponível sem o VGA, mas teoricamente não deve mais dar problemas. Na sequência, seguindo as instruções daqui, baixei e instalei o voyagelinux (voyage-lenny), com as configurações abaixo:

  • Distribution directory:   /home/felipe/Desktop/distros/voyage/voyage-current
  • Disk/Flash Device:        /dev/sdb
  • Installation Partition:   /dev/sdb1
  • Bootstrap Partition:      /dev/sdb1
  • Will be mounted on:       /media/usb
  • Target system profile:    ALIX
  • Target console:           standard
  • Bootstrap installer:      grub
  • Bootstrap partition:      /dev/sdb1

Reiniciei, e o sistema está de pé. Agora é brigar com wifi e outras coisas.

(040809) Liguei a Alix. $remountrw. O teclado flexível que estou usando com a Alix é meio sacal, então resolvi entrar por ssh. Subi o eth0 no meu meu PC, iniciei o firestarter, conectei o cabo de rede. Reiniciei a rede na alix, ela pegou o IP. Testei, pingou ok. Entrei por SSH, tudo ok. $apt-get update e upgrade (estranho, nenhuma atualização).  Mandei instalar o build-essential. Depois ainda instalei nano, lynx, iptraf, nmap, aptitude e outros quitutes.

Primeira tentativa: wifi zd1211 em modo Master. Baixei o driver do fabricante pra compilar. Mas não consegui instalar o source do kernel, pra compilar. O apt-cache até lista o pacote linux-source-2.6.30-486-voyage, mas não deixa instalar. Será que rola com o 2.6-26? Acho que não.

Resolvi tentar com rede mesh. Instalei o olsrd (depois de tentar algumas vezes digitando errado o nome como oslrd). O wifi não subiu. Peguei o arquivo de firmware do zd1211 (que tenho em outras máquinas) e ok, rede subiu. Mandei rodar o olsrd.

Pra testar o mesh, liguei o tablet n800. No scan ele já encontrou a rede. precisei abrir o terminal e configurar um IP na mão (preciso instalar dhcp na alix), e depois disso consegui entrar por ssh na alix com o n800. habemus rede!

(090809) Comprei no mercado livre uma placa wi-fi minipci (R$ 49,90). Goya recomendou o chipset broadcom. Veio sem a antena, que vou ter que comprar separado. Mas já testando.Carregou o módulo, mas não sobe a interface. Preciso do firmware. Pesquisando em http://wireless.kernel.org/en/users/Drivers/b43, segundo recomendação da própria mensagem de erro. É a 4318, suportada segundo o site. Preciso só do firmware. Pra isso vou ter que conectar e instalar o b43-fwcutter.

(100809) usei o laptop de gateway. na alix: aptitude update, install b43-fwcutter. fetch and extract? sim.  Erro. Meu laptop tá estranho, perdendo a conexão direto. Tentar de novo, usando outra máquina como gateway.
Ok, b43 instalado. Tentando de novo:
# iwconfig wlan0 essid baiacu mode Ad-Hoc
# ifconfig wlan0 12.34.56.78
# olsrd -f /etc/olsrd/olsrd.conf
Ok, apareceu no iwlist scan em outra máquina. Conectei, e configurando a interface na mão consegui entrar por ssh! Agora falta o DHCP. Um passo de cada vez...

(120809) Antena instalada. Subi a alix, e usei essas dicas aqui pra funcionar o wpa_supplicant:
http://www.gdhpress.com.br/redeseservidores/leia/index.php?p=cap2-7
Única observação, o driver broadcom não funcion, mas o wext resolve.
Entrei na Alix por SSH via wi-fi. Agora posso controlar e acessar à distância!
Instalando lighttpd e, pra começo de brincadeira, o webcamd. Alix está viva e se comunicando! Configurei o /etc/network/interfaces já apontando pro arquivo de configuração do wpa_supplicant, pra ela entrar na rede automaticamente.

Quando a Alix foi encomendada, eles estavam sem a tampa frontal do case. Pra fixar a antena, precisei improvisar uma tampa de papelão. Não ficou tão mal:

alix montada

(130809) Pela primeira vez, liguei a alix sem monitor nem teclado. Depois de alguns minutos, entrei nela por ssh. Tá lá. Quase autônoma! Agora falta uma caixa melhor (um totem tecnomágico!), um painel solar e uma bateria.

(140809) Ok, essa configuração de rede funcionou no /etc/network/interfaces:
auto wlan0
       iface wlan0 inet dhcp
       wpa-conf /etc/wpa_supplicant.conf

Agora é hora de ir adiante. Fazer ele subir uma rede Ad-Hoc, rodar o olsrd e ainda configurar o dnsmasq pra redirecionar tudo pra ela mesma. Se não der certo, vou precisar ligar de novo no monitor e teclado, então vou me esforçar pra fazer tudo certo. Informações relevantes aqui:

https://help.ubuntu.com/community/WifiDocs/WirelessBroadcastSystem

Configuração da rede: tentando assim:

auto wlan0
        iface wlan0 inet static
        address 12.34.56.78
        network 12.34.56.0
        netmask 255.255.255.0
        broadcast 12.34.56.255
        up iwconfig wlan0 essid alix mode Ad-Hoc
        up /usr/sbin/olsrd -f /etc/olsrd/olsrd.conf

nunca vi esse "up", mas vai que funciona...

mudei também algumas coisas no arquivo .conf do dnsmasq: range de IPs pra dhcp, endereço e outras coisas (seguindo o link acima)

reiniciar a rede e... não deu :P

reiniciei a alix com monitor e teclado. automaticamente, nada. loguei, e vi que tinha subido a rede mas em modo managed. fui na configuração da rede, troquei a linha do up iwconfig por duas linhas:

wireless-essid alix
wireless-mode Ad-Hoc

tentei reiniciar a rede e nada. rebootei a alix, e aparentemente rolou. usei meu celular pra escanear as redes, e ele encontrou a alix.

pensei que alguns serviços poderiam ter problemas porque a alix sobe como read-only, mas o /var/log  o /var/run deixam escrever, então acho que ok.

(será que a ausência de um cooler fazendo vento sempre deixa a alix mais vulnerável a condensação de umidade aqui em Ubatuba?)

alix subindo sempre. mas o redirecionamento de dns não rolou ainda. estudar mais. consigo entrar por ssh, sem problemas.

(160809) Ontem testei na alix uma webcam que o pixel me emprestou, com o serviço webcamd. Bom pra monitoramento, mas também envolvimento mais direto com as entranhas da máquina (dá pra usar a metáfora "ver através de meus olhos").

O servidor irc não estava subindo sozinho porque o diretório /var/run/ngircd não permanece depois do reboot. Fui RTFM, e teoricamente deveria ter um diretório /ro que serve de base pra montar o sistema, mas o diretório não existe. Não achei solução pra isso, e acabei adotando a gambiarra: logo no começo do script do ngircd, enfiei um mkdir /var/run/ngircd. Reiniciei o sistema e parece ok.

Audio: mandei ver um #aptitude install alsa-base alsa-utils. Pra testar, mplayer. Feito. Escutando canto de xangô de vinícius e baden powell. Já dá pra começar a brincar com festival e sphinx (síntese e reconhecimento de voz).

(170809) #aptitude install espeak. Ela fala!

#espeak "I am not here." -p1 -s100

(270809) Fiz um screencast da outra máquina conectando e usando algumas coisas da alix.

(181009) A alix deu umas voltas por aí: foi até ao encontrão transdimensional de Metareciclagem em Arraial d'Ajuda, além de ter criado redes mesh em Ubatuba e Sampa repetidas vezes. Desde o último relato (já vão quase dois meses!), algumas modificações: instalei o php5 para rodar um wiki local (pmwiki, que não usa banco de dados), tentei fazer funcionar o cgi:irc (mas alguma coisa não funcionou, ainda tenho que aprender mais sobre cgi no lighttpd) e dei uma refinada no redirecionamento (agora tudo é encaminhado para uma página HTML, e dela vão derivar os serviços). Também escrevi dois textinhos explorando algumas ideias sobre redes sem fio e estou rabiscando mais um, que mandei mesmo incompleto pro Mobilefest. Todos os textos poerdão ser acessados na tag "wireless" do desvio. Também estou fazendo mais um screencast, com essas coisas novas.

Fiquei aliviado porque passei por um safe-upgrade que me fez perguntas complicadas: precisei mexer em umas coisas delicadas no /boot/, mas parece que tudo voltou ok, e na real ainda melhor: o meu adaptador bluetooth de 18 reais antes não funcionava, e agora já foi reconhecido. No momento, estou trabalhando pra usar o GPS com a alix.

[PS] GPS rolou fácil, seguindo essas dicas aqui. Agora vou ver esse GPSd pra publicar as coordenadas de onde se encontra o barato. Não é tão útil pra redes autônomas, mas tem um caminho interessante pensando na linha de pesquisa de itinerâncias. Tentei o tal webgpsd, mas não entendi como funciona ((acho que precisa compilar o gpsd na mão - deixei pra depois))

Estou usando o wiki instalado na Alix para documentar algumas coisas mais particulares, ideias que surgem. Acho que é aí que começa a brincadeira: não vou republicar aqui todos esses insights, e nessa exclusão voluntária acaba surgindo um pouco o sentido de segredo, de experiência única e informação que só existe naquela conjugação espaço-tempo (e onde fica o "virtual" quando é inacessível?). Mas pra dar um gostinho, vai um parágrafo que colei lá:

"Me liguei que talvez isso aqui seja um wiki móvel: levo ele pelo mundo, e deixo as pessoas mexerem, copiarem, trazerem mais coisas, editarem. Mais um aspecto da hibridização do mundo informacional."

Ideias para o futuro: compartilhar e deixar visitantes compartilharem arquivos (mídia livre, etc) de diversas formas: NFS, SMB, uPNP, etc; conversar com a camera wi-fi que o glauco emprestou; implementar um chatbot mais versátil; oferecer clientes de IRC para as plataformas mais comuns (tanto computadores quanto móveis) + fazer o cgi:irc funcionar.

Links sobre a Alix: