One of the drawbacks with dmesg is the native date time stamps are not in human-readable form.
Unfortunately, the OpenWRT implementation of Linux is not full-stack, so the -T option is not available to convert them.
However, there is a pretty clever script that was published on the StackExchange Unix & Linux forum by @terdon that works well...
base=$(cut -d '.' -f1 /proc/uptime); seconds=$(date +%s); dmesg | sed 's/\]//;s/\[//;s/\([^.]\)\.\([^ ]*\)\(.*\)/\1\n\3/' | while read first; do read second; first=`date +"%d/%m/%Y %H:%M:%S" --date="@$(($seconds - $base + $first))"`; printf "[%s] %s\n" "$first" "$second"; done
Copy, paste, and run all at once.
The dmesg output will have human-readable date and time stamps.