基于瑞芯微RV1126调试RTL8818FU WIFI模组支持STA和AP模式
CONFIG_NETFILTER=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_TABLES=y
CONFIG_NF_TABLES_INET=y
CONFIG_NF_CONNTRACK_IPV4=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_BRIDGE=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_RAW=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_WL_ROCKCHIP=y
CONFIG_WIFI_BUILD_MODULE=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_NET_RNDIS_WLAN=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_OF_SIMPLE=y
CONFIG_USB_DWC3_ROCKCHIP_INNO=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_HID=y
CONFIG_USB=y
CONFIG_USB_USBNET=y
CONFIG_PHY_ROCKCHIP_NANENG_USB2=y
CONFIG_RFKILL=y
CONFIG_RFKILL_RK=y
CONFIG_CFG80211=y
CONFIG_CFG80211_WEXT=y
wireless_wlan: wireless-wlan {
compatible = "wlan-platdata";
rockchip,grf = <&grf>;
/*
clocks = <&rk809 1>;
clock-names = "clk_wifi";
*/
pinctrl-names = "default";
pinctrl-0 = <&wifi_init>;
wifi_chip_type = "rtl8188fu";
WIFI,poweren_gpio = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>;
/*WIFI,host_wake_irq = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; */
status = "okay";
};
wireless-wlan {
/omit-if-no-ref/
wifi_wake_host: wifi-wake-host {
rockchip,pins = <0 RK_PB0 0 &pcfg_pull_up>;
};
wifi_init: wifi-init {
rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_output_high>,//wifi_enable
<0 RK_PB1 RK_FUNC_GPIO &pcfg_output_high>,//usb_hub_enable
//usb-switch
<3 RK_PC1 RK_FUNC_GPIO &pcfg_output_high>,
<3 RK_PC2 RK_FUNC_GPIO &pcfg_output_low>;
};
};
删掉中间文件:
buildroot/output/rockchip_rv1126_rv1109_xxx/target/etc/init.d/S45connman
buildroot/output/rockchip_rv1126_rv1109_xxx/target/usr/bin/connmanctl
buildroot/output/rockchip_rv1126_rv1109_xxx/target/usr/sbin/connmand
app/netserver/main.c main函数直接return不执行
buildroot/output/rockchip_rv1126_rv1109/target/etc/init.d/S36load_rv1109_wifi_modules
//注释掉下面这两行
printf "load wifi modules: "
#insmod /system/lib/modules/"8188fu.ko"
#[ $? = 0 ] && echo "OK" || echo "FAIL"
#注etc/init.d/目录的文件在系统启动时会依次被调用,所以WiFi的驱动会被自动加载,这里我们注释掉它使用自己的wifi驱动
根目录external/下添加softapDemo.tgz.gz
main.c下
+++ main.c/static char softap_name[64] = "wlan0";
+++ main.c/wlan_accesspoint_start(apName, apPassword);
--- main.c/eth_accesspoint_start();
--- main.c/iftables_usb0_to_eth0(wan,lan);
package/rockchip/Config.in 添加:source "package/rockchip/softap/Config.in"
根目录
make menuconfig
BR2_PACKAGE_RKWIFIBT_RTL8188FU =y
# 选择对应的WiFi型号 其实也可不选我们不用原厂wifi驱动
BR2_PACKAGE_IPC_DAEMON = n
BR2_PACKAGE_NETSERVER = n
BR2_PACKAGE_CONNMAN = n
BR2_PACKAGE_DHCPCD = y
BR2_PACKAGE_SOFTAP=y
make savedefconfig
make netserver-dirclean
make connman-dirclean
make ipc-daemon-dirclean
make softap-dirclean
make rkwifibt-dirclean
#清除掉之前的
./build.sh rootfs
#编译文件系统
注意:
编译好看看buildroot/output/rockchip_rv1126_rv1109/target/etc/init.d/S36load_rv1109_wifi_modules
有没被覆盖,覆盖掉的话需要重新注释
修改配置
SDK\extern\rtl8188FU_linux_v5.11.5-13-g2482755ff.20210615\Makefile
CROSS_COMPILE := arm-linux-gnueabihf-
KSRC := rockchip_new_20220628/kernel
RTL模组: 使用p2p0作为softap功能,通过内核驱动的配置生成p2p0,如果没有p2p0节点请检查这里的配
置
EXTRA_CFLAGS += -DCONFIG_PLATFORM_ANDROID
CONFIG_PLATFORM_ARM_RK2818 = y
CONFIG_AP_MODE = y
CONFIG_POWER_SAVING = n
CONFIG_MP_INCLUDED = y
make clean && make;
mkdir __install;
./configure CC=arm-linux-gnueabihf-gcc AR=arm-linux-gnueabihf-ar --prefix=$(pwd)/__install --host=arm-linux-gnueabihf;
make && make install;
mkdir __install;
./config no-asm no-shared --cross-compile-prefix=arm-linux-gnueabihf- --prefix=$(pwd)/__install
去掉CFLAG参数中的 -m64 ,SHARED_LDFLAGS参数中的 -m64
make && make install
cd SDK/extern/wifi_tool/wpa_supplicant_8_kk_4.4_rtw_r25669.20171213/wpa_supplicant;
cp defconfig .config;
#Makfefile中添加libnl和礼包ssl的路径
CC=arm-linux-gnueabihf-gcc
CFLAGS += -I../../libnl-1.1.4/__install/include
CFLAGS += -I../../openssl-1.0.2g/__install/include
LIBS += -L../../libnl-1.1.4/__install/lib -lnl -lm -lpthread
LIBS += -L../../openssl-1.0.2g/__install/lib -lssl -lcrypto -ldl
#编译
make clean && make; #生成wpa_supplicant和wpa_cli
arm-linux-gnueabihf-strip wpa_cli
arm-linux-gnueabihf-strip wpa_supplicant
cd SDK/extern/wifi_tool/wpa_supplicant_8_kk_4.4_rtw_r25669.20171213/hostapd;
cp defconfig .config;
#Makfefile中添加libnl和礼包ssl的路径
CC=arm-linux-gnueabihf-gcc
CFLAGS += -I../../libnl-1.1.4/__install/include
CFLAGS += -I../../openssl-1.0.2g/__install/include
LIBS += -L../../libnl-1.1.4/__install/lib -lnl -pthread
LIBS += -L../../openssl-1.0.2g/__install/lib -lssl -lcrypto -ldl
#编译
make clean &&& make;
开机后可以用lsusb命令看看是否有wifi节点(ID为下图:即为wifi模块)

