segunda-feira, 4 de novembro de 2013

Configurando o Raspberry Pi como Servidor Caseiro - Parte 4 (Compartilhamentos)

Olá a todos!

Continuando nossas aventuras pelas raspberry, os compartilhamentos da Raspberry. Isto inclui um client torrent e uma nuvem privada, por enquanto.

Neste link, você encontra dicas de como otimizar as configurações do seu cliente torrent.

* Comandos precedidos por '$' devem ser executados como usuário comum
* Comandos precedidos por '#' devem ser executados como usuário root
* Comentários são precedidos por '//'.
* Quando arquivos forem alterados, sua alteração será entre '-'


//
// Transmission (Client Torrent)
//
# pacman -S transmission-cli
$ transmission-daemon //apenas para criar os arquivos de configs.
# killall transmission-daemon
$ vim ~/.config/transmission-daemon/settings.json
---------------------------------
Ajustar os parâmetros:
- download_dir
- incomplete_dir
- rpc_port
- rpc_whitelist_enabled (mudar para false)
- speed_limit_down
- speed_limit_down_enabled
- speed_limit_up
- speed_limit_up_enabled
- upload_slots_per_torrent
---------------------------------

// Isto deve ser feito porque o transmission
// é executado sobre um usuário próprio, que nós 
// não utilizamos. Devemos fazer com que o 
// daemon seja exxecutado pelo nosso usuário para 
// que as nossas configurações sejam aplicadas.
# mkdir /etc/systemd/system/transmission.service.d
# vim /etc/systemd/system/transmission.service.d/user.conf
-------------------------------------------
Neste novo arquivo, adicione o seguinte conteúdo:
[Service]
User=<seu.nome.de.usuario>
-------------------------------------------

// Alterando o arquivo de serviço para adicionar mais uma 
// camada de segurança:
# vim /usr/lib/systemd/system/transmission.service
---------------------------------
A linha ExecStart, deve ficar assim:

ExecStart=/usr/bin/transmission-daemon -f -t -u <seu.nome.de.usuario> -v <uma.senha.forte> --log-error
---------------------------------

// Criando os diretórios que foram declarados no arquivo settings.json
// nos params download_dir e incomplete_dir
$ mkdir /caminho/declarado/no/parametro/download_dir
$ mkdir /caminho/declarado/no/parametro/incomplete_dir

// Iniciando o serviço
# systemctl deamon-reload
# systemctl enable transmission
# systemctl start transmission

// Pra testar, acesse em seu browser: 
// http://ip.da.raspberry:<porta_declarada_no_parametro__rpc_port>
// Digite usuário e senha declarado no comando ExecStart e pronto!

//
// BTSync (nuvem privada)
//
# mkdir -p /usr/local/bin
# cd /usr/local/bin
# wget http://download-new.utorrent.com/endpoint/btsync/os/linux-arm/track/stable/bittorrent_sync_arm.tar.gz
# tar -zxvf btsync_arm.tar.gz
# rm LICENSE.TXT btsync_arm.tar.gz
# ./btsync --dump-sample-config > /etc/btsync.conf
# vim /etc/btsync.conf
------------------------------
Alterar os parâmetros:
- device_name
- storage_path
- listen (mudar apenas a porta de acesso)
- login
- password
------------------------------

# vim /etc/systemd/system/btsync.service
-------------------------------
O arquivo deve ter o seguinte conteúdo:

[Unit]
Description=BitTorrent Sync
After=network.target

[Service]
ExecStart=/usr/local/bin/btsync --config /etc/btsync.conf
Restart=always
Type=forking

[Install]
WantedBy=multi-user.target
-------------------------------

$ mkdir /caminho/da/pasta/declarada/no/parametro/storage_path
# systemctl enable btsync
# systemctl start btsync

// Para acessar, basta digitar o endereço no browser:
// http://ip.da.raspberry:<porta_declarada_no_parametro_listen>
// Digitar usuário e senha e pronto!


//
// Samba
//
# pacman -S samba
//neste link, existem vários exemplos de arquivos de configuração smb.conf.
// No Arch linux, o arquivo de configuração do Samba está localizado em /etc/samba
# systemctl enable smbd nmbd
# systemctl start smbd nmbd
// Caso você tenha configurado algum compartilhamento que necessite de senha, será necessário
// criar um usuário/senha para acessar o compartilhamento. Isto é feito com o comando abaixo.
// Porém, o nome de usuário deve ser o mesmo usuário que você criou na raspberry, ou seja, 
// O usuário do samba deve ter o mesmo nome do usuário linux.
# pdbedit -a -u 
// Para acessar o compartilhamento, basta digitar na barra de endereços do seu gerenciador de janelas:
// smb://ip.da.raspberry/nome_do_compartilhamento (linux)
// \\ip.da.raspberry\nome_do_compartilhamento (windows)

É isso. No próximo post,continuamos nossas aventuras pela Raspberry.

Inté.

Índice

domingo, 13 de outubro de 2013

Configurando o Raspberry Pi como servidor caseiro - Parte 5 (Tunning)


Olá a todos!

Continuando nossas aventuras pela Raspberry, vamos listar aqui algumas técnicas para aumentar a segurança e desempenho da Raspberry.  Lembrando que todos os procedimentos aqui são opcionais. :D


* Comandos precedidos por '$' devem ser executados como usuário comum
* Comandos precedidos por '#' devem ser executados como usuário root
* Comentários são precedidos por '//'.
* Quando arquivos forem alterados, sua alteração será entre '-'


//
// Instalando o pacote base-devel
// (Útil por conter diversas ferramentas interessantes 
//
# pacman -S base-devel

//
// Swap
//
# fallocate -l 256M /swapfile
# chmod 600 /swapfile
# mkswap /swapfile
# swapon /swapfile
# vim /etc/fstab
-----------------------------------
Adicionar a linha:
/swapfile none swap defaults 0 0
-----------------------------------

//
// Aumentando a segurança do servidor SSH
//
// Primeiramente, precisamos criar um par de chaves SSH. Caso você já tenha um par, 
// pode ignorar este passo. Caso contrário, em sua máquina, execute o comando abaixo (linux),
// e siga os passos do comando.
$ ssh-keygen -t rsa
// Em seguida, instale a chave pública na raspberry:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub username.na.raspberry@ip.da.raspberry
// O passo seguinte deve ser executado NA RASPBERRY:
# vim /etc/ssh/sshd_config
-----------------------------------
Alterar os seguintes parâmetros:
- PasswordAuthentication (trocar 'yes' por 'no')
- UsePAM (trocar 'yes' por 'no')
- Port (trocar por um valor diferente de porta)
-----------------------------------
# reboot

//
// Dropbear (substitui o servidor SSH, economiza 10MB de RAM)
//
# pacman -S dropbear
# cd /etc/dropbear
# dropbearconvert openssh dropbear /etc/ssh/ssh_host_rsa_key dropbear_rsa_host_key
# dropbearconvert openssh dropbear /etc/ssh/ssh_host_dsa_key dropbear_dsa_host_key
# vim /usr/lib/systemd/system/dropbear.service
---------------------------------------
Adicionar na linha ExecStart, os seguintes parâmetros ao executável:
* -w (previne logins como root)
* -g (previne login root com senha)
* -s (previne login com senha)
* -p  (define um novo valor para a porta (opcional))
---------------------------------------

# systemctl daemon-reload //alteramos um serviço. Portanto, temos que recarregar os daemons
# systemctl enable dropbear 
# systemctl disable sshd //não podemos ter dois servidores ssh executando simultaneamente
# systemctl stop sshd
# systemctl start dropbear

//
// No-IP (Cria um endereço livre para acessar a raspberry de qualquer lugar)
// Antes de executar estes passos, adicione um host no site noip.com (é necessário se cadastrar)
//
# pacman -S noip
# noip2 -C // seta as configurações do noip, informando seu username e senha.
# systemctl enable noip2
# systemctl start noip2 //após este comando, espere 3 dias até que os servidores DNS estejam atualizados.

//
// Couch Potato (Automatiza downloads de filmes novos assim que eles saem com qualidade boa)
//
# cd /opt
# git clone http://github.com/RuudBurger/CouchPotatoServer.git
# chown seu.nome.na.raspberry:users -R CouchPotatoServer







Inté!

Índice

segunda-feira, 7 de outubro de 2013

Estratégia: do inglês strategy, do francês stratégie, do latim consilium...

Recentemente, a corrida pela presidência ganhou uma nova equipe. Marina Silva, cuja criação do seu partido foi barrada pelo Tribunal Eleitoral, se uniu a Eduardo Campos (PSB) na disputa pela Faixa Presidencial em 2014. A meu ver, isso mostra que os dois sabem jogar xadrez muito bem, e que o sistema é foda, mas ainda pode ser dobrado.

Digo jogar xadrez muito bem porque esta é apenas uma das muitas jogadas inteligentes que Eduardo Campos vem fazendo na sua caminhada pra ser presidente. Conseguiu desmembrar a forte aliança que o PT tinha em PE, construiu obras faraônicas pra encher o guia eleitoral, elegeu um dos seus secretários como prefeito de Recife. Com isso, conseguiu índices de aprovação estratosféricos, que formaram as bases da sua campanha. Apesar das redes sociais mostrarem o tempo todo as mazelas que Dudu vem fazendo por aqui, ainda não é o suficiente para manchar a imagem dele a nível nacional. Ainda.

A última jogada do "Governator" foi trazer Marina Silva pra sua chapa. Marina e seus 20 milhões de votos da eleição passada. Isso vai acrescentar um peso enorme pra candidatura de Eduardo e ao mesmo tempo, coloca Marina de volta ao jogo.

O sistema é foda porque o Capitão Nascimento disse, então é lei barrou o único partido em potencial que tinha uma ideologia diferente da bipolaridade (que na verdade é unipolaridade) que há anos existe no Brasil (alguém suspeita de manobra política?). Marina corria o risco de ficar fora do jogo e teríamos mas 4 anos de mesmice e caminho livre pro PT fazer o que quiser.

Mas ele ainda pode ser dobrado, já que com essa jogada dos dois, temos um páreo interessante pra Dilma. A estratégia a meu ver foi boa e se assemelha muito ao Cavalo de Tróia. Pessoas infiltradas no sistema, influenciando e agindo, fazendo o sistema implodir, algo parecido com que Dudu fez por aqui pra quebrar o PT. Marina traiu o movimento? Não. Apenas está jogando o jogo pelas regras deles. Para o bem ou para o mal, atualmente é o que funciona. E é muito mais efetivo do que jogar o jogo fazendo parte de um grupo que é sabidamente "contra" o sistema e que vai encontrar muito mais dificuldades pra fazer o que ela quer (ou precisa). E se ela fosse traidora mesmo, ela iria para os partidos tradicionais na disputa (PT e afiliados). Ela escolheu um partido novo, uma cara nova, pois desta maneira é muito mais fácil associar sua imagem  com a mudança que ela tanto quer fazer.

Também não é pra confiar cegamente... Afinal, o jogo dos tronos ainda está sendo jogado. Aguardemos os próximos movimentos...

sexta-feira, 16 de agosto de 2013

Configurando o Raspberry Pi como Servidor Caseiro - Parte 3 (HD externo e backup)


Olá a todos!

Continuando as nossas aventuras pelo mundo da Raspberry Pi, agora faremos as configurações para acessar um HD externo e backup.

* Comandos precedidos por '$' devem ser executados como usuário comum
* Comandos precedidos por '#' devem ser executados como usuário root
* Comentários são precedidos por '//'.
* Quando arquivos forem alterados, sua alteração será entre '-'


# pacman -S ntfs-3g //instala os drivers para reconhecer o HD externo formatado como NTFS
// Na saída do comando, procure por uma linha parecida com essa:
// "/dev/sda1            2048  1953520064   976759008+   7  HPFS/NTFS/exFAT"
// Esta linha é a linha que identifica o HD Externo, e "/dev/sda1" é o nome do device driver
# fdisk -l

$ mkdir ~/hd
# vim /etc/fstab
------------------------------
Adicionar a seguinte linha (caso o device driver seja diferente, substituir):

/dev/sda1   /home/<seu.nome.usuario>/hd   ntfs-3g   defaults   0  0
------------------------------
# mount -a // monta o HD externo

//
// Configurando o backup
//
# pacman -S git
$ cd ~/
$ git clone https://github.com/giovanebribeiro/scripts.git
# chmod 777 ~/scripts/raspberry
$ vim ~/scripts/raspberry
----------------------------------------
Neste arquivo, altere as seguintes variaveis:

- USERNAME = Troque para o seu nome de usuário
- EXT_HD_LOCATION = Troque para a pasta onde você montou seu HD externo
----------------------------------------

// Criar o script no crontab
# crontab -e
----------------------------------------
O tempo de execução do backup é opcional, mas o interessante é que sejam backups diários. No meu caso, coloquei backups diários ao meio-dia:

0 12 * * * /home/giovane/scripts/raspberry b
----------------------------------------

# reboot


É isso. No próximo post, continuamos nossas aventuras pela raspberry.

Inté.

Índice

terça-feira, 18 de junho de 2013

O Despertar do Gigante

A política brasileira, deste que a ditadura acabou, evoluiu a um ponto que hoje, ela está segregada em bancadas. Tem a bancada ruralista, que basicamente quer mais terras pra os fazendeiros. Tem a bancada evangélica, que quer basicamente acabar com o "mal homossexual". Tem a bancada operária, que basicamente quer o socialismo. Tem a bancada ambiental, que quer que tudo seja sustentável. Tem a bancada industrial, que quer menos impostos, e mais incentivos do governo pra abrir mais indústrias. E tem a bancada do governo, que quer se manter no poder de todo jeito (Taí a PEC 37 que não me deixa mentir). Um problema dessas bancadas é que todas querem prioridade nas discussões e, obviamente, querem puxar todas as sardinhas pro seu lado. E com isso, discussões de minorias viram a pauta principal. Com a prioridade, vem a linearidade das discussões, ou seja, com tudo com prioridade máxima e o governo só querendo atender uma por vez, cria-se uma lista de projetos onde, de tempos em tempos, o primeiro lugar pode ser trocado por algum motivo.

O sistema de bancadas acaba criando hierarquias nos estados e municípios, de forma que está enraizado em todas as esferas de governo. E a principal consequência disso é que os governantes acabam priorizando as minorias, em vez de criar ações para toda a população, E na população, estão inseridas as raças, opções sexuais, religiosas e tantas outras segregações que estamos acostumados a fazer desde que o mundo é mundo. Ações para a maioria significam educação, segurança, transportes, saúde e moradia. O resto, depende de cada um de nós. Uma pessoa com um bom emprego é aquela que tem conhecimento, boa saúde, moradia confortável e segura pra ele e sua família e boas condições de se locomover pela cidade pra onde ele quiser, com conforto e segurança, porque assim ele pode trabalhar com mais foco e a empresa lucra mais. Estas ações que beneficiam a todos são o que tornam países evoluídos.

