您好!
我正在使用 AM5728处理器的定制板、我需要 TI Sitara 作为 USB 主机、我需要使用外部子卡作为 USB 外设。 我已经成功地将 TI Sitara 设置和配置为主机、但是当我给 USB 子卡上电时、am5728不枚举器件、因为在中、它似乎无法识别已连接外部外设。
在打开 USB 设备之前以及之后、我在下面的文本文件中附加了 dmesg 日志。 我还显示了可用总线的屏幕截图。 我还运行了一个名为 check_usb.sh 的脚本、我在 TI 论坛上找到了该脚本、我附加了该脚本的文本文件以及输出。 如果还有其他问题、请告诉我。 了解 Sitara 上的 USB_dm 和 USB_DP 线路直接连接到子卡上的 USB 线路也是有益的、因此没有软件狗。
谢谢、
TIA
下面是我们打开连接的 USB 设备之前和之后的 dmesg | grep USB 日志:
以前:
root@am57xx-EVM:~# dmesg | grep USB [0.4797] usbcore:registered new interface driver usbfs [0.479845] usbcore:registered new interface driver hub [0.479938] usbcore:registered new device driver usb [3.065171] dwc3 48890000.usb: failed to get clk res'f':-2177] USB [3.12b1:] 找到新的 USB 器件、idVendor=1d6b、idProduct=0002、bcdDevice=4.19 [3.130481] USB USB1:新的 USB 器件字符串:mfr=3、Product=2、SerialNumber=1 [3.138106] USB USB1:产品:xHCI 主机控制 器[3.143023] USB USB1:制造商:Linux 4.1480] USB SerialNumber=1 [3.1480] USB USB2b1] USB USB2b1:xhci-hcd.0.auto 我们不知道该主机的 LPM 算法、禁用 LPM。 [3.191151] USB USB2:找到新的 USB 器件、idVendor=1d6b、idProduct=0003、bcdDevice= 4.19 [3.199474] USB USB2:新的 USB 器件字符串:mFR=3、Product=2、SerialNumber=1 [3.206747] USB USB2:产品:xHCI 主机控制 器[3.2116264b2]USB 3.3b2 xhci-hcd.0.auto :tb2:tb2@:tb2 USB 24802[3.90b2]USB 3.3b2:tb2:tb2:tb2:tb2 USB 3.3b2:tb2:tb2 耗电元件 ID [3.442506] Palms-USB 48070000.i2c:tps659038@ /ocp/i2c@@ /ocp/i2c@@ @ @58:tps659038_usb:使用器件树进行 GPIO 查找[3.442524] of_get_named_gpiod_flags:cid 'id-gp7009038_usb[3.442538] tps48024_gp8024_gp100_gp8024_gp8024_gp_gp100_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gps_gp100_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp100_gp8099_gp8024_gp8024_gp8024_gp8024_gps_ 使用器件树进行 GPIO 查找 [3.442614] of_get_named_gpio_FLAGS:无法解析节点'/ocp/i2c@48070000/tps659038@58/tps659038_USB[0] 的'VBUS-GPIO'属性[3.442637] of_get_named_gpode_s659038 /ocp/i2c@@58'tps659038_USB[0] 488d0000.usb:'tps5993'tps_gp2'属性'dw24'dw_dw_gp8024'tps_gp2'() 找到新的 USB 器件、idVendor=1d6b、idProduct=0002、bcdDevice=4.19 [ 3.890968] USB USB3:新的 USB 器件串:mfr=3、Product=2、fabNumber=1 [ 3.898233] USB USB3:产品:xHCI 主机控制器 [ 3.903140] USB USB3:制造商:Linux 3.9086] USB 闪存[3.90879b4] USB 闪存[USB 闪存盘:3.90b3:xhci-hcd.1.auto 我们不知道该主机的 LPM 算法、禁用 LPM。 [3.950895] USB USB4:找到新的 USB 器件、idVendor=1d6b、idProduct=0003、bcdDevice= 4.19 [ 3.959203] USB USB4:新的 USB 器件字符串:mfr=3、Product=2、SerialNumber=1 [ 3.96466] USB USB4:产品:xHCI 主机控制 器[ 3.9713106] USB fabrgr:3.9764b4:USB 5.976b4:gb、USB 1.456] USB fabrgcr:[3.97gcr:3.97gcr:3.97cr:gr USB 5.97cr:3.97gr:gr USB 1. xhci-hcd.1.auto 导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有) [ 6.037833] USB_common:导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有) [ 7.611306]错误:驱动程序'Palms-USB'已注册、正在中止... [7.705626]错误:驱动程序'Palms-USB'已注册,正在中止... [8.441897] USB_common:导出重复的符号 of _USB_get_dr_mode_by_phy (由内核拥有) [8.521729] USB_common:导出重复的符号 of _USB_get_dr_mode_by_phy (由内核拥有) [8.5499491] phy_omap_u_u_u_ue_kernel_b2:导出重复的符号 OMAP-USb2:[8.6704_common_b2_u_kernel 拥有][8.123_kernel:[8.99_kernel_b2_uel_exce_kernel_b2_b2_u_b2_u_b2][ 导出重复符号 omap_USB2_set_comparator (内核拥有) [ 8.73782] usb_common:导出重复符号 of _usb_get_dr_mode_by_phy (内核拥有) [ 8.771832] phy_omap_usb2:导出重复符号 OMAP-USB2_set_comparator (内核拥有) [ 8.812310] USB_common_kernel_exports [8.97_unc:OMAP-uel_kernel 拥有] (omap_omap_unc:8.957_kernel 拥有 OMA_kernel 拥有)[8.59]符号:USb2_common_kernel 拥有 导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有) [ 8.962582] phy_omap_u2:导出重复符号 OMAP-USB2_set_comparator (由内核拥有) [ 9.002413] USB_common:导出重复符号 of _USB_get_mode_by_phy (由内核拥有) [ 9.002413]( 由 OMAP-b2_common 拥有] USb2_common:USb2_d_ap_excPhy (由 OMAP-d_ap_b2_u_ap_ap_un_b2拥有)[9.77_kernel 拥有][9.77_set (由 OMAP-b2_common:USb2_u_kernel 拥有)[9.77_ 导出重复符号 omap_USB2_set_comparator (内核拥有) [ 9.292870] phy_omap_usb2:导出重复符号 omap_USB2_set_comparator (内核拥有) [ 9.393394] usb_common:导出重复符号 of usb_get_dr_mode_by_by_by_comparator (由 phy 拥有) [ 9.482114] usb 命令共模 :exce_kernel_exports [9.56_kernel_ap_exports [9.56_common_kernel_exports (由 phy_kernel 拥有)[9.48_kernel_ap_ap_ap_ap_ap_ap_ap_ap_ap_ap_ap_unic ( 由 ph 导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有) [ 9.692259] USB_common:导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有) [ 9.771784] USB_common:导出重复符号 of _USB_get_dr_mode_by_phy (由内核 拥有)[9.85_common_b_b_b_b_b_b_ex][9.188632](由 USB_kernel_common 拥有)[_common:导出重复符号 :USB _common [_exce_exce_b_b_exc_dr [9.188632](由 USB_kernel_kernel_b_b_b_b_ 导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有) [ 10.142375] USB_common:导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有) [ 10.212430] USB_common:导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有)[10.37_common ( 由内核拥有)[USB_common:10.37_exc_dc:10.37_exc_dc:x_kernel 拥有] 导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有) [ 10.571773] USB_common:导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有) [ 10.686216] USB_common:导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有)
之后:
root@am57xx-EVM:~# dmesg | grep USB [0.4797] usbcore:registered new interface driver usbfs [0.479845] usbcore:registered new interface driver hub [0.479938] usbcore:registered new device driver usb [3.065171] dwc3 48890000.usb: failed to get clk res'f':-2177] USB [3.12b1:] 找到新的 USB 器件、idVendor=1d6b、idProduct=0002、bcdDevice=4.19 [3.130481] USB USB1:新的 USB 器件字符串:mfr=3、Product=2、SerialNumber=1 [3.138106] USB USB1:产品:xHCI 主机控制 器[3.143023] USB USB1:制造商:Linux 4.1480] USB SerialNumber=1 [3.1480] USB USB2b1] USB USB2b1:xhci-hcd.0.auto 我们不知道该主机的 LPM 算法、禁用 LPM。 [3.191151] USB USB2:找到新的 USB 器件、idVendor=1d6b、idProduct=0003、bcdDevice= 4.19 [3.199474] USB USB2:新的 USB 器件字符串:mFR=3、Product=2、SerialNumber=1 [3.206747] USB USB2:产品:xHCI 主机控制 器[3.2116264b2]USB 3.3b2 xhci-hcd.0.auto :tb2:tb2@:tb2 USB 24802[3.90b2]USB 3.3b2:tb2:tb2:tb2:tb2 USB 3.3b2:tb2:tb2 耗电元件 ID [3.442506] Palms-USB 48070000.i2c:tps659038@ /ocp/i2c@@ /ocp/i2c@@ @ @58:tps659038_usb:使用器件树进行 GPIO 查找[3.442524] of_get_named_gpiod_flags:cid 'id-gp7009038_usb[3.442538] tps48024_gp8024_gp100_gp8024_gp8024_gp_gp100_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gps_gp100_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp8024_gp100_gp8099_gp8024_gp8024_gp8024_gp8024_gps_ 使用器件树进行 GPIO 查找 [3.442614] of_get_named_gpio_FLAGS:无法解析节点'/ocp/i2c@48070000/tps659038@58/tps659038_USB[0] 的'VBUS-GPIO'属性[3.442637] of_get_named_gpode_s659038 /ocp/i2c@@58'tps659038_USB[0] 488d0000.usb:'tps5993'tps_gp2'属性'dw24'dw_dw_gp8024'tps_gp2'() 找到新的 USB 器件、idVendor=1d6b、idProduct=0002、bcdDevice=4.19 [ 3.890968] USB USB3:新的 USB 器件串:mfr=3、Product=2、fabNumber=1 [ 3.898233] USB USB3:产品:xHCI 主机控制器 [ 3.903140] USB USB3:制造商:Linux 3.9086] USB 闪存[3.90879b4] USB 闪存[USB 闪存盘:3.90b3:xhci-hcd.1.auto 我们不知道该主机的 LPM 算法、禁用 LPM。 [3.950895] USB USB4:找到新的 USB 器件、idVendor=1d6b、idProduct=0003、bcdDevice= 4.19 [ 3.959203] USB USB4:新的 USB 器件字符串:mfr=3、Product=2、SerialNumber=1 [ 3.96466] USB USB4:产品:xHCI 主机控制 器[ 3.9713106] USB fabrgr:3.9764b4:USB 5.976b4:gb、USB 1.456] USB fabrgcr:[3.97gcr:3.97gcr:3.97cr:gr USB 5.97cr:3.97gr:gr USB 1. xhci-hcd.1.auto 导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有) [ 6.037833] USB_common:导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有) [ 7.611306]错误:驱动程序'Palms-USB'已注册、正在中止... [7.705626]错误:驱动程序'Palms-USB'已注册,正在中止... [8.441897] USB_common:导出重复的符号 of _USB_get_dr_mode_by_phy (由内核拥有) [8.521729] USB_common:导出重复的符号 of _USB_get_dr_mode_by_phy (由内核拥有) [8.5499491] phy_omap_u_u_u_ue_kernel_b2:导出重复的符号 OMAP-USb2:[8.6704_common_b2_u_kernel 拥有][8.123_kernel:[8.99_kernel_b2_uel_exce_kernel_b2_b2_u_b2_u_b2][ 导出重复符号 omap_USB2_set_comparator (内核拥有) [ 8.73782] usb_common:导出重复符号 of _usb_get_dr_mode_by_phy (内核拥有) [ 8.771832] phy_omap_usb2:导出重复符号 OMAP-USB2_set_comparator (内核拥有) [ 8.812310] USB_common_kernel_exports [8.97_unc:OMAP-uel_kernel 拥有] (omap_omap_unc:8.957_kernel 拥有 OMA_kernel 拥有)[8.59]符号:USb2_common_kernel 拥有 导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有) [ 8.962582] phy_omap_u2:导出重复符号 OMAP-USB2_set_comparator (由内核拥有) [ 9.002413] USB_common:导出重复符号 of _USB_get_mode_by_phy (由内核拥有) [ 9.002413]( 由 OMAP-b2_common 拥有] USb2_common:USb2_d_ap_excPhy (由 OMAP-d_ap_b2_u_ap_ap_un_b2拥有)[9.77_kernel 拥有][9.77_set (由 OMAP-b2_common:USb2_u_kernel 拥有)[9.77_ 导出重复符号 omap_USB2_set_comparator (内核拥有) [ 9.292870] phy_omap_usb2:导出重复符号 omap_USB2_set_comparator (内核拥有) [ 9.393394] usb_common:导出重复符号 of usb_get_dr_mode_by_by_by_comparator (由 phy 拥有) [ 9.482114] usb 命令共模 :exce_kernel_exports [9.56_kernel_ap_exports [9.56_common_kernel_exports (由 phy_kernel 拥有)[9.48_kernel_ap_ap_ap_ap_ap_ap_ap_ap_ap_ap_ap_unic ( 由 ph 导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有) [ 9.692259] USB_common:导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有) [ 9.771784] USB_common:导出重复符号 of _USB_get_dr_mode_by_phy (由内核 拥有)[9.85_common_b_b_b_b_b_b_ex][9.188632](由 USB_kernel_common 拥有)[_common:导出重复符号 :USB _common [_exce_exce_b_b_exc_dr [9.188632](由 USB_kernel_kernel_b_b_b_b_ 导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有) [ 10.142375] USB_common:导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有) [ 10.212430] USB_common:导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有)[10.37_common ( 由内核拥有)[USB_common:10.37_exc_dc:10.37_exc_dc:x_kernel 拥有] 导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有) [ 10.571773] USB_common:导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有) [ 10.686216] USB_common:导出重复符号 of _USB_get_dr_mode_by_phy (由内核拥有)
运行屏幕截图:lsusb
Check_USB.sh
#!/bin/sh # # Util to check USB subsystem on for Linux kernel 3.12+ # # TODO:Usage version=0.2.0 ### functions ### has _supported_kernel(){ local _ver local _t _ver=`uname -r` DBG_PRINT "内核$_ver" _t=${_v%.*} # 2.x.x、不受支持 [$_t -GE 3]||返回1 # 4.x.x、受支持 [$_t -lt 4]||返回0 _ver=${_ver#*。} _t=${_v%.*} #< 3.12.x、不支持 [$_t -GE 12]||返回1. 返回0 } CHECK_PLAND (){ LOCAL _HW _HW=`grep '^Hardware'/proc/cpuinfo` DBG_PRINT $_HW ["${_HW#*AM33XX}"="$_HW"]||{ 平台="AM335x" USB0='USB@47400000/USB@47401000' USB1='USB@47400000/USB@47401800' 返回0; } ["${_HW#*AM43}"="$_HW"]||{ 平台="AM437X" USB0='OMAP-dwc3@48380000/USB@48390000' USB1='OMAP-dwc3@483c0000/USB@483d0000' 返回0 } ["${_HW#* DRA74X}"="$_HW"]||{ platform="am57x" USB0='OMAP-dwc3_1@48880000/USB@48890000' USB1='OMAP-dwc3_2@488c0000/USB@488d0000' 返回0 } 回显"不支持的$_HW" 返回1 }# 检查内核配置选项 # params $1 -配置选项 # $2 ='-q'、静音输出 #返回0 -未定义 # 1 -定义为"m"、内核模块 # 2 -定义为'y'、内核内置 check_kernel_config(){ 局部_cfg [-n "$1"]||返回0 _cfg=`zcat /proc/config.gz | grep "^$1\>"` 中的案例${_cfg#*=} "Y")返回2; "m")返回1;; *)["$2"="-q"]|| 回显"错误:1美元在内核配置中未定义" 返回0;; esac } #检查内核模块 #$1 -模块名称,从 drivers/获取的相对路径,并使用.ko surfix # return 0 - Found # 1-错误 CHECK_MODULE(){ 局部_modname 局部_moddep [-n "$1"]||返回1 _modname="/lib/modules`uname -r`/kernel/drivers /${1}.ko" modep="/lib/modules`uname -r` modules.dep" DBG_PRINT 1. [-f $_modname ]||{ 回显"错误:未找到$_modname。" 回波" 请确保正确完成'make module_install'。" 返回1 } DBG_PRINT 2. [-f $_moddep ]||$modep_checked ||{ 回显"错误:未找到$_moddep。" 回波" 请确保正确完成'make module_install'。" modep_checked=true } DBG_PRINT 3. lsmod | grep `basename $1 | tr '-''_'`>/dev/null ||{ DBG_PRINT ">>>>${1}.ko:" 如果 grep "${1}.ko:"$_moddep >/dev/null;那么 DBG_PRINT 5. 回显"错误:$_moddep 似乎有效、" 回波" 但未加载`basename $1`.ko。" 回波" 请`/proc/config.gz 和/lib/module`uname -r /*" 回波" 以供进一步调查。" 其他 DBG_PRINT 6. 回显"错误:`basename $1`:$_moddep 无效。" 回波" 请在目标上运行命令'epmod'以重新生成它、" 回波" 然后重新引导目标。 如果问题仍然存在、请" 回波" 确保正确完成'make module_install'。" FI DBG_PRINT 7. 返回1 } DBG_PRINT 8. 返回0 } check_musb_drivers(){ CHECK_kernel_config CONFIG_USB_MUSB_HDRC [美元? != 1 ]|| CHECK_MODULE 'USB/MUSB / MUSB Hdrc' check_kernel_config config_USB_MUSB_dual_role -q [美元? != 0 ]||回显"警告:CONFIG_USB_MUSB_DUAL_Role 未定义"。 CHECK_kernel_config CONFIG_USB_MUSB_DSP [美元? != 1 ]||{ CHECK_MODULE 'USB/MUSB / MUSB _DSP' CHECK_MODULE 'USB/MUSB / MUSB _ AM335x' } CHECK_kernel_config CONFIG_AM335X_PHY_USB [美元? != 1 ]||{ CHECK_MODULE 'USB/phy/phy-AM335x' CHECK_MODULE 'USB/phy/phy-AM335x-control' } check_kernel_config config_MUSB_PIO_only -q [美元? != 0 ]||{ 如果 check_kernel_config config_TI_CPPI41 -q;那么 回显"错误:MUSB CPPI DMA 模式已启用、但 DMA 引擎中未启用 CPPI 鼠标。" 回波" 请在内核配置中启用 DMA 引擎支持下的 CONFIG_TI_CPPI41。" FI } } check_dwc3_drivers(){ CHECK_kernel_config CONFIG_USB_DWC3 [美元? != 1 ]|| CHECK_MODULE 'USB/dwc3/dwc3' check_kernel_config config_USB_DWC3_dual_role -q [美元? != 0 ]||回显"警告:CONFIG_USB_DWC3_DUAL_LOWATE 未定义"。 CHECK_kernel_config CONFIG_USB_DWC3_OMAP [美元? != 1 ]|| CHECK_MODULE 'USB/dwc3/dwc3-OMAP' CHECK_kernel_config CONFIG_USB_XHCI_HCD [美元? != 1 ]||{ CHECK_MODULE 'USB/主机/xhci-plat-hcd' CHECK_MODULE 'USB/HOST/xhci-hcd' } CHECK_kernel_config CONFIG_OMAP_CONTRAL_PHY [美元? != 1 ]|| CHECK_MODULE 'phy/phy-OMAP-CONTRAINS' 如果[$platform = AM437X];那么 CHECK_kernel_config CONFIG_OMAP_USB2 [美元? != 1 ]|| CHECK_MODULE 'phy/phy-OMAP-USB2' 其他 CHECK_kernel_config CONFIG_TI_PIPE3 [美元? != 1 ]|| CHECK_MODULE 'phy/phy-ti-pipe3' Fi } ### debug ### g_log_file=/tmp/chmusb.log DBG_enable(){g_dbg_enable=true;} DBG_disable(){g_dbg_enable=fals;} DBG_log_reset (){! $g_dbg_enabled || echo >$g_log_file;} DBG_PRINT(){! $g_dbg_enabled || echo "$(date +%H:%M:%S)[$(basename $0)]:$*";} DBG_log (){DBG_PRINT $*>>$g_LOG_FILE;} DBG_LOG_MARG(){DBG_PRINT "--- ">>$g_log_file;} ### main #### modep_checked=false echo "chkusb.sh Version $version" ["$V"="1"]&& DBG_ENABLE && DBG_LOG_RESET || DBG_DISABLE HS_SUPPORTED kernel_|| {echo "不支持的内核版本:`uname -r`";exit 1;} check_platform || exit 2 DBG_print device:$platform which lsusb >/dev/null || {echo "Error; lsusb command not found";exit 3;} 如果 lsusb >/dev/null 2>&1;那么 回显"USB is initialized" else 回显"USB 初始化失败" #失败,继续检查 [-f /proc/config.gz ]|| { echo "Error:/proc/config.gz not found";exit 4;} 中的案例$platform AM335x) check_musb_drivers;; AM437x | am57x) check_dwc3_drivers;; *) 回显"错误:不受支持的平台$platform" 出口5;; esac fi # check dr_mode & gadget drivers [-d /proc/device-tree ]||{ ECHO "警告:/proc/device-tree 未找到" 如果[-d "/lib/modules`uname -r`/"];则 回显"The list of USB gadget drivers installed:" LS -1Rp "/lib/modules`uname -r`/kernel/drivers/usb/gadget FI 在 "${USB0}""${USB1}"中为_USB 退出0};执行 _usb_dir="/proc/device-tree/ocp{_usb}" _status=`cat $_USB_dir/status 2>/dev/null` _ddr_mode=__LW_AT__`cat $_USB_dir/dr_mode` echo `basename $_USB`:$_DR_MODE、$_STATUS ["$_STATUS"="禁用"-o "$_DR_MODE"="主机"]||小工具模式=true DONE DBG_PRINT $gadget_mode $gadget_mode ||退出0 echo check_kernel_config config_USB_LIBCOMPOSITE case $? 在中 0)回显"错误:未启用任何小工具驱动程序" 出口6; 1) IS_Gadget_builtin=false; 2) 2)回显"内置小工具驱动程序" iS_gadget_builtin=true; esac check_kernel_config config_USB_zero -q || 回显"小工具内核配置:启用了 G_ZERO " CHECK_kernel_config CONFIG_USB_AUDIO -q || 回显"小工具内核配置:启用了 G_AUDIO " CHECK_kernel_config CONFIG_USB_ETH -q || 回显"小工具内核配置:启用了 G_ether " CHECK_kernel_config CONFIG_USB_G_NCM -q || 回显"小工具内核配置:启用了 G_NCM " CHECK_kernel_config CONFIG_USB_MUS_STORAGE -q || 回显"小工具内核配置:启用了 G_MALL_STORAGE " CHECK_kernel_config CONFIG_USB_G_serial -q || 回显"小工具内核配置:启用了 G_serial " check_kernel_config config_USB_G_printer -q || echo "Gadget Kernel Config:G_printer is enabled" g_driver=`grep '^driver='/sys/class/udc /*/uevent 2>/dev/null` echo "gadget driver loaded:${g_driver:-(none)}" echo if! 然后、$IS_Gadget_builtin 如果[-d "/lib/modules`uname -r`/"];则 回显"The list of USB gadget drivers installed:" LS -1Rp "/lib/modules`uname -r`/kernel/drivers/usb/gadget 其他 回显"错误:/lib/modules`uname -r`/未找到" 回波" 请确保正确完成'make module_install'。" 退出7. FI # vim:ft=sh:ts=4:sw=4:et
check_USB.sh 的输出