运行脚本
./wifi_test.sh
cd /mnt/wifi_lib
echo host > /sys/devices/platform/ff4c0000.usb2-phy/otg_mode
#使能usb为Host模式,这个建议放到/etc/ini.d/rcS里面开机执行一次就好
killall softapDemo&&killall hostapd && killall udhcpd
rmmod wlan
sleep 1
insmod wlan.ko
#加载后可以用iwlist wlan0 scan命令验证一下能不能搜索到热点
export LD_LIBRARY_PATH=/mnt/wifi_lib/nl_lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/mnt/wifi_lib/lib:$LD_LIBRARY_PATH
ifconfig wlan0 up
./wpa_supplicant -B -iwlan0 -c wpa_supplicant.conf -Dnl80211
./wpa_cli -i wlan0 status
route del default;route del 255.255.255.255
udhcpc -iwlan0 -q&
route add -net 255.255.255.255 netmask 255.255.255.255 dev wlan0
然后板子就可以通过wifi ping外网了
./hostapd.sh
killall wpa_supplicant
sleep 2
ifconfig wlan0 0.0.0.0
ifconfig wlan0 down
killall hostapd && killall udhcpd
softapDemo
然后可以用笔记本尝试连接热点ping板子wlan0 ip是否能通
注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配
我想将Jqueryslider范围更改为RTL。我正在使用这个:http://jqueryui.com/slider/#rangeJ查询代码:$(function(){$("#slider-range").slider({range:true,min:0,max:1000000,values:[100000,500000],slide:function(event,ui){$("#amount").val(addCommas(ui.values[1])+"تومان"+addCommas(ui.values[0])+"تومان");}});$("#amount").val(addCo
我在谷歌浏览器上看到一个错误。在ChromeV31上运行以下html代码ChromescrollWidthissue当我将主体方向从ltr更改为rtl时,父div的scrollWith是不同的。这不会发生在FireFoxV25或InternetExplorerV10上。我在chromeissuetracker上报告了这个问题.我的问题是如何使用css或javascript解决这个问题? 最佳答案 尝试在子元素中使用clientWidth,您将在rtl和ltr中获得1080,希望这是一个足够好的解决方案,直到他们修复chrome上的错
当主体方向为rtl时,div的scrollLeft属性似乎在不同的浏览器中返回不同的值。这里可以看到一个例子-http://jsfiddle.net/auVLZ/2/body{direction:rtl;}div.Container{border:5pxsolid#F00;width:500px;height:400px;overflow:auto;}div.Content{background-color:#00F;width:900px;height:380px;}$(document).ready(function(){$("#showScrollLeft").click(f
一、硬件说明1、引脚分配图2、常用引脚说明模块输入电源引脚名描述VBAT_BB模块基带电源(Vnom=3.8V)VBAT_RF模块射频电源(Vnom=3.8V)GND接地引脚模块输出电源引脚名描述VDD_EXT外部电路1.8V供电(Vnom=1.8V)开/关机引脚名描述RESET_N模块复位(低电平有效,1.8V电压域,不用则悬空。)PWRKEY模块开/关机(VBAT电压域)SIM接口引脚名描述USIM_VDD(U)SIM供电电源(模块自动识别1.8V或3.0V(U)SIM卡。)USIM_DATA(U)SIM数据USIM_CLK(U)SIM时钟USIM_RST(U)SIM复位主串口引脚名描述M
示例:如果我使用阿拉伯语,文本字段方向将为rtl,如果我想编写新文本并切换到英语,文本字段内的方向(`text-align:left)将为ltr自动 最佳答案 您可以在此处使用值为auto的全局HTML5属性dir,如下所示:来自规范:Theautokeyword,whichmapstotheautostateIndicatesthatthecontentsoftheelementareexplicitlyembeddedtext,butthatthedirectionistobedeterminedprogrammatically
在React应用程序中实现RTL支持的最佳方式是什么?有没有办法覆盖默认和标签(组件)来添加RTL支持,这样我就不必重写我已经编写的组件以获得RTL支持?(例如,要有一些全局变量window.RTL,所以当设置为true时,所有和标签将文本方向翻转为RTL)。我可能会更改构建系统,或者制作一个babel插件,它将替换所有React.createElement("p"...)我自己实现了一个p标签,但是有更好的解决方案吗?谢谢。 最佳答案 更好的方法是为此使用CSS/HTML功能:方向CSS属性Unicode符号/将.rtl/.l
我们本次使用Mixin在1.19.2中制作一个属于自己的不死图腾。演示效果演示效果演示效果什么是Mixin?简单来说是通过注入一些我们的代码,达到对MC原版内容的修改。详细内容可以参考Minecraft17.1Mixin1.首先我们需要在开发包中引入mixin的依赖,来到项目的build.gradle文件:build.gradleplugins{id'eclipse'id'maven-publish'id'net.minecraftforge.gradle'version'5.+'//引入这个mixin依赖id'org.spongepowered.mixin'version'0.7-SNAPS
IsitpossibletopreviewtheRTLviewforlayoutsinXMLPreviewonAndroidStudio? 最佳答案 对于预览,您可以使用android:layoutDirection="rtl"设置您的xml父View例如,项目.xml//designandroid:layoutDirection="rtl"输出: 关于xml-AndroidStudioXML上的RTL预览,我们在StackOverflow上找到一个类似的问题:
我正在与PEB合作。我已经设法进入_RTL_USER_PROCESS_PARAMETERS。我的目标->仅通过使用二进制文件(.exe文件)来了解argc和argv的内存地址。(如果可能的话,它们的值也是如此)我当前的方法->访问命令行字符串(位于结构_RTL_USER_PROCESS_PARAMETERS内。我通过在C程序中嵌入asm设法进入了它moveax:fs[0x30]mov[PEBaddress],eaxmovebx,[eax+0x10]mov[ProcessParameters],ebx我通过在windows调试器下研究二进制文件得到了偏移量0x30和0x10现在在Proc