Announcement

Collapse
No announcement yet.

Wireless USB adapter running slowly

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    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
    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.
    "A nation that is afraid to let its people judge the truth and falsehood in an open market is a nation that is afraid of its people.”
    – John F. Kennedy, February 26, 1962.

    Comment


      #3
      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

      Comment


        #4
        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:           [B]debug[/B]:Set debug mask (int)
        parm:           [B]ht40_2g[/B]:Enable HT40 support on the 2.4GHz band (bool)
        parm:           [B]dma_aggregation[/B]:Enable DMA packet aggregation (bool)
        parm:           [B]dma_agg_timeout[/B]:Set DMA aggregation timeout (range 1-127) (int)
        parm:           [B]dma_agg_pages[/B]: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.
        "A nation that is afraid to let its people judge the truth and falsehood in an open market is a nation that is afraid of its people.”
        – John F. Kennedy, February 26, 1962.

        Comment


          #5
          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:           [B]debug[/B]:Set debug mask (int)
          parm:           [B]ht40_2g[/B]:Enable HT40 support on the 2.4GHz band (bool)
          parm:           [B]dma_aggregation[/B]:Enable DMA packet aggregation (bool)
          parm:           [B]dma_agg_timeout[/B]:Set DMA aggregation timeout (range 1-127) (int)
          parm:           [B]dma_agg_pages[/B]: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.

          Comment


            #6
            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

            Comment


              #7
              That's what the folks here on KFN are for! We help each other!
              "A nation that is afraid to let its people judge the truth and falsehood in an open market is a nation that is afraid of its people.”
              – John F. Kennedy, February 26, 1962.

              Comment

              Working...
              X