Aqui no Brasil, os políticos só beneficiam as maiorias em época de eleição, com obras, que são a melhor forma de mostrar pra alguém: "Foi no meu governo que isso foi construído". Mais precisamente, os benefícios só ocorrem no período de 2 anos. Ou seja, começa no segundo semestre do ano anterior a eleição e termina no final do primeiro semestre do ano seguinte à eleição. Fora disso, é administrar o que já tem. O PT inovou no seu governo ao tirar o povo da miséria, mas não deu condições pra que ele caminhasse sozinho (Taí as bolsas e mais bolsas e a confusão com o boato que dizia o fim do bolsa família que não me deixam mentir). Claro que existem exceções, mas no geral o povo ainda depende do Bolsa Família (e outros programas) pra sobreviver e isso é compra de voto. É coronelismo disfarçado. "Para manter os programas do governo e tirar mais pessoas da miséria, preciso do seu voto". Nos acostumamos a este modo de fazer política e caminhamos todos esses anos em um estado quase letárgico. O governo fazia o que queria, o povo aceitava e não elegia ninguém relevante pra mudar alguma coisa, nem que fosse pra pior.

Mas agora saturou geral.

E é por tudo isso, que o ato de ontem não foi só por 20 centavos. E foi por isso que o Gigante despertou.

As manifestações (pacíficas) e de caráter não-eleitoral podem até ter começado com o movimento passe-livre (que é partidário), mas ontem provou ser mais que isso. É um começo de uma nova maneira de enxergar o país, onde todo mundo passou a olhar para o coletivo. Ontem, um homossesual protestou ao lado de um heterossexual e os dois não saíram na porrada. Um empresário protestou ao lado de um operário e os dois não ficaram discutindo sobre aumentos salariais e melhores condições de trabalho. Ontem, as minorias unidas formaram a maioria e tratou de assuntos que interferem diretamente na vida de todos. Não foi partidário, foi popular e democrático.

Agora, não adianta protestar contra a Copa, por ela vai acontecer. Contra o roubo que foi feito, porque ele já foi feito. É a mesma coisa de chorar pelo leite derramado. Não façam isso. Querem protestar contra a Copa? VOTEM DIREITO. ELEJAM PESSOAS SÉRIAS E QUE ESTEJAM COMPROMETIDAS COM A MAIORIA. Se isso não acontecer, tudo que foi feito para os atos de ontem e os outros que vão ocorrer (Alô Recife :D) não terá servido de NADA. Os políticos só vão rir da cara do povo e seremos merecedores do slogan "País de tolos".

As outras discussões são importantes também (óbvio), e devem ser discutidas. Aí o bom senso entra na jogada. O Brasil está muito atrasado naquelas "ações para a maioria". Precisamos ter paciência e julgar com sabedoria o que é mais prioritário. O paralelismo das ações pode ajudar, mas o Congresso é um só e as votações têm ordem.

Não sou de politicagens nem de ações políticas, mas me senti no direito de expressar minha opinião como brasileiro, pernambucano e recifense para aqueles que ainda são contra o que está acontecendo por aqui.

Muito obrigado pela paciência de acessar este post e ler a minha humilde e inválida opinião até o fim.

Inté, e viva o Brasil!

sábado, 26 de janeiro de 2013

Ativar gravação do microfone usando ALSA + Arch linux

Olá a todos!

Recentemente, precisei gravar umas vídeo aulas para um curso que estou ministrando (este aqui, caso alguém se interesse ;-)) e me deparei com um problema interessante: o áudio dos vídeos não estava sendo gravado!

Utilizo o ALSA aqui no meu arch linux para controlar o som do meu computador, e ele conseguia reconhecer o microfone. O problema era que por mais que eu falasse e ouvisse minha voz pelo desgraçado, não conseguia gravar minha voz pra ouvir depois.

Pesquisando um pouco, juntei as peças e consegui finamente fazer o que eu queria. Esses procedimentos levam em consideração que sua placa de som é uma HDA Intel. Caso você não saiba como desbobrir isso, é fácil. Basta abrir seu alsamixer e apertar F6. Se na opção 0, aparecer "HDA Intel", pronto. Problema resolvido.

Primeira etapa. Abra o alsamixer, e aperte a tecla F5. Depois, apertando a seta para a direita do teclado, alcance a barra de nome "Capture". Caso ela esteja assim:
... Lascou geral.
Significa que o microfone está travado para gravações. Pra resolver isso, com a tela do jeito que está na figura, aperte a barra de espaço. Depois, aperte a seta pra cima do teclado, ajuste o volume de captura para o nível desejado. Ajuste o volume da barra  de nome "Digital" também, porque ela faz parte das configurações de gravação. Certifique-se de que o "Mic Boost" também esteja habilitado. No final, seu alsamixer deve ficar mais ou menos assim:
Alsamixer pronto.
Agora só falta testar. Abra o terminal e digite:
$ arecord -d 10 -f cd -t wav test.wav

Fale alguma coisa durante 10 segundos. Depois ponha pra tocar. Se funcionou, parabéns. Pode parar de ler este tutorial ir embora. Passou por média. Senão, relaxe, erga a cabeça e tamo junto pra recuperação.

Infelizmente, tudo que eu fiz acima não funcionou. A bronca pra mim era mais pesada. Descobri que o driver da placa de som é carregado recebendo um parâmetro que corresponde ao modelo da placa. Caso nenhum parâmetro seja carregado, o driver entende que o modelo é o default e algumas funcionalidades menos básicas (como gravar sons) não funcionavam direito. E o ALSA, carrega o driver da placa de som sem parâmetro nenhum. Se sua placa se encaixar no modelo default, beleza. Senão, um abraço.

