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.

SK-AM62: USB is not working after rebuilding the kernel

Part Number: SK-AM62

Tool/software:

Hello everyone!
I'm using the SK-AM62 EVM board and ti-processor-sdk-linux-rt-am62xx-evm-09.02.01.10. I tried to run the tisdk-base-image and I rebuilt the kernel using the configuration make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" defconfig ti_arm64_prune.config ti_rt.config, not making any more changes to the kernel or dts. Everything is working well, except for the USB interface, which is not working, meaning for example I cannot connect a flash drive to the USB-A port. Here is my dmesg log | grep usb

[    0.737532] usbcore: registered new interface driver usbfs
[    0.737579] usbcore: registered new interface driver hub
[    0.737612] usbcore: registered new device driver usb
[    0.884561] usbcore: registered new interface driver usb-storage
[    0.887559] usbcore: registered new interface driver usbhid
[    0.887563] usbhid: USB HID core driver

What could be the problem? And an additional question, is there any appnote on creating a USB HID device based on the AM62x?

Копировать Перевести
Копировать Перевести
  • Hi Egor,

    When you re-compiled the kernel Image, you also have to compile the kernel modules too, then install the new kernel modules to your root filesystem along with the new kernel image. If you only updated the kernel image to the root filesystem but not kernel modules, both entities are mismatched and kernel modules won't load.

  • Ok, I executed the following commands

    make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" modules
    sudo make ARCH=arm64 INSTALL_MOD_PATH=/media/rootfs modules_install

    But the result is the same, USB is not working.

    Then I statically linked everything related to USB to the kernel but USB still doesn't work.

  • Hi Egor,

    meaning for example I cannot connect a flash drive to the USB-A port.

    Do you mean the EVM Linux console doesn't print any kernel message when you connect a flash drive to the USB-A port?

    First please compare file /proc/config.gz from your kernel build and the original base WIC image to see if there is any USB related kernel option is changed.

    If not, please attach the full Linux boot log.

  • Do you mean the EVM Linux console doesn't print any kernel message when you connect a flash drive to the USB-A port?

    Yes, the console doesn't print any message.

    First please compare file /proc/config.gz

    I compared both /proc/config.gz files and they are identical. I used the command zgrep USB config.gz. All parameters match. Here is my full boot log.

    root@am62xx-evm:~# dmesg
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 6.1.83-rt28-dirty (username@ubuntu-server) (aarch64-oe-linux-gcc (GCC) 11.4.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT_RT Thu Jul 11 09:00:38 +05 2024
    [    0.000000] Machine model: Texas Instruments AM625 SK
    [    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [    0.000000] printk: bootconsole [ns16550a0] enabled
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created CMA memory pool at 0x00000000f7600000, size 128 MiB
    [    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 3 MiB
    [    0.000000] OF: reserved mem: initialized node ipc-memories@9c800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009cb00000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node m4f-dma-memory@9cb00000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009cc00000, size 14 MiB
    [    0.000000] OF: reserved mem: initialized node m4f-memory@9cc00000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009da00000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9da00000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009db00000, size 12 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@9db00000, compatible id shared-dma-pool
    [    0.000000] Zone ranges:
    [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000]   DMA32    empty
    [    0.000000]   Normal   empty
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000080000000-0x000000009c7fffff]
    [    0.000000]   node   0: [mem 0x000000009c800000-0x000000009e6fffff]
    [    0.000000]   node   0: [mem 0x000000009e700000-0x000000009e77ffff]
    [    0.000000]   node   0: [mem 0x000000009e780000-0x000000009fffffff]
    [    0.000000]   node   0: [mem 0x00000000a0000000-0x00000000ff6fffff]
    [    0.000000]   node   0: [mem 0x00000000ff700000-0x00000000fffeffff]
    [    0.000000]   node   0: [mem 0x00000000ffff0000-0x00000000ffffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000] psci: probing for conduit method from DT.
    [    0.000000] psci: PSCIv1.1 detected in firmware.
    [    0.000000] psci: Using standard PSCI v0.2 function IDs
    [    0.000000] psci: Trusted OS migration not required
    [    0.000000] psci: SMC Calling Convention v1.4
    [    0.000000] percpu: Embedded 21 pages/cpu s45120 r8192 d32704 u86016
    [    0.000000] pcpu-alloc: s45120 r8192 d32704 u86016 alloc=21*4096
    [    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
    [    0.000000] Detected VIPT I-cache on CPU0
    [    0.000000] CPU features: detected: GIC system register CPU interface
    [    0.000000] CPU features: kernel page table isolation disabled by kernel configuration
    [    0.000000] CPU features: detected: ARM erratum 845719
    [    0.000000] alternatives: applying boot alternatives
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
    [    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=spi-nand0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),256k(ospi.env),256k(ospi.env.backup),98048k@32m(ospi.rootfs),256k@130816k(ospi.phypattern);omap2-nand.0:2m(NAND.tiboot3),2m(NAND.tispl),2m(NAND.tiboot3.backup),4m(NAND.u-boot),256k(NAND.u-boot-env),256k(NAND.u-boot-env.backup),-(NAND.file-system) root=PARTUUID=1a2fb328-02 rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
    [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [    0.000000] Memory: 1846880K/2097152K available (9856K kernel code, 1194K rwdata, 2244K rodata, 1728K init, 420K bss, 119200K reserved, 131072K cma-reserved)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
    [    0.000000] rcu: 	RCU_SOFTIRQ processing moved to rcuc kthreads.
    [    0.000000] 	No expedited grace period (rcu_normal_after_boot).
    [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.
    [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
    [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
    [    0.000000] GICv3: 256 SPIs implemented
    [    0.000000] GICv3: 0 Extended SPIs implemented
    [    0.000000] Root IRQ handler: 0xffff800008415960
    [    0.000000] GICv3: GICv3 features: 16 PPIs
    [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
    [    0.000000] ITS [mem 0x01820000-0x0182ffff]
    [    0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
    [    0.000000] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
    [    0.000000] ITS@0x0000000001820000: allocated 524288 Devices @80800000 (flat, esz 8, psz 64K, shr 0)
    [    0.000000] ITS: using cache flushing for cmd queue
    [    0.000000] GICv3: using LPI property table @0x0000000080030000
    [    0.000000] GIC: using cache flushing for LPI property table
    [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000080040000
    [    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
    [    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
    [    0.000001] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [    0.000253] Console: colour dummy device 80x25
    [    0.502620] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=200000)
    [    0.502631] pid_max: default: 32768 minimum: 301
    [    0.502723] LSM: Security Framework initializing
    [    0.502880] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [    0.502909] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [    0.504934] rcu: Hierarchical SRCU implementation.
    [    0.504941] rcu: 	Max phase no-delay instances is 400.
    [    0.504994] printk: bootconsole [ns16550a0] printing thread started
    [    0.557524] Platform MSI: msi-controller@1820000 domain created
    [    0.557806] PCI/MSI: /bus@f0000/interrupt-controller@1800000/msi-controller@1820000 domain created
    [    0.557906] EFI services will not be available.
    [    0.558200] smp: Bringing up secondary CPUs ...
    [    0.559081] Detected VIPT I-cache on CPU1
    [    0.559209] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
    [    0.559225] GICv3: CPU1: using allocated LPI pending table @0x0000000080050000
    [    0.559293] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [    0.609428] Detected VIPT I-cache on CPU2
    [    0.609538] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
    [    0.609550] GICv3: CPU2: using allocated LPI pending table @0x0000000080060000
    [    0.609590] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
    [    0.635585] Detected VIPT I-cache on CPU3
    [    0.635680] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
    [    0.635691] GICv3: CPU3: using allocated LPI pending table @0x0000000080070000
    [    0.635732] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
    [    0.635802] smp: Brought up 1 node, 4 CPUs
    [    0.635809] SMP: Total of 4 processors activated.
    [    0.670016] CPU features: detected: 32-bit EL0 Support
    [    0.670020] CPU features: detected: CRC32 instructions
    [    0.670077] CPU: All CPU(s) started at EL2
    [    0.670079] alternatives: applying system-wide alternatives
    [    0.671900] devtmpfs: initialized
    [    0.684145] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
    [    0.684171] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
    [    0.690462] pinctrl core: initialized pinctrl subsystem
    [    0.691215] DMI not present or invalid.
    [    0.691806] NET: Registered PF_NETLINK/PF_ROUTE protocol family
    [    0.706257] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
    [    0.706609] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [    0.706844] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [    0.706999] audit: initializing netlink subsys (disabled)
    [    0.707205] audit: type=2000 audit(0.705:1): state=initialized audit_enabled=0 res=1
    [    0.707876] thermal_sys: Registered thermal governor 'step_wise'
    [    0.708105] ASID allocator initialised with 65536 entries
    [    0.719761] platform 30200000.dss: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/sii9022@3b
    [    0.719893] platform a40000.pinctrl: Fixed dependency cycle(s) with /bus@f0000/pinctrl@a40000/cpsw-cpts
    [    0.721898] platform connector: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/sii9022@3b
    [    0.732660] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
    [    0.732670] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
    [    0.732674] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
    [    0.732677] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
    [    0.732681] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
    [    0.732683] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
    [    0.732687] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
    [    0.732690] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
    [    0.734518] k3-chipinfo 43000014.chipid: Family:AM62X rev:SR1.0 JTAGID[0x0bb7e02f] Detected
    [    0.737091] iommu: Default domain type: Translated 
    [    0.737107] iommu: DMA domain TLB invalidation policy: strict mode 
    [    0.737505] SCSI subsystem initialized
    [    0.737650] libata version 3.00 loaded.
    [    0.737909] usbcore: registered new interface driver usbfs
    [    0.737958] usbcore: registered new interface driver hub
    [    0.737987] usbcore: registered new device driver usb
    [    0.738589] pps_core: LinuxPPS API ver. 1 registered
    [    0.738594] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.738618] PTP clock support registered
    [    0.738773] EDAC MC: Ver: 3.0.0
    [    0.739744] omap-mailbox 29000000.mailbox: omap mailbox rev 0x66fc9100
    [    0.740188] FPGA manager framework
    [    0.740312] Advanced Linux Sound Architecture Driver Initialized.
    [    0.741424] clocksource: Switched to clocksource arch_sys_counter
    [    0.741710] VFS: Disk quotas dquot_6.6.0
    [    0.741755] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [    0.749321] NET: Registered PF_INET protocol family
    [    0.749655] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
    [    0.751440] tcp_listen_portaddr_hash hash table entries: 1024 (order: 3, 40960 bytes, linear)
    [    0.751503] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [    0.751516] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
    [    0.751752] TCP bind hash table entries: 16384 (order: 8, 1310720 bytes, linear)
    [    0.753533] TCP: Hash tables configured (established 16384 bind 16384)
    [    0.753815] UDP hash table entries: 1024 (order: 4, 98304 bytes, linear)
    [    0.754007] UDP-Lite hash table entries: 1024 (order: 4, 98304 bytes, linear)
    [    0.754514] NET: Registered PF_UNIX/PF_LOCAL protocol family
    [    0.755048] RPC: Registered named UNIX socket transport module.
    [    0.755061] RPC: Registered udp transport module.
    [    0.755063] RPC: Registered tcp transport module.
    [    0.755066] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.755076] PCI: CLS 0 bytes, default 64
    [    0.799616] Initialise system trusted keyrings
    [    0.799867] workingset: timestamp_bits=62 max_order=19 bucket_order=0
    [    0.805495] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.806108] NFS: Registering the id_resolver key type
    [    0.806161] Key type id_resolver registered
    [    0.806167] Key type id_legacy registered
    [    0.806239] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [    0.806251] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [    0.841473] Key type asymmetric registered
    [    0.841481] Asymmetric key parser 'x509' registered
    [    0.841552] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.841558] io scheduler mq-deadline registered
    [    0.841562] io scheduler kyber registered
    [    0.854964] pinctrl-single 4084000.pinctrl: 34 pins, size 136
    [    0.855796] pinctrl-single f4000.pinctrl: 171 pins, size 684
    [    0.858074] pinctrl-single a40000.pinctrl: 512 pins, size 2048
    [    0.865567] Serial: 8250/16550 driver, 12 ports, IRQ sharing enabled
    [    0.880684] loop: module loaded
    [    0.882108] megasas: 07.719.03.00-rc1
    [    0.886177] tun: Universal TUN/TAP device driver, 1.6
    [    0.887100] VFIO - User Level meta-driver version: 0.3
    [    0.888009] usbcore: registered new interface driver usb-storage
    [    0.888729] i2c_dev: i2c /dev entries driver
    [    0.889344] sdhci: Secure Digital Host Controller Interface driver
    [    0.889347] sdhci: Copyright(c) Pierre Ossman
    [    0.889696] sdhci-pltfm: SDHCI platform and OF driver helper
    [    0.890590] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [    0.890976] usbcore: registered new interface driver usbhid
    [    0.890980] usbhid: USB HID core driver
    [    0.892051] optee: probing for conduit method.
    [    0.892093] optee: revision 4.1 (012cdca4)
    [    0.892473] optee: dynamic shared memory is enabled
    [    0.892927] optee: initialized driver
    [    0.895025] Initializing XFRM netlink socket
    [    0.895074] NET: Registered PF_PACKET protocol family
    [    0.895178] Key type dns_resolver registered
    [    0.895520] registered taskstats version 1
    [    0.895525] Loading compiled-in X.509 certificates
    [    0.905870] ti-sci 44043000.system-controller: ABI: 3.1 (firmware rev 0x0009 '9.2.8--v09.02.08 (Kool Koala)')
    [    0.957071] ti-sci-clk 44043000.system-controller:clock-controller: recalc-rate failed for dev=81, clk=20, ret=-19
    [    0.980289] omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.981721] platform connector: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/sii9022@3b
    [    0.981812] platform 30200000.dss: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/sii9022@3b
    [    0.981880] i2c 1-003b: Fixed dependency cycle(s) with /connector
    [    0.981945] i2c 1-003b: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
    [    0.982502] omap_i2c 20010000.i2c: bus 1 rev0.12 at 100 kHz
    [    0.984109] omap_i2c 20020000.i2c: bus 2 rev0.12 at 400 kHz
    [    0.984391] ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created
    [    0.984680] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
    [    0.988562] simple-framebuffer ff700000.framebuffer: framebuffer at 0xff700000, 0x8ca000 bytes
    [    0.988585] simple-framebuffer ff700000.framebuffer: format=a8r8g8b8, mode=1920x1200x32, linelength=7680
    [    1.007190] Console: switching to colour frame buffer device 240x75
    [    1.021759] simple-framebuffer ff700000.framebuffer: fb0: simplefb registered!
    [    1.023483] ti-udma 485c0100.dma-controller: Number of rings: 82
    [    1.026233] ti-udma 485c0100.dma-controller: Channels: 48 (bchan: 18, tchan: 12, rchan: 18)
    [    1.029544] ti-udma 485c0000.dma-controller: Number of rings: 150
    [    1.034633] ti-udma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15)
    [    1.037846] printk: console [ttyS2] disabled
    [    1.043675] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 239, base_baud = 3000000) is a 8250
    [    1.051069] printk: console [ttyS2] printing thread started
    [    1.051094] printk: console [ttyS2] enabled
    [    1.051098] printk: bootconsole [ns16550a0] disabled
    [    1.062436] printk: bootconsole [ns16550a0] printing thread stopped
    [    1.064276] davinci_mdio 8000f00.mdio: Configuring MDIO in manual mode
    [    1.098446] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [    1.101185] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867
    [    1.101198] davinci_mdio 8000f00.mdio: phy[1]: device 8000f00.mdio:01, driver TI DP83867
    [    1.101244] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA01103, cpsw version 0x6BA81103 Ports: 3 quirks:00000006
    [    1.101477] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5
    [    1.101484] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
    [    1.102105] pps pps0: new PPS source ptp0
    [    1.102449] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:1
    [    1.123351] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
    [    1.128152] mmc0: CQHCI version 5.10
    [    1.135162] pca953x 1-0022: supply vcc not found, using dummy regulator
    [    1.135328] pca953x 1-0022: using AI
    [    1.153225] spi-nor spi0.0: s28hs512t (65536 Kbytes)
    [    1.153372] 7 fixed-partitions partitions found on MTD device fc40000.spi.0
    [    1.153383] Creating 7 MTD partitions on "fc40000.spi.0":
    [    1.153390] 0x000000000000-0x000000080000 : "ospi.tiboot3"
    [    1.155073] 0x000000080000-0x000000280000 : "ospi.tispl"
    [    1.156475] 0x000000280000-0x000000680000 : "ospi.u-boot"
    [    1.157867] 0x000000680000-0x0000006c0000 : "ospi.env"
    [    1.159220] 0x0000006c0000-0x000000700000 : "ospi.env.backup"
    [    1.160597] 0x000000800000-0x000003fc0000 : "ospi.rootfs"
    [    1.161973] 0x000003fc0000-0x000004000000 : "ospi.phypattern"
    [    1.170141] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
    [    1.171458] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
    [    1.171766] mmc1: CQHCI version 5.10
    [    1.172238] mmc2: CQHCI version 5.10
    [    1.175076] debugfs: Directory 'pd:186' with parent 'pm_genpd' already present!
    [    1.180648] ti-sci-clk 44043000.system-controller:clock-controller: is_prepared failed for dev=81, clk=20, ret=-19
    [    1.186393] ALSA device list:
    [    1.186400]   No soundcards found.
    [    1.213610] mmc2: SDHCI controller on fa20000.mmc [fa20000.mmc] using ADMA 64-bit
    [    1.213639] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
    [    1.214527] Waiting for root device PARTUUID=1a2fb328-02...
    [    1.219442] sdhci-am654 fa20000.mmc: card claims to support voltages below defined range
    [    1.232650] mmc2: new high speed SDIO card at address 0001
    [    1.252352] mmc0: Command Queue Engine enabled
    [    1.252376] mmc0: new HS200 MMC card at address 0001
    [    1.253239] mmcblk0: mmc0:0001 S0J56X 14.8 GiB 
    [    1.255328]  mmcblk0: p1 p2
    [    1.256122] mmcblk0boot0: mmc0:0001 S0J56X 31.5 MiB 
    [    1.257663] mmcblk0boot1: mmc0:0001 S0J56X 31.5 MiB 
    [    1.258950] mmcblk0rpmb: mmc0:0001 S0J56X 4.00 MiB, chardev (240:0)
    [    1.264588] mmc1: new ultra high speed DDR50 SDHC card at address aaaa
    [    1.265529] mmcblk1: mmc1:aaaa SL08G 7.40 GiB 
    [    1.267882]  mmcblk1: p1 p2
    [    1.859837] EXT4-fs (mmcblk1p2): recovery complete
    [    1.861137] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Quota mode: none.
    [    1.861235] VFS: Mounted root (ext4 filesystem) on device 179:98.
    [    1.861914] devtmpfs: mounted
    [    1.863379] Freeing unused kernel memory: 1728K
    [    1.863527] Run /sbin/init as init process
    [    1.863531]   with arguments:
    [    1.863532]     /sbin/init
    [    1.863535]   with environment:
    [    1.863536]     HOME=/
    [    1.863538]     TERM=linux
    [    2.082195] systemd[1]: System time before build time, advancing clock.
    [    2.114844] 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)
    [    2.115611] systemd[1]: Detected architecture arm64.
    [    2.158730] systemd[1]: Hostname set to <am62xx-evm>.
    [    2.267772] systemd-sysv-generator[184]: 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.
    [    2.481619] systemd[1]: Binding to IPv6 address not available since kernel does not support IPv6.
    [    2.481663] systemd[1]: Binding to IPv6 address not available since kernel does not support IPv6.
    [    2.553271] 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.
    [    2.612917] systemd[1]: Queued start job for default target Multi-User System.
    [    2.662872] systemd[1]: Created slice Slice /system/getty.
    [    2.679632] systemd[1]: Created slice Slice /system/modprobe.
    [    2.695598] systemd[1]: Created slice Slice /system/serial-getty.
    [    2.711938] systemd[1]: Created slice User and Session Slice.
    [    2.727055] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [    2.743982] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [    2.762989] systemd[1]: Reached target Path Units.
    [    2.773543] systemd[1]: Reached target Remote File Systems.
    [    2.787626] systemd[1]: Reached target Slice Units.
    [    2.798264] systemd[1]: Reached target Swaps.
    [    2.809940] systemd[1]: Listening on RPCbind Server Activation Socket.
    [    2.824714] systemd[1]: Reached target RPC Port Mapper.
    [    2.845679] systemd[1]: Listening on Process Core Dump Socket.
    [    2.860141] systemd[1]: Listening on initctl Compatibility Named Pipe.
    [    2.876689] systemd[1]: Listening on Journal Audit Socket.
    [    2.891371] systemd[1]: Listening on Journal Socket (/dev/log).
    [    2.906370] systemd[1]: Listening on Journal Socket.
    [    2.918737] systemd[1]: Listening on Network Service Netlink Socket.
    [    2.935455] systemd[1]: Listening on udev Control Socket.
    [    2.950245] systemd[1]: Listening on udev Kernel Socket.
    [    2.964326] systemd[1]: Listening on User Database Manager Socket.
    [    3.001071] systemd[1]: Mounting Huge Pages File System...
    [    3.017117] systemd[1]: Mounting POSIX Message Queue File System...
    [    3.055046] systemd[1]: Mounting Kernel Debug File System...
    [    3.069246] systemd[1]: Kernel Trace File System was skipped because of a failed condition check (ConditionPathExists=/sys/kernel/tracing).
    [    3.074769] systemd[1]: Mounting Temporary Directory /tmp...
    [    3.093931] systemd[1]: Create List of Static Device Nodes was skipped because of a failed condition check (ConditionFileNotEmpty=/lib/modules/6.1.83-rt28-dirty/modules.devname).
    [    3.117572] systemd[1]: Starting Load Kernel Module configfs...
    [    3.134513] systemd[1]: Starting Load Kernel Module drm...
    [    3.150695] systemd[1]: Starting Load Kernel Module fuse...
    [    3.168200] systemd[1]: Starting Start psplash boot splash screen...
    [    3.211810] systemd[1]: Starting RPC Bind...
    [    3.222911] systemd[1]: File System Check on Root Device was skipped because of a failed condition check (ConditionPathIsReadWrite=!/).
    [    3.224356] systemd[1]: systemd-journald.service: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
    [    3.224383] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
    [    3.263742] systemd[1]: Starting Journal Service...
    [    3.294631] systemd[1]: Starting Load Kernel Modules...
    [    3.310843] systemd[1]: Starting Generate network units from Kernel command line...
    [    3.333999] systemd[1]: Starting Remount Root and Kernel File Systems...
    [    3.366588] EXT4-fs (mmcblk1p2): re-mounted. Quota mode: none.
    [    3.369132] systemd[1]: Starting Coldplug All udev Devices...
    [    3.398219] systemd[1]: Started Start psplash boot splash screen.
    [    3.414362] systemd[1]: Started RPC Bind.
    [    3.426576] systemd[1]: Started Journal Service.
    [    3.655851] systemd-journald[195]: Received client request to flush runtime journal.
    [    4.229561] random: crng init done
    [    4.388340] systemd-journald[195]: Oldest entry in /run/log/journal/de6caa9f02bf4bd8b32b605d504b46e5/system.journal is older than the configured file retention duration (1month), suggesting rotation.
    [    4.388365] systemd-journald[195]: /run/log/journal/de6caa9f02bf4bd8b32b605d504b46e5/system.journal: Journal header limits reached or header out-of-date, rotating.
    [    5.661626] am65-cpsw-nuss 8000000.ethernet eth1: PHY [8000f00.mdio:01] driver [TI DP83867] (irq=POLL)
    [    5.661669] am65-cpsw-nuss 8000000.ethernet eth1: configuring for phy/rgmii-rxid link mode
    [    5.692014] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL)
    [    5.692058] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
    [    8.802197] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
    [   11.234346] platform 2b300050.target-module: deferred probe pending

    Копировать Перевести
  • [    0.000000] Linux version 6.1.83-rt28-dirty (username@ubuntu-server) (aarch64-oe-linux-gcc (GCC) 11.4.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT_RT Thu Jul 11 09:00:38 +05 2024

    The log shows your kernel version is "6.1.83-rt28-dirty". Does your rootfs /lib/modules/ directory have a folder called the same name?

  • Does your rootfs /lib/modules/ directory have a folder called the same name?

    Yes, it is.

    Копировать Перевести
  • No it doesn't.

    The directory name has to be *exact* the same as the kernel version, which you can get from command 'uname -r'.

    In your case, the kernel version is 6.1.83-rt28-dirty, while the directory name is 6.1.83-rt28-ti-rt-g96....22. They don't match, so the USB driver modules are not loaded.

  • Oh, I missed it. What to do with this now and why did this situation arise in the first place? Unfortunately, simply renaming this directory does not correct the situation.

  • sudo make ARCH=arm64 INSTALL_MOD_PATH=/media/rootfs modules_install

    It seems there is something wrong with the command above.

    1. Is this in the same kernel build for both kernel Image and modules? a.k.a, did you run command 'make ... Image' and 'make ... modules' in the same build?

    2. If yes to question 1, have you confirmed the SD card is mounted to /media/rootfs directory before command 'make ... modules_install'?

  • 1. Is this in the same kernel build for both kernel Image and modules? a.k.a, did you run command 'make ... Image' and 'make ... modules' in the same build?

    Yes.

    2. If yes to question 1, have you confirmed the SD card is mounted to /media/rootfs directory before command 'make ... modules_install'?

    In fact, the root partition is mounted in /media/username/root. I copied the above command from the documentation to show the steps I took as an example. Actually I used the command sudo make ARCH=arm64 INSTALL_MOD_PATH=/media/username/root modules_install and the kernel is in /media/username/root/boot.

    Копировать Перевести
  • Please provide the Linux PC console log to show the content in /media/user/root/boot and /media/user/root/lib/modules using 'ls -l' command before and after you updated the SD card.

  • Before update

    After update, I renamed the directory /media/username/root/lib/modules/6.1.83-rt28-ti-rt-g96....22 to /media/username/root/lib/modules/6.1.83-rt28-dirty

    Копировать Перевести
  • A few days ago, you said the rootfs doesn't have a directory named "6.1.83-rt28-dirty" under /lib/modules. But now the 'ls' command shows the directory is there. It seems you now correctly updated the rootfs. Does the USB type-A port can enumerated USB devices now?

    If not, please attach the console boot log and the output of 'lsmod' command.

  • I do have a question though:

    Before the update, /lib/modules/ has a directory called "6.1.83-rt28-ti-rt-g96...2722", but it is gone after the update. What did you do to remove this directory? "make modules_install" command won't delete it.

  • What did you do to remove this directory?

    Above you wrote that there should be a directory 6.1.83-rt28-dirty and therefore I renamed the directory 6.1.83-rt28-ti-rt-g96....22

    Копировать Перевести
  • Why would you do that? That is not in the instruction!!!

    the "...-dirty" directory should be populated by the "sudo make modules_install" command.

  • This directory was filled by the command sudo make ARCH=arm64 INSTALL_MOD_PATH=/media/username/root modules_install, but the USB still does not work either way. But instead of the 6.1.83-rt28-dirty directory, the 6.1.83-rt28-ti-rt-g96....22 directory is filled in, and 6.1.83-rt28-dirty is not created at all. So the question is how to fix this so that USB works?

    Копировать Перевести
  • If the kernel Image has version signature of "6.1.83-rt28-dirty", but 'make modules_install" doesn't generate directory /lib/modules/6.1.83-rt28-dirty on the rootfs, it is either

    - the kernel Image and modules are not from the same kernel build,

    - or you didn't copy the correct kernel Image to the rootfs.

  • the kernel Image and modules are not from the same kernel build,

    As a result, the problem was solved; as it turned out, it was necessary to compile the kernel and modules with one command make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" Image modules, and then the problem with the USB modules was solved. But where is anything said about this in the documentation? And such problems are constant, almost at every step.

    Копировать Перевести
  • it was necessary to compile the kernel and modules with one command make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" Image modules,

    This is really not accurate. compiling kernel image and modules doesn't have to be in "one" command. They can also be in two sequential commands. I mentioned this multiple times above that "both have to be in the same kernel build".

  • As you write it doesn’t work, you can try to reproduce it yourself.

    Копировать Перевести
  • Well, I know it works, I am compiling kernel in daily basis.

    If you know how Makefile or make targets works, you know commands "make ... Image modules" and "make ... Image; make ... modules" do the same thing.

  • If you know how Makefile or make targets works, you know commands "make ... Image modules" and "make ... Image; make ... modules" do the same thing.

    I know how a makefile works and nothing prevents me from running 2 or more build targets. I’ll explain it to you again, since you say USB doesn’t work. I just checked again, the modules folder is being created, but the USB host is not working. This is where I started my thread.

    Копировать Перевести
  • I reproduced everything again. I recorded the tisdk-base-image on the SD card, launched it and made sure that the usb host was working. Next, I compiled the kernel and modules separately:

    make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" distclean
    make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" defconfig ti_arm64_prune.config ti_rt.config tiny-base.config
    make -j 8 ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" Image
    make -j 8 ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" modules

    Next, I copied the kernel and modules to the SD card:

    sudo cp arch/arm64/boot/Image /media/username/root/boot
    sudo make ARCH=arm64 INSTALL_MOD_PATH=/media/username/root/ modules_install

    I inserted the SD card into the board and made sure that the USB host was working.

    Next, I did the same thing again, compiled the kernel and modules separately and wrote it to the SD card again in the same way. I inserted it into the board and the USB host no longer works this time. In general, I think that the problem is not solved. The same steps lead to different results.

    Копировать Перевести
  • Next, I did the same thing again, compiled the kernel and modules separately and wrote it to the SD card again in the same way
    The same steps lead to different results.

    Sorry, I am unable to comment on why the same "compile" and "copy" process running in different time generates different results.