Results 1 to 7 of 7

Thread: Wireless USB adapter running slowly

  1. Back To Top    #1
    Newbie
    Join Date
    Nov 2014
    Posts
    5
    Threads
    2
    Local Date
    Jun 3rd 2020
    Local Time
    07:23 PM

    Wireless USB adapter running slowly

    Hello there

    I've purchased a wireless USB adapter and although it worked straight away when I plugged it in, I'm only getting a download speed of around 8 Mb/s whereas the same adapter in Windows has a download speed of around 33.5Mb/s. I'm guessing this a driver issue and although the adapter did come with a CD with Windows and Linux drivers, I'm afraid I don't have a clue how to install the Linux ones.

    I'm very new to Linux so need simple instructions please.

    Realtek 8192 chipset
    Kubuntu 18.04

    I'd be very grateful for any advice please.

    Thanks

  2. Back To Top    #2
    Ascendant GreyGeek's Avatar
    Join Date
    Feb 2009
    Posts
    16,481
    Threads
    1169
    Local Date
    Jun 3rd 2020
    Local Time
    01:23 PM
    The rtl8192 wifi driver has several versions. To see what version your system selected open a Konsole and issue
    lshw
    and look for "*network". It will look similar to mine:
    *-network
    description: Wireless interface
    product: AR9462 Wireless Network Adapter
    vendor: Qualcomm Atheros
    physical id: 0
    bus info: pci@0000:0d:00.0
    logical name: wlp13s0
    version: 01
    serial: 44:6d:57:d6:48:88
    width: 64 bits
    clock: 33MHz
    capabilities: bus_master cap_list rom ethernet physical wireless
    configuration: broadcast=yes driver=ath9k driverversion=4.15.0-24-generic firmware=N/A ip=192.168.11.100 latency=0 link=yes multicast=yes wireless=IEEE 802.11
    resources: irq:17 memory:d3500000-d357ffff memory:d3580000-d358ffff
    My atheros AR9462 chip uses the ath9k wifi driver. Your chip will probably use rtl8192xy, where "xy" can be ce, cu, de, ee or se. Perhaps even others. Tell us what driver your chip uses.

  3. Back To Top    #3
    Newbie
    Join Date
    Nov 2014
    Posts
    5
    Threads
    2
    Local Date
    Jun 3rd 2020
    Local Time
    07:23 PM
    Quote Originally Posted by GreyGeek View Post
    The rtl8192 wifi driver has several versions. To see what version your system selected open a Konsole and issue
    lshw
    and look for "*network". It will look similar to mine:

    My atheros AR9462 chip uses the ath9k wifi driver. Your chip will probably use rtl8192xy, where "xy" can be ce, cu, de, ee or se. Perhaps even others. Tell us what driver your chip uses.
    Thanks for your reply GreyGeek

    I'm getting -

    *-network
    description: Wireless interface
    physical id: 1
    bus info: usb@7:1
    logical name: wlx000f005dc744
    serial: 00:0f:00:5d:c7:44
    capabilities: ethernet physical wireless
    configuration: broadcast=yes driver=rtl8xxxu driverversion=4.15.0-24-generic firmware=N/A ip=192.168.0.2 link=yes multicast=yes wireless=IEEE 802.11

    Thanks

  4. Back To Top    #4
    Ascendant GreyGeek's Avatar
    Join Date
    Feb 2009
    Posts
    16,481
    Threads
    1169
    Local Date
    Jun 3rd 2020
    Local Time
    01:23 PM
    Doing a "modinfo rtlxxxu" in a Konsole gave me this:
    Code:
    :~$ modinfo rtl8xxxu
    filename:       /lib/modules/4.15.0-24-generic/kernel/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.ko
    firmware:       rtlwifi/rtl8723bu_bt.bin
    firmware:       rtlwifi/rtl8723bu_nic.bin
    firmware:       rtlwifi/rtl8192eu_nic.bin
    firmware:       rtlwifi/rtl8192cufw_TMSC.bin
    firmware:       rtlwifi/rtl8192cufw_B.bin
    firmware:       rtlwifi/rtl8192cufw_A.bin
    firmware:       rtlwifi/rtl8723aufw_B_NoBT.bin
    firmware:       rtlwifi/rtl8723aufw_B.bin
    firmware:       rtlwifi/rtl8723aufw_A.bin
    license:        GPL
    description:    RTL8XXXu USB mac80211 Wireless LAN Driver
    author:         Jes Sorensen <Jes.Sorensen@gmail.com>
    srcversion:     E7E78FAA920143C9B0CB35A
    alias:          usb:v0BDAp818Cd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2019pAB33d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2357p0107d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v7392p7822d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v4855p0091d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2357p0100d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v20F4p624Dd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2019pAB2Bd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2001p330Ad*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2001p3309d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2001p3307d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0E66p0020d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0E66p0019d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp2E2Ed*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0846pF001d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0846p9021d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v07B8p8178d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v07AAp0056d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0789p016Dd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0DF6p0070d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0DF6p0061d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0B05p17ABd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v06F8pE035d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0586p341Fd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v050Dp2103d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v050Dp2102d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v04BBp0950d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2019p1201d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v04F2pAFFCd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v04F2pAFFBd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v04F2pAFF8d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v04F2pAFFAd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v04F2pAFF9d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v04F2pAFF7d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:vCDABp8010d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v4856p0091d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v4855p0090d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2019pED17d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2019pAB2Ed*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2019pAB2Ad*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2019p4902d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2001p330Bd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v13D3p3357d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v103Cp1629d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0EB0p9071d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0DF6p005Cd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0DF6p0052d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp5088d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp1E1Ed*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0B05p17BAd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0846p9041d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v07B8p8189d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v06F8pE033d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v050Dp1102d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v04BBp094Cd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v1058p0631d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp317Fd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp818Ad*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp817Ed*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp817Dd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp817Bd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp817Ad*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp8177d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp8170d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp8191d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2001p3308d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v20F4p648Bd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v050Dp1004d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v7392p7811d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp817Fd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp8178d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp8176d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDApB720d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2357p0109d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2001p3319d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2357p0108d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp818Bd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp0724d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp1724d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp8724d*dc*dsc*dp*icFFiscFFipFFin*
    depends:        mac80211
    retpoline:      Y
    intree:         Y
    name:           rtl8xxxu
    vermagic:       4.15.0-24-generic SMP mod_unload 
    parm:           debug:Set debug mask (int)
    parm:           ht40_2g:Enable HT40 support on the 2.4GHz band (bool)
    parm:           dma_aggregation:Enable DMA packet aggregation (bool)
    parm:           dma_agg_timeout:Set DMA aggregation timeout (range 1-127) (int)
    parm:           dma_agg_pages:Set DMA aggregation pages (range 1-127, 0 to disable) (int)
    IF you do "lsusb" in a Konsole you will see a listing of all USB devices on your system. Mine looks like this:
    Code:
    :~$ lsusb
    Bus 002 Device 004: ID 04ca:3006 Lite-On Technology Corp. 
    Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
    Bus 001 Device 003: ID 1bcf:2c18 Sunplus Innovation Technology Inc. 
    Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 003: ID 1a40:0101 Terminus Technology Inc. Hub
    Bus 003 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
    Bus 003 Device 007: ID 03f0:0a2a Hewlett-Packard 
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Following the "ID" are two numbers x:y. The x part is the number of the vendor. The y part is the product number. Using the x:y numbers from your lsusb listing scan the device list in the alias section of the modinfo display, like this one:
    alias: usb:v0BDApB720d*dc*dsc*dp*icFFiscFFipFFin*
    The red part is the vendor ID number. The green part is the product number for that vendor.

    The rtl8xxxu driver was tested against those vendor/product number listings. If you can't find your x:y pair in that list then the chances are that your device might not work well with that rtl8xxxu driver. But, you never know for sure, it just may.

    The last part of the modinfo listing contains the adjustible "parms" (parameters), with possible values for each shown following the parm name, which I bolded. The five parms shown in bold are the only things programatically adjustable for that USB wifi device. To set one or more of those five params first create as root the file /etc/modprobe.d/rtl8xxxu.conf. In it place
    options rtl8xxxu hg40_2g=t

    You can add more than one line to change other parms. Notice that hg40_2g has a "(bool)" value, meaning it is a boolean value, either T or F, 1 or 0, or Y or N, but usually T or F (t or f) The "(int)" means that the parm should be given an Integer value. While two of the "int"'s give Integer ranges, the "debug" parm does not. Usually that indicates levels of debug operation, which is often between 0 and 7, inclusive. IF 0 no debug info is shown in the logs. The higner the number the more verbose the info. Setting it to 7 and checking the logs may give you more precise information.

    Having set your "parms" in the file you can now reboot and test your wifi for any changes, good or bad. If things haven't changed for the better edit rtl8xxxu.conf (calling kate from Dolphin) and reverse the changes made, then make new changes and save the file. (Kate will ask for your password). Reboot. Repeat until you get the performance you think you should get, or until you've tried all possible combinations of settings. It is usually a good idea to change one parm at a time, reboot, then test, until you've tested all of them individually, before you start making changes in two or more at a time.

    There is another way to do this without rebooting. It involves the use of the command "sudo modprobe -r rtl8xxxu". Then reinstalling rtl8xxxu using "sudo modprobe rtl8xxxu ht4_2g=t". This method may or may not work. It may remove more than what you want, or not enough of the other modules. You can add more than one parm: "sudo modprobe rtl8xxxu ht4_2g=t dma_aggrigation=t", etc... My experience using the modprobe -r method is that often the attempt is blocked because of "dependencies", causing one to attempt to remove other modules, like mac80211.

  5. Back To Top    #5
    Newbie
    Join Date
    Nov 2014
    Posts
    5
    Threads
    2
    Local Date
    Jun 3rd 2020
    Local Time
    07:23 PM
    Quote Originally Posted by GreyGeek View Post
    Doing a "modinfo rtlxxxu" in a Konsole gave me this:
    Code:
    :~$ modinfo rtl8xxxu
    filename:       /lib/modules/4.15.0-24-generic/kernel/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.ko
    firmware:       rtlwifi/rtl8723bu_bt.bin
    firmware:       rtlwifi/rtl8723bu_nic.bin
    firmware:       rtlwifi/rtl8192eu_nic.bin
    firmware:       rtlwifi/rtl8192cufw_TMSC.bin
    firmware:       rtlwifi/rtl8192cufw_B.bin
    firmware:       rtlwifi/rtl8192cufw_A.bin
    firmware:       rtlwifi/rtl8723aufw_B_NoBT.bin
    firmware:       rtlwifi/rtl8723aufw_B.bin
    firmware:       rtlwifi/rtl8723aufw_A.bin
    license:        GPL
    description:    RTL8XXXu USB mac80211 Wireless LAN Driver
    author:         Jes Sorensen <Jes.Sorensen@gmail.com>
    srcversion:     E7E78FAA920143C9B0CB35A
    alias:          usb:v0BDAp818Cd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2019pAB33d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2357p0107d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v7392p7822d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v4855p0091d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2357p0100d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v20F4p624Dd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2019pAB2Bd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2001p330Ad*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2001p3309d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2001p3307d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0E66p0020d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0E66p0019d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp2E2Ed*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0846pF001d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0846p9021d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v07B8p8178d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v07AAp0056d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0789p016Dd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0DF6p0070d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0DF6p0061d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0B05p17ABd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v06F8pE035d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0586p341Fd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v050Dp2103d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v050Dp2102d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v04BBp0950d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2019p1201d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v04F2pAFFCd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v04F2pAFFBd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v04F2pAFF8d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v04F2pAFFAd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v04F2pAFF9d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v04F2pAFF7d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:vCDABp8010d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v4856p0091d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v4855p0090d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2019pED17d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2019pAB2Ed*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2019pAB2Ad*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2019p4902d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2001p330Bd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v13D3p3357d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v103Cp1629d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0EB0p9071d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0DF6p005Cd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0DF6p0052d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp5088d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp1E1Ed*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0B05p17BAd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0846p9041d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v07B8p8189d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v06F8pE033d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v050Dp1102d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v04BBp094Cd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v1058p0631d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp317Fd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp818Ad*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp817Ed*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp817Dd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp817Bd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp817Ad*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp8177d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp8170d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp8191d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2001p3308d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v20F4p648Bd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v050Dp1004d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v7392p7811d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp817Fd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp8178d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp8176d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDApB720d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2357p0109d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2001p3319d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v2357p0108d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp818Bd*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp0724d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp1724d*dc*dsc*dp*icFFiscFFipFFin*
    alias:          usb:v0BDAp8724d*dc*dsc*dp*icFFiscFFipFFin*
    depends:        mac80211
    retpoline:      Y
    intree:         Y
    name:           rtl8xxxu
    vermagic:       4.15.0-24-generic SMP mod_unload 
    parm:           debug:Set debug mask (int)
    parm:           ht40_2g:Enable HT40 support on the 2.4GHz band (bool)
    parm:           dma_aggregation:Enable DMA packet aggregation (bool)
    parm:           dma_agg_timeout:Set DMA aggregation timeout (range 1-127) (int)
    parm:           dma_agg_pages:Set DMA aggregation pages (range 1-127, 0 to disable) (int)
    IF you do "lsusb" in a Konsole you will see a listing of all USB devices on your system.

    Mine looks like this:
    Code:
    :~$ lsusb
    Bus 002 Device 004: ID 04ca:3006 Lite-On Technology Corp. 
    Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
    Bus 001 Device 003: ID 1bcf:2c18 Sunplus Innovation Technology Inc. 
    Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 003: ID 1a40:0101 Terminus Technology Inc. Hub
    Bus 003 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
    Bus 003 Device 007: ID 03f0:0a2a Hewlett-Packard 
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Following the "ID" are two numbers x:y. The x part is the number of the vendor. The y part is the product number. Using the x:y numbers from your lsusb listing scan the device list in the alias section of the modinfo display, like this one:
    alias: usb:v0BDApB720d*dc*dsc*dp*icFFiscFFipFFin*
    The red part is the vendor ID number. The green part is the product number for that vendor.



    The rtl8xxxu driver was tested against those vendor/product number listings. If you can't find your x:y pair in that list then the chances are that your device might not work well with that rtl8xxxu driver. But, you never know for sure, it just may.

    The last part of the modinfo listing contains the adjustible "parms" (parameters), with possible values for each shown following the parm name, which I bolded. The five parms shown in bold are the only things programatically adjustable for that USB wifi device. To set one or more of those five params first create as root the file /etc/modprobe.d/rtl8xxxu.conf. In it place
    options rtl8xxxu hg40_2g=t

    You can add more than one line to change other parms. Notice that hg40_2g has a "(bool)" value, meaning it is a boolean value, either T or F, 1 or 0, or Y or N, but usually T or F (t or f) The "(int)" means that the parm should be given an Integer value. While two of the "int"'s give Integer ranges, the "debug" parm does not. Usually that indicates levels of debug operation, which is often between 0 and 7, inclusive. IF 0 no debug info is shown in the logs. The higner the number the more verbose the info. Setting it to 7 and checking the logs may give you more precise information.

    Having set your "parms" in the file you can now reboot and test your wifi for any changes, good or bad. If things haven't changed for the better edit rtl8xxxu.conf (calling kate from Dolphin) and reverse the changes made, then make new changes and save the file. (Kate will ask for your password). Reboot. Repeat until you get the performance you think you should get, or until you've tried all possible combinations of settings. It is usually a good idea to change one parm at a time, reboot, then test, until you've tested all of them individually, before you start making changes in two or more at a time.

    There is another way to do this without rebooting. It involves the use of the command "sudo modprobe -r rtl8xxxu". Then reinstalling rtl8xxxu using "sudo modprobe rtl8xxxu ht4_2g=t". This method may or may not work. It may remove more than what you want, or not enough of the other modules. You can add more than one parm: "sudo modprobe rtl8xxxu ht4_2g=t dma_aggrigation=t", etc... My experience using the modprobe -r method is that often the attempt is blocked because of "dependencies", causing one to attempt to remove other modules, like mac80211.
    Many thanks for that. Much appreciated.

    I'm about to leave for work but will follow your advice this evening. Thanks again.

  6. Back To Top    #6
    Newbie
    Join Date
    Nov 2014
    Posts
    5
    Threads
    2
    Local Date
    Jun 3rd 2020
    Local Time
    07:23 PM
    Hi GreyGeek

    That worked perfectly. For the record it was a combination of ht40_2g and dma_aggregation that sorted the problem.

    I'm very grateful. Thanks

  7. Back To Top    #7
    Ascendant GreyGeek's Avatar
    Join Date
    Feb 2009
    Posts
    16,481
    Threads
    1169
    Local Date
    Jun 3rd 2020
    Local Time
    01:23 PM
    That's what the folks here on KFN are for! We help each other!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •