Newsgroup: it.comp.os.linux.iniziare
Titolo: Problema installazione driver Tp-link Archer T2U Plus - AC600

Ho provato ad installare il driver git per l'antenna WiFI indicata ma 
l'installazione non va a buon fine:
 
[CODE]
pclinuxubuntumate@pclinuxubuntumate-local:~$ lsusb
Bus 002 Device 002: ID 05e3:0749 Genesys Logic, Inc. USB3.0 Card Reader
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 009 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 010 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 2357:0120 TP-Link 802.11ac WLAN Adapter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 003: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 005 Device 002: ID 045e:07f8 Microsoft Corp. Wired Keyboard 600 
(model 1576)
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
pclinuxubuntumate@pclinuxubuntumate-local:~$ sudo apt install git dkms
[sudo] password di pclinuxubuntumate:
Riprovare.
[sudo] password di pclinuxubuntumate:
Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze
Lettura informazioni sullo stato... Fatto
dkms è già alla versione più recente (2.8.1-5ubuntu1).
git è già alla versione più recente (1:2.25.1-1ubuntu3).
0 aggiornati, 0 installati, 0 da rimuovere e 0 non aggiornati.
pclinuxubuntumate@pclinuxubuntumate-local:~$ git clone 
https://github.com/jeremyb31/rtl8812AU_8821AU_linux.git
 
Clone in 'rtl8812AU_8821AU_linux' in corso...
remote: Enumerating objects: 1663, done.
remote: Total 1663 (delta 0), reused 0 (delta 0), pack-reused 1663
Ricezione degli oggetti: 100% (1663/1663), 3.84 MiB | 5.20 MiB/s, fatto.
Risoluzione dei delta: 100% (1031/1031), fatto.
pclinuxubuntumate@pclinuxubuntumate-local:~$ cd rtl8812AU_8821AU_linux
pclinuxubuntumate@pclinuxubuntumate-local:~/rtl8812AU_8821AU_linux$ sudo 
make -f Makefile.dkms install
make clean
make[1]: ingresso nella directory 
«/home/pclinuxubuntumate/rtl8812AU_8821AU_linux»
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/5.4.0-56-generic/build 
M=/home/pclinuxubuntumate/rtl8812AU_8821AU_linux clean
make[2]: ingresso nella directory «/usr/src/linux-headers-5.4.0-56-generic»
make[2]: uscita dalla directory «/usr/src/linux-headers-5.4.0-56-generic»
make[1]: uscita dalla directory 
«/home/pclinuxubuntumate/rtl8812AU_8821AU_linux»
mkdir -p '/usr/src/rtl8812au-4.3.14'
cp -r dkms.conf Kconfig Makefile.dkms Makefile platform core hal include 
os_dep '/usr/src/rtl8812au-4.3.14'
cp Makefile '/usr/src/rtl8812au-4.3.14/Makefile'
sed 's/#MODULE_VERSION#/4.3.14/' dkms.conf > 
'/usr/src/rtl8812au-4.3.14/dkms.conf'
dkms add -m rtl8812au -v 4.3.14 2>/dev/null || true
 
Creating symlink /var/lib/dkms/rtl8812au/4.3.14/source ->
                  /usr/src/rtl8812au-4.3.14
 
DKMS: add completed.
dkms build -m rtl8812au -v 4.3.14
 
Kernel preparation unnecessary for this kernel.  Skipping...
 
Building module:
cleaning build area...
make -j4 KERNELRELEASE=5.4.0-56-generic KVER=5.4.0-56-generic.....(bad 
exit status: 2)
ERROR (dkms apport): binary package for rtl8812au: 4.3.14 not found
Error! Bad return status for module build on kernel: 5.4.0-56-generic 
(x86_64)
Consult /var/lib/dkms/rtl8812au/4.3.14/build/make.log for more information.
make: *** [Makefile.dkms:19: build] Errore 10
pclinuxubuntumate@pclinuxubuntumate-local:~/rtl8812AU_8821AU_linux$
[/CODE]
 
/var/lib/dkms/rtl8812au/4.3.14/build/make.log
 
[CODE]
DKMS make.log for rtl8812au-5.3.4 for kernel 5.4.0-56-generic (x86_64)
sab 12 dic 2020, 12:05:47, CET
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/5.4.0-56-generic/build 
M=/var/lib/dkms/rtl8812au/5.3.4/build O="" modules
make[1]: ingresso nella directory «/usr/src/linux-headers-5.4.0-56-generic»
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_cmd.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_security.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_debug.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_io.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_ioctl_query.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_ioctl_set.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_ieee80211.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_mlme.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_mlme_ext.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_mi.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_wlan_util.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_vht.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_pwrctrl.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_rf.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_recv.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_sta_mgt.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_ap.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/mesh/rtw_mesh.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/mesh/rtw_mesh_pathtbl.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/mesh/rtw_mesh_hwmp.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_xmit.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_p2p.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_rson.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_tdls.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_br_ext.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_iol.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_sreset.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_btcoex_wifionly.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_btcoex.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_beamforming.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_odm.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_rm.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_rm_fsm.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/core/efuse/rtw_efuse.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/os_dep/osdep_service.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/os_dep/linux/os_intfs.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/os_dep/linux/usb_intf.o
/var/lib/dkms/rtl8812au/5.3.4/build/os_dep/linux/os_intfs.c:1415:22: 
error: initialization of ‘u16 (*)(struct net_device *, struct sk_buff *, 
struct net_device *)’ {aka ‘short unsigned int (*)(struct net_device *, 
struct sk_buff *, struct net_device *)’} from incompatible pointer type 
‘u16 (*)(struct net_device *, struct sk_buff *, struct net_device *, u16 
(*)(struct net_device *, struct sk_buff *, struct net_device *))’ {aka 
‘short unsigned int (*)(struct net_device *, struct sk_buff *, struct 
net_device *, short unsigned int (*)(struct net_device *, struct sk_buff 
*, struct net_device *))’} [-Werror=incompatible-pointer-types]
  1415 |  .ndo_select_queue = rtw_select_queue,
       |                      ^~~~~~~~~~~~~~~~
