Forum Linux.debian/ubuntu compilation Clé Wifi TP-LINK

Posté par  . Licence CC By‑SA.
Étiquettes :
2
6
jan.
2019
Linux version 4.15.0-29-generic (buildd@lgw01-amd64-057) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #31-Ubuntu SMP Tue Jul 17 15:39:52 UTC 2018
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"

Bonjour,
Je ne sais clairement pas si j'ai choisi le bon endroit pour poster ça mais bon je compte sur votre compréhension.

Mon colloque à viré windaube pour un ubuntu sur un vieux pc fix qui n'a pas de carte wifi et trop de couloirs et autre à traverser pour brancher son pc en éthernet et la clé wifi n'est pas reconnue directement par Linux.
Le téléchargement du driver de la clé wifi (TP-LINK Archer T2UH AC600) est un joli dossier de fichiers à compiler soit-même. (Téléchargement du dossier)
J'ai une petite expérience de prog qui me permet de comprendre quelques trucs mais vraiment pas tout.

J'ai essayé de suivre à la lettre ce qui est écrit, mais à mon premier essai de "sudo make", j'ai ceci
1/Driver$ make
make -C UTIL/ osutil
make[1] : on entre dans le répertoire « /home/armel/Documents/Archer_T2U_V1_150901(1)/Archer_T2U_V1_150901/Driver/UTIL »
cp -f os/linux/Makefile.6.util /home/armel/Documents/Archer_T2U_V1_150901(1)/Archer_T2U_V1_150901/Driver/UTIL/os/linux/Makefile
/bin/sh: 1: Syntax error: "(" unexpected
Makefile:527: recipe for target 'osutil' failed
make[1]: *** [osutil] Error 2
make[1] : on quitte le répertoire « /home/armel/Documents/Archer_T2U_V1_150901(1)/Archer_T2U_V1_150901/Driver/UTIL »
Makefile:3: recipe for target 'all' failed
make: *** [all] Error 2

