RedesAutonomasLogEfeefe

De nuvem
Revisão de 18h07min de 12 de maio de 2013 por FelipeFonseca (Discussão | contribs)

(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para: navegação, pesquisa

Página principal > Redes Autônomas (Felipe Fonseca e Vincenzo Tozzi-Brasil)


05/11/12

Passamos algumas horas hoje brincando com rasppi (não subiu wifi), com o laptop onde fica a nuboteca (que não subiu a rede em modo ap). Tem uma beagleboard também, mas acabei voltando para a casinha onde estamos ficando, e vou testar com o nc10. NC10 é um netbook da samsung comprado em 2009 e usado por quase dois anos. Deu problema no cooler e no teclado, e acabei trocando por outro. Mas ele aparentemente ainda pode dar um bom servidor, com a vantagem de ter uma bateria com duração razoável.

Abri o NC10 para instalar um dos cartões wifi mini pci que trouxe. Escolhi um atheros, que costuma ser mais bem suportado por várias distros. Por enquanto arranquei também o teclado, que não funciona bem. Estou com um teclado USB da Nuvem, deve dar conta. Voltei para meu computador, abri o unetbootin para criar um disco de boot. Tentei usar um cartão SDHC de 16G, mas o unetbootin não deixou. Deve ter seus motivos (mais tarde percebi que o cartão SD está com problemas). Acabei fazendo um pendrive de 2Gb com a imagem do debian-6.0.6-i386.

Subindo o disco de boot. Optei pela instalação padrão. Configurei idioma e teclado. Configuração de rede, não preciso agora. Nome da máquina (uaifai), senha de root (lanovale), meu usuário e senha. Particionamento: assistido, usar o disco inteiro. Partição /home separada. Escrever as mudanças no disco. No tasksel, optei por não instalar o ambiente gráfico, e escolhi servidor web, sql, ssh, laptop e utilitários standard de sistema. Grub? Sim. Reiniciando. Sistema subiu. Mas testando com a wifi, não deixou setar modo master. Desliguei, tirei esse cartão (um atheros ar5bxb63). Tentei com outro (um mini pci express, ath ar5b95). Também nada. Terceira tentativa (e última à mão), um rtl 8187b. Nada. Beco sem saída?

Tentando com um zd1211, USB. "Unable to enumerate USB device on port 6". Procurando na web, parece uam incompatibilidade de velocidade de interface USB. Gambiarra, solução meio capenga, aqui: http://www.geekdevs.com/2010/04/solved-unable-to-enumerate-usb-device-disabling-ehci_hcd/

Consegui plugar, reconheceu como wlan3. E nada de modo master. Em último caso, amanhã tiro o pci da alix e instalo no samsung.

Enquanto isso, copiando a imagem do debian (i386, DVD) para o cartão de memória. O plano é levar para o samsung, então montar como unidade em loop, copiar os debs do /pool para um diretório local e então montar um repositório, seguindo isso aqui:

https://odzangba.wordpress.com/2006/10/13/how-to-build-local-apt-repositories/

Deu pau na cópia (alguma merda no cartão de memória travou minha máquina, acho).

Encontrei um chinês buscando coisas parecidas: http://old.nabble.com/zd1211B-for-AP-mode-td31868516.html

Dali, parece que o hostapd resolve o lance. A ver.

Configurei meu celular como roteador, criando uma rede sem encriptação. Acessei pelo nc10, iwconfig, fácil. Mexi na sources.list (adicionei deb http://ftp.debian.org/debian/ squeeze main). Update, install dnsmasq, hostapd e hostap-utils. Amanhã continuo, na Nuvem.

06/11/12

De volta à Nuvem. Tentei subir a rede uaifai a partir do samsung nc10 usando as configurações do hostapd sacadas da alix. Não deu, reclamou que não podia setar o modo master. Agora vou tirar o wifi da alix e colocar no nc10. Vamos ver se funciona.

Hm, não deu. O cartão na alix é pci express, não minipci express como no laptop. Vou testar com a outra atheros (ainda menor, prendi com fita crepe).

Não rolou. Depois fiz uma série de tentativas com as diferentes opções de wifi usb que temos disponíveis aqui. A R8188 deixa modo master, mas não é suportada pelo hostapd. A prism não funciona em modo ap. A outra, nada.

Voltando a pensar na atheros. Baixando o madwifi para refazer a interface como ap. A ver. Começar tentando do jeito mais fácil, adicionando contrib e non-free no sources.list. Não encontrou. Adicionando repositório backports. Update. Nada. Seguindo então as instruções do wiki do madwifi-project para compilar.

Não encontrou o source do madwifi. Baixei o 0.9.4-current. Compilou ok mas não encontrou o device. Tentando agora habilitar o modo ap no ath9k e recompilá-lo: http://linuxwireless.org/en/users/Drivers/ath9k#Get_the_latest_ath9k_driver

Compilado ok, mas não reconheceu a placa.

07/11/12

Ontem ainda encontrei um patch que dizem resolver para habilitar o madwifi a funcionar com a placa atheros (mini).

http://madwifi-project.org/ticket/2391

É para uma revision específica do source. Subversion -r 4174. Deixei baixando durante a noite.

Aplicando o patch: na pasta madwifi, patch -p1 < patch

  1. make
  2. make install.
  3. reboot

ath0 rodou. Não deixou modo ap. Mandei a linha:

  1. wlanconfig ath0 destroy
  2. wlanconfig ath create wlandev wifi0 wlanmode ap

E pronto, modo ap funcionando!

Brincando com o roteador TP-Link AR743ND. Baixando a versão do openwrt para ele:

http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-wr743nd-v1-squashfs-factory.bin

Error code: 18005

Upgrade unsuccessfully because the version of the upgraded file was incorrect. Please check the file name.

Tentar então por tftp.


Saí para almoçar com as meninas. Enquanto isso, Vince encontrou uma imagem do dd-wrt para esse roteador e instalou. Ele já cria automaticamente alias de DNS com o hostname das máquinas que pedem DHCP. Depois de substituir o roteador antigo com esse rodando dd-wrt, todas as máquinas já podem acessar a nuboteca (e outras máquinas) pelo hostname de cada uma, sem precisar saber seu IP.


Trabalhei mais um pouco no samsung nc10, o "uaifai". Copiei as configurações de rede da alix. As mais importantes são:

O script de inicialização da interface de rede (/etc/network/interfaces):

auto ath0

       iface ath0 inet static
       address 12.34.56.78
       network 12.34.56.0
       netmask 255.255.255.0
       broadcast 12.34.56.255
       wireless-mode Master
       wireless-essid zasf
       up /usr/bin/hostapd /etc/hostapd/hostapd.conf

(precisei só mudar o caminho do hostapd para /usr/sbin/hostapd e o essid para uaifai)

A configuração do dnsmasq (/etc/dnsmasq.conf), contendo: dhcp-range=12.34.56.80,12.34.56.254,3h

A configuração do hostapd (/etc/hostapd/hostapd.conf), contendo:

interface=ath0
driver=madwifi
ssid=zasf (que mudei para uaifai)

Ao fim da tarde, consegui fazer funcionar a rede uaifai com essas configurações.


Fizemos uma "oficina". Falei sobre os quatro esquemas que estamos experimentando (alix, roteador dd-wrt + máquina nuboteca, raspberry pi, samsung). Depois fui mostrar algumas possibilidades que já estão funcionando na alix (web com wiki e hotglue, servidor irc, etc.). Enquanto Vince demonstrava o git-annex, terminei de instalar algumas coisas adicionais na nuboteca: ngircd (servidor irc), ushare (servidor upnp/dlna) e icecast. Modifiquei nas configurações o seguinte:

/etc/ushare.conf

USHARE_NAME=nuboteca USHARE_IFACE=wlan0 USHARE_DIR=/var/www/nuboteca

Não habilitei o DLNA.

E consegui acessar o UPNP pelo aplicativo de DLNA no meu celular ;). Vídeos são sempre complicados, mas as imagens eu consegui acessar tranquilo.

O icecast me perguntou algumas coisas durante a própria instalação. Mantive as senhas padrão. Depois ainda mexi o nome na config:

/etc/icecast2/icecast.xml

   <hostname>nuboteca</hostname>

Adicionei à home do apache na nuboteca o link para a interface web do icecast:

http://nuboteca:8000/status.xsl

E fiz um stream live com o idjc a partir da minha máquina para testar ao vivo com o pessoal. Funcionou ;)

