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.

AM3358: Issue with Enabling OTG Functionality in USB1 Port on BEAGLEBONE BLK REV C (AM3358BZCZ)

Part Number: AM3358
Other Parts Discussed in Thread: TX12, AM3352, TPS65217

Tool/software:

Hi,

I have made the following hardware and software changes to achieve this functionality. With these updates, I am able to get the USB controller to act as a USB peripheral (verified by detecting the device as a COM port in Windows system using a USB A to USB A cable) when the USB1_ID pin jumper is opened. However, when I close the USB1_ID pin jumper, the USB controller does not switch into USB host mode as expected.

One of my findings is that when USB1_ID is grounded, the USB1_DRVVBUS pin toggles high and low continuously with a delay of approximately 1 seconds, which seems to be unusual behavior.

Could you kindly review the changes we’ve made and provide any insights or suggestions that might help resolve this issue?

Software Changes:

  • Linux Kernel:

We are using the kernel from the following repository and branch:
GitHub - RobertCNelson/bb-kernel, branch “am33x-v5.10”.

  • Def Config changes:

The following change was made to enable USB role switching:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
diff --git a/patches/defconfig b/patches/defconfig
index 63c7ae681..121151519 100644
--- a/patches/defconfig
+++ b/patches/defconfig
@@ -5464,7 +5467,7 @@ CONFIG_USB_G_DBGP_SERIAL=y
# end of USB Gadget precomposed configurations
# CONFIG_TYPEC is not set
-# CONFIG_USB_ROLE_SWITCH is not set
+CONFIG_USB_ROLE_SWITCH=y
CONFIG_MMC=y
CONFIG_PWRSEQ_EMMC=y
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • DTS file changes:

We modified the device tree as follows to enable OTG mode for USB1:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi
index 88b2f9d73aa6..c8e7514ec5e8 100644
--- a/arch/arm/boot/dts/am335x-bone-common.dtsi
+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
@@ -194,7 +194,9 @@ &usb0 {
};
&usb1 {
- dr_mode = "host";
+ dr_mode = "otg";
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Hardware changes:

  • USB1_ID pin close: USB controller is expected to act as a USB host.
  • USB1_ID pin opened: USB controller successfully acts as a USB peripheral. Verified by detecting the device as a COM port in Windows System using a USB A to USB A cable

I would appreciate any guidance or feedback on this issue.

Thanks,

Vinothraj.

  • Hi,

    When USB1_ID pin jumper is closed, please measure USB1_ID pin close to AM335x to confirm if it is indeed grounded.

    Typically when dr_mode = "otg" and DRVVBUS pin pulses in about 2 seconds interval, it likely means the ID pin is not grounded.

  • Hi Bin,

    Thank you for reply. I have double-checked and confirm that USB1_ID is indeed grounded.

  • Okay, if you take an unmodified Beaglebone Black, only modify USB1 dr_mode = "otg" in kernel devicetree, does its USB1_DRVVBUS pin still pulse?

  • I verified on an unmodified Beaglebone Black board using the same SD card image, and the USB1_DRVVBUS pin still pulses.

  • Additionally, I have verified the USB host on the modified BBB board with USB1 dr_mode = "host" set in the kernel device tree. In this case, I did not observe any USB1_DRVVBUS pin pulses.

  • Hi Vinothraj,

    I am out of office for the next two days, but I will test this on my BBB later this week and let you know

  • sure, Thank you.

  • Hi Vinothraj,

    I just finished checking this on my BBB board, and realized the fact for the MUSB port, which dr_mode sets to "otg", to work in host mode, a USB gadget driver should be loaded. So please load a USB gadget driver to see if you see USB1 works in host mode when its ID pin is grounded.

  • Hi Bin,

    I have loaded the USB gadget driver (g_serial), but unfortunately, USB1 does not work in host mode when the USB1 ID pin is grounded. As mentioned earlier, I observe that the USB_DRVVBUS pin pulses continuously with a 2-second delay in this scenario.

    However, USB1 operates correctly in device mode when the USB1 ID pin is not grounded.

    Kindly share your kernel version details, i will check the same in my board.

    Thanks.

  • Now when you attach a USB device to the USB1 port, does it get enumerated?

    My BBB has the 2-second interval pulses, but when I attach a USB device to USB1 type-A port, it gets enumerated.

  • When the USB1 ID pin is not grounded, I connected the USB1 port to a PC using a USB A to USB A cable, and it was enumerated as a COM port on PC. However, when the USB1 ID pin is grounded and I attach a Pendrive to the BBB's USB1 port, it is not enumerated. I believe the USB_DRVVBUS pin should remain high constantly, but instead, it pulses high and low continuously.

  • When the USB1 ID pin is not grounded

    USB1_ID on BBB should always be grounded. I guess you were testing on your custom board? If so, please first test on unmodified BBB.

    Please note that if USB0 port dr_mode also set to "otg", which is default, you have to load 2 different gadget drivers, one for each USB port.

    I did:

    # modprobe g_zero
    # modprobe g_serial

    I use SDK9.1 on BBB, kernel version is:

    Linux am335x-evm 6.1.46-g1d4b5da681 #1 PREEMPT Thu Oct 19 10:19:08 UTC 2023 armv7l armv7l armv7l GNU/Linux

  • I am using the BBB with a minor modification below. I removed the R49 (0 ohm) resistor and added a jumper to switch between grounded and not grounded for the USB1 ID pin. And i am using GitHub - RobertCNelson/bb-kernel, branch “am33x-v5.10”.

    Added Changes on device tree. 1. Disabled USB0 port 2. USB1 port "dr_mode" set to "otg".

    I will try kernel "Linux am335x-evm 6.1.4".

  • Please first test with the jumper connected before booting your board, then we don't have hardware difference in your test and my unmodified BBB.

  • Yes, There is no hardware difference.

    I tested the scenario where the jumper was connected before booting the board, but unfortunately, no luck.

  • Here is the list of commands to set USB1 dr_mode to "otg" in U-Boot prompt and boot linux:

    => load mmc 0:2 ${loadaddr} boot/zImage                                         
    => load mmc 0:2 ${fdtaddr} boot/dtb/am335x-boneblack.dtb                        
    => fdt addr $fdtaddr                                                            
    => fdt set usb1 dr_mode otg                                                     
    => run finduuid                                                                 
    => setenv bootargs root=PARTUUID=${uuid} rootwait rw earlycon console=${console}
    => bootz $loadaddr - $fdtaddr

  • I also tried the following sequence to disable usb0, so that I only need to load one usb gadget driver in Linux, usb1 can still enumerate attached device on my BBB.

    => load mmc 0:2 ${loadaddr} boot/zImage
    => load mmc 0:2 ${fdtaddr} boot/dtb/am335x-boneblack.dtb
    => fdt addr $fdtaddr
    => fdt resize 0x100000
    => fdt list usb1
    => fdt set usb0 status disabled
    => fdt set usb1 dr_mode otg
    => run finduuid
    => setenv bootargs root=PARTUUID=${uuid} rootwait rw earlycon console=${console}
    => bootz $loadaddr - $fdtaddr

  • Do i get Linux am335x-evm 6.1.46-g1d4b5da681 kernel image from below highlighted package. Please confirm.

    https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-AM335X/09.01.00.001

  • Yes, but it is the SDK installer.

    You could download the link under it, "*.wic.xz", this is the SD card image, and you can directly flash it to your SD card, using Linux command line tool like bmaptool.

  • Hi Bin,

    I have followed your steps to load the kernel 6.1.46-g1d4b5da681 with otg enabled, but unfortunately, I still haven't had any luck.

    Please find the logs below for your reference.

    https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-AM335X/09.01.00.001

    Image: tisdk-default-image-am335x-evm.wic.xz

    LOGS:

    U-Boot SPL 2023.04-gd74d0993e2 (Oct 18 2023 - 17:49:46 +0000)
    Trying to boot from MMC1


    U-Boot 2023.04-gd74d0993e2 (Oct 18 2023 - 17:49:46 +0000)

    CPU : AM335X-GP rev 2.1
    Model: TI AM335x BeagleBone Black
    DRAM: 512 MiB
    Core: 160 devices, 18 uclasses, devicetree: separate
    WDT: Started wdt@44e35000 with servicing every 1000ms (60s timeout)
    NAND: 0 MiB
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1...
    <ethaddr> not set. Validating first E-fuse MAC
    Net: eth2: ethernet@4a100000, eth3: usb_ether
    Hit any key to stop autoboot: 0
    =>
    => load mmc 0:2 ${loadaddr} boot/zImage
    7647744 bytes read in 491 ms (14.9 MiB/s)
    => load mmc 0:2 ${fdtaddr} boot/dtb/am335x-boneblack.dtb
    98004 bytes read in 11 ms (8.5 MiB/s)
    => fdt addr $fdtaddr
    Working FDT set to 88000000
    => fdt resize 0x100000
    => fdt list usb1
    usb@1800 {
    compatible = "ti,musb-am33xx";
    reg = <0x00001c00 0x00000400 0x00001800 0x00000200>;
    reg-names = "mc", "control";
    interrupts = <0x00000013>;
    interrupt-names = "mc";
    dr_mode = "host";
    mentor,multipoint = <0x00000001>;
    mentor,num-eps = <0x00000010>;
    mentor,ram-bits = <0x0000000c>;
    mentor,power = <0x000001f4>;
    phys = <0x00000061>;
    dmas = <0x0000005f 0x0000000f 0x00000000 0x0000005f 0x00000010 0x00000000 0x0000005f 0x00000011 0x00000000 0x0000005f 0x00000012 0x00000000 0x0000005f 0x00000013 0x00000000 0x0000005f 0x00000014 0x00000000 0x0000005f 0x00000015 0x00000000 0x0000005f 0x00000016 0x00000000 0x0000005f 0x00000017 0x00000000 0x0000005f 0x00000018 0x00000000 0x0000005f 0x00000019 0x00000000 0x0000005f 0x0000001a 0x00000000 0x0000005f 0x0000001b 0x00000000 0x0000005f 0x0000001c 0x00000000 0x0000005f 0x0000001d 0x00000000 0x0000005f 0x0000000f 0x00000001 0x0000005f 0x00000010 0x00000001 0x0000005f 0x00000011 0x00000001 0x0000005f 0x00000012 0x00000001 0x0000005f 0x00000013 0x00000001 0x0000005f 0x00000014 0x00000001 0x0000005f 0x00000015 0x00000001 0x0000005f 0x00000016 0x00000001 0x0000005f 0x00000017 0x00000001 0x0000005f 0x00000018 0x00000001 0x0000005f 0x00000019 0x00000001 0x0000005f 0x0000001a 0x00000001 0x0000005f 0x0000001b 0x00000001 0x0000005f 0x0000001c 0x00000001 0x0000005f 0x0000001d 0x00000001>;
    dma-names = "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7", "rx8", "rx9", "rx10", "rx11", "rx12", "rx13", "rx14", "rx15", "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7", "tx8", "tx9", "tx10", "tx11", "tx12", "tx13", "tx14", "tx15";
    phandle = <0x000000f5>;
    };
    => fdt set usb0 status disabled
    => fdt set usb1 dr_mode otg
    => run finduuid
    => fdt list usb1
    usb@1800 {
    compatible = "ti,musb-am33xx";
    reg = <0x00001c00 0x00000400 0x00001800 0x00000200>;
    reg-names = "mc", "control";
    interrupts = <0x00000013>;
    interrupt-names = "mc";
    dr_mode = "otg";
    mentor,multipoint = <0x00000001>;
    mentor,num-eps = <0x00000010>;
    mentor,ram-bits = <0x0000000c>;
    mentor,power = <0x000001f4>;
    phys = <0x00000061>;
    dmas = <0x0000005f 0x0000000f 0x00000000 0x0000005f 0x00000010 0x00000000 0x0000005f 0x00000011 0x00000000 0x0000005f 0x00000012 0x00000000 0x0000005f 0x00000013 0x00000000 0x0000005f 0x00000014 0x00000000 0x0000005f 0x00000015 0x00000000 0x0000005f 0x00000016 0x00000000 0x0000005f 0x00000017 0x00000000 0x0000005f 0x00000018 0x00000000 0x0000005f 0x00000019 0x00000000 0x0000005f 0x0000001a 0x00000000 0x0000005f 0x0000001b 0x00000000 0x0000005f 0x0000001c 0x00000000 0x0000005f 0x0000001d 0x00000000 0x0000005f 0x0000000f 0x00000001 0x0000005f 0x00000010 0x00000001 0x0000005f 0x00000011 0x00000001 0x0000005f 0x00000012 0x00000001 0x0000005f 0x00000013 0x00000001 0x0000005f 0x00000014 0x00000001 0x0000005f 0x00000015 0x00000001 0x0000005f 0x00000016 0x00000001 0x0000005f 0x00000017 0x00000001 0x0000005f 0x00000018 0x00000001 0x0000005f 0x00000019 0x00000001 0x0000005f 0x0000001a 0x00000001 0x0000005f 0x0000001b 0x00000001 0x0000005f 0x0000001c 0x00000001 0x0000005f 0x0000001d 0x00000001>;
    dma-names = "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7", "rx8", "rx9", "rx10", "rx11", "rx12", "rx13", "rx14", "rx15", "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7", "tx8", "tx9", "tx10", "tx11", "tx12", "tx13", "tx14", "tx15";
    phandle = <0x000000f5>;
    };
    => fdt list usb0
    usb@1400 {
    status = "disabled";
    compatible = "ti,musb-am33xx";
    reg = <0x00001400 0x00000400 0x00001000 0x00000200>;
    reg-names = "mc", "control";
    interrupts = <0x00000012>;
    interrupt-names = "mc", "vbus";
    dr_mode = "peripheral";
    mentor,multipoint = <0x00000001>;
    mentor,num-eps = <0x00000010>;
    mentor,ram-bits = <0x0000000c>;
    mentor,power = <0x000001f4>;
    phys = <0x0000005e>;
    dmas = <0x0000005f 0x00000000 0x00000000 0x0000005f 0x00000001 0x00000000 0x0000005f 0x00000002 0x00000000 0x0000005f 0x00000003 0x00000000 0x0000005f 0x00000004 0x00000000 0x0000005f 0x00000005 0x00000000 0x0000005f 0x00000006 0x00000000 0x0000005f 0x00000007 0x00000000 0x0000005f 0x00000008 0x00000000 0x0000005f 0x00000009 0x00000000 0x0000005f 0x0000000a 0x00000000 0x0000005f 0x0000000b 0x00000000 0x0000005f 0x0000000c 0x00000000 0x0000005f 0x0000000d 0x00000000 0x0000005f 0x0000000e 0x00000000 0x0000005f 0x00000000 0x00000001 0x0000005f 0x00000001 0x00000001 0x0000005f 0x00000002 0x00000001 0x0000005f 0x00000003 0x00000001 0x0000005f 0x00000004 0x00000001 0x0000005f 0x00000005 0x00000001 0x0000005f 0x00000006 0x00000001 0x0000005f 0x00000007 0x00000001 0x0000005f 0x00000008 0x00000001 0x0000005f 0x00000009 0x00000001 0x0000005f 0x0000000a 0x00000001 0x0000005f 0x0000000b 0x00000001 0x0000005f 0x0000000c 0x00000001 0x0000005f 0x0000000d 0x00000001 0x0000005f 0x0000000e 0x00000001>;
    dma-names = "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7", "rx8", "rx9", "rx10", "rx11", "rx12", "rx13", "rx14", "rx15", "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7", "tx8", "tx9", "tx10", "tx11", "tx12", "tx13", "tx14", "tx15";
    interrupts-extended = <0x00000001 0x00000012 0x00000060 0x00000000>;
    phandle = <0x000000f4>;
    };
    => setenv bootargs root=PARTUUID=${uuid} rootwait rw earlycon console=${console}
    => bootz $loadaddr - $fdtaddr
    Kernel image @ 0x82000000 [ 0x000000 - 0x74b200 ]
    ## Flattened Device Tree blob at 88000000
    Booting using the fdt blob at 0x88000000
    Working FDT set to 88000000
    Loading Device Tree to 8fee5000, end 8fffffff ... OK
    Working FDT set to 8fee5000

    Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Linux version 6.1.46-g1d4b5da681 (oe-user@oe-host) (arm-oe-linux-gnueabi-gcc (GCC) 11.4.0, GNU ld (GNU Binutils) 2.38.20220708) #1 PREEMPT Thu Oct 19 10:19:08 UTC 2023
    [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [ 0.000000] OF: fdt: Machine model: TI AM335x BeagleBone Black
    [ 0.000000] earlycon: omap8250 at MMIO 0x44e09000 (options '')
    [ 0.000000] printk: bootconsole [omap8250] enabled
    [ 0.000000] Memory policy: Data cache writeback
    [ 0.000000] efi: UEFI not found.
    [ 0.000000] cma: Reserved 64 MiB at 0x9b800000
    [ 0.000000] Zone ranges:
    [ 0.000000] Normal [mem 0x0000000080000000-0x000000009fdfffff]
    [ 0.000000] HighMem empty
    [ 0.000000] Movable zone start for each node
    [ 0.000000] Early memory node ranges
    [ 0.000000] node 0: [mem 0x0000000080000000-0x000000009fdfffff]
    [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x000000009fdfffff]
    [ 0.000000] CPU: All CPU(s) started in SVC mode.
    [ 0.000000] AM335X ES2.1 (sgx neon)
    [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 129540
    [ 0.000000] Kernel command line: root=PARTUUID=84550dbc-02 rootwait rw earlycon console=ttyO0,115200n8
    [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
    [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [ 0.000000] Memory: 433560K/522240K available (11264K kernel code, 1470K rwdata, 3264K rodata, 1024K init, 287K bss, 23144K reserved, 65536K cma-reserved, 0K highmem)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [ 0.000000] trace event string verifier disabled
    [ 0.000000] rcu: Preemptible hierarchical RCU implementation.
    [ 0.000000] rcu: RCU event tracing is enabled.
    [ 0.000000] Trampoline variant of Tasks RCU enabled.
    [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
    [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [ 0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrupts
    [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
    [ 0.000000] TI gptimer clocksource: always-on /ocp/interconnect@44c00000/segment@200000/target-module@31000
    [ 0.000002] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [ 0.008064] clocksource: dmtimer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [ 0.018035] TI gptimer clockevent: 24000000 Hz at /ocp/interconnect@48000000/segment@0/target-module@40000
    [ 0.029722] Console: colour dummy device 80x30
    [ 0.034329] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
    [ 0.041112] This ensures that you still see kernel messages. Please
    [ 0.047554] update your kernel commandline.
    [ 0.051889] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
    [ 0.094488] CPU: Testing write buffer coherency: ok
    [ 0.099577] CPU0: Spectre v2: using BPIALL workaround
    [ 0.104771] pid_max: default: 32768 minimum: 301
    [ 0.109699] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
    [ 0.117225] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
    [ 0.126767] cblist_init_generic: Setting adjustable number of callback queues.
    [ 0.134276] cblist_init_generic: Setting shift to 0 and lim to 1.
    [ 0.140707] Setting up static identity map for 0x80100000 - 0x80100060
    [ 0.147568] rcu: Hierarchical SRCU implementation.
    [ 0.152514] rcu: Max phase no-delay instances is 1000.
    [ 0.159640] EFI services will not be available.
    [ 0.164887] devtmpfs: initialized
    [ 0.182994] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [ 0.191240] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [ 0.201395] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
    [ 0.213380] pinctrl core: initialized pinctrl subsystem
    [ 0.219906] DMI not present or invalid.
    [ 0.224503] NET: Registered PF_NETLINK/PF_ROUTE protocol family
    [ 0.232894] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.241187] thermal_sys: Registered thermal governor 'step_wise'
    [ 0.241290] cpuidle: using governor menu
    [ 0.266320] No ATAGs?
    [ 0.268760] hw-breakpoint: debug architecture 0x4 unsupported.
    [ 0.276794] Serial: AMBA PL011 UART driver
    [ 0.310437] SCSI subsystem initialized
    [ 0.314960] usbcore: registered new interface driver usbfs
    [ 0.328095] usbcore: registered new interface driver hub
    [ 0.333600] usbcore: registered new device driver usb
    [ 0.348491] pps_core: LinuxPPS API ver. 1 registered
    [ 0.353603] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.378064] PTP clock support registered
    [ 0.382277] EDAC MC: Ver: 3.0.0
    [ 0.400134] clocksource: Switched to clocksource dmtimer
    [ 0.425047] NET: Registered PF_INET protocol family
    [ 0.430469] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
    [ 0.450687] tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 4096 bytes, linear)
    [ 0.459405] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [ 0.480153] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
    [ 0.488155] TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [ 0.520181] TCP: Hash tables configured (established 4096 bind 4096)
    [ 0.526824] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
    [ 0.540147] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
    [ 0.547468] NET: Registered PF_UNIX/PF_LOCAL protocol family
    [ 0.570626] RPC: Registered named UNIX socket transport module.
    [ 0.576731] RPC: Registered udp transport module.
    [ 0.590143] RPC: Registered tcp transport module.
    [ 0.594980] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.610142] PCI: CLS 0 bytes, default 64
    [ 0.621504] Initialise system trusted keyrings
    [ 0.630323] workingset: timestamp_bits=30 max_order=17 bucket_order=0
    [ 0.652519] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 0.670545] NFS: Registering the id_resolver key type
    [ 0.675805] Key type id_resolver registered
    [ 0.680106] Key type id_legacy registered
    [ 0.700314] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [ 0.707214] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [ 0.730177] ntfs: driver 2.1.32 [Flags: R/O].
    [ 0.735232] Key type asymmetric registered
    [ 0.739454] Asymmetric key parser 'x509' registered
    [ 0.760321] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
    [ 0.767934] io scheduler mq-deadline registered
    [ 0.780149] io scheduler kyber registered
    [ 0.881086] Serial: 8250/16550 driver, 5 ports, IRQ sharing enabled
    [ 0.902003] STMicroelectronics ASC driver initialized
    [ 0.929445] brd: module loaded
    [ 0.945768] loop: module loaded
    [ 0.964584] CAN device driver interface
    [ 0.968916] e1000e: Intel(R) PRO/1000 Network Driver
    [ 0.990136] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
    [ 0.996332] igb: Intel(R) Gigabit Ethernet Network Driver
    [ 1.010136] igb: Copyright (c) 2007-2014 Intel Corporation.
    [ 1.016697] pegasus: Pegasus/Pegasus II USB Ethernet driver
    [ 1.030207] usbcore: registered new interface driver pegasus
    [ 1.036080] usbcore: registered new interface driver asix
    [ 1.060177] usbcore: registered new interface driver ax88179_178a
    [ 1.066469] usbcore: registered new interface driver cdc_ether
    [ 1.080181] usbcore: registered new interface driver smsc75xx
    [ 1.086128] usbcore: registered new interface driver smsc95xx
    [ 1.110181] usbcore: registered new interface driver net1080
    [ 1.116028] usbcore: registered new interface driver cdc_subset
    [ 1.130185] usbcore: registered new interface driver zaurus
    [ 1.135987] usbcore: registered new interface driver cdc_ncm
    [ 1.150871] usbcore: registered new interface driver usb-storage
    [ 1.170637] i2c_dev: i2c /dev entries driver
    [ 1.177083] cpuidle: enable-method property 'ti,am3352' found operations
    [ 1.200811] sdhci: Secure Digital Host Controller Interface driver
    [ 1.207181] sdhci: Copyright(c) Pierre Ossman
    [ 1.220380] Synopsys Designware Multimedia Card Interface Driver
    [ 1.226712] sdhci-pltfm: SDHCI platform and OF driver helper
    [ 1.240666] ledtrig-cpu: registered to indicate activity on CPUs
    [ 1.247253] usbcore: registered new interface driver usbhid
    [ 1.270134] usbhid: USB HID core driver
    [ 1.276688] NET: Registered PF_INET6 protocol family
    [ 1.300575] Segment Routing with IPv6
    [ 1.304413] In-situ OAM (IOAM) with IPv6
    [ 1.308526] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [ 1.320950] NET: Registered PF_PACKET protocol family
    [ 1.326160] can: controller area network core
    [ 1.340218] NET: Registered PF_CAN protocol family
    [ 1.345152] can: raw protocol
    [ 1.348204] can: broadcast manager protocol
    [ 1.370143] can: netlink gateway - max_hops=1
    [ 1.375052] Key type dns_resolver registered
    [ 1.379585] ThumbEE CPU extension supported.
    [ 1.400154] Registering SWP/SWPB emulation handler
    [ 1.405565] omap_voltage_late_init: Voltage driver support not added
    [ 1.421066] Loading compiled-in X.509 certificates
    [ 1.500675] pinctrl-single 44e10800.pinmux: 142 pins, size 568
    [ 1.521688] ti-sysc: probe of 44e31000.target-module failed with error -16
    [ 1.561766] ti-sysc: probe of 48040000.target-module failed with error -16
    [ 1.596031] gpio gpiochip0: (gpio-0-31): not an immutable chip, please consider fixing it!
    [ 1.620497] OMAP GPIO hardware version 0.1
    [ 1.648564] at24 2-0054: supply vcc not found, using dummy regulator
    [ 1.694230] at24 2-0055: supply vcc not found, using dummy regulator
    [ 1.743823] at24 2-0056: supply vcc not found, using dummy regulator
    [ 1.793839] at24 2-0057: supply vcc not found, using dummy regulator
    [ 1.843576] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
    [ 1.863854] gpio gpiochip1: (gpio-32-63): not an immutable chip, please consider fixing it!
    [ 1.882263] gpio gpiochip2: (gpio-64-95): not an immutable chip, please consider fixing it!
    [ 1.914806] sdhci-omap 481d8000.mmc: supply pbias not found, using dummy regulator
    [ 1.928553] platform 4830e000.lcdc: Fixed dependency cycle(s) with /ocp/interconnect@44c00000/segment@200000/target-module@b000/i2c@0/tda19988@70
    [ 1.960429] sdhci-omap 481d8000.mmc: supply vqmmc not found, using dummy regulator
    [ 1.973044] omap_rng 48310000.rng: Random Number Generator ver. 20
    [ 1.979844] random: crng init done
    [ 2.060182] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [ 2.091481] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
    [ 2.110591] cpsw-switch 4a100000.switch: initialized cpsw ale version 1.4
    [ 2.117587] cpsw-switch 4a100000.switch: ALE Table size 1024
    [ 2.140269] cpsw-switch 4a100000.switch: cpts: overflow check period 500 (jiffies)
    [ 2.148069] cpsw-switch 4a100000.switch: CPTS: ref_clk_freq:250000000 calc_mult:2147483648 calc_shift:29 error:0 nsec/sec
    [ 2.180174] cpsw-switch 4a100000.switch: Detected MACID = 18:2c:65:02:86:d1
    [ 2.188508] cpsw-switch 4a100000.switch: initialized (regs 0x4a100000, pool size 256) hw_ver:0019010C 1.12 (0)
    [ 2.229747] debugfs: Directory '49000000.dma' with parent 'dmaengine' already present!
    [ 2.250155] edma 49000000.dma: TI EDMA DMA engine driver
    [ 2.297275] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [ 2.315287] l3-aon-clkctrl:0000:0: failed to disable
    [ 2.323559] gpio gpiochip3: (gpio-96-127): not an immutable chip, please consider fixing it!
    [ 2.352164] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 35, base_baud = 3000000) is a 8250
    [ 2.370301] printk: console [ttyS0] enabled
    [ 2.370301] printk: console [ttyS0] enabled
    [ 2.378810] printk: bootconsole [omap8250] disabled
    [ 2.378810] printk: bootconsole [omap8250] disabled
    [ 2.450897] tps65217-pmic: Failed to locate of_node [id: -1]
    [ 2.463307] tps65217-bl: Failed to locate of_node [id: -1]
    [ 2.472377] tps65217 0-0024: TPS65217 ID 0xe version 1.2
    [ 2.479161] at24 0-0050: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
    [ 2.486808] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [ 2.494710] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
    [ 2.505279] sdhci-omap 481d8000.mmc: supply pbias not found, using dummy regulator
    [ 2.518031] sdhci-omap 481d8000.mmc: supply vqmmc not found, using dummy regulator
    [ 2.525835] sdhci-omap 48060000.mmc: Got CD GPIO
    [ 2.530731] sdhci-omap 48060000.mmc: supply pbias not found, using dummy regulator
    [ 2.550179] sdhci-omap 48060000.mmc: supply vqmmc not found, using dummy regulator
    [ 2.596698] mmc0: SDHCI controller on 48060000.mmc [48060000.mmc] using External DMA
    [ 2.604679] mmc1: SDHCI controller on 481d8000.mmc [481d8000.mmc] using External DMA
    [ 2.615940] Waiting for root device PARTUUID=84550dbc-02...
    [ 2.653615] mmc0: new high speed SDHC card at address 5048
    [ 2.661108] mmcblk0: mmc0:5048 SD32G 29.1 GiB
    [ 2.671652] mmcblk0: p1 p2
    [ 2.709901] mmc1: new high speed MMC card at address 0001
    [ 2.719204] mmcblk1: mmc1:0001 MK2704 3.53 GiB
    [ 2.727435] mmcblk1: p1
    [ 2.734929] mmcblk1boot0: mmc1:0001 MK2704 2.00 MiB
    [ 2.743768] mmcblk1boot1: mmc1:0001 MK2704 2.00 MiB
    [ 2.750700] mmcblk1rpmb: mmc1:0001 MK2704 512 KiB, chardev (243:0)
    [ 3.015353] EXT4-fs (mmcblk0p2): recovery complete
    [ 3.022418] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Quota mode: disabled.
    [ 3.031793] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [ 3.040584] devtmpfs: mounted
    [ 3.045448] Freeing unused kernel image (initmem) memory: 1024K
    [ 3.052283] Run /sbin/init as init process
    [ 3.445242] systemd[1]: System time before build time, advancing clock.
    [ 3.491250] systemd[1]: systemd 250.5+ running in system mode (+PAM -AUDIT -SELINUX -APPARMOR +IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL +ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPTSETUP +LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -BZIP2 -LZ4 -XZ -ZLIB +ZSTD -BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=hybrid)
    [ 3.524518] systemd[1]: Detected architecture arm.

    Welcome to Arago 2023.04!

    [ 3.565988] systemd[1]: Hostname set to <am335x-evm>.
    [ 3.885722] systemd-sysv-generator[78]: SysV service '/etc/init.d/sysrepo' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
    [ 3.911844] systemd-sysv-generator[78]: SysV service '/etc/init.d/netopeer2-server' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
    [ 3.937699] systemd-sysv-generator[78]: SysV service '/etc/init.d/thermal-zone-init' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
    [ 4.555446] systemd[1]: /lib/systemd/system/bt-enable.service:9: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
    [ 4.686165] systemd[1]: /etc/systemd/system/sync-clocks.service:11: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
    [ 4.847336] systemd[1]: Queued start job for default target Graphical Interface.
    [ 4.861040] systemd[1]: Created slice Slice /system/getty.
    [ OK ] Created slice Slice /system/getty.
    [ 4.903581] systemd[1]: Created slice Slice /system/modprobe.
    [ OK ] Created slice Slice /system/modprobe.
    [ 4.946048] systemd[1]: Created slice Slice /system/serial-getty.
    [ OK ] Created slice Slice /system/serial-getty.
    [ 4.993368] systemd[1]: Created slice User and Session Slice.
    [ OK ] Created slice User and Session Slice.
    [ 5.032142] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [ OK ] Started Dispatch Password …ts to Console Directory Watch.
    [ 5.071080] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [ OK ] Started Forward Password R…uests to Wall Directory Watch.
    [ 5.113261] systemd[1]: Reached target Path Units.
    [ OK ] Reached target Path Units.
    [ 5.150697] systemd[1]: Reached target Remote File Systems.
    [ OK ] Reached target Remote File Systems.
    [ 5.191230] systemd[1]: Reached target Slice Units.
    [ OK ] Reached target Slice Units.
    [ 5.203396] systemd[1]: Reached target Swaps.
    [ OK ] Reached target Swaps.
    [ 5.273086] systemd[1]: Listening on RPCbind Server Activation Socket.
    [ OK ] Listening on RPCbind Server Activation Socket.
    [ 5.310820] systemd[1]: Reached target RPC Port Mapper.
    [ OK ] Reached target RPC Port Mapper.
    [ 5.399955] systemd[1]: Listening on Process Core Dump Socket.
    [ OK ] Listening on Process Core Dump Socket.
    [ 5.441318] systemd[1]: Listening on initctl Compatibility Named Pipe.
    [ OK ] Listening on initctl Compatibility Named Pipe.
    [ 5.561800] systemd[1]: Journal Audit Socket was skipped because of a failed condition check (ConditionSecurity=audit).
    [ 5.574769] systemd[1]: Listening on Journal Socket (/dev/log).
    [ OK ] Listening on Journal Socket (/dev/log).
    [ 5.611856] systemd[1]: Listening on Journal Socket.
    [ OK ] Listening on Journal Socket.
    [ 5.654208] systemd[1]: Listening on Network Service Netlink Socket.
    [ OK ] Listening on Network Service Netlink Socket.
    [ 5.693989] systemd[1]: Listening on udev Control Socket.
    [ OK ] Listening on udev Control Socket.
    [ 5.731576] systemd[1]: Listening on udev Kernel Socket.
    [ OK ] Listening on udev Kernel Socket.
    [ 5.773313] systemd[1]: Listening on User Database Manager Socket.
    [ OK ] Listening on User Database Manager Socket.
    [ 5.813042] systemd[1]: Huge Pages File System was skipped because of a failed condition check (ConditionPathExists=/sys/kernel/mm/hugepages).
    [ 5.829319] systemd[1]: POSIX Message Queue File System was skipped because of a failed condition check (ConditionPathExists=/proc/sys/fs/mqueue).
    [ 5.870908] systemd[1]: Mounting Kernel Debug File System...
    Mounting Kernel Debug File System...
    [ 5.952583] systemd[1]: Mounting Kernel Trace File System...
    Mounting Kernel Trace File System...
    [ 6.021078] systemd[1]: Mounting Temporary Directory /tmp...
    Mounting Temporary Directory /tmp...
    [ 6.048539] systemd[1]: Starting Create List of Static Device Nodes...
    Starting Create List of Static Device Nodes...
    [ 6.151478] systemd[1]: Starting Load Kernel Module configfs...
    Starting Load Kernel Module configfs...
    [ 6.183576] systemd[1]: Starting Load Kernel Module drm...
    Starting Load Kernel Module drm...
    [ 6.233598] systemd[1]: Starting Load Kernel Module fuse...
    Starting Load Kernel Module fuse...
    [ 6.268278] systemd[1]: Starting Start psplash boot splash screen...
    Starting Start psplash boot splash screen...
    [ 6.351561] systemd[1]: Starting RPC Bind...
    Starting RPC Bind...
    [ 6.365035] systemd[1]: File System Check on Root Device was skipped because of a failed condition check (ConditionPathIsReadWrite=!/).
    [ 6.383016] systemd[1]: systemd-journald.service: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
    [ 6.397082] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
    [ 6.441896] systemd[1]: Starting Journal Service...
    Starting Journal Service...
    [ 6.491636] systemd[1]: Starting Load Kernel Modules...
    Starting Load Kernel Modules...
    [ 6.515864] systemd[1]: Starting Generate network units from Kernel command line...
    Starting Generate network …ts from Kernel command line...
    [ 6.630899] cryptodev: loading out-of-tree module taints kernel.
    [ 6.661638] systemd[1]: Starting Remount Root and Kernel File Systems...
    Starting Remount Root and Kernel File Systems...
    [ 6.680846] cryptodev: driver 1.12 loaded.
    [ 6.761589] systemd[1]: Starting Coldplug All udev Devices...
    Starting Coldplug All udev Devices...
    [ 6.830441] EXT4-fs (mmcblk0p2): re-mounted. Quota mode: disabled.
    [ 6.869953] systemd[1]: Started RPC Bind.
    [ OK ] Started RPC Bind.
    [ 6.961819] systemd[1]: Mounted Kernel Debug File System.
    [ OK ] Mounted Kernel Debug File System.
    [ 6.991768] systemd[1]: Mounted Kernel Trace File System.
    [ OK ] Mounted Kernel Trace File System.
    [ 7.031538] systemd[1]: Mounted Temporary Directory /tmp.
    [ OK ] Mounted Temporary Directory /tmp.
    [ 7.060819] systemd[1]: Finished Create List of Static Device Nodes.
    [ OK ] Finished Create List of Static Device Nodes.
    [ 7.102683] systemd[1]: modprobe@configfs.service: Deactivated successfully.
    [ 7.131368] systemd[1]: Finished Load Kernel Module configfs.
    [ OK ] Finished Load Kernel Module configfs.
    [ 7.151751] systemd[1]: Started Journal Service.
    [ OK ] Started Journal Service.
    [ OK ] Finished Load Kernel Module drm.
    [ OK ] Finished Load Kernel Module fuse.
    [FAILED] Failed to start Start psplash boot splash screen.
    See 'systemctl status psplash-start.service' for details.
    [DEPEND] Dependency failed for Star…progress communication helper.
    [ OK ] Finished Load Kernel Modules.
    [ OK ] Finished Generate network units from Kernel command line.
    [ OK ] Finished Remount Root and Kernel File Systems.
    Mounting Kernel Configuration File System...
    Starting Flush Journal to Persistent Storage...
    Starting Apply Kernel Variables...
    [ 7.677547] systemd-journald[89]: Received client request to flush runtime journal.
    Starting Create Static Device Nodes in /dev...
    [ OK ] Mounted Kernel Configuration File System.
    [ OK ] Finished Flush Journal to Persistent Storage.
    [ OK ] Finished Apply Kernel Variables.
    [ OK ] Finished Create Static Device Nodes in /dev.
    [ OK ] Reached target Preparation for Local File Systems.
    Mounting /media/ram...
    Mounting /var/volatile...
    Starting Rule-based Manage…for Device Events and Files...
    [ OK ] Mounted /media/ram.
    [ OK ] Mounted /var/volatile.
    Starting Load/Save Random Seed...
    [ OK ] Reached target Local File Systems.
    Starting Create Volatile Files and Directories...
    [ OK ] Finished Load/Save Random Seed.
    [ OK ] Finished Create Volatile Files and Directories.
    Starting Network Time Synchronization...
    Starting Record System Boot/Shutdown in UTMP...
    [ OK ] Finished Record System Boot/Shutdown in UTMP.
    [ OK ] Started Rule-based Manager for Device Events and Files.
    [ OK ] Started Network Time Synchronization.
    [ OK ] Reached target System Time Set.
    [ OK ] Finished Coldplug All udev Devices.
    [ OK ] Reached target System Initialization.
    [ OK ] Started Daily rotation of log files.
    [ OK ] Started Daily Cleanup of Temporary Directories.
    [ OK ] Reached target Timer Units.
    [ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
    [ OK ] Listening on D-Bus System Message Bus Socket.
    Starting Docker Socket for the API...
    [ OK ] Listening on dropbear.socket.
    [ OK ] Listening on PC/SC Smart Card Daemon Activation Socket.
    Starting Weston socket...
    Starting D-Bus System Message Bus...
    Starting Reboot and dump vmcore via kexec...
    [ OK ] Listening on Docker Socket for the API.
    [ OK ] Listening on Weston socket.
    [ OK ] Reached target Socket Units.
    [ OK ] Found device /dev/ttyS0.
    [ OK ] Finished Reboot and dump vmcore via kexec.
    [ 11.982937] tda998x 0-0070: found TDA19988
    [ 11.997488] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [ 12.058241] am335x-phy-driver 47401300.usb-phy: supply vcc not found, using dummy regulator
    [ 12.092582] omap_rtc 44e3e000.rtc: registered as rtc0
    [ 12.101934] systemd-journald[89]: Time jumped backwards, rotating.
    [ 12.180303] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01T00:00:00 UTC (946684800)
    [ 12.220651] am335x-phy-driver 47401300.usb-phy: dummy supplies not allowed for exclusive requests
    [ 12.505958] am335x-phy-driver 47401b00.usb-phy: supply vcc not found, using dummy regulator
    [ 12.616508] am335x-phy-driver 47401b00.usb-phy: dummy supplies not allowed for exclusive requests
    [ 12.728257] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    [ 12.853092] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 1
    [ OK ] Started D-Bus System Message Bus.
    [ 12.978215] hub 1-0:1.0: USB hub found
    [ 13.040381] hub 1-0:1.0: 1 port detected
    [ OK ] Reached target Basic System.
    [ OK ] Started Job spooling tools.
    [ OK ] Started Periodic Command Scheduler.
    Starting Print notice about GPLv3 packages...
    Starting IPv6 Packet Filtering Framework...
    Starting IPv4 Packet Filtering Framework...
    Starting Lighttpd Daemon...
    [ OK ] Started strongSwan IPsec I…IKEv2 daemon using ipsec.conf.
    [ 14.111678] tilcdc 4830e000.lcdc: bound 0-0070 (ops tda998x_audio_codec_init [tda998x])
    [ 14.195354] [drm] Initialized tilcdc 1.0.0 20121205 for 4830e000.lcdc on minor 0
    Starting User Login Management...
    Starting Telnet Server...
    [ 14.357314] tilcdc 4830e000.lcdc: [drm] Cannot find any crtc or sizes
    [ 14.459137] tilcdc 4830e000.lcdc: [drm] Cannot find any crtc or sizes
    [FAILED] Failed to start Print notice about GPLv3 packages.
    See 'systemctl status gplv3-notice.service' for details.
    [ OK ] Finished IPv6 Packet Filtering Framework.
    [ OK ] Finished IPv4 Packet Filtering Framework.
    [ 14.637552] [drm] Initialized pvr 1.17.4948957 20110701 for 56000000.gpu on minor 1
    [ OK ] Started Lighttpd Daemon.
    [ OK ] Finished Telnet Server.
    [ *** ] A start job is running for User Login Management (19s / 1min 39s)
    [ *** ] A start job is running for User Login Management (19s / 1min 39s)
    [ 24.591184] remoteproc remoteproc1: 4a338000.pru is available
    [ OK ] Started User Login Management.
    [ OK ] Created slice Slice /system/systemd-fsck.
    [ OK ] Reached target Preparation for Network.
    [ OK ] Reached target Hardware activated USB gadget.
    [ OK ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
    Starting Save/Restore Sound Card State...
    Starting File System Check on /dev/mmcblk0p1...
    Starting File System Check on /dev/mmcblk1p1...
    Starting Network Configuration...
    [ OK ] Finished Save/Restore Sound Card State.
    [ OK ] Reached target Sound Card.
    [ OK ] Finished File System Check on /dev/mmcblk0p1.
    Mounting /run/media/boot-mmcblk0p1...
    [ OK ] Mounted /run/media/boot-mmcblk0p1.
    [ 28.911376] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [ OK ] Finished File System Check on /dev/mmcblk1p1.
    Mounting /run/media/rootfs-mmcblk1p1...
    [ 29.118065] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    [ 29.222051] EXT4-fs (mmcblk1p1): mounted filesystem with ordered data mode. Quota mode: disabled.
    [ OK ] Mounted /run/media/rootfs-mmcblk1p1.
    [ OK ] Started Network Configuration.
    [ 29.333240] cpsw-switch 4a100000.switch: starting ndev. mode: dual_mac
    Starting Network Name Resolution...
    [ 29.441471] SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver (mii_bus:phy_addr=4a101000.mdio:00, irq=POLL)
    [ OK ] Started Network Name Resolution.
    [ OK ] Reached target Network.
    [ OK ] Reached target Host and Network Name Lookups.
    Starting Avahi mDNS/DNS-SD Stack...
    Starting Enable and configure wl18xx bluetooth stack...
    Starting containerd container runtime...
    [ OK ] Started Netperf Benchmark Server.
    [ OK ] Started NFS status monitor for NFSv2/3 locking..
    Starting Simple Network Ma…ent Protocol (SNMP) Daemon....
    Starting Permit User Sessions...
    [FAILED] Failed to start Enable and…figure wl18xx bluetooth stack.
    See 'systemctl status bt-enable.service' for details.
    [ OK ] Finished Permit User Sessions.
    [ OK ] Started Avahi mDNS/DNS-SD Stack.
    [ OK ] Started Getty on tty1.
    [ OK ] Started Serial Getty on ttyS0.
    [ OK ] Reached target Login Prompts.
    Starting Synchronize System and HW clocks...
    Starting Weston, a Wayland…ositor, as a system service...
    Starting User Database Manager...
    [ OK ] Finished Synchronize System and HW clocks.
    [ OK ] Started User Database Manager.
    [ OK ] Created slice User Slice of UID 1000.
    Starting User Runtime Directory /run/user/1000...
    [ OK ] Finished User Runtime Directory /run/user/1000.
    Starting User Manager for UID 1000...
    [ OK ] Started Simple Network Man…ement Protocol (SNMP) Daemon..
    [ OK ] Started containerd container runtime.

    _____ _____ _ _
    | _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_
    | | _| .'| . | . | | __| _| . | | | -_| _| _|
    |__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_|
    |___| |___|

    Arago Project am335x-evm -

    Arago 2023.04 am335x-evm -

    am335x-evm login: root
    root@am335x-evm:~# uname -a
    Linux am335x-evm 6.1.46-g1d4b5da681 #1 PREEMPT Thu Oct 19 10:19:08 UTC 2023 armv7l armv7l armv7l GNU/Linux
    root@am335x-evm:~# modprobe g_serial
    [ 96.765271] g_serial gadget.0: Gadget Serial v2.4
    [ 96.770040] g_serial gadget.0: g_serial ready
    root@am335x-evm:~# #inserting USB pendrive now
    root@am335x-evm:~# ./script.sh
    chkusb.sh Version 0.4.0
    Linux am335x-evm 6.1.46-g1d4b5da681 #1 PREEMPT Thu Oct 19 10:19:08 UTC 2023 armv7l armv7l armv7l GNU/Linux
    find: /sys/devices/platform/ocp/47400000.target-module/47401400.usb/: No such file or directory
    usb0 device not found in sysfs
    USB is initialized
    Warning: CONFIG_USB_OTG defined.
    musb-hdrc.1: mode a_idle, Vbus off, timeout 1100 msec
    /sys/kernel/debug/usb/musb-hdrc.1/regdump:Power : e0
    /sys/kernel/debug/usb/musb-hdrc.1/regdump:Testmode : 00
    /sys/kernel/debug/usb/musb-hdrc.1/regdump:DevCtl : 88
    usb@1400: peripheral, disabled
    usb@1800: otg, (enabled)
    Device Tree USB node status:
    .: (enabled)
    usb-phy@1300: (enabled)
    usb-phy@1b00: (enabled)
    usb@1400: disabled
    usb@1800: (enabled)
    dma-controller@2000: (enabled)

    Gadget Kernel Config: g_zero is enabled
    Gadget Kernel Config: g_ether is enabled
    Gadget Kernel Config: g_ncm is enabled
    Gadget Kernel Config: g_mass_storage is enabled
    Gadget Kernel Config: g_serial is enabled
    gadget driver loaded: (none)

    The list of USB gadget drivers installed:
    /lib/modules/6.1.46-g1d4b5da681/kernel/drivers/usb/gadget/function/:
    u_audio.ko
    u_ether.ko
    u_serial.ko
    usb_f_acm.ko
    usb_f_ecm.ko
    usb_f_ecm_subset.ko
    usb_f_eem.ko
    usb_f_fs.ko
    usb_f_hid.ko
    usb_f_mass_storage.ko
    usb_f_midi.ko
    usb_f_ncm.ko
    usb_f_obex.ko
    usb_f_printer.ko
    usb_f_rndis.ko
    usb_f_serial.ko
    usb_f_ss_lb.ko
    usb_f_uac1.ko
    usb_f_uac1_legacy.ko
    usb_f_uac2.ko
    usb_f_uvc.ko

    /lib/modules/6.1.46-g1d4b5da681/kernel/drivers/usb/gadget/legacy/:
    g_cdc.ko
    g_ether.ko
    g_mass_storage.ko
    g_multi.ko
    g_ncm.ko
    g_serial.ko
    g_zero.ko
    root@am335x-evm:~#
    root@am335x-evm:~# ./script.sh
    chkusb.sh Version 0.4.0
    Linux am335x-evm 6.1.46-g1d4b5da681 #1 PREEMPT Thu Oct 19 10:19:08 UTC 2023 armv7l armv7l armv7l GNU/Linux
    find: /sys/devices/platform/ocp/47400000.target-module/47401400.usb/: No such file or directory
    usb0 device not found in sysfs
    USB is initialized
    Warning: CONFIG_USB_OTG defined.
    musb-hdrc.1: mode a_wait_vrise, Vbus on, timeout 1100 msec
    /sys/kernel/debug/usb/musb-hdrc.1/regdump:Power : e0
    /sys/kernel/debug/usb/musb-hdrc.1/regdump:Testmode : 00
    /sys/kernel/debug/usb/musb-hdrc.1/regdump:DevCtl : 19
    usb@1400: peripheral, disabled
    usb@1800: otg, (enabled)
    Device Tree USB node status:
    .: (enabled)
    usb-phy@1300: (enabled)
    usb-phy@1b00: (enabled)
    usb@1400: disabled
    usb@1800: (enabled)
    dma-controller@2000: (enabled)

    Gadget Kernel Config: g_zero is enabled
    Gadget Kernel Config: g_ether is enabled
    Gadget Kernel Config: g_ncm is enabled
    Gadget Kernel Config: g_mass_storage is enabled
    Gadget Kernel Config: g_serial is enabled
    gadget driver loaded: (none)

    The list of USB gadget drivers installed:
    /lib/modules/6.1.46-g1d4b5da681/kernel/drivers/usb/gadget/function/:
    u_audio.ko
    u_ether.ko
    u_serial.ko
    usb_f_acm.ko
    usb_f_ecm.ko
    usb_f_ecm_subset.ko
    usb_f_eem.ko
    usb_f_fs.ko
    usb_f_hid.ko
    usb_f_mass_storage.ko
    usb_f_midi.ko
    usb_f_ncm.ko
    usb_f_obex.ko
    usb_f_printer.ko
    usb_f_rndis.ko
    usb_f_serial.ko
    usb_f_ss_lb.ko
    usb_f_uac1.ko
    usb_f_uac1_legacy.ko
    usb_f_uac2.ko
    usb_f_uvc.ko

    /lib/modules/6.1.46-g1d4b5da681/kernel/drivers/usb/gadget/legacy/:
    g_cdc.ko
    g_ether.ko
    g_mass_storage.ko
    g_multi.ko
    g_ncm.ko
    g_serial.ko
    g_zero.ko
    root@am335x-evm:~# lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
    mmcblk0 179:0 0 29.1G 0 disk
    |-mmcblk0p1 179:1 0 128M 0 part /run/media/boot-mmcblk0p1
    `-mmcblk0p2 179:2 0 7G 0 part /
    mmcblk1 179:16 0 3.5G 0 disk
    `-mmcblk1p1 179:17 0 3.5G 0 part /run/media/rootfs-mmcblk1p1
    mmcblk1boot0 179:32 0 2M 1 disk
    mmcblk1boot1 179:48 0 2M 1 disk
    root@am335x-evm:~#

  • Is this tested on modified (USB1_ID pin) or unmodified BBB? I only have an unmodified BBB.

  • I have tested the kernel 6.1.46-g1d4b5da681(otg enabled) in both cases, modified (USB_ID pin)  BBB and unmodified BBB. The Result are same. Have you tested in your BBB board?  Are you able to see the USB controller act as Host mode, after otg enabled in USB1 port? 

  • Yes, I tested the same procedure on my unmodified BBB, and the USB1 port can enumerated SD card reader. Please see the console log attached below.

    In the log from line 592, the register dump DevCtrl register changes between 0x19 and 0x80, it means the DRVVBUS is toggling. Then at line 637 the SD card reader is enumerated after plugged into the type-A port.

    bbb-usb1-otg-test.log
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    ·
    U-Boot SPL 2023.04-gd74d0993e2 (Oct 18 2023 - 17:49:46 +0000)
    Trying to boot from MMC1
    U-Boot 2023.04-gd74d0993e2 (Oct 18 2023 - 17:49:46 +0000)
    CPU : AM335X-GP rev 2.1
    Model: TI AM335x BeagleBone Black
    DRAM: 512 MiB
    Core: 160 devices, 18 uclasses, devicetree: separate
    WDT: Started wdt@44e35000 with servicing every 1000ms (60s timeout)
    NAND: 0 MiB
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1...
    <ethaddr> not set. Validating first E-fuse MAC
    Net: eth2: ethernet@4a100000, eth3: usb_ether
    Hit any key to stop autoboot: 2 ··· 1 ··· 0
    => load mmc 0:2 ${loadaddr} boot/zImage
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • Hi Bin,

    Sorry, it was my mistake earlier. The issue has been resolved now. It turns out I was repeatedly using a faulty pendrive for my testing. I’ve now tried using a USB SD card reader, USB display device, and another pendrive (Pendrive 2) in the USB1 port, which is configured as OTG, and everything works fine.

    Interestingly, the faulty pendrive works on the USB1 port when it is completely configured as a USB host. This gave me confidence that the pendrive itself is not entirely faulty, but it seems to have limitations when using it with OTG mode.

    Thanks for your patience, and apologies for the confusion.

  • Hi Vinothraj,

    No worries, glad to hear the issue is resolved.

    Without checking with this "faulty" pendrive, I won't be able to tell what exactly caused it failed in enumeration when AM335x USB controller is configured to "otg" mode, but in the past I have seen similar issues with a few USB devices. Those devices were out of the USB Spec and took longer in enabling their DP/DM to inform the USB host, but by default the AM335x USB in otg mode only checks for 2 seconds (which is the 2-sec pulses you see) which is no long enough for such "faulty" USB devices.