Pra resolver isso, antes precisamos saber qual o modelo da sua placa de som. Abra o terminal e digite:
# cat /proc/asound/card*/codec\#*|grep -i codec

A primeira linha é a que você vai considerar. Geralmente é algo como "Realtek ALC269". Depois disso, procure pelo modelo neste link. Caso dê problema com o link, segue abaixo o arquivo completo (atualizado até a data de publicação deste post):

   1 Model name    Description
   2 ----------    -----------
   3 ALC880
   4 ======
   5   3stack        3-jack in back and a headphone out
   6   3stack-digout 3-jack in back, a HP out and a SPDIF out
   7   5stack        5-jack in back, 2-jack in front
   8   5stack-digout 5-jack in back, 2-jack in front, a SPDIF out
   9   6stack        6-jack in back, 2-jack in front
  10   6stack-digout 6-jack with a SPDIF out
  11 
  12 ALC260
  13 ======
  14   N/A
  15 
  16 ALC262
  17 ======
  18   inv-dmic      Inverted internal mic workaround
  19 
  20 ALC267/268
  21 ==========
  22   inv-dmic      Inverted internal mic workaround
  23 
  24 ALC269/270/275/276/280/282
  25 ======
  26   laptop-amic   Laptops with analog-mic input
  27   laptop-dmic   Laptops with digital-mic input
  28   alc269-dmic   Enable ALC269(VA) digital mic workaround
  29   alc271-dmic   Enable ALC271X digital mic workaround
  30   inv-dmic      Inverted internal mic workaround
  31   lenovo-dock   Enables docking station I/O for some Lenovos
  32 
  33 ALC662/663/272
  34 ==============
  35   mario         Chromebook mario model fixup
  36   asus-mode1    ASUS
  37   asus-mode2    ASUS
  38   asus-mode3    ASUS
  39   asus-mode4    ASUS
  40   asus-mode5    ASUS
  41   asus-mode6    ASUS
  42   asus-mode7    ASUS
  43   asus-mode8    ASUS
  44   inv-dmic      Inverted internal mic workaround
  45 
  46 ALC680
  47 ======
  48   N/A
  49 
  50 ALC882/883/885/888/889
  51 ======================
  52   acer-aspire-4930g     Acer Aspire 4930G/5930G/6530G/6930G/7730G
  53   acer-aspire-8930g     Acer Aspire 8330G/6935G
  54   acer-aspire           Acer Aspire others
  55   inv-dmic      Inverted internal mic workaround
  56   no-primary-hp         VAIO Z workaround (for fixed speaker DAC)
  57 
  58 ALC861/660
  59 ==========
  60   N/A
  61 
  62 ALC861VD/660VD
  63 ==============
  64   N/A
  65 
  66 CMI9880
  67 =======
  68   minimal       3-jack in back
  69   min_fp        3-jack in back, 2-jack in front
  70   full          6-jack in back, 2-jack in front
  71   full_dig      6-jack in back, 2-jack in front, SPDIF I/O
  72   allout        5-jack in back, 2-jack in front, SPDIF out
  73   auto          auto-config reading BIOS (default)
  74 
  75 AD1882 / AD1882A
  76 ================
  77   3stack        3-stack mode
  78   3stack-automute 3-stack with automute front HP (default)
  79   6stack        6-stack mode
  80 
  81 AD1884A / AD1883 / AD1984A / AD1984B
  82 ====================================
  83   desktop       3-stack desktop (default)
  84   laptop        laptop with HP jack sensing
  85   mobile        mobile devices with HP jack sensing
  86   thinkpad      Lenovo Thinkpad X300
  87   touchsmart    HP Touchsmart
  88 
  89 AD1884
  90 ======
  91   N/A
  92 
  93 AD1981
  94 ======
  95   basic         3-jack (default)
  96   hp            HP nx6320
  97   thinkpad      Lenovo Thinkpad T60/X60/Z60
  98   toshiba       Toshiba U205
  99 
 100 AD1983
 101 ======
 102   N/A
 103 
 104 AD1984
 105 ======
 106   basic         default configuration
 107   thinkpad      Lenovo Thinkpad T61/X61
 108   dell_desktop  Dell T3400
 109 
 110 AD1986A
 111 =======
 112   6stack        6-jack, separate surrounds (default)
 113   3stack        3-stack, shared surrounds
 114   laptop        2-channel only (FSC V2060, Samsung M50)
 115   laptop-eapd   2-channel with EAPD (ASUS A6J)
 116   laptop-automute 2-channel with EAPD and HP-automute (Lenovo N100)
 117   ultra         2-channel with EAPD (Samsung Ultra tablet PC)
 118   samsung       2-channel with EAPD (Samsung R65)
 119   samsung-p50   2-channel with HP-automute (Samsung P50)
 120 
 121 AD1988/AD1988B/AD1989A/AD1989B
 122 ==============================
 123   6stack        6-jack
 124   6stack-dig    ditto with SPDIF
 125   3stack        3-jack
 126   3stack-dig    ditto with SPDIF
 127   laptop        3-jack with hp-jack automute
 128   laptop-dig    ditto with SPDIF
 129   auto          auto-config reading BIOS (default)
 130 
 131 Conexant 5045
 132 =============
 133   laptop-hpsense    Laptop with HP sense (old model laptop)
 134   laptop-micsense   Laptop with Mic sense (old model fujitsu)
 135   laptop-hpmicsense Laptop with HP and Mic senses
 136   benq          Benq R55E
 137   laptop-hp530  HP 530 laptop
 138   test          for testing/debugging purpose, almost all controls
 139                 can be adjusted.  Appearing only when compiled with
 140                 $CONFIG_SND_DEBUG=y
 141 
 142 Conexant 5047
 143 =============
 144   laptop        Basic Laptop config 
 145   laptop-hp     Laptop config for some HP models (subdevice 30A5)
 146   laptop-eapd   Laptop config with EAPD support
 147   test          for testing/debugging purpose, almost all controls
 148                 can be adjusted.  Appearing only when compiled with
 149                 $CONFIG_SND_DEBUG=y
 150 
 151 Conexant 5051
 152 =============
 153   laptop        Basic Laptop config (default)
 154   hp            HP Spartan laptop
 155   hp-dv6736     HP dv6736
 156   hp-f700       HP Compaq Presario F700
 157   ideapad       Lenovo IdeaPad laptop
 158   toshiba       Toshiba Satellite M300
 159 
 160 Conexant 5066
 161 =============
 162   laptop        Basic Laptop config (default)
 163   hp-laptop     HP laptops, e g G60
 164   asus          Asus K52JU, Lenovo G560
 165   dell-laptop   Dell laptops
 166   dell-vostro   Dell Vostro
 167   olpc-xo-1_5   OLPC XO 1.5
 168   ideapad       Lenovo IdeaPad U150
 169   thinkpad      Lenovo Thinkpad
 170 
 171 STAC9200
 172 ========
 173   ref           Reference board
 174   oqo           OQO Model 2
 175   dell-d21      Dell (unknown)
 176   dell-d22      Dell (unknown)
 177   dell-d23      Dell (unknown)
 178   dell-m21      Dell Inspiron 630m, Dell Inspiron 640m
 179   dell-m22      Dell Latitude D620, Dell Latitude D820
 180   dell-m23      Dell XPS M1710, Dell Precision M90
 181   dell-m24      Dell Latitude 120L
 182   dell-m25      Dell Inspiron E1505n
 183   dell-m26      Dell Inspiron 1501
 184   dell-m27      Dell Inspiron E1705/9400
 185   gateway-m4    Gateway laptops with EAPD control
 186   gateway-m4-2  Gateway laptops with EAPD control
 187   panasonic     Panasonic CF-74
 188   auto          BIOS setup (default)
 189 
 190 STAC9205/9254
 191 =============
 192   ref           Reference board
 193   dell-m42      Dell (unknown)
 194   dell-m43      Dell Precision
 195   dell-m44      Dell Inspiron
 196   eapd          Keep EAPD on (e.g. Gateway T1616)
 197   auto          BIOS setup (default)
 198 
 199 STAC9220/9221
 200 =============
 201   ref           Reference board
 202   3stack        D945 3stack
 203   5stack        D945 5stack + SPDIF
 204   intel-mac-v1  Intel Mac Type 1
 205   intel-mac-v2  Intel Mac Type 2
 206   intel-mac-v3  Intel Mac Type 3
 207   intel-mac-v4  Intel Mac Type 4
 208   intel-mac-v5  Intel Mac Type 5
 209   intel-mac-auto Intel Mac (detect type according to subsystem id)
 210   macmini       Intel Mac Mini (equivalent with type 3)
 211   macbook       Intel Mac Book (eq. type 5)
 212   macbook-pro-v1 Intel Mac Book Pro 1st generation (eq. type 3)
 213   macbook-pro   Intel Mac Book Pro 2nd generation (eq. type 3)
 214   imac-intel    Intel iMac (eq. type 2)
 215   imac-intel-20 Intel iMac (newer version) (eq. type 3)
 216   ecs202        ECS/PC chips
 217   dell-d81      Dell (unknown)
 218   dell-d82      Dell (unknown)
 219   dell-m81      Dell (unknown)
 220   dell-m82      Dell XPS M1210
 221   auto          BIOS setup (default)
 222 
 223 STAC9202/9250/9251
 224 ==================
 225   ref           Reference board, base config
 226   m1            Some Gateway MX series laptops (NX560XL)
 227   m1-2          Some Gateway MX series laptops (MX6453)
 228   m2            Some Gateway MX series laptops (M255)
 229   m2-2          Some Gateway MX series laptops
 230   m3            Some Gateway MX series laptops
 231   m5            Some Gateway MX series laptops (MP6954)
 232   m6            Some Gateway NX series laptops
 233   auto          BIOS setup (default)
 234 
 235 STAC9227/9228/9229/927x
 236 =======================
 237   ref           Reference board
 238   ref-no-jd     Reference board without HP/Mic jack detection
 239   3stack        D965 3stack
 240   5stack        D965 5stack + SPDIF
 241   5stack-no-fp  D965 5stack without front panel
 242   dell-3stack   Dell Dimension E520
 243   dell-bios     Fixes with Dell BIOS setup
 244   volknob       Fixes with volume-knob widget 0x24
 245   auto          BIOS setup (default)
 246 
 247 STAC92HD71B*
 248 ============
 249   ref           Reference board
 250   dell-m4-1     Dell desktops
 251   dell-m4-2     Dell desktops
 252   dell-m4-3     Dell desktops
 253   hp-m4         HP mini 1000
 254   hp-dv5        HP dv series
 255   hp-hdx        HP HDX series
 256   hp-dv4-1222nr HP dv4-1222nr (with LED support)
 257   auto          BIOS setup (default)
 258 
 259 STAC92HD73*
 260 ===========
 261   ref           Reference board
 262   no-jd         BIOS setup but without jack-detection
 263   intel         Intel DG45* mobos
 264   dell-m6-amic  Dell desktops/laptops with analog mics
 265   dell-m6-dmic  Dell desktops/laptops with digital mics
 266   dell-m6       Dell desktops/laptops with both type of mics
 267   dell-eq       Dell desktops/laptops
 268   alienware     Alienware M17x
 269   auto          BIOS setup (default)
 270 
 271 STAC92HD83*
 272 ===========
 273   ref           Reference board
 274   mic-ref       Reference board with power management for ports
 275   dell-s14      Dell laptop
 276   dell-vostro-3500      Dell Vostro 3500 laptop
 277   hp-dv7-4000   HP dv-7 4000
 278   hp_cNB11_intquad HP CNB models with 4 speakers
 279   hp-zephyr     HP Zephyr
 280   hp-led        HP with broken BIOS for mute LED
 281   hp-inv-led    HP with broken BIOS for inverted mute LED
 282   auto          BIOS setup (default)
 283 
 284 STAC9872
 285 ========
 286   vaio          VAIO laptop without SPDIF
 287   auto          BIOS setup (default)
 288 
 289 Cirrus Logic CS4206/4207
 290 ========================
 291   mbp55         MacBook Pro 5,5
 292   imac27        IMac 27 Inch
 293   auto          BIOS setup (default)
 294 
 295 VIA VT17xx/VT18xx/VT20xx
 296 ========================
 297   auto          BIOS setup (default)

Para o codec que eu digitei acima, os modelos compatíveis são:
  24 ALC269/270/275/276/280/282
  25 ======
  26   laptop-amic   Laptops with analog-mic input
  27   laptop-dmic   Laptops with digital-mic input
  28   alc269-dmic   Enable ALC269(VA) digital mic workaround
  29   alc271-dmic   Enable ALC271X digital mic workaround
  30   inv-dmic      Inverted internal mic workaround
  31   lenovo-dock   Enables docking station I/O for some Lenovos

Escolhi o "laptop-dmic" como primeira tentativa. Isso porque meu computador é um laptop e também porque no alsamixer tinha uma barra chamada "Digital". Escolhido o codec, edite o arquivo (crie se não existir) /etc/modprobe.d/alsa.conf, e lá acrescente:
/etc/modprobe.d/alsa.conf
------------------------------
options snd-hda-intel model=laptop-dmic


Feito isso, reinicie o computador, e tente fazer outra gravação. Se funcionar, parabéns! Passou na recuperação. Senão, tente verificar se sua placa de som é mesmo a HDA Intel. Pra fazer isso, digite no terminal:
# lsmod | grep snd

Se no meio da resposta aparecer "snd-hda-intel", sua placa é mesmo a HDA Intel.

É isso. Espero que estas dicas sejam úteis para vocês do mesmo jeito que foi para mim.

