Всем привет! и хорошего дня!
Ситуация в следующем, имеется отладочная плата Freescale IMX6q sabresd.
На ней установлен Android 4.3
Уже какой день пытаюсь подключить к ней по SDIO вайфай rtl8723bs.
По настройкам делал все согласно документации от китайцев.
Собираю драйвер как модуль, подкладываю его в папку system/lib/modules и загружаю insmod.
При загрузки не каких ошибок не выявил. Логи, конфини и все остальное опишу ниже.
На данный момент существует 2 проблемы:
1. При сборке драйвера rtl8723bs выполняю сначала make clean, а уже после make.
В самом конце сборки куча варнингов:
( читать дальше... )
В конфиге самого драйвера я создаю новую платформу согласно документации по аналогии другим платформам.
ifeq ($(CONFIG_PLATFORM_FSL_IMX6Q), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
EXTRA_CFLAGS += -DRTW_USE_CFG80211_STA_EVENT -DCONFIG_IOCTL_CFG80211
ARCH := arm
CROSS_COMPILE := /home/mark/Android/opt/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin/arm-eabi-
KSRC := /home/mark/Android/opt/kernel_imx
MODULE_NAME := 8723bs
endif
В этой части если закоментить этот параметр #-DCONFIG_IOCTL_CFG80211
То сборка происходит без варнингов.
Вот тут то и хотел обратится к помощи профессионалов, из-за чего вызваны эти варнинги? (как понимаю этот параметр не мало важен для работы вайфая)
Чтобы избавится от них, перепробовал порядка 3-5 разных драйверов брав их из разных мест на github-е.
2. Как понимаю из-за предыдущей проблемы у меня и не работает wifi.
Пробовал собирать драйвер как модуль так и как bult-in.
при bult-in просто не каких ошибок и варнингов не обнаружил.
При запуски модуля через insmod
D/MtpServer( 2941): path: /storage/emulated/0/87238723bs2.ko parent: 0 storageID: 00
010001
I/wpa_supplicant( 3598): Successfully initialized wpa_supplicant
D/MtpService( 2941): updating state; isCurrentUser=true, mMtpLocked=false
D/MtpService( 2941): addStorageLocked 65537 /storage/emulated/0
D/MtpService( 2941): updating state; isCurrentUser=true, mMtpLocked=false
D/MtpService( 2941): starting MTP server in MTP mode
D/MtpService( 2941): addStorageLocked 65537 /storage/emulated/0
D/BluetoothAdapter( 2927): 1102533832: getState() : mService = null. Returning
STATE_OFF
При выполнении
netcfg и ifconfig , wifi не обнаружен.
Еще вопрос такой у остальных драйверов вижу еще файлы:
cfg80211.ko
compact.ko
Как их скомпилировать их для моего драйвера?
Конфиги:
Ставлю в конфиге:
CONFIG_CFG80211=m
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211=y
CONFIG_HOSTAP=y
CONFIG_RTL8723BS=m
в BoardConfig.mk
BOARD_WIFI_VENDOR := realtek
ifeq ($(BOARD_WIFI_VENDOR), realtek)
WPA_SUPPLICANT_VERSION := VER_0_8_X
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
CONFIG_DRIVER_WEXT :=y
BOARD_WPA_SUPPLICANT_DRIVER := WEXT
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_rtl
BOARD_HOSTAPD_DRIVER:= NL80211
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_rtl
BOARD_WLAN_DEVICE := rtl8723bs
#BOARD_WLAN_DEVICE := rtl8192du
#BOARD_WLAN_DEVICE := rtl8192ce
#BOARD_WLAN_DEVICE := rtl8192de
#BOARD_WLAN_DEVICE := rtl8723as
#BOARD_WLAN_DEVICE := rtl8723au
#BOARD_WLAN_DEVICE := rtl8189es
#BOARD_WLAN_DEVICE := rtl8723bs
#BOARD_WLAN_DEVICE := rtl8723bu
WIFI_DRIVER_MODULE_NAME := "8723bs"
WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/8723bs.ko"
WIFI_DRIVER_MODULE_ARG:= "ifname=wlan0 if2name=p2p0"
WIFI_FIRMWARE_LOADER := ""
WIFI_DRIVER_FW_PATH_STA := ""
WIFI_DRIVER_FW_PATH_AP:= ""
WIFI_DRIVER_FW_PATH_P2P := ""
WIFI_DRIVER_FW_PATH_PARAM := ""
endif
init.xxx.rc
service rtw_suppl_con /system/bin/wpa_supplicant
-ip2p0 -Dnl80211 -c /data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin -N
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf
class main
socket wpa_wlan0 dgram 660 wifi wifi
disabled
oneshot
service rtw_suppl /system/bin/wpa_supplicant -iwlan0 -Dnl80211
-c/data/misc/wifi/wpa_supplicant.conf
socket wpa_wlan0 dgram 660 wifi wifi
class main
disabled
oneshot
Set wifi.interface
PRODUCT_PROPERTY_OVERRIDES +=
wifi.interface=wlan0
Apply wifi_realtek.c
ifeq ($(BOARD_WIFI_VENDOR), realtek)
LOCAL_SRC_FILES += ../realtek/wlan/libhardware_legacy/wifi/wifi_realtek.c
else
LOCAL_SRC_FILES += wifi/wifi.c
endif
wpa_supplicant_8
ifeq ($(BOARD_WIFI_VENDOR), realtek)
L_CFLAGS += -DREALTEK_WIFI_VENDOR
L_CFLAGS += -DANDROID_P2P
L_CFLAGS += -DCONFIG_ANDROID_4_2_PERSISTENT_IOT
Endif
Adding or Selecting Target Platform
opt/kernel_imx/drivers/net/wireless/rtl8723bs/makefile
CONFIG_PLATFORM_FSL_IMX6Q = y
CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ANDROID_X86 = n
CONFIG_PLATFORM_ARM_S3C2K4 = n
CONFIG_PLATFORM_ARM_PXA2XX = n
CONFIG_PLATFORM_ARM_S3C6K4 = n
CONFIG_PLATFORM_MIPS_RMI
= n
CONFIG_PLATFORM_RTD2880B
= n
CONFIG_PLATFORM_MIPS_AR9132 = n
CONFIG_PLATFORM_MT53XX
= n
CONFIG_PLATFORM_RTK_DMP
= n
opt/kernel_imx/drivers/net/wireless/Makefile
obj-$(CONFIG_RTL8723AS) += rtl8723as/
opt/kernel_imx/drivers/net/wireless/Kconfig
source "drivers/net/wireless/rtl8723bs/Kconfig"
Заранее благодарен за любые идеи, помощь, подсказки!
Андрей!