From 0c835f714dc9a259c57c55f14d833d417ad1cdf2 Mon Sep 17 00:00:00 2001 From: payton Date: Fri, 24 Nov 2023 10:11:05 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E6=8F=92=E5=85=A5usb?= =?UTF-8?q?=E8=AF=86=E5=88=AB=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../source/cardv/SrcCode/System/SysUsb_Exe.c | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/code/application/source/cardv/SrcCode/System/SysUsb_Exe.c b/code/application/source/cardv/SrcCode/System/SysUsb_Exe.c index f34c55fd9..c17b7b835 100755 --- a/code/application/source/cardv/SrcCode/System/SysUsb_Exe.c +++ b/code/application/source/cardv/SrcCode/System/SysUsb_Exe.c @@ -72,6 +72,7 @@ static BOOL System_WaitUsbDev(void) break; vos_util_delay_ms(10); + cnt++; } while(cnt < timeout); if(exit_code == 0) @@ -103,6 +104,22 @@ static BOOL System_check_usb_host(void) } } +static BOOL System_check_usb_dev(void) +{ + char command[26] = "lsmod | grep nvt_usb2dev"; + FILE *fp = popen(command, "r"); + char result[256]; + fgets(result, sizeof(result), fp); + pclose(fp); + if (result[0] == '\0') { + printf("nvt_usb2dev module is not loaded.\n"); + return FALSE; + } else { + printf("nvt_usb2dev module is loaded.\n"); + return TRUE; + } +} + static BOOL System_InsmodUsb(BOOL isHost) { char** usb_drivers = NULL; @@ -178,13 +195,13 @@ static BOOL System_RmmodUsb(BOOL isHost) if(isHost){ - if(is_usb_host_driver_inserted == FALSE) + if(System_check_usb_host() == FALSE) return TRUE; usb_drivers = usb_host_drivers; } else{ - if(is_usb_dev_driver_inserted == FALSE) + if(System_check_usb_dev() == FALSE) return TRUE; usb_drivers = usb_dev_drivers;