OK. So the output is actually gibberish, it has nothing to do with wrong terminal setting or something like that.
And it's not UTF8.
Are you using the default ash shell?
echo $SHELL
readling $SHELL
should be /bin/ash and busybox. If so, I suppose there is some bug in arm_cortex-a7_neon-vfpv4 busybox.
BTW, it's more convenient to copy the text and paste it in a 'pre-formatted text' block, instead of posting a screenshot. Copying text from a screenshot is hard.
Ah sorry. 'readling' should be 'readlink'. But at least the shell is not bash, or something like that. I suggest that you file a bug here: https://github.com/openwrt/openwrt/issues
root@OpenWrt-AP:~# echo $HISTFILE
/tmp/.busybox_ash_history
root@OpenWrt-AP:~# ls -l $HISTFILE
-rw------- 1 root root 108086 Jun 6 15:06 /tmp/.busybox_ash_history
root@OpenWrt-AP:~# type history
history is a shell builtin
I rebooted and ran some commands and exited the terminal and connected again and history worked correctly.
But if I reboot again, my history is gone. I believe this is expected behavior.
Is there any way to make history persist upon reboot.
It is STRONGLY advised to not do frequent writes to basic flash storage as is found in many devices which run OpenWrt. It is recommended to use an expendable drive like an sd-card or usb flash drive, or a durable drive like a hard drive, nvme drive etc.
Busybox is configured to save history only at shell exit, not after each command. So, flash wear would not be that high even after changing the save location from ramdisk to flash.
My original commit implementing the feature in PR https://github.com/openwrt/openwrt/pull/17179 gives info, as well as the release notes of 25.12. You define the history save file in a profile snippet file /etc/profile.d/busybox-history-file.sh. Just edit that to a file that you want, and then also remember to define that file to be backed in sysupgrade.
But like said earlier, the default is ramdisk, to avoid flash wear.