BitAxe-Fix: firmware Bitaxe sem bug de shares zeradas
BitAxe-Fix é um fork corrigido do ESP-Miner (bitaxeorg) para BM1366 / BM1368 / BM1370 (Gamma).
Resolve uma regressão silenciosa de validação de nonce, além de hardening de segurança
e um governador térmico gradual — tudo auditado linha a linha e documentado.
exclusivo deste fork
Telemetria por MQTT. Cada Bitaxe publica hashrate, temperatura,
potência e shares num tópico próprio — com TLS. Dá para acompanhar o parque inteiro
num painel, alarme ou planilha, sem ficar abrindo a interface de cada aparelho.
como funciona →
Dois Bitaxe Gamma (BM1370, board 601) a 600 MHz / 1200 mV — capturado direto da API, sem retoque.
bitaxe01 · 115200 8N1
hash1,17 TH/salvo 1,224
eficiência16,43 J/THalvo 15,68
erro0,00%
shares42.991137 rej.
uptime1 Dia 22 Horas
bitaxe02 · 115200 8N1
hash1,20 TH/salvo 1,224
eficiência19,73 J/THalvo 19,31
erro0,90%
shares45.55962 rej.
uptime1 Dia 22 Horas
Os números vêm da telemetria que cada Bitaxe publica via MQTT
O que mudou em relação ao original
11 correções sobre a v2.15.1 oficial, mais uma funcionalidade que o upstream não tem, agrupadas por natureza. Os três críticos vêm primeiro: são os que afetam quem já está minerando hoje.
crítico 3
Afetam quem já está minerando: shares perdidas, hardware em risco, travamento.
crítico
Shares zeradas com version-rolling
Com version-rolling negociado, BM1366/68/70 podiam validar nonces usando o midstate SHA-256 errado:
hashrate normal na tela, mas zero shares aceitas e nenhum log de erro. Corrigido com um
sentinela explícito de "midstate não aplicável".
crítico
Envelope de tensão e frequência por ASIC
O original aceita qualquer valor via API: {"coreVoltage":1999} aplica 1,999 V num chip de
1,15 V, sem barreira no servidor. Aqui cada ASIC tem um envelope próprio — só os presets sem
overclockEnabled, teto absoluto por chip com ele — imposto no HTTP, no BAP e também sobre
valores já gravados na NVS.
crítico
Uso de memória liberada no Stratum
A troca de extranonce e o encerramento de uma conexão Stratum V2 podiam liberar ponteiros ainda em uso
por outra tarefa, derrubando o firmware a partir de dados vindos da pool. Corrigido com locks dedicados e
cópias locais em todos os leitores.
estabilidade 3
Mantêm o aparelho de pé e dentro dos limites térmicos e elétricos.
estabilidade
Governador térmico gradual
O original corta a mineração de forma abrupta ao esquentar. Aqui a frequência é reduzida
progressivamente conforme a temperatura sobe, evitando paradas totais desnecessárias.
estabilidade
Throttle por queda de tensão de entrada
Reduz a frequência do ASIC automaticamente quando a fonte de 5V começa a cair, evitando
reinícios por brownout em vez de só reagir depois que o reset já aconteceu.
estabilidade
Sensores mudos viram falha explícita
Os drivers devolviam o último valor bom quando o sensor parava de responder, então um sensor de
temperatura morto deixava o firmware em frequência cheia sem nenhuma proteção térmica. Agora vira falha de
hardware declarada, com ventoinha a 100%, e o throttle por tensão é suspenso enquanto a leitura estiver
velha.
segurança 2
Endurecem o que processa dado vindo da rede e do próprio ASIC.
segurança
Parsing de rede endurecido
Correção de estouro de buffer no scan Wi-Fi (redes com mais de 20 SSIDs visíveis), de um bug de
sinal no parser DNS do portal cativo, e de leituras fora de limite no parsing da coinbase da pool.
segurança
Drivers de ASIC e sensores mais defensivos
Checagens de nulo e de limites nos drivers BM13xx, no regulador TPS546 e no cálculo de RPM dos
fans — eliminando cenários de crash/reset espúrio observados em auditoria de código.
frontend 3
Corrigem a interface AxeOS servida pelo próprio aparelho.
frontend
Vazamento de inscrição no AxeOS
Corrigido um vazamento de subscription no editor de dispositivos do modo swarm que podia disparar
gravações de configuração indevidas ao trocar de dispositivo na interface.
frontend
Senha do pool preservada ao salvar
Salvar a página de pools sem redigitar a senha gravava o literal "x" e derrubava a conexão
com a pool. O campo em branco agora mantém a senha já armazenada.
frontend
Varredura do swarm não derruba mais a interface
A busca por dispositivos abria até 256 conexões simultâneas contra um servidor que aceita 20, expulsando
o próprio WebSocket da sessão. Concorrência reduzida, contagem regressiva pausada com a aba oculta e listas
que não são mais recalculadas a cada ciclo de renderização.
novidade 1
Não existe no upstream: foi construída neste fork.
novidade
Telemetria por MQTT
Cada aparelho publica hashrate, temperaturas, potência, shares e uptime num broker MQTT externo, por TLS 1.2 — levando os números para fora da rede local sem abrir porta no roteador.
Tópico bitaxe/<identificação>/telemetry, com identificador único derivado do MAC e editável na tela. Intervalo configurável, padrão 30 s.
A mineração nunca depende do broker: se ele cair, o hash continua, o log não é inundado e a publicação volta sozinha em segundos assim que a rede retorna.
Download
Baixe os dois arquivos abaixo (firmware + interface web) e envie pela
própria interface do Bitaxe, sem cabo USB — o passo a passo está logo depois dos downloads.
Nota de correção — V0.12 · 25/10/2026
Na V0.11, que este site distribuiu até 25/10/2026, o AxeOS não abria: o navegador entrava num
loop de redirecionamento. O firmware registrava mais rotas do que o servidor HTTP aceita, e a
última, justamente a que serve a interface, ficava de fora sem nenhum aviso. A V0.12 abaixo amplia
esse limite e passa a verificar o registro dessa rota.
Está com uma versão baixada antes de 25/10/2026 e a interface não abre? A API
continua respondendo. Baixe o esp-miner.bin abaixo e, de um computador na mesma rede,
rode na pasta onde ele foi salvo:
No Windows, digite curl.exe em vez de curl. O Bitaxe reinicia sozinho
com a V0.12. Com a interface de volta, envie o www.bin pela tela
Update para deixar o AxeOS na mesma versão.
.bin
esp-miner.bin
Firmware principal — versão V0.12 · 1,68 MiB · offset 0x10000
Confira o hash dos dois arquivos antes de gravar — o comando
muda conforme o sistema:
Windowscertutil -hashfile esp-miner.bin SHA256
Linuxsha256sum esp-miner.bin www.bin
macOSshasum -a 256 esp-miner.bin www.bin
Como atualizar pela interface do Bitaxe
O AxeOS recebe os arquivos pela rede e a atualização não apaga as configurações (pool,
carteira, Wi-Fi, frequência/tensão). Este é um fork não-oficial — use por sua conta e risco.
Baixe esp-miner.bin e www.bin e confira o hash. Não renomeie
os arquivos: a interface só aceita esses nomes exatos. Se o navegador salvar como
www (1).bin, renomeie de volta.
No navegador, abra http://IP_DO_BITAXE e clique em Update no
menu lateral.
Primeiro a interface: no quadro Update AxeOS, clique em
Browse e escolha www.bin. Espere a mensagem
AxeOS updated; a página recarrega sozinha.
Depois o firmware: no quadro Update Firmware, clique em
Browse e escolha esp-miner.bin. Espere
Device has been successfully restarted.
Na mesma tela, confira que Current Version mostra V0.12.
A ordem importa: com a interface enviada primeiro, o firmware novo já reinicia junto do AxeOS
da mesma versão. Não desligue o Bitaxe da energia enquanto a barra de progresso
estiver andando. Se o envio do esp-miner.bin cair no meio, o aparelho continua com o
firmware anterior; se cair o do www.bin, a interface pode ficar inacessível — nesse
caso, grave por USB.
Para voltar ao firmware oficial, baixe esp-miner.bin e www.bin da
release oficial
no GitHub e envie pela mesma tela Update, na mesma ordem.
Sem acesso à interface? Gravar por USB
Com o esptool ou o
ESP Web Flasher, cada
.bin vai num endereço diferente da flash. Gravar no offset errado derruba o
aparelho — confira antes de dar enter:
Em versões mais antigas do esptool o comando é esptool.py e o subcomando usa
underscore (write_flash) — os endereços são os mesmos. No ESP Web Flasher, informe
esses offsets nos campos de endereço de cada arquivo.
Apoie o projeto
Manter e auditar este firmware leva tempo. Se este trabalho te ajudou, uma forma
de apoiar sem custo extra é comprar pelo link de afiliado abaixo.
Divulgação: este é um link de afiliado. Ao comprar por ele, você não paga nada a
mais e ainda ajuda a manter este projeto.
Doação em cripto
Prefere apoiar direto? Os endereços abaixo vão para o desenvolvimento deste fork.
Confira sempre a rede antes de enviar — moeda mandada na rede errada não tem como ser
recuperada.