{"id":19840234,"url":"https://github.com/nocapscripts/rtl88x2bu","last_synced_at":"2026-06-04T21:31:37.599Z","repository":{"id":111745561,"uuid":"579422890","full_name":"nocapscripts/rtl88x2bu","owner":"nocapscripts","description":null,"archived":false,"fork":false,"pushed_at":"2022-12-17T16:44:32.000Z","size":5816,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-11T11:29:33.294Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nocapscripts.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-12-17T16:40:44.000Z","updated_at":"2022-12-17T16:44:51.000Z","dependencies_parsed_at":"2023-08-11T22:45:28.618Z","dependency_job_id":null,"html_url":"https://github.com/nocapscripts/rtl88x2bu","commit_stats":null,"previous_names":["redeyescripts/rtl88x2bu","user5435863212362/rtl88x2bu","auserthatnooneknows/rtl88x2bu","reduxscripts/rtl88x2bu","nocapscripts/rtl88x2bu"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nocapscripts%2Frtl88x2bu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nocapscripts%2Frtl88x2bu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nocapscripts%2Frtl88x2bu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nocapscripts%2Frtl88x2bu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nocapscripts","download_url":"https://codeload.github.com/nocapscripts/rtl88x2bu/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241209806,"owners_count":19927737,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T12:26:03.576Z","updated_at":"2025-02-28T19:18:20.977Z","avatar_url":"https://github.com/nocapscripts.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Administrative Note\n\nAs of upstream version 5.6.1, I'm moving away from individual repositories for each upstream version in favor of a single repository with version-based branches.  Hopefully, this will help with clutter and URL consistency moving forward.  The archived repositories are available here:\n* [rtl88x2BU_WiFi_linux_v5.6.1.6_35492.20191025_COEX20180928-6a6a](https://github.com/cilynx/rtl88x2bu/tree/5.6.1.6_35492.20191025_COEX20180928-6a6a)\n* [rtl88x2BU_WiFi_linux_v5.6.1_30362.20181109_COEX20180928-6a6a](https://github.com/cilynx/rtl88x2bu/tree/5.6.1_30362.20181109_COEX20180928-6a6a)\n* [rtl88x2BU_WiFi_linux_v5.3.1_27678.20180430_COEX20180427-5959](https://github.com/cilynx/rtl88x2BU_WiFi_linux_v5.3.1_27678.20180430_COEX20180427-5959)\n* [rtl88x2BU_WiFi_linux_v5.2.4.4_26334.20180126_COEX20171012-5044](https://github.com/cilynx/rtl88x2BU_WiFi_linux_v5.2.4.4_26334.20180126_COEX20171012-5044)\n* [rtl88x2BU_WiFi_linux_v5.2.4.4_25643.20171212_COEX20171012-5044](https://github.com/cilynx/rtl88x2BU_WiFi_linux_v5.2.4.4_25643.20171212_COEX20171012-5044)\n* [rtl88x2BU_WiFi_linux_v5.2.4.1_22719_COEX20170518-4444.20170613](https://github.com/cilynx/rtl88x2BU_WiFi_linux_v5.2.4.1_22719_COEX20170518-4444.20170613)\n\n# Driver for rtl88x2bu wifi adaptors\n\nUpdated driver for rtl88x2bu wifi adaptors based on Realtek's source distributed with myriad adapters.\n\nRealtek's 5.6.1.6 source was found bundled with the [Cudy WU1200 AC1200 High Gain USB Wi-Fi Adapter](https://amzn.to/351ADVq) and can be downloaded from [Cudy's website](http://www.cudytech.com/wu1200_software_download).\n\nBuild confirmed on:\n\n```\nLinux version 5.4.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 9.2.1 20200203 (Debian 9.2.1-28)) #1 SMP Debian 5.4.19-1 (2020-02-13)\n```\n\n## Using and Installing the Driver\n\n### Simple Usage\n\nIn order to make direct use of the driver it should suffice to build the driver\nwith `make` and to load it with `insmod 88x2bu.ko`. This will allow you\nto use the driver directly without changing your system persistently.\n\nIt might happen that your system freezes instantaneously. Ensure to not loose\nimportant work by saving and such beforehand.\n\n### DKMS installation\n\nIf you want to have the driver available at startup, it will be convenient to\nregister it in DKMS. An executable explanation of how to do so can be found in\nthe script `deploy.sh`. Since registering a kernel module in DKMS is a major\nintervention, only execute it if you understand what the script does.\n\n### Unknown Symbol Errors\n\nSome users reported problems due to `Unknown symbol in module`. This can be\ncaused by old deployments of the driver still being present in the systems\ndirectories. One solution reported was to forcefully remove all old driver\nmodules:\n\n    sudo dkms remove rtl88x2bu/5.8.7.4 --all\n    find /lib/modules -name cfg80211.ko -ls\n    sudo rm -f /lib/modules/*/updates/net/wireless/cfg80211.ko\n\n\nThis can also be caused by cfg80211 module not being present in the kernel.\nYou can remedy this by running:\n\n    sudo modprobe cfg80211\n\n### Linux 5.18+ and RTW88 Driver\n\nStarting from Linux 5.18, some distributions have added experimental RTW88 USB\nsupport (include RTW88x2BU support). It is not yet stable but if it works well\non your system, then you no longer need this driver. But if it doesn't work or\nis unstable, you need to manually blacklist it because it has a higher loading\npriority than this external drivers.\n\nCheck the currently loaded module using `lsmod`. If you see `rtw88_core`,\n`rtw88_usb`, or any name beginning with `rtw88_` then you are using the RTW88\ndriver. If you see `88x2bu` then you are using this RTW88x2BU driver.\n\nTo blacklist RTW88 8822bu USB driver, run the following command:\n\n```\necho \"blacklist rtw88_8822bu\" \u003e /etc/modprobe.d/rtw8822bu.conf\n```\n\nAnd reboot your system.\n\n\n### Secure Boot\n\nSecure Boot will prevent the module from loading as it isn't signed. In order\nto check whether you have secure boot enabled, you couly run  `mokutil\n--sb-state`. If you see something like `SecureBoot disabled`, you do not take\nto setup module signing.\n\nIf Secure Boot is enabled on your machine, you either could disable it in BIOS\nor UEFI or you could set up signing the module. How to do so is described\n[here](https://github.com/cilynx/rtl88x2bu/issues/210#issuecomment-1166402943).\n\n\n## Raspberry Pi Access Point\n\n```bash\n# Update all packages per normal\nsudo apt update\nsudo apt upgrade\n\n# Install prereqs\nsudo apt install git dnsmasq hostapd bc build-essential dkms raspberrypi-kernel-headers\n\n# Reboot just in case there were any kernel updates\nsudo reboot\n\n# Pull down the driver source\ngit clone https://github.com/cilynx/rtl88x2bu\ncd rtl88x2bu/\n\n# Configure for RasPi\nsed -i 's/I386_PC = y/I386_PC = n/' Makefile\nsed -i 's/ARM_RPI = n/ARM_RPI = y/' Makefile\n\n# DKMS as above\nVER=$(sed -n 's/\\PACKAGE_VERSION=\"\\(.*\\)\"/\\1/p' dkms.conf)\nsudo rsync -rvhP ./ /usr/src/rtl88x2bu-${VER}\nsudo dkms add -m rtl88x2bu -v ${VER}\nsudo dkms build -m rtl88x2bu -v ${VER} # Takes ~3-minutes on a 3B+\nsudo dkms install -m rtl88x2bu -v ${VER}\n\n# Plug in your adapter then confirm your new interface name\nip addr\n\n# Set a static IP for the new interface (adjust if you have a different interface name or preferred IP)\nsudo tee -a /etc/dhcpcd.conf \u003c\u003cEOF\ninterface wlan1\n    static ip_address=192.168.4.1/24\n    nohook wpa_supplicant\nEOF\n\n# Clobber the default dnsmasq config\nsudo tee /etc/dnsmasq.conf \u003c\u003cEOF\ninterface=wlan1\n  dhcp-range=192.168.4.100,192.168.4.199,255.255.255.0,24h\nEOF\n\n# Configure hostapd\nsudo tee /etc/hostapd/hostapd.conf \u003c\u003cEOF\ninterface=wlan1\ndriver=nl80211\nssid=pinet\nhw_mode=g\nchannel=7\nwmm_enabled=0\nmacaddr_acl=0\nauth_algs=1\nignore_broadcast_ssid=0\nwpa=2\nwpa_passphrase=CorrectHorseBatteryStaple\nwpa_key_mgmt=WPA-PSK\nwpa_pairwise=TKIP\nrsn_pairwise=CCMP\nEOF\n\nsudo sed -i 's|#DAEMON_CONF=\"\"|DAEMON_CONF=\"/etc/hostapd/hostapd.conf\"|' /etc/default/hostapd\n\n# Enable hostapd\nsudo systemctl unmask hostapd\nsudo systemctl enable hostapd\n\n# Reboot to pick up the config changes\nsudo reboot\n```\n\nIf you want 802.11an speeds 144Mbps you could use this config below:\n```\n# Configure hostapd\nsudo tee /etc/hostapd/hostapd.conf \u003c\u003cEOF\ninterface=wlx74ee2ae24062\ndriver=nl80211\nssid=borg\n\nmacaddr_acl=0\nauth_algs=1\nignore_broadcast_ssid=0\nwpa=2\nwpa_passphrase=toe54321\nwpa_key_mgmt=WPA-PSK\nwpa_pairwise=TKIP\nrsn_pairwise=CCMP\n\nhw_mode=a\nchannel=36\nwmm_enabled=1\n\ncountry_code=US\n\nrequire_ht=1\nieee80211ac=1\nrequire_vht=1\n\n#This below is supposed to get us 867Mbps and works on rtl8814au doesn't work on this driver yet\n#vht_oper_chwidth=1\n#vht_oper_centr_freq_seg0_idx=157\n\nieee80211n=1\nieee80211ac=1\nEOF\n\n$ iwconfig\nwlx74ee2ae24062  IEEE 802.11an  ESSID:\"borg\"  Nickname:\"\u003cWIFI@REALTEK\u003e\"\n          Mode:Master  Frequency:5.18 GHz  Access Point: 74:EE:2A:E2:40:62\n          Bit Rate:144.4 Mb/s   Sensitivity:0/0\n          Retry:off   RTS thr:off   Fragment thr:off\n          Power Management:off\n          Link Quality=0/100  Signal level=-100 dBm  Noise level=0 dBm\n          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0\n          Tx excessive retries:0  Invalid misc:0   Missed beacon:0\n\n```\nIf you want to setup\n[masquerading](https://www.raspberrypi.org/documentation/configuration/wireless/access-point-routed.md)\nor\n[bridging](https://www.raspberrypi.org/documentation/configuration/wireless/access-point-bridged.md),\ncheck out the official Raspberry Pi docs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnocapscripts%2Frtl88x2bu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnocapscripts%2Frtl88x2bu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnocapscripts%2Frtl88x2bu/lists"}