AM3352: USB support for kernel 6.1 (AM335x SDK v9.3)

Part Number: AM3352
Other Parts Discussed in Thread: TPS65910

Tool/software:

Hi Team,

I am in the process of updating the SDK for AM335x from v7.3 to v9.3.

We have configured and are using LTE via the USB interface (ttyUSB*) on kernel v5.4. As part of the update to kernel v6.1, it appears that the USB driver and its nodes in am33xx.dtsi have changed.

Could you please advise on the modifications required to adapt our existing patch for enabling USB support in kernel v6.1?

Regards,
Pratik Pingate

  • Hi Pratik,

    There is no much of change in the "usb" node and its sub nodes in am33xx.dtsi. So the board devicetree configuration for USB should be pretty much the same in SDK v7.3 and v9.3.

    Please let me know if you still have issues in USB configuration in SDK9.3.

  • Hi Bin Liu,

    I made changes to the DTB and driver based on the older SDK v7.3, but I was unable to see the /dev/ttyUSB* node after booting the board.

    Please refer to the attached DTB file changes (snapshot) used for configuring LTE over USB in SDK v7.3. I have made similar changes in SDK v9.3, but I am unable to see the /dev/ttyUSB* node. I also enabled the USB in .config file.

    CONFIG_USB=y
    CONFIG_USB_SUPPORT=y
    CONFIG_USB_NET_QMI_WWAN=y
    CONFIG_USB_NET_DRIVERS=y
    CONFIG_USB_SERIAL_WWAN=y
    CONFIG_USB_SERIAL_QUALCOMM=y

    Regards,

    Pratik.

  • Hi Pratik,

    Please attach the kernel dmesg log for SDK v9.3.

  • By the way, what are the gpio0_23 and gpio0_26 in &usb0 for?

  • Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Linux version 6.1.119-ti-g2db926995a2e (oe-user@oe-host) (arm-oe-linux-gnueabi-gcc (GCC) 11.5.0, GNU ld (GNU Binutils) 2.38.20220708) #1 PREEMPT Wed Dec 4 17:16:52 UTC 2024
    [ 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] Memory policy: Data cache writeback
    [ 0.000000] efi: UEFI not found.
    [ 0.000000] cma: Reserved 64 MiB at 0xbc000000
    [ 0.000000] Zone ranges:
    [ 0.000000] Normal [mem 0x0000000080000000-0x00000000afdfffff]
    [ 0.000000] HighMem [mem 0x00000000afe00000-0x00000000bfffffff]
    [ 0.000000] Movable zone start for each node
    [ 0.000000] Early memory node ranges
    [ 0.000000] node 0: [mem 0x0000000080000000-0x00000000afdfffff]
    [ 0.000000] node 0: [mem 0x00000000b0000000-0x00000000bfffffff]
    [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000bfffffff]
    [ 0.000000] On node 0, zone HighMem: 512 pages in unavailable ranges
    [ 0.000000] CPU: All CPU(s) started in SVC mode.
    [ 0.000000] AM335X ES2.1 (neon)
    [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 260100
    [ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/ram0 rw 0x10000000
    [ 0.000000] Unknown kernel command line parameters "0x10000000", will be passed to user space.
    [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
    [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [ 0.000000] Memory: 907732K/1046528K available (12288K kernel code, 1483K rwdata, 3344K rodata, 1024K init, 285K bss, 73260K reserved, 65536K cma-reserved, 196608K 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.000003] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [ 0.000034] clocksource: dmtimer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [ 0.000618] TI gptimer clockevent: 24000000 Hz at /ocp/interconnect@48000000/segment@0/target-module@40000
    [ 0.003060] Console: colour dummy device 80x30
    [ 0.003115] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
    [ 0.003124] This ensures that you still see kernel messages. Please
    [ 0.003130] update your kernel commandline.
    [ 0.003177] Calibrating delay loop... 597.60 BogoMIPS (lpj=2988032)
    [ 0.060668] CPU: Testing write buffer coherency: ok
    [ 0.060777] CPU0: Spectre v2: using BPIALL workaround
    [ 0.060791] pid_max: default: 32768 minimum: 301
    [ 0.061125] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
    [ 0.061158] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
    [ 0.063499] cblist_init_generic: Setting adjustable number of callback queues.
    [ 0.063523] cblist_init_generic: Setting shift to 0 and lim to 1.
    [ 0.063720] Setting up static identity map for 0x80100000 - 0x80100060
    [ 0.063942] rcu: Hierarchical SRCU implementation.
    [ 0.063953] rcu: Max phase no-delay instances is 1000.
    [ 0.066662] EFI services will not be available.
    [ 0.067479] devtmpfs: initialized
    [ 0.087255] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [ 0.087636] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [ 0.087673] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
    [ 0.094627] pinctrl core: initialized pinctrl subsystem
    [ 0.096048] DMI not present or invalid.
    [ 0.097038] NET: Registered PF_NETLINK/PF_ROUTE protocol family
    [ 0.099954] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.101655] thermal_sys: Registered thermal governor 'step_wise'
    [ 0.101793] cpuidle: using governor menu
    [ 0.124770] No ATAGs?
    [ 0.124832] hw-breakpoint: debug architecture 0x4 unsupported.
    [ 0.154245] iommu: Default domain type: Translated
    [ 0.154272] iommu: DMA domain TLB invalidation policy: strict mode
    [ 0.156352] SCSI subsystem initialized
    [ 0.161466] usbcore: registered new interface driver usbfs
    [ 0.161541] usbcore: registered new interface driver hub
    [ 0.161607] usbcore: registered new device driver usb
    [ 0.162243] pps_core: LinuxPPS API ver. 1 registered
    [ 0.162258] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.162289] PTP clock support registered
    [ 0.162492] EDAC MC: Ver: 3.0.0
    [ 0.172959] clocksource: Switched to clocksource dmtimer
    [ 0.198280] NET: Registered PF_INET protocol family
    [ 0.198754] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
    [ 0.201498] tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 4096 bytes, linear)
    [ 0.201560] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [ 0.201587] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
    [ 0.201717] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
    [ 0.201899] TCP: Hash tables configured (established 8192 bind 8192)
    [ 0.202066] UDP hash table entries: 512 (order: 1, 8192 bytes, linear)
    [ 0.202111] UDP-Lite hash table entries: 512 (order: 1, 8192 bytes, linear)
    [ 0.202335] NET: Registered PF_UNIX/PF_LOCAL protocol family
    [ 0.203133] RPC: Registered named UNIX socket transport module.
    [ 0.203153] RPC: Registered udp transport module.
    [ 0.203160] RPC: Registered tcp transport module.
    [ 0.203165] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.203183] PCI: CLS 0 bytes, default 64
    [ 0.205168] Initialise system trusted keyrings
    [ 0.205550] workingset: timestamp_bits=30 max_order=18 bucket_order=0
    [ 0.212897] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 0.213508] Trying to unpack rootfs image as initramfs...
    [ 0.243665] NFS: Registering the id_resolver key type
    [ 0.243778] Key type id_resolver registered
    [ 0.243789] Key type id_legacy registered
    [ 0.243932] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [ 0.243947] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [ 0.244012] ntfs: driver 2.1.32 [Flags: R/O].
    [ 0.245053] Key type asymmetric registered
    [ 0.245078] Asymmetric key parser 'x509' registered
    [ 0.245312] bounce: pool size: 64 pages
    [ 0.245492] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
    [ 0.245508] io scheduler mq-deadline registered
    [ 0.245519] io scheduler kyber registered
    [ 0.442628] Serial: 8250/16550 driver, 5 ports, IRQ sharing enabled
    [ 0.466118] STMicroelectronics ASC driver initialized
    [ 0.503453] brd: module loaded
    [ 0.529421] loop: module loaded
    [ 0.557191] CAN device driver interface
    [ 0.557803] e1000e: Intel(R) PRO/1000 Network Driver
    [ 0.557813] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
    [ 0.557923] igb: Intel(R) Gigabit Ethernet Network Driver
    [ 0.557931] igb: Copyright (c) 2007-2014 Intel Corporation.
    [ 0.558636] tlan: ThunderLAN driver v1.17
    [ 0.558698] tlan: 0 devices installed, PCI: 0 EISA: 0
    [ 0.559339] PPP generic driver version 2.4.2
    [ 0.559733] PPP BSD Compression module registered
    [ 0.559751] PPP Deflate Compression module registered
    [ 0.559760] pegasus: Pegasus/Pegasus II USB Ethernet driver
    [ 0.559843] usbcore: registered new interface driver pegasus
    [ 0.559908] usbcore: registered new interface driver asix
    [ 0.559956] usbcore: registered new interface driver ax88179_178a
    [ 0.560019] usbcore: registered new interface driver cdc_ether
    [ 0.560094] usbcore: registered new interface driver smsc75xx
    [ 0.560156] usbcore: registered new interface driver smsc95xx
    [ 0.560204] usbcore: registered new interface driver net1080
    [ 0.560251] usbcore: registered new interface driver cdc_subset
    [ 0.560297] usbcore: registered new interface driver zaurus
    [ 0.560367] usbcore: registered new interface driver cdc_ncm
    [ 0.560417] usbcore: registered new interface driver qmi_wwan
    [ 0.561474] usbcore: registered new interface driver cdc_wdm
    [ 0.561562] usbcore: registered new interface driver usb-storage
    [ 0.561707] usbcore: registered new interface driver cp210x
    [ 0.561748] usbserial: USB Serial support registered for cp210x
    [ 0.561808] usbcore: registered new interface driver ftdi_sio
    [ 0.561846] usbserial: USB Serial support registered for FTDI USB Serial Device
    [ 0.561900] usbcore: registered new interface driver option
    [ 0.561936] usbserial: USB Serial support registered for GSM modem (1-port)
    [ 0.561981] usbcore: registered new interface driver pl2303
    [ 0.562015] usbserial: USB Serial support registered for pl2303
    [ 0.562060] usbcore: registered new interface driver qcserial
    [ 0.562095] usbserial: USB Serial support registered for Qualcomm USB modem
    [ 0.584163] i2c_dev: i2c /dev entries driver
    [ 0.587142] cpuidle: enable-method property 'ti,am3352' found operations
    [ 0.587961] sdhci: Secure Digital Host Controller Interface driver
    [ 0.587974] sdhci: Copyright(c) Pierre Ossman
    [ 0.588218] Synopsys Designware Multimedia Card Interface Driver
    [ 0.588468] sdhci-pltfm: SDHCI platform and OF driver helper
    [ 0.589136] ledtrig-cpu: registered to indicate activity on CPUs
    [ 0.589671] usbcore: registered new interface driver usbhid
    [ 0.589683] usbhid: USB HID core driver
    [ 0.613317] NET: Registered PF_INET6 protocol family
    [ 0.615379] Segment Routing with IPv6
    [ 0.615472] In-situ OAM (IOAM) with IPv6
    [ 0.615603] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [ 0.616619] NET: Registered PF_PACKET protocol family
    [ 0.616643] can: controller area network core
    [ 0.616761] NET: Registered PF_CAN protocol family
    [ 0.616775] can: raw protocol
    [ 0.616789] can: broadcast manager protocol
    [ 0.616805] can: netlink gateway - max_hops=1
    [ 0.617208] Key type dns_resolver registered
    [ 0.617395] ThumbEE CPU extension supported.
    [ 0.617420] Registering SWP/SWPB emulation handler
    [ 0.618077] omap_voltage_late_init: Voltage driver support not added
    [ 0.619308] Loading compiled-in X.509 certificates
    [ 0.758512] platform 44e10800.pinmux: Fixed dependency cycle(s) with /ocp/interconnect@44c00000/segment@200000/target-module@10000/scm@0/pinmux@800/pinmux_rfid_gpio_pins
    [ 0.758582] platform 44e10800.pinmux: Fixed dependency cycle(s) with /ocp/interconnect@44c00000/segment@200000/target-module@10000/scm@0/pinmux@800/eth_gpio
    [ 0.758627] platform 44e10800.pinmux: Fixed dependency cycle(s) with /ocp/interconnect@44c00000/segment@200000/target-module@10000/scm@0/pinmux@800/mcu_gpio
    [ 0.758671] platform 44e10800.pinmux: Fixed dependency cycle(s) with /ocp/interconnect@44c00000/segment@200000/target-module@10000/scm@0/pinmux@800/lte_gpio
    [ 0.758713] platform 44e10800.pinmux: Fixed dependency cycle(s) with /ocp/interconnect@44c00000/segment@200000/target-module@10000/scm@0/pinmux@800/pinmux_oled_pins
    [ 0.758757] platform 44e10800.pinmux: Fixed dependency cycle(s) with /ocp/interconnect@44c00000/segment@200000/target-module@10000/scm@0/pinmux@800/gpio_keys_s1
    [ 0.758800] platform 44e10800.pinmux: Fixed dependency cycle(s) with /ocp/interconnect@44c00000/segment@200000/target-module@10000/scm@0/pinmux@800/gpio_keys_s0
    [ 0.759612] pinctrl-single 44e10800.pinmux: 142 pins, size 568
    [ 0.794425] ti-sysc: probe of 44e31000.target-module failed with error -16
    [ 0.837019] 48024000.serial: ttyS2 at MMIO 0x48024000 (irq = 19, base_baud = 3000000) is a 8250
    [ 0.854548] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
    [ 0.874018] ti-sysc: probe of 48040000.target-module failed with error -16
    [ 0.935688] gpio gpiochip0: (gpio-0-31): not an immutable chip, please consider fixing it!
    [ 0.936300] OMAP GPIO hardware version 0.1
    [ 0.940764] sdhci-omap 48060000.mmc: supply pbias not found, using dummy regulator
    [ 0.941389] sdhci-omap 48060000.mmc: supply vqmmc not found, using dummy regulator
    [ 0.956209] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [ 1.006915] gpio gpiochip1: (gpio-32-63): not an immutable chip, please consider fixing it!
    [ 1.009924] gpio gpiochip2: (gpio-64-95): not an immutable chip, please consider fixing it!
    [ 1.038217] sdhci-omap 481d8000.mmc: supply pbias not found, using dummy regulator
    [ 1.038828] sdhci-omap 481d8000.mmc: supply vqmmc not found, using dummy regulator
    [ 1.050705] platform 4830e000.lcdc: Fixed dependency cycle(s) with /ocp/interconnect@44c00000/segment@200000/target-module@b000/i2c@0/tda19988@70
    [ 1.083220] omap_rng 48310000.rng: Random Number Generator ver. 20
    [ 1.093436] random: crng init done
    [ 1.173139] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [ 1.173217] mdio_bus 4a101000.mdio: mdio has invalid PHY address
    [ 1.173233] mdio_bus 4a101000.mdio: scan phy mdio at address 0
    [ 6.501781] Freeing initrd memory: 44712K
    [ 6.513964] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver unknown
    [ 6.524384] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
    [ 6.524420] cpsw 4a100000.ethernet: ALE Table size 1024
    [ 6.524622] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
    [ 6.524725] cpsw 4a100000.ethernet: Detected MACID = 90:e2:02:fa:0d:9d
    [ 6.538474] debugfs: Directory '49000000.dma' with parent 'dmaengine' already present!
    [ 6.538522] edma 49000000.dma: TI EDMA DMA engine driver
    [ 6.546988] sdhci-omap 47810000.mmc: supply pbias not found, using dummy regulator
    [ 6.547597] sdhci-omap 47810000.mmc: supply vqmmc not found, using dummy regulator
    [ 6.579664] mmc2: SDHCI controller on 47810000.mmc [47810000.mmc] using External DMA
    [ 6.584603] omap_reset_deassert: timedout waiting for gfx:0
    [ 6.584714] ti-sysc: probe of 5600fe00.target-module failed with error -110
    [ 6.590310] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [ 6.595481] l3-aon-clkctrl:0000:0: failed to disable
    [ 6.599588] gpio gpiochip3: (gpio-96-127): not an immutable chip, please consider fixing it!
    [ 6.602830] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 40, base_baud = 3000000) is a 8250
    [ 7.952115] printk: console [ttyS0] enabled
    [ 7.983248] tps65910 0-002d: No interrupt support, no core IRQ
    [ 8.022742] tps65910-rtc tps65910-rtc: registered as rtc0
    [ 8.030697] tps65910-rtc tps65910-rtc: setting system clock to 2025-01-08T11:55:17 UTC (1736337317)
    [ 8.043061] ssd1307fb 0-003c: ssd1307fb init started ret = 0
    [ 8.048912] ssd1307fb 0-003c: Couldn't send I2C command.
    [ 8.054492] ssd1307fb: probe of 0-003c failed with error -121
    [ 8.060507] mmc2: new high speed SDIO card at address 0001
    [ 8.066387] platform 4830e000.lcdc: Fixed dependency cycle(s) with /ocp/interconnect@44c00000/segment@200000/target-module@b000/i2c@0/tda19988@70
    [ 8.079994] i2c 0-0070: Fixed dependency cycle(s) with /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
    [ 8.092150] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [ 8.106158] sdhci-omap 48060000.mmc: supply pbias not found, using dummy regulator
    [ 8.119398] sdhci-omap 481d8000.mmc: supply pbias not found, using dummy regulator
    [ 8.131410] input: gpio_buttons0 as /devices/platform/gpio_buttons0/input/input0
    [ 8.139583] sdhci-omap 48060000.mmc: supply vqmmc not found, using dummy regulator
    [ 8.147722] sdhci-omap 481d8000.mmc: supply vqmmc not found, using dummy regulator
    [ 8.158478] clk: Disabling unused clocks
    [ 8.190235] mmc0: SDHCI controller on 48060000.mmc [48060000.mmc] using External DMA
    [ 8.198340] mmc1: SDHCI controller on 481d8000.mmc [481d8000.mmc] using External DMA
    [ 8.210220] Freeing unused kernel image (initmem) memory: 1024K
    [ 8.217866] Run /init as init process
    [ 8.263409] mmc1: new high speed MMC card at address 0001
    [ 8.284087] mmcblk1: mmc1:0001 W62704 3.53 GiB
    [ 8.295021] mmcblk1: p1 p2 p3 p4 < p5 p6 p7 p8 p9 p10 p11 >
    [ 8.301264] 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)
    [ 8.336577] mmcblk1boot0: mmc1:0001 W62704 2.00 MiB
    [ 8.344057] mmcblk1boot1: mmc1:0001 W62704 2.00 MiB
    [ 8.351210] mmcblk1rpmb: mmc1:0001 W62704 512 KiB, chardev (243:0)
    [ 8.360412] systemd[1]: Detected architecture arm.

    Welcome to Arago 2023.10!

    [ 8.394729] systemd[1]: Hostname set to <am335x-evm>.
    [ 8.401069] systemd[1]: Initializing machine ID from random generator.
    [ 8.778897] systemd[78]: /lib/systemd/system-generators/systemd-gpt-auto-generator failed with exit status 1.
    [ 9.316899] 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.
    [ 9.472102] systemd[1]: Queued start job for default target Multi-User System.
    [ 9.488172] systemd[1]: Created slice Slice /system/getty.
    [ OK ] Created slice Slice /system/getty.
    [ 9.528224] systemd[1]: Created slice Slice /system/modprobe.
    [ OK ] Created slice Slice /system/modprobe.
    [ 9.568498] systemd[1]: Created slice Slice /system/serial-getty.
    [ OK ] Created slice Slice /system/serial-getty.
    [ 9.606931] systemd[1]: Created slice User and Session Slice.
    [ OK ] Created slice User and Session Slice.
    [ 9.644099] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [ OK ] Started Dispatch Password …ts to Console Directory Watch.
    [ 9.684680] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [ OK ] Started Forward Password R…uests to Wall Directory Watch.
    [ 9.725462] systemd[1]: Reached target Path Units.
    [ OK ] Reached target Path Units.
    [ 9.764004] systemd[1]: Reached target Remote File Systems.
    [ OK ] Reached target Remote File Systems.
    [ 9.803799] systemd[1]: Reached target Slice Units.
    [ OK ] Reached target Slice Units.
    [ 9.844061] systemd[1]: Reached target Swaps.
    [ OK ] Reached target Swaps.
    [ 9.886458] systemd[1]: Listening on Syslog Socket.
    [ OK ] Listening on Syslog Socket.
    [ 9.957740] systemd[1]: Listening on Process Core Dump Socket.
    [ OK ] Listening on Process Core Dump Socket.
    [ 9.994174] systemd[1]: Listening on initctl Compatibility Named Pipe.
    [ OK ] Listening on initctl Compatibility Named Pipe.
    [ 10.051697] systemd[1]: Journal Audit Socket was skipped because of a failed condition check (ConditionSecurity=audit).
    [ 10.065036] systemd[1]: Listening on Journal Socket (/dev/log).
    [ OK ] Listening on Journal Socket (/dev/log).
    [ 10.106028] systemd[1]: Listening on Journal Socket.
    [ OK ] Listening on Journal Socket.
    [ 10.146834] systemd[1]: Listening on Network Service Netlink Socket.
    [ OK ] Listening on Network Service Netlink Socket.
    [ 10.184864] systemd[1]: Listening on udev Control Socket.
    [ OK ] Listening on udev Control Socket.
    [ 10.225762] systemd[1]: Listening on udev Kernel Socket.
    [ OK ] Listening on udev Kernel Socket.
    [ 10.265806] systemd[1]: Listening on User Database Manager Socket.
    [ OK ] Listening on User Database Manager Socket.
    [ 10.306089] systemd[1]: Huge Pages File System was skipped because of a failed condition check (ConditionPathExists=/sys/kernel/mm/hugepages).
    [ 10.353955] systemd[1]: Mounting POSIX Message Queue File System...
    Mounting POSIX Message Queue File System...
    [ 10.392689] systemd[1]: Mounting Kernel Debug File System...
    Mounting Kernel Debug File System...
    [ 10.473967] systemd[1]: Mounting Kernel Trace File System...
    Mounting Kernel Trace File System...
    [ 10.500037] systemd[1]: Mounting Temporary Directory /tmp...
    Mounting Temporary Directory /tmp...
    [ 10.565521] systemd[1]: Starting Create List of Static Device Nodes...
    Starting Create List of Static Device Nodes...
    [ 10.620964] systemd[1]: Starting Load Kernel Module configfs...
    Starting Load Kernel Module configfs...
    [ 10.695759] systemd[1]: Starting Load Kernel Module drm...
    Starting Load Kernel Module drm...
    [ 10.729767] systemd[1]: Starting Load Kernel Module fuse...
    Starting Load Kernel Module fuse...
    [ 10.773883] systemd[1]: File System Check on Root Device was skipped because of a failed condition check (ConditionPathIsReadWrite=!/).
    [ 10.789901] systemd[1]: systemd-journald.service: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
    [ 10.803182] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
    [ 10.844518] systemd[1]: Starting Journal Service...
    Starting Journal Service...
    [ 10.865768] systemd[1]: Load Kernel Modules was skipped because all trigger condition checks failed.
    [ 10.914865] systemd[1]: Starting Generate network units from Kernel command line...
    Starting Generate network …ts from Kernel command line...
    [ 10.998058] systemd[1]: Starting Remount Root and Kernel File Systems...
    Starting Remount Root and Kernel File Systems...
    [ 11.085077] systemd[1]: Starting Apply Kernel Variables...
    Starting Apply Kernel Variables...
    [ 11.182722] systemd[1]: Starting Coldplug All udev Devices...
    Starting Coldplug All udev Devices...
    [ 11.279914] systemd[1]: Mounted POSIX Message Queue File System.
    [ OK ] Mounted POSIX Message Queue File System.
    [ 11.355253] systemd[1]: Mounted Kernel Debug File System.
    [ OK ] Mounted Kernel Debug File System.
    [ 11.384829] systemd[1]: Mounted Kernel Trace File System.
    [ OK ] Mounted Kernel Trace File System.
    [ 11.424808] systemd[1]: Mounted Temporary Directory /tmp.
    [ OK ] Mounted Temporary Directory /tmp.
    [ 11.455723] systemd[1]: Finished Create List of Static Device Nodes.
    [ OK ] Finished Create List of Static Device Nodes.
    [ 11.486886] systemd[1]: modprobe@configfs.service: Deactivated successfully.
    [ 11.515181] systemd[1]: Finished Load Kernel Module configfs.
    [ OK ] Finished Load Kernel Module configfs.
    [ 11.556434] systemd[1]: modprobe@drm.service: Deactivated successfully.
    [ 11.585122] systemd[1]: Finished Load Kernel Module drm.
    [ OK ] Finished Load Kernel Module drm.
    [ 11.616344] systemd[1]: modprobe@fuse.service: Deactivated successfully.
    [ 11.644730] systemd[1]: Finished Load Kernel Module fuse.
    [ OK ] Finished Load Kernel Module fuse.
    [ 11.686207] systemd[1]: Finished Generate network units from Kernel command line.
    [ OK ] Finished Generate network units from Kernel command line.
    [ 11.746088] systemd[1]: Finished Remount Root and Kernel File Systems.
    [ OK ] Finished Remount Root and Kernel File Systems.
    [ 11.804787] systemd[1]: Started Journal Service.
    [ OK ] Started Journal Service.
    [ OK ] Finished Apply Kernel Variables.
    [ OK ] Reached target Preparation for Network.
    Mounting Kernel Configuration File System...
    Starting Flush Journal to Persistent Storage...
    Starting Create System Users...
    [ 12.104204] systemd-journald[97]: Received client request to flush runtime journal.
    [ OK ] Mounted Kernel Configuration File System.
    [ OK ] Finished Flush Journal to Persistent Storage.
    [ OK ] Finished Create System Users.
    Starting Create Static Device Nodes in /dev...
    [ 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 Rebuild Dynamic Linker Cache...
    Starting Create Volatile Files and Directories...
    [ OK ] Finished Load/Save Random Seed.
    [ OK ] Finished Rebuild Dynamic Linker Cache.
    [ OK ] Finished Create Volatile Files and Directories.
    Starting Rebuild Journal Catalog...
    Starting Network Time Synchronization...
    Starting Record System Boot/Shutdown in UTMP...
    [ OK ] Started Rule-based Manager for Device Events and Files.
    Starting Network Configuration...
    [ OK ] Finished Record System Boot/Shutdown in UTMP.
    [ OK ] Finished Rebuild Journal Catalog.
    Starting Update is Completed...
    [ OK ] Finished Update is Completed.
    [ 16.121543] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [ 16.476854] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    [ 16.532552] cfg80211: Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
    [ 16.605786] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
    [ 16.649350] cfg80211: failed to load regulatory.db
    [ OK ] Started Network Configuration.
    Starting Network Name Resolution...
    [ OK ] Started Network Time Synchronization.
    [ OK ] Reached target System Time Set.
    [ 18.143299] remoteproc remoteproc0: wkup_m3 is available
    [ OK ] Found device /dev/ttyS0.
    [ 18.230329] pinctrl-single 44e10800.pinmux: pin PIN108 already requested by 47810000.mmc; cannot claim for 0-0070
    [ 18.318722] pn54x_dev_init
    [ 18.321693] pn54x_probe
    [ 18.393099] pinctrl-single 44e10800.pinmux: pin-108 (0-0070) status -22
    [ 18.399814] pinctrl-single 44e10800.pinmux: could not request pin 108 (PIN108) from group nxp_hdmi_bonelt_pins on device pinctrl-single
    [ 18.453227] pn544 0-0028: FIRM GPIO <OPTIONAL> error getting from OF node
    [ 18.460132] pn544 0-0028: CLKREQ GPIO <OPTIONAL> error getting from OF node
    [ 18.593338] pn544 0-0028: supply nxp,pn54x-pvdd not found, using dummy regulator
    [ 18.601185] pn544 0-0028: supply nxp,pn54x-vbat not found, using dummy regulator
    [ 18.653301] tda998x 0-0070: Error applying setting, reverse things back
    [ 18.814787] pn544 0-0028: supply nxp,pn54x-pmuvcc not found, using dummy regulator
    [ 18.822556] pn544 0-0028: supply nxp,pn54x-sevdd not found, using dummy regulator
    [ 18.847315] remoteproc remoteproc0: powering up wkup_m3
    [ 18.867537] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [ 18.884309] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 230332
    [ 18.892753] remoteproc remoteproc0: remote processor wkup_m3 is now up
    [ 18.892791] wkup_m3_ipc 44e11324.wkup_m3_ipc: CM3 Firmware Version = 0x192
    [ OK ] Finished Coldplug All udev Devices pn54x_probe: request irq_gpio 46
    [0m.
    [ OK ] Reached target System Initialization.
    [ 19.067877] am335x-phy-driver 47401300.usb-phy: supply vcc not found, using dummy regulator
    [ OK ] Started Daily Cleanup of Temporary Directories.
    [ 19.097380] pn54x_probe: request ven_gpio 57
    [ OK ] Reached target Timer Units.
    [ OK ] Listening on D-Bus System Message Bus Socket.
    [ 19.139041] omap_rtc 44e3e000.rtc: already running
    [ 19.187200] pn54x_probe : requesting IRQ 47
    [ 19.197870] omap_rtc 44e3e000.rtc: registered as rtc1
    [ 19.216829] am335x-phy-driver 47401300.usb-phy: dummy supplies not allowed for exclusive requests
    Starting sshd.socket...
    [ 19.484872] am335x-phy-driver 47401b00.usb-phy: supply vcc not found, using dummy regulator
    [ OK ] Listening on sshd.socket.
    [ OK ] Reached target Socket Units.[ 19.578313] am335x-phy-driver 47401b00.usb-phy: dummy supplies not allowed for exclusive requests

    [ OK ] Reached target Basic System.
    [ 19.635474] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    [ 19.709933] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
    [ OK ] Started Kernel Logging Service.
    [ 19.832479] hub 1-0:1.0: USB hub found
    [ OK ] Started System Logging Service.
    Starting D-Bus System Message Bus...[ 19.893458] hub 1-0:1.0: 1 port detected

    [ 19.963796] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
    Starting User Login Management...
    Starting OpenSSH Key Generation...
    [ OK ] Started D-Bus System Message Bus.
    [ 21.074556] QCA7000 probe start
    [ 21.077786] qcaspi spi1.0: ver=0.2.7-i, clkspeed=8000000, burst_len=5000, pluggable=0
    [ 21.203258] QCA7000 mode=3, clkspeed=8000000, irq=54, mac=00:01:87:08:21:54
    [ 21.210309] QCA7000 reading signature value
    [ 21.289514] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.ti,am335x-bone-black.bin failed with error -2
    [ 21.326343] QCA7000 reading signature Success
    [ 21.330772] Registering QCA7000 Device
    [ 21.403280] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.bin failed with error -2
    [ 21.569775] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    [ 21.715579] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
    [ 21.809475] hub 2-0:1.0: USB hub found
    [ 21.873856] hub 2-0:1.0: 1 port detected
    [ 22.553271] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
    [ 22.999403] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
    [ 23.057035] PM: bootloader does not support rtc-only!
    [ 23.080737] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
    [ 23.183190] omap-sham 53100000.sham: will run requests pump with realtime priority
    [ 23.213558] omap-aes 53500000.aes: will run requests pump with realtime priority
    [ OK ] Started Network Name Resolution.
    [ 24.158274] cpsw 4a100000.ethernet: initializing cpsw version 1.12 (0)
    [ 24.236822] Generic PHY fixed-0:00: attached PHY driver (mii_bus:phy_addr=fixed-0:00, irq=POLL)
    [ 24.305204] cpsw 4a100000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
    [ 25.474088] systemd-journald[97]: Time jumped backwards, rotating.
    [ *** ] (2 of 2) A start job is running for… Login Management (20s / 1min 40s)
    [ *] (1 of 2) A start job is running for…SH Key Generation (22s / no limit)
    [ 31.683572] QCA7000 Reading signature
    [ 31.687350] QCA7000 read signature Pass
    [ 31.691225] QCA7000 sync Success
    [** ] (1 of 2) A start job is running for…SH Key Generation (24s / no limit)
    [ 33.766696] 481a8000.serial: ttyS4 at MMIO 0x481a8000 (irq = 57, base_baud = 3000000) is a 8250
    [ OK ] Started User Login Management.
    [ OK ] Reached target Network.
    [ OK ] Reached target Host and Network Name Lookups.
    [ OK ] Reached target Hardware activated USB gadget.
    [ OK ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
    Starting Permit User Sessions...
    [ OK ] Finished Permit User Sessions.
    [ OK ] Started Getty on tty1.
    [ OK ] Started Serial Getty on ttyS0.
    [ OK ] Reached target Login Prompts.
    [ OK ] Reached target Multi-User System.
    Starting Synchronize System and HW clocks...
    Starting Record Runlevel Change in UTMP...
    [ OK ] Finished Synchronize System and HW clocks.
    [ OK ] Finished Record Runlevel Change in UTMP.
    [ 38.243028] vdd2: disabling

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

    Arago Project am335x-evm -

    Arago 2023.10 am335x-evm -

    am335x-evm login: root
    root@am335x-evm:~#
    root@am335x-evm:~# ls -l /dev/ttyUSB*
    ls: /dev/ttyUSB*: No such file or directory
    root@am335x-evm:~#

  • Those GPIOs are used to power up the LTE module.

  • [ 21.074556] QCA7000 probe start
    [ 21.077786] qcaspi spi1.0: ver=0.2.7-i, clkspeed=8000000, burst_len=5000, pluggable=0
    [ 21.203258] QCA7000 mode=3, clkspeed=8000000, irq=54, mac=00:01:87:08:21:54
    [ 21.210309] QCA7000 reading signature value
    [ 21.289514] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.ti,am335x-bone-black.bin failed with error -2
    [ 21.326343] QCA7000 reading signature Success
    [ 21.330772] Registering QCA7000 Device
    [ 21.403280] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.bin failed with error -2

    The log seems showing the LTE device driver failed in initialization.

  • The above driver (brcmfmac) is for the Wi-Fi module; we have not brought up the Wi-Fi yet

  • Ok.

    What is the output of "lsusb" command on the board?

    Is the LTE device connected to the USB0 or USB1 port? is its DRVVBUS pin high or low?  Is the LTE device detachable or it is permanently mounted on the board?

  • root@am335x-evm:~# lsusb
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    root@am335x-evm:~#

    The LTE device is connected on USB0 port.
    The LTE device module is permanently mounted on the board. 

  • Since you are migrating from SDK7.3 to 9.3, I assume the LTE device works properly with SDK7.3 so here is no hardware issue, this is purely a software problem with SDK9.3, is this correct?

  • Yes, LTE is completely working fine in SDK v7.3

    Attaching the lsusb command output from SDK v7.3

    root@ST6E98FB438EE:~# lsusb
    Bus 001 Device 002: ID 2c7c:0306 Quectel Wireless Solutions Co., Ltd. EG06/EP06/EM06 LTE-A modem
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    root@ST6E98FB438EE:~#

  • root@ST6E98FB438EE:~# lsusb
    Bus 001 Device 002: ID 2c7c:0306 Quectel Wireless Solutions Co., Ltd. EG06/EP06/EM06 LTE-A modem

    I don't see the LTE modem enumeration message in the kernel log, but this message tells the modem is already enumerated by the kernel USB stack.

    But if you don't see /dev/ttyUSB* in the filesystem, it seems something else related to the modem is missing, but I don't know what it is, it is out of our support scope.

  • I have shared the output form SDK v7.3 just for the reference. 

    LTE apart, How can I get the /det/ttyUSB* node after booting the kernel in SDK v9.3, I just want to add USB support which creates node in /dev

  • Hi Pratik,

    Typically here is how the device node is created in /dev directory, using LTE modem as an example:

    1. The kernel USB controller/core driver stack detects the modem and enumerates it, the result is shown in the output of "lsusb" command;

    2. The kernel modem (or any other kernel application/function layer) driver initializes the modem then sends UDEV event to Linux user space;

    3. Linux user space udev service listens to the UDEV event then creates the corresponding device node under /dev.

    We now already know the step 1 is done properly, but it seems something is missing in step 2 or 3, but it is out of our support scope, the modem is not a TI device.

  • Hi Bin Liu,

    The kernel USB controller/core driver stack detects the modem and enumerates it, the result is shown in the output of "lsusb" command;

    I think the kernel USB controller/core driver is not detecting the modem as lsusb command is not showing any modem attached to it. Please refer the highlighted comment. 

    Prodigy 40 points

    root@am335x-evm:~# lsusb
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    root@am335x-evm:~#

    The LTE device is connected on USB0 port.
    The LTE device module is permanently mounted on the board.