[BUG] Corrupted CAN frame from network upperhalf / network stack
- Dominant language
- C
- Stars
- 4k
- Forks
- 1.7k
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 237
Description
### Description / Steps to reproduce the issue
When testing mpfs mss_can.c, I encountered this weird issue with corrupted frame received from upperhalf. I would say about 10% defection. The CAN ID is always either corrupted to 0x0 or 0xC2008020.
This happens only protected mode not flat mode.
The issue was first noted in https://github.com/apache/nuttx/pull/17161
How to reproduce:
1. build nuttx in protected mode with DEBUG_NET_INFO, DEBUG_NET_WARN, DEBUG_NET_ERROR enabled and CONFIG_CANUTILS_CANSEND enabled in nuttx apps
2. `ifup can0` , `cansend can0 123#deadbeef` and observe some randomly corrupted frames as folllowing
```
saluki> cansend can0 123#deadbeef
[CPU0] mpfs_transmit: TX Frame: ID=0x0, DLC=0
[CPU0] mpfs_transmit: TX Debug: cf.can_id=0x0, msg_id=0x0, shifted=0x0, DLC=0
[CPU0] mpfs_transmit: TX HW Write: addr=0x2010C020, ID_reg=0x0, data_high=0x0, data_low=0x0
[CPU1] mpfs_transmit: Sending CAN message (ID: 0x0, DLC: 0) via buffer 0
saluki>
saluki>
saluki> cansend can0 123#deadbeef
[CPU1] mpfs_transmit: TX Frame: ID=0x123, DLC=4
[CPU1] mpfs_transmit: TX Debug: cf.can_id=0x123, msg_id=0x48C0000, shifted=0x24600000, DLC=4
[CPU2] mpfs_transmit: TX HW Write: addr=0x2010C020, ID_reg=0x24600000, data_high=0xDEADBEEF, data_low=0x0
[CPU0] mpfs_transmit: Sending CAN message (ID: 0x123, DLC: 4) via buffer 0
saluki>
saluki>
saluki> cansend can0 123#deadbeef
[CPU0] mpfs_transmit: TX Frame: ID=0x123, DLC=4
[CPU0] mpfs_transmit: TX Debug: cf.can_id=0x123, msg_id=0x48C0000, shifted=0x24600000, DLC=4
[CPU1] mpfs_transmit: TX HW Write: addr=0x2010C020, ID_reg=0x24600000, data_high=0xDEADBEEF, data_low=0x0
[CPU0] mpfs_transmit: Sending CAN message (ID: 0x123, DLC: 4) via buffer 0
saluki>
saluki> cansend can0 123#deadbeef
[CPU0] mpfs_transmit: TX Frame: ID=0x123, DLC=4
[CPU2] mpfs_transmit: TX Debug: cf.can_id=0x123, msg_id=0x48C0000, shifted=0x24600000, DLC=4
[CPU3] mpfs_transmit: TX HW Write: addr=0x2010C020, ID_reg=0x24600000, data_high=0xDEADBEEF, data_low=0x0
[CPU3] mpfs_transmit: Sending CAN message (ID: 0x123, DLC: 4) via buffer 0
```
Upon closer inspection, the corruption already happens in network stack. Suspected at:
```
User space: cansend → write() → sendmsg()
↓ (system call boundary)
Kernel space: sendmsg() → psock_sendmsg() → can_sendmsg()
↓
can_sendmsg(): devif_send(dev, pstate->snd_buffer, ...)
↓
devif_send(): iob_trycopyin(dev->d_iob, buf, len, offset, false)
↓
iob_trycopyin(): iob_copyin_internal(...)
↓
iob_copyin_internal(): memcpy(dest, src, ncopy) ← **FAILURE POINT**
```
### On which OS does this issue occur?
[OS: Linux]
### What is the version of your OS?
Ubuntu 22.04
### NuttX Version
master
### Issue Architecture
[Arch: risc-v]
### Issue Area
[Area: Drivers]
### Host information
```
ros@haito-ThinkPad-P14s:/workspaces/ros2-devcontainer-vscode_driver_dev/src/tmp/px4-firmware/platforms/nuttx/NuttX/nuttx$ make host_info
file sysinfo.h not exists
NuttX CFLAGS:
-isystem /workspaces/ros2-devcontainer-vscode_driver_dev/src/tmp/px4-firmware/platforms/nuttx/NuttX/nuttx/include
-isystem \/workspaces/ros2-devcontainer-vscode_driver_dev/src/tmp/px4-firmware/platforms/nuttx/NuttX/nuttx/include\
-D__NuttX__
-DNDEBUG
-std=gnu11
-Wall
-Werror
-Wextra
-Wlogical-op
-Wno-cpp
-Wno-format-truncation
-Wno-maybe-uninitialized
-Wno-missing-field-initializers
-Wno-stringop-truncation
-Wno-sign-compare
-Wno-type-limits
-Wno-unused-parameter
-Wpointer-arith
-Wno-bad-function-cast
-Wno-float-equal
-Wno-implicit-fallthrough
-Wno-implicit-function-declaration
-Wno-logical-op
-Wno-missing-declarations
-Wno-missing-field-initializers
-Wno-missing-prototypes
-Wno-nested-externs
-Wno-nonnull-compare
-Wno-old-style-declaration
-Wno-sign-compare
-Wno-type-limits
-march=rv64gc
-mabi=lp64d
-mcmodel=medany
-Wl--no-relax
-Os
-g2
-fdata-sections
-ffunction-sections
-fno-builtin-printf
-fno-common
-fno-strength-reduce
-fno-strict-aliasing
-fomit-frame-pointer
NuttX CXXFLAGS:
-isystem /workspaces/ros2-devcontainer-vscode_driver_dev/src/tmp/px4-firmware/platforms/nuttx/NuttX/nuttx/include/cxx
-isystem /workspaces/ros2-devcontainer-vscode_driver_dev/src/tmp/px4-firmware/platforms/nuttx/NuttX/nuttx/include
-isystem \/workspaces/ros2-devcontainer-vscode_driver_dev/src/tmp/px4-firmware/platforms/nuttx/NuttX/nuttx/include\
-isystem \/workspaces/ros2-devcontainer-vscode_driver_dev/src/tmp/px4-firmware/platforms/nuttx/NuttX/nuttx/include/cxx\
-D__NuttX__
-DNDEBUG
-std=c++14
-nostdinc++
-Wall
-Werror
-Wextra
-Wlogical-op
-Wno-cpp
-Wno-format-truncation
-Wno-maybe-uninitialized
-Wno-missing-field-initializers
-Wno-stringop-truncation
-Wno-sign-compare
-Wno-type-limits
-Wno-unused-parameter
-Wpointer-arith
-fcheck-new
-fno-builtin
-fno-exceptions
-fno-rtti
-fno-sized-deallocation
-nostdinc++
-Wno-double-promotion
-Wno-missing-declarations
-march=rv64gc
-mabi=lp64d
-mcmodel=medany
-Wl--no-relax
-Os
-g2
-fdata-sections
-ffunction-sections
-fno-builtin-printf
-fno-common
-fno-strength-reduce
-fno-strict-aliasing
-fomit-frame-pointer
NuttX LDFLAGS:
NuttX configuration options:
CONFIG_HOST_LINUX=y
CONFIG_APPS_DIR=\../apps\
CONFIG_BASE_DEFCONFIG=\-dirty\
CONFIG_MODULES=y
CONFIG_BUILD_KERNEL=y
CONFIG_INTELHEX_BINARY=y
CONFIG_RAW_BINARY=y
CONFIG_OUTPUT_STRIP_PATHS=y
CONFIG_ARCH_HAVE_STDARG_H=y
CONFIG_ARCH_HAVE_SETJMP=y
CONFIG_ARCH_NONE_DEBUG_H=y
CONFIG_FORTIFY_SOURCE=0
CONFIG_NDEBUG=y
CONFIG_ASSERTIONS_FILENAME=y
CONFIG_DEBUG_ALERT=y
CONFIG_DEBUG_FEATURES=y
CONFIG_DEBUG_ERROR=y
CONFIG_DEBUG_WARN=y
CONFIG_DEBUG_INFO=y
CONFIG_ARCH_HAVE_STACKCHECK=y
CONFIG_STACK_COLORATION=y
CONFIG_STACK_USAGE_WARNING=0
CONFIG_DEBUG_SYMBOLS=y
CONFIG_DEBUG_SYMBOLS_LEVEL=\-g\
CONFIG_ARCH_HAVE_CUSTOMOPT=y
CONFIG_DEBUG_FULLOPT=y
CONFIG_LTO_NONE=y
CONFIG_DEBUG_OPT_UNUSED_SECTIONS=y
CONFIG_DEBUG_LINK_MAP=y
CONFIG_ARCH_RISCV=y
CONFIG_ARCH=\risc-v\
CONFIG_ARCH_FAMILY=\rv64\
CONFIG_ARCH_CHIP=\mpfs\
CONFIG_ARCH_CHIP_MPFS=y
CONFIG_ARCH_RV64=y
CONFIG_ARCH_RV_ISA_M=y
CONFIG_ARCH_RV_ISA_A=y
CONFIG_ARCH_RV_ISA_C=y
CONFIG_ARCH_RV_ISA_ZICSR_ZIFENCEI=y
CONFIG_ARCH_RV_ISA_VENDOR_EXTENSIONS=\\
CONFIG_ARCH_RV_MMIO_BITS=64
CONFIG_ARCH_RV_CPUID_MAP=y
CONFIG_ARCH_RV_HARTID_BASE=1
CONFIG_ARCH_MMU_TYPE_SV39=y
CONFIG_ARCH_HAVE_S_MODE=y
CONFIG_RISCV_PERCPU_SCRATCH=y
CONFIG_ARCH_USE_S_MODE=y
CONFIG_RISCV_TOOLCHAIN_GNU_RV64=y
CONFIG_ARCH_CHIP_MPFS250T_FCVG484=y
CONFIG_MPFS_ENABLE_DPFPU=y
CONFIG_MPFS_E51_ENABLE_CACHE=y
CONFIG_MPFS_EMMCSD_MUX_GPIO=y
CONFIG_MPFS_EMMCSD_MUX_EMMC=y
CONFIG_MPFS_EMMCSD_CD=y
CONFIG_MPFS_ROMFS_MOUNT=y
CONFIG_MPFS_HAVE_UART0=y
CONFIG_MPFS_HAVE_UART1=y
CONFIG_MPFS_HAVE_UART2=y
CONFIG_MPFS_HAVE_UART3=y
CONFIG_MPFS_HAVE_UART4=y
CONFIG_MPFS_HAVE_UART5=y
CONFIG_MPFS_HAVE_UART6=y
CONFIG_MPFS_HAVE_UART7=y
CONFIG_MPFS_FPGA_UART=y
CONFIG_MPFS_UART0=y
CONFIG_MPFS_UART1=y
CONFIG_MPFS_UART2=y
CONFIG_MPFS_UART3=y
CONFIG_MPFS_UART4=y
CONFIG_MPFS_UART5=y
CONFIG_MPFS_UART6=y
CONFIG_MPFS_UART7=y
CONFIG_MPFS_COREI2C=y
CONFIG_MPFS_COREI2C_BASE=0x4B000000
CONFIG_MPFS_COREI2C_INST_OFFSET=0x1000
CONFIG_MPFS_COREI2C_INSTANCES=6
CONFIG_MPFS_COREI2C_IRQNUM=28
CONFIG_MPFS_COREI2C0_EXTENSION=y
CONFIG_MPFS_COREI2C1_EXTENSION=y
CONFIG_MPFS_COREI2C2_EXTENSION=y
CONFIG_MPFS_COREI2C3_EXTENSION=y
CONFIG_MPFS_COREI2C4_EXTENSION=y
CONFIG_MPFS_COREI2C5_EXTENSION=y
CONFIG_MPFS_EMMCSD=y
CONFIG_MPFS_COREMMC=y
CONFIG_MPFS_COREMMC_BASE=0x60030000
CONFIG_MPFS_COREMMC_IRQNUM=5
CONFIG_MPFS_COREMMC_WRCOMPLETE_IRQNUM=4
CONFIG_MPFS_FPGA_FIC0_CLK_FREQ=125000000
CONFIG_MPFS_ETHMAC=y
CONFIG_MPFS_ETHMAC_0=y
CONFIG_MPFS_HAVE_CORESPI=y
CONFIG_MPFS_CORESPI=y
CONFIG_MPFS_CORESPI_BASE=0x4B008000
CONFIG_MPFS_CORESPI_INST_OFFSET=0x1000
CONFIG_MPFS_CORESPI_INSTANCES=3
CONFIG_MPFS_CORESPI_IRQNUM=20
CONFIG_MPFS_CORESPI_IRQNUM_OFFSET=1
CONFIG_MPFS_HAVE_COREPWM=y
CONFIG_MPFS_COREPWM0=y
CONFIG_MPFS_COREPWM0_BASE=0x44000000
CONFIG_MPFS_COREPWM0_REGWIDTH=32
CONFIG_MPFS_COREPWM0_NCHANNELS=10
CONFIG_MPFS_COREPWM1=y
CONFIG_MPFS_COREPWM1_BASE=0x45000000
CONFIG_MPFS_COREPWM1_REGWIDTH=32
CONFIG_MPFS_COREPWM1_NCHANNELS=1
CONFIG_MPFS_MSS_CAN=y
CONFIG_MPFS_MSS_CAN0=y
CONFIG_MPFS_MSS_CAN1=y
CONFIG_MPFS_MSS_CAN_BITRATE0=1000000
CONFIG_MPFS_MSS_CAN_BITRATE1=1000000
CONFIG_MPFS_MAC_SGMII=y
CONFIG_MPFS_PHYADDR=1
CONFIG_MPFS_PHYINIT=y
CONFIG_MPFS_PHY_RX_TIMEOUT_WA=0
CONFIG_MPFS_ETH0_PHY_KSZ9477=y
CONFIG_MPFS_ETH0_PHY_KSZ9477_I2C_BUS=5
CONFIG_MPFS_MAC_ETHFD=y
CONFIG_MPFS_MAC_ETH1000MBPS=y
CONFIG_MPFS_ETHMAC_HPWORK=y
CONFIG_MPFS_ETHMAC_MDC_CLOCK_SOURCE_HZ=125000000
CONFIG_MPFS_ETHMAC_NTXBUFFERS=8
CONFIG_MPFS_ETHMAC_NRXBUFFERS=16
CONFIG_MPFS_RCC=y
CONFIG_MPFS_CRYPTO=y
CONFIG_MPFS_CRYPTO_DMA=y
CONFIG_ARCH_TOOLCHAIN_GNU=y
CONFIG_ARCH_HAVE_ADDRENV=y
CONFIG_ARCH_NEED_ADDRENV_MAPPING=y
CONFIG_ARCH_HAVE_MULTICPU=y
CONFIG_ARCH_HAVE_CPUID_MAPPING=y
CONFIG_ARCH_HAVE_FORK=y
CONFIG_ARCH_HAVE_FPU=y
CONFIG_ARCH_HAVE_DPFPU=y
CONFIG_ARCH_HAVE_LAZYFPU=y
CONFIG_ARCH_HAVE_MMU=y
CONFIG_ARCH_HAVE_MPU=y
CONFIG_ARCH_HAVE_POWEROFF=y
CONFIG_ARCH_HAVE_RESET=y
CONFIG_ARCH_HAVE_TESTSET=y
CONFIG_ARCH_HAVE_THREAD_LOCAL=y
CONFIG_ARCH_HAVE_SYSCALL_HOOKS=y
CONFIG_ARCH_HAVE_BACKTRACE=y
CONFIG_ARCH_HAVE_PERF_EVENTS=y
CONFIG_ARCH_HAVE_CPUINFO=y
CONFIG_ARCH_CPUINFO_FREQ_KHZ=0
CONFIG_ARCH_HAVE_TCBINFO=y
CONFIG_ARCH_HAVE_ELF_EXECUTABLE=y
CONFIG_ARCH_FPU=y
CONFIG_ARCH_DPFPU=y
CONFIG_ARCH_LAZYFPU=y
CONFIG_ARCH_USE_MMU=y
CONFIG_ARCH_USE_MPU=y
CONFIG_ARCH_ADDRENV=y
CONFIG_ARCH_TEXT_VBASE=0xC0000000
CONFIG_ARCH_DATA_VBASE=0xC1000000
CONFIG_ARCH_HEAP_VBASE=0xC2000000
CONFIG_ARCH_VMA_MAPPING=y
CONFIG_ARCH_KVMA_MAPPING=y
CONFIG_ARCH_SHM_VBASE=0xFF000000
CONFIG_ARCH_KMAP_VBASE=0xBF000000
CONFIG_ARCH_TEXT_NPAGES=0
CONFIG_ARCH_DATA_NPAGES=0
CONFIG_ARCH_HEAP_NPAGES=0
CONFIG_ARCH_SHM_MAXREGIONS=1
CONFIG_ARCH_SHM_NPAGES=4096
CONFIG_ARCH_KMAP_NPAGES=4096
CONFIG_ARCH_KERNEL_STACK=y
CONFIG_ARCH_KERNEL_STACKSIZE=8192
CONFIG_ARCH_PGPOOL_MAPPING=y
CONFIG_ARCH_PGPOOL_PBASE=0xA2400000
CONFIG_ARCH_PGPOOL_VBASE=0xA2400000
CONFIG_ARCH_PGPOOL_SIZE=94371840
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARCH_STACKDUMP_MAX_LENGTH=0
CONFIG_BOARD_LOOPSPERMSEC=54000
CONFIG_ARCH_HAVE_INTERRUPTSTACK=y
CONFIG_ARCH_INTERRUPTSTACK=2048
CONFIG_BOOT_RUNFROMFLASH=y
CONFIG_RAM_START=0xA2000000
CONFIG_RAM_VSTART=0xA2000000
CONFIG_RAM_SIZE=4194304
CONFIG_FLASH_START=0x0
CONFIG_FLASH_VSTART=0x0
CONFIG_FLASH_SIZE=0
CONFIG_ARCH_BOARD_CUSTOM=y
CONFIG_ARCH_BOARD_CUSTOM_NAME=\px4\
CONFIG_ARCH_BOARD_CUSTOM_DIR=\../../../../boards/ssrc/saluki-v3/nuttx-config\
CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH=y
CONFIG_MMCSD_HAVE_CARDDETECT=y
CONFIG_SSRC_BOARD_EMMCSD_SDIO_MINOR=1
CONFIG_SSRC_BOARD_COREMMC_SDIO_MINOR=0
CONFIG_SSRC_BOARD_RTC_I2C_BUS=4
CONFIG_BOARD_CRASHDUMP_NONE=y
CONFIG_BOARDCTL=y
CONFIG_BOARDCTL_RESET=y
CONFIG_BOARD_RESET_ON_ASSERT=1
CONFIG_BOARD_ASSERT_RESET_VALUE=2
CONFIG_BOARDCTL_MKRD=y
CONFIG_BOARDCTL_ROMDISK=y
CONFIG_BOARDCTL_USBDEVCTRL=y
CONFIG_BOARDCTL_IOCTL=y
CONFIG_BOARD_MEMORY_RANGE=\\
CONFIG_DISABLE_OS_API=y
CONFIG_DISABLE_POSIX_TIMERS=y
CONFIG_DISABLE_MQUEUE=y
CONFIG_DISABLE_MQUEUE_SYSV=y
CONFIG_ARCH_HAVE_TICKLESS=y
CONFIG_USEC_PER_TICK=10000
CONFIG_TIMER_ADJUST_USEC=0
CONFIG_ARCH_HAVE_TIMEKEEPING=y
CONFIG_START_YEAR=2021
CONFIG_START_MONTH=4
CONFIG_START_DAY=1
CONFIG_SPINLOCK=y
CONFIG_IRQ_NWORKS=8
CONFIG_IRQ_WORK_SECTION=\\
CONFIG_IRQ_WORK_STACKSIZE=12288
CONFIG_IRQCOUNT=y
CONFIG_SMP=y
CONFIG_SMP_NCPUS=4
CONFIG_SMP_DEFAULT_CPUSET=0xffffffff
CONFIG_INIT_FILE=y
CONFIG_INIT_ARGS=\\
CONFIG_INIT_STACKSIZE=12288
CONFIG_INIT_PRIORITY=100
CONFIG_INIT_FILEPATH=\/sbin/init\
CONFIG_ETC_ROMFS=y
CONFIG_ETC_CROMFS=y
CONFIG_ETC_ROMFSMOUNTPT=\/etc\
CONFIG_ETC_ROMFSDEVNO=2
CONFIG_ETC_ROMFSSECTSIZE=128
CONFIG_ETC_FATDEVNO=1
CONFIG_ETC_FATSECTSIZE=512
CONFIG_ETC_FATNSECTORS=1024
CONFIG_ETC_FATMOUNTPT=\/tmp\
CONFIG_RR_INTERVAL=200
CONFIG_TASK_NAME_SIZE=24
CONFIG_SCHED_HAVE_PARENT=y
CONFIG_SCHED_CHILD_STATUS=y
CONFIG_PREALLOC_CHILDSTATUS=0
CONFIG_SCHED_WAITPID=y
CONFIG_PTHREAD_MUTEX_ROBUST=y
CONFIG_PTHREAD_MUTEX_DEFAULT_PRIO_INHERIT=y
CONFIG_SCHED_SUSPENDSCHEDULER=y
CONFIG_SCHED_RESUMESCHEDULER=y
CONFIG_SCHED_CPULOAD_NONE=y
CONFIG_SCHED_CPULOAD_TICKSPERSEC=100
CONFIG_SCHED_PROFILE_TICKSPERSEC=1000
CONFIG_SCHED_INSTRUMENTATION=y
CONFIG_SCHED_INSTRUMENTATION_SWITCH=y
CONFIG_SCHED_STACK_RECORD=0
CONFIG_DEV_CONSOLE=y
CONFIG_FDCLONE_STDIO=y
CONFIG_NFILE_DESCRIPTORS_PER_BLOCK=8
CONFIG_FILE_STREAM=y
CONFIG_PRIORITY_INHERITANCE=y
CONFIG_SEM_PREALLOCHOLDERS=128
CONFIG_BOARD_LATE_INITIALIZE=y
CONFIG_BOARD_INITTHREAD_STACKSIZE=12288
CONFIG_BOARD_INITTHREAD_PRIORITY=240
CONFIG_SIG_PREALLOC_ACTIONS=4
CONFIG_SIG_ALLOC_ACTIONS=1
CONFIG_SIG_PREALLOC_IRQ_ACTIONS=8
CONFIG_SIG_DEFAULT=y
CONFIG_SIG_SIGKILL_ACTION=y
CONFIG_SIG_SIGUSR1_ACTION=y
CONFIG_SIG_SIGUSR2_ACTION=y
CONFIG_SIG_SIGALRM_ACTION=y
CONFIG_SIG_SIGSTOP_ACTION=y
CONFIG_SCHED_WORKQUEUE=y
CONFIG_WQUEUE_NOTIFIER=y
CONFIG_SCHED_HPWORK=y
CONFIG_SCHED_HPNTHREADS=1
CONFIG_SCHED_HPWORKPRIORITY=249
CONFIG_SCHED_HPWORKSTACKSIZE=12288
CONFIG_SCHED_LPWORK=y
CONFIG_SCHED_LPNTHREADS=2
CONFIG_SCHED_LPWORKPRIORITY=50
CONFIG_SCHED_LPWORKPRIOMAX=176
CONFIG_SCHED_LPWORKSTACKSIZE=4096
CONFIG_DEFAULT_TASK_STACKSIZE=12288
CONFIG_IDLETHREAD_STACKSIZE=2048
CONFIG_PTHREAD_STACK_MIN=1024
CONFIG_PTHREAD_STACK_DEFAULT=12288
CONFIG_PTHREAD_GUARDSIZE_DEFAULT=0
CONFIG_GROUP_KILL_CHILDREN_TIMEOUT_MS=-1
CONFIG_PID_INITIAL_COUNT=16
CONFIG_ASSERT_PAUSE_CPU_TIMEOUT=2000
CONFIG_LIB_SYSCALL=y
CONFIG_SYS_NNEST=2
CONFIG_ARCH_HAVE_CAN_ERRORS=y
CONFIG_CAN=y
CONFIG_CAN_TXFIFOSIZE=8
CONFIG_CAN_RXFIFOSIZE=8
CONFIG_CAN_NPENDINGRTR=4
CONFIG_ARCH_HAVE_I2CRESET=y
CONFIG_I2C=y
CONFIG_I2C_RESET=y
CONFIG_I2C_DRIVER=y
CONFIG_ARCH_HAVE_SPI_CS_CONTROL=y
CONFIG_SPI=y
CONFIG_SPI_EXCHANGE=y
CONFIG_SPI_CALLBACK=y
CONFIG_SPI_DRIVER=y
CONFIG_ARCH_HAVE_PWM_MULTICHAN=y
CONFIG_PWM=y
CONFIG_PWM_MULTICHAN=y
CONFIG_PWM_NCHANNELS=10
CONFIG_ONESHOT=y
CONFIG_ALARM_ARCH=y
CONFIG_RTC=y
CONFIG_RTC_DATETIME=y
CONFIG_RTC_EXTERNAL=y
CONFIG_RTC_PCF85263=y
CONFIG_PCF85263_I2C_FREQUENCY=400000
CONFIG_BCH=y
CONFIG_BCH_BUFFER_ALIGNMENT=8
CONFIG_BCH_FORCE_INDIRECT=y
CONFIG_DEV_NULL=y
CONFIG_DEV_ZERO=y
CONFIG_DEV_OPTEE_NONE=y
CONFIG_DRVR_MKRD=y
CONFIG_ARCH_HAVE_RDWR_MEM_CPU_RUN=y
CONFIG_ARCH_HAVE_SDIO=y
CONFIG_ARCH_HAVE_SDIOWAIT_WRCOMPLETE=y
CONFIG_MMCSD=y
CONFIG_MMCSD_IOCSUPPORT=y
CONFIG_MMCSD_NSLOTS=1
CONFIG_MMCSD_MULTIBLOCK_LIMIT=0
CONFIG_MMCSD_MMCSUPPORT=y
CONFIG_MMCSD_HAVE_WRITEPROTECT=y
CONFIG_MMCSD_SPI=y
CONFIG_MMCSD_SPICLOCK=20000000
CONFIG_MMCSD_SPIMODE=0
CONFIG_MMCSD_IDMODE_CLOCK=400000
CONFIG_MMCSD_SPIRETRY_COUNT=0
CONFIG_SDIO_DMA=y
CONFIG_MMCSD_SDIO=y
CONFIG_MMCSD_SDIOWAIT_WRCOMPLETE=y
CONFIG_SDIO_BLOCKSETUP=y
CONFIG_MMCSD_BLOCK_WDATADELAY=260
CONFIG_MTD=y
CONFIG_MTD_PARTITION=y
CONFIG_MTD_BYTE_WRITE=y
CONFIG_MTD_M25P=y
CONFIG_M25P_SPIMODE=0
CONFIG_M25P_SPIFREQUENCY=20000000
CONFIG_M25P_MANUFACTURER=0x20
CONFIG_M25P_MEMORY_TYPE=0x20
CONFIG_MT25Q_MEMORY_TYPE=0xBA
CONFIG_M25P_SUBSECTOR_ERASE=y
CONFIG_EEPROM=y
CONFIG_I2C_EE_24XX=y
CONFIG_EE24XX_FREQUENCY=400000
CONFIG_NETDEVICES=y
CONFIG_NETDEV_WORK_THREAD=y
CONFIG_NETDEV_WORK_THREAD_POLLING_PERIOD=0
CONFIG_NETDEV_WORK_THREAD_PRIORITY=180
CONFIG_NET_KSZ9477=y
CONFIG_NET_KSZ9477_I2C=y
CONFIG_NET_KSZ9477_PORT_VLAN=y
CONFIG_NET_KSZ9477_PORT_VLAN_PHY1=0x10
CONFIG_NET_KSZ9477_PORT_VLAN_PHY2=0x14
CONFIG_NET_KSZ9477_PORT_VLAN_PHY3=0x2
CONFIG_NET_KSZ9477_PORT_VLAN_PHY4=0x0
CONFIG_NET_KSZ9477_PORT_VLAN_PHY5=0x43
CONFIG_NET_KSZ9477_PORT_VLAN_RMII=0x0
CONFIG_NET_KSZ9477_PORT_VLAN_SGMII=0x10
CONFIG_NET_KSZ9477_PORT_SNIFF=y
CONFIG_ETH0_PHY_NONE=y
CONFIG_ETH1_PHY_NONE=y
CONFIG_PIPES=y
CONFIG_DEV_PIPE_MAXSIZE=65535
CONFIG_DEV_PIPE_SIZE=1024
CONFIG_DEV_FIFO_SIZE=1024
CONFIG_DEV_PIPE_VFS_PATH=\/var/pipe\
CONFIG_DEV_PIPE_NPOLLWAITERS=4
CONFIG_ARCH_HAVE_SERIAL_TERMIOS=y
CONFIG_SERIAL=y
CONFIG_SERIAL_REMOVABLE=y
CONFIG_SERIAL_CONSOLE=y
CONFIG_MCU_SERIAL=y
CONFIG_STANDARD_SERIAL=y
CONFIG_SERIAL_NPOLLWAITERS=2
CONFIG_SERIAL_IFLOWCONTROL=y
CONFIG_SERIAL_TXDMA=y
CONFIG_SERIAL_RXDMA=y
CONFIG_SERIAL_TERMIOS=y
CONFIG_UART0_SERIAL_CONSOLE=y
CONFIG_UART0_SERIALDRIVER=y
CONFIG_UART1_SERIALDRIVER=y
CONFIG_UART2_SERIALDRIVER=y
CONFIG_UART3_SERIALDRIVER=y
CONFIG_UART4_SERIALDRIVER=y
CONFIG_UART5_SERIALDRIVER=y
CONFIG_UART6_SERIALDRIVER=y
CONFIG_UART7_SERIALDRIVER=y
CONFIG_UART0_RXBUFSIZE=256
CONFIG_UART0_TXBUFSIZE=256
CONFIG_UART0_BAUD=115200
CONFIG_UART0_BITS=8
CONFIG_UART0_PARITY=0
CONFIG_UART0_2STOP=0
CONFIG_UART1_RXBUFSIZE=600
CONFIG_UART1_TXBUFSIZE=1500
CONFIG_UART1_BAUD=115200
CONFIG_UART1_BITS=8
CONFIG_UART1_PARITY=0
CONFIG_UART1_2STOP=0
CONFIG_UART2_RXBUFSIZE=256
CONFIG_UART2_TXBUFSIZE=256
CONFIG_UART2_BAUD=115200
CONFIG_UART2_BITS=8
CONFIG_UART2_PARITY=0
CONFIG_UART2_2STOP=0
CONFIG_UART3_RXBUFSIZE=600
CONFIG_UART3_TXBUFSIZE=3000
CONFIG_UART3_BAUD=115200
CONFIG_UART3_BITS=8
CONFIG_UART3_PARITY=0
CONFIG_UART3_2STOP=0
CONFIG_UART4_RXBUFSIZE=600
CONFIG_UART4_TXBUFSIZE=1500
CONFIG_UART4_BAUD=115200
CONFIG_UART4_BITS=8
CONFIG_UART4_PARITY=0
CONFIG_UART4_2STOP=0
CONFIG_UART4_IFLOWCONTROL=y
CONFIG_UART5_RXBUFSIZE=256
CONFIG_UART5_TXBUFSIZE=256
CONFIG_UART5_BAUD=115200
CONFIG_UART5_BITS=8
CONFIG_UART5_PARITY=0
CONFIG_UART5_2STOP=0
CONFIG_UART6_RXBUFSIZE=256
CONFIG_UART6_TXBUFSIZE=256
CONFIG_UART6_BAUD=115200
CONFIG_UART6_BITS=8
CONFIG_UART6_PARITY=0
CONFIG_UART6_2STOP=0
CONFIG_UART7_RXBUFSIZE=256
CONFIG_UART7_TXBUFSIZE=256
CONFIG_UART7_BAUD=115200
CONFIG_UART7_BITS=8
CONFIG_UART7_PARITY=0
CONFIG_UART7_2STOP=0
CONFIG_USBDEV=y
CONFIG_USBDEV_DUALSPEED=y
CONFIG_USBDEV_EPBUFFER_ALIGNMENT=0
CONFIG_USBDEV_BUSPOWERED=y
CONFIG_USBDEV_MAXPOWER=500
CONFIG_USBDEV_TRACE_INITIALIDSET=0
CONFIG_CDCACM=y
CONFIG_CDCACM_HAVE_EPINTIN=y
CONFIG_CDCACM_EP0MAXPACKET=64
CONFIG_CDCACM_EPINTIN=4
CONFIG_CDCACM_EPINTIN_FSSIZE=64
CONFIG_CDCACM_EPINTIN_HSSIZE=64
CONFIG_CDCACM_EPBULKOUT=3
CONFIG_CDCACM_EPBULKOUT_FSSIZE=64
CONFIG_CDCACM_EPBULKOUT_HSSIZE=512
CONFIG_CDCACM_EPBULKIN=3
CONFIG_CDCACM_EPBULKIN_FSSIZE=64
CONFIG_CDCACM_EPBULKIN_HSSIZE=512
CONFIG_CDCACM_NRDREQS=4
CONFIG_CDCACM_NWRREQS=4
CONFIG_CDCACM_BULKOUT_REQLEN=512
CONFIG_CDCACM_BULKIN_REQLEN=768
CONFIG_CDCACM_RXBUFSIZE=513
CONFIG_CDCACM_TXBUFSIZE=769
CONFIG_CDCACM_VENDORID=0x16c0
CONFIG_CDCACM_PRODUCTID=0x05e1
CONFIG_CDCACM_VENDORSTR=\SSRC\
CONFIG_CDCACM_PRODUCTSTR=\SSRC Saluki v4.0\
CONFIG_SYSLOG=y
CONFIG_SYSLOG_DEFAULT_MASK=0xff
CONFIG_SYSLOG_CRLF=y
CONFIG_SYSLOG_MAX_CHANNELS=1
CONFIG_SYSLOG_DEVPATH=\/dev/ttyS1\
CONFIG_SYSLOG_DEFAULT=y
CONFIG_ARCH_HAVE_NET=y
CONFIG_ARCH_HAVE_PHY=y
CONFIG_NET_READAHEAD=y
CONFIG_NET=y
CONFIG_NET_DEFAULT_MIN_PORT=4096
CONFIG_NET_DEFAULT_MAX_PORT=32000
CONFIG_NET_ETH_PKTSIZE=1478
CONFIG_NET_GUARDSIZE=2
CONFIG_NET_LL_GUARDSIZE=16
CONFIG_NET_RECV_BUFSIZE=0
CONFIG_NET_ETHERNET=y
CONFIG_NETDEV_IOCTL=y
CONFIG_NETDEV_CAN_BITRATE_IOCTL=y
CONFIG_NETDEV_CAN_FILTER_IOCTL=y
CONFIG_NETDEV_IFINDEX=y
CONFIG_NET_IPv4=y
CONFIG_NET_IPFORWARD_ALLOC_STRUCT=1
CONFIG_NET_PREALLOC_DEVIF_CALLBACKS=16
CONFIG_NET_ALLOC_DEVIF_CALLBACKS=0
CONFIG_NET_SOCKOPTS=y
CONFIG_NET_CANPROTO_OPTIONS=y
CONFIG_NET_TIMESTAMP=y
CONFIG_NET_IPV4_CHECKSUMS=y
CONFIG_NET_LOCAL=y
CONFIG_NET_LOCAL_VFS_PATH=\/var/run\
CONFIG_NET_LOCAL_STREAM=y
CONFIG_NET_LOCAL_DGRAM=y
CONFIG_NET_CAN=y
CONFIG_NET_CAN_HAVE_TX_DEADLINE=y
CONFIG_NET_CAN_HAVE_CANFD=y
CONFIG_CAN_PREALLOC_CONNS=4
CONFIG_CAN_ALLOC_CONNS=0
CONFIG_NET_CAN_CANFD=y
CONFIG_NET_CAN_SOCK_OPTS=y
CONFIG_NET_CAN_RAW_TX_DEADLINE=y
CONFIG_NET_CAN_RAW_DEFAULT_TX_DEADLINE=0
CONFIG_NET_CAN_RAW_FILTER_MAX=32
CONFIG_NET_TCP=y
CONFIG_NET_TCP_DELAYED_ACK=y
CONFIG_NET_TCP_CHECKSUMS=y
CONFIG_NET_TCP_PREALLOC_CONNS=8
CONFIG_NET_TCP_ALLOC_CONNS=0
CONFIG_NET_TCP_NPOLLWAITERS=2
CONFIG_NET_TCP_RTO=3
CONFIG_NET_TCP_MAXRTX=8
CONFIG_NET_TCP_MAXSYNRTX=5
CONFIG_NET_TCP_WAIT_TIMEOUT=120
CONFIG_NET_MAX_LISTENPORTS=20
CONFIG_NET_TCP_FAST_RETRANSMIT=y
CONFIG_NET_TCP_NOTIFIER=y
CONFIG_NET_TCPBACKLOG=y
CONFIG_NET_TCPBACKLOG_CONNS=8
CONFIG_NET_UDP=y
CONFIG_NET_BROADCAST=y
CONFIG_NET_UDP_CHECKSUMS=y
CONFIG_NET_UDP_PREALLOC_CONNS=8
CONFIG_NET_UDP_ALLOC_CONNS=0
CONFIG_NET_UDP_NPOLLWAITERS=1
CONFIG_NET_UDP_NOTIFIER=y
CONFIG_NET_ICMP=y
CONFIG_NET_ICMP_PMTU_ENTRIES=0
CONFIG_NET_ICMP_SOCKET=y
CONFIG_NET_ICMP_CHECKSUMS=y
CONFIG_NET_ICMP_PREALLOC_CONNS=4
CONFIG_NET_ICMP_ALLOC_CONNS=0
CONFIG_NET_ICMP_NPOLLWAITERS=1
CONFIG_NET_IGMP_CHECKSUMS=y
CONFIG_NET_ARP=y
CONFIG_NET_ARPTAB_SIZE=16
CONFIG_NET_ARP_MAXAGE=120
CONFIG_NET_ARP_IPIN=y
CONFIG_NET_ARP_SEND=y
CONFIG_ARP_SEND_MAXTRIES=5
CONFIG_ARP_SEND_DELAYMSEC=20
CONFIG_NET_SNOOP_BUFSIZE=4096
CONFIG_NET_RECV_PACK=y
CONFIG_CRYPTO=y
CONFIG_CRYPTO_RANDOM_POOL=y
CONFIG_CRYPTO_RANDOM_POOL_COLLECT_IRQ_RANDOMNESS=y
CONFIG_FS_NEPOLL_DESCRIPTORS=8
CONFIG_FS_LOCK_BUCKET_SIZE=0
CONFIG_PSEUDOFS_SOFTLINKS=y
CONFIG_SENDFILE_BUFSIZE=512
CONFIG_FS_HEAPSIZE=0
CONFIG_FS_BACKTRACE=0
CONFIG_FS_SHMFS=y
CONFIG_FS_SHMFS_VFS_PATH=\/var/shm\
CONFIG_FS_ANONMAP=y
CONFIG_GPT_PARTITION=y
CONFIG_FS_FAT=y
CONFIG_FAT_LCNAMES=y
CONFIG_FAT_LFN=y
CONFIG_FAT_MAXFNAME=64
CONFIG_FAT_LFN_ALIAS_TRAILCHARS=0
CONFIG_FS_FATTIME=y
CONFIG_FAT_FORCE_INDIRECT=y
CONFIG_FAT_DMAMEMORY=y
CONFIG_FS_ROMFS=y
CONFIG_FS_ROMFS_CACHE_FILE_NSECTORS=1
CONFIG_FS_CROMFS=y
CONFIG_FS_TMPFS=y
CONFIG_FS_TMPFS_BLOCKSIZE=512
CONFIG_FS_TMPFS_DIRECTORY_ALLOCGUARD=64
CONFIG_FS_TMPFS_DIRECTORY_FREEGUARD=128
CONFIG_FS_TMPFS_FILE_ALLOCGUARD=512
CONFIG_FS_TMPFS_FILE_FREEGUARD=1024
CONFIG_FS_PROCFS=y
CONFIG_FS_PROCFS_REGISTER=y
CONFIG_FS_PROCFS_EXCLUDE_ENVIRON=y
CONFIG_NXFONTS_PACKEDMSFIRST=y
CONFIG_MM_DEFAULT_MANAGER=y
CONFIG_MM_KERNEL_HEAP=y
CONFIG_MM_KERNEL_HEAPSIZE=8192
CONFIG_MM_DEFAULT_ALIGNMENT=8
CONFIG_MM_NODE_GUARDSIZE=0
CONFIG_MM_REGIONS=1
CONFIG_MM_MAP_COUNT_MAX=1024
CONFIG_MM_BACKTRACE=-1
CONFIG_MM_FREE_DELAYCOUNT_MAX=0
CONFIG_MM_HEAP_BIGGEST_COUNT=30
CONFIG_MM_HEAP_MEMPOOL_THRESHOLD=-1
CONFIG_GRAN=y
CONFIG_GRAN_INTR=y
CONFIG_MM_PGALLOC=y
CONFIG_MM_PGSIZE=4096
CONFIG_MM_KMAP=y
CONFIG_MM_IOB=y
CONFIG_IOB_NBUFFERS=300
CONFIG_IOB_BUFSIZE=320
CONFIG_IOB_ALIGNMENT=4
CONFIG_IOB_SECTION=\\
CONFIG_IOB_NCHAINS=300
CONFIG_IOB_THROTTLE=0
CONFIG_PATH_INITIAL=\/bin:/sbin:/lnk\
CONFIG_BINFMT_LOADABLE=y
CONFIG_ELF=y
CONFIG_ELF_STACKSIZE=4096
CONFIG_BINFMT_ELF_EXECUTABLE=y
CONFIG_STDIO_BUFFER_SIZE=256
CONFIG_STDIO_LINEBUFFER=y
CONFIG_NUNGET_CHARS=2
CONFIG_LIBC_FLOATINGPOINT=y
CONFIG_LIBC_LONG_LONG=y
CONFIG_ARCH_LOWPUTC=y
CONFIG_LIBC_ARCH_MEMCPY=y
CONFIG_LIBC_ARCH_STRCMP=y
CONFIG_LIBC_ARCH_ELF=y
CONFIG_LIBC_ARCH_ELF_64BIT=y
CONFIG_RISCV_MEMCPY=y
CONFIG_RISCV_STRCMP=y
CONFIG_LIBC_RAND_ORDER=1
CONFIG_LIBC_HOMEDIR=\/\
CONFIG_LIBC_TMPDIR=\/tmp\
CONFIG_LIBC_MAX_TMPFILE=32
CONFIG_LIBC_MAX_EXITFUNS=16
CONFIG_LIBC_EXECFUNCS=y
CONFIG_POSIX_SPAWN_DEFAULT_STACKSIZE=12288
CONFIG_LIBC_HOSTNAME=\\
CONFIG_LIBC_OPEN_MAX=256
CONFIG_NAME_MAX=64
CONFIG_PATH_MAX=256
CONFIG_LINE_MAX=256
CONFIG_LIBC_STRERROR=y
CONFIG_LIBC_STRSIGNAL=y
CONFIG_LIBC_ELF=y
CONFIG_LIBC_ELF_MAXDEPEND=2
CONFIG_LIBC_ELF_ALIGN_LOG2=2
CONFIG_LIBC_ELF_BUFFERSIZE=32
CONFIG_LIBC_ELF_BUFFERINCR=32
CONFIG_LIBC_ELF_RELOCATION_BUFFERCOUNT=256
CONFIG_LIBC_ELF_SYMBOL_CACHECOUNT=256
CONFIG_LIBC_LZF=y
CONFIG_LIBC_LZF_SMALL=y
CONFIG_LIBC_LZF_HLOG=13
CONFIG_LIBC_LZF_ALIGN=y
CONFIG_TLS_ALIGNED=y
CONFIG_TLS_LOG2_MAXSTACK=15
CONFIG_TLS_NELEM=0
CONFIG_TLS_NCLEANUP=0
CONFIG_LIBC_NETDB=y
CONFIG_LIBC_GAISTRERROR_ERRNUM=y
CONFIG_NETDB_BUFSIZE=256
CONFIG_NETDB_MAX_IPv4ADDR=1
CONFIG_LIBC_ENVPATH=y
CONFIG_LIBC_FTOK_VFS_PATH=\/var/ftok\
CONFIG_LIBC_MEMFD_SHMFS=y
CONFIG_LIBC_MEM_FD_VFS_PATH=\memfd\
CONFIG_LIBC_TEMPBUFFER=y
CONFIG_LIBC_MAX_TEMPBUFFER=2
CONFIG_LIBC_TEMPBUFFER_MALLOC=y
CONFIG_LIBC_MUTEX_BACKTRACE=0
CONFIG_LIBC_USRWORK=y
CONFIG_LIBC_USRWORKPRIORITY=100
CONFIG_LIBC_USRWORKSTACKSIZE=4096
CONFIG_STREAM_LZF_BLOG=10
CONFIG_STREAM_OUT_BUFFER_SIZE=64
CONFIG_STREAM_HEXDUMP_BUFFER_SIZE=128
CONFIG_STREAM_BASE64_BUFFER_SIZE=128
CONFIG_LIBC_INLINE_QUEUE=y
CONFIG_LIBM_TOOLCHAIN=y
CONFIG_HAVE_CXX=y
CONFIG_HAVE_CXXINITIALIZE=y
CONFIG_LIBCXXMINI=y
CONFIG_CXX_STANDARD=\gnu++17\
CONFIG_BUILTIN_TOOLCHAIN=y
CONFIG_COVERAGE_NONE=y
CONFIG_COVERAGE_DEFAULT_PREFIX_STRIP=\0\
CONFIG_COVERAGE_DEFAULT_PREFIX=\/data\
CONFIG_PROFILE_NONE=y
CONFIG_FSUTILS_MKFATFS=y
CONFIG_MKFATFS_BUFFER_ALIGNMENT=0
CONFIG_NETUTILS_NETLIB=y
CONFIG_NETUTILS_PING=y
CONFIG_NSH_LIBRARY=y
CONFIG_NSH_PROMPT_STRING=\saluki> \
CONFIG_NSH_PROMPT_MAX=64
CONFIG_NSH_PROMPT_ENV=\PS1\
CONFIG_NSH_PROMPT_SUFFIX=\> \
CONFIG_NSH_READLINE=y
CONFIG_NSH_QUOTE=y
CONFIG_NSH_CMDPARMS=y
CONFIG_NSH_MAXARGUMENTS=30
CONFIG_NSH_ARGCAT=y
CONFIG_NSH_NESTDEPTH=12
CONFIG_NSH_ALIAS=y
CONFIG_NSH_ALIAS_MAX_AMOUNT=1
CONFIG_NSH_PIPELINE=y
CONFIG_NSH_FILE_APPS=y
CONFIG_NSH_DISABLE_DMESG=y
CONFIG_NSH_DISABLE_EXIT=y
CONFIG_NSH_DISABLE_LOSMART=y
CONFIG_NSH_DISABLE_LOMTD=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_SHUTDOWN=y
CONFIG_NSH_DISABLE_TIMEDATECTL=y
CONFIG_NSH_MMCSDMINOR=0
CONFIG_NSH_MMCSDSLOTNO=0
CONFIG_NSH_MMCSDSPIPORTNO=0
CONFIG_NSH_VARS=y
CONFIG_NSH_CODECS_BUFSIZE=128
CONFIG_NSH_CMDOPT_HEXDUMP=y
CONFIG_NSH_PROC_MOUNTPOINT=\/proc\
CONFIG_NSH_FILEIOSIZE=1024
CONFIG_NSH_STRERROR=y
CONFIG_NSH_SYSINITSCRIPT=\init.d/rc.sysinit\
CONFIG_NSH_INITSCRIPT=\init.d/common_init/rcS.0\
CONFIG_NSH_SCRIPT_REDIRECT_PATH=\\
CONFIG_NSH_CONSOLE=y
CONFIG_NSH_ARCHINIT=y
CONFIG_NSH_WGET_BUFF_SIZE=512
CONFIG_SYSTEM_CDCACM=y
CONFIG_SYSTEM_CDCACM_DEVMINOR=0
CONFIG_SYSTEM_DD=y
CONFIG_SYSTEM_DD_PROGNAME=\dd\
CONFIG_SYSTEM_DD_PRIORITY=100
CONFIG_SYSTEM_DD_STACKSIZE=12288
CONFIG_SYSTEM_DD_STATS=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_NSH_PRIORITY=100
CONFIG_SYSTEM_NSH_STACKSIZE=12288
CONFIG_SYSTEM_NSH_PROGNAME=\nsh\
CONFIG_SYSTEM_PING=y
CONFIG_SYSTEM_PING_PROGNAME=\ping\
CONFIG_SYSTEM_PING_PRIORITY=100
CONFIG_SYSTEM_PING_STACKSIZE=12288
CONFIG_SYSTEM_READLINE=y
CONFIG_READLINE_HAVE_EXTMATCH=y
CONFIG_READLINE_ECHO=y
CONFIG_READLINE_TABCOMPLETION=y
CONFIG_READLINE_MAX_EXTCMDS=64
CONFIG_READLINE_CMD_HISTORY=y
CONFIG_READLINE_CMD_HISTORY_LINELEN=80
CONFIG_READLINE_CMD_HISTORY_LEN=16
Host system OS:
Ubuntu 22.04.5 LTS Linux haito-ThinkPad-P14s 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64 x86_64
Host system PATH:
/vscode/vscode-server/bin/linux-x64/2901c5ac6db8a986a5666c3af51ff804d05af0d4/bin/remote-cli
/opt/arm-gnu-toolchain-13.2.Rel1-x86_64-aarch64-none-elf/bin
/opt/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin
/opt/gcc-arm-none-eabi-9-2020-q2-update/bin
/home/ros/.local/bin
/opt/ros/humble/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
```
### Verification
- [x] I have verified before submitting the report.
Contributor guide
Research direction
Start with mss_can.c and reproduce the corruption in protected mode using the listed DEBUG_NET options and cansend command. Trace the mentioned path from can_sendmsg() through devif_send(), iob_trycopyin(), and iob_copyin_internal(), comparing it with flat mode. Done means repeated CAN transmissions no longer produce corrupted IDs or DLC values in the provided logs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- embedded-iot, networking, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100