08/11/12

Configurei mais algumas coisas na nuboteca: mexi mais com o icecast, instalei o mpd e o ampache (mas ainda não consegui fazer funcionar direito). O plano é subir um hotglue e acho que vou instalar um drupal+openlayers pra galera do silêncio. Copiei para o Desktop da nuboteca os arquivos recebidos pelo form via web e os dumps de sites que eu peguei.

Travei na uaifai, por enquanto vamos fazer com outro roteador e deixar a máquina como cliente, daquele jeito…

Instalando o dd-wrt no outro roteador TP-LinkWR743ND. Liso. Ficou essid VemnuVemnu e IP 192.168.2.1.

Voltando à nuboteca. Vince está experimentando com sincronização de instalações do hotglue. Eu vou instalar um drupal para o pessoal da autonomia do silêncio, que quer um site local para trabalhar com mapas. Baixei o drupal7 e os módulos admin e openlayers.

09/11/12

Copiando mais coisas para a Nuboteca: contribuições enviadas pelo form na web, algumas coisas do meu acervo pessoal, etc.

Tivemos (ff, vince, isabel, javier, lula) uma reunião sobre a estrutura de organização das pastas do acervo. Isabel propôs outra estrutura de organização, baseada mais no conteúdo do que no formato dos arquivos. Falei sobre as limitações da metáfora de desktop, que supõe que cada arquivo só esteja em uma pasta de cada vez. Falamos sobre alguma maneira menos estruturada de organizar acervos. Por outro lado, pensando em sincronizar redes distribuídas como é o caso da realidade da rede Mocambos, é bom ter uma organização mais estruturada para facilitar as coisas. Sugeri que talvez tenhamos dois caminhos paralelos a trabalhar: um deles é pensar uma solução genérica para sincronização de redes, a outra é encontrar uma solução local para o acervo da Nuvem.

