Popeye : Celeron N3150

06/2016 : j'ai trouvé une nouvelle carte mère avec 2 cartes réseaux intégrées à un prix raisonnable =).

Caractéristiques :

  • Carte mère : Gigabyte GA-N3150N-D3V
  • Processeur : Intel Celeron N3150@1.6 GHz
  • Carte graphique : Intel HD Graphics
  • Connecteurs disques : 4×SATA 3.0
  • Ram : 2×2 Go
  • Disques :
    • Samsung - Spinpoint F3 : 1 To, 7200 t/min, 32 Mo, Serial ATA 2.0
    • Western digital - Caviar Black : 1 To, 7200 t/min, 32 Mo, Serial ATA 2.0
    • Western digital - Caviar Black : 1 To, 7200 t/min, 64 Mo, Serial ATA 3.0
  • LAN :
    • 2×1 Gbit/s intégrés à la CM
  • Distribution : Debian GNU/Linux i386

J'ai opté pour une CM avec 2 cartes réseaux intégrées pour libérer le port PCI précédemment occupé par la carte réseau Gb afin d'y mettre un jour une autre carte (peut être une carte DVB-S ?).

Banc d'essai :

Test de la carte mère Gigabyte GA-N3150N-D3V
Agrandir
Test de la carte mère Gigabyte GA-N3150N-D3V

Quelques photos du serveur remonté. J'ai mis un repère de couleur (rouge / jaune) sur les cartes réseaux ainsi que sur les câbles correspondant pour ne pas les mélanger :

  • jaune vers la box internet sur le réseau en 100 Mbits
  • rouge sur le réseau Gbit
Vue arrière de la carte mère Gigabyte GA-N3150N-D3V
Agrandir
Vue arrière de la carte mère Gigabyte GA-N3150N-D3V

Le processeur est censé pouvoir fonctionner en 64bit, il faut que je me motive à réinstaller ma Debian complétement pour le prendre en compte.

07/2017 : j'ai enfin pris le temps de ré-installer Popeye : je suis passé sur une Debian 9 Stretch en amd64.

Voici mes différentes notes vis à vis de la configuration du NFS pour être compatible OS X ou les optimisations mises en œuvre (RAID, Réseau, scaling de fréquence, affinité d'IRQ…)

02/2018 : après 7 ans de bons et loyaux services ma carte double tuner TNT a rendu l'âme. Elle présentait déjà des signes de faiblesse depuis 2 ans car le changement de fréquence ne s'effectuait plus correctement : il fallait donner l'ordre 2 fois. À ce titre, j'avais modifié et recompilé le backend de MythTV pour ajouter un double changement de fréquence.

La fin de vie de cette carte a provoqué des plantages du noyau avec une augmentation du nombre de processus bloqués sur des ressources USB, j'ai eu un load de 164 :dead:. J'ai mis quelque temps à comprendre d'où ça venait…

Load de 164...
Agrandir
Load de 164...

02/2018 : le renouveau est dans une carte USB de marque Hauppauge, modèle WinTV-dualHD. Elle est bi-tuner et compatible DVB-T, DVB-T2 (la prochaine norme de diffusion de la télévision hertzienne) et DVB-C.

Caractéristiques :

  • Réception : Numérique hertzien (DVB-T)
  • Tuner(s) : 2
  • Connectique : USB 2.0
Hauppauge WinTV-dualHD
Agrandir
Hauppauge WinTV-dualHD

Voici les logs du noyau lors de son branchement :

Feb 23 20:45:50 popeye kernel: usb 1-5.1: new high-speed USB device number 12 using xhci_hcd
Feb 23 20:45:50 popeye kernel: usb 1-5.1: New USB device found, idVendor=2040, idProduct=0265
Feb 23 20:45:50 popeye kernel: usb 1-5.1: New USB device strings: Mfr=3, Product=1, SerialNumber=2
Feb 23 20:45:50 popeye kernel: usb 1-5.1: Product: dualHD
Feb 23 20:45:50 popeye kernel: usb 1-5.1: Manufacturer: HCW
Feb 23 20:45:50 popeye kernel: usb 1-5.1: SerialNumber: 0013963409
Feb 23 20:45:50 popeye kernel: em28xx 1-5.1:1.0: New device HCW dualHD @ 480 Mbps (2040:0265, interface 0, class 0)
Feb 23 20:45:50 popeye kernel: em28xx 1-5.1:1.0: DVB interface 0 found: isoc
Feb 23 20:45:50 popeye kernel: em28xx 1-5.1:1.0: chip ID is em28174
Feb 23 20:45:51 popeye kernel: em28xx 1-5.1:1.0: EEPROM ID = 26 00 01 00, EEPROM hash = 0xefe5c2c8
Feb 23 20:45:51 popeye kernel: em28xx 1-5.1:1.0: EEPROM info:
Feb 23 20:45:51 popeye kernel: em28xx 1-5.1:1.0:         microcode start address = 0x0004, boot configuration = 0x01
Feb 23 20:45:51 popeye kernel: em28xx 1-5.1:1.0:         AC97 audio (5 sample rates)
Feb 23 20:45:51 popeye kernel: em28xx 1-5.1:1.0:         500mA max power
Feb 23 20:45:51 popeye kernel: em28xx 1-5.1:1.0:         Table at offset 0x27, strings=0x0e6a, 0x1888, 0x087e
Feb 23 20:45:51 popeye kernel: em28xx 1-5.1:1.0: Identified as Hauppauge WinTV-dualHD DVB (card=99)
Feb 23 20:45:51 popeye kernel: tveeprom: Hauppauge model 204109, rev B3I6, serial# 13963409
Feb 23 20:45:51 popeye kernel: tveeprom: tuner model is SiLabs Si2157 (idx 186, type 4)
Feb 23 20:45:51 popeye kernel: tveeprom: TV standards PAL(B/G) NTSC(M) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xfc)
Feb 23 20:45:51 popeye kernel: tveeprom: audio processor is None (idx 0)
Feb 23 20:45:51 popeye kernel: tveeprom: has no radio, has IR receiver, has no IR transmitter
Feb 23 20:45:51 popeye kernel: em28xx 1-5.1:1.0: dvb set to isoc mode.
Feb 23 20:45:51 popeye kernel: usbcore: registered new interface driver em28xx
Feb 23 20:45:51 popeye kernel: em28xx 1-5.1:1.0: Binding DVB extension
Feb 23 20:45:51 popeye kernel: i2c i2c-11: Added multiplexed i2c bus 12
Feb 23 20:45:51 popeye kernel: si2168 11-0064: Silicon Labs Si2168-B40 successfully identified
Feb 23 20:45:51 popeye kernel: si2168 11-0064: firmware version: B 4.0.2
Feb 23 20:45:51 popeye kernel: si2157 12-0060: Silicon Labs Si2147/2148/2157/2158 successfully attached
Feb 23 20:45:51 popeye kernel: dvbdev: DVB: registering new adapter (1-5.1:1.0)
Feb 23 20:45:51 popeye kernel: em28xx 1-5.1:1.0: DVB: registering adapter 0 frontend 0 (Silicon Labs Si2168)...
Feb 23 20:45:51 popeye kernel: em28xx 1-5.1:1.0: DVB extension successfully initialized
Feb 23 20:45:51 popeye kernel: em28xx: Registered (Em28xx dvb Extension) extension
Feb 23 20:45:51 popeye kernel: em28xx 1-5.1:1.0: Registering input extension
Feb 23 20:45:51 popeye kernel: Registered IR keymap rc-hauppauge
Feb 23 20:45:51 popeye kernel: rc rc0: 1-5.1:1.0 IR as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.1/1-5.1:1.0/rc/rc0
Feb 23 20:45:51 popeye kernel: input: 1-5.1:1.0 IR as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.1/1-5.1:1.0/rc/rc0/input19
Feb 23 20:45:51 popeye kernel: em28xx 1-5.1:1.0: Input extension successfully initialized
Feb 23 20:45:51 popeye kernel: em28xx: Registered (Em28xx Input Extension) extension

Finalement, je l'ai rendu car trop d'instabilités :

  • une fois sur 2, le signal n'est pas reçu correctement : je n'arrive pas à déterminer si c'est lié à un bug dans les pilotes ou si c'est matériel :'(;
  • le 2e tuner n'est pas encore reconnu en version 4.14 du noyau, mais devrait arriver rapidement…

03/2018 : en remplacement de la clé précédente, j'ai testé le dongle USB utilisé dans mes expériences de réception radio pour recevoir la TNT et elle fonctionne bien. Comme cette carte est mono tuner, à la différence des précédentes, j'en ai ajouté une 2e pour revenir au confort de pouvoir enregistrer plusieurs chaînes simultanément.

Caractéristiques :

  • Réception : Numérique hertzien (DVB-T)
  • Tuner(s) : 1
  • Connectique : USB 2.0
RTL2832
Agrandir
RTL2832

Voici les logs du noyau lors de son branchement :

Jul 08 22:38:27 popeye kernel: dvb_usb_v2: 'Realtek RTL2832U reference design:1-5.1' successfully deinitialized and disconnected
Jul 08 22:40:40 popeye kernel: usb 1-5.1: new high-speed USB device number 12 using xhci_hcd
Jul 08 22:40:40 popeye kernel: usb 1-5.1: New USB device found, idVendor=0bda, idProduct=2838
Jul 08 22:40:40 popeye kernel: usb 1-5.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jul 08 22:40:40 popeye kernel: usb 1-5.1: Product: RTL2838UHIDIR
Jul 08 22:40:40 popeye kernel: usb 1-5.1: Manufacturer: Realtek
Jul 08 22:40:40 popeye kernel: usb 1-5.1: SerialNumber: 00000001
Jul 08 22:40:40 popeye kernel: usb 1-5.1: dvb_usb_v2: found a 'Realtek RTL2832U reference design' in warm state
Jul 08 22:40:40 popeye kernel: usb 1-5.1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
Jul 08 22:40:40 popeye kernel: dvbdev: DVB: registering new adapter (Realtek RTL2832U reference design)
Jul 08 22:40:40 popeye kernel: i2c i2c-10: Added multiplexed i2c bus 11
Jul 08 22:40:40 popeye kernel: rtl2832 10-0010: Realtek RTL2832 successfully attached
Jul 08 22:40:40 popeye kernel: usb 1-5.1: DVB: registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))...
Jul 08 22:40:40 popeye kernel: r820t 11-001a: creating new instance
Jul 08 22:40:40 popeye kernel: r820t 11-001a: Rafael Micro r820t successfully identified
Jul 08 22:40:40 popeye kernel: rtl2832_sdr rtl2832_sdr.1.auto: Registered as swradio0
Jul 08 22:40:40 popeye kernel: rtl2832_sdr rtl2832_sdr.1.auto: Realtek RTL2832 SDR attached
Jul 08 22:40:40 popeye kernel: rtl2832_sdr rtl2832_sdr.1.auto: SDR API is still slightly experimental and functionality changes may follow
Jul 08 22:40:40 popeye kernel: Registered IR keymap rc-empty
Jul 08 22:40:40 popeye kernel: rc rc0: Realtek RTL2832U reference design as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.1/rc/rc0
Jul 08 22:40:40 popeye kernel: input: Realtek RTL2832U reference design as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.1/rc/rc0/input19
Jul 08 22:40:40 popeye kernel: rc rc0: lirc_dev: driver dvb_usb_rtl28xxu registered at minor = 0
Jul 08 22:40:40 popeye kernel: usb 1-5.1: dvb_usb_v2: schedule remote query interval to 200 msecs
Jul 08 22:40:40 popeye kernel: usb 1-5.1: dvb_usb_v2: 'Realtek RTL2832U reference design' successfully initialized and connected

06/2020 : depuis plusieurs semaines, le wifi saute et ne revient pas. Les logs ne sont pas parlant, il faut que je désactive l'interface réseau, relance hostapd etc. Pas très confortable.

Depuis plusieurs années, je n'utilisais plus le wifi de la box car je ne le trouvais pas satisfaisant en termes de débit ni en termes de sécurité. De plus, lorsque j'ai installé cette clé, il n'était pas possible de désactiver le serveur DHCP intégré à la freebox. Je n'avais jamais remis en cause cet état de fait, j'ai retesté avec le wifi de la livebox v4 : super stable, débit bien plus important qu'avec le dongle =).

J'ai donc débranché ma clé USB puis abandonné le subnet en 10.0.3.X dédié au Wifi et finalement changé les règles de routage pour ne plus la référencer.

07/2020 : l'alimentation commence à siffler ce qui ne présage rien de bon, c'était peut-être à cause de cela que le Wifi ne marchait plus. Visuellement, aucun condensateur n'est gonflé. Je l'ai néanmoins changé en optant pour un modèle PicoPsu ATX 150-XT de 150 W. Ce modèle est composé d'un bloc d'alimentation externe comme les ordinateurs portables produisant une tension de 12V et d'un mini-module à brancher directement sur connecteur ATX de la carte mère.

