samedi 22 octobre 2016

ADS-B: Radarcape - 3

Le noyau Linux TI (4.4.23-ti-r51) s'avère être instable notamment lors d'un trafic intense. Cette instabilité peut conduire le système à ne plus répondre voire à rebooter.

Les événements enregistrés dans le journal système (fichier '/var/log/messages') mettent en évidence deux problèmes: un overrun  régulier sur la liaison série ttyS2 (message 'ttyS2: 3 input overrun(s)') ainsi qu'un blocage de la CPU (message 'NMI watchdog: BUG: soft lockup - CPU#0 stuck for 23s!'). Plusieurs tests de versions alternatives de ce noyau TI dont la version RT mettent en évidence la même instabilité. 

J'ai donc installé le noyau bone (4.8.3-bone-rt-r1) lequel s'avère être plus stable même en conditions de charge élevée. Loi de Murphy oblige, au moment même de l'écriture de ce billet, la connexion SSH avec l'équipement vient de tomber, sans que l'équipement n'ait rebooté après plus de 14h de bon fonctionnement. Aucun événement particulier n'a été journalisé. Je considère toutefois que cette branche de noyau est la bonne.
 
La procédure de mise à jour est simple à condition de disposer d'assez de place libre sur la carte. 
1- Il s'agira tout d'abord de mettre à jour le catalogue local:
  sudo apt-get update
2- Puis de trouver le noyau à mettre à jour:
  sudo apt-cache search linux-image | grep bone
3- De charger celui-ci:
  sudo apt-get install linux-image-xxxxx
     avec xxxxx valant pour la version précédemment identifiée (ici '4.8.3-bone-rt-r1')
4- Et surtout de recopier le fichier de configuration faute de quoi le système ne redémarrera pas:
  cd /boot /dtsb
  sudo cp zzzzzz/bbb-4.1-radarcape.dtb xxxxx/
     avec zzzzzz valant pour la version active (ici '4.4.24-ti-rt-r57')
     avec xxxxx valant pour la version installée (ici '4.8.3-bone-rt-r1')
5- Et enfin de rebooter (et de croiser les doigts):
  sudo reboot

Il va de soi qu'il vaut mieux disposer d'une copie de l'environnement fonctionnel sur une seconde carte microSD ou sur la mémoire eMMC du beaglebone.

Aucun commentaire: