Revivendo um imac G3 rev A de 1998

De Área31 Hackerspace
Membro do hackerspace feliz por ver que é possível restaurar um computador de mais de 25 anos de idade.
iMac G3 rev. A (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!


E fiquei com dó de jogar fora a eletrônica, e resolvi tentar consertar antes de fazer o projeto original "cama de gato".


Diagnóstico

Ao tentar ligar a maquina, a tela desligava com um ruido de grilo, típico de Flyback morrendo, e a maquina morria 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

   Atenção:

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:


Se não acredita em mim:


Se quer infos, RTFM. Siga a porra do manual oficial da Apple (https://archive.org/details/1994.07-service-guide-macintosh-computers-vol-3):


   Atenção:

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. Modelo Ls14250. Comprei no link https://produto.mercadolivre.com.br/MLB-2773012599-bateria-lithium-saft-ls14250-36v-envio-imediato-_JM?quantity=1


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 morreu mais, 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.


Minha sensação ao ver essa tela ligada sem apagar:


Reparo no sistema operacional

Peguei o HDD de 4GB e conectei no meu mac via porta USB com um adaptador IDE/SATA e fiz a correção do sistema de arquivos HFS+, 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, removi o thermalpad original e limpei com bombril o dissipador, e coloquei pasta térmica boa e nova:


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, para que o novo processador fosse reconhecido:

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.

Após isso, o sistema permaneceu funcionando estável, todos os bugs sumiram, o desligamento de tela ao efetuar reboot e ao efetuar mudança de resolução de tela não mais ocorreu, e ao efetuar o desligamento, o bug que mantinha o botão verde ligado tb foi resolvido. Deixei a maquina por dias ligado em testes, com a memória reconhecida total com 160mb e processador 333Mhz e o macOS 8.6. Zero problemas ou travamentos.

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 e gravar 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 SSD, 2 modelos de NVME e 1 MSATA. 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 atualize 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.


Upgrade da ventilação

Essas máquinas esquentam MUITO! Não há cooler no processador, é tudo passivo, e um cooler só para todas as placas. Logo instalei um coolerbox AMD que nunca usei, com uma placa controladora de velocidade. Ficou bem acima, na saída de ar. Conectei numa fonte de 12v e isolei bem o cabeamento. A temperatura sempre baixa garante que o sistema rode rápido e estável, sem travamentos nem riscos para o hardware, prolongando a vida do sistema como um todo.

Comprei essa placa no aliexpress no link https://pt.aliexpress.com/item/1005004212696054.html



Upgrade do teclado e mouse

O teclado e mouse original estavam ruins, daí achei no ebay um teclado e mouse novos, nunca usados, de um colecionador.

Um grande amigo, e membro do área31 que estava a passeio nos EUA trouxe pra mim essa jóia. Vlw demais a ajuda KNZ!!

Note que o teclado e mouse são tão novos, que revelaram o quanto a carcaça do imac estava amarelada. kkkk

Joystick USB para jogos

Para jogar no macOS 9 com joystick USB é muito simples, basta instalar o USB Overdrive 1.4, disponível no link https://www.macintoshrepository.org/1810-usb-overdrive-1-4

Esse é o modelo que testei:


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)


Sim. o macOS 9 já usava implementação de criptografia SSLeavy/openSSL:

https://developer.apple.com/library/archive/documentation/Networking/Conceptual/AFP/AFPSecurity/AFPSecurity.html


Detalhes do bug do openSSL:

https://github.com/openssl/openssl/issues/22158


Após alterar meu sistema pra usar o libreSSL ao invés do openSSL, vi que a versão nova do netatalk compilou bem e funcionou! Veja esse report:

https://github.com/Netatalk/netatalk/issues/358

Configure o servidor AFP

Criei um spec do netatalk que vc pode baixar e compilar caso queira. Eu prefiro:

https://area31.net.br/downloads/netatalk.spec

Para compilar, basta instalar o pacote rpm-build, aqui usei opensuse, e colocar esse arquivo acima em /usr/src/packages/SPECS/netatalk.spec

Será necessário instalar mais alguns pacotes:

root # zypper in automake db-devel fdupes krb5-devel libacl-devel libavahi-devel libevent-devel libgcrypt-devel libtdb-devel libtool openldap2-devel libressl-devel pam-devel pkgconfig systemd tcpd-devel zlib-devel dbus-1-devel dbus-1-glib-devel tracker-devel

Depois obtenha o código fonte do netatalk na versão do spec, adicione o source ao diretório /usr/src/packages/SOURCES/, e compile com o comando abaixo:

root # rpmbuild -ba /usr/src/packages/SPECS/netatalk.spec

Instale os novos pacotes RPM gerados no diretório /usr/src/packages/RPMS/x86_64 e seja feliz.

Para configurar o netatalk, basta compilar e ajustar dois arquivos de conf. Eu usei opensuse tumbleweed como servidor:

   /etc/netatalk/afp.conf - conf do AFPD
;
; Netatalk 3.x configuration file
;

[Global]
#log level = default:debug
log file = /var/log/afpd.log
hosts allow = 192.168.200.0/24
afp listen = 192.168.200.252
hostname = z790
ATALKD_RUN = yes

[z790-macserver]
path = /storage/mac-server
time machine = no
valid users = mac-server
uam list = uams_dhx.so,uams_dhx2.so


   /etc/netatalk/AppleVolumes.default - conf do apple volume AFP
:DEFAULT: options:upriv,usedots
/storage/mac-server allow:mac-server options:usedots

Crie o usuário para se conectar via AFP:

root # useradd -m -d /storage/mac-server mac-server

Defina a senha para o usuário com no máximo 8 caracteres (limite do SO macOS 9.2 que não suporta mais que isso):

root # passwd mac-server

Crie o diretório e ajuste as permissões:

root # mkdir -p /storage/mac-server
root # chown mac-server: -R /storage/mac-server

Inicie o serviço e adicione ao boot:

root # systemctl start netatalk
root # systemctl enable netatalk


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


Remontagem

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 nativo para PPC, e emuladores diversos rodam bem e com qualidade alta. O som dessa máquina é maravilhoso. Não funciona nada SSL via browser, mas funciona SSH, FTP, HTTP e AFP. Achei inclusive um client SSH funcional:


O itunes se conecta perfeitamente em servidores CDDB para baixar as infos de CD de musica que vc coloque no drive de CD/DVD, e radios online também funcionam:


A navegação web está rodando via netscape 7 e internet explorer 5.1


Segue vídeos rodando jogos no imac g3:

Mario via SNES9x:


Quake rodando nativo pra PPC:


Doom:


Carmageddon:


Conclusão

Mesmo após 26 anos, as bases da internet permanecem inalteradas: DNS, FTP, SSH, HTTP, AFP, DHCP, IPv4, e IPv6 continuam a ser os pilares inabaláveis. Enquanto a tecnologia avança em outras frentes, esses protocolos provam que a robustez e a confiabilidade de uma boa fundação são eternas. É fascinante ver como algo criado há tanto tempo ainda sustenta nossa infraestrutura digital moderna.

Se eu quiser um iMac G3 para fazer uma cama de gato, vou ter que comprar só a carcaça vazia. Se vier com a eletrônica, eu conserto de novo. E o resultado final superou minhas expectativas: agora não preciso de nenhum vídeo game antigo, caro e limitado, porque tenho um computador RISC PPC que roda tudo o que é coisa velha. E não preciso de uma TV CRT nem de mil conversores para consoles, porque tenho a melhor tela CRT do mercado. Nenhuma TV CRT chegou perto da resolução de 1024x768 e da qualidade de cores dos monitores CRT dos iMacs. O máximo de resolução que tivemos em TV CRT no mercado foi de 640x480.

Estou satisfeito, e a diversão no processo de recuperação acabou, mas agora é usar essa maquina pra jogatina retrô. Se não queimar os chip principais, espero que dure mais 30 anos esse brinquedo. De toda forma tenho de backup uma outra placa mãe morta com vários componentes funcionando, outro flyback novinho, memória e processador 233MHz original. :))))))

Cookies nos ajudam a entregar nossos serviços. Ao usar nossos serviços, você concorda com o uso de cookies.