Allwinner A33 Android4.4 RTL8723DS WIFI / BTドライバーのデバッグ

プラットフォーム:Allwinner A33 Android4.4

モジュール:RTL8723DS

インターフェイス:SDIO、uart1(ttyS1)

カーネル:Linux3.4

 

1. 8723dsドライバーをポートし、ドライバーをコンパイルに参加させます

    1.rtl8723dsドライバーのソースコードをlinux-3.4 / drivers / net / Wireless /ディレクトリに配置し、rtl8723dsディレクトリを生成します

ドライバーのダウンロードアドレス:https//download.csdn.net/download/Mrdeath/13744931

注:このドライバーは元のドライバーではありませんが、A33 Android4.4 SDKに適合するように私が変更しました。A33ソースコードには8723dsのソースコードが含まれていないため、sys_config.fexおよびrfディレクトリに8723ds用の電源がありません。コントロールなので、私の移植計画を完全に参照する場合は、必ずこのバージョンのドライバーを使用してください。

    2.構成ファイルを変更して、コンパイルに参加するドライバーを追加します。

      (1)Kconfigファイルを変更します

--git a/lichee/linux-3.4/drivers/net/wireless/Kconfig b/lichee/linux-3.4/drivers/net/wireless/Kconfig
index 33409594d0..0055f4567c 100755
--- a/lichee/linux-3.4/drivers/net/wireless/Kconfig
+++ b/lichee/linux-3.4/drivers/net/wireless/Kconfig
@@ -297,4 +297,5 @@ source "drivers/net/wireless/rtl8189es/Kconfig"
 source "drivers/net/wireless/rtl8723bs/Kconfig"
 source "drivers/net/wireless/rtl8723bu/Kconfig
 source "drivers/net/wireless/esp8089/Kconfig"
+source "drivers/net/wireless/rtl8723ds/Kconfig"
 endif # WLAN

    (2)Makefileを変更します

--git a/lichee/linux-3.4/drivers/net/wireless/Makefile b/lichee/linux-3.4/drivers/net/wireless/Makefile
index 186b119d30..d24cd3cf45 100755
--- a/lichee/linux-3.4/drivers/net/wireless/Makefile
+++ b/lichee/linux-3.4/drivers/net/wireless/Makefile
@@ -30,6 +30,7 @@ obj-$(CONFIG_RTL8189ES) 	+= rtl8189es/
 obj-$(CONFIG_RTL8723BS) 	+= rtl8723bs/
 obj-$(CONFIG_RTL8723BS)     += rtl8723bu/
 obj-$(CONFIG_ESP8089) 		+= esp8089/
+obj-$(CONFIG_RTL8723DS)     += rtl8723ds/
 
 # 16-bit wireless PCMCIA client drivers
 obj-$(CONFIG_PCMCIA_RAYCS)	+= ray_cs.o

    (3).menuconfigのrtl8723dsドライバーを確認し、モジュールとしてコンパイルします

 

上記のコンテンツを構成した後、rtl8723dsドライバーはコンパイルに正しく参加できます。

 

次に、8723dsドライバーを自動的にロードするようにシステムを構成します

    1.BoardConfig.mkを変更します

SW_BOARD_USR_WIFI、BOARD_WLAN_DEVICE、SW_BOARD_HAVE_BLUETOOTH_NAME值改是8723ds

diff --git a/android4.4/device/softwinner/astar-y3/BoardConfig.mk b/android4.4/device/softwinner/astar-y3/BoardConfig.mk
index a2669cdbef..c1d191bae7 100755
--- a/android4.4/device/softwinner/astar-y3/BoardConfig.mk
+++ b/android4.4/device/softwinner/astar-y3/BoardConfig.mk
@@ -27,8 +27,8 @@ ifeq ($(BOARD_WIFI_VENDOR), realtek)
     BOARD_HOSTAPD_DRIVER        := NL80211
     BOARD_HOSTAPD_PRIVATE_LIB   := lib_driver_cmd_rtl
 
-	SW_BOARD_USR_WIFI := rtl8723bu
-	BOARD_WLAN_DEVICE := rtl8723bu
+    SW_BOARD_USR_WIFI := rtl8723ds
+    BOARD_WLAN_DEVICE := rtl8723ds
     
 	#SW_BOARD_USR_WIFI := rtl8188eu
 	#BOARD_WLAN_DEVICE := rtl8188eu
@@ -86,7 +86,7 @@ BOARD_HAVE_BLUETOOTH := true
 #SW_BOARD_HAVE_BLUETOOTH_NAME := ap6330
 BOARD_HAVE_BLUETOOTH_RTK := true
 #BLUETOOTH_HCI_USE_RTK_H5 := true
-SW_BOARD_HAVE_BLUETOOTH_NAME := rtl8723bs
+SW_BOARD_HAVE_BLUETOOTH_NAME := rtl8723ds
 
 # boostup code will on command to set CPU roomage and DDR freq
 # default enable

      2.修改ハードウェア/libhardware_legacy/wifi/Android.mk

diff --git a/android4.4/hardware/libhardware_legacy/wifi/Android.mk b/android4.4/hardware/libhardware_legacy/wifi/Android.mk
index bd89033896..f99f28038d 100755
--- a/android4.4/hardware/libhardware_legacy/wifi/Android.mk
+++ b/android4.4/hardware/libhardware_legacy/wifi/Android.mk
@@ -55,6 +55,12 @@ LOCAL_CFLAGS += -DRTL_8723BU_WIFI_USED
 LOCAL_CFLAGS += -DRTL_WIFI_VENDOR
 endif
 
+#realtek sdio wifi+bt module
+ifeq ($(SW_BOARD_USR_WIFI), rtl8723ds)
+LOCAL_CFLAGS += -DRTL_8723DS_WIFI_USED
+LOCAL_CFLAGS += -DRTL_WIFI_VENDOR
+endif
+
 #espressif sdio wifi module
 ifeq ($(SW_BOARD_USR_WIFI), esp8089)
 LOCAL_CFLAGS += -DESPRESSIF_ESP8089_WIFI_USED

       3.修改ハードウェア/libhardware_legacy/wifi/wifi.c 

diff --git a/android4.4/hardware/libhardware_legacy/wifi/wifi.c b/android4.4/hardware/libhardware_legacy/wifi/wifi.c
index ce32ea4b43..fac4e489c6 100755
--- a/android4.4/hardware/libhardware_legacy/wifi/wifi.c
+++ b/android4.4/hardware/libhardware_legacy/wifi/wifi.c
@@ -116,6 +116,18 @@ static char primary_iface[PROPERTY_VALUE_MAX];
     #define WIFI_DRIVER_MODULE_ARG          "ifname=wlan0 if2name=p2p0"
     #endif
 
+#elif defined RTL_8723DS_WIFI_USED
+    /* rtl8723DS sdio+bt wifi */
+    #ifndef WIFI_DRIVER_MODULE_PATH
+    #define WIFI_DRIVER_MODULE_PATH         "/system/vendor/modules/8723ds.ko"
+    #endif
+    #ifndef WIFI_DRIVER_MODULE_NAME
+    #define WIFI_DRIVER_MODULE_NAME         "8723ds"
+    #endif
+    #ifndef WIFI_DRIVER_MODULE_ARG
+    #define WIFI_DRIVER_MODULE_ARG          "ifname=wlan0 if2name=p2p0"
+    #endif
+
 #elif defined ESPRESSIF_ESP8089_WIFI_USED
     /* esp8089 sdio wifi */
     #ifndef WIFI_DRIVER_MODULE_PATH

   コンパイルされたkoファイルをandroid4.4 / device / softwinner / astar-y3 / modules / modules /ディレクトリに追加します。    

   上記を追加すると、システムの電源を入れた後、8723.koドライバーを自動的にロードできます。具体的なロードプロセスについては説明しません。これは、koファイルのロードの簡単な紹介です。intwifi_load_driver()は、hardware / libhardware_legacy / wifi / wifi.cの下にあり、対応するwifiドライバーをロードします。

 

3つ目は、fwとconfigファームウェアを追加する

   1.astar_y3.mkを変更します

--- a/android4.4/device/softwinner/astar-y3/astar_y3.mk
+++ b/android4.4/device/softwinner/astar-y3/astar_y3.mk
@@ -71,6 +71,9 @@ PRODUCT_COPY_FILES += \
 #$(call inherit-product-if-exists, hardware/broadcom/wlan/firmware/ap6210/device-bcm.mk)
 #$(call inherit-product-if-exists, hardware/broadcom/wlan/firmware/ap6330/device-bcm.mk)
 
+#rtl8723ds bt fw and config
+$(call inherit-product, hardware/realtek/bluetooth/rtl8723ds/firmware/rtlbtfw_cfg.mk)
+
 #rtl8723bs bt fw and config
 $(call inherit-product, hardware/realtek/bluetooth/rtl8723bs/firmware/rtlbtfw_cfg.mk)

   2.hw_bt_rtl8723ds.tar.gz圧縮パッケージをhardware / realtek / bluetoothディレクトリに解凍します

ディレクトリ名をrtl8723dsに変更します

 パッケージのダウンロードアドレス:https//download.csdn.net/download/Mrdeath/13745180

注:btが使用するインターフェースがttyS1でない場合は、ファイルhardware / realtek / bluetooth / rtl8723ds / libbt-vendor / include /vnd_astar-y3.txtの下にあるBLUETOOTH_UART_DEVICE_PORT = "/ dev / ttyS *"を変更してください。

 

4つ目は、8723dsパラメーターを構成する

1.init.sun8i.rcを変更します

BluetoothシリアルポートがttyS1に変更されました

 diff --git a/android4.4/device/softwinner/astar-y3/init.sun8i.rc b/android4.4/device/softwinner/astar-y3/init.sun8i.rc
index 7a9d9f63f1..df52fac6e0 100755
--- a/android4.4/device/softwinner/astar-y3/init.sun8i.rc
+++ b/android4.4/device/softwinner/astar-y3/init.sun8i.rc
 # UART device
-#    chmod 0666 /dev/rtk_btusb
-#    chown bluetooth net_bt_stack /dev/rtk_btusb
+     chmod 0666 /dev/ttyS1
+     chown bluetooth net_bt_stack /dev/ttyS1
 #
     # power up/down interface
 	chmod 0660 /sys/class/rfkill/rfkill0/state

2.sys_configファイルを変更します

[wifi_para]の列で、8723bsのパラメーターを設定しました。実際、8723dsの電力管理参照8723bsを変更しているため、これらのパラメーターは8723dsでも使用できるため、これらの項目を通常どおりに構成して使用できます。

注意:

私は8723bsのパラメーターに従って変更された8723dsドライバーであるため、wifi_mod_selは5でなければなりません。したがって、ここでmodは5を選択します。

rtl8723bs_lpo_use_apclkは1で、モジュールの32kクロックはcpuから派生しているため、外部32kクロックを使用している場合は、ここで0に設定します。

diff --git a/lichee/tools/pack/chips/sun8iw5p1/configs/y3/sys_config.fex b/lichee/tools/pack/chips/sun8iw5p1/configs/y3/sys_config.fex
index 47e2de7f28..21ff98692d 100755
--- a/lichee/tools/pack/chips/sun8iw5p1/configs/y3/sys_config.fex
+++ b/lichee/tools/pack/chips/sun8iw5p1/configs/y3/sys_config.fex
@@ -259,11 +259,12 @@ uart_rx         = port:PF04<3><1><default><default>
 
 [uart1]
 uart_used       = 1
-uart_type       = 2
+uart_port	= 1
+uart_type       = 4
 uart_tx         = port:PG06<2><1><default><default>
 uart_rx         = port:PG07<2><1><default><default>
-;uart_rts        = port:PG08<2><1><default><default>
-;uart_cts        = port:PG09<2><1><default><default>
+uart_rts        = port:PG08<2><1><default><default>
+uart_cts        = port:PG09<2><1><default><default>
 
 [uart2]
 uart_used       = 1
@@ -786,19 +787,18 @@ sdc_regulator     = "none"
 
 [mmc1_para]
 sdc_used          = 1
-sdc_detmode       = 2
+sdc_detmode       = 4
 sdc_buswidth      = 4
-sdc_clk           = port:PG00<2><1><1><default>
-sdc_cmd           = port:PG01<2><1><1><default>
-sdc_d0            = port:PG02<2><1><1><default>
-sdc_d1            = port:PG03<2><1><1><default>
-sdc_d2            = port:PG04<2><1><1><default>
-sdc_d3            = port:PG05<2><1><1><default>
-sdc_det           = port:PB04<4><1><2><default>
-sdc_power_supply  = "axp22_dcdc1"
+sdc_clk           = port:PG00<2><1><2><default>
+sdc_cmd           = port:PG01<2><1><2><default>
+sdc_d0            = port:PG02<2><1><2><default>
+sdc_d1            = port:PG03<2><1><2><default>
+sdc_d2            = port:PG04<2><1><2><default>
+sdc_d3            = port:PG05<2><1><2><default>
+sdc_det           = 
 sdc_use_wp        = 0
 sdc_wp            =
-sdc_isio          = 0
+sdc_isio          = 1
 sdc_regulator     = "none"
 
 [mmc2_para]
@@ -938,13 +938,13 @@ lsm303d                   = 1
 ;--------------------------------------------------------------------------------
 [wifi_para]
 wifi_used          = 1
-wifi_sdc_id        = 0
+wifi_sdc_id        = 1
 wifi_usbc_id       = 1
 wifi_usbc_type     = 1
-wifi_mod_sel       = 3
-wifi_power         = ""
-wifi_power_ext1    = ""
-wifi_power_ext2    = ""
+wifi_mod_sel       = 5
+wifi_power         =  
+wifi_power_ext1    = 
+wifi_power_ext2    = 
 wifi_power_switch  = ;port:PH09<1><0><default><0>
 
 ; 1 - ap6181 sdio wifi gpio config
@@ -965,13 +965,13 @@ wifi_power_switch  = ;port:PH09<1><0><default><0>
 ; 4 - rtl8723au usb wifi + bt
 
 ; 5 - rtl8723bs sdio wifi + bt
-;rtl8723bs_chip_en       = port:PL11<1><default><default><0>
-;rtl8723bs_wl_regon      = port:PL06<1><default><default><0>
-;rtl8723bs_wl_host_wake  = port:PL07<4><default><default><0>
-;rtl8723bs_bt_regon      = port:PL08<1><default><default><0>
-;rtl8723bs_bt_wake       = port:PL10<1><default><default><0>
-;rtl8723bs_bt_host_wake  = port:PL09<4><default><default><0>
-;rtl8723bs_lpo_use_apclk = 0
+rtl8723bs_chip_en       = 
+rtl8723bs_wl_regon      = port:PL02<1><default><default><0>
+rtl8723bs_wl_host_wake  = port:PL07<4><default><default><0>
+rtl8723bs_bt_regon      = port:PL08<1><default><default><0>
+rtl8723bs_bt_wake       = port:PL10<1><default><default><0>
+rtl8723bs_bt_host_wake  = port:PL09<4><default><default><0>
+rtl8723bs_lpo_use_apclk = 1
 
 ; 6 - eagle sdio wifi
 ;esp_wl_chip_en        = port:PL03<1><default><default><0>
@@ -984,7 +984,7 @@ wifi_power_switch  = ;port:PH09<1><0><default><0>
 ;--------------------------------------------------------------------------------
 [bt_para]
 bt_used             = 1
-bt_uart_id          = ;1
+bt_uart_id          = 1
 
 ;--------------------------------------------------------------------------------
 ;3G configuration

上記の変更が完了すると、ドライバーは通常どおり使用できます。

5.移植および変更されたパッチ全体、ダウンロードリンク:https//download.csdn.net/download/Mrdeath/13745408

おすすめ

転載: blog.csdn.net/Mrdeath/article/details/111406660