This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/PROCESSOR-SDK-AM335X: High MPU load with USB

Part Number: PROCESSOR-SDK-AM335X
Other Parts Discussed in Thread: TWL6030

Tool/software: Linux

Hello Team.

I am using am335x processor based custom board and using Beaglebone BSP.I am using ti-processor-sdk-linux-am335x-evm-04.01.00.06 and kernel version is 4.9.41.

when I am running htop command

As soon as i connect musb for taking the ssh of the board it is showing cpu load 100%

Kindly suggest me what can i do to reduce the CPU load.

  • Hi,

    Rahul Chauhan said:
    As soon as i connect musb for taking the ssh of the board it is showing cpu load 100%

    Is your musb is a host or device port?

    What do you connect to?

  • Hi,

    musb is device port on my development board.I am trying to connect my board to PC.
    when i connect musb to usb cable on my system i get below interface on my PC

    enp0s29u1u2c2 Link encap:Ethernet HWaddr 46:f9:2c:a4:37:e5
    inet addr:192.168.7.1 Bcast:192.168.7.3 Mask:255.255.255.252
    inet6 addr: fe80::6ff:f4b:5a42:b1c9/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:45 errors:0 dropped:0 overruns:0 frame:0
    TX packets:42 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:7542 (7.5 KB) TX bytes:7902 (7.9 KB)
    after that I am doing ssh of my board on my PC.
    ssh root@192.168.7.2
    it is taking around 30 second to connect.

    Thank you.
  • Rahul,

    What usb gadget driver do you use on am335x? Please provide the output of command 'cat /sys/class/udc/musb-hdrc.0/uevent'.

    Is the PC running Linux or Windows?

    Rahul Chauhan said:
    after that I am doing ssh of my board on my PC.
    ssh root@192.168.7.2
    it is taking around 30 second to connect.

    Is it always take this long time to connect? Please try the following command on Linux PC to remove the old ssh key entry to see if it solves the issue?

    $ ssh-keygen -f "${HOME}/.ssh/known_hosts" -R <am335x board usb0 ip address>

    By the way, I tested the same on my AM335x GP EVM with Processor SDK v4.1.0.6 with a Linux PC, but don't see the problem, am335x cpu load is about 5~10%. I used g_ether gadget driver.

  • Hello Bin Lui,

    I tried your suggestion but it is not helpfull for me.
    my main issue is when i connect musb very first time it htop shows me normal cpu load 20-30% but after some time cpu load increased 80-100% and it dont reduce till i disconnect my usb from the system.

    1.usb related kernel configurations is given below.
    ===============================
    #
    # Host-side USB support is needed for USB Network Adapter support
    #
    CONFIG_USB_NET_DRIVERS=m
    # CONFIG_USB_CATC is not set
    # CONFIG_USB_KAWETH is not set
    # CONFIG_USB_PEGASUS is not set
    # CONFIG_USB_RTL8150 is not set
    # CONFIG_USB_RTL8152 is not set
    # CONFIG_USB_LAN78XX is not set
    CONFIG_USB_USBNET=m
    CONFIG_USB_NET_AX8817X=m
    CONFIG_USB_NET_AX88179_178A=m
    CONFIG_USB_NET_CDCETHER=m
    # CONFIG_USB_NET_CDC_EEM is not set
    CONFIG_USB_NET_CDC_NCM=m
    # CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
    # CONFIG_USB_NET_CDC_MBIM is not set
    # CONFIG_USB_NET_DM9601 is not set
    # CONFIG_USB_NET_SR9700 is not set
    # CONFIG_USB_NET_SR9800 is not set
    CONFIG_USB_NET_SMSC75XX=m
    CONFIG_USB_NET_SMSC95XX=m
    # CONFIG_USB_NET_GL620A is not set
    CONFIG_USB_NET_NET1080=m
    # CONFIG_USB_NET_PLUSB is not set
    # CONFIG_USB_NET_MCS7830 is not set
    # CONFIG_USB_NET_RNDIS_HOST is not set
    CONFIG_USB_NET_CDC_SUBSET_ENABLE=m
    CONFIG_USB_NET_CDC_SUBSET=m
    CONFIG_USB_ALI_M5632=y
    CONFIG_USB_AN2720=y
    CONFIG_USB_BELKIN=y
    CONFIG_USB_ARMLINUX=y
    CONFIG_USB_EPSON2888=y
    CONFIG_USB_KC2190=y
    CONFIG_USB_NET_ZAURUS=m
    # CONFIG_USB_NET_CX82310_ETH is not set
    # CONFIG_USB_NET_KALMIA is not set
    # CONFIG_USB_NET_QMI_WWAN is not set
    # CONFIG_USB_HSO is not set
    # CONFIG_USB_NET_INT51X1 is not set
    CONFIG_USB_CDC_PHONET=m
    # CONFIG_USB_IPHETH is not set
    # CONFIG_USB_SIERRA_NET is not set
    # CONFIG_USB_VL600 is not set
    # CONFIG_USB_NET_CH9200 is not set
    CONFIG_WLAN=y
    CONFIG_WLAN_VENDOR_ADMTEK=y
    CONFIG_WLAN_VENDOR_ATH=y
    # CONFIG_ATH_DEBUG is not set
    # CONFIG_ATH9K is not set
    # CONFIG_ATH9K_HTC is not set
    # CONFIG_CARL9170 is not set
    # CONFIG_ATH6KL is not set
    # CONFIG_AR5523 is not set
    # CONFIG_ATH10K is not set
    # CONFIG_WCN36XX is not set
    CONFIG_WLAN_VENDOR_ATMEL=y
    # CONFIG_AT76C50X_USB is not set
    CONFIG_WLAN_VENDOR_BROADCOM=y
    # CONFIG_B43 is not set
    # CONFIG_B43LEGACY is not set
    # CONFIG_BRCMSMAC is not set
    # CONFIG_BRCMFMAC is not set
    CONFIG_WLAN_VENDOR_CISCO=y
    CONFIG_WLAN_VENDOR_INTEL=y
    CONFIG_WLAN_VENDOR_INTERSIL=y
    # CONFIG_HOSTAP is not set
    # CONFIG_P54_COMMON is not set
    CONFIG_WLAN_VENDOR_MARVELL=y
    CONFIG_LIBERTAS=m
    CONFIG_LIBERTAS_USB=m
    CONFIG_LIBERTAS_SDIO=m
    # CONFIG_LIBERTAS_SPI is not set
    CONFIG_LIBERTAS_DEBUG=y
    # CONFIG_LIBERTAS_MESH is not set
    # CONFIG_LIBERTAS_THINFIRM is not set
    CONFIG_MWIFIEX=m
    CONFIG_MWIFIEX_SDIO=m
    CONFIG_MWIFIEX_USB=m
    CONFIG_WLAN_VENDOR_MEDIATEK=y
    # CONFIG_MT7601U is not set
    CONFIG_WLAN_VENDOR_RALINK=y
    # CONFIG_RT2X00 is not set
    CONFIG_WLAN_VENDOR_REALTEK=y
    # CONFIG_RTL8187 is not set
    CONFIG_RTL_CARDS=m
    # CONFIG_RTL8192CU is not set
    # CONFIG_RTL8XXXU is not set
    CONFIG_WLAN_VENDOR_RSI=y
    # CONFIG_RSI_91X is not set
    CONFIG_WLAN_VENDOR_ST=y
    # CONFIG_CW1200 is not set
    CONFIG_WLAN_VENDOR_TI=y
    # CONFIG_WL1251 is not set
    CONFIG_WL12XX=m
    CONFIG_WL18XX=m
    CONFIG_WLCORE=m
    CONFIG_WLCORE_SPI=m
    CONFIG_WLCORE_SDIO=m
    CONFIG_WILINK_PLATFORM_DATA=y
    CONFIG_WLAN_VENDOR_ZYDAS=y
    # CONFIG_USB_ZD1201 is not set
    # CONFIG_ZD1211RW is not set
    # CONFIG_MAC80211_HWSIM is not set
    # CONFIG_USB_NET_RNDIS_WLAN is not set

    #
    # USB GPIO expanders
    #
    CONFIG_W1=m
    CONFIG_W1_CON=y

    #
    # USB-based Watchdog Cards
    #
    # CONFIG_USBPCWATCHDOG is not set

    #
    # USB HID support
    #
    CONFIG_USB_HID=m
    # CONFIG_HID_PID is not set
    CONFIG_USB_HIDDEV=y

    #
    # USB HID Boot Protocol drivers
    #
    CONFIG_USB_KBD=m
    CONFIG_USB_MOUSE=m

    #
    # I2C HID support
    #
    # CONFIG_I2C_HID is not set
    CONFIG_USB_OHCI_LITTLE_ENDIAN=y
    CONFIG_USB_SUPPORT=y
    CONFIG_USB_COMMON=m
    CONFIG_USB_ARCH_HAS_HCD=y
    CONFIG_USB=m
    CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

    #
    # Miscellaneous USB options
    #
    CONFIG_USB_DEFAULT_PERSIST=y
    # CONFIG_USB_DYNAMIC_MINORS is not set
    # CONFIG_USB_OTG is not set
    # CONFIG_USB_OTG_WHITELIST is not set
    # CONFIG_USB_OTG_BLACKLIST_HUB is not set
    # CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
    CONFIG_USB_MON=m
    # CONFIG_USB_WUSB_CBAF is not set

    #
    # USB Host Controller Drivers
    #
    # CONFIG_USB_C67X00_HCD is not set
    CONFIG_USB_XHCI_HCD=m
    CONFIG_USB_XHCI_PLATFORM=m
    CONFIG_USB_EHCI_HCD=m
    # CONFIG_USB_EHCI_ROOT_HUB_TT is not set
    CONFIG_USB_EHCI_TT_NEWSCHED=y
    CONFIG_USB_EHCI_HCD_OMAP=m
    # CONFIG_USB_EHCI_HCD_PLATFORM is not set
    # CONFIG_USB_OXU210HP_HCD is not set
    # CONFIG_USB_ISP116X_HCD is not set
    # CONFIG_USB_ISP1362_HCD is not set
    # CONFIG_USB_FOTG210_HCD is not set
    # CONFIG_USB_MAX3421_HCD is not set
    CONFIG_USB_OHCI_HCD=m
    CONFIG_USB_OHCI_HCD_OMAP3=m
    # CONFIG_USB_OHCI_HCD_PLATFORM is not set
    # CONFIG_USB_SL811_HCD is not set
    # CONFIG_USB_R8A66597_HCD is not set
    # CONFIG_USB_HCD_TEST_MODE is not set

    #
    # USB Device Class drivers
    #
    # CONFIG_USB_ACM is not set
    # CONFIG_USB_PRINTER is not set
    CONFIG_USB_WDM=m
    # CONFIG_USB_TMC is not set

    #
    # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
    #

    #
    # also be needed; see USB_STORAGE Help for more info
    #
    CONFIG_USB_STORAGE=m
    # CONFIG_USB_STORAGE_DEBUG is not set
    # CONFIG_USB_STORAGE_REALTEK is not set
    # CONFIG_USB_STORAGE_DATAFAB is not set
    # CONFIG_USB_STORAGE_FREECOM is not set
    # CONFIG_USB_STORAGE_ISD200 is not set
    # CONFIG_USB_STORAGE_USBAT is not set
    # CONFIG_USB_STORAGE_SDDR09 is not set
    # CONFIG_USB_STORAGE_SDDR55 is not set
    # CONFIG_USB_STORAGE_JUMPSHOT is not set
    # CONFIG_USB_STORAGE_ALAUDA is not set
    # CONFIG_USB_STORAGE_ONETOUCH is not set
    # CONFIG_USB_STORAGE_KARMA is not set
    # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
    # CONFIG_USB_STORAGE_ENE_UB6250 is not set
    # CONFIG_USB_UAS is not set

    #
    # USB Imaging devices
    #
    # CONFIG_USB_MDC800 is not set
    # CONFIG_USB_MICROTEK is not set
    # CONFIG_USBIP_CORE is not set
    CONFIG_USB_MUSB_HDRC=m
    # CONFIG_USB_MUSB_HOST is not set
    # CONFIG_USB_MUSB_GADGET is not set
    CONFIG_USB_MUSB_DUAL_ROLE=y

    #
    # Platform Glue Layer
    #
    CONFIG_USB_MUSB_TUSB6010=m
    CONFIG_USB_MUSB_OMAP2PLUS=m
    CONFIG_USB_MUSB_AM35X=m
    CONFIG_USB_MUSB_DSPS=m
    CONFIG_USB_MUSB_AM335X_CHILD=m

    #
    # MUSB DMA mode
    #
    # CONFIG_MUSB_PIO_ONLY is not set
    CONFIG_USB_INVENTRA_DMA=y
    CONFIG_USB_TI_CPPI41_DMA=y
    CONFIG_USB_TUSB_OMAP_DMA=y
    CONFIG_USB_DWC3=m
    # CONFIG_USB_DWC3_HOST is not set
    # CONFIG_USB_DWC3_GADGET is not set
    CONFIG_USB_DWC3_DUAL_ROLE=y

    #
    # Platform Glue Driver Support
    #
    CONFIG_USB_DWC3_OMAP=m
    CONFIG_USB_DWC3_OF_SIMPLE=m
    # CONFIG_USB_DWC2 is not set
    # CONFIG_USB_CHIPIDEA is not set
    # CONFIG_USB_ISP1760 is not set

    #
    # USB port drivers
    #
    CONFIG_USB_SERIAL=m
    CONFIG_USB_SERIAL_GENERIC=y
    CONFIG_USB_SERIAL_SIMPLE=m
    # CONFIG_USB_SERIAL_AIRCABLE is not set
    # CONFIG_USB_SERIAL_ARK3116 is not set
    # CONFIG_USB_SERIAL_BELKIN is not set
    # CONFIG_USB_SERIAL_CH341 is not set
    # CONFIG_USB_SERIAL_WHITEHEAT is not set
    # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
    # CONFIG_USB_SERIAL_CP210X is not set
    # CONFIG_USB_SERIAL_CYPRESS_M8 is not set
    # CONFIG_USB_SERIAL_EMPEG is not set
    CONFIG_USB_SERIAL_FTDI_SIO=m
    # CONFIG_USB_SERIAL_VISOR is not set
    # CONFIG_USB_SERIAL_IPAQ is not set
    # CONFIG_USB_SERIAL_IR is not set
    # CONFIG_USB_SERIAL_EDGEPORT is not set
    # CONFIG_USB_SERIAL_EDGEPORT_TI is not set
    # CONFIG_USB_SERIAL_F81232 is not set
    # CONFIG_USB_SERIAL_GARMIN is not set
    # CONFIG_USB_SERIAL_IPW is not set
    # CONFIG_USB_SERIAL_IUU is not set
    # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
    # CONFIG_USB_SERIAL_KEYSPAN is not set
    # CONFIG_USB_SERIAL_KLSI is not set
    # CONFIG_USB_SERIAL_KOBIL_SCT is not set
    # CONFIG_USB_SERIAL_MCT_U232 is not set
    # CONFIG_USB_SERIAL_METRO is not set
    # CONFIG_USB_SERIAL_MOS7720 is not set
    # CONFIG_USB_SERIAL_MOS7840 is not set
    # CONFIG_USB_SERIAL_MXUPORT is not set
    # CONFIG_USB_SERIAL_NAVMAN is not set
    CONFIG_USB_SERIAL_PL2303=m
    # CONFIG_USB_SERIAL_OTI6858 is not set
    # CONFIG_USB_SERIAL_QCAUX is not set
    # CONFIG_USB_SERIAL_QUALCOMM is not set
    # CONFIG_USB_SERIAL_SPCP8X5 is not set
    # CONFIG_USB_SERIAL_SAFE is not set
    # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
    # CONFIG_USB_SERIAL_SYMBOL is not set
    # CONFIG_USB_SERIAL_TI is not set
    # CONFIG_USB_SERIAL_CYBERJACK is not set
    # CONFIG_USB_SERIAL_XIRCOM is not set
    # CONFIG_USB_SERIAL_OPTION is not set
    # CONFIG_USB_SERIAL_OMNINET is not set
    # CONFIG_USB_SERIAL_OPTICON is not set
    # CONFIG_USB_SERIAL_XSENS_MT is not set
    # CONFIG_USB_SERIAL_WISHBONE is not set
    # CONFIG_USB_SERIAL_SSU100 is not set
    # CONFIG_USB_SERIAL_QT2 is not set
    # CONFIG_USB_SERIAL_DEBUG is not set

    #
    # USB Miscellaneous drivers
    #
    # CONFIG_USB_EMI62 is not set
    # CONFIG_USB_EMI26 is not set
    # CONFIG_USB_ADUTUX is not set
    # CONFIG_USB_SEVSEG is not set
    # CONFIG_USB_RIO500 is not set
    # CONFIG_USB_LEGOTOWER is not set
    # CONFIG_USB_LCD is not set
    # CONFIG_USB_CYPRESS_CY7C63 is not set
    # CONFIG_USB_CYTHERM is not set
    # CONFIG_USB_IDMOUSE is not set
    # CONFIG_USB_FTDI_ELAN is not set
    # CONFIG_USB_APPLEDISPLAY is not set
    # CONFIG_USB_SISUSBVGA is not set
    # CONFIG_USB_LD is not set
    # CONFIG_USB_TRANCEVIBRATOR is not set
    # CONFIG_USB_IOWARRIOR is not set
    CONFIG_USB_TEST=m
    # CONFIG_USB_EHSET_TEST_FIXTURE is not set
    # CONFIG_USB_ISIGHTFW is not set
    # CONFIG_USB_YUREX is not set
    # CONFIG_USB_EZUSB_FX2 is not set
    # CONFIG_USB_HSIC_USB3503 is not set
    # CONFIG_USB_HSIC_USB4604 is not set
    # CONFIG_USB_LINK_LAYER_TEST is not set
    # CONFIG_USB_CHAOSKEY is not set

    #
    # USB Physical Layer drivers
    #
    CONFIG_USB_PHY=y
    CONFIG_NOP_USB_XCEIV=m
    CONFIG_AM335X_CONTROL_USB=m
    CONFIG_AM335X_PHY_USB=m
    CONFIG_TWL6030_USB=m
    # CONFIG_USB_GPIO_VBUS is not set
    # CONFIG_USB_ISP1301 is not set
    # CONFIG_USB_ULPI is not set
    CONFIG_USB_GADGET=m
    CONFIG_USB_GADGET_DEBUG=y
    # CONFIG_USB_GADGET_VERBOSE is not set
    CONFIG_USB_GADGET_DEBUG_FILES=y
    CONFIG_USB_GADGET_DEBUG_FS=y
    CONFIG_USB_GADGET_VBUS_DRAW=2
    CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2

    #
    # USB Peripheral Controller
    #
    # CONFIG_USB_FUSB300 is not set
    # CONFIG_USB_FOTG210_UDC is not set
    # CONFIG_USB_GR_UDC is not set
    # CONFIG_USB_R8A66597 is not set
    # CONFIG_USB_PXA27X is not set
    # CONFIG_USB_MV_UDC is not set
    # CONFIG_USB_MV_U3D is not set
    # CONFIG_USB_M66592 is not set
    # CONFIG_USB_BDC_UDC is not set
    # CONFIG_USB_NET2272 is not set
    # CONFIG_USB_GADGET_XILINX is not set
    # CONFIG_USB_DUMMY_HCD is not set
    CONFIG_USB_LIBCOMPOSITE=m
    CONFIG_USB_F_ACM=m
    CONFIG_USB_F_SS_LB=m
    CONFIG_USB_U_SERIAL=m
    CONFIG_USB_U_ETHER=m
    CONFIG_USB_F_SERIAL=m
    CONFIG_USB_F_OBEX=m
    CONFIG_USB_F_NCM=m
    CONFIG_USB_F_ECM=m
    CONFIG_USB_F_PHONET=m
    CONFIG_USB_F_EEM=m
    CONFIG_USB_F_SUBSET=m
    CONFIG_USB_F_RNDIS=m
    CONFIG_USB_F_MASS_STORAGE=m
    CONFIG_USB_F_FS=m
    CONFIG_USB_F_UAC1=m
    CONFIG_USB_F_UAC2=m
    CONFIG_USB_F_MIDI=m
    CONFIG_USB_F_HID=m
    CONFIG_USB_CONFIGFS=m
    CONFIG_USB_CONFIGFS_SERIAL=y
    CONFIG_USB_CONFIGFS_ACM=y
    CONFIG_USB_CONFIGFS_OBEX=y
    CONFIG_USB_CONFIGFS_NCM=y
    CONFIG_USB_CONFIGFS_ECM=y
    CONFIG_USB_CONFIGFS_ECM_SUBSET=y
    CONFIG_USB_CONFIGFS_RNDIS=y
    CONFIG_USB_CONFIGFS_EEM=y
    CONFIG_USB_CONFIGFS_PHONET=y
    CONFIG_USB_CONFIGFS_MASS_STORAGE=y
    CONFIG_USB_CONFIGFS_F_LB_SS=y
    CONFIG_USB_CONFIGFS_F_FS=y
    CONFIG_USB_CONFIGFS_F_UAC1=y
    CONFIG_USB_CONFIGFS_F_UAC2=y
    CONFIG_USB_CONFIGFS_F_MIDI=y
    CONFIG_USB_CONFIGFS_F_HID=y
    # CONFIG_USB_CONFIGFS_F_UVC is not set
    # CONFIG_USB_CONFIGFS_F_PRINTER is not set
    CONFIG_USB_ZERO=m
    # CONFIG_USB_AUDIO is not set
    # CONFIG_USB_ETH is not set
    # CONFIG_USB_G_NCM is not set
    # CONFIG_USB_GADGETFS is not set
    # CONFIG_USB_FUNCTIONFS is not set
    # CONFIG_USB_MASS_STORAGE is not set
    # CONFIG_USB_G_SERIAL is not set
    # CONFIG_USB_MIDI_GADGET is not set
    # CONFIG_USB_G_PRINTER is not set
    # CONFIG_USB_CDC_COMPOSITE is not set
    CONFIG_USB_G_NOKIA=m
    # CONFIG_USB_G_ACM_MS is not set
    # CONFIG_USB_G_MULTI is not set
    # CONFIG_USB_G_HID is not set
    # CONFIG_USB_G_DBGP is not set
    # CONFIG_USB_G_WEBCAM is not set
    # CONFIG_USB_LED_TRIG is not set
    # CONFIG_USB_ULPI_BUS is not set
    # CONFIG_UWB is not set
    CONFIG_MMC=y
    # CONFIG_MMC_DEBUG is not set
    CONFIG_PWRSEQ_EMMC=y
    CONFIG_PWRSEQ_SIMPLE=y


    2.dts entry for usb is given below
    =====================
    &usb {
    status = "okay";

    control@44e10620 {
    status = "okay";
    };

    usb-phy@47401300 {
    status = "okay";
    };

    usb-phy@47401b00 {
    status = "okay";
    };

    usb@47401000 {
    status = "okay";
    };

    usb@47401800 {
    status = "okay";
    dr_mode = "host";
    };

    dma-controller@47402000 {
    status = "okay";
    };
    };
    usb kernel logs are given below
    ===================
    [ 92.162035] g_multi gadget: adding config #1 'Multifunction with RNDIS'/bf54190c
    [ 92.163506] rndis_register: configNr = 0
    [ 92.163536] g_multi gadget: adding 'rndis'/ddb66a80 to config 'Multifunction with RNDIS'/bf54190c
    [ 92.163588] rndis_set_param_medium: 0 0
    [ 92.163602] g_multi gadget: RNDIS: dual speed IN/ep1in OUT/ep1out NOTIFY/ep2in
    [ 92.163626] g_multi gadget: adding 'acm'/ddb68200 to config 'Multifunction with RNDIS'/bf54190c
    [ 92.163717] g_multi gadget: acm ttyGS0: dual speed IN/ep3in OUT/ep2out NOTIFY/ep4in
    [ 92.164094] g_multi gadget: adding 'Mass Storage Function'/dcff3900 to config 'Multifunction with RNDIS'/bf54190c
    [ 92.175903] g_multi gadget: I/O thread pid: 581
    [ 92.176083] g_multi gadget: cfg 1/bf54190c speeds: high full
    [ 92.176096] g_multi gadget: interface 0 = rndis/ddb66a80
    [ 92.176107] g_multi gadget: interface 1 = rndis/ddb66a80
    [ 92.176118] g_multi gadget: interface 2 = acm/ddb68200
    [ 92.176128] g_multi gadget: interface 3 = acm/ddb68200
    [ 92.176138] g_multi gadget: interface 4 = Mass Storage Function/dcff3900
    [ 92.176155] g_multi gadget: adding config #2 'Multifunction with CDC ECM'/bf5419b0
    [ 92.176885] g_multi gadget: adding 'cdc_ethernet'/ddb66300 to config 'Multifunction with CDC ECM'/bf5419b0
    [ 92.176968] g_multi gadget: CDC Ethernet: dual speed IN/ep1in OUT/ep1out NOTIFY/ep2in
    [ 92.176996] g_multi gadget: adding 'acm'/db2a8600 to config 'Multifunction with CDC ECM'/bf5419b0
    [ 92.177032] g_multi gadget: acm ttyGS0: dual speed IN/ep3in OUT/ep2out NOTIFY/ep4in
    [ 92.177056] g_multi gadget: adding 'Mass Storage Function'/ddb6ab40 to config 'Multifunction with CDC ECM'/bf5419b0
    [ 92.177077] g_multi gadget: cfg 2/bf5419b0 speeds: high full
    [ 92.177089] g_multi gadget: interface 0 = cdc_ethernet/ddb66300
    [ 92.177098] g_multi gadget: interface 1 = cdc_ethernet/ddb66300
    [ 92.177108] g_multi gadget: interface 2 = acm/db2a8600
    [ 92.177117] g_multi gadget: interface 3 = acm/db2a8600
    [ 92.177127] g_multi gadget: interface 4 = Mass Storage Function/ddb6ab40
    [ 92.177147] g_multi gadget: g_multi ready
    [ 92.373377] usb0: eth_open
    [ 92.374415] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
    [ 98.432808] gs_open: ttyGS0 (db300000,db220e80)
    [ 98.433150] gs_close: ttyGS0 (db300000,db220e80) ...
    [ 98.433166] gs_close: ttyGS0 (db300000,db220e80) done!
    [ 98.448262] gs_open: ttyGS0 (db300000,ddf04b40)
    [ 98.448459] gs_close: ttyGS0 (db300000,ddf04b40) ...
    [ 98.448473] gs_close: ttyGS0 (db300000,ddf04b40) done!
    [ 98.681833] gs_open: ttyGS0 (db0ef000,d7a48580)
    [ 98.682239] gs_close: ttyGS0 (db0ef000,d7a48580) ...
    [ 98.682259] gs_close: ttyGS0 (db0ef000,d7a48580) done!
    [ 98.683958] gs_open: ttyGS0 (db772800,dce72340)

    after connecting musb

    [ 187.555540] g_multi gadget: high-speed config #2: Multifunction with CDC ECM
    [ 187.557711] g_multi gadget: init ecm
    [ 187.557733] g_multi gadget: notify connect false
    [ 187.557866] g_multi gadget: reset acm ttyGS0
    [ 187.557877] g_multi gadget: activate acm ttyGS0
    [ 187.557980] gserial_connect: start ttyGS0
    [ 187.560035] g_multi gadget: acm ttyGS0 serial state 0003
    [ 187.561877] g_multi gadget: set_config: interface 4 (Mass Storage Function) requested delayed status
    [ 187.561894] g_multi gadget: delayed_status count 1
    [ 187.568204] g_multi gadget: usb_composite_setup_continue
    [ 187.568291] g_multi gadget: usb_composite_setup_continue: Completing delayed status
    [ 187.569142] g_multi gadget: activate ecm
    [ 187.569850] usb0: qlen 10
    [ 187.569905] g_multi gadget: ecm_open
    [ 187.570018] usb0: eth_start
    [ 187.570541] g_multi gadget: packet filter 0c
    [ 187.570558] g_multi gadget: ecm req21.43 v000c i0000 l0
    [ 187.572004] g_multi gadget: acm ttyGS0 req21.20 v0000 i0002 l7
    [ 187.586357] IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready
    [ 187.889284] hrtimer: interrupt took 165417 ns
    [ 188.393355] g_multi gadget: packet filter 0e
    [ 188.393382] g_multi gadget: ecm req21.43 v000e i0000 l0
    [ 188.424264] g_multi gadget: notify connect true
    [ 188.456257] g_multi gadget: notify speed 425984000
    [ 188.501614] g_multi gadget: packet filter 0e
    [ 188.501640] g_multi gadget: ecm req21.43 v000e i0000 l0
    [ 188.503814] g_multi gadget: packet filter 0e
    [ 188.503828] g_multi gadget: ecm req21.43 v000e i0000 l0
    [ 188.606238] g_multi gadget: sending command-failure status
    [ 188.790565] g_multi gadget: packet filter 0e
    [ 188.790592] g_multi gadget: ecm req21.43 v000e i0000 l0
    [ 188.871693] g_multi gadget: packet filter 0e
    [ 188.871721] g_multi gadget: ecm req21.43 v000e i0000 l0
    [ 189.666702] g_multi gadget: acm ttyGS0 req21.22 v0003 i0002 l0
    [ 189.667095] g_multi gadget: acm ttyGS0 req21.20 v0000 i0002 l7
    [ 189.669017] g_multi gadget: acm ttyGS0 req21.22 v0002 i0002 l0
    [ 189.769802] g_multi gadget: acm ttyGS0 req21.22 v0003 i0002 l0
    [ 190.726146] g_multi gadget: packet filter 0e
    [ 190.726174] g_multi gadget: ecm req21.43 v000e i0000 l0
    [ 191.055831] g_multi gadget: packet filter 0e
    [ 191.055858] g_multi gadget: ecm req21.43 v000e i0000 l0
    [ 203.069444] g_multi gadget: acm ttyGS0 req21.22 v0000 i0002 l0
    [ 203.121345] g_multi gadget: acm ttyGS0 req21.22 v0003 i0002 l0
    [ 203.121532] g_multi gadget: acm ttyGS0 req21.20 v0000 i0002 l7
    [ 209.067681] g_multi gadget: acm ttyGS0 req21.22 v0000 i0002 l0

    kindly help me and let me know if any other info is required.
  • Hi Rahul,

    The log shows you use g_multi gadget driver. Other than the ethernet function in g_multi, do you also use its mass storage and serial functions? If not, can use g_ether gadget driver instead?
  • Rahul,

    I haven’t heard back from you, I’m assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). thanks.
  • yes, i tried with g_ether and disable g_multi module then i could not see the usb0 interface on my board when i run the ifconfig.
  • Do you see usb0 interface if use command 'ifconfig -a'?
  • no i am not able to see the usb0 interface.

    root@Htouch:~# ifconfig -a
    can0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
    NOARP MTU:16 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:10
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
    Interrupt:169

    can1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
    NOARP MTU:16 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:10
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
    Interrupt:170

    eth0 Link encap:Ethernet HWaddr 68:C9:0B:84:C0:32
    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)
    Interrupt:180

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1%763860/128 Scope:Host
    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:1
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    sit0 Link encap:IPv6-in-IPv4
    NOARP MTU:1480 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:1
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    wlan0 Link encap:Ethernet HWaddr 3C:A3:08:C7:AE:A5
    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)
  • How did you load g_ether driver? Following is what I did. Please do the similar and provide the log if you still cannot get usb0 interface.

    root@am335x-evm:~# cat /sys/class/udc/musb-hdrc.0/uevent 
    DRIVER=g_multi
    USB_UDC_NAME=musb-hdrc
    USB_UDC_DRIVER=g_multi
    root@am335x-evm:~# 
    root@am335x-evm:~# modprobe -r g_multi
    root@am335x-evm:~# 
    root@am335x-evm:~# cat /sys/class/udc/musb-hdrc.0/uevent 
    USB_UDC_NAME=musb-hdrc
    root@am335x-evm:~# 
    root@am335x-evm:~# modprobe g_ether
    [80922.024632] using random self ethernet address
    [80922.029123] using random host ethernet address
    [80922.057900] using host ethernet address: aa:bb:cc:dd:33:52
    [80922.067008] usb0: HOST MAC aa:bb:cc:dd:33:52
    [80922.094020] usb0: MAC 92:6e:2c:31:e7:b4
    [80922.097979] using random self ethernet address
    [80922.119578] using random host ethernet address
    [80922.124329] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
    [80922.152693] g_ether gadget: g_ether ready
    root@am335x-evm:~# 
    root@am335x-evm:~# cat /sys/class/udc/musb-hdrc.0/uevent 
    DRIVER=g_ether
    USB_UDC_NAME=musb-hdrc
    USB_UDC_DRIVER=g_ether
    root@am335x-evm:~# 
    root@am335x-evm:~# ifconfig usb0
    usb0      Link encap:Ethernet  HWaddr 92:6E:2C:31:E7:B4  
              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)
    
    
  • Rahul,

    Are you able to use g_ether driver now? Do you still observe the high cpu load in your use case with g_ether driver?
  • Hi,

    I haven’t heard back from you, I’m assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). thanks.