Realtek Wifi non funziona su Xubuntu 18.04 LTS

Ho appena installato l’ultima Xubuntu 18.04 LTS sul mio nuovo laptop a basso config acquistato lungo Windows 10 (duel boot). Tutto dell’installazione funzionava bene, ma il Wifi non funziona. A volte (raramente) ero in grado di connettermi al mio router wifi ma la forza della rete è troppa settimana. Il mio laptop usa il driver realtek (potrebbe essere RTL8723BU ) per il wifi. Sta funzionando bene nel sistema di Windows 10. Dal comando inxi -Fxz ho scoperto che la mia scheda di rete non è installata in qualche modo. In Xumuntu ora sono totalmente senza internet. Qui voglio aggiungere che non ho l’opzione LAN cablata in questo laptop.

Come posso risolvere / risolvere questo problema con la scheda wifi / rete?

Ecco l’output di inxi -Fxz

[email protected]:~$ inxi -Fxz System: Host: BUDDY Kernel: 4.15.0-30-generic x86_64 bits: 64 gcc: 7.3.0 Desktop: Xfce 4.12.3 (Gtk 2.24.31) Distro: Ubuntu 18.04.1 LTS Machine: Device: laptop System: Walton product: Prelude R1 serial: N/A Mobo: N/A model: N/A serial: N/A UEFI: American Megatrends v: WH-BI-14-Y116AR120-105-C date: 03/13/2018 CPU: Dual core Intel Celeron N3350 (-MCP-) arch: N/A cache: 1024 KB flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 4377 clock speeds: max: 2400 MHz 1: 869 MHz 2: 861 MHz Graphics: Card: Intel Device 5a85 bus-ID: 00:02.0 Display Server: x11 (X.Org 1.19.6 ) drivers: modesetting (unloaded: fbdev,vesa) Resolution: [email protected] OpenGL: renderer: Mesa DRI Intel HD Graphics 500 (Broxton 2x6) version: 4.5 Mesa 18.0.5 Direct Render: Yes Audio: Card Intel Celeron N3350/Pentium N4200/Atom E3900 Series Audio Cluster driver: snd_hda_intel bus-ID: 00:0e.0 Sound: Advanced Linux Sound Architecture v: k4.15.0-30-generic Network: Card: Failed to Detect Network Card! Drives: HDD Total Size: 1008.2GB (1.2% used) ID-1: /dev/sda model: HGST_HTS541010B7 size: 1000.2GB ID-2: USB /dev/sdb model: Transcend_8GB size: 8.0GB Partition: ID-1: / size: 19G used: 4.6G (27%) fs: ext4 dev: /dev/sda7 ID-2: /home size: 35G used: 51M (1%) fs: ext4 dev: /dev/sda9 ID-3: swap-1 size: 6.14GB used: 0.00GB (0%) fs: swap dev: /dev/sda8 RAID: No RAID devices: /proc/mdstat, md_mod kernel module present Sensors: System Temperatures: cpu: 49.0C mobo: N/A Fan Speeds (in rpm): cpu: N/A Info: Processes: 166 Uptime: 37 min Memory: 397.8/3778.5MB Init: systemd runlevel: 5 Gcc sys: 7.3.0 Client: Shell (bash 4.4.191) inxi: 2.3.56 

Ecco l’output di lspci; lsusb

 00:00.0 Host bridge: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series Host Bridge (rev 0b) 00:00.1 Signal processing controller: Intel Corporation Device 5a8c (rev 0b) 00:02.0 VGA compatible controller: Intel Corporation Device 5a85 (rev 0b) 00:0e.0 Audio device: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series Audio Cluster (rev 0b) 00:0f.0 Communication controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series Trusted Execution Engine (rev 0b) 00:12.0 SATA controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series SATA AHCI Controller (rev 0b) 00:15.0 USB controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series USB xHCI (rev 0b) 00:16.0 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #1 (rev 0b) 00:16.1 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #2 (rev 0b) 00:16.2 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #3 (rev 0b) 00:16.3 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #4 (rev 0b) 00:17.0 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #5 (rev 0b) 00:17.1 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #6 (rev 0b) 00:17.2 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #7 (rev 0b) 00:17.3 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #8 (rev 0b) 00:18.0 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series HSUART Controller #1 (rev 0b) 00:18.1 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series HSUART Controller #2 (rev 0b) 00:18.2 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series HSUART Controller #3 (rev 0b) 00:18.3 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series HSUART Controller #4 (rev 0b) 00:19.0 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series SPI Controller #1 (rev 0b) 00:19.1 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series SPI Controller #2 (rev 0b) 00:19.2 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series SPI Controller #3 (rev 0b) 00:1c.0 SD Host controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series eMMC Controller (rev 0b) 00:1f.0 ISA bridge: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series Low Pin Count Interface (rev 0b) 00:1f.1 SMBus: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series SMBus Controller (rev 0b) Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 005: ID 058f:5608 Alcor Micro Corp. Bus 001 Device 004: ID 0bda:b720 Realtek Semiconductor Corp. Bus 001 Device 003: ID 09da:c10a A4Tech Co., Ltd. Bus 001 Device 002: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller Bus 001 Device 006: ID 058f:6387 Alcor Micro Corp. Flash Drive Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

Ecco l’output di dispositivi usb | awk ‘/ b720 /’ RS =

 T: Bus=01 Lev=01 Prnt=01 Port=06 Cnt=04 Dev#= 4 Spd=480 MxCh= 0 D: Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0bda ProdID=b720 Rev=02.00 S: Manufacturer=Realtek S: Product=802.11n WLAN Adapter S: SerialNumber=00e04c000001 C: #Ifs= 3 Cfg#= 1 Atr=e0 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb I: If#= 2 Alt= 0 #EPs= 6 Cls=ff(vend.) Sub=ff Prot=ff Driver=rtl8xxxu 

il problema esiste ancora dopo aver eseguito il comando e riavviato.

 [email protected]:~$ sudo apt install build-essential dkms [sudo] password for boundule: Reading package lists... Done Building dependency tree Reading state information... Done build-essential is already the newest version (12.4ubuntu1). build-essential set to manually installed. Suggested packages: menu The following packages will be upgraded: dkms 1 upgraded, 0 newly installed, 0 to remove and 18 not upgraded. Need to get 68.0 kB of archives. After this operation, 19.5 kB of additional disk space will be used. Do you want to continue? [Y/n] Y Get:1 http://bd.archive.ubuntu.com/ubuntu bionic-updates/main amd64 dkms all 2.3-3ubuntu9.2 [68.0 kB] Fetched 68.0 kB in 3s (19.6 kB/s) (Reading database ... 185574 files and directories currently installed.) Preparing to unpack .../dkms_2.3-3ubuntu9.2_all.deb ... Unpacking dkms (2.3-3ubuntu9.2) over (2.2.0.3-2ubuntu11) ... Setting up dkms (2.3-3ubuntu9.2) ... Installing new version of config file /etc/dkms/framework.conf ... Installing new version of config file /etc/dkms/template-dkms-mkdeb/debian/control ... Installing new version of config file /etc/kernel/prerm.d/dkms ... Processing triggers for man-db (2.8.3-2) ... [email protected]:~$ git clone https://github.com/lwfinger/rtl8723bu.git Cloning into 'rtl8723bu'... remote: Counting objects: 2438, done. remote: Total 2438 (delta 0), reused 0 (delta 0), pack-reused 2438 Receiving objects: 100% (2438/2438), 7.41 MiB | 63.00 KiB/s, done. Resolving deltas: 100% (1960/1960), done. [email protected]:~$ cd rtl8723bu [email protected]:~/rtl8723bu$ source dkms.conf [email protected]:~/rtl8723bu$ sudo mkdir /usr/src/$PACKAGE_NAME-$PACKAGE_VERSION [email protected]:~/rtl8723bu$ sudo cp -r core hal include os_dep platform dkms.conf Makefile rtl8723b_fw.bin /usr/src/$PACKAGE_NAME-$PACKAGE_VERSION [email protected]:~/rtl8723bu$ sudo dkms add $PACKAGE_NAME/$PACKAGE_VERSION Creating symlink /var/lib/dkms/rtl8723bu/4.3.6.11_12942.20141204_BTCOEX20140507-4E40/source -> /usr/src/rtl8723bu-4.3.6.11_12942.20141204_BTCOEX20140507-4E40 DKMS: add completed. [email protected]:~/rtl8723bu$ sudo dkms autoinstall $PACKAGE_NAME/$PACKAGE_VERSION Kernel preparation unnecessary for this kernel. Skipping... Building module: cleaning build area... make -j2 KERNELRELEASE=4.15.0-30-generic -C /lib/modules/4.15.0-30-generic/build M=/var/lib/dkms/rtl8723bu/4.3.6.11_12942.20141204_BTCOEX20140507-4E40/build.......................... Signing module: Generating a new Secure Boot signing key: Generating a 2048 bit RSA private key ...............................................+++ ...........+++ writing new private key to '/var/lib/shim-signed/mok/MOK.priv' ----- - /var/lib/dkms/rtl8723bu/4.3.6.11_12942.20141204_BTCOEX20140507-4E40/4.15.0-30-generic/x86_64/module/rtl8723bu.ko Secure Boot not enabled on this system. cleaning build area... DKMS: build completed. rtl8723bu.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.15.0-30-generic/updates/dkms/ depmod...... DKMS: install completed. Kernel preparation unnecessary for this kernel. Skipping... Building module: cleaning build area... make -j2 KERNELRELEASE=4.15.0-30-generic -C /lib/modules/4.15.0-30-generic/build M=/var/lib/dkms/rtlwifi-new/0.10/build....(bad exit status: 2) ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/rtlwifi-new-dkms.0.crash' Error! Bad return status for module build on kernel: 4.15.0-30-generic (x86_64) Consult /var/lib/dkms/rtlwifi-new/0.10/build/make.log for more information. [email protected]:~/rtl8723bu$ 

Il dispositivo utilizza il driver 8723bu. Deve essere compilato dal codice sorgente. Con una connessione Internet funzionante via ethernet, collegato o qualsiasi altro mezzo ansible, apri un terminale e fai:

 sudo apt install build-essential dkms git clone https://github.com/lwfinger/rtl8723bu.git cd rtl8723bu source dkms.conf sudo mkdir /usr/src/$PACKAGE_NAME-$PACKAGE_VERSION sudo cp -r core hal include os_dep platform dkms.conf Makefile rtl8723b_fw.bin /usr/src/$PACKAGE_NAME-$PACKAGE_VERSION sudo dkms add $PACKAGE_NAME/$PACKAGE_VERSION sudo dkms autoinstall $PACKAGE_NAME/$PACKAGE_VERSION 

Reboot. Se l’avvio sicuro è abilitato, deve essere disabilitato per caricare un modulo out-of-kernel.

EDIT : Molto spesso, il segnale debole è un sintomo del cavo dell’antenna collegato alla connessione n. 1 sulla scheda quando il driver predefinito si aspetta di vedere il segnale alla connessione n. 2. Ovviamente, è ansible aprire il laptop e passare il filo oppure è ansible aggiungere un parametro del driver che consente la selezione dell’antenna a livello del conducente.

 sudo -i echo “options 8723bu rtw_ant_num=1” > /etc/modprobe.d/8723bu.conf exit 

Reboot.

Se questo è inefficace, ripetere il processo con rtw_ant_num = 2. Reboot.

EDIT 2 : vediamo che il router che preferisci è impostato per utilizzare la crittografia TKIP e la modalità mista WPA e WPA2. Si prega di modificare le impostazioni nel router.

WPA2-AES è preferito; nessuna modalità mista WPA e WPA2 e certamente non TKIP. In secondo luogo, se il tuo router è capace di velocità N, potresti avere una migliore connettività con una larghezza del canale di 20 MHz nella banda a 2,4 GHz anziché automatica a 20/40 MHz, sebbene possa influire sulla velocità N. Ho anche miglior fortuna con un canale fisso, 1, 6 o 11, piuttosto che la selezione automatica dei canali. Inoltre, assicurarsi che il router non sia impostato per utilizzare solo N velocità; l’auto B, G e N è preferito. Dopo aver apportato queste modifiche, riavviare il router.

Successivamente, ti consiglio di impostare il dominio regolamentare in modo esplicito. Controlla il tuo:

 sudo iw reg get 

Se ottieni 00, si tratta di un’impostazione di una dimensione, forse adatta a tutti. Trova il tuo qui: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 quindi imposta temporaneamente:

 sudo iw reg set IS 

Ovviamente, sostituisci il tuo codice paese se non l’Islanda. Impostalo in modo permanente:

 sudo nano /etc/default/crda 

Cambia l’ultima riga da leggere:

 REGDOMAIN=IS 

Correggi attentamente, salva e chiudi l’editor di testo.

Successivamente, proviamo ogni impostazione nel driver che potrebbe essere utile e testare:

 sudo modprobe -r 8723bu sudo modprobe 8723bu rtw_ant_num=2 

Ora prova:

 sudo iwlist scan 

Il tuo router preferito ora ha una potenza migliore? Altrimenti, prova:

 sudo modprobe -r 8723bu sudo modprobe 8723bu rtw_ant_num=3 

Ora prova:

 sudo iwlist scan 

Il tuo router preferito ora ha una potenza migliore? Altrimenti, prova:

 sudo modprobe -r 8723bu sudo modprobe 8723bu rtw_ant_num=1 

… che era l’impostazione originale impostata.

Se nessuno di questi passaggi è utile, ti suggerisco di presentare un problema all’autore del driver qui: https://github.com/lwfinger/rtl8723bu/issues

EDIT 3 : Effettueremo un emendamento al Makefile. Per prima cosa, dobbiamo rimuovere il modulo; successivamente, cambia il Makefile e infine ricostruisci.

Dal terminale:

 sudo dkms remove rtl8723bu/4.3.6.11_12942.20141204_BTCOEX20140507-4E40 --all 

Ora vai nella posizione in cui hai clonato il driver; forse era la tua home directory:

 cd ~/rtl8723bu git pull nano Makefile 

Vai alla riga 21 e cambia questa linea:

 EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE 

Per commentare, in questo modo:

 #EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE 

Correggi attentamente due volte. Salva (Ctrl + o seguito da Invio) ed esci (Ctrl + x) dall’editor di testo.

Ora ricostruisci e installa il driver:

 source dkms.conf sudo mkdir /usr/src/$PACKAGE_NAME-$PACKAGE_VERSION sudo cp -r core hal include os_dep platform dkms.conf Makefile rtl8723b_fw.bin /usr/src/$PACKAGE_NAME-$PACKAGE_VERSION sudo dkms add $PACKAGE_NAME/$PACKAGE_VERSION sudo dkms autoinstall $PACKAGE_NAME/$PACKAGE_VERSION 

Riavvia e dicci se c’è qualche miglioramento.

Dopo un’analisi approfondita con l’aiuto di chili555 e altre fonti diverse, il mio problema è stato risolto seguendo la seguente procedura:

1 ° passo:

 sudo apt install build-essential dkms sudo apt install git git clone https://github.com/lwfinger/rtl8723bu.git sudo apt install libelf-dev 

2 ° passo:

 sudo -i echo blacklist rtl8xxxu >> /etc/modprobe.d/blacklist.conf exit 

Ciò ha assicurato che il vecchio driver non fosse utilizzato per il mio dispositivo. Nel mio caso il driver problematico era rtl8xxxu. Quindi l’ho elencato in nero.

3 ° passo: Ora ho disabilitato una riga nel makefile del nuovo driver, perché senza questo hack, due istanze del chipset wireless sono state mostrate in Network Manager (come nel caso di Modifica 3 di chili555)

 cd rtl8723bu nano Makefile 

Vai alla riga 21 e cambia questa linea:

 EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE 

Per commentare, in questo modo:

 #EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE 

Salva (Ctrl + o seguito da Invio) ed esci (Ctrl + x) dall’editor di testo.

4 ° passaggio: ora crea e installa il driver:

 source dkms.conf sudo mkdir /usr/src/$PACKAGE_NAME-$PACKAGE_VERSION sudo cp -r core hal include os_dep platform dkms.conf Makefile rtl8723b_fw.bin /usr/src/$PACKAGE_NAME-$PACKAGE_VERSION sudo dkms add $PACKAGE_NAME/$PACKAGE_VERSION sudo dkms autoinstall $PACKAGE_NAME/$PACKAGE_VERSION 

5 ° step: Infine, installa il modulo compilato con questo comando:

 make sudo make install 

Riavvia il tuo computer.