Alimentation PicoPsu
Agrandir
Alimentation PicoPsu

Une fois montée sur la carte mère, le module est à peine plus haut qu'une barrette de RAM !

PicoPsu sur la carte mère
Agrandir
PicoPsu sur la carte mère

J'ai mesuré la consommation électrique de l'ensemble : 24 W en instantané. En ajoutant la box (livebox v5), mon installation consomme 40W avec des pics à 55W, soit 0.7 KWH.

En changeant l'alimentation, j'ai refait le support des disques durs afin de pouvoir en mettre 3 et les manipuler plus facilement. Auparavant, il fallait maintenir les disques avec les 2 mains, les insérer par le dessus du boîtier puis passer 4 petites vis sur les 2 traverses métalliques, ce n'était pas facile car l'ensemble pouvait tomber sur la carte mère durant l'opération :/

Pour ce nouveau système, j'ai ajouté 2 équerres métalliques perpendiculairement aux disques que j'ai adaptés à la taille des disques. Puis j'ai percé le boîtier afin de pouvoir passer des tiges filetées permettant ainsi de fixer le support de disque au boîtier.

Support de 3 disques empilés verticalement
Agrandir
Support de 3 disques empilés verticalement

Lorsque les tiges filetées sont passées dans le bloc de disques et le boîtier, il ne reste plus qu'à les visser avec un écrou. Désormais, le serrage final s'effectue sans peine.

Dans le boîtier
Agrandir
Dans le boîtier

10/2024 : depuis un bon moment, j'ai des erreurs de lecture SATA sur un de mes disques. Des blocs défectueux apparaissent sur le Western Digital Caviar Black de 1 To ce qui produit de temps en temps des reconstructions du raid.

Le graphe ci-dessous montre que la réallocation des secteurs sur ce disque, qui est la conséquence de ce défaut. Bien qu'un changement sda, sdb et sdc puisse être observé, c'est bien le même disque physique qui est concerné au final :

Graphe des réallocations de secteurs
Agrandir
Graphe des réallocations de secteurs

Je reçois également des mails de la forme :

Subject: SMART error (Health) detected on host: popeye
 
This message was generated by the smartd daemon running on:
 
   host name:  popeye
   DNS domain: [Empty]
 
The following warning/error was logged by the smartd daemon:
 
Device: /dev/sda [SAT], FAILED SMART self-check. BACK UP DATA NOW!
 
Device info:
WDC WD1002FAEX-00Y9A0, S/N:WD-WCAW30210816, WWN:5-0014ee-2054069c1, FW:05.01D05, 1.00 TB

Ce n'est pas très encourageant… Finalement, j'ai décidé de le changer. En consultant les statistiques smart, il apparait les données suivantes :

Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       2164
  3 Spin_Up_Time            0x0027   158   153   021    Pre-fail  Always       -       5066
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       293
  5 Reallocated_Sector_Ct   0x0033   133   133   140    Pre-fail  Always   FAILING_NOW 1265
  7 Seek_Error_Rate         0x002e   188   188   000    Old_age   Always       -       145
  9 Power_On_Hours          0x0032   001   001   000    Old_age   Always       -       116189
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       289
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       168
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       126
194 Temperature_Celsius     0x0022   102   089   000    Old_age   Always       -       45
196 Reallocated_Event_Count 0x0032   144   144   000    Old_age   Always       -       56
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       13

Power_On_Hours indique 116189 heures ce qui correspond à 13.4 années !! Comme j'éteins cette machine très très rarement, cela fait donc plus de 13 ans que ce disque tourne en permanence… Belle performance !

05/2025 : un 2e disque est mort… Même mail que juste au-dessus : dès le mail reçu, le raid a perdu la synchronisation :'(. Il fait un “gratte-gratte”, il siffle et fait un drôle de bruit au démarrage, typique d'une agonie finale.

Ce disque est encore plus vieux que le précédent : les données SMART indiquent un nombre d'heures allumées incroyables : Power_On_Hours de 13613638 ce qui équivaut à 15.5 ans 8-)

06/2025 : loi des séries oblige, le 3e disque est décédé également… celui était beaucoup moins agé, il avait 5 ans.

Cela faisait 2 jours que les logs du noyau se remplissaient avec des traces de la forme suivante :

2025-06-22T10:39:12.435512+02:00 localhost kernel: [907791.358842] ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
2025-06-22T10:39:12.435543+02:00 localhost kernel: [907791.358880] ata3.00: failed command: FLUSH CACHE EXT
2025-06-22T10:39:12.435548+02:00 localhost kernel: [907791.358889] ata3.00: cmd ea/00:00:00:00:00/00:00:00:00:00/a0 tag 21
2025-06-22T10:39:12.435550+02:00 localhost kernel: [907791.358889]          res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
2025-06-22T10:39:12.435552+02:00 localhost kernel: [907791.358913] ata3.00: status: { DRDY }
2025-06-22T10:39:12.435554+02:00 localhost kernel: [907791.358925] ata3: hard resetting link
2025-06-22T10:39:17.787370+02:00 localhost kernel: [907796.711053] ata3: link is slow to respond, please be patient (ready=0)
2025-06-22T10:39:22.467130+02:00 localhost kernel: [907801.391502] ata3: found unknown device (class 0)
2025-06-22T10:39:22.627347+02:00 localhost kernel: [907801.551514] ata3: found unknown device (class 0)
2025-06-22T10:39:22.627382+02:00 localhost kernel: [907801.551555] ata3: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
2025-06-22T10:39:27.743529+02:00 localhost kernel: [907806.667999] ata3.00: qc timeout after 5000 msecs (cmd 0xec)
2025-06-22T10:39:27.743561+02:00 localhost kernel: [907806.668032] ata3.00: failed to IDENTIFY (I/O error, err_mask=0x4)
2025-06-22T10:39:27.743566+02:00 localhost kernel: [907806.668045] ata3.00: revalidation failed (errno=-5)

ou bien

2025-06-22T10:47:01.938836+02:00 localhost kernel: [908260.908244] sd 2:0:0:0: [sdc] tag#31 FAILED Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK cmd_age=0s
2025-06-22T10:47:01.938863+02:00 localhost kernel: [908260.908270] sd 2:0:0:0: [sdc] tag#31 CDB: ATA command pass through(16) 85 06 20 00 00 00 00 00 00 00 00 00 00 00 e5 00

Puis, en plein nuit, le disque s'est désynchronisé du raid :S

S'en est suivi un mail disant que c'est la fin :

Subject: Fail event on /dev/md0:popeye
 
This is an automatically generated mail message from mdadm
running on popeye
 
A Fail event had been detected on md device /dev/md0.
 
It could be related to component device /dev/sdc1.
 
Faithfully yours, etc.
 
P.S. The /proc/mdstat file currently contains the following:
 
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md0 : active raid5 sdd1[3] sdc1[1](F) sda1[0]
      2147219456 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [U_U]
      bitmap: 5/8 pages [20KB], 65536KB chunk
 
unused devices: <none>

Suite à toutes ces pannes, j'ai dû finalement changer en 6 mois tous mes disques mécaniques de 1 To. J'ai acheté à place des modèles de 4 To. Je reste sur des mécaniques car le coût au volume est plus intéressant par rapport à des SSD mais au détriment de la performance. Néanmoins, je n'ai pas un besoin de rapidité mais plutôt de résilience. Cela donne un espace de stockage de 8 To.

Voici les nouvelles caractéristiques :

  • Toshiba N300, 7200 tr/min
  • Western Digital Red Plus, 5400 tr/min
  • Seagate IronWolf, 5400 tr/min

Le changement de ce dernier disque fut assez rapide : 2h pour écrire 1 To.

Voici la sortie iostat pendant cette opération, 100 Mo/s en écriture voir plus… 8-)

Statistiques iostat
Agrandir
Statistiques iostat

Comme j'ai arrêté mon HTPC depuis un bon moment, j'ai récupéré le SSD pour mettre / dessus, cela rends le système beaucoup plus réactif.

Ma carte mère n'ayant que 4 ports SATA, dont 1 est utilisé par le SSD, je ne peux pas envisager de passer sur du Raid 6 qui permet de tolérer la panne de 2 disques. Le Raid 5 peut semble suffisant, mais les temps de reconstruction sur des tailles de disques aussi gros sont de plus de 10 à 15h avec un stress très important sur les disques survivants, ce qui augmente sérieusement la probabilité de “sur”-problème et donc de drame :'(

C'est pourquoi j'ai décidé de la changer pour avoir plus de ports SATA ainsi qu'une consommation électrique amoindrie.