Monorailcat

Autoradio Tuner List (3) : Intégration

icon 2017-01-08 - No comments

Le chargeur de téléphone est placé juste devant le levier de vitesse, et le câble peut s'enrouler autour, ce qui peut devenir gênant en roulant.

Pour éviter tout ça, il doit être possible d'intégrer le chargeur de téléphone dans l'autoradio (dans lequel il reste la place du lecteur de cassettes).

Câblage
L'autoradio est alimenté par le +12V_Permanent (pin A4), et le +12V_Contact (pin A7) ne sert qu'à l'activer à la mise du contact.
DIN/ISO 10487 pinouts

Il y a deux gros pads à proximité d'une capa de découplage sur le PCB, l'empreinte ressemble à celle d'une capa chimique SMD, sauf qu'ils sont reliés au +12V_Permanent, et qu'on ne veut pas que notre chargeur vide la batterie.
Tuner list full PCB

En jouant un peu à l'Ohm-mètre (les pistes sont dures à suivre avec un PCB multi-couches), on arriver à trouver un pin relié au +12V_Contact. Les pistes sont fines, mais semblent correctes pour 500mA (<500mΩ, mon Ohm-mètre n'est pas plus précis).
+12V_Contact

Une fois les pads repérés, on peut souder sur la carte à LM2596 du chargeur de téléphone, sans oublier de mettre un fusible de 1A.

On peut aussi profiter que l'autoradio soit ouvert pour mettre les selfs différentielles à l'intérieur. En pratique, avec des selfs toriques, les fuites sont tellement faibles qu'on peut se permettre de les placer n'importe comment sans qu'il n'y ait de couplage avec d'autres selfs ou les circuits voisins.

Mécanique
On peut utiliser des vis/entretoises M3 pour fixer l'alimentation. Il faut faire attention à ce que les vis ne touchent rien d'autre que la masse, j'ai dû ajouter une rondelle isolante pour une vis proche du rail d'entrée.
Mounted PSU with

Comme c'est installé dans une voiture, il ne faut pas oublier qu'il y a beaucoup de vibrations et des cycles thermiques assez larges, du coup ce n'est pas une mauvaise idée d'ajouter des contre-écrous en plus du taraudage des trous.
Jammed Nuts on standoffs

Pour les vibrations, il faut aussi sceller tout ce qui peut bouger : fils, fusible, nappes, selfs. Les zip-ties sont moches, mais bien adaptés à ce genre de choses.
Zipties as strain reliefs

Une fois que tout est fait, on n'oublie pas de vérifier à l'Ohm-mètre qu'il n'y a rien de mal câblé, et que rien ne bouge en secouant le bloc. Avec un fusible de 15A dans la voiture, il y a de quoi faire des dégats sans même que ça ne coupe.

Une fois testé, on peut vérifier que le chargeur ne fonctionne que lorsque la clé est insérée.
Blue LEDs show the charger is powered

icon Tags de l'article : , , ,

Autoradio Tuner List (2) : Bruit

icon 2016-12-30 - No comments

En ayant pu (enfin) utiliser la voiture, j'ai remarqué qu'on entendait un bruit dépendant du régime moteur dans l'autoradio (probablement l'allumage).
En investiguant un peu, j'ai remarqué qu'en utilisant le chargeur de téléphone avec le moteur allumé, le téléphone avait aussi un bruit audible.

Identification et réparation
Ça suppose soit un PSRR immonde pour le chargeur du téléphone, soit du bruit de mode commun (rayonné ou bien conduit).

Du coup la solution miracle est arrivée après quelques secondes de réflexion : des selfs différentielles.

Avec quelques tours de câble enroulé autour d'un tore de ferrite sur les câbles d'entrée analogique et d'alimentation ont complètement réglé le problème.

common-mode ferrite inductors


Principe
Le but est de filtrer un courant parasite qui circule dans une boucle. Un simple filtre LC sur chaque fil de signal filtrerait le signal utile, sans beaucoup atténuer le signal parasite.
common-mode noise

Avec une self sur chaque signal, y compris la masse, c'est le même problème, on filtre le signal utile.
En couplant ces selfs entre elles, le signal de mode différentiel n'est pas perturbé. Le sens du bobinage fait que l'inductance est faible (le champ est nul) tant que le courant qui rentre par les fils de signaux est égal au courant qui retourne par la masse. Par contre en cas de perturbation de mode commun, le courant entrant et le courant sortant tendent à ne pas être égaux (soit par une boucle de masse, soit par des capacités parasites), du coup il commence à y avoir un champ magnétique dans la self, qui présente une inductance (et atténue ces courants).

common-mode vs differential inductors

Références

icon Tags de l'article : , , , ,

Autoradio Tuner List : Entrée Aux

icon 2016-10-30 - No comments

J'ai un autoradio Tuner List (Renault/VDO, modèle 22DC259/62T), avec un lecteur cassettes qui m'est inutile, mais je voulais ajouter une entrée analogique pour y brancher un smartphone ou un lecteur audio.

/!\ Danger
La tension maximale n'est que de <15V, mais tout est sous tension, même lorsque le contact n'est pas mis, ou que l'autoradio est éteint. Le fusible permet de sortir 15A, largement de quoi tout casser et se blesser avant qu'il ne fonde.
/!\ Warning
The maximum voltage is only <15V, however, the radio is always powered, even when switched off or when the engine is turned off. The fuse is rated for 15A, more than enough to blow the radio and hurt yourself before it melts.


Démontage
Sur les Renault Mégane, la face avant de l'autoradio est plus large que celle des autres voitures, mais les fixations sont à peu près au même standard.
Il suffit d'insérer deux clous de 4mm dans les deux trous en bas sur les côtés, pousser les clous vers l'extérieur, et de faire bouger l'autoradio sur les côtés en le tirant. Deux mains sont nécessaires, mais c'est faisable sans outils spéciaux.
Removing the radio from the car's front panel

Une fois l'autoradio tiré, il y a un connecteur DIN/ISO (parfois séparé en deux parties) à gauche, puis un connecteur (jaune dans ce cas), pour relier les commandes au volant et l'afficheur (I²C). Il y a aussi parfois aussi un connecteur (bleu) dans le cas où un chargeur de CD serait présent. Le câble d'antenne (Coax à droite) est aussi à débrancher. Il est souvent clipsé à l'arrière de l'autoradio.

Code
Quand l'alimentation de l'autoradio a été débranchée, il est nécessaire d'entrer un code (normalement fourni, sinon trouvable à partir du numéro de série).
Quand l'autoradio affiche "0000", avec le premier '0' clignotant et qu'il faut entrer le code "1234", il faudra taper une fois sur la touche "1", une fois sur la touche "2" pour choisir le 2nd caractère (qui doit clignoter), puis deux fois sur cette touche (l'écran doit afficher "1200"), idem avec les touches 3 et 4 pour les derniers digits.
Une fois le code complet, il faut maintenir la touche 6 appuyée jusqu'à ce que l'autoradio fonctionne normalement.

Teardown
Le haut de l'autoradio se démonte simplement en déclipsant 4 clips avec un tournevis plat.

Il faut retirer deux connecteurs Würth WR-MM et dévisser 4 vis Torx T8 pour démonter le lecteur de cassettes en le tirant vers l'arrière (il faut retirer la cassette présente avant de retirer le lecteur).

La carte n'a de composants que sur la face, le PCB vertical à l'arrière contient uniquement le tuner FM/AM, et le PCB vertical à l'avant supporte des boutons poussoirs et des LEDs.

Il y a 3 composants qui nous intéressent :
  • TEA0676T : Préampli de cassette, à proximité du connecteur WR-MM à 4 pins des têtes du lecteur de cassette
  • SAA7708H : ADC + DSP + DAC + MUX + décodage RDS + décodage SPDIF, ASIC "magique" conçu pour les autoradios
  • 93CW44DF : Microcontrôleur OTP ou ASIC custom, sans documentation, semble tout contrôler
  • TAA276H (TDA7385H) : Ampli de puissance 4*20W (bridge)

Les autres gros circuits intégrés concernent le tuner, l'ampli de puissance ou de la glue logique.
VDO/Renault Tuner List taken apart

Sur cet autoradio, il est possible d'utiliser l'entrée SPDIF (disponible sur le connecteur du chargeur de CD), mais le périphérique doit communiquer avec l'autoradio (RS232 0-12V, 9600, 8N1).

Entrée
Le circuit SAA7708H supporte 3 entrées analogiques (phone, tape, CD), mais elles sont contrôlées par le chip 93CW44DF (contrôle par un bus I²C).
Comme le lecteur de cassettes ne me sert pas, je vais câbler l'entrée à la place de celui-ci.

Au niveau des têtes de lecture, le niveau est très faible (~1mV), et surtout le signal est remis en forme (filtres, égaliseur). Il est nettement plus simple de récupérer le signal en sortie du préampli (signal déjà égalisé, filtré et amplifié), à environ 1V (compatible avec une sortie casque/ligne au volume maximal).

En regardant entre la sortie du TEA0676T l'entrée du SAA7708H, on voit des capacités pour bloquer une composante DC, et un filtre passe-haut (entrée d'ADC). On va donc câbler l'entrée juste à la sortie du TEA0676T.

Adding an analog input to the VDO tuner list
Adding an analog input to the VDO tuner list

Les pins 1 et 16 sont dessoudés et isolés de leurs pastilles, et le câble d'entrée est soudé sur des points de test et la masse sur un plan.

Après un test, l'entrée fonctionne uniquement si le lecteur de cassettes (connecteur à 10 pins) est branché et si une cassette est présente (il n'y a pas besoin de brancher le câble à 4 pins).

Lecteur de cassettes
Par un peu de rétro-ingéniérie, il est possible d'identifier chaque signal du connecteur WR-MM à 10 pins :
PinFonction
1Auto-reverse switch
2GND
3Presence switch (C)
4Presence switch (T)
5Motor (+)
6Mute switch
7Solenoid
8Solenoid
9NC
10CrO2 switch
Avec quelques tests, seulement les fils en gras sont utiles pour activer le lecteur de cassette.
Le pin 6 (Mute switch) est à relier au pin 2 (GND). Les pins 2 et 3 (presence switch) sont à relier entre eux.
fooling the cassette deck controls on the VDO tuner list


Remarques
Attention, il y a très peu de place entre le volant et le levier de vitesse, un faux mouvement fait vite des dégâts. En pratique, il faut isoler le mécanisme de cassette et le PCB de contrôle avec des sachets antistatiques, et aussi débrancher le connecteur WR-MM à 10 pins avant chaque modification.

À la moindre erreur, il peut y avoir de gros dégâts :
what happens when you're not careful enough

L'autoradio est soumis à de larges cycles de température et doit supporter des vibrations. Pour cela, tous les câbles ont été isolés avec de la gaine thermo-rétractable ou plusieurs couches de ruban de kapton ou de vinyl.
Il faut aussi prendre en compte le fait que le jack peut être tiré depuis l'extérieur. Un simple noeud permet d'éviter de casser les soudures.
careful wiring

Les boutons eject et avance/retour rapide ont été fixés par des morceaux de PVC pris en sandwich entre la face avant et le haut du boitier. Il a été nécessaire de percer les boutons pour laisser passer le câble.
Front face of the modded Tuner List. One could barely tell it has been deeply modified.

