Revivendo um imac G3 rev A de 1998

Autor: * Coffnix
Motivo
Estava querendo fazer uma cama de gato moderna, e lembrei que muitas pessoas usavam carcaça de imac antigo. Daí fui pro mercado livre garimpar uma maquina "morta", barata, pra rancar a eletronica e deixar só as partes plasticas. E achei um morto, que não funcionava por 870 reais.
A máquina chegou e era melhor que o esperado, nenhum risco ou quebrado.
Ainda veio de brinde um superdisk iomega, tb em excelente estado, e funcionando!
Diagnóstico
Ao tentar ligar a maquina, a tela desligava com um ruido de grilo, típico de Flyback morrendo, e a maquina desligava na sequencia. Resolvi abrir e ver se era simples de consertar visto que estava com a carcaça muito nova, sem nenhum risco nem quebrado. No vídeo abaixo, o defeito original:
Cuidados com tubo CRT
Se não quer MORRER basta seguir os procedimentos abaixo
Atenção, inocente! O tubo CRT não é brincadeira. Ele pode te fritar com tensões que chegam a 25.000 volts. Isso é mais do que suficiente para parar seu coração instantaneamente. Mexa nisso sem saber e você ganha uma viagem só de ida para o cemitério. Veja no vídeo abaixo minha explicação sobre como manipular eletrônicos com tubo CRT de forma segura:
Leia acima novamente, repetidamente, para nunca cometer o erro de não descarregar um tubo CRT.
Após abrir, vi que o estado estava excelente, porém notei vários capacitores vazados, e outros estufados, e resolvi fazer o recap geral. Essa é a visão dela aberta:
A bateria estava em péssimo estado, e era a original ainda, e por sorte não vazou nem explodiu.
Comprei uma novinha e substituí após o reparo.
A placa mãe e o processador original 233MHz vc pode ver nas fotos abaixo:
Daí com tudo desmontado, fiz uma limpeza e colei umas travas.
Reparos eletrônicos
Peguei o esquema elétrico, removi o flyback da analog board e resolvi fazer os testes.
Batata! Detectado o defeito no flyback, e alguns capacitores zuados e estufados no vídeo abaixo:
A fonte estava boa, com tudo funcionando sem problemas porém resolvi fazer a substituição de todos os capacitores.
Essa é a analog board, que estava com defeito:
note os capacitores estufados na placa que conecta o flyback ao tubo CRT:
Peguei o modelo original do flyback para comprar um novo:
E achei dois pra comprar no mercado livre, e comprei ambos:
Após trocar o flyback e os capacitores, a maquina funcionou, parou de desligar o monitor e não desligou, porém ainda congelava na tela do boot. Deixei ligada por cerca de 30 minutos e não desligou a tela, logo a analog board ficou 100% resolvido o problema.
Reparo no sistema operacional
Peguei o HDD de 4GB e conectei no meu mac via porta USB e fiz a correção do sistema de arquivos, estava corrompido. Após corrigir o filesystem, o sistema subiu normalmente. Era um macOS 8.6 com 32mb de ram. Remontei o gabinete após limpeza completa e troca do cooler original por um noctua.
Upgrades
Essa joia não poderia rodar na configuração original por ser muito fraca e limitada. Logo corri pro mercado livre pra tentar achar um processador mais novo e memória, e achei uma placa mãe queimada (no estado) onde o vendedor informou que era um modelo de 1999 com 333MHz e 128MB de ram. Comprei. A placa chegou em péssimo estado, com bateria vazada, trilhas rompidas, mas por sorte o processador e a memória de 128mb estava perfeitas, e era o que me interessava.
Upgrade do processador
Fiz a troca do processador:
Após testar o primeiro boot e trocar o processador, a maquina não subiu. No forum apple algumas pessoas reportavam ser necessário resetar a PMU, que fica na placa mãe, circulado em vermelho na foto abaixo:
E voilá! subiu normalmente! Porém ela apresentou um bug estranho, onde após alterar a resolução de tela ou mesmo reiniciar o imac, a tela não voltava mais, ficava sempre apagada. Também ficava sempre o botão verde ligado mesmo após eu mandar desligar o imac. Problemas resolvidos após resetar a pram e nvram. :D
A tela do openfirmware tem diversos comandos, basta acessa-la no boot. A tela é essa:
Segue abaixo o procedimento para reset da PMU e pram e nvram:
1- Pressione o botão por 5 segundos, e aguarde por 30 segundos antes de religar tudo. NUNCA PRESSIONE VÁRIAS VEZES, ISSO IRÁ CORROMPER A PMU!!! pressione uma vez somente. Religue normalmente.
2- Ligue o imac e após ouvir o som de boot, pressione ao mesmo tempo as teclas Command (⌘) + Option (⌥) + P + R. Após ouvir o som de boot 2x, desligue o imac na tomada. Feito isso está resetada a PRAM.
3- Ligue o imac e após ouvir o som de boot, pressione ao mesmo tempo as teclas Command (⌘) + Option (⌥) + O + F para entrar no OpenFirmware e fazer o reset da nvram. Digitando:
reset-nvram
Depois digite:
set-defaults
Depois reinicie seu imac:
reset-all
4- deixe o imac ligar normalmente, e mantenha ligado por pelo menos 10 minutos, para dar tempo de todos os testes do SO serem feitos, e desligue a maquina de forma correta.
Segue o sistema funcionando com a memória reconhecida total com 160mb e processador 333Mhz e o macOS 8.6 :D
Upgrade do cdrom para DVD
O cdrom original 24x estava lendo muito mal. Tentei limpeza da lente e não resolveu.
Logo resolvi testar um DVD que tinha guardado, de um notebook antigo. Funcionou perfeitamente. Somente tive que quebrar as travas internas da tampa do cdrom original pra se encaixar no DVD do notebook dell, e colar com fita dupla face. Ficou bacana e agora o imac g3 é capaz de ler DVD:
Upgrade do HDD para SDcard
O HDD original era de somente 4GB, e estava dando mil erros durante leitura com dd, e travando a maquina toda hora durante o uso, sem contar que esquentava a beça. Trocá-lo era preciso, mas eu não ia trocar por um HDD mecanico, nem fodeno!
Tentei trocar o HDD por nvme, msata, ssd, e nenhum funcionou, limitação do barramento e da controladora IDE desse modelo que só suporta ATA-33 e ATA-66. Testei 3 modelos diferentes de placas adaptadoras de IDE para SATA, e 4 modelos diferentes de NVME. Nenhum foi reconhecido nem pela BIOS openfirmware. Daí vi na amazon uma placa SDcard que suportava padrão ATA-66, e resolvi testar, e funcionou!
Segue o link da amazon EUA onde comprei: https://www.amazon.com/dp/B07YFPX7JB?psc=1&ref=ppx_yo2ov_dt_b_product_details
Fiz uma proteção da placa na parte de baixo visto que o gabinete é metalico, e também envolvi a placa em plastico bolha após instalado. O cartão que usei foi um lexar silver de 128GB, extremamente rápido e estável.
Veja que bacana ficou o benchmark após trocar o HDD, que não dava nem 4mb/s antes. Agora o sdcard atinge o limite do barramento, cerca de 17mb/s. Usei o macbench 5, que vc pode baixar no link https://www.macintoshrepository.org/28838-macbench-5-0-cd
Upgrade do sistema operacional para macOS 9.2.2
Agora com o hardware finalizado, ficou fácil fazer upgrade. Baixei uma imagem bootável que funcionou bem. Segue o nome das iso e o sha1 de cada um que funcionou.
aa2138b77835ae8b446c9ce8ab84c6b8689b6eda Mac OS9.2.1 Original Copy .iso (https://archive.org/details/mac-os-9.2.1-original-copy)
4d5cedf3c6d16fa5dbcec450f96a6a18597bcee7 mac-os-9.2.2-universal-2002-edition.iso (https://www.macintoshrepository.org/1307-mac-os-9-2-2-universal-2002-edition-)
Grave em um CD-R na menor velocidade possível. Aqui gravei em 10x e deu boot normalmente. Para dar boot basta colocar o cd na bandeja e ao dar boot, mantenha pressionada a tecla C.
Após dar boot pelo cd, abra o Drive Setup e particione o disco primario com maximo de 6GB (limite da tecnologia), e o restante crie uma ou quantas partições quiser. Fiz uma de 6GB e outra de 110GB no meu sdcard. Após instalar a versão 9.2.1, coloque o CD da versão 9.2.2 no drive e atualizei o sistema.
Segue o sistema novo instalado e redondo, com vários softwares testados e também jogos nativos do macOS 9 e emuladores e roms diversos.
Rede AFP para troca de arquivos
Para que o mac antigo converse com o novo, é necessário um servidor AFP. No Linux temos o netatalk que uso a mil anos pro backup do time machine. Só que para conversar com maquinas antigas, ocorria erro de login devido ao openssl 3.0 ter dropado chaves curtas.
uams_dhx_pam.c :PAM: Err Generating Key (OpenSSL error code: 41943166, error:0280007E:Diffie-Hellman routines::modulus too small)
Problemas em aberto ainda que vc pode ver mais infos em:
https://github.com/openssl/openssl/issues/22158
Após testar o libreSSL, vi que a versão nova do netatalk está ok e compilou bem e funcionou! Veja esse report:
https://github.com/Netatalk/netatalk/issues/358
Criei um spec do netatalk que vc pode baixar e compilar caso queira. Eu prefiro:
https://area31.net.br/downloads/netatalk.spec
Após esse trabalhão, foi possível comunicar do macOS 9.2.2 com o Linux, e do macOS 15.0 sequoia eu consigo conectar tb nesse share e compartilhar arquivos. Ficou simples e funcional. :D
Finalização
Montei o imac por completo.
Veja o tempo de boot do macOS 9.2.2 no SDcard:
Atualizei todos os softwares pras últimas versões que encontrei pra macOS 9.2.2. Tudo estável, rodando bem confiável e rápido. O tubo CRT tem uma qualidade impecável, excelente para ser uma maquina "retro gamer", pois roda tudo quase nativo, e emuladores diversos rodam bem e com qualidade alta. O som dessa máquina é maravilhoso, tem itunes que conecta em servidores CDDB para baixar as infos de CD de musica que vc coloque no drive, e radios online também funcionam. Só não funciona nada SSL, mas funciona FTP, HTTP e AFP. Estou satisfeito, e a diversão no processo de recuperação vai continuar agora no uso. Se não queimar os chip principais, espero que dure mais 30 anos esse brinquedo.
Achei inclusive um client SSH funcional!
Segue vídeos dela rodando jogos:
Mario via SNES9x:
Quake rodando nativo pra PPC:
Doom: