Canon Pixma MX700 - Lecteur de cartes SD/CF

Date: 2015-10-19

Tags: bricolage DIY elec reverse_engineering

Cette imprimante a un lecteur de cartes SD et Compact Flash sur une carte séparée (réf. QK1-3752-03, QM3-2812).

GL819 : top
GL819 : bottom

Identification

La carte utilise 3 puces : deux puces qui ressemblent à des régulateurs LDO, mais sans documentation vallable (marquages illisibles ou références introuvables), et le chip Genesys Logic GL819SA111 en boitier TQFP.

D’après le pinout de la puce, et un Ohmmètre, on en déduit une partie du brochage du connecteur :

  1. Vdd (3.3V)
  2. USB D-
  3. USB D+
  4. GND
  5. ?
  6. ?
  7. ?
  8. GND

En identifiant le connecteur de la carte mère de l’imprimante à l’Ohmmètre et au Voltmètre, on arrive à identifier quelques autres pins :

  1. Vdd (3.3V)
  2. USB D-
  3. USB D+
  4. GND
  5. +3.3V
  6. Pin tiré à Vdd via un pullup de 15kΩ, à forcer à GND pour activer la puce.
  7. +5V
  8. GND

Câblage

Une fois les pins identifiés au connecteur USB et sur la carte, il ne reste plus qu’a tout souder.

USB pinouts : board side
USB pinouts : bottom side

Comme le +3.3V n’est pas disponible sur un port USB, et que la puce accepte une tension de 2.7V à 3.6V (idem pour les cartes SD), il est possible de relier le +5V à Vdd avec 3 diodes Si en série (les 1N400x conviennent et donnent une chute de tension proche de 0.65V en charge et à vide).

Câblage connecteur USB

Par contre, la carte fonctionne en USB2.0 Hi-Speed, il faut donc un câble USB relativement propre (paire torsadée 90Ω). En pratique, un câble sale (fils volants) fonctionne seulement si les fils sont de mêmes longueur (±5%) et courts (<50mm), La qualité des soudures peut aussi poser des problèmes.

Tests

En le branchant sur un PC (Linux), on peut avoir les messages d’erreur suivants (affichables avec la commande dmesg) :

usb 1-1.1.2: new high-speed USB device number _n_ using ehci-pci

Avec n bouclant entre 0 et 127. Cette erreur arrive lorsque le câble est trop “sale” pour communiquer en mode high-speed.

usb 1-1.1.2: device descriptor read/64, error -n
usb 1-1.1-port2: Cannot enable. Maybe the USB cable is bad?
usb 1-1.1-port2: unable to enumerate USB device

Ces erreurs arrivent typiquement lorsque les pins D+ et D- sont échangés.

usb 1-1.1.2: reset high-speed USB device number 19 using ehci-pci

Si ces resets arrivent fréquemment, il est possible que l’alimentation de la puce ne fournisse pas assez de courant ou soit mal découplée. Ils peuvent aussi arriver si le câble USB est trop long et non-torsadé/blindé.

Si aucun message n’apparaît lorsque la carte ou même un autre périphérique USB est branché sur ce port, c’est parce que les ports sont individuellement désactivés lorsqu’ils ont généré trop d’erreurs. Il est nécessaire de recharger les modules le gérant (ehci-hcd et ehci-pci sur ma machine)

Lorsque tout est fonctionnel, le noyau doit renvoyer :

usb 1-1.1.2: new high-speed USB device number 8 using ehci-pci
usb 1-1.1.2: New USB device found, idVendor=05e3, idProduct=070e
usb 1-1.1.2: New USB device strings: Mfr=0, Product=1, SerialNumber=2
usb 1-1.1.2: Product: USB Storage
usb 1-1.1.2: SerialNumber: 000000009514
usb-storage 1-1.1.2:1.0: USB Mass Storage device detected
scsi145 : usb-storage 1-1.1.2:1.0
scsi 145:0:0:0: Direct-Access     Generic  STORAGE DEVICE   9514 PQ: 0 ANSI: 0
sd 145:0:0:0: Attached scsi generic sg2 type 0
sd 145:0:0:0: [sdb] 7698432 512-byte logical blocks: (3.94 GB/3.67 GiB)
sd 145:0:0:0: [sdb] Write Protect is off
sd 145:0:0:0: [sdb] Mode Sense: 37 00 00 08
sd 145:0:0:0: [sdb] No Caching mode page found
sd 145:0:0:0: [sdb] Assuming drive cache: write through
sdb: sdb1
sd 145:0:0:0: [sdb] Attached SCSI removable disk

Références/Liens

Electronics Électronique puissance semiconducteur semiconductors power Hardware CPE INSA Xavier Bourgeois

Xavier