Logo depois nos reunimos com os tutores para dar uma geral. Brazileiro acabara de voltar, então contei um pouco sobre o que fizemos nos últimos dias. Conversamos sobre o que já conseguimos fazer e possibilidades de desenvolvimento na sequência. Fiquei de documentar melhor o que fazer para uma máquina virar uma rede autônoma. Amanhã vou a Ubatuba levar as meninas, vou concentrar nisso e ver algumas referências (sistemas de gestão de documentos, e ver o projeto que ganhou o ars electronica que leslie sugeriu: tools for the next revolution).

Voltando aos testes: o segundo roteador, com a rede VemnuVemnu, está funcionando. O Samsung (que agora não se chama mais uaifai, e sim tecanubo) pegou o IP por dhcp, mas não informou ao roteador seu hostname. Achei que mais eficaz do que entender por quê seria encontrar uma solução. Atribuí um IP fixo ao samsung (192.168.2.10) e vou mexer no dnsmasq do roteador para encaminhar tudo que for "tecanubo" pra lá. Segui isso aqui: http://cybernetnews.com/local-internal-dns-ddwrt/. Aparentemente funcionou.

Mudei alguns detalhes na configuração do ngircd, servidor IRC da nuboteca. Só detalhes, em /etc/ngircd.

Baixei o código do etherpad-lite (deixei em /media/nuboteca-ext4/ferramentas). Tentei rodar, mas antes preciso instalar algumas coisas. Vai ficar durante a noite.

$sudo apt-get install gzip git-core curl python libssl-dev pkg-config build-essential

Documentaçao do etherpad aqui https://github.com/Pita/etherpad-lite/wiki

Aa noite, reuniao geral. Ideias de conexao entre projetos...

12/11/12

