Archives de catégorie : Logiciels libres

opencv et intelligence artificielle

En mettant à jour mes pages de FUNIX sur les outils pour gérer la vidéo sous linux, j’ai mis à jour la bibliothèque OpenCV en la faisant évoluer vers la version 4.0.1. Jusqu’à présent je ne prenais pas le temps de me pencher sur les bibliothèques de bas niveau, préférant m’attarder sur les logiciels de haut niveau qui les utilisent comme le logiciel de montage vidéo kdenlive ou le célèbre lecteur vidéo VLC. J’ai cependant pris le temps de me pencher plus longuement sur OpenCV car c’est une bibliothèque pleine de ressources.

En deux mots, OpenCV fournit des routines de traitement vidéo en temps réel. Plus précisément vous pouvez détecter des visages, des objets, lire du texte, identifier une plaque d’immatriculation, faire du traking d’objets dans une vidéo ou une image. Plus fort encore, OpenCV dispose de méthodes d’apprentissage basées sur des réseaux de neurones pour affuter la reconnaissance d’objets, on n’est pas loin de l’intelligence artificielle !

Léna et Véronique en cours de kite
Continuer la lecture de opencv et intelligence artificielle

Récupérez un mot de passe windows de linux

Voulant réinstaller le launchpad Novation MK2 sur le nouveau ThinkPad T440p sous windows 7 professionnel pour ma fille, je me suis rendu compte que j’avais négligemment oublié le mot de passe d’administrateur ! C’est ballot, fort heureusement avec une partition sous linux, on peut faire pas mal de chose avec une commande qui s’appelle chntpw c’est à dire “change NT password” tout un programme. A vrai dire c’est valable avec n’importe quel PC windows dès lors que vous y avez accès physiquement et que vous pouvez accéder au BIOS.

Launchpad Novation MK2 et le ThinkPad T440p en mode linux

Il suffit de repérer la partition windows, la monter si ce n’est pas déjà fait et d’aller dans le répertoire Windows/System32/config. De mon côté j’ai tapé simplement en tant que root

cd /media/win_d/Windows/System32/config

Ensuite on tape la commande chntpw -l sam -i à noter qu’il faut que vous ayez un fichier sam dans le répertoire, sur d’autres systèmes ce fichier peut être en majuscule. Voilà le résultat :

chntpw version 1.00 140201, (c) Petter N Hagen
Hive name (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 666c
File size 262144 [40000] bytes, containing 8 pages (+ 1 headerpage)
Used for data: 273/87760 blocks/bytes, unused: 18/10288 blocks/bytes.

<>========<> chntpw Main Interactive Menu <>========<>

Loaded hives:

1 – Edit user data and passwords
2 – List groups
– – –
9 – Registry editor, now with full write support!
q – Quit (you will be asked if there is something to save)

What to do? [1] ->

Continuer la lecture de Récupérez un mot de passe windows de linux

Thinkpad t440P et linux

Pour remplacer le Lenovo IdeaPad u350 vieillissant de ma fille je me suis d’abord tourné dans la recherche d’un ultra portable Thinkpad que j’affectionne vu que j’en ai déjà 3 différents (X200, X220 et X230).

Respectivement X230 (mon PC perso), X200 (PC multimedia) et X220 (PC de ma moitié)

Mais la taille d’écran ne lui convenait pas, j’ai trouvé sur ebay un ThinkPad T440p d’occase à 189,9€ TTC (+18€ de livraison) en Allemagne qui est pourvu d’un écran de 14” équivalent à celui de l’IdeaPad. En voici les caractéristiques :

  • processeur i5-4300M 4ème génération 2,6Ghz avec 4 coeurs
  • 8 Go de RAM
  • disque dur de 500 Go
  • Réseau (wifi, RJ45, bluetooth)
  • connectivité (4 ports USB (dont 2 USB 3.0), lecteur carte SD, VGA, mini display)
  • accessoires divers (webcam, lecteur d’empreinte digitale, lecteur DVD)

Avec windows 7 installé dessus et toute la robustesse, la qualité de fabrication et de la durabilité des thinkpad conçu pour un usage professionnel. Quand on sait qu’il valait à la base plus de 1200€ TTC, on peut considérer que c’est une très bonne affaire !

J’ai fait le choix de conserver windows 7 et d’installer en double boot Linux avec une distribution Mageia 6 (ou plutôt 6.1 avec les mises à jour) et tout fonctionne du premier coup sans soucis. Il n’y a que le lecteur d’empreinte que je n’ai pas encore testé.

Lenovo Thinkpad T440p

J’ai installé XFCE comme environnement graphique par défaut, on retrouver le dock cairo tout en bas, on peut distinguer l’applet météo qui est développé et un conky sur l’état du système en haut à droite.

Faire un clone d’une carte SD d’un GPS carminat TomTom de Renault

Même si je suis très critique envers TomTom et que je préfère la fiabilité d’un navfree ou de waze, il se trouve que dans ma voiture j’ai un GPS intégré TomTom Carminat dont les données sont embarquées sur une carte SD. Comme il est en fonction en permanence tant qu’à faire autant qu’il soit à jour même si je ne lui fais pas aveuglement confiance. L’ennui est qu’en cas de détérioration de la carte, on est quitte pour racheter une nouvelle carte chez Renault. J’ai donc cherché à faire une copie de la dite carte. Or bien évidemment elle est un minimum sécurisée. Voici donc les quelques manipulations à réaliser, sous linux bien évidemment, pour en faire un clone fonctionnel.

Tout d’abord en insérant la carte TomTom d’origine sur un poste linux, journalctl -f me donne le nom du fichier spécial d’accès à la carte qui est /dev/sdc et /dev/sdc1 pour la partition

nov. 01 19:32:42 predator.kervao.fr kernel: usb 3-5: reset high-speed USB device number 9 using xhci_hcd
nov. 01 19:32:42 predator.kervao.fr kernel: ums-realtek 3-5:1.0: USB Mass Storage device detected
nov. 01 19:32:42 predator.kervao.fr kernel: scsi host6: usb-storage 3-5:1.0
nov. 01 19:32:43 predator.kervao.fr kernel: scsi 6:0:0:0: Direct-Access     Generic- Multi-Card       1.00 PQ: 0 ANSI: 0 CCS
nov. 01 19:32:43 predator.kervao.fr kernel: sd 6:0:0:0: [sdc] 7741440 512-byte logical blocks: (3.96 GB/3.69 GiB)
nov. 01 19:32:43 predator.kervao.fr kernel: sd 6:0:0:0: [sdc] Write Protect is off
nov. 01 19:32:43 predator.kervao.fr kernel: sd 6:0:0:0: [sdc] Mode Sense: 03 00 00 00
nov. 01 19:32:43 predator.kervao.fr kernel: sd 6:0:0:0: [sdc] No Caching mode page found
nov. 01 19:32:43 predator.kervao.fr kernel: sd 6:0:0:0: [sdc] Assuming drive cache: write through
nov. 01 19:32:43 predator.kervao.fr kernel:  sdc: sdc1
nov. 01 19:32:43 predator.kervao.fr kernel: sd 6:0:0:0: [sdc] Attached SCSI removable disk

voilà ce que donne un fdisk -l pour /dev/sdc

Disque /dev/sdc : 3,7 GiB, 3963617280 octets, 7741440 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x00000000

Périphérique Amorçage Début     Fin Secteurs Taille Id Type
/dev/sdc1              8192 7698431  7690240   3,7G  b W95 FAT32

on récupérera donc une carte de 4Go également qu’on formatera en FAT32 avec la commande (en supposant qu’on a la même fichier spécial).

 mkfs.vfat -F 32 /dev/sdc

Revenons à notre carte d’origine TomTom on fait une copie bas niveau en tapant la commande dd:

dd if=/dev/sdc of=sdtomtom.img bs=4M
945+0 enregistrements lus
945+0 enregistrements écrits
3963617280 bytes (4,0 GB, 3,7 GiB) copied, 229,485 s, 17,3 MB/s

attention la carte SD ne doit pas être montée pour que ça fonctionne. On insère maintenant la nouvelle carte qu’on aura préalablement formatée en FAT32. Attention à ne pas la monter également. Et on tape la commande dd :

dd if=sdtomtom.img of=/dev/sdc bs=4M
945+0 enregistrements lus
945+0 enregistrements écrits
3963617280 bytes (4,0 GB, 3,7 GiB) copied, 439,838 s, 9,0 MB/s

pour être sûr que tout fonctionne avant d’aller la tester dans la voiture, comme je n’ai pas trouvé encore le moyen d’administrer mon GPS TomTom sous linux, je vais sous windows pour lancer TomTom Home et vérifier qu’elle est bien reconnue. Personnellement j’utilise une machine virtuelle windows dans ma session linux qui me permet de lancer les rares programmes windows sans équivalent sous linux en utilisant VirtualBox.

Je constate que mon clone de carte est parfaitement reconnue et de surcroit à jour, je n’ai plus qu’à aller le tester dans la voiture, et là également c’est une réussite.

 

Passage à kdenlive 18.08.2

Je viens de passer à la version 18.08.2 de montage vidéo kdenlive, d’après le site de kdenlive, cette version a bénéficié  de la réécriture d’une grosse partie du code et peut donc souffrir de régression. J’ai néanmoins réussi à faire un montage complet sans trop soucis, comme on peut le voir avec la vidéo ci-dessous  d’une petite balade VTT dans les anciens marais salants et le bois des Aresquiers du côté de Frontignan en août dernier.

je déplore toutefois quelques désagréments, au premier lancement, boum, pas possible de le lancer et je tombe sur le message :

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Could not initialize GLX

ah bin, me voilà bien avancé et visiblement cela ne touche (encore) que les possesseurs de GPU NVIDIA. En fait sur ma Mageia 6 c’est un conflit de bibliothèque libGL entre les packages lib64mesagl1 et  x11-driver-video-nvidia-current. Le dernier package fournit les bibliothèques les plus adaptées à un GPU NVIDIA, mais je ne peux pas supprimer lib64mesagl1 dont dépendent un tas d’autres packages, du coup j’ai modifié les liens des bibliothèques installées par lib64mesagl1 pour qu’elles pointent vers celles de x11-driver-video-nvidia-current et le tour est joué ! Je déplore également qu’il soit difficile de déplacer bêtement le curseur, cela dit quand j’active l’option movit pour utiliser les ressources de la GPU, cela s’améliore nettement et surtout c’est maintenant a priori beaucoup plus stable qu’avant, il faudra que je vois à l’usage mais on retrouve la fluidité des versions antérieures de kdenlive.

Du coup j’en ai profité pour mettre à jour mon site funix avec les modifications suivantes :

– page outils de base pour la vidéo, passage à libvorbis 1.3.6, faac 1_29_9_2, fdk_aac 0.1.6, x264-snapshot-20181006-2245, x265 2.9, movit 1.6.2 et ffmpeg 4.0.2
– page conteneur vidéo, passage à libebml 1.3.6, libmatroska 1.4.9 et mkvtoolnix 27.0.0
– page montage vidéo, passage à mlt 6.10.0 et kdenlive 18.08.1, LiVES 2.10.0, cinelerra GG 5.1.20180930, OpenShot Video 2.4.3, Synfig Studio 1.2.2 et Blender 2.79b
– page lecteurs vidéo, passage à libdvdcss 1.4.2, live 2018.09.18 et VLC 3.0.4
– page transcodage, passage à avidemux 2.7.1 et HandBrake 1.1.2
– page outils audio divers, passage à audacious 3.10 et MusicBrainz Picard 2.0.4

Chantage par “sextorsion”

Comme tout le monde je reçois un tas de spams et de tentatives de chantages en tout genre qui partent généralement directement dans la poubelle grâce à mon arsenal de lutte anti-spam et anti-virus en tout genre. Sauf que j’ai reçu récemment ce mail qui a attiré mon attention :

Hello!
I'm a member of an international hacker group.

As you could probably have guessed, your account olivier.hoarau@funix.org was hacked, because I sent message you from your account.

Now I have access to all your accounts!
For example, your password for olivier.hoarau@funix.org: mot-passe 

Within a period from July 31, 2018 to October 3, 2018, you were infected by the virus we've created, through an adult website you've visited.
So far, we have access to your messages, social media accounts, and messengers.
Moreover, we've gotten full damps of these data.

We are aware of your little and big secrets...yeah, you do have them. We saw and recorded your doings on porn websites. Your tastes are so weird, you know..

But the key thing is that sometimes we recorded you with your webcam, syncing the recordings with what you watched!
I think you are not interested show this video to your friends, relatives, and your intimate one...

Transfer $800 to our Bitcoin wallet: 1PwENLsmQ2Z6b4EJfXDeeXKBj9v878uHRf
If you don't know about Bitcoin please input in Google "buy BTC". It's really easy.

I guarantee that after that, we'll erase all your "data" 

A timer will start once you read this message. You have 48 hours to pay the above-mentioned amount.

Your data will be erased once the money are transferred.
If they are not, all your messages and videos recorded will be automatically sent to all your contacts found on your devices at the moment of infection.

You should always think about your security.
We hope this case will teach you to keep secrets.
Take care of yourself.

sauf que je vois qu’il y a un de mes mots de passe, n’y une ni deux, je modifie tout un stock de mots de passe que je n’avais pas changé depuis des années (je sais, c’est mal). Heureusement que mon coffre fort à mots de passe me facilite la tâche.

Il m’a fallu comprendre comment il avait récupéré cet ancien mot de passe. En fait le gars à l’origine du mail ne sait pas amuser à pirater mes comptes et encore moins mon PC (d’autant que sous linux je suis plutôt serein) mais il a récupéré mon compte sur une base de données piratée d’identifiants qu’on peut trouver sur le darknet. Le risque existe néanmoins qu’il tente avec ces identifiants de se connecter pour y faire je ne sais quoi qui pourrait me mettre dans l’embarras, d’autant plus si on utilise les mêmes identifiants pour plusieurs sites. j’ai découvert alors l’existence du site Have I Been pwnd, en indiquant mon mail je vois qu’il se trouve dans deux bases de données qui ont été piratées par le passé, celle de dailymotion qui s’est fait pirater en octobre 2016 avec ses 85 millions d’identifiants et de NemoWeb piratée en septembre 2016 avec 21Go de données piratées contenant des informations d’accès aux newsgroups.

Je vous invite donc à vérifier si vos identifiants n’ont pas été compromis via ce site et à faire le nécessaire vite fait. Et si vous vous demandez ce que signifie pwnd, cela vient du jargon des hackers, pwn équivaut à compromette ou prendre le contrôle d’un ordinateur.

Musique assistée par ordinateur mise à jour

J’ai fait une petite mise à jour de ma page sur l’installation des outils de musique assistée par ordinateur (MAO). En fait il y a pas mal de modifications, des changements de version pour des bibliothèques audio ou de calcul diverses (suil 0.10.0, serd 0.30.0, sord 0.16.2, sratom 0.6.2, lilv 0.24.4, rubber ban 1.8.2), des utilitaires audio divers (chromaprint 1.4.3, jack 1.9.12, qjackctl 0.5.3, fluidsynth 1.1.11, qsynth 0.5.2, audacity 2.2.2) puis des applications de MAO plus évoluées comme mixxxx 2.1.1, MusE 3.0.2, Ardour 5.12 et Rosegarden 18.06.

En revanche je déplore d’avoir perdu la possibilité de pouvoir m’appuyer sur jack avec audacity ce qui me permettait de faire des connexions un peu exotiques avec les entrées et les sorties audio. En fait maintenant audacity accepte uniquement jack s’il est configuré avec portaudio et non avec alsa. Or quand j’essaye de compiler la nouvelle version de jack il me dit que “portaudio requires windows.h”. Mais c’est quoi cette histoire, je suis sous linux pas sous windows ! Au final par de portaudio dans jack et donc pas de jack sous audacity.

Libérer son portable (acte 4) passer à LineageOS

Après l’acte 3 créer son propre cloud, l’acte 2 utiliser un catalogue d’applications alternatif et l’acte 1 passer root voici l’étape ultime qui consiste à se libérer totalement de l’univers Google et passer sur un OS totalement open source, également basé sur android, à savoir lineageOS. Le mobile cobaye sera le Motorola Moto E4 plus (modèle XT1771 double carte SIM).

Rien n’est fait pour faciliter les choses et on risque à chaque étape de bloquer définitivement le portable, sans compter qu’on perd la garantie de fait…

Première étape, débloquer le bootloader, le chargeur de boot est un bout de code qui permet de lancer le portable, une sortie de BIOS en quelque sorte. Ce code initialise le matériel et charge le noyau, la mémoire et les autres process, le tout est contenu dans une mémoire permanente qu’on appelle ROM (read only memory). Tout portable est doté d’une ROM officielle (ou stock ROM). Le but de l’opération est donc de remplacer la ROM officielle par une ROM personnalisée (custom ROM) contenant LineageOS. Revenons au bootloader, il est habituellement verrouillé, or il est nécessaire de devoir le déverrouiller pour pouvoir installer une custom ROM, dans le jargon on parle de flasher une nouvelle ROM. On installera tout d’abord des outils de développement Android permettant d’envoyer des commandes au mobile via un PC qu’on trouvera par ici. J’ai évidemment choisi la version pour linux qui propose un ensemble d’outils dans un répertoire platform-tools.

Continuer la lecture de Libérer son portable (acte 4) passer à LineageOS

Carte son externe

J’utilise un thinkpad X200 comme PC multimédia branché à un ampli-tuner Eltax AVR900 comme on peut le voir sur cette photo avec mes autres thinkpad.

La connexion se fait via des câbles avec connectique RCA avec un adaptateur RCA/jack et il faut bien l’avouer, ce n’est pas terrible, d’une part la carte son interne n’est pas du meilleur niveau et d’autre part la connectique laisse franchement à désirer et provoque des coupures et autres grésillements non désirés.

Du coup pour m’affranchir de tout ça j’ai acheté une carte son externe USB Ugreen

Sous linux, le branchement est quasi plug and play, voilà ce que systemd renvoie quand on la branche :

mars 10 19:08:33 tahiti.kervao.fr kernel: usb 3-1: new full-speed USB device number 3 using uhci_hcd
mars 10 19:08:33 tahiti.kervao.fr kernel: Shorewall:net-fw:DROP:IN=enp0s25 OUT= MAC=00:1f:16:1c:23:81:78:2b:cb:62:8f:ce:08:00 SRC=192.168.1.11 DST=192.168.1.30 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=55225 DF PROTO=TCP SPT=874 DPT=46074 WINDOW=29200 RES=0x00 SYN URGP=0
mars 10 19:08:33 tahiti.kervao.fr kernel: usb 3-1: New USB device found, idVendor=0d8c, idProduct=0024
mars 10 19:08:33 tahiti.kervao.fr kernel: usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
mars 10 19:08:33 tahiti.kervao.fr kernel: usb 3-1: Product: USB Advanced Audio Device
mars 10 19:08:33 tahiti.kervao.fr kernel: usb 3-1: Manufacturer: C-Media Electronics Inc.
mars 10 19:08:33 tahiti.kervao.fr kernel: input: C-Media Electronics Inc. USB Advanced Audio Device as /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.3/0003:0D8C:0024.0004/input/input16
mars 10 19:08:33 tahiti.kervao.fr kernel: hid-generic 0003:0D8C:0024.0004: input,hidraw2: USB HID v1.11 Device [C-Media Electronics Inc. USB Advanced Audio Device] on usb-0000:00:1a.0-1/input3
mars 10 19:08:33 tahiti.kervao.fr mtp-probe[3690]: checking bus 3, device 3: "/sys/devices/pci0000:00/0000:00:1a.0/usb3/3-1"
mars 10 19:08:33 tahiti.kervao.fr mtp-probe[3690]: bus: 3, device: 3 was not an MTP device

Ensuite dans la configuration de l’environnement graphique il faut choisir comme périphérique de sortie audio par défaut “USB Advanced Audio Device” et puis c’est tout. L’amélioration du son n’est pas évidente mais par contre je me suis totalement affranchi de la problématique de la connectique et de ses bruits parasites. C’est une bonne alternative si on a un port jack endommagé ou voire aucun port micro comme pour certains portables.

Mise à jour de kdenlive vers 17.12.2

J’avais exposé dans un post précédent mes problèmes avec la dernière version du logiciel de montage vidéo kdenlive. Je suis donc reparti à zéro en faisant une mise à jour de mon système et en reconstruisant toutes les dépendances de bibliothèques de kdenlive. Du fait du changement du noyau, j’ai recompilé le driver nvidia “à la main”, et là patatras, erreur de compilation (extrait) :

   /tmp/selfgz9132/NVIDIA-Linux-x86_64-384.90/kernel/nvidia-drm/nvidia-drm-crtc.c:173:5: erreur : unknown field ‘enable’ specified in initializer
        .enable     = nvidia_crtc_enable,
        ^
   /tmp/selfgz9132/NVIDIA-Linux-x86_64-384.90/kernel/nvidia-drm/nvidia-drm-crtc.c:173:19: erreur : initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
        .enable     = nvidia_crtc_enable,
                      ^
   /tmp/selfgz9132/NVIDIA-Linux-x86_64-384.90/kernel/nvidia-drm/nvidia-drm-crtc.c:173:19: note : (near initialization for ‘nv_crtc_helper_funcs.mode_valid’)
   /tmp/selfgz9132/NVIDIA-Linux-x86_64-384.90/kernel/nvidia-drm/nvidia-drm-crtc.c: Dans la fonction ‘nvidia_plane_create’:
   /tmp/selfgz9132/NVIDIA-Linux-x86_64-384.90/kernel/nvidia-drm/nvidia-drm-crtc.c:223:9: erreur : incompatible type for argument 7 of ‘drm_universal_plane_init’

je n’ai eu d’autres choix pour relancer l’interface graphique d’installer le package nvidia de la Mageia 6 et tant qu’à faire avec les extensions CUDA pour que le GPU soit utilisé pour décharger un tant soit peu le CPU.  Il se trouve qu’en compilant le driver, je n’arrivais pas à avoir l’extension CUDA.

Sauf que je me suis souvenu pourquoi je n’utilisais pas le package de la Mageia, en fait melt qui est utilisé par kdenlive, plante avec un beau segmentation fault pour une raison que je n’avais pas réussi à élucider.  Étant condamné à trouver une solution pour pouvoir utiliser kdenlive, il se trouve qu’en supprimant les fichiers qui commencent par cairo sous /usr/local/lib/frei0r-1 ça fonctionne ! Après avoir utilisé kdenlive, je n’ai pas constaté d’effets de bord… C’est certainement pas génial comme solution, mais au moins ça me permet d’utiliser kdenlive et en plus d’avoir l’extension CUDA, en espérant que ça m’apporte un gain de performance, je n’ai pas le recul suffisant pour pouvoir le constater pour l’instant.

Tant qu’à faire j’ai mis à jour mon site FUNIX avec les modifications suivantes :

  • dans la page sur les outils de base pour la vidéo, passage à libogg 1.3.3, faad2 2.8.1, x264-snapshot-20180303-2245, x265 2.7, opencv 3.4.1, movit 1.6.1 et ffmpeg 3.4.2
  • dans la page conteneur vidéo, passage à mkvtoolnix 21.0.0
  • dans la page sur le montage vidéo, passage à mlt 6.6.0 et kdenlive 17.12.2
  • dans la page sur les lecteurs vidéo, passage à libdvdread 6.0.0, libdvdnav 6.0.0, libdvdcss 1.4.1, libdvbpsi 1.3.2, VLC 3.0.1, xine lib 1.2.9 et xine ui 0.99.10