1

I have a problem with my wifi in Ubuntu. It works well in W10 but in Ubuntu there is no a visible adapter. I tried different versions of Ubuntu, now I'm with 20.04.

uname -a

Linux F6-Plus 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

When I execute lspci in terminal there are no information about the network controller.

After that I execute:

echo 1 | sudo tee /sys/bus/pci/rescan

If I execute lspci after that, shows information about the network controler

02:00.0 Network controller: Intel Corporation Wireless 3165 (rev 79)

Still Wi-Fi doesn't work but it seems the controller is there. If I restart and execute lspci there's no information about the network controller again.

I'm very lost I don't know what to do to solve that.

Thanks

Edit1 to add more information

sudo dmesg modprobe iwlwifi && dmesg | grep -e wlp -e iwl

Nothing.

After doing echo 1 | sudo tee /sys/bus/pci/rescan

sudo dmesg modprobe iwlwifi && dmesg | grep -e wlp -e iwl
[  159.974862] iwlwifi 0000:02:00.0: enabling device (0000 -> 0002)
[  159.975268] iwlwifi 0000:02:00.0: HW_REV=0xFFFFFFFF, PCI issues?
[  159.998862] iwlwifi: probe of 0000:02:00.0 failed with error -5
dmesg | grep 02:00
[    4.545917] Goodix-TS i2c-GDIX1002:00: i2c-GDIX1002:00 supply AVDD28 not found, using dummy regulator
[    4.545940] Goodix-TS i2c-GDIX1002:00: i2c-GDIX1002:00 supply VDDIO not found, using dummy regulator
[    4.548360] Goodix-TS i2c-GDIX1002:00: i2c test failed attempt 1: -121
[    4.573798] Goodix-TS i2c-GDIX1002:00: i2c test failed attempt 2: -121
[    4.601624] Goodix-TS i2c-GDIX1002:00: I2C communication failure: -121
[    4.601749] Goodix-TS: probe of i2c-GDIX1002:00 failed with error -121
[  159.971421] pci 0000:02:00.0: [8086:3165] type 00 class 0x028000
[  159.971817] pci 0000:02:00.0: reg 0x10: [mem 0x00000000-0x00001fff 64bit]
[  159.972300] pci 0000:02:00.0: Upstream bridge's Max Payload Size set to 128 (was 256, max 256)
[  159.972318] pci 0000:02:00.0: Max Payload Size set to 128 (was 128, max 128)
[  159.973158] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
[  159.974677] pci 0000:02:00.0: BAR 0: assigned [mem 0x80100000-0x80101fff 64bit]
[  159.974862] iwlwifi 0000:02:00.0: enabling device (0000 -> 0002)
[  159.975268] iwlwifi 0000:02:00.0: HW_REV=0xFFFFFFFF, PCI issues?
[  159.998862] iwlwifi: probe of 0000:02:00.0 failed with error -5

Wireless card is solded to the board, it is not external pci adapter.

12
  • Possibly helpful: wireless.wiki.kernel.org/en/users/drivers/…
    – chili555
    Commented Aug 12, 2020 at 18:24
  • I have tried doing that but no difference. Still no adapter when I turn on. @chili555
    – baltuna
    Commented Aug 12, 2020 at 18:44
  • Please clarify. Please turn OFF fast boot within Windows 10 and reboot. Next edit your question to show us: sudo dmesg modprobe iwlwifi && dmesg | grep -e wlp -e iwl Welcome to Ask Ubuntu.
    – chili555
    Commented Aug 12, 2020 at 20:07
  • Edited to add your proposal. And yes I turned OFF fast boot in W10. Thank you for your welcome @chili555
    – baltuna
    Commented Aug 12, 2020 at 20:26
  • Please excuse my mis-step. I should have said: sudo modprobe iwlwifi && dmesg | grep -e wlp -e iwl Please try again. Sorry.
    – chili555
    Commented Aug 12, 2020 at 20:43

1 Answer 1

2

I finally made my adapter work on my Teclast F6 plus.

The key is to update BIOS settings. Here is a configuration that works for me :

BIOS

  • make sure D3Cold is enabled (default configuration is fine)
  • chipset > PCI Express configuration > PCI Express Root Port 2 (this is the one used by the card)
    • Hot plug: enabled
    • Transmitter Half Swing: enabled
    • Extra Bus Reserved: 7

enter image description here

Force PCI rescan

As the OP says, the card is not listed unless a pci rescan is forced.

I set up a small systemd service to enable at start

/opt/pci/rescan.sh

#!/bin/sh

set -e

echo 1 | tee /sys/bus/pci/rescan
lspci | grep 02:00.0

/etc/systemd/system/pci-rescan.service

[Unit]
Description=PCI rescan

[Service]
Type=oneshot
ExecStart=/opt/pci/rescan.sh
RemainAfterExit=true

[Install]
WantedBy=multi-user.target
# setup and enable as root
chmod a+x /opt/pci/rescan.sh
systemctl enable pci-rescan
systemctl start pci-rescan

The interface now appears and I can use it (named wls1 on my Arch system). Using nmcli for instance:

nmcli d wifi connect <SSID> password <password> ifname wls1
1
  • Thank you very much! Now my adapter also works! After lots of months...
    – baltuna
    Commented Mar 28, 2021 at 6:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .