Existe uma maneira de determinar se o atual Raspberry Pi é um 2 modelo B e 3 com o Raspbian Jessie Lite 8.0 ?
Isso ocorre porque eu tenho um documento específico bootstrap.sh
escrito em Bash onde ele precisa definir o atributo txpower
para um dongle USB Wi-Fi (aqui, Raspberry Pi 2) usando um driver de chipset Ralink RT5370 .
Defino os atributos Wireless usando iwconfig
(que, sei, está obsoleto, mas atualmente ele faz o trabalho, por isso não o estou alterando).
Como no Raspberry Pi 3, o chipset Wi-Fi interno é um bcm
chipset baseado em que não permitirá a execução do seguinte comando:
iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0dBm
Com o Raspberry Pi 3, o comando mencionado acima funciona apenas removendo dBm
o comando mencionado acima:
iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0
Gostaria de adicionar uma verificação se o modelo Raspberry Pi é 2 ou 3 usando o Bash.
Alguma dica?
Caso alguém queira passar pelo bootstrap.sh
: Bootstrapping for TWIN
Notas
Eu verifiquei que não
dBm
é necessário , também no caso do Raspberry Pi 2 com o chipset Ralink, portanto, por não ambiguidade, pode-se usar o mesmo comando para o viz Raspberry Pis .iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0
É interessante notar que, para dongles USB Wi-Fi externos, é necessário executar o seguinte (para Raspberry Pi 2 ):
ifconfig wlan0 down iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0 ifconfig wlan0 up
enquanto que para os módulos Wi-Fi embutido (framboesa Pi 3) não é nenhuma necessidade para
ifconfig up and down
. Apenas oiwconfig
comando direto funciona.
Respostas:
retorna algo como
fonte
Por tipo de CPU
Você pode verificar a versão RPi com o comando
uname
,. As diferentes versões do RPi possuem arquiteturas de CPU diferentes. O RPi 2 tem um braço7, enquanto o 3 tem um braço8.Por revisão de hardware
Se você precisar ser mais específico, poderá verificar a entrada de revisão na saída de
cat /proc/cpuinfo
. Se você deseja exatamente o número da revisão, o seguinte comando deve ser feito:Números de revisão
Esta página possui um gráfico útil que eu copiei aqui.
fonte
/proc/cpuinfo
antes. Parece a melhor opção, jáuname -m
que não conta muito.uname -m
uname
listará apenas a arquitetura de destino para a qual o linux foi construído e não é confiável para determinar o tipo de CPU. O Raspbian RPI3 atual é executado no modo de 32 bits. ele listaráarmv7
, se você usar um linuxAARCH64
(arm64
), diráarmv8
, se você usar o antigo raspbian RPI1, diráarmv6
.Existem muitos métodos (de confiabilidade variável) para determinar isso. Um dos mais completos e confiáveis é o
gpio -v
que produz a seguinte saída.Isso pode ser feito de maneira mais elegante, escrevendo um programa simples, usando as funções fornecidas por
wiringpi
. Estes estão bem documentados e a fonte está prontamente disponível.fonte
Criei um script bash que fornecerá as informações do modelo com base na revisão.
Se você melhorar, por favor me avise.
fonte
Não tenho representante suficiente para comentar a resposta de @ Andy Delgado, mas aqui está uma versão diferente de seu código usando alguns recursos mais recentes do bash.
Além:
REVISIONS
é definida no interior de uma função desde que usá-lo sobressh
ou sejassh some-host "$(declare -f); check_pi_version"
fonte
Maneira simples :
dmesg | grep "Machine model:"
fonte
[Tue Apr 11 15:59:32 2017] Machine model: Raspberry Pi 3 Model B Rev 1.2
no meu Pi. Pode não ser o método mais robusto.dmesg
é um buffer circular. Portanto, essa é uma metodologia falha.Machine model: Raspberry Pi 2 Model B Rev 1.1
sem raiz também.