Impossible de comprendre d'où viennent ces erreurs et je galère depuis pas mal de temps…
Si quelqu'un a une quelconque aide à m'apporter, elle serait bienvenue!!!

  • # info complémentaire

    Posté par  . Évalué à 1.

    1/Driver$ lsusb
    Bus 002 Device 002: ID 8087:8000 Intel Corp. 
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 002: ID 8087:8008 Intel Corp. 
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 002: ID 0951:1666 Kingston Technology DataTraveler G4
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 008: ID 148f:761a Ralink Technology, Corp. 
    Bus 003 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
    Bus 003 Device 006: ID 1c4f:0034 SiGma Micro 
    Bus 003 Device 007: ID 0c45:760b Microdia 
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    
  • # infos de debug

    Posté par  . Évalué à 2. Dernière modification le 06 janvier 2019 à 16:29.

    Est-ce que tu as installé les en-tête du noyau (un paquet qui s'appellerait genre linux-header-"version de ton noyau" ?

    En appelant make avec l'option -d, make affichera des infos de debug, ça donnera peut-être une piste.

  • # Nom du dossier ?

    Posté par  (site web personnel) . Évalué à 9.

    Ton dossier s'appelle /home/armel/Documents/Archer_T2U_V1_150901(1) et les parenthèses sont probablement le problème ici (il s'agit de caractères spéciaux). Je t'invite à renommer ton répertoire, ça devrait mieux se passer :

    mv '/home/armel/Documents/Archer_T2U_V1_150901(1)' /home/armel/Documents/Archer_T2U_V1_150901
    

    Néanmoins, le plus simple est probablement de supprimer le répertoire où le début de compilation a eu lieu, et de partir d'une copie de travail propre (moins de risque d'avoir des choses à moitié compilées dedans, et qui font référence à l'ancien chemin).

    Debian Consultant @ DEBAMAX

  • # Enfin me revlà

    Posté par  . Évalué à 1.

    Merci de vos réponses qui me réconforte dans ce dur moment.
    J'ai fini par abandonner cette version d'ubuntu qui n'était pas stable sur cet ordi (v18.04.1), en effet tous les 3-4 démarrages, ça beugait au moment du boot et je devais repartir sur une nouvelle install d'ubuntu… et au final j'ai fini par chopper la dernière version de Mint (Tessa) qui pour le moment à l'air bien stable.
    Par contre aucun mieux du côté de l'install de ce driver, j'ai tenu compte de vos conseils mais maintenant mon make me sort une liste d'erreurs que je crois comprendre mais que j'ai peur de modifier avant un conseil avisé.
    ```
    ~/Bureau/WIFI/Driver$ make
    make -C UTIL/ osutil
    make[1]: Entering directory '/home/arlem/Bureau/WIFI/Driver/UTIL'
    cp -f os/linux/Makefile.6.util /home/arlem/Bureau/WIFI/Driver/UTIL/os/linux/Makefile
    make -C /lib/modules/4.15.0-20-generic/build SUBDIRS=/home/arlem/Bureau/WIFI/Driver/UTIL/os/linux modules
    make[2]: Entering directory '/usr/src/linux-headers-4.15.0-20-generic'
    CC [M] /home/arlem/Bureau/WIFI/Driver/UTIL/os/linux/../../common/rt_os_util.o
    CC [M] /home/arlem/Bureau/WIFI/Driver/UTIL/os/linux/../../os/linux/rt_linux_symb.o
    CC [M] /home/arlem/Bureau/WIFI/Driver/UTIL/os/linux/../../os/linux/rt_rbus_pci_util.o
    CC [M] /home/arlem/Bureau/WIFI/Driver/UTIL/os/linux/../../os/linux/rt_usb_util.o
    /home/arlem/Bureau/WIFI/Driver/UTIL/os/linux/../../os/linux/rt_usb_util.c: In function ‘rausb_fill_bulk_urb’:
    /home/arlem/Bureau/WIFI/Driver/UTIL/os/linux/../../os/linux/rt_usb_util.c:425:68: error: passing argument 6 of ‘usb_fill_bulk_urb’ from incompatible pointer type [-Werror=incompatible-pointer-types]
    usb_fill_bulk_urb(urb, dev, pipe, transfer_buffer, buffer_length, complete_fn, context);
    ~~~~~~~~~~
    In file included from /home/arlem/Bureau/WIFI/Driver/UTIL/include/os/rt_linux.h:40:0,
    from /home/arlem/Bureau/WIFI/Driver/UTIL/include/rtmp_os.h:48,
    from /home/arlem/Bureau/WIFI/Driver/UTIL/include/rtmp_comm.h:62,
    from /home/arlem/Bureau/WIFI/Driver/UTIL/os/linux/../../os/linux/rt_usb_util.c:18:
    ./include/linux/usb.h:1612:20: note: expected ‘usb_complete_t {aka void ()(struct urb *)}’ but argument is of type ‘USB_COMPLETE_HANDLER {aka void ()(void )}’
    static inline void usb_fill_bulk_urb(struct urb *urb,
    ~~~~~~~~~~~~~~~~
    cc1: some warnings being treated as errors
    scripts/Makefile.build:332: recipe for target '/home/arlem/Bureau/WIFI/Driver/UTIL/os/linux/../../os/linux/rt_usb_util.o' failed
    make[3]: *
    * [/home/arlem/Bureau/WIFI/Driver/UTIL/os/linux/../../os/linux/rt_usb_util.o] Error 1
    Makefile:1552: recipe for target 'module/home/arlem/Bureau/WIFI/Driver/UTIL/os/linux' failed
    make[2]: *** [module/home/arlem/Bureau/WIFI/Driver/UTIL/os/linux] Error 2
    make[2]: Leaving directory '/usr/src/linux-headers-4.15.0-20-generic'
    Makefile:527: recipe for target 'osutil' failed
    make[1]: *** [osutil] Error 2
    make[1]: Leaving directory '/home/arlem/Bureau/WIFI/Driver/UTIL'
    Makefile:3: recipe for target 'all' failed
    make: *** [all] Error 2

    ```Merci d'avance à cette belle communauté pour votre aide!

    • [^] # Test RAM

      Posté par  . Évalué à 1.

      Si tes plantages au démarrage étaient aléatoire, teste juste la mémoire au cas ou, avec Memtes86+.

  • # memtest

    Posté par  . Évalué à 1.

    Test avec Memtest86+ impossible, je n'ai qu'un windows à côté pour monter la clé (est-ce le problème? Je ne pense pas!) et impossible de booter sur la clé avec Mint. les ordres de boot sont bien avec "removable device" en premier et impossible de lancer grub au démarrage… c'est bien "shift" qu'il faut maintenir au démarrage non?
    Jcomprends pas là ^
    Mais aucun souci de Boot sur Mint depuis l'installation après une bonne dizaine de démarrages
    Merci en tout cas!!! ;)

  • # Memtest86

    Posté par  . Évalué à 1.

    Enfin Memtest s'est ouvert et résultat, aucune erreur au niveau mémoire…
    Par contre j'ai eu beau farfouiner un peu partout, si je modifie le code, je reporte l'erreur ailleurs et ainsi de suite.
    Quelqu'un peut dl le dossier et me donner un ptit coup de main sur les erreurs de compil?

    make -C UTIL/ osutil
    make[1]: Entering directory '/home/arlem/Bureau/WIFI/Driver/UTIL'
    cp -f os/linux/Makefile.6.util /home/arlem/Bureau/WIFI/Driver/UTIL/os/linux/Makefile
    make -C /lib/modules/4.15.0-20-generic/build SUBDIRS=/home/arlem/Bureau/WIFI/Driver/UTIL/os/linux modules
    make[2]: Entering directory '/usr/src/linux-headers-4.15.0-20-generic'
    CC [M] /home/arlem/Bureau/WIFI/Driver/UTIL/os/linux/../../os/linux/rt_usb_util.o
    /home/arlem/Bureau/WIFI/Driver/UTIL/os/linux/../../os/linux/rt_usb_util.c: In function ‘rausb_fill_bulk_urb’:
    /home/arlem/Bureau/WIFI/Driver/UTIL/os/linux/../../os/linux/rt_usb_util.c:425:68: error: passing argument 6 of ‘usb_fill_bulk_urb’ from incompatible pointer type [-Werror=incompatible-pointer-types]
    usb_fill_bulk_urb(urb, dev, pipe, transfer_buffer, buffer_length, complete_fn, context);
    ^~~~~~~~~~~
    In file included from /home/arlem/Bureau/WIFI/Driver/UTIL/include/os/rt_linux.h:40:0,
    from /home/arlem/Bureau/WIFI/Driver/UTIL/include/rtmp_os.h:48,
    from /home/arlem/Bureau/WIFI/Driver/UTIL/include/rtmp_comm.h:62,
    from /home/arlem/Bureau/WIFI/Driver/UTIL/os/linux/../../os/linux/rt_usb_util.c:18:
    ./include/linux/usb.h:1612:20: note: expected ‘usb_complete_t {aka void (*)(struct urb *)}’ but argument is of type ‘USB_COMPLETE_HANDLER {aka void (*)(void *)}’
    static inline void usb_fill_bulk_urb(struct urb *urb,
    ^~~~~~~~~~~~~~~~~
    cc1: some warnings being treated as errors
    scripts/Makefile.build:332: recipe for target '/home/arlem/Bureau/WIFI/Driver/UTIL/os/linux/../../os/linux/rt_usb_util.o' failed
    make[3]: *** [/home/arlem/Bureau/WIFI/Driver/UTIL/os/linux/../../os/linux/rt_usb_util.o] Error 1
    Makefile:1552: recipe for target '_module_/home/arlem/Bureau/WIFI/Driver/UTIL/os/linux' failed
    make[2]: *** [_module_/home/arlem/Bureau/WIFI/Driver/UTIL/os/linux] Error 2
    make[2]: Leaving directory '/usr/src/linux-headers-4.15.0-20-generic'
    Makefile:527: recipe for target 'osutil' failed
    make[1]: *** [osutil] Error 2
    make[1]: Leaving directory '/home/arlem/Bureau/WIFI/Driver/UTIL'
    Makefile:3: recipe for target 'all' failed
    make: *** [all] Error 2

    • [^] # Patch patch patch

      Posté par  (site web personnel) . Évalué à 1.

      À première vue, cela ressemble beaucoup à un problème classique pour les modules qui ne sont pas intégrés dans le noyau : les structures de données et les fonctions dans le noyau évoluent avec le temps, et les composants inclus dans le noyau sont mis à jour au fur et à mesure.

      (Dans les cas classiques, le module externe pourrait ne pas être au courant des modifications en question, d'où de possibles incompatibilités/erreurs de compilation.)

      Mais pour le coup, il pourrait être question d'un compilateur devenu plus strict avec le temps (cf. l'option -Werror=incompatible-pointer-types)…

      Voici le type attendu par la fonction pour le paramètre en question : typedef void (*usb_complete_t)(struct urb *);

      Voici le type spécifié dans les sources du module externe (./NETIF/include/rt_os_util.h) : typedef VOID (*USB_COMPLETE_HANDLER)(VOID *);

      Tu peux essayer de changer cela en : typedef VOID (*USB_COMPLETE_HANDLER)(struct urb *);

      (qui est plus précis sur le type de pointeur manipulé, void* étant générique)

      Aucune garantie que cela permette de compiler l'ensemble avec succès, mais est-ce que ça peut être pire que la situation actuelle ? :)

      Debian Consultant @ DEBAMAX

  • # driver déjà patché

    Posté par  . Évalué à 1.

    Tu peux essayer avec ce code déjà patché: https://github.com/xtknight/mt7610u-linksys-ae6000-wifi-fixes

    Le driver sur le site de TP Link est à priori trop vieux.

    • [^] # Re: driver déjà patché

      Posté par  (site web personnel) . Évalué à 1.

      Le fichier include/rt_os_util.h semble avoir le même contenu (modulo des commentaires) que celui du driver fourni par TP Link. Si mon analyse (voir commentaire plus haut) est bonne, cela donnera le même problème de compilation ?

      Debian Consultant @ DEBAMAX

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.