Raspberry Pi 3 – Habilitando wifi / bluetooth builtin e dicas

Raspberry Pi 3 – Habilitando wifi / bluetooth builtin e dicas

Raspberry Pi 3

Recentemente adquiri uma Raspberry Pi 3, comecei a fazer testes comparando a Raspberry Pi 2. Não percebi diferenças no inicio, o que achei estranho pois a Raspberry Pi 3, segundo sua descrição, é um quad-core 1.2ghz. Dei inicio a uma investigação para descobrir o motivo para tal igualdade entre as placas citadas acima, descobri o motivo, está descrito no final do artigo. Aproveitando a euforia, descrevi os procedimentos para habilitar o wifi e bluetooth built-in.

 

Habilitar wifi built-in na Raspberry Pi 3

 

O wifi da Raspberry Pi 3 precisa definir o domínio regulador referente a cada país. Vamos utilizar o ‘iw’ para tal tarefa.
OBS: firmware-brcm80211 foi testado com a versão 0.43+rpi4

Se você utiliza o wpa-supplicant indiretamente pelo interfaces, adicione no bloco wlan0 ‘pre-up iw reg set GB’:

Se for diretamente no wpa_supplicant, adicione “country=GB” no /etc/wpa_supplicant/wpa_supplicant.conf.

 

Habilitar bluetooth built-in na Raspberry Pi 3

 

O bluetooth na Raspberry Pi 3 utiliza o uart. Os pinos 14 & 15  ficam ocupados, é possível desabilitar ou utilizar o miniuart, para os interessados, clique aqui.

O pacote pi-bluetooth, tem um service para o systemd, se você utiliza sysv, instale os pacotes abaixo:

 

I/O scheduler

 

De acordo com a Wikipedia, é o método que os sistemas operacionais usam para decidir em que ordem os blocos de i/o serão submetidos aos dispositivos de armazenamento.
Motivo pelo qual são chamados, às vezes, disk scheduling / programador de i/o. Como o foco é Raspberry Pi, vou citar os algorítmos suportados.

 

CFQ

 

Mantém uma fila de i/o escalável por processo, tenta manter o fluxo igualmente entre as requisições.
No Linux, o CFQ é o scheduler padrão, desde a versão do kernel 2.6.18 (setembro de 2006).

Vantagens

Considerado para entregar um desempenho de i/o equilibrada.
Destaca em sistemas com múltiplos processadores.

Desvantagens

O atraso pode ser bastante alto, por causa do número de tarefas competindo pelo acesso ao disco e devido à maneira como o cfq tenta criar “justiça” nas tarefas requisitadas.

NOOP

 

É um dos mais simples, funciona como fifo, ou seja, o primeiro que entra é atendido.
Melhor usado com dispositivos de armazenamento que não depende do movimento mecânico para acessar dados (como os flash driver).

Vantagens

Atende as requisições com menos ciclos, consome menos processamento.
Flash driver não requer reordenação de múltiplos pedidos i/o ao contrário de discos rígidos normais.

Desvantagens

Redução do número de ciclos de CPU utilizado é proporcional à queda de desempenho.

 

DEADLINE

 

O objetivo é minimizar a latência de i/o ou necessidade de um pedido.
O mesmo é alcançado pela política de rodízio para ser justo entre os vários pedidos de i/o. Cinco filas são agressivamente usada para reordenar as solicitações de entrada.

Vantagens

Quase um programador de e/s em tempo real.
Excelente para reduzir a latência de i/o.
Como o noop, uma boa escolha para flash drivers.

Desvantagem

Quando o sistema está sobrecarregado, conjunto de processos que podem perder o prazo de execução é em grande parte imprevisível.

 

Trocando o io scheduler dinamicamente

 

 

Io scheduler definido durante o boot

 

 

Governor

 

A grosso modo pode se dizer que são scripts que governam como a CPU vai se comportar em cada situação durante o manuseio do sistema. Aqui vou citar de uma forma simples sobre os mais comuns, para maiores informações, clique aqui.

 

Performance

 

Esse “Governor” bloqueia a CPU em frequência máxima. Aumenta a performance da placa e temperatura.

 

Powersave

 

Ao contrário do anterior, o powersave, como o nome já diz, bloqueia a CPU em frequência mínima e poupa consumo, mas derruba a performance.

 

Userspace

 

Permite que qualquer programa executado pelo usuário defina a frequência da CPU. É mais comum entre servidores ou desktops, notebook, onde a aplicação (como um aplicativo de perfil de energia) precisa de privilégios para definir a velocidade de clock da CPU.

 

Ondemand

 

A principal característica é a rapidez com que ele sai da frequência mínima para a frequência máxima ao se iniciar uma tarefa que ultrapasse o valor do ‘up_threshold’ e, após o término ele retorna aos poucos para a frequência mínima novamente. O valor do threshold é definido no arquivo /sys/devices/system/cpu/cpufreq/ondemand/up_threshold, ou seja, a partir de x% é que a frênquencia aumenta.

 

Conservative

 

Tem preferência pela frequência mínima, demora para chegar ao máximo da CPU, mas volta imediatamente para o mínimo, é considerado um “ondemand” lento.

 

Teste de performance

 

Na Raspberry Pi 3, segundo o proprio site, o kernel foi compilado com ondemand, fiz testes em todas as imagens que tenho do raspbian, o que está padrão é powersave, todos os núcleos trabalhando a 600mhz.

Verificando o governor

Trocando para ondemand

Teste rápido de performance

Vamos colocar os 4 núcleos a 100%, fiz um script bem simples para isto. O stress também é uma boa opção.

Abra outro terminal e monitore a temperatura e frêquencia

Agora sim, a placa atingiu o máximo, quando necessário.

 

Que tal nos encontrar no SeuTubo para ver dicas, tutoriais e Reviews de placas? Canal Sistemas Embarcados

Que tal na página do Facebook?

Ou Instagram?

Quem sabe Google Plus?

Que tal no Pinterest?

Ou talvez nos encontrar no Twitter para receber as ultimas noticias quentinhas: @SEmbarcados

E não esqueça que também tem o email, [email protected]

Conheça também nossos grupos do Facebook:

Forte abraço e até o próximo embarcado.

Related Post