Updated per guidance from Andriy Voskoboinyk from D15692
Attached Tx code to rtl8192ce, deleted rtl8188ee Tx code
Removed redundant r88ee_fw_download function
Removed redundant r88ee_reg.h registers
Replaced missing register names from hardcoded values
Minor hex representations
Details
- Reviewers
adrian kevlo avos thj - Group Reviewers
manpages - Commits
- rS342835: MFC r342682:
rS342682: rtwn_pci(4): add support for RTL8188EE chipset.
Load the driver, bring it up, capture frames with tcpdump
Load the driver as follows:
make -C /usr/src/sys/modules/rtwnfw load
make -C /usr/src/sys/modules/rtwn load
make -C /usr/src/sys/modules/rtwn_pci load
This should create an rtwn0 device. Create the wlan0 interface by running:
ifconfig wlan0 create wlandev rtwn0 wlanmode monitor channel 6:g
ifconfig wlan0 up
Adjust the WiFi channel to a local channel. Then I run this command to start
receiving data.
tcpdump -n -i wlan0 -y IEEE802_11_RADIO
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
I retrieved the rtl8188efw.bin firmware from here: https://github.com/lwfinger/rtlwifi_new/tree/master/firmware/rtlwifi
I uuencoded it with the following command:
uuencode rtl8188efw.bin rtwn-rtl8188eefw.fw.uu > rtwn-rtl8188eefw.fw.uu
Hi,
Can you attach next patches with context (like it is described in https://wiki.freebsd.org/action/show/Phabricator?action=show&redirect=CodeReview )
Thanks!
sys/dev/rtwn/rtl8188e/pci/r88ee_attach.c | ||
---|---|---|
158 ↗ | (On Diff #43423) | You can safely drop this comment and CAM_FIXED from here - it's not RTL8192C* |
sys/dev/rtwn/rtl8188e/pci/r88ee_init.c | ||
145 ↗ | (On Diff #43423) | It would be fine to add (macro) names for registers / bitfields if they are (but this can be done later) |
sys/dev/rtwn/rtl8188e/pci/r88ee_tx.c | ||
61 ↗ | (On Diff #43423) | I think, all functions from r92ce_tx.c are fine and can be just reused for this chip too. |
sys/dev/rtwn/rtl8188e/pci/r88ee_tx_desc.h | ||
29 ↗ | (On Diff #43423) | You can just reuse r92ce_tx_desc {} structure here (except there are some different PCIe fields, that you are going to add later) |
sys/dev/rtwn/rtl8188e/r88e_fw.c | ||
132 ↗ | (On Diff #43423) | This one looks like r92c_fw_download_enable(); I think it can be just replaced by it |
Attached Tx methods from rtl8192ce
Summary: Updated per guidance from Andriy Voskoboinyk from D15692
Attached Tx code to rtl8192ce, deleted rtl8188ee Tx code
Removed redundant r88ee_fw_download function
Removed redundant r88ee_reg.h registers
Replaced missing register names from hardcoded values
Minor hex representations
Test Plan: Load the driver, bring it up, capture frames with tcpdump
Load the driver as follows:
make -C /usr/src/sys/modules/rtwnfw load
make -C /usr/src/sys/modules/rtwn load
make -C /usr/src/sys/modules/rtwn_pci load
This should create an rtwn0 device. Create the wlan0 interface by running:
ifconfig wlan0 create wlandev rtwn0 wlanmode monitor channel 6:g
ifconfig wlan0 up
Adjust the WiFi channel to a local channel. Then I run this command to start
receiving data.
tcpdump -n -i wlan0 -y IEEE802_11_RADIO
Known Bug: Changes in r320725 causes the device go not properly come back up when
brought down. Data appears to come in sporadically, then stop.
Reviewers:
Subscribers:
Attached Tx methods from rtl8192ce
Summary: Updated per guidance from Andriy Voskoboinyk from D15692
Attached Tx code to rtl8192ce, deleted rtl8188ee Tx code
Removed redundant r88ee_fw_download function
Removed redundant r88ee_reg.h registers
Replaced missing register names from hardcoded values
Minor hex representations
Test Plan: Load the driver, bring it up, capture frames with tcpdump
Load the driver as follows:
make -C /usr/src/sys/modules/rtwnfw load
make -C /usr/src/sys/modules/rtwn load
make -C /usr/src/sys/modules/rtwn_pci load
This should create an rtwn0 device. Create the wlan0 interface by running:
ifconfig wlan0 create wlandev rtwn0 wlanmode monitor channel 6:g
ifconfig wlan0 up
Adjust the WiFi channel to a local channel. Then I run this command to start
receiving data.
tcpdump -n -i wlan0 -y IEEE802_11_RADIO
Known Bug: Changes in r320725 causes the device go not properly come back up when
brought down. Data appears to come in sporadically, then stop.
Reviewers:
Subscribers:
The previous commit was a diff from the previous diff.
That was a mistake, I am still getting used to the tooling.
This is a diff from HEAD.
sys/dev/rtwn/rtl8188e/pci/r88ee.h | ||
---|---|---|
57 ↗ | (On Diff #43423) | I just realized, I removed r88ee_set_led and r88ee_led.c. |
sys/dev/rtwn/rtl8188e/pci/r88ee_init.c | ||
145 ↗ | (On Diff #43423) | I attempted to search through the Linux and FreeBSD code for a matching register name, but some times I did not find one. Linux uses a lot of hard-coded values. In that situation, what do you suggest I do? |
Fixed a bug in the SRCTOP variable, for some reason it was .SRCTOP with a preceding period character.