Si la 2G à été stoppé chez vous, et que comme moi vous vous retrouvez du jour au lendemain avec une box domotique qui ne peux plus envoyer de SMS alors un dongle 4G prend tout son sens pour votre installation domotique. Dans ce tutoriel, nous allons voir comment utiliser la clé Huawei E3372 (modèle E3372h-607) en mode HiLinksans flasher le firmware, tout en ayant accès aux ports série (/dev/ttyUSB*) indispensables pour le plugin SMS de Jeedom.
P.S Si vous souhaitez commander ce dongle, je ne saurais que trop vous conseiller d’aller le commander via mon second site :
L’astuce réside dans l’activation automatique du mode debug au démarrage grâce à un service systemd. Ainsi, on profite des ports /dev/ttyUSB* pour communiquer en commandes AT (modem).
1. 🌐 Vérifier le dongle en mode HiLink
Branchez le dongle Huawei E3372 sur votre machine (un Raspberry, un mini-PC, etc.).
Vérifiez qu’il est détecté en USB :
lsusb
Exemple de résultat (ID 12d1:1566 indiquant le mode HiLink) :
Bus 001 Device 009: ID 12d1:1566 Huawei Technologies Co., Ltd. HUAWEI_MOBILE
Regardez vos interfaces réseau :
ip addr
Vous devriez voir une nouvelle interface (ex. 192.168.8.100), prouvant que la clé est en mode HiLink.
5: enx0c5b8f279a64: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 0c:5b:8f:27:9a:64 brd ff:ff:ff:ff:ff:ff
inet 192.168.8.100/24 brd 192.168.8.255 scope global dynamic noprefixroute enx0c5b8f279a64
valid_lft 86110sec preferred_lft 75310sec
inet6 fe80::111b:c083:fe52:12e7/64 scope link
valid_lft forever preferred_lft forever
Vérifiez l’absence de ports série :
ls -l /dev/ttyUSB*
En mode HiLink, rien n’apparaîtra pour la clé Huawei (vous ne verrez pas /dev/ttyUSB0 lié à ce dongle).
2. ⚙️ Créer un service systemd pour le mode debug
2.1. Pourquoi un service ?
La clé E3372 dispose d’une API HTTP permettant de basculer la clé en mode debug (ce qui fait apparaître les ports /dev/ttyUSB*). Cependant, ce mode n’est pas persistant : à chaque redémarrage du serveur, il faut réactiver le mode debug. D’où l’idée de créer un service systemd automatisant cette activation.
2.2. Éditer le fichier de service
Créez un fichier /etc/systemd/system/huawei-debug-mode.service :
[Unit]
Description=Switch Huawei E3372 HiLink to debug mode
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
# On attend 10s pour laisser au modem le temps de monter l'interface 192.168.8.1
ExecStartPre=/bin/sleep 10
# Appel "curl" sur une seule ligne.
# On utilise des quotes simples pour le -d et on laisse
# les double-quotes à l'intérieur pour l'XML.
ExecStart=/usr/bin/curl -s -X POST \
-d '<?xml version="1.0" encoding="UTF-8"?><api version="1.0"><header><function>switchMode</function></header><body><request><switchType>1</switchType></request></body></api>' \
http://192.168.8.1/CGI
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Points importants :
ExecStartPre : on attend 10 secondes pour que l’interface réseau du dongle (192.168.8.1) soit disponible.
switchType=1 : c’est le paramètre de l’API Huawei qui active le mode debug.
Vous pouvez aussi redémarrer votre machine pour confirmer que le service se lance bien tout seul au boot.
3. 🔎 Vérifier l’apparition des interfaces /dev/ttyUSB*
Après l’activation (ou après reboot), refaites un :
ls -l /dev/ttyUSB*
Vous devriez voir plusieurs ports, par exemple :
crwxrwxrwx 1 root dialout 188, 1 21 mars 13:21 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 2 21 mars 13:16 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 3 21 mars 13:16 /dev/ttyUSB2
crw-rw---- 1 root dialout 188, 4 21 mars 13:16 /dev/ttyUSB3
crw-rw---- 1 root dialout 188, 5 21 mars 13:16 /dev/ttyUSB4
crw-rw---- 1 root dialout 188, 5 21 mars 13:16 /dev/ttyUSB5
La première interface (/dev/ttyUSB0 dans la plupart des cas) est celle qui accepte les commandes AT pour l’envoi/réception de SMS.
4. 📱 Intégration avec Jeedom (plugin SMS)
Installer le plugin SMS dans Jeedom (Market).
Dans la configuration du plugin, section Modem, sélectionnez :
Port modem : /dev/ttyUSB0 (ou celui détecté chez vous).
Baudrate : 115200 (valeur habituelle, ou laissez par défaut).
Sauvegardez et relancez le démon du plugin SMS.
Vous pouvez envoyer et recevoir des SMS depuis Jeedom. Faites un reboot de votre serveur pour vérifier que tout se passe bien : grâce à notre service systemd, le mode debug est réactivé et le plugin SMS reste opérationnel dès le démarrage.
5. 🎉 Conclusion
En suivant ces étapes, vous gardez votre Huawei E3372 en mode HiLink sans le flasher, tout en profitant des ports série pour Jeedom et le plugin SMS.
Récapitulatif :
Brancher le dongle, vérifier qu’il est détecté en mode HiLink (lsusb + ip addr).
Créer un service systemd pour activer le mode debug au démarrage (fichier huawei-debug-mode.service).
Vérifier l’apparition des /dev/ttyUSB*, dont /dev/ttyUSB0 pour les commandes AT.
Configurer le plugin SMS dans Jeedom pour utiliser ce port.
Tester un reboot : le dongle reprend le mode debug automatiquement.
Vous bénéficiez alors d’une connexion 4G fiable (notamment pour la bande des 700 MHz chez Free mais attention au choix du dongle pour les fréquences gérés) et d’un modem SMS fonctionnel pour votre domotique. Enjoy ! ✨🚀
Dans ce tutoriel, nous allons configurer une carte graphique NVIDIA sur Proxmox, la rendre disponible dans un conteneur LXC, puis l’exploiter dans Docker au sein de ce même conteneur. L’exemple final porte sur l’installation de l’application Ollama pour l’IA qui utilisera l’accélération matériel de la carte graphique, mais la procédure s’applique à d’autres usages (Serveur multimedia Plex, encodage/décodage …).
Matériel et environnements testés
Serveurs HP : ML110 G9 et Z840
Cartes graphiques : Nvidia Quadro P6000 et Nvidia RTX 2080
Mais le plus important c’est :
-D’avoir du CPU Intel -Une carte Nvidia assez récente en fonction des besoins pour pouvoir suivre ce tuto -Le mode secure boot désactivé pour pouvoir charger le driver Nvidia (Et donc activer le mode legacy boot), par exemple pour HP : https://support.hp.com/us-en/document/ish_6930187-6931079-16 -Que la carte graphique soit reconnu en faisant un lspci (dans mon cas une GeForce RTX 2080) :
root@ml110:~# lspci |grep NVIDIA
03:00.0 VGA compatible controller: NVIDIA Corporation TU104 [GeForce RTX 2080] (rev a1)
03:00.1 Audio device: NVIDIA Corporation TU104 HD Audio Controller (rev a1)
03:00.2 USB controller: NVIDIA Corporation TU104 USB 3.1 Host Controller (rev a1)
03:00.3 Serial bus controller: NVIDIA Corporation TU104 USB Type-C UCSI Controller (rev a1)
root@ml110:~#
Pour une config AMD, un autre tuto arrivera.
1. 🚀 Configuration de Proxmox
1.1. Modifier le fichier sources.list
nano /etc/apt/sources.list
Assurez-vous d’avoir les dépôts suivants (pour Proxmox 8 sur base Debian Bookworm) :
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
Note : Commentez (désactivez) le repository ceph et le repository pve-enterprise s’ils sont présents.
Dans cet exemple nous allons créer un LXC avec le template Debian précédement télécharger et les paramètres :
-Nom de machine : debian12-nvidia
-Nombre de core CPU : 4
-Taille RAM : 4096
-Taille SWAP :0
-Emplacement du stockage : local-lvm
-Carte réseau – Quel switch virtuel – Paramètres IP : vmbr0 en DHCP
-Activation de l’option Nesting pour Docker : nesting=1
-LXC en mode privilégié : –unprivileged=0
-Mot de passe root du LXC : TonMotDePasseIci
2.2. Éditer la configuration du LXC
Après création, éditez la conf (ex. ID 100) :
nano /etc/pve/lxc/100.conf
Ajoutez à la fin : les instructions suivantes (en adaptant les numéros majeures grace à la commande ls -lah /dev/nvidia* vue au point : 1.12. Vérifier la présence des périphériques NVIDIA) :
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
Puis :
apt update
apt upgrade
apt install gpg curl wget
3. 🎉 Installer NVIDIA Container Toolkit
Parfois, le paquet nvidia-container-toolkit n’est pas dans les dépôts. Pour l’installer directement depuis NVIDIA :
Tant qu’il affiche bien le nom de la carte, c’est que la configuration fonctionne !
🎉 Conclusion
Vous disposez désormais d’un système Proxmox avec une carte NVIDIA pass-through dans un conteneur LXC (privilégié, Nesting activé) et exploitable dans Docker. Cette configuration permet notamment d’exécuter des tâches d’IA comme Ollama, ou tout autre outil GPU, dans vos conteneurs.
Vous pouvez bien évidement utiliser la carte graphique simultanément sur plusieurs LXC et plusieurs Dockers
Points essentiels :
Vérifiez toujours que le pilote NVIDIA de l’hôte Proxmox est correctement installé et que nvidia-smi fonctionne.
Le conteneur LXC doit être privilégié et autoriser l’accès aux périphériques nvidia* et nvidia-caps.
Le runtimenvidia-container-runtime est indispensable pour Docker.
Adaptez les versions de driver et de paquets à vos besoins matériels et logiciels.
8. 🔎 Debugging
8.1. Dans le cas ou ça à marché mais ça ne marche plus :
Dans le cas ou ça à marché mais ça ne marche plus et que vous voyez dans les logs ollama :
time=2025-03-06T18:37:14.645Z level=INFO source=gpu.go:217 msg="looking for compatible GPUs"
time=2025-03-06T16:37:14.671Z level=WARN source=gpu.go:605 msg="unknown error initializing cuda driver library /usr/lib/x86_64-linux-gnu/libcuda.so.550.144.03: cuda driver library init failure: 999. see https://github.com/ollama/ollama/blob/main/docs/troubleshooting.md for more information"
time=2025-03-06T18:37:14.689Z level=INFO source=gpu.go:377 msg="no compatible GPUs were discovered"
time=2025-03-06T16:37:14.689Z level=INFO source=types.go:130 msg="inference compute" id=0 library=cpu variant="" compute="" driver=0.0 name="" total="125.7 GiB" available="123.0 GiB"
Vérifiez à nouveau sur proxmox les numéro majeure des interfaces :
Si vous voyez à nouveau votre GPU, ça devrait fonctionner sans problèmes !
8.2. Dans le cas le driver NVIDIA-Linux-x86_64-550.144.03.run ne veut pas s’installer :
Si vous bloquez dès l’installation de l’exécutable Nvidia, il est fort probable que vous ayez des drivers nvidia deja installé avec le gestionnaire de dépot debian (apt);
Lancez donc ces commandes pour supprimer tous les drivers Nvidia installés :