无法让我的外部/USB wifi 天线 (Alfa AWUS036ACH) 与 Ubuntu 20.04.1 配合使用

无法让我的外部/USB wifi 天线 (Alfa AWUS036ACH) 与 Ubuntu 20.04.1 配合使用

我正在尝试使用外部 wifi 天线。我可以插入它,但它似乎无法启动(天线上没有闪烁的灯)。天线在我妻子的 MacBook 上运行良好。

我的系统是:

$ lsb_release -sd
Ubuntu 20.04.1 LTS
$ uname -a
Linux poulpito 5.4.0-52-generic #57-Ubuntu SMP Thu Oct 15 10:57:00 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

没有双启动,只有这台计算机上的这个操作系统。

硬件连接:

$ lsusb | grep -i wlan
Bus 001 Device 008: ID 0bda:8812 Realtek Semiconductor Corp. RTL8812AU 802.11a/b/g/n/ac 2T2R DB WLAN Adapter

我认为我对司机还算满意:

$ apt list rtl8812au-dkms
rtl8812au-dkms/focal,focal,now 4.3.8.12175.20140902+dfsg-0ubuntu12 all  [installé]
$ dkms status | grep 8812
rtl8812au, 4.3.8.12175.20140902+dfsg, 5.4.0-52-generic, x86_64: installed
$ lsmod | grep 8812
8812au               1290240  0
cfg80211              704512  2 8812au,8821ce

每次我插入天线的 USB 电缆时,都会收到此信息dmesg(我无法真正解释它,但我能读出“找到 USB 设备”):

[ 1737.888170] usb 1-3: New USB device found, idVendor=0bda, idProduct=8812, bcdDevice= 0.00
[ 1737.895453] Modules linked in: rfcomm cmac algif_hash algif_skcipher af_alg bnep binfmt_misc snd_hda_codec_realtek snd_hda_codec_generic ledtrig_audio snd_hda_codec_hdmi snd_hda_intel snd_intel_dspcfg snd_hda_codec snd_hda_core snd_hwdep snd_pcm edac_mce_amd snd_seq_midi snd_seq_midi_event kvm_amd ccp snd_rawmidi kvm crct10dif_pclmul uvcvideo snd_seq ghash_clmulni_intel videobuf2_vmalloc btusb videobuf2_memops amdgpu btrtl videobuf2_v4l2 btbcm videobuf2_common aesni_intel btintel snd_seq_device crypto_simd cryptd glue_helper asus_nb_wmi serio_raw bluetooth videodev asus_wmi hid_multitouch nls_iso8859_1 8812au(OE) sparse_keymap 8821ce(OE) wmi_bmof k10temp snd_timer joydev mc input_leds amd_iommu_v2 gpu_sched ecdh_generic ttm ecc snd cfg80211 drm_kms_helper i2c_algo_bit fb_sys_fops syscopyarea sysfillrect soundcore sysimgblt mac_hid asus_wireless sch_fq_codel parport_pc ppdev lp parport drm ip_tables x_tables autofs4 usbhid hid_generic crc32_pclmul ahci nvme i2c_piix4 libahci r8169 realtek
[ 1737.895589]  ? _rtw_malloc+0x2d/0x2f [8812au]
[ 1737.895622]  ? _rtw_memcpy+0x10/0x12 [8812au]
[ 1737.895657]  ? rtw_5g_rates_init+0x1a/0x1c [8812au]
[ 1737.895690]  ? rtw_spt_band_alloc+0xb0/0xb2 [8812au]
[ 1737.895723]  rtw_wdev_alloc+0xf6/0x29c [8812au]
[ 1737.895755]  rtw_usb_if1_init+0xf0/0x20c [8812au]
[ 1737.895786]  rtw_drv_init+0x246/0x2d3 [8812au]

此时,我相信我应该看到天线上的灯闪烁,并且应该出现 WLAN 接口,但事实并非如此:

$ iwconfig
lo        no wireless extensions.

enp4s0    no wireless extensions.

