Posts Tagged ‘slackware’

Pub/ MySQL Connector e unixODBC

Sunday, January 17th, 2010

Adicionando ao pub/ mais dois pacotes e slackbuilds, MySQL Connector ODBC (ex MyODBC) e unixODBC. Ambos compilados para slackware 13.0 e -current. Os dois pacotes estão sendo compilados com –disable-gui por conta da Qt 4.5 distribuida no slackware, já que os pacotes só suportam até a 4.3.

Have fun. :)

Nota mental: tenho que lembrar de modificar os slackbuilds e submeter no slackbuilds.org

Review receptor ISDB-T DiBcom STK8096GP (TV digital do Brasil)

Sunday, December 13th, 2009

Na visita do Jon “Maddog” ao Brasil para o 4º SoLiSC ele trouxe, como sempre, alguns brinquedinhos comprados nas viagens. Um deles é um receptor de televisão digital para o padrão ISDB-T usado no Brasil e Japão, mais especificamente ao padrão brasileiro. Como ele não tinha tempo para testar eu me ofereci (nerd é a vó).

O produto é chinês, fabricado por uma empresa chamada MyGica. A embalagem é simples, não mostra nem o nome da empresa que fabrica, informação essa que só consta no manual. É bem montado e acabamento aceitável para o preço (algo em torno de $50).

O controle remoto fica na parte de trás da embalagem.

O controle remoto fica na parte de trás da embalagem.

O conteúdo da embalagem é tão completo quanto parece, só vem o essencial:

  • O receptor em formato “dongle”
  • Antena VHF/UHF de alto ganho (diz ela)
  • Adaptador para ligar uma antena externa
  • Controle remoto desenhado para o software Total Media que vem no CD
  • Manual
  • Cd com driver e software de media
Nada mais que o suficiente

Nada mais que o suficiente

Um detalhe estranho, o driver para windows que vem no CD não é o driver correto para o chip de captura. Encontrei o driver correto em um fórum chileno e deixo aqui caso alguém precise.

Não vou cobrir a instalação dele no windows, então vamos ao que interessa, ao plugar ele no seu computador você não vai ter muitas informações.

usb 1-1: new high speed USB device using ehci_hcd and address 6
usb 1-1: configuration #1 chosen from 1 choice
usb 1-1: New USB device found, idVendor=10b8, idProduct=1fa0
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: STK8096GP
usb 1-1: Manufacturer: DiBcom
usb 1-1: SerialNumber: 1

Isso não colabora muito mas nos dá o fabricante e o modelo do chip. Com isso é fácil dar uma googlada sobre o funcionamento dele no Linux. A boa notícia é que o fabricante é bonzinho e colaborou com a confecção do driver. Temos por tanto um suporte ainda inicial ao ISDB-T no v4l-dvb. Uma questão de fazer o download, um make, make install e tudo pronto. Para isso basta pegar o trunk (já que é experimental vamos viver perigosamente).

$ hg clone http://www.linuxtv.org/hg/v4l-dvb
$ cd v4l-dvb
$ make
$ su
# make rmmod
# make install

Você pode substituir o su com sudo se preferir. Após instalar os driver ainda precisamos do firmware do dispositivo. Basta fazer o download e colocá-lo em /lib/firmware/ que tudo estará bem. A resposta do dmesg após replugar o dispositivo agora deverá ser algo como:

dib0700: loaded with support for 14 different device-types
dvb-usb: found a 'DiBcom STK8096GP reference design' in cold state, will try to load
a firmware
firmware: requesting dvb-usb-dib0700-1.20.fw
dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw'
dib0700: firmware started successfully.
dvb-usb: found a 'DiBcom STK8096GP reference design' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
DVB: registering new adapter (DiBcom STK8096GP reference design)
DVB: registering adapter 0 frontend 0 (DiBcom 8000 ISDB-T)...
DiB0090: successfully identified
input: IR-receiver inside an USB DVB receiver as /devices/...
dvb-usb: schedule remote query interval to 50 msecs.
dvb-usb: DiBcom STK8096GP reference design successfully initialized and connected.
usbcore: registered new interface driver dvb_usb_dib0700

Não é lindo? :)

Com isso nos temos o dispositivo funcionando mas ainda falta o pedaço que me fez perder algumas horas. Escanear os canais para poder ver o Faustão na telinha do seu PC (ele cabe agora que emagreceu). Para isso nos vamos usar as ferramentas que o driver ali em cima já instalou antes junto com os módulos. A aplicação scan fará isso mas ela precisa de informações para fazer seu trabalho, ela precisa de uma lista de freqüências e ranges para poder escanear por recepção. Essa lista eu consegui primeiramente no blog de dougsland (que não parece ter o nome real divulgado no site). Sabendo o que eu estava procurando (frequency table) eu consegui encontrar no excelente wiki do linuxtv.org em http://www.linuxtv.org/wiki/index.php/ISDB-T_Frequency_Table

Copie o conteúdo e cole em um ch.conf então rode o comando scan para gerar a lista de canais disponíveis:

$ scan ch.conf > channels.conf

Isso gerará um monte de erros como:

>>> tune to: 503142857:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_3_4:FEC_AUTO:QAM_
AUTO:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_NONE

Mas não se preocupe, são normais. Se você tem recepção no meio desse monte de erros você verá um:

Network Name 'RBS TV FLOPS'
0x0000 0xdc60: pmt_pid 0x0101 (null) -- RBS TV HD (???)
0x0000 0xdc78: pmt_pid 0x1fc8 (null) -- RBS TV 1seg (???)

E então seu arquivo channels.conf terá as informações de canais para que você possa vê-los. Se você está em Florianópolis Santa Catarina Brasil por volta do ano de 2009 você terá somente dois canais, um 1 seg e outro full seg que são, infelizmente:

RBS TV HD:587142857:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_3_4:FEC_AUTO:QAM
_AUTO:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_NONE:273:274:
56416
RBS TV 1seg:587142857:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_3_4:FEC_AUTO:QAM
_AUTO:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_NONE:529:530:
56440

Afinal a Band ainda tem as madrugadas de sábado pra animar a garotada. Com isso nós ficamos no ultimo passo: assistir televisão. Mas antes, uma explicação rápida antes sobre a zona toda de TV digital (não achou que eu ia te liberar agora né?).

O mundo todo usa os tais dos DVB-S, DVB-T, DVB-S, DVB-C e ATSC, o Japão  criou e usa o ISDB-T, o Brasil adotou ele e o usa para transmissão, inclusive usa o mesmo range de freqüências, se as tabelas não são iguais elas são muito parecidas. A transmissão digital usa 13 segmentos, 1 deles esse padrão deixou reservado para transmissão de baixa qualidade para dispositivos móveis, com telas pequenas, ou baixa capacidade. Sim, esse é o tal do 1seg que você vai ver bastante. O resto é transmitido em 12 segmentos (full-seg) e nesses estão as transmissões standard e hd. O codec de audio usado é o AAC e o de vídeo e o H264.

Toda a parte anterior está resolvida pelo driver, linda e funcional, um charme tecnológico. Mas… a questão do codec ainda não. Apesar do MPlayer ter colocado suporte por agora ainda não está bom até a redação desse texto. A unica alternativa viável por agora é o VLC que tem suporte a h264 e AAC. Além de se entender com o DVB.

Para fazer funcionar basta você clicar em Exibir > Lista de Reprodução, clicar no mais, adicionar o channels.conf que você criou, dar dois cliques e pronto, simples assim.

No fantástico =

No fantástico =)

Mas vamos ao que interessa, e o HD??? Bom, veja bem. O h264 garante uma alta compressão com pouca perda de qualidade, mas isso tem um custo, um rim. Digo, um processador, você precisa ter uma máquina BOA para descodificar o vídeo em HD 1080p. Tanto que no linux eu não consegui tocar direito por conta da implementação do h264, no áudio é perfeito sem nenhum problema, vídeo vai travando, inclusive no poderoso windows (por conta do meu proc dai). Pra ser sincero, no VLC eu não consegui visualizar nem o 1seg direito por conta da descodificação do h264 o vídeo fica com frames repetidos (falha na interpolação ou algo por ai). Você pode ter mais sorte em uma versão mais nova ou melhor do VLC (não desista padawan).

Quero ver você pegar momento melhor pro screenshot.

Quero ver você pegar momento melhor pro screenshot.

Sobre o controle remoto, ele funciona e o driver reconhece mas eu não tive tempo de fazer ele fazer algo útil. A prova são as mensagens que o driver põe no kernel. Basta tratá-las e usar, mas não é algo que um usuário comum faria, então fica pra outra hora (talvez nunca :P ).

