Age | Commit message (Collapse) | Author |
|
Tested with Comfast CF-WU710N v4.
"go ahead" deraadt@
OK stsp@
|
|
The RTL8192EU is up to two stream TX/RX (so MCS0->15).
ok stsp@
|
|
|
|
New warning -Warray-parameter is a bit overzealous.
ok millert@ tb@
|
|
- enable Tx/Rx aggregations of individual 802.11 frames on the USB bus
- in urtwn_fw_loadpage(), the maximum block size is 254 bytes rather than
196 bytes
- clear the interrupt status register
- no need to disable BAR for USB devices and set NAV limit
ok stsp@, jmatthew@
|
|
feedback and ok tb@ jmc@ ok ratchov@
|
|
"new" API.
ok dlg@ tobhe@
|
|
dormant in the driver for years, we just needed to insert the IV before
transmission and do packet number checks on received frames.
tested by kevlo@ solene@ benno@ and me on a variety of hardware
ok kevlo@ stsp@
|
|
ok bluhm@
|
|
ok kn@
|
|
it may prevent incorrect mac address read from efuse
- Disable BB/RF is not needed in urtwn_r92c_power_on()
ok stsp@
|
|
in x_media_change(), return the errno from ieee80211_media_change() and
do the error check from x_init().
ok stsp@, jmatthew@, phessler@
|
|
to reset/enable MCU
- there's no need to enable 1.2V power for rtl8192eu
ok jmatthew@
|
|
Based on a diff from Jesper Wallin.
ok jmatthew@, stsp@
|
|
While here sort vendors.
Tested by jmatthew@
ok stsp@, jmatthew@
|
|
These show up with a variety of vendor/product ids, but the driver will
only match those we've tested so far.
help and testing from kevlo@
ok stsp@ kevlo@
|
|
RTL8723AE, like we alreay do for RTL8188C/RTL8192C.
ok jmatthew@
|
|
ok kevlo@ stsp@
|
|
makes it more readable.
ok stsp@ and jmatthew@
|
|
This needs a new firmware image, which should be added to the rtwn
firmware package shortly.
testing and lots of help from kevlo@
ok kevlo@ stsp@
|
|
for rtl8188eu
- Fix typo in structure r92c_rom in comment: s/0x8192/0x8129/
- Add id member to struct r88e_rom which identifies eeprom
- Replace magic numbers with something more readable
- Cosmetic tweaking
ok stsp@
|
|
ok jsg@, stsp@
|
|
Compiler complained:
warning: large integer implicitly truncated to unsigned type
No functional change.
reported by & ok visa@
|
|
- Use R92C_MSR rather than R92C_CR to set media status
- Replace magic numbers with something more readable
ok stsp@
|
|
Tested with TL-WN725N v2 (rtl8188eu) on amd64.
ok stsp@
|
|
ok kettenis@ stsp@
|
|
Tested with 8188CUS, 8188EU, and 8192CU.
|
|
restored device registers from uninitialized memory after calibration.
Bug was hinted at by clang which produced a non-working driver at -O2.
The problem was eventually spotted by jsg@ with gcc 6.3.1.
|
|
It is also declared in rtwnvar.h. No functional change.
|
|
- rename bit definition of R88E_TX_RPT1_ENA to reflect reality
- no need to set R92C_FPGA0_ANAPARAM2 for 40mhz for rtl8188eu
- in rtwn_write_txpower(), writing to MCS8-15 power registers if the WNIC
has 2 spatial streams
ok stsp@
|
|
While here, unwrap some lines which fit 80 columns.
ok kevlo@
|
|
for firmware to get ready. It fixes "urtwn0: could not load firmware page"
while running stsp@'s script: dhclient urtwn0; ifconfig urtwn0 down;
ifconfig urtwn0 scan in a loop.
- Minor cleanup for rtwn_read_rom()/rtwn_get_txpower(); no need to use
callbacks.
Tested by stsp@ and me.
ok stsp@
|
|
From IEEE Std. 802.11-2016, Table 18-5 "ERP characteristics", p. 2332:
aSlotTime characteristic:
If dont11OperatingClassesRequired is false:
Long = 20 us
Short = 9 us
ok stsp@
|
|
- Only set value in R92C_FAST_EDCA_CTRL register if the device is
combo WiFi/Bluetooth; confirmed by Yan-Hsuan Chuan from Realtek
- There's no need to set the default value for the R92C_PIFS since
default value is 0x1c; confirmed by Yan-Hsuan Chuan from Realtek
- Disable usb Rx aggregation mode for rtl8188cu/rtl8192cu;
vendor drivers use DMA Rx aggregation mode for rtl8188cu/rtl8192cu/rtl8188eu
and use USB Rx aggregation mode for later chipsets.
Tested by stsp and me.
ok stsp@
|
|
and urtwn_r88e_dma_init() into one; from FreeBSD r291902.
- Change the way the number of pages for public queue is calculated;
Based on the vendor driver's _InitQueueReservedPage(), the formula for
calculation of the number of pages for public priority queue is as follows:
if the device has 3 endpoints:
PUBQ = total number of Tx pages - HQ - LQ - NQ
if the device has 2 endpoints (i.e. has high and normal priority queues):
PUBQ = total number of Tx pages - HQ - NQ
- Don't write MCS8..MCS15 Tx power if the WNIC is a 1-stream Tx;
- Set R88E_TX_PAGE_COUNT to a correct value;
- Minimal enhancement in urtwn_open_pipes() for upcoming rtl8192eu chipset
support;
Tested with USB-N10 Nano (rtl8188cu), DWA-131 rev B (rtl8192cu), and
TL-WN725N v2 (rtl8188eu) on amd64.
ok stsp@
|
|
rtl8188eu chipset.
- Small code refactoring:
- replace hardcoded rate indexes with their name, like athn(4).
- replace fields offsets with the structure; from FreeBSD r294198.
- be compliant with definitions of the efuse in vendor hal_pg.h and
rename struct r92c_rom member names: s/channel_plan/reserved5/,
s/xtal_calib/channel_plan.
- no need to disable HWPDN twice in urtwn_r88e_power_on().
Tested by stsp@ and myself with RTL8188CUS, RTL8192CU, RTL8188EU, and
RTL8188CE devices.
ok stsp@
|
|
Restore behaviour from before the fix of the botched R92C_USTIME_TSF register
definition. IQ cal code was referring to this register by name, but actually
needs to use the old value. So add a register definition for the old value
under a new name (R92C_BCN_CTRL1) and use this name in the IQ cal code.
Discussed with Kevin Lo
|
|
This diff corrects dmesg to properly show that all others are 1T1R, since right
now it only applies to 8188C and all others incorrectly display 0T0R.
hint & OK stsp@
|
|
currently tests the return value.
ok stsp@
|
|
Works much better than firmware-based rate scaling in my testing.
ok mpi@
|
|
correspond to the flag stored in our stack as ac->ac_acm.
ok mpi@
|
|
Get EDCA params from net80211 instead of hardcoding them.
Enable hardware management of EDCA AC queues.
Handling of frame collisions with EDCA involves random backoffs.
I found a register that looks like a seed for the pseudo-RNG involved in
computing backoffs. Feed it with arc4random() during initialization.
Add a comment to hint at the meaning of numbers written to SIFS registers,
and rename some SIFS registers to better names found in Linux.
ok mpi@
|
|
Fixes 'usbd_do_request: not in process context' warnings introduced recently.
Fix reported and confirmed by Mikhail aka mp39590 aka misha
|
|
short slot time settings.
ok mpi@
|
|
ok tb@ stsp@
|
|
Some bits which probably should have been cleared were never cleared.
Inspired by parts of FreeBSD's giant r307529 commit.
Tested by myself on 8188CE PCI and jca@ on RTL8188RU USB.
|
|
For now this only affects RTL8188EU chips, perhaps because the author of this
patch does not own any devices containing any of the other chips (hint hint).
Patch by misha aka Mikhail / mp39590 at gmail
ok mpi@
|
|
Repairs urtwn(4) on macppc. Problem reported by juanfra@.
ok millert@ deraadt@
|
|
in the file sys/dev/ic/rtwn.c. This reduces kernel bloat and will make it
easier to have both drivers benefit from future enhancements.
ok mpi@
|
|
This mostly copies r88e support code to ic/rtwn.c and moves some functions
which are not trivial to merge with USB counterparts back to pci/if_rtwn.c.
ok mpi@
|