Tests
Une fois toutes les modifications testées in-situ, puis faites de façon définitive, on a gagné un jack 3.5mm (de quoi faire des envieux chez les propriétaires d'iPhones 7)

Avec mon lecteur audio Sandisk Sansa et mon smartphone HTC Desire X, le volume doit être au maximum pour avoir le même volume que le tuner FM, mais le son est bien en stéréo et de bonne qualité.


Références

icon Tags de l'article : , , , ,

Chargeur de téléphone

icon 2016-10-28 - No comments

J'ai eu besoin d'un adaptateur fonctionnant sur un allume-cigare de voiture, pour charger un téléphone, et occasionellement d'autres objets.
Comme mon appareil photo ne se charge qu'à 250mA, je vais mettre deux ports, un câblé pour autoriser une charge rapide à 1.5A (smartphone), et un autre limité à 250mA.

Solutions
J'ai récupéré un chargeur de Motorola T205 avec un connecteur allume-cigare. Le problème, c'est que le circuit du chargeur est incompatible avec n'importe quel périphérique USB (5.8V à vide + limite de courant à 150~200mA).

Pour cela, on ne gardera que le boitier compatible avec un connecteur allume-cigare, mais on devra changer le convertisseur pour qu'il puisse fournir du 5V, avec quelques contraintes :
  • Tension d'entrée : 7~16V, tension bruitée
  • Courant d'entrée : <2A, fusible
  • Tension de sortie : 5.0V, peu bruitée
  • Courant de sortie : 2A

J'ai quelques régulateurs de la famille LM25xx (ici des LM2596 donnés pour 3A) et des connecteurs USB dessoudés d'une carte-mère de PC, ça devrait pouvoir s'adapter sans aucun problème.
buck psu as a car smartphone charger

Câblage
Régulateur
Pour éviter les problèmes avec le régulateur ajustable, le potentiomètre permettant de régler la tension d'alimentation va être remplacé par des résistances fixes de 2.2k et 6.8k (le potentiomètre peut facilement être dérêglé par des vibrations, et rentre mal dans le boitier).
replacing the pot by two fixed resistors

Ici, j'ai utilisé une résistance traversante et une 1206 pour optimiser le routage (et parce que les pastilles du PCB Made in China sont parties en dessoudant le potentiomètre).

USB
J'ai uniquement regardé les spécifications des ports USB concernant les périphériques "universels" (je n'utilise pas de périphériques Apple).
Le port USB Rapide est câblé avec les deux pins D+ et D- reliés (<200Ω d'après les specs) et une résistance de pulldown de 1MΩ pour ne pas s'éloigner des specs.
Le port USB Lent est câblé avec uniquement des résistances de pulldown de 12kΩ.
pulldown resistors on the USB connector

Les résistances de pulldown sont rarement présentes dans les chargeurs cheap, mais laisser les pins de données flottants pose un risque d'ESD (surtout dans une voiture isolée de la terre).

Assemblage
Le boitier d'origine est légèrement trop petit, il a fallu le fraiser, puis le refermer avec du duct-tape et des zipties. L'arrière du port USB est protégé par de la colle chaude et du duct-tape.
duct-taped and ziptied smartphone charger

J'ai remarqué une fois l'assemblage terminé qu'une LED visible depuis l'extérieur aurait été utile.

Il est indispensable d'isoler proprement les pins en entrée de l'alimentation.
dangerous Chinese wiring


Références

icon Tags de l'article : , , ,

Compaq Contura 4/25CX (2)

icon 2016-10-03 - No comments

J'ai récupéré un lot de plusieurs PCs portables vintage. Ce Compaq Contura 4/25cx de 1993 était visuellement en assez bon état, mais nécessitait un contrôle, quelques modifications et probablement quelques réparations.
Compaq Contura 4/25CX overview

Hardware
Ce PC est entièrement fabriqué et conçu par Compaq :
Configuration :
  • Processeur : Intel 486SL-25MHz
  • RAM : 8Mio (4Mio onboard + 4Mio extension) FPM
  • Disque dur : 120Mo 2.5", remplacé par un disque de 260Mo
  • Lecteur de disquettes
  • Écran : LCD 8.5" 640×480, (DSTN RGB)
  • Trackball monté sur l'écran
Un teardown complet d'un autre Compaq Contura 4/25 est visible dans un article précédent.

Aucune documentation spécifique à ce PC n'est disponible, mais le démontage et le remontage sont assez intuitifs.
opened Contura

Des tournevis Philips 1, Torx T8 et une clé creuse à 6-pans de 5mm sont nécessaires pour démonter le PC (un tournevis Philips 0.75 et une clé 6-pans de 4mm sont nécessaires uniquement pour fixer l'extension de RAM à la carte-mère).

Modifications/Réparations

Batterie
La batterie d'origine a 10 éléments NiMH (12V, 2.2Ah). Comme prévu, elle est inutilisable. Après quelques cycles forcés, 8 cellules ont pu repartir avec une capacité entre 200 et 800mAh. Par contre elles sont inutilisables avec des courants supérieurs à 500mA.
Pour ne pas perdre la plasturgie du pc portable, j'ai choisi de "vider" la batterie de ses élements.

Batterie CMOS
La batterie d'origine est une pile CR2430, périmée depuis plusieurs années. Mais en rusant, il est possible de la remplacer par une pile CR2032 avec une entretoise.
CR2032 inside a CR2430 socket
Évidemment, une bande de scotch résistant dans le temps et aux moyennes températures (kapton, vinyl) est indispensable pour éviter que l'entretoise ne se déplace en cas de choc.

Coque
La coque de ce PC est faite en plastique Makrolon 6255, moulé par injection. Le problème est que ce plastique est rigide, et devient cassant en vieillissant. Après une dizaine d'années d'utilisation, la coque à quelques fissures des deux côtés des charnières de l'écran, et des pièces censées servir de ressort sont cassées par fatigue.

La charnière du côté de l'écran a été réparée avec de l'époxy et des renforts métalliques. La réparation est visible depuis l'extérieur, mais est fiable.
Côté base, la charnière était aussi fendue, mais n'avait pas été touchée. Comme je n'avais pas d'époxy, je l'ai réparée avec de la colle cyanocrylate. La colle rend habituellement le plastique cassant, du coup j'ai ajouté des rondelles pour répartir les efforts.
repaired hinges with epoxy

La nappe flat-flex de masse vissée aux blindages de l'écran et du châssis n'est pas indispensable. Si elle est cassée, les charnières sont suffisament conductrices pour que l'écran fonctionne correctement (mais dans ce cas, le serrage des vis des charnières est critique)

Connecteur VGA
Le détrompeur du connecteur VGA a été percé exactement de la même façon que pour le Compaq Deskpro 386s.
drilling a keyed VGA connector

Disque dur
Le disque dur d'origine était assez petit (120Mio), même pour l'époque. Comme j'en avais plusieurs en réserve, j'ai préféré le remplacer.
Comme avec le Compaq Deskpro 386s, le BIOS ne reconnait que des types de disques pré-définis. J'en ai profité pour mettre à jour la feuille de calcul que j'avais utilisé avec le Deskpro. Le setup du BIOS est présent dans la ROM et est accessible en pressant F10.

Software
Comme le précédent 486, légèrement plus performant, avait été utilisé avec Windows 95, j'ai installé MS-DOS 6.22 puis Windows 3.11 sur celui-ci.

Par contre, ce PC n'a pas de slot PCMCIA ni de carte réseau. Les seules options pour copier des fichiers d'une machine à l'autre sont d'utiliser des disquettes, un terminal série, ou bien une carte réseau sur port parallèle.
Plutôt que d'utiliser ces solutions lentes et contraignantes, j'ai préféré copier les fichiers des programmes qui m'intéressaient en installant le disque dur dans une autre machine.

Utilisation
Le PC est très léger (batterie absente), ne fait peu de bruit et ne chauffe pas. Le clavier a une course assez longue mais des touches étroites, et le trackball placé à côté de l'écran a un confort/position assez spéciaux. L'écran est d'excellente qualité pour l'époque (TFT), mais assez petit (640x480, 8.5").

Les performances sont excellentes avec DOS, et largement correctes avec Windows 3.11. Seuls les temps d'accès et le débit du disque dur ont l'air de limiter les performances.
Le plus gros défaut de cette machine est l'absence de slot PCMCIA, qui empêche toute extension avec des périphériques performants.
infoworld Compaq Contura 4/25CX review


Références

icon Tags de l'article : , ,

Gateway 2000 ColorBook 4 : Teardown

icon 2016-10-03 - No comments

J'ai récupéré un lot de plusieurs PCs portables vintage. Ce Gateway 2000 de 1994 était visuellement en bon état, mais nécessitait un contrôle et quelques modifications et probablement quelques réparations.
Gateway 2000 Colorbook 4 Overview


Hardware
Comme les PCs de cette époque, celui-ci est assez compact :, soit environ les dimensions d'un PC portable 13" actuel, mais nettement plus épais.
Comme Gateway n'a jamais vraiment fabriqué de PC portables, celui-ci est conçu et fabriqué par Sotec et Made in Japan ("All the best stuff is made in Japan").

opened Colorbook

Configuration :
  • Processeur : Intel 486DX4-75MHz
  • RAM : 8Mio (4Mio onboard + 4Mio extension) FPM
  • Chipset : PicoPower (Cirrus Logic) PT86C368-B + unknown Intel
  • Video chip : Cirrus Logic CL-GD6235 256kio VRAM
  • Disque dur : 260Mo 2.5", remplacé par un disque de 420Mo
  • Lecteur de disquettes
  • Écran : LCD 10.5" 640×480, (DSTN RGB)
  • Trackball monté dans un tiroir
  • PCMCIA : 2 slots type II

Démontage
Aucune documentation n'est disponible facilement, mais le démontage et le remontage sont assez intuitifs.
Motherboard (top)
Motherboard (bottom)
Les pastilles marron des deux côtés du PCB sont en kapton, pour rendre robustes les straps et fils soudés pour corriger des erreurs de routage. Cette carte-mère en contient un assez grand nombre, probablement parce que la modification d'un PCB à plus de 6 couches (probablement 8 ou 12, vu la densité et l'épaisseur) devait être assez coûteux.


Modifications/Réparations

Batterie CMOS
La batterie d'origine est une pile au Lithium 3.6V, mais n'a seulement une durée de vie théorique de 5 à 10 ans (parfois jusqu'à 15 ans en pratique).
CR2032 in place of a failed Li CMOS battery
Elle a été remplacée par un socket de piles CR2032, 3V, très courantes. La tension ne pose pas de problèmes, puisque la pile est câblée directement sur un circuit LV-CMOS (2.7-5.5V).

Alimentation
Ce PC utilise un connecteur d'alimentation propriétaire à 3 pins et accepte du 19V.
Pour les premiers tests de la machine, j'ai dû le remplacer par des câbles et un affreux bricolage, puis après des tests concluants, j'ai pu câbler un connecteur jack, qui a nécessité de limer une partie du boitier et de fraiser le PCB placé au dessus de la batterie.
proprietary power connector replaced by a barrel jack.

Écran
Les deux potentiomètres permettant de régler la luminosité et le contraste de l'écran LCD ont de nombreux faux-contacts. Un nettoyage à l'air comprimé a suffit à les rendre plus fiable. Leur remplacement est délicat, puisqu'ils ont une forme assez peu courante et sont soudés en surface.
cleaned contrast/brightness potentiometers
Il faut faire attention à ne pas toucher la partie en haut du PCB quand le pc fonctionne, surtout entre le transformateur et le connecteur du backlight (600V~1.2kV), il y a des risques de blessures.


Software
En général, les 486 datent d'entre 1990 et 1995, et ont commencé par être utilisés avec DOS/Windows 3.x. Mais de nombreuses machines ont été mises à jour avec Windows 95 avec plus ou moins de succès.

Comme il n'y a pas de lecteur de CD, j'ai copié les fichiers de Windows 95 en mettant le disque dur dans un autre PC. Puis installé l'OS sans disquette ni CD.
J'ai branché une carte réseau PCMCIA (Xircom RE-100), qui m'a permis d'installer le reste des programmes depuis le réseau (protocole SMB).

Par contre, Windows 95 utilise beaucoup de RAM, et 8Mio de RAM sont parfois un peu limités, et comme le disque dur est vraiment lent, le chargement de chaque programme (et les transferts vers le fichier de swap) prennent plusieurs secondes.

La taille du disque dur est aussi limitante :
ProgrammeTaille (Mio)Occupation
Windows 95 (installé)13032%
Windows 95 (fichiers d'installation)10526%
Ms Office 97 (minimal)~60~15%
Internet Explorer 4.017.84.4%
Mosaic 3.02.62 (supprimé)0
Netscape 3.046.621.7%
ACDSee 3.03.76<1%
Adobe Acrobat Reader 3.02.68<1%
Matlab 4.07.261.8%
Mathematica 2.29.462.35%
Fichiers divers~15
Total360Mo90%
Curieusement, faire fonctionner d'anciens programmes permet de faire presque la même chose que sur une machine récente.
Matlab n'est pas spécialement lent pour afficher des graphes, même en 3D (probablement parce que Java n'était pas encore utilisé). Par contre les anciens navigateurs ne sont absolument pas adaptés aux sites web actuels (pas de support du CSS, javascript mal interprêté). Ce qui fait que NCSA Mosaic a été désinstallé au profit de Netscape Navigator parce qu'il plantait en tantant d'executer du javascript.

Utilisation
En utilisation pratique, le PC est très léger, l'épaisseur du boitier ne pose aucun problème et le PC ne chauffe quasiment pas (carte réseau PCMCIA exclue). Le boitier épais permet même d'avoir un clavier avec une course de 3.5mm (haut du clavier) à 5mm (bas du clavier), assez confortable, mais trop étroit. Par contre la qualité de l'écran DSTN est assez discutable (angles de vision de 5~10°, trainées horizontales et verticales (crosstalk), reflections, rétro-éclairage peu homogène. Les écrans LCD ont beaucoup progressé depuis...
BSOD on a DSTN display

icon Tags de l'article : , , ,

Compaq Deskpro 386s

icon 2016-09-17 - No comments

J'ai récupéré un Compaq Deskpro 386s qui date probablement de 1988~1989. La machine était apparemment en bon état, et il ne manquait que le disque dur.
Complete machine

Machine
La majorité des composants sont d'origine, mais il y a eu quelques upgrades :
  • Carte-mère :
  • CPU : Intel 80386SX-16 (16MHz)
  • FPU : Intel 80387SX-16 (16MHz)
  • RAM : 1Mio sur la carte mère + 4Mio dans un slot et 4Mio dans un socket mezzanine (9Mio au total), bus 16bits à 16MHz
  • Carte graphique : WD Paradise PVGA1A en socket mezzanine
  • Carte réseau : 3Com 3C509B-tpo (Etherlink III) 10Mbit/s, ISA
  • Lecteurs disquette : 1.44Mo 3.5" + 1.2Mo 5.25"
  • Disque dur : 130Mo hors-service
  • Alimentation propriétaire Compaq/Astec 100~150W

Teardown

Le boitier s'ouvre avec les 3 vis à main à l'arrière du boitier. L'intérieur est compact (Compaq) et plutôt dense, avec le boitier ouvert :
Deskpro 386s opened box

Le rack à disques durs/floppy s'enlève en dévissant deux vis à l'avant du boitier, puis en le pivotant autour de ses crochets arrière. Il est plus facile d'enlever d'abord la carte de DRAM pour avoir de la place.
Deskpro 386s system board

La carte graphique Beeblebrox II avec une puce Paradise PVGA1A et 256kio de DRAM est vissée contre la carte-mère. Il faut aussi enlever deux écrous autour du connecteur VGA pour la retirer.
Compaq beeblebrox 2 video board
La carte graphique est notée 001182-001

En démontant la carte graphique, on accède à toute la carte-mère :
Compaq deskpro motherboard
La carte mère est notée 000954-001

La carte DRAM est en général faite par Compaq avec des composants traversants (pour les versions 1Mio). Celle-ci fait 4Mio et est fabriquée en 1995 par Kingston avec des composants SMD (mémoires DRAM FPM 70ns datant d'après 1993).
Compaq 16bit/16MHz DRAM board
La carte est recouverte d'une seconde carte mezzanine de 4Mio (il est possible d'en ajouter une seconde).


Réparations

Connecteur VGA
Sur plusieurs machines et écrans d'avant 1995, il est fréquent que le pin 9 serve de détrompeur. Or, cela pose problème avec des écrans récents, sur lesquels le pin 9 est câblé, et empêche le branchement du câble.
drilling a keyed VGA connector
Comme ce pin est une sortie de la carte graphique et n'est utilisé que pour des accessoires (convertisseurs VGA -> WTF), il ne pose aucun problème de de retirer le détrompeur (avec une perceuse tenue orthogonale au connecteur, à <10mm de profondeur max, et un foret de 1mm).


Horloge RTC
Comme de nombreux PCs de cette époque, l'horloge RTC est une puce discrète, dans ce cas, alimentée par une batterie externe au Lithium.
Cette batterie était vide et a été remplacée par le précédent propriétaire. Sauf qu'il n'a pas vérifié le brochage de la pile, et a probablement endommagé une piste du PCB ou bien un composant (résistance, fusible).

Par contre, cette carte-mère a été conçue avec l'horloge RTC sur un socket DIL. Ainsi, j'ai remplacé la puce MC146818P par une DS1287 rénovée (voir la section NVRAM de l'article sur le Sun Ultra 1).

BIOS
Sur ces machines, le BIOS n'a pas de programme de setup, du coup il est nécessaire de booter sur une disquette (SP0308 ou SP0542) pour changer les paramètres du BIOS.

Le disque dur est à remplacer, mais il faut en trouver un compatible avec les types pré-configurés dans le BIOS d'origine.
Comme c'était le cas d'aucun de mes disques durs, j'ai utilisé une géométrie proche de mon IBM H3256 donné pour 872 Cylindres, 16 têtes et 36 secteurs, géométrie "incluant" celle du type 33, même s'il ne reste plus que 120Mo disponibles.
Pour éviter les erreurs, j'ai rempli une feuille de calcul avec les types de disques Compaq, qui devrait être plus exacte qu'une comparaison de tête.

Software
(update 25.09.2016)
Comme le disque dur d'origine était absent, j'ai installé un OS et des programmes du début des années 1990 :

Dans l'ordre :
  • MS-DOS 6.22 (3 disquettes),
  • 3Com 3C509B driver (2nde disquette),
  • Microsoft LAN-Manager (2 disquettes),
  • F-Prot antivirus 3.16f (copié par le réseau),
  • Windows 3.11 (8 disquettes copiées par le réseau),
  • PKZIP (copié par réseau),
  • ACDSee 1.4 (copié par réseau, non-fonctionnel en VGA),
  • NCSA Mosaic 2.0a (copié par réseau, non-fonctionnel sans service de socket),

J'ai pu trouver plusieurs drivers pour la puce graphique Paradise PVGA1A, seulement, je n'ai pu en faire fonctionner aucun avec cette machine, et du coup, tout est limité en 640x640@60Hz, 16 couleurs (dommage pour un écran 19" CRT).

La copie de fichiers par réseau n'est pas indispensable, mais elle permet d'éviter les problèmes liés à la fiabilité des disquettes.

Comme on pourrait s'y attendre, des programmes de 1994 sur une machine de 1988, c'est lent.
DOS démarre lentement, du fait du test de la mémoire par Himem, mais le reste fonctionne relativement rapidement.
Windows démarre en 45s, et est un peu lent à l'utilisation, probablement à cause de tous les périphériques et du bus mémoire interfacés sur un bus 16 bits. Par contre, le fait d'avoir 8Mio de RAM installés permet d'executer quelques programmes en plus de Windows.

Je n'ai pas réussi à installer de navigateur Web (NCSA Mosaic et Netscape nécessitent Winsock, qui ne peut apparemment pas fonctionner en même temps que le partage de fichiers).
Windows 3.11 running on a Compaq Deskpro 386s

Comme surprise, j'ai aussi pu découvrir le virus Parity-Boot.B, probablement caché sur des disquettes de récupération.

Références

icon Tags de l'article : , ,

Serveur

icon 2016-09-05 - No comments

Le serveur précédent commence à avoir des performances limitées (il date quand même de 2000), et j'ai pu récupérer un HP Compaq DC5800 de 2009 en bon état.

Hardware
La machine a un processeur Intel Pentium E5200 (2-Core, 2.5GHz, LGA775) et deux barrettes de 1Gio de DDR2 (avec deux slots libres), mais le disque dur et le lecteur optique/disquette manquent ou sont hors-service.
HP Compaq DC5800 front cover

On commence par tout vérifier, nettoyer, puis remettre en état tout ce qui en a besoin :
  • Memtest avec la mémoire,
  • Flash du dernier BIOS à jour,
  • Nettoyage des ventilateurs/radiateurs,
  • Remplacement de la pâte thermique du processeur,

Face avant
Le lecteur de disquette est manquant et le lecteur optique ne fonctionne pas, du coup je les ai enlevés. Sauf que le refroidissement de la machine est fait de telle sorte que l'air doit être aspiré par le côté avant droit, et soufflé par le côté arrière gauche. Quand le boitier est ouvert ou que la face avant manque, le disque dur est mal refroidi, mais il est possible de découper une plaque de plexiglass pour remplacer les caches d'origine.
plexiglass drives cover

Disque dur
Le disque dur était manquant quand j'ai récupéré la machine, mais les vis, clips et bushings manquaient aussi, ce qu'il a fallu adapter.
J'ai pris des vis 6-32 "long sleeve" d'un rack à disques de serveur IBM et des bushings de lecteur CD. L'ensemble rentre dans l'emplacement d'origine et se clipse fermement (pas de vibration).
HDD screw/bushing assembly

Software

Mot-de-passe BIOS
Les machines d'entreprises ont souvent des BIOS différents de ceux des PCs habituels. Ici, le mot-de-passe protégeant BIOS est stocké dans une mémoire EEPROM au lieu d'être dans une SRAM. Dans ce cas, enlever la pile quelques secondes n'affecte que l'horloge RTC.

  1. Débrancher le secteur,
  2.  Ouvrir le capot,
  3.  Attendre que les LEDs de la carte-mère soient éteintes,
  4. Enlever le cavalier vert PSWD (à côté des ports SATA),
  5.  Brancher le secteur et démarrer la machine,
  6. Débrancher le secteur et attendre que les LEDs soient éteintes,
  7.  Remettre le cavalier PSWD,
  8. Refermer le capot et rebrancher le secteur.

HP DC5800 password jumper


Boot-Menu
Certaines options du BIOS concernant la "sécurité" sont grisées et indisponibles. Ainsi, on ne peut booter que sur le disque SATA HDD0, alors qu'un lecteur optique, USB ou la ROM PXE (réseau) sont disponibles.

Pour cela, il est nécessaire de "protéger" l'accès au BIOS par un mot-de-passe. Le "boot menu" est aussi affecté, et permet de booter sans problème sur un serveur PXE quand un mot-de-passe est entré.


Debian Linux
Je me suis contenté d'échanger le disque dur de l'ancien serveur au nouveau, quasiment sans toucher l'installation de Debian Jessie (8.4) i386.
L'unique bricolage concerne udev et sa façon de détecter les cartes réseau par leur adresses MAC. Si l'on ne change rien, le réseau ne fonctionnera pas et sera à reconfigurer (peu pratique pour un serveur sans écran ni clavier).

Il faut commencer par trouver l'adresse MAC de la carte réseau avec l'ancien serveur en fonctionnement :
# ifconfig |grep HWaddr
eth0 Link encap:Ethernet HWaddr 00:d0:b7:xx:xx:xx
eth1 Link encap:Ethernet HWaddr 00:1e:2a:xx:xx:xx


Ici, c'est l'adresse de eth0 qui nous intéresse, mais la configuration de udev est séparée en plusieurs fichiers de configuration que l'on va chercher :
# grep -rni '00:d0:b7:xx:xx:xx' /etc/
/etc/udev/rules.d/70-persistent-net.rules:8:SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:d0:b7:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"


La recherche peut renvoyer plusieurs fichiers (DHCP, ARP, scripts d'init bricolés), mais c'est ceux qui concernent udev qui nous intéressent et que l'on va éditer :

# PCI device 0x8086:0x1229 (e100)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:d0:b7:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x10ec:0x8169 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:2a:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

Dans tous les cas, il faudra supprimer l'association entre chaque carte et son adresse MAC, les cartes réseau suivantes seront ajoutées à la suite (la première carte réseau sera eth2 si l'on ne touche à rien).

Pour être sûr que le réseau fonctionne du premier coup, on va remplacer l'adresse MAC de l'interface eth0 par celle de la nouvelle carte réseau (affichée à l'écran pendant une tentative de boot par PXE).

Performances
Test HP Compaq dc5800 (new) IBM PC-300GL 6288 (old)
nbench Mem 18.583 2.649
nbench Int 17.233 2.793
nbench Float 32.444 4.942
Transfert NFS 11.20 Mio/s 11.18 Mio/s
Transfert SaMBa 11.21 Mio/s 11.00 Mio/s
Transfert SSH 11.2 Mio/s 4.05 Mio/s
Génération PHP/Blogotext 7.6 ms 61.9 ms
Compression gzip 15.43 Mio/s 1.31 Mio/s
Décompression gzip 112.48 Mio/s 10,65 Mio/s
Compression bzip2 3.28 Mio/s 0.32 Mio/s
Déompression bzip2 7.18 Mio/s 1.19 Mio/s
Débit disque dur 185.81 Mo/s 40.33 Mo/s
Débit ethernet 94.4 Mbit/s 94.6 Mbit/s

La plupart des débits sont limités à 100Mbit/s par le switch. Mais il faut aussi voir que les tests ont été faits avec des gros fichiers (247Mio).
La différence la plus visible vient du processeur et du contrôleur SATA, la lenteur de l'ancien serveur posait surtout des problèmes en multitâches ou en transférant de nombreux petits fichiers (sauvegardes).

Références

icon Tags de l'article : , , ,

Alimentation 24V : boitier

icon 2016-08-18 - No comments

J'avais une alimentation 80W en 24V de récupération, qui était utilisée dans une boite en carton.
En pratique, la boite en carton pose quelques problèmes : il faut la laisser ouverte pour éviter que l'alimentation ne chauffe, ce qui pose des problèmes de sécurité avec des parties sous tension accessibles par une main ou des vis.

J'ai donc décidé de faire un boitier sur-mesure :
Critères
  • Protection au moins IP31 (particules solides >2.5mm, gouttes d'eau verticales), si-possible IP42 (particules >1mm, projection de gouttes d'eau à 15°),
  • Boitier métallique relié à la terre,
  • Refroidissement passif <20W dissippés,
  • Encombrement <200×200×80mm³,
  • Assemblage par vis M3/M4,

Outillage
  • Scie à métaux,
  • Meuleuse 125mm (peu utile),
  • 3 à 4 serre-joints + cales en bois,
  • Pince multiprise,
  • Visseuse
  • Pointeau/marteau,
  • Forets entre 2 et 9mm, fraise,
  • Tarauds M3,
  • Lime à metal plate,

Par hasard, j'ai démonté un boitier de serveur HP Proliant ML-350 dont l'une de ses plaques de tole mesure 160mm de large et 600mm de long. J'ai aussi des chutes de tole d'aluminium pour les faces avant et arrière.
galvanized steel and sheet aluminium (scrap)

Plutôt que de les couper chaque face, j'ai préférer plier les côtés et le dessus, et découper la base :
box and cut schematics

Il aurait été possible d'avoir une seule pièce pliée en trois, mais l'assemblage aurait été difficile, et il aurait fallu que chaque tous les pliages soient parallèles entre eux, et exactement à 90°. Compte-tenu de mon matériel, il est possible d'avoir une précision de 1° et 3mm.

Le pliage se fait simplement en sciant deux entailles dans la face de renfort, en fatiguant le renfort à supprimer, et faisant une marque à la scie alignée avec la découpe.
On aligne la plaque de tole à plat entre des cales, puis on la serre avec deux serre-joints.
Ensuite, on prend une troisième cale (une plaque de mdf épaisse suffira), qui pivote contre un serre-joint. Vu le faible bras de levier et la rigidité de l'acier, il faut beaucoup forcer, mais plier lentement pour s'assurrer que le pliage est toujours droit (on peut recentrer les cales avec quelques coups de marteau).
how-to bend sheet metal

Après chaque pliage, il faut mesurer et parfois ajuster les traces suivantes. Il vaut mieux une erreur de quelques mm que des faces non-parallèles.

Une fois la base découpée, le haut plié et coupé, et la face avant découpée, il ne reste qu'a les assembler avec l'alimentation.
Pour cela, j'ai utilisé quatre vis M3 par face et une équerre sur-mesure pour le côté.
top and front parts of the box, wired
bottom and rear part of the box, ready for assembly

Le câblage est assez rapide, avec un interrupteur secteur bipolaire en facade, un connecteur IEC mâle à l'arrière, deux connecteurs bananes 4mm pour la sortie et une LED 5mm en facade.
finished PSU box (front)
finished PSU box (back)

icon Tags de l'article : ,

ALI Aladdin IV+ (M1531)

icon 2016-08-09 - No comments

J'ai utilisé une carte mère PC-Chips M560, et j'ai découvert qu'elle fonctionnait correctement avec une seule barrette de mémoire SIMM (la seconde était mal enfoncée).
Cette carte-mère utilise un chipset Ali M1531 (maquillé en "TX-Pro") pour supporter un processeur en socket 7 (Pentium/Pentium MMX, Cyrix 6x86/MII, AMD K5/K6, ...), de la mémoire SIMM (FPM/EDO) et DIMM (EDO/SDRAM en 3.3V et 5V) et un bus PCI.
Tout le reste est géré par une puce Ali M1543 (hub PCI, ISA, IDE, Power Management, gestion d'interruptions/I/O), ça permet d'éviter d'utiliser une autre puce pour gérer les I/O.

PC-Chips M560 motherboard

Bus Mémoire
Normalement, les processeurs compatibles 586 ont un bus mémoire large de 64 bits. De ce fait, les banques mémoire font la même taille, et utilisent soit une barrette DIMM (64bits), soit deux barrettes SIMM (2×32bits).

Comme les barrettes de mémoire SIMM ont deux faces qui peuvent être identiques, il aurait été possible d'utiliser une barrette double face (2×32bits) dans une seule banque mémoire.

Bande passante théorique
En négligeant les temps de génération des adresses et de préchargement, ce qui est possible en mode "burst" (accès de plusieurs zones mémoires contigues) avec de la SDRAM, on obtient :
$$B_W = CLK \times bus_{width}$$
ce qui donne :
$$B_{W,SDRAM} = 66.7MHz \times 8bytes = 133MiB/s$$

Seulement, la mémoire FPM n'est pas capable de gérer un mode "burst", et il n'est pas toujours possible d'utiliser ce mode, même avec de la SDRAM.

$$B_W = \frac{1}{t_{RAS}} \times bus_{width}$$
$$B_{W,SDRAM} = \frac{1}{67.5ns} \times 8bytes = 118,5MiB/s$$
$$B_{W,FPM} = \frac{1}{70ns} \times 8bytes = 114,3MiB/s$$
$$B_{W,EDO} = \frac{1}{60ns} \times 8bytes = 133,3MiB/s$$
$$B_{W,FPM,32} = \frac{1}{70ns} \times 4bytes = 57.1MiB/s$$
$$B_{W,EDO,32} = \frac{1}{60ns} \times 4bytes = 66.7MiB/s$$

En utilisant les temps d'accès, on peut avoir une mesure un peu plus réaliste, mais on ignore toujours la génération d'adresse, mais ça semble être "compensé" par la mémoire cache (sur de petites quantités de données).

Protocole de test
La carte mère est utilisée avec un processeur Intel Pentium MMX à 200MHz (2.5×66MHz), le BIOS est réglé avec les mémoires cache L1 et L2 activées et les timings par défaut (70ns pour la SIMM FPM, 60ns pour la SIMM EDO, CAS 3 pour la SDRAM).
Memtest est utilisé avec une passe rapide pour s'assurer qu'aucune barrette n'est pas défectueuse ou bien qu'il n'y a pas de faux contact.
PC-Chips M560, Pentium MMX 200MHz and various SIMM sticks

Par la suite, Speedsys est utilisé pour mesurer la durée des opérations de lecture, écriture et déplacement sur 4Mio, au début de la zone mémoire.
Speedsys benchmark running on the test rig

Résultats de tests
Comme j'ai remarqué que la carte-mère fonctionnait avec une seule barrette de mémoire, j'ai testé plusieurs configurations en mesurant le débit de la mémoire.
  • 1 barrette SIMM EDO simple face (82Mio/s)
  • 2 barrettes SIMM EDO simple face (123Mio/s)
  • 1 barrette SIMM EDO double face (82Mio/s)
  • 1 barrette SIMM FPM double face (68Mio/s)
  • 2 barrettes SIMM FPM double face (108Mio/s)
  • 2 barrettes SIMM différentes, SIMM FPM double face + SIMM EDO simple face (69Mio/s)
  • 1 barrette DIMM SDRAM (117Mio/s)
  • 1 barrette SIMM + une barrette DIMM
  • 2 barrettes SIMM + une barrette DIMM
  • 1 barrette DIMM EDO buffered (fail)

En mesurant le débit, on remarque que le mode 32bits "single-SIMM" est 1/3 plus lent que le mode 64bits natif.
On peut voir que les tests avec une seule barrette SIMM donnent les mêmes résultats indépendamment du nombre de faces des barrettes. On peut en déduire que chaque face est câblée sur une seule banque de mémoire.

Les tests avec de la mémoire DIMM et SIMM ne donnent que les performances de la mémoire DIMM, puisque le benchmark utilisé ne teste que 4Mio de la mémoire RAM.

On peut remarquer que la mémoire EDO (60ns) est plus rapide que la mémoire SDRAM dans ce cas-là (SDRAM 66MHz, CAS 3, soit 67.5ns).

En mode "single SIMM", les débits pratiques sont 20% plus rapides qu'en théorie, ce qui suppose un bricolage ou une optimisation.

L'architecture mémoire est décrite dans la datasheet du chipset Ali 1531B, dans les sections 3.2 à 3.5, 3.9-3.10 et 5.2-5.3 et confirme que le fonctionnement avec une seule barrette SIMM 32bits est prévu.
Ali 1531B Chipset-RAM connections


Références

icon Tags de l'article : ,