Skip to content
This repository has been archived by the owner on Jun 20, 2019. It is now read-only.

Commit

Permalink
Migrate to staging driver
Browse files Browse the repository at this point in the history
The driver is available upstream now in the linux-next tree, in
the staging drivers section. All tests, bug reports should be
made to the linux-wireless mailing-list, using this upstream driver.

Consider the existence of this GitHub repository as historical
documentation. Patches that were shipped as part of this repository have
mostly been subsided and obsoleted by upstream kernel fixes.

Support for Bluetooth, and the firmware files are also in the process
of being made available upstream, and will be removed when that happens.
  • Loading branch information
hadess committed Apr 12, 2017
1 parent db2c4f6 commit 3bb1d33
Show file tree
Hide file tree
Showing 185 changed files with 22 additions and 110,320 deletions.
11 changes: 0 additions & 11 deletions Kconfig

This file was deleted.

229 changes: 0 additions & 229 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,233 +1,4 @@
EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS)
EXTRA_CFLAGS += -O1
#EXTRA_CFLAGS += -O3
EXTRA_CFLAGS += -Wall
#EXTRA_CFLAGS += -Wextra
#EXTRA_CFLAGS += -Werror
#EXTRA_CFLAGS += -pedantic
#EXTRA_CFLAGS += -Wshadow -Wpointer-arith -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes

EXTRA_CFLAGS += -I$(src)/include -I$(src)/hal -g

ccflags-y += -D__CHECK_ENDIAN__

#EXTRA_LDFLAGS += --strip-debug

########################## Features ###########################
CONFIG_HW_PWRP_DETECTION = n
CONFIG_INTEL_WIDI = n
CONFIG_EXT_CLK = n
CONFIG_CALIBRATE_TX_POWER_BY_REGULATORY = n
CONFIG_CALIBRATE_TX_POWER_TO_MAX = n
CONFIG_ODM_ADAPTIVITY = n
CONFIG_SKIP_SIGNAL_SCALE_MAPPING = n
######################## Wake On Lan ##########################
CONFIG_WOWLAN = n
CONFIG_GPIO_WAKEUP = n
CONFIG_PNO_SUPPORT = n
CONFIG_PNO_SET_DEBUG = n
CONFIG_AP_WOWLAN = n
###################### Platform Related #######################
CONFIG_PLATFORM_I386_PC = y
###############################################################

########### COMMON #################################

_OS_INTFS_FILES := os_dep/osdep_service.o \
os_dep/os_intfs.o \
os_dep/sdio_intf.o \
os_dep/sdio_ops_linux.o \
os_dep/ioctl_linux.o \
os_dep/xmit_linux.o \
os_dep/mlme_linux.o \
os_dep/recv_linux.o \
os_dep/ioctl_cfg80211.o \
os_dep/wifi_regd.o \
os_dep/rtw_proc.o \
os_dep/sdio_ops_linux.o

_HAL_INTFS_FILES := hal/hal_intf.o \
hal/hal_com.o \
hal/hal_com_phycfg.o \
hal/hal_btcoex.o \
hal/hal_sdio.o

_OUTSRC_FILES := hal/odm_debug.o \
hal/odm_HWConfig.o\
hal/odm.o\
hal/HalPhyRf.o\
hal/odm_EdcaTurboCheck.o\
hal/odm_DIG.o\
hal/odm_PathDiv.o\
hal/odm_DynamicBBPowerSaving.o\
hal/odm_DynamicTxPower.o\
hal/odm_CfoTracking.o\
hal/odm_NoiseMonitor.o

EXTRA_CFLAGS += -I$(src)/hal/OUTSRC-BTCoexist
_OUTSRC_FILES += \
hal/HalBtc8723b1Ant.o \
hal/HalBtc8723b2Ant.o

########### HAL_RTL8723B #################################
MODULE_NAME = r8723bs

_HAL_INTFS_FILES += hal/HalPwrSeqCmd.o \
hal/Hal8723BPwrSeq.o

_HAL_INTFS_FILES += hal/rtl8723b_hal_init.o \
hal/rtl8723b_phycfg.o \
hal/rtl8723b_rf6052.o \
hal/rtl8723b_dm.o \
hal/rtl8723b_rxdesc.o \
hal/rtl8723b_cmd.o \

_HAL_INTFS_FILES += \
hal/sdio_halinit.o \
hal/rtl8723bs_xmit.o \
hal/rtl8723bs_recv.o

_HAL_INTFS_FILES += hal/sdio_ops.o

_OUTSRC_FILES += hal/HalHWImg8723B_BB.o\
hal/HalHWImg8723B_MAC.o\
hal/HalHWImg8723B_RF.o\
hal/odm_RegConfig8723B.o\
hal/HalPhyRf_8723B.o\
hal/odm_RTL8723B.o

########### END OF PATH #################################


ifeq ($(CONFIG_HW_PWRP_DETECTION), y)
EXTRA_CFLAGS += -DCONFIG_HW_PWRP_DETECTION
endif

ifeq ($(CONFIG_INTEL_WIDI), y)
EXTRA_CFLAGS += -DCONFIG_INTEL_WIDI
endif

ifeq ($(CONFIG_EXT_CLK), y)
EXTRA_CFLAGS += -DCONFIG_EXT_CLK
endif

ifeq ($(CONFIG_CALIBRATE_TX_POWER_BY_REGULATORY), y)
EXTRA_CFLAGS += -DCONFIG_CALIBRATE_TX_POWER_BY_REGULATORY
endif

ifeq ($(CONFIG_CALIBRATE_TX_POWER_TO_MAX), y)
EXTRA_CFLAGS += -DCONFIG_CALIBRATE_TX_POWER_TO_MAX
endif

ifeq ($(CONFIG_ODM_ADAPTIVITY), y)
EXTRA_CFLAGS += -DCONFIG_ODM_ADAPTIVITY
endif

ifeq ($(CONFIG_SKIP_SIGNAL_SCALE_MAPPING), y)
EXTRA_CFLAGS += -DCONFIG_SKIP_SIGNAL_SCALE_MAPPING
endif

ifeq ($(CONFIG_WOWLAN), y)
EXTRA_CFLAGS += -DCONFIG_WOWLAN
endif

ifeq ($(CONFIG_AP_WOWLAN), y)
EXTRA_CFLAGS += -DCONFIG_AP_WOWLAN
endif

ifeq ($(CONFIG_PNO_SUPPORT), y)
EXTRA_CFLAGS += -DCONFIG_PNO_SUPPORT
ifeq ($(CONFIG_PNO_SET_DEBUG), y)
EXTRA_CFLAGS += -DCONFIG_PNO_SET_DEBUG
endif
endif

ifeq ($(CONFIG_GPIO_WAKEUP), y)
EXTRA_CFLAGS += -DCONFIG_GPIO_WAKEUP
endif

ifeq ($(CONFIG_PLATFORM_I386_PC), y)
SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ | sed -e s/armv7l/arm/)
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?=
KVER := $(shell uname -r)
KSRC := /lib/modules/$(KVER)/build
MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/
INSTALL_PREFIX :=
endif

ifneq ($(KERNELRELEASE),)

rtk_core := core/rtw_cmd.o \
core/rtw_security.o \
core/rtw_debug.o \
core/rtw_io.o \
core/rtw_ioctl_set.o \
core/rtw_ieee80211.o \
core/rtw_mlme.o \
core/rtw_mlme_ext.o \
core/rtw_wlan_util.o \
core/rtw_pwrctrl.o \
core/rtw_rf.o \
core/rtw_recv.o \
core/rtw_sta_mgt.o \
core/rtw_ap.o \
core/rtw_xmit.o \
core/rtw_btcoex.o \
core/rtw_odm.o \
core/rtw_efuse.o

$(MODULE_NAME)-y += $(rtk_core)

$(MODULE_NAME)-$(CONFIG_INTEL_WIDI) += core/rtw_intel_widi.o