/var/lib/dkms/rtl8812au/5.3.4/build/os_dep/linux/os_intfs.c:1415:22: 
note: (near initialization for ‘rtw_netdev_ops.ndo_select_queue’)
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/os_dep/linux/usb_ops_linux.o
   CC [M]  /var/lib/dkms/rtl8812au/5.3.4/build/os_dep/linux/ioctl_linux.o
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:275: 
/var/lib/dkms/rtl8812au/5.3.4/build/os_dep/linux/os_intfs.o] Errore 1
make[2]: *** Attesa per i processi non terminati....
make[1]: *** [Makefile:1757: /var/lib/dkms/rtl8812au/5.3.4/build] Errore 2
make[1]: uscita dalla directory «/usr/src/linux-headers-5.4.0-56-generic»
make: *** [Makefile:1711: modules] Errore 2
[/CODE]
 
Utilizzo Ubuntu Mate 20.04 (aggiornato).
Soluzioni?

 DKMS make.log for rtl8812au-5.3.4 for kernel 5.4.0-56-generic (x86_64)
[...]
 
Versioni di kernel differenti, molto
probabilmente incompatibili.
 
Devi trovare il driver per il kernel
che stai usando.
 
bye,
 
-- 
 
piergiorgio


Non ho proprio idea di come si faccia...
Dove devo cercare e come?
Help.

 Help.
 
Non saprei.
Motore di ricerca preferito.
 
Se il modulo "dkms" e` quello ufficiale
di Ubuntu, allora forse provvederanno
ad aggiornare opportunamente.
 
Una possibilita` e` fare un bug report.
Anche, controllare i but report, magari
c'e` gia` qualcuno che ha notato la cosa.
 
bye,
 
-- 
 
piergiorgio

 (x86_64)
 
Prova con questo:
 
https://github.com/aircrack-ng/rtl8812au
 
 

 
https://github.com/aircrack-ng/rtl8812au
 
 
.. ma prima di tutto questo sbattimento avevi già provato installando il
pacchetto 'rtl8812au-dkms' presente nel repository 'universe' di Focal?
 
 
 


Installato il pacchetto, riavviato PC, non succede nulla. 
Soluzioni/suggerimenti?

 nulla. Soluzioni/suggerimenti?
 
Sì, alcuni.
 
Il primo è di non lasciarti "cadaveri alle spalle" alla fine delle prove
che non hanno sortito successo.
C'è ad esempio questa vecchia discussione che puoi seguire per
verificare la tua situazione e eventualmente ripulire:
 
https://forum.ubuntu-it.org/viewtopic.php?p=5111849
 
 
Tra le altre cose comunque per caricare il modulo come in molte altre
guide suggerisce:
 
sudo modprobe -v 8812au
 
Il linux-headers del kernel è installato?
 
Precedentemente ti avevo anche suggerito:
 
https://github.com/aircrack-ng/rtl8812au
 
 
Hai provato?
 
Poi c'è ad esempio anche questo dove leggo
"Fixed compiler warnings for Ubuntu Focal/GCC 9/kernel 5.4" :
 
https://github.com/gordboy/rtl8812au
 
 
Ora hai in mano molti elementi e puoi fare per tuo conto molte ulteriori
ricerche, che le guide per rtl8812au ce ne sono a bizzeffe, e fare le
prove necessarie per giungere alla soluzione.
 

 
 
Tipo di .ndo_select_queue:
 
u16 (*)(struct net_device *, struct sk_buff *, struct net_device *)
 
tipo di rtw_select_queue:
 
u16 (*)(struct net_device *, struct sk_buff *, struct net_device *, u16 
(*)(struct net_device *, struct sk_buff *, struct net_device *))
 
 
 
Mi sembra piu' sensato il tipo al quale si assegna.
Fai un bel cast selvaggio in
/var/lib/dkms/rtl8812au/5.3.4/build/os_dep/linux/os_intfs.c:1415:22:
 
Questo stralcio di codice:
.ndo_select_queue = rtw_select_queue,
 
Diventerebbe:
.ndo_select_queue = (u16 (*)(struct net_device *, struct sk_buff *, 
struct net_device *))rtw_select_queue,
 
 
E poi buon crash.
 
:-DDD
 


Andiamo per ordine:
$ sudo modprobe -v 8812au
[sudo] password di linuxpc:
insmod /lib/modules/5.4.0-58-generic/kernel/net/wireless/cfg80211.ko
insmod /lib/modules/5.4.0-58-generic/updates/dkms/8812au.ko
modprobe: ERROR: could not insert '8812au': Exec format error
 
Certo è molto seccante per un'antenna ed un driver perdere tanto 
tempo... :(


Perdonami ma non ho capito cosa fare...

 Il linux-headers del kernel è installato?
 
Non lo so. Come verifico?