segunda-feira, 15 de maio de 2017

Atenção: max_usb_current não faz mais efeito em nenhum modelo

max_usb_current

O avanço na alimentação de entrada e USB após o modelo B+ foi um divisor de águas para o Raspberry Pi.

Os antigos modelos B tinham reguladores lineares e até proteções simples na USB (na primeira revisão, os polyfuses da USB foram removidos posteriormente). Os reguladores gastavam muita energia em forma de calor, isso se refletia até no maior consumo de energia dos modelos anteriores.

Na época de lançamento do Raspberry Pi B+ foi informado que só deveríamos ativar o aumento de corrente nas USBs com max_usb_current somente se necessário.

Com o lançamento do Raspberry Pi 3B parece que os engenheiros finalmente confiaram no sistema para trazer os 1.2A de corrente nas USBs por padrão (via hardware). No Raspberry Pi 3B o max_usb_current não faz efeito como noticiamos aqui.

Um commit no firmware feito em outubro de 2016 (mas que só descobri há pouco tempo) indica que a opção max_usb_current foi removida e por padrão é ativa.

Isso significa que se você tiver o firmware atualizado, qualquer modelo em que exista esse sistema com o chip (AP2253) terá por padrão 1.2A máximos na USB sem a necessidade de alteração via software.

Isso demonstra uma confiança ainda maior pelos engenheiros de que a placa realmente aguenta o tranco nesse consumo na USB. Claro que isso não exime o usuário de utilizar uma boa fonte caso for utilizar toda essa corrente. Fizemos um teste inclusive dando curto nas USBs mostrando que a placa dotada desse chip não queima e nem desliga.

A opção não faz efeito nem se você quiser desativar com "max_usb_current=0" entretanto caso o queira por algum motivo, você pode colocar o gpio 38 (padrão BCM) em LOW mode manualmente (exceto 3B) via "gpio usbp low". Você pode também ler seu estado com "gpio -g read 38".

Os modelos antes do B+ e o Raspberry Pi Zero por exemplo não são afetados já que não tem o chip de controle. A alimentação do USB é direta nesses modelos, por isso cuidado! No caso do Raspberry Pi Zero não há nem polyfuse de proteção.

Só relembrando pois sempre alguém pergunta: Os 1.2A são para todo conjunto de portas, não é para cada porta. Você pode sim consumir 1.2A em uma porta, mas não irá conseguir consumir nada nas outras pois já estará no limite.

Leia também: Raspberry Pi B+ e posteriores poderiam liberar até 2.1 amperes nas USBs com modificação no hardware

Referência:
https://github.com/raspberrypi/firmware/commit/a021d6e70bf5a710c364d21852be4a8dd4dc423a

2 comentários:

  1. Respostas
    1. Todos onde era possível fazer esse controle: Raspberry Pi B+, 2B, 2B v1.2. No 3B a opção já não existia. Portanto em todos esses citados o padrão agora é 1.2A e a opção citada não existe mais.

      Excluir