Inté.

quarta-feira, 16 de janeiro de 2013

Configurando o Raspberry Pi como Servidor Caseiro - Parte 2 (Setup inicial)



Olá a todos!

Meu objetivo desde o início deste projeto era fazer um servidor que me fornecesse um acesso a pastas compartilhadas, um cliente torrent e uma nuvem privada, só para começar. E é este o objetivo desta série de posts. Com ele, espero dar uma ideia de como configurar um raspberry pi para um servidor caseiro.

A primeira etapa do projeto é gravar a imagem da distro no cartão de memória. Na própria página do projeto, já existem o link para download. É sempre bom conferir o checksum pra saber se o download foi executado corretamente. Após esta etapa, coloque o cartão de memória, previamente formatado como FAT32, no slot. Estou fazendo estes procedimentos no Linux, pois foi o modo mais seguro e rápido que encontrei. (Os comandos seguintes devem ser executados como root.)

Em seguida, digite o seguinte comando para listar as partições que seu computador pode acessar:

fdisk -l

Como resultado, o comando retornará a lista das partições. Procure por uma partição de nome "/dev/mmcblk0p1" ou "/dev/sdd1". O "p1" e "1" representam as partições do cartão de memória. Portanto, no comando que vamos usar, desconsideraremos o número da partição, pois queremos utilizar o cartão inteiro.

A seguir, desmontaremos o cartão (mas não vamos retirá-lo do slot) e executaremos o comando para gravar a imagem no cartão. Supondo que o nome da partição seja "/dev/mmcblk0p1", digitaremos, como root:

dd bs=1M if=/path/to/archlinux-hf-2012-09-18.img of=/dev/mmcblk0

O comando não retorna nada, portanto, temos que esperar. A operação demora um pouco também...

Depois, hora de conferir no gparted para ver se as partições foram criadas corretamente. Se você quiser, aproveite para extender a partição de 2GB que é criada, para que todo o cartão seja aproveitado (Supondo que seu cartão de memória seja maior que 2GB). O resultado deve ficar mais ou menos assim:

Clique na imagem para ampliar.

Depois disso, retire o cartão do slot e coloque de novo, pois temos ainda uma última coisa para fazer. Perceba que agora, existem duas partições no cartão (a partição de boot e a partição raiz). Trabalharemos somente com a partição raiz. Pelo terminal e como root, acesse o arquivo etc/sshd_config, que é o arquivo de configurações do servidor ssh. Ele deve ter o seguinte conteúdo, pelo menos:

# $OpenBSD: sshd_config,v 1.89 2013/02/06 00:20:42 dtucker Exp $

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options override the
# default value.

Port 22
Protocol 2
PermitRootLogin yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
PermitEmptyPasswords no
ChallengeResponseAuthentication no
UsePAM yes
PrintMotd no # pam does that
UsePrivilegeSeparation sandbox  # Default for new installations.
Subsystem sftp /usr/lib/ssh/sftp-server


Após esta operação, desmonte o cartão de memória, coloque-o na Raspberry, conecte a placa em algum ponto de rede e ligue seu servidor. Depois disso, tente acessá-lo via ssh. Lembre-se que o único usuário, por enquanto é o root. Portanto, o comando para acessar a placa, é:

ssh root@<ip.do.servidor>

A senha é "root". Se tudo ocorreu bem, você deve estar logado como root no servidor (de nome "alarmpi").

Em seguida, vamos executar os seguintes comandos na raspberry. Vamos escolher o editor de texto padrão, atualizar o sistema, adicionar o nosso usuário, ajustar o fuso horário, e alterar o servidor ssh.

* Comandos precedidos por '$' devem ser executados como usuário comum
* Comandos precedidos por '#' devem ser executados como usuário root
* Comentários são precedidos por '//'.
* Quando arquivos forem alterados, sua alteração será entre '-'

//
// Instalar o vim e configurá-lo como editor de texto principal
// (opcional)
//
# pacman -Syy vim
# export EDITOR=vim
# vim /etc/profile
----------------------------
Adicionar no arquivo a linha:
export EDITOR=vim
-----------------------------

//
// Atualização geral do sistema e inicialização do repositório de chaves
//
# pacman -Syu archlinux-keyring
# pacman-key --init            
# reboot   // o reinício do sistema é recomendado.
// Após o reinício, a conexão será cortada. Será necessário
// logar novamente.

//
// Adiciona um novo usuário ao sistema e instalar o sudo
// Grupos recomendados: users, wheel, power, audio, video, storage
//
# useradd -m -g [initial_group] -G [additional_groups] -s [login_shell] nome.de.usuario 
# passwd nome.de.usuario //configura uma senha.
# pacman -S sudo
# visudo //se você não instalou o vim, use o nano: # nano /etc/sudoers
---------------------------
Descomentar a linha:
%wheel ALL=(ALL) ALL
---------------------------

//
// Fuso horário:
//
# vim /etc/ntp.conf
------------------------------------
Apague todas as linhas que começam com "server", 
e adicione esta linha:
server pool.ntp.br iburst
------------------------------------

# rm -rf /etc/localtime
# ln -s /usr/share/zoneinfo/America/Recife /etc/localtime // Substitua a localidade pelo seu fuso horário. 

//
// Altera o hostname (opcional)
//
# echo "novo_hostname" > /etc/hostname

//
// Servidor ssh
//
# vim /etc/ssh/sshd_config
---------------------------------
Alterar a seguinte linha:
PermitRootLogin //alterar o parâmetro para "no" (sem aspas).

Adicionar a linha:
AllowUsers <seu.nome.de.usuario>
---------------------------------

# reboot //para que as configurações entrem em vigor.

É isso. No próximo post, continuaremos nossas aventuras pela raspberry.

Inté!

Índice

terça-feira, 8 de janeiro de 2013

Banco do Brasil + Firefox + icedtea

Olá a todos!

Sempre acessava minha conta do Banco do Brasil pelo Windows. Mas, depois que fiz dual boot na minha máquina e instalei o arch linux, resolvi incluir mais este recurso no meu SO e me distanciar um pouco mais do SO da Microsoft.

Para isso, instalei o firefox, e o plugin java para o linux compatível com o openjdk, o icedtea. Porém, mesmo com isso o BB ainda insistia em não liberar o acesso pra mim. O engraçado é que isso só acontecia com versões 11+ do firefox. Nas anteriores, o icedtea resolvia sem problemas.

Resolvi o problema segindo a dica deste link. Basicamente, devemos liberar o firefox para utilizar de forma total o plugin do java. Para isso, mude o valor da variável "dom.ipc.plugins.java.enabled" para TRUE. Deste modo, após o reinício do firefox, o acesso ao BB deverá ocorrer sem problemas.

Qualquer dúvida, favor postar nos comentários.

Inté.