1.wifi驱动加载调整

This commit is contained in:
payton 2024-02-04 15:39:01 +08:00
parent 2c8a671cee
commit 91c75af521
2 changed files with 38 additions and 28 deletions

View File

@ -3063,10 +3063,25 @@ BOOL sf_system_check_wifi_ko(void)
fgets(result, sizeof(result), fp); fgets(result, sizeof(result), fp);
pclose(fp); pclose(fp);
if (result[0] == '\0') { if (result[0] == '\0') {
MLOGI("rtk_btusb module is not loaded.\n"); MLOGI("8723du module is not loaded.\n");
return FALSE; return FALSE;
} else { } else {
MLOGI("rtk_btusb module is loaded.\n"); MLOGI("8723du module is loaded.\n");
return TRUE;
}
}
BOOL sf_wifi_check_firmware_class_ko(void)
{
char command[30] = "lsmod | grep firmware_class";
FILE *fp = popen(command, "r");
char result[256];
fgets(result, sizeof(result), fp);
pclose(fp);
if (result[0] == '\0') {
MLOGI("firmware_class module is not loaded.\n");
return FALSE;
} else {
MLOGI("firmware_class module is loaded.\n");
return TRUE; return TRUE;
} }
} }
@ -3074,12 +3089,29 @@ BOOL sf_system_check_wifi_ko(void)
int sf_load_wifi_ko(void) int sf_load_wifi_ko(void)
{ {
int ret = 0; int ret = 0;
UINT8 i = 0;
MLOGI("start.\n"); MLOGI("start.\n");
if (sf_system_check_wifi_ko() == TRUE) if (sf_system_check_wifi_ko() == TRUE)
{ {
return TRUE; return TRUE;
} }
ret = system("insmod /lib/custom/lib/modules/4.19.91/kernel/net/wireless/cfg80211.ko"); for (i = 0; i < 50; i++)
{
if (sf_wifi_check_firmware_class_ko() == TRUE)
{
break;
}
else
{
if(49 == i)
{
MLOGE("wifi setup fall!!\n");
return FALSE;
}
usleep(500 * 1000);
}
}
ret = system("insmod /etc/lib/modules/4.19.91/kernel/net/wireless/cfg80211.ko");
if(ret == 0) if(ret == 0)
{ {
printf("Wifi cfg80211 OK\r\n"); printf("Wifi cfg80211 OK\r\n");
@ -3088,7 +3120,7 @@ int sf_load_wifi_ko(void)
{ {
printf("Wifi cfg80211 ERR\r\n"); printf("Wifi cfg80211 ERR\r\n");
} }
ret = system("insmod /lib/custom/lib/modules/4.19.91/extra/net/rtl8723du/8723du.ko"); ret = system("insmod /etc/lib/modules/4.19.91/extra/net/rtl8723du/8723du.ko");
if(ret == 0) if(ret == 0)
{ {
printf("Wifi rtl8723du OK\r\n"); printf("Wifi rtl8723du OK\r\n");

View File

@ -104,6 +104,8 @@ MV_KO_LIST=(\
/lib/modules/$KERVER/kernel/drivers/net/usb/qmi_wwan.ko \ /lib/modules/$KERVER/kernel/drivers/net/usb/qmi_wwan.ko \
/lib/modules/$KERVER/extra/fs/exfat/exfat.ko \ /lib/modules/$KERVER/extra/fs/exfat/exfat.ko \
/lib/modules/$KERVER/kernel/drivers/bluetooth/rtk_btusb.ko \ /lib/modules/$KERVER/kernel/drivers/bluetooth/rtk_btusb.ko \
/lib/modules/$KERVER/extra/net/rtl8723du/8723du.ko \
/lib/modules/$KERVER/kernel/net/wireless/cfg80211.ko \
) )
@ -129,30 +131,6 @@ do
fi fi
done done
SF_MV_KO_LIST=(\
/lib/modules/$KERVER/extra/net/rtl8723du/8723du.ko \
/lib/modules/$KERVER/kernel/net/wireless/cfg80211.ko \
)
if [ -d ${ROOTFS_DIR}/rootfs/lib/custom ]; then
echo "remove old rootfs etc/lib/custom"
rm -r ${ROOTFS_DIR}/rootfs/etc/lib/custom
fi
for n in "${SF_MV_KO_LIST[@]}"
do
if [ -f ${ROOTFS_DIR}/rootfs/${n} ]; then
path=$(dirname "${ROOTFS_DIR}/rootfs/lib/custom${n}")
if [ ! -d ${path} ]; then
mkdir -p ${path}
fi
echo "mv ${ROOTFS_DIR}/rootfs/${n} to ${path}/"
mv ${ROOTFS_DIR}/rootfs/${n} ${path}/
${STRIP} -g --strip-unneeded ${ROOTFS_DIR}/rootfs/lib/custom/${n}
fi
done
# static device node # static device node
MAJOR=253 MAJOR=253
rm -rf ${ROOTFS_DIR}/rootfs/dev/* rm -rf ${ROOTFS_DIR}/rootfs/dev/*