dib0700: Unknown remote controller key: 0000 20 df
dib0700: Unknown remote controller key: 0000 20 df

Todo o processo acima foi feito em cima de um Slackware Linux com versão entre 12.2 e current pré 13.1. (sim, uma zona).

Ps. Gostaria de agradecer a Douglas Conrad que me deixou ficar com o equipamento por uns dias para testes. Foi divertido :P

Chromium e Slackware

Wednesday, September 30th, 2009

Chromium

Finalmente após anos de tortura tendo que aguentar as travadas do Firefox chegou o momento de ter um browser leve, rápido e com renderização de fontes decente no linux. Chegou a vez do Chromium, projeto open source do Google que é a fonte do browser Chrome. Um amigo meu estava usando ele no ubuntu eu resolvi rodar ele no Slackware. Descreverei o processo de instalação e a minha análise sobre esse beta.

Primeiro instale o mozilla-nss a provável unica dependência que você vai precisar.

Eu não criei um pacote para o chromium, talvez eu o faça no futuro. Até lá baixe o ultimo tarball e rode só pro seu usuário, caso você tenha problemas com os nomes estranhos criados pelo pessoal que empacota para o debian (alguém faz ideia de por que o .d??) faça o seguinte que tirei daqui.

ln -s /usr/lib/libplds4.so /usr/lib/libplds4.so.1d
ln -s /usr/lib/libnss3.so /usr/lib/libnss3.so.1d
ln -s /usr/lib/libsmime3.so /usr/lib/libsmime3.so.1d
ln -s /usr/lib/libssl3.so /usr/lib/libssl3.so.1d
ln -s /usr/lib/libnssutil3.so /usr/lib/libnssutil3.so.1d
ln -s /usr/lib/libnspr4.so /usr/lib/libnspr4.so.0d
ln -s /usr/lib/libplc4.so /usr/lib/libplc4.so.0d
ln -s /usr/lib/libplds4.so /usr/lib/libplds4.so.0d

Tente rodar o chrome primeiro, pode ser que tenha mudado no ultimo build. And there you go. :)

Usando um tema escuro pra ficar mais discreto.

Usando um tema escuro pra ficar mais discreto.

A análise: é rápido, muito rápido. Tem corretor ortográfico . E tudo que tem na versão windows. Ainda não tem sua ferramenta que substitui o Firebug madura o suficiente para ser usada ao invés do inseto flamejante mas da pro gasto em toda a parte de navegação. Outro contra é a falta de gears mas dizem que o próprio html 5 terá suporte para armazenagem, aguardaremo então até o Chromium e o GMail darem suporte para isso. :/

Atualizando Slackware 12.2 para 13.0

Monday, August 31st, 2009

Dia 26 de agosto foi lançada a versão numero 13.0 do Slackware Linux. Com kde 4, novo sistema de pacotes e toneladas de mudanças a atualização pode confundir algumas pessoas. Aqui fica meu passo a passo de como atualizar:

  1. Edite seu /etc/slackpkg/mirrors e coloque o repositório do 13.0
  2. slackpkg update

Aqui vem o macete. Primeiro atualize esses dois indivíduos e instale esse outro:

  1. slackpkg install xz
  2. slackpkg upgrade pkgtools
  3. slackpkg upgrade slackpkg

Por fim, é só executar o de sempre:

  1. slackpkg install-new
  2. slackpkg upgrade-all

Have fun com seu Slackware 13.0 :)

Pub/ do guax.net

Wednesday, July 22nd, 2009

pub

Está no ar o incrível diretório pub/ do guax.net. Disponível em www.guax.net/pub ele contém alguns arquivos que eu quero compartilhar com esse mundão velho sem porteiras. :)

Esses arquivos são SlackBuilds de softwares e seus pacotes gerados assim como mirrors para meus próprios projetos.

Lá vocês já vão encontrar um README (duh!) e o primeiro slackbuild (asterisk) que eu modifiquei e estou redisponibilizado para quem quiser. Em outro post eu explico ao certo qual é a desse slackbuild. :)

Ps. Lembrando a piadinha infame do cd pub/; more beer; :D

Mirror próprio para Slackware e Geração de CD’s

Friday, July 10th, 2009
Slackware Linux

Slackware Linux

Sexta a noite a nerdeada do dia é gerar um cd do Slackware Linux usando um mirror próprio :D .

A dica vem da ultima edição do Slackware Zine.