$(MODULE_NAME)-y += $(_OS_INTFS_FILES)
$(MODULE_NAME)-y += $(_HAL_INTFS_FILES)
$(MODULE_NAME)-y += $(_OUTSRC_FILES)
$(MODULE_NAME)-y += $(_PLATFORM_FILES)

obj-$(CONFIG_RTL8723BS) := $(MODULE_NAME).o

endif

export CONFIG_RTL8723BS = m

all: modules

modules:
$(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KSRC) M=$(shell pwd) modules

strip:
$(CROSS_COMPILE)strip $(MODULE_NAME).ko --strip-unneeded

install:
install -p -m 644 $(MODULE_NAME).ko $(MODDESTDIR)
@mkdir -p /lib/firmware/rtlwifi/
@cp -n rtl8723bs_nic.bin /lib/firmware/rtlwifi/rtl8723bs_nic.bin
@cp -n rtl8723bs_wowlan.bin /lib/firmware/rtlwifi/rtl8723bs_wowlan.bin
/sbin/depmod -a ${KVER}

uninstall:
rm -f $(MODDESTDIR)/$(MODULE_NAME).ko
/sbin/depmod -a ${KVER}

config_r:
@echo "make config"
/bin/bash script/Configure script/config.in

cppcheck: cppcheck.log

cppcheck.log:
@echo "Creating cppcheck.log"
cppcheck -f --enable=all -Iinclude -Ihal -Ios_dep . 2> cppcheck.log

.PHONY: modules clean

clean:
@rm -fr hal/*/*.mod.c hal/*/*.mod hal/*/*.o hal/*/.*.cmd hal/*/*.ko \
hal/*.mod.c hal/*.mod hal/*.o hal/.*.cmd hal/*.ko \
core/*.mod.c core/*.mod core/*.o core/.*.cmd core/*.ko \
os_dep/*.mod.c os_dep/*.mod os_dep/*.o os_dep/.*.cmd *.ko \
platform/*.mod.c platform/*.mod platform/*.o platform/.*.cmd platform/*.ko \
Module.symvers Module.markers modules.order *.mod.c *.mod *.o .*.cmd *.ko *~ .tmp_versions \
cppcheck.log
45 changes: 22 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,27 @@
# rtl8723bs
Realtek SDIO Wi-Fi driver

## History

This repository originally contained a vendor driver provided by Realtek:
`rtl8723BS_WiFi_linux_v4.3.5.5_12290.20140916_BTCOEX20140507-4E40`

It was then tidied up and had huge chunks of unused code removed by a number
of contributors (see the git history for details), and eventually merged into
the kernel staging tree in time for kernel 4.12-rc1.

## Getting the code

This repository contains the history of the driver cleanup, which is not
available in the upstream-merged driver. Compiling or running the
driver on older kernels is not supported, please ask your distribution to
provide updated kernel packages.

For support running the upstreamed staging driver, please refer to the
[MAINTAINERS](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/MAINTAINERS) file to find where to send requests.

## Tested list (old)

Tested on:
- Onda v975w
- Teclast 3G
Expand All @@ -14,26 +35,4 @@ Tested on:
- Intel Compute Stick STCK1A32WFC
- Lark Ultimate 7i WIN

Do verify that the device is listed under ```/sys/bus/sdio/```

Note that on all those tablets, you will need to apply a few patches because
to the BayTrail SDIO drivers:
http://thread.gmane.org/gmane.linux.kernel.mmc/25081/focus=25087
http://thread.gmane.org/gmane.linux.kernel.mmc/31583
For older kernel than 4.3, you might also need this patch applied:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d31911b9374a76560d2c8ea4aa6ce5781621e81d

You can find these patches in the following directories:
- `patches/` for Kernels < 4.5
- Patch #4a is to be used for kernels < 4.4.0, #4b for kernels >= 4.4.0.
- `patches_4.5/` for kernels >= 4.5

## Install

```
make
sudo make install
sudo depmod -a
sudo modprobe r8723bs
```
And many others.
Loading

0 comments on commit 3bb1d33

Please sign in to comment.