Bonjour,
Je me remets (à mon niveau) à l'Arduino. J'ai un uno qui ne me pose pas de problème. Par contre un compatible nano me crée des soucis.
Depuis la dernière fois j'ai changé de PC et d'OS; d'Ubuntu 20 sur station je suis passé à Mint 21 sur portable. J'avais déjà eu des soucis et je l'avais noté dans mon Wiki. j'ai donc tenté d'appliquer la même procédure.
Déjà l'installation du driver CH340 ne fonctionne pas correctement. J'ai les erreurs suivantes:
Qu'à cela ne tienne, une petite recherche et je pense trouver le correctif ici. J'instyalle et ça semble fonctionner.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 patrick@HP-Victus:~/Téléchargements/CH341SER_LINUX$ sudo make [sudo] Mot de passe de patrick*: make -C /lib/modules/5.19.0-41-generic/build M=/home/patrick/Téléchargements/CH341SER_LINUX make[1]*: on entre dans le répertoire «*/usr/src/linux-headers-5.19.0-41-generic*» warning: the compiler differs from the one used to build the kernel The kernel was built by: x86_64-linux-gnu-gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0 You are using: gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0 CC [M] /home/patrick/Téléchargements/CH341SER_LINUX/ch34x.o /home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c: In function ch34x_close: /home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c:591:9: error: unknown type name wait_queue_t; did you mean wait_event? 591 | wait_queue_t wait; | ^~~~~~~~~~~~ | wait_event /home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c:591:22: warning: unused variable wait [-Wunused-variable] 591 | wait_queue_t wait; | ^~~~ /home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c:590:14: warning: unused variable timeout [-Wunused-variable] 590 | long timeout; | ^~~~~~~ /home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c:589:13: warning: unused variable bps [-Wunused-variable] 589 | int bps; | ^~~ /home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c: At top level: /home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c:1297:27: error: initialization of unsigned int (*)(struct tty_struct *) from incompatible pointer type int (*)(struct tty_struct *) [-Werror=incompatible-pointer-types] 1297 | .write_room = ch34x_write_room, | ^~~~~~~~~~~~~~~~ /home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c:1297:27: note: (near initialization for ch34x_device.write_room) /home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c:1298:28: error: initialization of unsigned int (*)(struct tty_struct *) from incompatible pointer type int (*)(struct tty_struct *) [-Werror=incompatible-pointer-types] 1298 | .chars_in_buffer = ch34x_chars_in_buffer, | ^~~~~~~~~~~~~~~~~~~~~ /home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c:1298:28: note: (near initialization for ch34x_device.chars_in_buffer) cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:257 : /home/patrick/Téléchargements/CH341SER_LINUX/ch34x.o] Erreur 1 make[1]: *** [Makefile:1850 : /home/patrick/Téléchargements/CH341SER_LINUX] Erreur 2 make[1]*: on quitte le répertoire «*/usr/src/linux-headers-5.19.0-41-generic*» make: *** [Makefile:5 : default] Erreur 2
Pour autant, dans mon interface Arduino, que j'installe la version standard (.deb) ou une plus récente (Flathub), ma carte ne me propose aucun port. Il est à noter que j'ai testé de lancer l'IDE en mode privilégié (sudo) sans plus de succès.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 patrick@HP-Victus:~/Téléchargements/CH341SER-master$ sudo make make -C /lib/modules/5.19.0-41-generic/build M=/home/patrick/Téléchargements/CH341SER-master make[1]*: on entre dans le répertoire «*/usr/src/linux-headers-5.19.0-41-generic*» warning: the compiler differs from the one used to build the kernel The kernel was built by: x86_64-linux-gnu-gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0 You are using: gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0 CC [M] /home/patrick/Téléchargements/CH341SER-master/ch34x.o MODPOST /home/patrick/Téléchargements/CH341SER-master/Module.symvers CC [M] /home/patrick/Téléchargements/CH341SER-master/ch34x.mod.o LD [M] /home/patrick/Téléchargements/CH341SER-master/ch34x.ko BTF [M] /home/patrick/Téléchargements/CH341SER-master/ch34x.ko Skipping BTF generation for /home/patrick/Téléchargements/CH341SER-master/ch34x.ko due to unavailability of vmlinux make[1]*: on quitte le répertoire «*/usr/src/linux-headers-5.19.0-41-generic*» patrick@HP-Victus:~/Téléchargements/CH341SER-master$ sudo make load modprobe usbserial insmod ch34x.ko patrick@HP-Victus:~/Téléchargements/CH341SER-master$ sudo make unload rmmod ch34x patrick@HP-Victus:~/Téléchargements/CH341SER-master$ sudo kmodsign sha512 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der ./ch34x.ko patrick@HP-Victus:~/Téléchargements/CH341SER-master$ sudo make load modprobe usbserial insmod ch34x.ko
Malgré tout ma carte est bien reliée:
Je pense que l'installation de mon driver n'est pas bonne car ma device /dev/ttyUSB0 n'est pas trouvée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 patrick@HP-Victus:~/Téléchargements/CH341SER-master$ lsusb Bus 004 Device 002: ID 0781:5583 SanDisk Corp. Ultra Fit Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 005: ID 1a86:7523 QinHeng Electronics CH340 serial converter Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 0bda:2852 Realtek Semiconductor Corp. Bluetooth Radio Bus 001 Device 002: ID 04f2:b735 Chicony Electronics Co., Ltd HP Wide Vision HD Camera Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Il est à noter que sous Windows 11 aucun soucis, ce qui élimine une défaillance de la carte.
Avez-vous une idée, une piste ?
Je suis sous Mint 21.2, bureau Cinnamon, IDE Arduino 2.1.0 - CLI version 0.32.2
Merci d'avance.
Partager