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.