Voltei de Ubatuba. Fiz rodar o etherpad (ver documentação em RedesAutonomasServicosWeb). Demorou um pouco para baixar as dependências, e o script de inicialização como serviço não rolou. Mas está funcionando. Fiz testes com o asterisk na minha máquina. O servidor parece subir, mas não consegui me acertar com a configuração do sip: não consegui logar um usuário. Parece que rola instalar o asterisk direto no dd-wrt (http://www.dd-wrt.com/wiki/index.php/Asterisk e http://g300nh.blogspot.com.br/2010/06/asterisk-voip-server-on-dd-wrt.html). Vou também experimentar com outras soluções de voip.

13/11/12

Criei um script temporário para rodar o etherpad ($etherpad-lite). Instalando o omeka, para ver se serve de alguma coisa. Instalei também o abiword. Acabei de importar um PDF para dentro do pad, rodou legal. Exportei depois para PDF também.

Estudando na minha máquina outras opções de voip. Instalei o kamailio, fork do openser. Mexendo nas configurações. Ele vem com um programinha para gerenciar, kmactl. O kamailio.cfg é confuso, tem um monte de esquemas de DB e coisas assim. Habilitei o uso do mysql no /etc/kamailio/kamctlrc, mas ele não populou o db. Procurando na web (paciência). Tutorial aqui: http://kb.asipto.com/kamailio:skype-like-service-in-less-than-one-hour. Depois de mexer nas configs, rodar o $sudo kamdbctrl create. Depois criei usuários, $sudo kmactl add usuario senha. Consegui logar no pidgin, mas não consegui fazer uma conexão entre usuários. Pelo kamailio.cfg que baixei do link, ele não roda. Vou instalar o rtpproxy antes de sair mexendo. Instalei, rodei e nada. Insisti mais um pouco, mas vou deixar para depois. Encontrei aqui um relato sobre usar o kamailio (para gerenciar registros) junto com o freeswitch: http://nil.uniza.sk/sip/kamailio-33-and-freeswitch-122-interconnection-voicemail-and-conference-services-debian-squeeze-60-64bit-tutorial.

Voltando a insistir com o Siremis, interface web para gerenciamento do kamailio. As instruções estão quase certas, exceto nas modificações necessárias à configuração do apache:

 Alias /siremis/ "/var/www/siremis-x.y.z/siremis-web/"
   <Directory "/var/www/siremis-x.y.z/siremis-web/">
       Options Indexes FollowSymLinks MultiViews
       AllowOverride All
       Order allow,deny
       Allow from all
       RedirectMatch ^/siremis/$ /siremis/bin/
       <Files ~ "\.inc$">
           Order allow,deny
           Deny from all
       </Files>
   </Directory>

Comigo ficou assim:

 Alias /siremis/ "/var/www/siremis-3.0.3/siremis/"
   <Directory "/var/www/siremis-3.0.3/siremis/">
       Options Indexes FollowSymLinks MultiViews
       AllowOverride All
       Order allow,deny
       Allow from all
       <Files ~ "\.inc$">
           Order allow,deny
           Deny from all
       </Files>
   </Directory>

E consegui continuar com a instalação. $make prepare e $make chown, e o resto pelo browser.

14/11/12

Apresentamos o projeto hoje pela manhã: serviços na rede local, organização do acervo, experimentos de sincronização e algumas ideias derivadas. À tarde ficamos algum tempo sem eletricidade. Agora há pouco instalei o supybot na nuboteca, via apt. Configurei usando o supybot-wizard. Chamei o bot de "vapor", e ativei alguns plugins. Deixei o arquivo de configuração em /opt/supybot/vapor.conf e fiz um script em /usr/local/bin chamando o supybot com essa configuração. Testado, ok. Documentação dos plugins aqui:

http://supybot.fr.cr/doc/use/plugins/index.html

24/11/12

Saí do Interactivos pilhado em continuar as experiências com wifi e redes locais. Passei alguns dias totalmente fora da internet, num sítio em Cunha. Configurei a rede local na Alix, montei uma rádio local e mostrei algumas coisas pra galera. Montei um sitezinho no hotglue. O pessoal no sítio demandou uma maneira de compartilhar fotos, e acabei montando um site em drupal (drupal 7, testando mais a sério pela primeira vez) no meu computador (a alix não estava com o mysql instalado). De volta a Campinas, instalei o mysql na alix e espetei ela direto na rede aqui em casa. A ideia é ir aprimorando os sistemas e em dezembro levar de novo para Cunha. Configurei um direcionamento pelo no-ip para minha rede local e configurei o roteador para mandar tudo que entrasse ali para a alix (como DMZ). Tentei acessar de fora, e aparentemente o virtua está bloqueando a porta 80. Mas o ssh continua funcionando, então consegui configurar para outra porta, 8008. Funcionou por um tempo, mas depois caiu e não consegui mais acessar (mas o SSH continuou).

Hoje deixei transmitindo uma playlist por icecast, e aproveitei para brincar um pouco com a raspberry pi. Baixei o raspbian wheezy (http://www.raspberrypi.org/downloads), gravei no cartão SD e liguei, com a saída HDMI ligada na tv. Não tinha teclado, então entrei por ssh e derrubei o raspi-config que já estava rodando na tela. Mexi um pouco no raspi-config, depois voltei pro terminal e instalei o mplayer. Mandei ele tocar o stream que saía da minha máquina e se espalhava através da alix: funcionou bem, mandando a saída de som direto pelo cabo HDMI para a TV. Já tinha pirado lá na nuvem com a ideia de usar a raspi pra fazer aparelhos estilo radinho de pilha, pra escutar automaticamente streams via icecast. Massa.