Hi On 2024-03-13, Ping-Ke Shih wrote: > On Wed, 2024-03-13 at 06:49 +0100, Stefan Lippers-Hollmann wrote: > > On 2024-03-13, Bitterblue Smith wrote: > > > Create the new module rtl8192d-common and move some code into it from > > > rtl8192de. Now the rtl8192de driver (PCI) and the new rtl8192du driver > > > (USB) can share some of the code. > > [...] > > > Tested only with RTL8192DU. > > > > > > Signed-off-by: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> > > > > Tested-by: Stefan Lippers-Hollmann <s.l-h@xxxxxx> > > Thanks for the report. Could I know the throughput performance in your side? > Just for a record. The performance is okay - the driver has been working reliably all day long (WPA2SAE and WPA2PSK/ CCMP, 2.4 GHz and 5 GHz, against an ipq8071a+qcn5024+qcn5054 AP running recent OpenWrt). # wpa_cli -i wlxXXXXXXXXXXXX status bssid=XX:XX:XX:XX:XX:XX freq=5260 ssid=XXX id=0 id_str=XXX mode=station wifi_generation=4 pairwise_cipher=CCMP group_cipher=CCMP key_mgmt=WPA2-PSK wpa_state=COMPLETED p2p_device_address=XX:XX:XX:XX:XX:XX address=XX:XX:XX:XX:XX:XX uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX $ iperf3 -c 2a00:XXXX:XXXX:XXXX::XXXX:401 Connecting to host 2a00:XXXX:XXXX:XXXX::XXXX:401, port 5201 [ 5] local 2a00:XXXX:XXXX:XXXX::XXXX:c046 port 33696 connected to 2a00:XXXX:XXXX:XXXX::XXXX:401 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 12.2 MBytes 103 Mbits/sec 0 442 KBytes [ 5] 1.00-2.00 sec 10.6 MBytes 89.1 Mbits/sec 0 498 KBytes [ 5] 2.00-3.00 sec 11.6 MBytes 97.5 Mbits/sec 0 582 KBytes [ 5] 3.00-4.00 sec 11.1 MBytes 93.3 Mbits/sec 0 587 KBytes [ 5] 4.00-5.00 sec 12.0 MBytes 101 Mbits/sec 0 660 KBytes [ 5] 5.00-6.00 sec 11.5 MBytes 96.5 Mbits/sec 0 694 KBytes [ 5] 6.00-7.00 sec 11.1 MBytes 93.3 Mbits/sec 0 694 KBytes [ 5] 7.00-8.00 sec 12.9 MBytes 108 Mbits/sec 0 694 KBytes [ 5] 8.00-9.00 sec 12.4 MBytes 104 Mbits/sec 0 694 KBytes [ 5] 9.00-10.00 sec 12.8 MBytes 107 Mbits/sec 0 694 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 118 MBytes 99.2 Mbits/sec 0 sender [ 5] 0.00-10.02 sec 115 MBytes 96.1 Mbits/sec receiver iperf Done. $ iperf3 -c 2a00:XXXX:XXXX:XXXX::XXXX:401 --reverse Connecting to host 2a00:XXXX:XXXX:XXXX::XXXX:401, port 5201 Reverse mode, remote host 2a00:XXXX:XXXX:XXXX::XXXX:401 is sending [ 5] local 2a00:XXXX:XXXX:XXXX::XXXX:c046 port 57880 connected to 2a00:XXXX:XXXX:XXXX::XXXX:401 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 18.4 MBytes 154 Mbits/sec [ 5] 1.00-2.00 sec 20.5 MBytes 172 Mbits/sec [ 5] 2.00-3.00 sec 20.4 MBytes 171 Mbits/sec [ 5] 3.00-4.00 sec 19.9 MBytes 167 Mbits/sec [ 5] 4.00-5.00 sec 20.2 MBytes 170 Mbits/sec [ 5] 5.00-6.00 sec 21.1 MBytes 177 Mbits/sec [ 5] 6.00-7.00 sec 21.1 MBytes 177 Mbits/sec [ 5] 7.00-8.00 sec 20.9 MBytes 175 Mbits/sec [ 5] 8.00-9.00 sec 20.8 MBytes 174 Mbits/sec [ 5] 9.00-10.00 sec 20.9 MBytes 175 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.03 sec 207 MBytes 173 Mbits/sec 0 sender [ 5] 0.00-10.00 sec 204 MBytes 171 Mbits/sec receiver iperf Done. $ iperf3 -c 2a00:XXXX:XXXX:XXXX::XXXX:401 --bidir Connecting to host 2a00:XXXX:XXXX:XXXX::XXXX:401, port 5201 [ 5] local 2a00:XXXX:XXXX:XXXX::XXXX:c046 port 44960 connected to 2a00:XXXX:XXXX:XXXX::XXXX:401 port 5201 [ 7] local 2a00:XXXX:XXXX:XXXX::XXXX:c046 port 44966 connected to 2a00:XXXX:XXXX:XXXX::XXXX:401 port 5201 [ ID][Role] Interval Transfer Bitrate Retr Cwnd [ 5][TX-C] 0.00-1.00 sec 8.25 MBytes 69.2 Mbits/sec 0 357 KBytes [ 7][RX-C] 0.00-1.00 sec 10.9 MBytes 91.2 Mbits/sec [ 5][TX-C] 1.00-2.00 sec 5.00 MBytes 41.9 Mbits/sec 0 547 KBytes [ 7][RX-C] 1.00-2.00 sec 15.2 MBytes 128 Mbits/sec [ 5][TX-C] 2.00-3.00 sec 2.50 MBytes 21.0 Mbits/sec 0 628 KBytes [ 7][RX-C] 2.00-3.00 sec 16.9 MBytes 142 Mbits/sec [ 5][TX-C] 3.00-4.00 sec 2.62 MBytes 22.0 Mbits/sec 0 674 KBytes [ 7][RX-C] 3.00-4.00 sec 17.6 MBytes 148 Mbits/sec [ 5][TX-C] 4.00-5.00 sec 2.88 MBytes 24.1 Mbits/sec 0 764 KBytes [ 7][RX-C] 4.00-5.00 sec 15.0 MBytes 126 Mbits/sec [ 5][TX-C] 5.00-6.00 sec 1.38 MBytes 11.5 Mbits/sec 0 848 KBytes [ 7][RX-C] 5.00-6.00 sec 11.2 MBytes 94.4 Mbits/sec [ 5][TX-C] 6.00-7.00 sec 1.50 MBytes 12.6 Mbits/sec 0 957 KBytes [ 7][RX-C] 6.00-7.00 sec 11.9 MBytes 99.6 Mbits/sec [ 5][TX-C] 7.00-8.00 sec 4.00 MBytes 33.6 Mbits/sec 0 1.09 MBytes [ 7][RX-C] 7.00-8.00 sec 11.9 MBytes 99.6 Mbits/sec [ 5][TX-C] 8.00-9.00 sec 1.75 MBytes 14.7 Mbits/sec 0 1.20 MBytes [ 7][RX-C] 8.00-9.00 sec 9.75 MBytes 81.8 Mbits/sec [ 5][TX-C] 9.00-10.00 sec 2.75 MBytes 23.1 Mbits/sec 0 1.31 MBytes [ 7][RX-C] 9.00-10.00 sec 10.6 MBytes 89.1 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID][Role] Interval Transfer Bitrate Retr [ 5][TX-C] 0.00-10.00 sec 32.6 MBytes 27.4 Mbits/sec 0 sender [ 5][TX-C] 0.00-10.04 sec 29.4 MBytes 24.5 Mbits/sec receiver [ 7][RX-C] 0.00-10.00 sec 134 MBytes 113 Mbits/sec 0 sender [ 7][RX-C] 0.00-10.04 sec 131 MBytes 109 Mbits/sec receiver iperf Done. $ /sbin/iw dev wlxXXXXXXXXXXXX station dump Station XX:XX:XX:XX:XX:XX (on wlxXXXXXXXXXXXX) inactive time: 0 ms rx bytes: 359255660 rx packets: 241259 tx bytes: 168308006 tx packets: 190031 tx retries: 0 tx failed: 0 beacon loss: 0 rx drop misc: 4 signal: -22 dBm signal avg: -22 dBm tx bitrate: 300.0 MBit/s MCS 15 40MHz short GI tx duration: 0 us rx bitrate: 270.0 MBit/s MCS 15 40MHz rx duration: 0 us authorized: yes authenticated: yes associated: yes preamble: long WMM/WME: yes MFP: no TDLS peer: no DTIM period: 1 beacon interval:100 short slot time:yes connected time: 116 seconds associated at [boottime]: 8521.829s associated at: 1710309820764 ms current time: 1710309936171 ms $ /sbin/iw phy phy1 info Wiphy phy1 wiphy index: 1 max # scan SSIDs: 4 max scan IEs length: 2257 bytes max # sched scan SSIDs: 0 max # match sets: 0 RTS threshold: 2347 Retry short limit: 7 Retry long limit: 4 Coverage class: 0 (up to 0m) Device supports RSN-IBSS. Supported Ciphers: * WEP40 (00-0f-ac:1) * WEP104 (00-0f-ac:5) * TKIP (00-0f-ac:2) * CCMP-128 (00-0f-ac:4) * CCMP-256 (00-0f-ac:10) * GCMP-128 (00-0f-ac:8) * GCMP-256 (00-0f-ac:9) * CMAC (00-0f-ac:6) * CMAC-256 (00-0f-ac:13) * GMAC-128 (00-0f-ac:11) * GMAC-256 (00-0f-ac:12) Available Antennas: TX 0 RX 0 Supported interface modes: * IBSS * managed * AP * AP/VLAN * monitor * mesh point * P2P-client * P2P-GO Band 1: Capabilities: 0x186e HT20/HT40 SM Power Save disabled RX HT20 SGI RX HT40 SGI No RX STBC Max AMSDU length: 7935 bytes DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: 16 usec (0x07) HT Max RX data rate: 300 Mbps HT TX/RX MCS rate indexes supported: 0-15, 32 Bitrates (non-HT): * 1.0 Mbps * 2.0 Mbps * 5.5 Mbps * 11.0 Mbps * 6.0 Mbps * 9.0 Mbps * 12.0 Mbps * 18.0 Mbps * 24.0 Mbps * 36.0 Mbps * 48.0 Mbps * 54.0 Mbps Frequencies: * 2412.0 MHz [1] (20.0 dBm) * 2417.0 MHz [2] (20.0 dBm) * 2422.0 MHz [3] (20.0 dBm) * 2427.0 MHz [4] (20.0 dBm) * 2432.0 MHz [5] (20.0 dBm) * 2437.0 MHz [6] (20.0 dBm) * 2442.0 MHz [7] (20.0 dBm) * 2447.0 MHz [8] (20.0 dBm) * 2452.0 MHz [9] (20.0 dBm) * 2457.0 MHz [10] (20.0 dBm) * 2462.0 MHz [11] (20.0 dBm) * 2467.0 MHz [12] (20.0 dBm) * 2472.0 MHz [13] (20.0 dBm) * 2484.0 MHz [14] (disabled) Band 2: Capabilities: 0x186e HT20/HT40 SM Power Save disabled RX HT20 SGI RX HT40 SGI No RX STBC Max AMSDU length: 7935 bytes DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: 16 usec (0x07) HT Max RX data rate: 300 Mbps HT TX/RX MCS rate indexes supported: 0-15, 32 Bitrates (non-HT): * 6.0 Mbps * 9.0 Mbps * 12.0 Mbps * 18.0 Mbps * 24.0 Mbps * 36.0 Mbps * 48.0 Mbps * 54.0 Mbps Frequencies: * 5180.0 MHz [36] (23.0 dBm) * 5200.0 MHz [40] (23.0 dBm) * 5220.0 MHz [44] (23.0 dBm) * 5240.0 MHz [48] (23.0 dBm) * 5260.0 MHz [52] (20.0 dBm) (no IR, radar detection) * 5280.0 MHz [56] (20.0 dBm) (no IR, radar detection) * 5300.0 MHz [60] (20.0 dBm) (no IR, radar detection) * 5320.0 MHz [64] (20.0 dBm) (no IR, radar detection) * 5500.0 MHz [100] (26.0 dBm) (no IR, radar detection) * 5520.0 MHz [104] (26.0 dBm) (no IR, radar detection) * 5540.0 MHz [108] (26.0 dBm) (no IR, radar detection) * 5560.0 MHz [112] (26.0 dBm) (no IR, radar detection) * 5580.0 MHz [116] (26.0 dBm) (no IR, radar detection) * 5600.0 MHz [120] (26.0 dBm) (no IR, radar detection) * 5620.0 MHz [124] (26.0 dBm) (no IR, radar detection) * 5640.0 MHz [128] (26.0 dBm) (no IR, radar detection) * 5660.0 MHz [132] (26.0 dBm) (no IR, radar detection) * 5680.0 MHz [136] (26.0 dBm) (no IR, radar detection) * 5700.0 MHz [140] (26.0 dBm) (no IR, radar detection) * 5745.0 MHz [149] (13.0 dBm) * 5765.0 MHz [153] (13.0 dBm) * 5785.0 MHz [157] (13.0 dBm) * 5805.0 MHz [161] (13.0 dBm) * 5825.0 MHz [165] (13.0 dBm) Supported commands: * new_interface * set_interface * new_key * start_ap * new_station * new_mpath * set_mesh_config * set_bss * authenticate * associate * deauthenticate * disassociate * join_ibss * join_mesh * remain_on_channel * set_tx_bitrate_mask * frame * frame_wait_cancel * set_wiphy_netns * set_channel * probe_client * set_noack_map * register_beacons * start_p2p_device * set_mcast_rate * testmode * connect * disconnect * set_qos_map * set_multicast_to_unicast software interface modes (can always be added): * AP/VLAN * monitor interface combinations are not supported HT Capability overrides: * MCS: ff ff ff ff ff ff ff ff ff ff * maximum A-MSDU length * supported channel width * short GI for 40 MHz * max A-MPDU length exponent * min MPDU start spacing Device supports TX status socket option. Device supports HT-IBSS. Device supports SAE with AUTHENTICATE command Device supports low priority scan. Device supports scan flush. Device supports AP scan. Device supports per-vif TX power setting Driver supports full state transitions for AP/GO clients Driver supports a userspace MPM Device supports configuring vdev MAC-addr on create. max # scan plans: 1 max scan plan interval: -1 max scan plan iterations: 0 Supported TX frame types: * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-device: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 Supported RX frame types: * IBSS: 0x40 0xb0 0xc0 0xd0 * managed: 0x40 0xb0 0xd0 * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * mesh point: 0xb0 0xc0 0xd0 * P2P-client: 0x40 0xd0 * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * P2P-device: 0x40 0xd0 Supported extended features: * [ RRM ]: RRM * [ FILS_STA ]: STA FILS (Fast Initial Link Setup) * [ CONTROL_PORT_OVER_NL80211 ]: control port over nl80211 * [ TXQS ]: FQ-CoDel-enabled intermediate TXQs * [ SCAN_RANDOM_SN ]: use random sequence numbers in scans * [ SCAN_MIN_PREQ_CONTENT ]: use probe request with only rate IEs in scans * [ CONTROL_PORT_NO_PREAUTH ]: disable pre-auth over nl80211 control port support * [ DEL_IBSS_STA ]: deletion of IBSS station support * [ SCAN_FREQ_KHZ ]: scan on kHz frequency support * [ CONTROL_PORT_OVER_NL80211_TX_STATUS ]: tx status for nl80211 control port support * [ POWERED_ADDR_CHANGE ]: can change MAC address while up > > Using the firmware from https://github.com/lwfinger/rtl8192du/, > > it would be great if someone could publish the necessary firmware > > to linux-firmware. > > I can do that after this patchset get merged. Great :) Regards Stefan Lippers-Hollmann