wlp3s0    IEEE 802.11bgn  ESSID:"giluxphone"  Nickname:"<WIFI@REALTEK>"
      Mode:Managed  Frequency:2.432 GHz  Access Point: 8A:36:5F:BF:0A:B4   
      Bit Rate:72.2 Mb/s   Sensitivity:0/0  
      Retry:off   RTS thr:off   Fragment thr:off
      Power Management:off
      Link Quality=100/100  Signal level=-32 dBm  Noise level=0 dBm
      Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
      Tx excessive retries:0  Invalid misc:0   Missed beacon:0

$ nmcli device status
DEVICE  TYPE      STATE         CONNECTION   
wlp3s0  wifi      connecté      giluxphone 1 
enp4s0  ethernet  indisponible  --           
lo      loopback  non-géré      --           

$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
    link/ether 04:d4:c4:e5:9c:a1 brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether c0:e4:34:1b:80:0b brd ff:ff:ff:ff:ff:ff

(请注意,这wlp3s0是我的内部无线网卡,而不是我尝试使用的外部 USB 天线)。

那么我现在该怎么办?dmesg输出中是否有某些内容表明某些功能不起作用?

对我来说,似乎一切都很好,但我一定错过了一些东西......

答案1

根据评论中@Jeremy31的建议,我删除了通过 apt 安装的驱动程序:

sudo apt purge rtl8812au-dkms

并安装了另一个驱动程序。 Github 上有很多选择,只需搜索“8812au”即可。我选择了 Aircrak-NG 的版本,因为他们的 repo 相当新,而且似乎有更强大的社区支持。

将 repo 克隆到任何地方(无论如何,在 DKMS 安装期间源将被复制到 /usr/src),然后启动 DKMS 安装:

git clone https://github.com/aircrack-ng/rtl8812au.git
cd rtl8812au/
sudo make dkms_install
sudo modprobe 88XXau

现在,当我插入天线时,我可以看到它的蓝色 LED 闪烁,并且有一个代表它的界面:

$ ip link 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
    link/ether 04:d4:c4:e5:9c:a1 brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether c0:e4:34:1b:80:0b brd ff:ff:ff:ff:ff:ff
4: wlx00c0caa8537a: <BROADCAST,MULTICAST> mtu 2312 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:c0:ca:a8:53:7a brd ff:ff:ff:ff:ff:ff

我仍然需要弄清楚如何使该天线优先于内部无线网卡,但这是另一个问题。

答案2

这只是为新手(像我一样!)提供的简短教程,用于在 Linux Debian 及其衍生产品(Debian、Ubuntu、Linux Mint、Pop!OS、Elementary OS 等)上安装 USB Wifi 驱动程序。

当您切换到新的操作系统发行版或更新操作系统或意外删除某些软件时,有时您的 Wifi 驱动程序不受支持/无法工作,并且您的大脑一片空白...是的,没错!

第一步要做:

  1. 您只需要您的智能手机并确保它们具有“互联网移动数据”。
  2. 然后,您需要先在智能手机上打开“开发者选项”来执行此操作。
  3. 打开手机的“设置”,找到“关于手机”,选择“版本号”,然后重复点击七次(7x)。
  4. 在“开发人员选项”中找到它或滚动到“网络”并选择“选择 USB 配置”,然后再次选择“USB 以太网(RNDIS)”。
  5. 此后,您只需将 USB 电缆连接到您的 PC 或笔记本电脑即可,现在您可以上网了!

第二步:

  1. 安装 GDebi(我在 Pop! OS 上使用 Geary,它们是同一款软件)。您可以在 Ubuntu 软件中心找到 GDebi,只需搜索并从那里安装即可。
  2. 然后从 Kali 的存储库安装最新的“realtek-rtl88xxau-dkms”deb 包(主要是更新 - 链接在下面!)。
  3. 此后,只需在您的 Linux 终端中输入“sudo reboot”即可重新启动您的 PC 或笔记本电脑。
  4. 已完成,尝试检查一下!

当我切换到新的操作系统发行版或更新 Linux 内核时,我多次尝试使用此方法。这确实节省了我的时间和工作量!感谢您花时间阅读此文!

来源 :

相关内容