精华内容
下载资源
问答
  • rtl8723ds的固件.zip

    2020-10-14 20:06:05
    rk3288 android5.1 移植rtl8723ds所需要的wifi和蓝牙固件,移植rtl8723ds的链接为https://mp.csdn.net/console/editor/html/109081588
  • 首先.先确认 POWER_SAVING 这个宏是否打开,如果打开了请关掉,...其次 蓝牙 和 wifi ,链接的wifi质量也很重要,可能会造成卡顿. ------------------------- 发现并没有什么软用... ... 转...
    1. 首先.先确认 POWER_SAVING 这个宏是否打开,如果打开了请关掉,因为这个功能是路由器把对应的设备的流量包存储在路由器上,然后到一定的包的数量的时候,分发给嵌入式设备.如果这样可能造成天线通过的拥挤这样,蓝牙就会出现卡顿.
    2. 其次 蓝牙 和 wifi ,链接的wifi质量也很重要,可能会造成卡顿.
      -------------------------
      发现并没有什么软用... ...

    转载于:https://www.cnblogs.com/eat-too-much/p/9023022.html

    展开全文
  • rtl8723DS是Wi-Fi、蓝牙二合一芯片方案。Wi-Fi支持2.4G频段,支持AP与STA共存的工作模式,使用SDIO接口。蓝牙支持4.2协议,使用UART接口。本文内容来源于调试广州眺望电子科技有限公司rk3399开发板的过程中总结的...

    目录

    1 说明

    2 移植说明

    2.1 编译内核和驱动

    3.2 使用AP模式

    3.3 使用STA模式

    4 重启wlan0


    1 说明

    rtl8723DS是Wi-Fi、蓝牙二合一芯片方案。Wi-Fi支持2.4G频段,支持AP与STA共存的工作模式,使用SDIO接口。蓝牙支持4.2协议,使用UART接口。本文内容来源于调试广州眺望电子科技有限公司rk3399开发板的过程中总结的经验。本文涉及的wifi模块和开发包购买自深圳市必联电子有限公司。rtl8723DS开发包可咨询供应商或者从百度网盘获取。

    链接:https://pan.baidu.com/s/1wqnxBAqXHUU7IQphmYn8LA

    提取码:odw5

    2 移植说明

    具体的资料包要找供应商获取。下文说明AP和STA共存(也可以只使用一个)使用的移植过程。在使用过程中注意网络节点的对应关系,官方文档推荐wlan0工作在STA模式,wlan1工作在AP模式。

    2.1 编译内核和驱动

    相关资料

    rtl8723DS_WiFi_linux_v5.6.8_34158.20190625_COEX20190530-3030.tar.gz

    Quick_Start_Guide_for_Driver_Compilation_and_Installation.pdf

    修改内核

    将驱动包解压之后拷贝KSRC\drivers\net\wireless并改名字为rtl8723ds,KSRC为内核路径。

    修改KSRC\drivers\net\wireless\rtl8723ds\Makefile,

    CONFIG_PLATFORM_I386_PC = n

    增加如下内容:

    CONFIG_PLATFORM_RK3399 = y

    ifeq ($(CONFIG_PLATFORM_RK3399), y)

    EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_PLATFORM_HISILICON -DCONFIG_CONCURRENT_MODE

    #CONFIG_CONCURRENT_MODE宏支持STA和AP可共存

    ARCH := arm

    EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT

    CROSS_COMPILE = /home/lijun/rk3399-linux/buildroot/output/rockchip_rk3399/host/bin/aarch64-buildroot-linux-gnu-

    KSRC := /home/lijun/rk3399-linux/kernel/

    #KSRC以实际环境而变

    MODULE_NAME := rtl8723ds

    #MODULE_NAME可任意命名

    endif

    修改KSRC\drivers\net\wireless\Makefile,

    增加一行内容:obj-$(CONFIG_RTL8723DS) += rtl8723ds/,其中rtl8723ds即为驱动包的名字,CONFIG_RTL8723DS中的RTL8723DS参考于驱动包中的Kconfig文件中的”config RTL8723DS”行。

    修改内核根目录\drivers\net\wireless\Kconfig,

    增加一行内容:source "drivers/net/wireless/rtl8723ds/Kconfig",其中rtl8723ds即为驱动包的名字。

    编译内核和驱动

    cd KSRC,KSRC为内核根目录

    make menuconfig

    确保Device Drivers->Network device support为’*’,Device Drivers->Network device support-> Wireless LAN (NEW)为’*’,Device Drivers->Network device support-> Wireless LAN (NEW)->Realtek 8723D SDIO or SPI WiFi (NEW)为’M’,将cfg80211被编译进内核,

    保存配置。

    cd .. && ./build.sh,此命令编译生成多个ko文件,其中有./drivers/net/wireless/rtl8723ds/rtl8723ds.ko(rtl8723ds.ko不能被裁剪,否则会报错),在rockdev目录生成update包。

    3.2 使用AP模式

    移植libnl

    从官网http://www.infradead.org/~tgr/libnl/files/下载libnl-3.2.24.tar.gz。解压libnl压缩包(tar xzf libnl-3.2.24.tar.gz),创建/home/lijun/libnl_install(mkdir libnl_install),进入解压之后的目录,

    ./configure --prefix=/home/lijun/libnl_install CC=arm-himix100-linux-gcc --host=arm-linux-uclibceabi

    make

    make install

    将/home/lijun/libnl_install/lib下的库文件拷贝到目标板。

    cp -d libnl-3.so.200.19.0 /lib/

    cp -d libnl-3.so.200 /lib/

    cp -d libnl-3.so /lib/

    cp -d libnl-cli-3.so.200.19.0 /lib/

    cp -d libnl-cli-3.so.200 /lib/

    cp -d libnl-cli-3.so /lib/

    cp -d libnl-genl-3.so.200.19.0 /lib/

    cp -d libnl-genl-3.so.200 /lib/

    cp -d libnl-genl-3.so /lib/

    cp -d libnl-idiag-3.so.200.19.0 /lib/

    cp -d libnl-idiag-3.so.200 /lib/

    cp -d libnl-idiag-3.so /lib/

    cp -d libnl-nf-3.so.200.19.0 /lib/

    cp -d libnl-nf-3.so.200 /lib/

    cp -d libnl-nf-3.so /lib/

    cp -d libnl-route-3.so.200.19.0 /lib/

    cp -d libnl-route-3.so.200 /lib/

    cp -d libnl-route-3.so /lib/

    移植hostapd

    解压wpa_supplicant_8_kk_4.4_rtw_r25669.20171213.tar.gz并进入hostapd,针对目标板(rk3399)更改Makefile、.config,解决编译报错的问题如:../src/drivers/driver_nl80211.c:19:31: fatal error: netlink/genl/genl.h: No such file or directory。

    下列两张图,左边为更改之前的内容片段,右边为更改之后的内容片段。

    make

    生成hostapd、hostapd_cli,可以裁剪(arm-himix100-linux-strip)之后将它们拷贝到目标板。

    更改rtl_hostapd_2G.conf并拷贝到目标板,下列一张图,左边为更改之前的内容片段,右边为更改之后的内容片段。

    使用静态IP连接热点

    大致过程如下,

    板端:

    insmod rtl8723ds.ko

    ifconfig wlan0 up

    ifconfig wlan0 192.168.0.1

    ./hostapd ./rtl_hostapd_2G.conf -B

    手机端:

    设置静态IP方式,如IP:192.168.0.11,路由器:192.168.0.1,DNS:8.8.8.8,连接热点(默认密码:87654321)。

    动态分配IP地址之busybox

    busybox中的udhcpc能实现自动获取IP地址的功能,修改busybox的配置。

    cd buildroot

    make busybox-menuconfig

    确保Networking Utilities->udhcpd (DHCP server)为’*’,保存修改

    make busybox-update-config

    cd ..

    ./build.sh buildroot

    ./build.sh

    在rockdev目录生成update包。

    动态分配IP地址之内核

    cd kernel

    make menuconfig,确保Networking support->Networking options->IP: DHCP support为’*’

    cd ..

    ./build.sh

    在rockdev目录生成update包。

    动态获取IP连接热点

    大致过程如下,

    板端:

    insmod rtl8723ds.ko

    ifconfig wlan0 up

    ifconfig wlan0 192.168.0.1

    udhcpd ./udhcpd.conf

    使用ps aux | grep ‘udhcpd’确定udhcpd是否执行成功,如果找不到则执行udhcpd ./udhcpd.conf -f,

    udhcpd ./udhcpd.conf -f 可能遇到的问题:

    udhcpd: can't open '/var/lib/misc/udhcpd.leases': No such file or directory

    创建相应的目录和文件,

    mkdir -p /var/lib/misc/

    touch /var/lib/misc/udhcpd.leases

    udhcpd ./udhcpd.conf -f 可能遇到的问题:

    udhcpd: bind: Address already in use

    解决办法:

    ps aux,找出dnsmasq进程并杀掉(或者直接killall dnsmasq)

    ./hostapd ./rtl_hostapd_2G.conf -B

    手机端:

    设置DHCP方式获取IP,连接热点(默认密码:87654321)。

    可以从buildroot/package/busybox/examples/udhcp目录下找到udhcpd.conf

    udhcpd.conf示例内容如下:

    start           192.168.0.20

    end             192.168.0.254

    interface wlan1

    opt     dns     8.8.8.8 192.168.0.1

    option  subnet  255.255.255.0

    opt     router  192.168.0.1

    option  dns     114.114.114.114 # appended to above DNS servers for a total of 3

    3.3 使用STA模式

    相关资料

    wpa_supplicant_8_kk_4.4_rtw_r25669.20171213.tar.gz

    wpa_cli_with_wpa_supplicant.pdf

    Wireless_tools_porting_guide.pdf

    移植libnl

    和使用AP模式->移植libnl的描述一样,如果已经移植则可以忽略。

    移植wpa_supplicant

    解压wpa_supplicant_8_kk_4.4_rtw_r25669.20171213.tar.gz并进入wpa_supplicant,针对目标板(hi3518ev300)更改.config,解决编译报错的问题如:../src/drivers/driver_nl80211.c:19:31: fatal error: netlink/genl/genl.h: No such file or directory。

    下列一张图,左边为更改之前的内容片段,右边为更改之后的内容片段。

    make CC=/home/lijun/rk3399-linux/buildroot/output/rockchip_rk3399/host/bin/aarch64-buildroot-linux-gnu-gcc

    生成wpa_supplicant、wpa_passphrase、wpa_cli,可以裁剪(aarch64-buildroot-linux-gnu-strip)之后将它们拷贝到板端。

    将wpa_0_8.conf(不需要改动)拷贝到板端。

    接入WiFi热点

    加载驱动,进入相应可执行文件和配置文件存放目录,

    ifconfig wlan0 up

    ./wpa_supplicant -B -cwpa_0_8.conf -iwlan0,wpa_0_8.conf文件无需更改

    ./wpa_cli -p/var/run/wpa_supplicant scan,扫描当前环境的无线局域网络热点(确定pairwise、group字段)

    ./wpa_cli -p/var/run/wpa_supplicant scan_results

    ./wpa_cli -iwlan0 add_network

    ./wpa_cli -iwlan0 set_network 0 ssid '"Wondfo-zhong"',无线路由器的SSID为"Wondfo-zhong"

    ./wpa_cli -iwlan0 set_network 0 key_mgmt WPA-PSK,可省略

    ./wpa_cli -iwlan0 set_network 0 psk '"meiyoumima"',无线路由器的连接密码为"meiyoumima"

    ./wpa_cli -iwlan0 set_network 0 pairwise CCMP,可省略

    ./wpa_cli -iwlan0 set_network 0 group CCMP,可省略

    ./wpa_cli -iwlan0 set_network 0 proto WPA,可省略

    ./wpa_cli -iwlan0 enable_network 0

     

    此时WiFi模组已经连上热点,但还未分配有效IP地址,可以先手动指定一个,

    ifconfig wlan0 192.168.1.246 netmask 255.255.255.0

    route add default gw 192.168.1.1

    ping 14.215.177.38,14.215.177.38为www.baidu.com的IP地址

    此时可以验证WiFi模块网络功能正常

    增加域名解析文件

    上述步骤中不能成功执行ping www.baidu.com,需要增加域名解析文件,

    echo nameserver 114.114.114.114 > /etc/resolv.conf

    此时可以正常执行ping www.baidu.com

    动态获取IP地址之busybox

    busybox中的udhcpc能实现自动获取IP地址的功能,修改busybox的配置。

    cd buildroot

    make busybox-menuconfig

    确保Networking Utilities->udhcp client (udhcpc)为’*’,保存修改

    cd ..

    ./build.sh buildroot

    ./build.sh

    在rockdev目录生成update包。

    在板端创建/usr/share/udhcpc(mkdir /usr/share/udhcpc)文件夹,将buildroot/package/busybox目录下udhcpc.script文件拷贝至板端 /usr/share/udhcpc,重命名为default.script并增加可执行权限。

    动态获取IP地址之内核

    cd kernel

    make menuconfig,确保Networking support->Networking options->IP: DHCP support为’*’。

    cd ..

    ./build.sh

    在rockdev目录生成update包。

    动态获取IP地址之udhcpc

    现在可以使用udhcpc -i wlan0自动获取IP地址并且不用执行手动增加域名解析服务器的操作。

    4 重启wlan0

    执行ifconfig wlan0 down之后即关闭了wlan0,此时想重新启用wlan0,执行ifconfig wlan0 up之后发现不能ping通www.baidu.com,route命令查看路由信息如下:

    推测是没加默认网关导致的,可以手动添加,route add default gw 192.168.1.1,此时可以ping通www.baidu.com;另外udhcpc程序会自动帮助添加网关,所以可以在down wlan0(ifconfig wlan0 down)之前kill掉udhcpc(ps aux | grep "udhcpc" | grep -v "grep" | awk '{print $1}' | xargs kill -9),在up wlan0(ifconfig wlan0 up)之后再执行udhcpc(udhcpc -i wlan0)。

    展开全文
  • 1 说明 rtl8723DS是Wi-Fi、蓝牙二合一芯片方案。Wi-Fi支持2.4G频段,支持AP与STA共存的工作模式,使用SDIO接口。蓝牙支持4.2协议,使用UART接口。本文内容来源于调试hi3518ev300的过程中总结的经验。可从官网下载...

    目录

    1 说明

    2 环境描述

    2.1 PC端操作系统

    2.2 嵌入式板端操作系统

    2.3 嵌入式板端硬件平台

    3 移植bluez 5.18

    3.1 主要参考网址

    3.2 zlib

    3.3 libffi

    3.4 gettext

    3.5 libglib2.0-dev

    3.6 glib

    3.7 expat

    3.8 dbus

    3.9 cmake

    3.10 libical

    3.11 ncurses

    3.12 readline

    3.13 bluez

    3.14 收尾


    1 说明

    rtl8723DS是Wi-Fi、蓝牙二合一芯片方案。Wi-Fi支持2.4G频段,支持AP与STA共存的工作模式,使用SDIO接口。蓝牙支持4.2协议,使用UART接口。本文内容来源于调试hi3518ev300的过程中总结的经验。可从官网下载相应软件包或者从百度网盘下载。

    链接:https://pan.baidu.com/s/1VspMNhDiOYRUnOmzQeQJGQ

    提取码:n1ns

    2 环境描述

    2.1 PC端操作系统

    ubuntu1604-desktop或者ubuntu1604-server

    2.2 嵌入式板端操作系统

    linux,kernel: 4.9.37

    2.3 嵌入式板端硬件平台

    hi3518ev300,BSP:[Hi3516EV200_MPP_V1.0.1.1 B030 Release],Build Time[Jun 17 2019, 11:19:14],编译链:arm-himix100-linux-gcc,RTL8723DS WiFi、蓝牙二合一模组。

    3 移植bluez 5.18

    3.1 主要参考网址

    https://whycan.com/p_9532.html

    https://www.cnblogs.com/dong1/p/8271385.html

    https://wiki.beyondlogic.org/index.php?title=Cross_Compiling_BlueZ_Bluetooth_tools_for_ARM

    https://www.cnblogs.com/dylancao/p/11712833.html

    3.2 zlib

    tar -xzf zlib-1.2.8.tar.gz

    cd zlib-1.2.8/

    ./configure --prefix=/tmp

    修改Makefile,将相关变量的值修改为如下所示:

    CC=arm-himix100-linux-gcc

    LDSHARED=arm-himix100-linux-gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map

    CPP=arm-himix100-linux-gcc -E

    AR=arm-himix100-linux-ar

    RANLIB=arm-himix100-linux-ranlib

    make

    make install

    问题:make: arm-himix100-linux-gcc: Command not found

    解决办法:apt install lib32z1-dev

    问题:arm-himix100-linux-gcc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

    解决办法:sudo apt-get install lib32stdc++6

    3.3 libffi

    tar -xzf libffi-3.0.13.tar.gz

    cd libffi-3.0.13/

    ./configure --host=arm-himix100-linux --prefix=/tmp

    make

    make install

    3.4 gettext

    tar xzf gettext-0.20.2.tar.gz

    cd gettext-0.20.2/

    ./configure --host=arm-himix100-linux --prefix=/tmp

    make

    make install

    该过程主要防止出现如下错误:

    checking for libintl.h... no

    configure: error:

    *** You must have either have gettext support in your C library, or use the

    *** GNU gettext library. (http://www.gnu.org/software/gettext/gettext.html

    3.5 libglib2.0-dev

    sudo apt-get install libglib2.0-dev

    该过程主要防止出现如下错误:

    checking for glib-genmarshal... no

    configure: error: Could not find a glib-genmarshal in your PATH

    3.6 glib

    tar xJf glib-2.40.0.tar.xz

    cd glib-2.40.0/

    CC=arm-himix100-linux-gcc ./configure --host=arm-himix100-linux LIBFFI_CFLAGS="-I/tmp/lib/libffi-3.0.13/include" LIBFFI_LIBS="-lffi -L/tmp/lib" ZLIB_CFLAGS="-I/tmp/include" ZLIB_LIBS="-lz -L/tmp/lib" --prefix=/tmp PKG_CONFIG_PATH=/tmp/lib/pkgconfig  glib_cv_stack_grows=no glib_cv_uscore=yes ac_cv_func_posix_getpwuid_r=yes ac_cv_func_posix_getgrgid_r=yes CFLAGS="-I/tmp/include" CPPFLAGS="-I/tmp/include" LDFLAGS="-L/tmp/lib" PKG_CONFIG_PATH=/tmp/lib/pkgconfig

    make

    make install

    问题:gdate.c: In function 'g_date_strftime':

    gdate.c:2497:7: error: format not a string literal, format string not checked [-Werror=format-nonliteral]

           tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm);

    解决办法:在g_date_strftime的定义前添加#pragma GCC diagnostic push、

    #pragma GCC diagnostic ignored "-Wformat-nonliteral",在g_date_strftime的定义后添加#pragma GCC diagnostic pop,形如:

    #pragma GCC diagnostic push

    #pragma GCC diagnostic ignored "-Wformat-nonliteral"

    gsize     

    g_date_strftime (gchar       *s,

                     gsize        slen,

                     const gchar *format,

                     const GDate *d)

    {

    ......

    }

    #pragma GCC diagnostic pop

    3.7 expat

    tar xzf expat-2.1.0.tar.gz

    cd expat-2.1.0/

    ./configure --host=arm-himix100-linux --prefix=/tmp

    make

    make install

    3.8 dbus

    tar xzf dbus-1.8.0.tar.gz

    cd dbus-1.8.0/

    CC=arm-himix100-linux-gcc ./configure --host=arm-himix100-linux --prefix=/tmp --sysconfdir=/etc LDFLAGS="-L/tmp/lib" CFLAGS="-I/tmp/include" PKG_CONFIG_PATH=/tmp/lib/pkgconfig --with-dbus-user=root

    make

    make install

    sysconfdir指定配置文件放在/etc/dbus目录下(/etc/dbus-1/system.conf、/etc/dbus-1/system.d/bluetooth.conf),--with-dbus-user指定dbus后台程序默认的用户为root(如果不指定则为用户messagebus)

    问题:

    /opt/hisi-linux/x86-arm/arm-himix100-linux/host_bin/../lib/gcc/arm-linux-uclibceabi/6.3.0/../../../../arm-linux-uclibceabi/bin/ld: warning: libffi.so.6, needed by /tmp/lib/libgio-2.0.so, not found (try using -rpath or -rpath-link)

    /opt/hisi-linux/x86-arm/arm-himix100-linux/host_bin/../lib/gcc/arm-linux-uclibceabi/6.3.0/../../../../arm-linux-uclibceabi/bin/ld: warning: libgmodule-2.0.so.0, needed by /tmp/lib/libgio-2.0.so, not found (try using -rpath or -rpath-link)

    /opt/hisi-linux/x86-arm/arm-himix100-linux/host_bin/../lib/gcc/arm-linux-uclibceabi/6.3.0/../../../../arm-linux-uclibceabi/bin/ld: warning: libz.so.1, needed by /tmp/lib/libgio-2.0.so, not found (try using -rpath or -rpath-link)

    /tmp/lib/libgobject-2.0.so: undefined reference to `ffi_type_void'

    /tmp/lib/libgobject-2.0.so: undefined reference to `ffi_type_double'

    /tmp/lib/libgobject-2.0.so: undefined reference to `ffi_prep_cif'

    /tmp/lib/libgio-2.0.so: undefined reference to `inflate'

    /tmp/lib/libgio-2.0.so: undefined reference to `deflateSetHeader@ZLIB_1.2.2'

    /tmp/lib/libgio-2.0.so: undefined reference to `g_module_error'

    /tmp/lib/libgobject-2.0.so: undefined reference to `ffi_type_sint32'

    /tmp/lib/libgio-2.0.so: undefined reference to `deflateReset'

    /tmp/lib/libgio-2.0.so: undefined reference to `deflate'

    /tmp/lib/libgobject-2.0.so: undefined reference to `ffi_type_float'

    /tmp/lib/libgobject-2.0.so: undefined reference to `ffi_type_uint64'

    /tmp/lib/libgobject-2.0.so: undefined reference to `ffi_type_sint64'

    /tmp/lib/libgio-2.0.so: undefined reference to `deflateInit2_'

    /tmp/lib/libgio-2.0.so: undefined reference to `g_module_close'

    /tmp/lib/libgio-2.0.so: undefined reference to `inflateGetHeader@ZLIB_1.2.2'

    /tmp/lib/libgio-2.0.so: undefined reference to `deflateInit_'

    /tmp/lib/libgobject-2.0.so: undefined reference to `ffi_type_pointer'

    /tmp/lib/libgobject-2.0.so: undefined reference to `ffi_type_uint32'

    /tmp/lib/libgio-2.0.so: undefined reference to `inflateEnd'

    /tmp/lib/libgio-2.0.so: undefined reference to `g_module_open'

    /tmp/lib/libgio-2.0.so: undefined reference to `deflateEnd'

    /tmp/lib/libgio-2.0.so: undefined reference to `inflateInit_'

    /tmp/lib/libgobject-2.0.so: undefined reference to `ffi_call'

    /tmp/lib/libgio-2.0.so: undefined reference to `inflateInit2_'

    /tmp/lib/libgio-2.0.so: undefined reference to `g_module_supported'

    /tmp/lib/libgio-2.0.so: undefined reference to `inflateReset'

    /tmp/lib/libgio-2.0.so: undefined reference to `g_module_symbol'

    解决办法:

    将相关库文件拷贝到编译链的安装路径并创建软链接

    cp /tmp/lib/libffi.so.6.0.1 /opt/hisi-linux/x86-arm/arm-himix100-linux/target/lib/

    cd /opt/hisi-linux/x86-arm/arm-himix100-linux/target/lib/

    ln -s libffi.so.6.0.1 libffi.so.6

    ln -s libffi.so.6.0.1 libffi.so

    cp /tmp/lib/libgmodule-2.0.so.0.4000.0 /opt/hisi-linux/x86-arm/arm-himix100-linux/target/lib/

    cd /opt/hisi-linux/x86-arm/arm-himix100-linux/target/lib/

    ln -s libgmodule-2.0.so.0.4000.0 libgmodule-2.0.so.0

    ln -s libgmodule-2.0.so.0.4000.0 libgmodule-2.0.so

    cp /tmp/lib/libz.so.1.2.8 /opt/hisi-linux/x86-arm/arm-himix100-linux/target/lib/

    cd /opt/hisi-linux/x86-arm/arm-himix100-linux/target/lib/

    ln -s libz.so.1.2.8 libz.so

    ln -s libz.so.1.2.8 libz.so.1

    3.9 cmake

    sudo apt-get install cmake

    3.10 libical

    tar xzf libical-1.0.tar.gz

    cd libical-1.0/

    export CC=arm-himix100-linux-gcc

    export CXX=arm-himix100-linux-g++

    cmake -DCMAKE_INSTALL_PREFIX=/tmp

    make

    make install

    3.11 ncurses

    tar -xzf ncurses-5.9.tar.gz

    cd ncurses-5.9

    export CPPFLAGS="-P"

    CC=arm-himix100-linux-gcc ./configure --host=arm-himix100-linux --prefix=/tmp CXX=arm-himix100-linux-g++

    make

    make install

    问题:In file included from ../ncurses/curses.priv.h:283:0,

                     from ../ncurses/lib_gen.c:19:

    _51319.c:835:15: error: expected ')' before 'int'

    ../include/curses.h:1594:56: note: in definition of macro 'mouse_trafo'

     #define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen)

    解决办法:在执行./configure之前执行export CPPFLAGS="-P"

    3.12 readline

    tar -xzf readline-6.3.tar.gz

    cd readline-6.3/

    ./configure --host=arm-himix100-linux --prefix=/tmp bash_cv_wcwidth_broken=yes LDFLAGS="-L/tmp/lib"

    make SHLIB_LIBS=-lncurses

    make install

    3.13 bluez

    tar -xJf bluez-5.18.tar.xz

    cd bluez-5.18

    ./configure --host=arm-himix100-linux --prefix=/tmp/ PKG_CONFIG_PATH=/tmp/lib/pkgconfig --disable-systemd --disable-udev --disable-cups --disable-obex --enable-library CFLAGS="-I/tmp/include"

    make

    make install

    注意,如果需要执行obex传送文件,则要把--disable-obex去掉。

    3.14 收尾

    至此,/tmp目录下包含了blueZ套件运行的库文件(静态库和动态库)、头文件、可执行文件。

    root@ubuntu:/home/lijun# ls -R /tmp/lib/*.so

    /tmp/lib/libasprintf.so           /tmp/lib/libgettextpo.so          /tmp/lib/libgobject-2.0.so  /tmp/lib/libintl.so

    /tmp/lib/libdbus-1.so             /tmp/lib/libgettextsrc-0.20.2.so  /tmp/lib/libgthread-2.0.so  /tmp/lib/libreadline.so

    /tmp/lib/libexpat.so              /tmp/lib/libgettextsrc.so         /tmp/lib/libhistory.so      /tmp/lib/libtextstyle.so

    /tmp/lib/libffi.so                /tmp/lib/libgio-2.0.so            /tmp/lib/libical.so         /tmp/lib/libz.so

    /tmp/lib/libgettextlib-0.20.2.so  /tmp/lib/libglib-2.0.so           /tmp/lib/libicalss.so

    /tmp/lib/libgettextlib.so         /tmp/lib/libgmodule-2.0.so        /tmp/lib/libicalvcal.so

    root@ubuntu:/home/lijun# ls -R /tmp/include

    /tmp/include:

    autosprintf.h  dbus-1.0  expat_external.h  expat.h  gettext-po.h  gio-unix-2.0  glib-2.0  ical.h  libical  libintl.h  ncurses  readline  textstyle  textstyle.h  zconf.h  zlib.h

    root@ubuntu:/home/lijun# ls -R /tmp/bin

    /tmp/bin:

    autopoint             dbus-daemon       dbus-send     gdbus          gettext.sh              glib-genmarshal  gresource       infocmp    msgcmp   msgexec    msginit   ncurses5-config  tabs  tset

    captoinfo             dbus-launch       dbus-uuidgen  gdbus-codegen  gio-querymodules        glib-gettextize  gsettings       infotocap  msgcomm  msgfilter  msgmerge  ngettext         tic   xgettext

    clear                 dbus-monitor      envsubst      gettext        glib-compile-resources  glib-mkenums     gtester         msgattrib  msgconv  msgfmt     msgunfmt  recode-sr-latin  toe   xmlwf

    dbus-cleanup-sockets  dbus-run-session  gapplication  gettextize     glib-compile-schemas    gobject-query    gtester-report  msgcat     msgen    msggrep    msguniq   reset            tput

    可以把这些文件夹拷贝到掉电不丢失的地方,方便下次开机调试时不用重新编译,直接拷贝到/tmp文件夹即可。

    展开全文
  • 解决RK3399 android7.1.2 使用RTL8723bu WIFI无法使用问题
  • 全志V3S 入门 RTL8723BS 连接wifi

    千次阅读 2020-12-22 21:11:42
    开发板:荔枝派zero linux:5.10 rootfs:buildroot 2017.8.1 使用最新的主线linux内核...编译后的驱动在drivers/staging/rtl8723bs目录下,把r8723bs.ko和rtl8723bs_nic.bin拷到TF卡的BOOT分区,等会要把rtl8723bs_ni

    开发板:荔枝派zero
    linux:5.10
    rootfs:buildroot 2017.8.1
    使用最新的主线linux内核5.10,主线5.10内核linux

    make ARCH=arm licheepi_zero_defconfig

    默认打开了8723BS编译为模块且只能编译成模块 因为要加载固件到8723内部
    编译后的驱动在drivers/staging/rtl8723bs目录下,把r8723bs.ko和rtl8723bs_nic.bin拷到TF卡的BOOT分区,等会要把rtl8723bs_nic.bin放到/lib/firmware/rtlwifi目录下
    在这里插入图片描述
    buildroot中打开wireless tools 和wpa_supplicant
    在这里插入图片描述
    安装模块

    insmod r8723bs.ko

    正常会出现

    # insmod r8723bs.ko
    [   41.913611] r8723bs: module is from the staging directory, the quality is unknown, you have been warned.
    [   41.940102] RTL8723BS: module init start
    [   41.944058] RTL8723BS: rtl8723bs v4.3.5.5_12290.20140916_BTCOEX20140507-4E40
    [   41.951244] RTL8723BS: rtl8723bs BT-Coex version = BTCOEX20140507-4E40
    [   41.959077] pnetdev = bbff7945
    [   42.114968] RTL8723BS: rtw_ndev_init(wlan0)
    [   42.120728] RTL8723BS: module init ret =0
    

    然后把bin文件拷到相应目录下,原始的buildroot是没有这个文件的

    cp rtl8723bs_nic.bin /lib/firmware/rtlwifi/
    

    然后打开wlan0

    ifconfig wlan0 up
    

    出现

    rtl8723bs: acquire FW from file:rtlwifi/rtl8723bs_nic.bin
    

    输入ifconfig就能看到有wlan0了

    # ifconfig
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
    wlan0     Link encap:Ethernet  HWaddr 84:20:96:AB:35:86
              UP BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
    

    配置连接WiFi
    编辑vi /etc/network/interfaces文件

    # Configure Loopback
    auto lo
    iface lo inet loopback
    # wlan0
    auto wlan0
    iface wlan0 inet dhcp
    

    wpa_supplicant连接WIFI的时候会从配置文件中读取账号和密码,以及加密方式等, 所以我们再运行wpa_supplicant工具的时候要提前写好配置文件。
    配置文件名称自定,但是要以 .conf 为后缀,并保存在 /etc/ 目录下,这边给出一个配置文件的例子。
    编辑vi /etc/wpa_supplicant.conf 文件:

    ctrl_interface=/var/run/wpa_supplicant
    ctrl_interface_group=0
    ap_scan=1
    network={
        ssid="KKKK"
        scan_ssid=1
        key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
        pairwise=TKIP CCMP
        group=CCMP TKIP WEP104 WEP40
        psk="99999999"
        priority=5
    }
    

    创建一个socket通信的目录

    mkdir -p /var/run/wpa_supplicant
    

    连接WiFi

    wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlan0
    

    出现以下正常

    # vi /etc/network/interfaces
    # vi /etc/wpa_supplicant.conf
    # mkdir -p /var/run/wpa_supplicant
    # wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlan0
    Successfully initialized wpa_supplicant
    rfkill: Cannot open RFKILL control device
    # [  263.533205] RTL8723BS: rtw_set_802_11_connect(wlan0)  fw_state = 0x00000008
    [  263.837861] RTL8723BS: start auth
    [  263.843508] RTL8723BS: auth success, start assoc
    [  263.852424] RTL8723BS: rtw_cfg80211_indicate_connect(wlan0) BSS not found !!
    [  263.859594] RTL8723BS: assoc success
    [  263.869354] RTL8723BS: send eapol packet
    [  263.881070] RTL8723BS: send eapol packet
    [  263.886245] RTL8723BS: set pairwise key camid:4, addr:fa:12:65:54:24:c9, kid:0, type:AES
    [  263.897246] RTL8723BS: set group key camid:5, addr:fa:12:65:54:24:c9, kid:2, type:AES
    
    

    获取IP地址

    # udhcpc -i wlan0
    udhcpc: started, v1.27.2
    udhcpc: sending discover
    udhcpc: sending select for 192.168.137.115
    udhcpc: lease of 192.168.137.115 obtained, lease time 604800
    deleting routers
    adding dns 192.168.137.1
    

    查看网络状态

    # wpa_cli -iwlan0 status
    bssid=fa:12:65:54:24:c9
    freq=2462
    ssid=KKKK
    id=0
    mode=station
    pairwise_cipher=CCMP
    group_cipher=CCMP
    key_mgmt=WPA2-PSK
    wpa_state=COMPLETED
    ip_address=192.168.137.115
    address=84:20:96:ab:35:86
    uuid=184c11e5-9a89-5b14-8be3-a53e89785949
    

    ping 看下网络通不通

    # ping www.baidu.com
    PING www.baidu.com (183.232.231.172): 56 data bytes
    64 bytes from 183.232.231.172: seq=0 ttl=56 time=12.049 ms
    64 bytes from 183.232.231.172: seq=1 ttl=56 time=28.945 ms
    64 bytes from 183.232.231.172: seq=2 ttl=56 time=11.020 ms
    64 bytes from 183.232.231.172: seq=3 ttl=56 time=58.708 ms
    64 bytes from 183.232.231.172: seq=4 ttl=56 time=11.982 ms
    64 bytes from 183.232.231.172: seq=5 ttl=56 time=26.644 ms
    

    最后设置开机启动
    新建一个rc.local文件到/etv/init.d目录下

    !/bin/sh
    
    sh /etc/init.d/auto_wifi_link.sh
    echo "wifi finish!!"
    

    创建脚本auto_wifi_link.sh放到/etc/init.d/目录下

    #!/bin/sh
    insmod /r8723bs.ko
    ifconfig wlan0 up
    wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlan0
    sleep 3s
    udhcpc -i wlan0
    

    修改开机启动项 vi /etc/inittab
    # now run any rc scripts 后加入如下

    ::sysinit:/etc/init.d/rc.local
    

    在这里插入图片描述

    修改rc.local 权限

    # chmod 755 /etc/init.d/rc.local
    

    rc.local就能够正常工作了。
    reboot重启看到自动导入驱动然后连接wifi得到ip地址
    在这里插入图片描述

    展开全文
  • packages/apps/Bluetooth/res/values/config.xml --<bool name="profile_supported_rtkbt">false</bool> ++<bool name="profile_supported_rtkbt">true</bool>
  • rtl8723wifi(蓝牙模块)模块移植

    千次阅读 2014-11-03 18:18:35
    /sbin # RTL871X: c2h_handler_8723a , Got C2H_BT_INFO  4\ 再次查看设备, /sbin # ./hciconfig hci0: Type: BR/EDR Bus: USB BD Address: 00:95:69:08:A1:07 ACL MTU: 820:8 SCO MTU: ...
  • RTL8723BU(wifi Bluetooth) 移植

    万次阅读 2018-06-11 14:00:52
    源码:RTL8723BU_WiFi_linux_v4.4.2_18635_BTCOEX20151228-664a.20161006.zip 下载地址:https://download.csdn.net/download/qq_22902919/10471522 硬件:imx6q 软件:linux3.xWifi移植: 1.内核配置 首先需要...
  • 拷贝配置文件和驱动固件 将rtl8723d_config、rtl8723d_fw拷贝到/lib/firmware/rtlbt文件夹下。 将bluetooth.conf(bluez-5.18/src/bluetooth.conf)拷贝到/etc/dbus-1/system.d文件夹下,将文件中的下列内容删除, ...
  • 设置链接参数,创建链接,终止已建立的连接,更新连接参数 4、配对 设置配对参数,启动配对,使用passkey entry方式时输入/显示Passkey,删除绑定设备秘钥。 5、秘钥管理 根据设备地址和地址类型key entry,保存/...
  • NT-8723BS是一款WiFi+BT+FM三合一模块,采用Realtek高性能芯片:RTL8723BS, 模块尺寸只有:12(L)*12(W)*1.8(H)mm; 模块封装:LGA-44; WiFi连接方式:SDIO/GSPI接口,速率高达150Mbps,采用1T1R BT连接方式:...
  • rtl8723DS是Wi-Fi、蓝牙二合一芯片方案。Wi-Fi支持2.4G频段,支持AP与STA共存的工作模式,使用SDIO接口。蓝牙支持4.2协议,使用UART接口。本文内容来源于调试hi3518ev300的过程中总结的经验。 2 管脚复用 确保时钟...
  • 零. 概述 由于HFP feature小节太多,所以我们计划本章把相近的feature合并,本文章主要讲下电话免提协议HFP(Hands-Free Profile)Audio Connection handing以及Audio ...1)Audio Connection set up(建立SCO连接) 2
  • RK3128 Android4.4蓝牙音箱模式开发总结需求Android蓝牙框架蓝牙音箱模式代码移植 ...硬件方面,咨询wifi原厂,说rtl8723ds也是支持的,只需要替换蓝牙firmware,也就是说硬件方面不需要改动。 Android蓝牙框架 说明
  • ap6212移植

    万次阅读 热门讨论 2015-07-03 11:32:09
    要打开蓝牙功能,需要在config.xml中把蓝牙的bt-pan网口打开,修改的部分代码如下。  <!-- List of regexpressions describing the interface (if any) that represent tetherable  ...
  • Bluetooth 2.1/3.0/4.0 SDIO3.0 RTL8723BU 1T1R 802.11b/g/n,Bluetooth 2.1/3.0/4.0 USB2.0 RTL8723DE 1T1R 802.11b/g/n,Bluetooth 2.1/3.0/5.0 PCIe RTL8723DS 1T1R 802.11b/g/n,Bluetooth 2.1/4.2 SDIO3.0 RTL...
  • ***4.12 DHT11测试*** **4.13 DS18B20测试** **4.14 板载SDIO WIFI测试** **4.15 板载蓝牙测试** **4.17 TF(SD)卡测试** **4.18 OV5640摄像头/USB摄像头测试** **4.19 SPDIF测试** **4.20 ADC测试** **4.21 DAC...
  • linux-wifi/bt调试

    2021-06-25 21:29:42
    rtl系列:rtl8897、 rtl8811 usb系列:8897 nxp平台 nxp wifi、bt调试 ap系列:bcm43455、ap6255、 wifi、bt调试步骤: 1>wifi /bt固件 2>wifi/bt 驱动 3>wifi/bt 加载 4>wifi/bt 上层调试工具 5>...
  • 1 核心板接口I.MX6ULL 终结者开发板采用核心板+底板的方式,核心板与底板硬件连接形式上采用的是邮票孔的方式,相比起连接器的方式此种方式具有连接性稳定,抗震动等优点。底板上相应的原理图如下图所示:从上图我们...
  • 在部分版本的的R329 Tina中(如全志官方对外release的v0.5版本R329 Tina),EVB5方案配置的Realtek 8723D无线模组。如果我们要替换成全志的XR829无线模组要怎么做呢?大概需要如下几步: 修改内核配置 首先,我们先...
  • RTL8723DS简介。 主控芯片贴有灰色导热胶,有效传导芯片热量。 ALLWINNER TECH全志科技R328-S2 SoC。全志R328芯片是全志科技研发的智能语音专用处理器,可以提供语音交互方面的可靠算力,广泛适用于智能音箱、智能...
  • 通过该模块我们可以连接到无线网络实现联网的功能,也可 以通过蓝牙连接传输数据。 33. OTG1 接口 开发板板载的一个 Mini USB 接口(J78),用来实现从机通信,开发板通过此接口连接到电脑可以实现 镜像烧写功能。 ...
  • 通过该模块我们可以连接到无线网络实现联网的功能,也可以通过蓝牙连接传输数据。 33.OTG1接口 开发板板载的一个Mini USB接口(J78),用来实现从机通信,开发板通过此接口连接到电脑可以实现镜像烧写功能。 34.USB ...
  • 通过该模块我们可以连接到无线网络实现联网的功能,也可以通过蓝牙连接传输数据。 33.OTG1接口 开发板板载的一个Mini USB接口(J78),用来实现从机通信,开发板通过此接口连接到电脑可以实现镜像烧写功能。 34.USB ...
  • 通过该模块我们可以连接到无线网络实现联网的功能,也可以通过蓝牙连接传输数据。 33. OTG接口 开发板板载的一个Mini USB接口(J78),用来实现从机通信,开发板通过此接口连接到电脑可以实现镜像烧写功能。 34. USB...
  • 目录1. 核心板接口2. 启动方式原理部分3. 系统电源接口4. 复位电路5. 纽扣电池电路6. CAN接口电路7. RS485/TTL串口选择电路8. GPIO接口电路9. RS485电路10.... WIFI/蓝牙电路23. PCIE 4G模块电路24
  • 文章目录1.核心板接口2. 启动方式原理部分3. 系统电源接口4. 复位电路5. 纽扣电池电路6. CAN接口电路7. RS485/TTL串口选择电路8. GPIO接口电路9. RS485电路10.... WIFI/蓝牙电路23. PCIE 4G模块电路2
  • 开源项目,毕业设计

    千次阅读 多人点赞 2019-10-08 12:22:23
    最关键的是中央最优越的地理位置被一颗螺丝孔霸占了……这是做控制算法的人所必须的,连接万向节测试控制效果。上下位机软件的开发遵循“最简,方便修改”的原则,实现了大多数的功能,但是没有把程序写到“很大很...
  • 如果PC上存在特殊的网络适配器(VM,实际适配器,蓝牙等),则通过IP进行的流跟踪无法正常工作。固定。 调用前未检查函数指针是否为NULL。固定。 TI MSP432:对于某些BSL版本,连接可能会失败。固定。 增加了从J-...

空空如也

空空如也

1 2 3
收藏数 45
精华内容 18
关键字:

rtl8723ds蓝牙无法连接