I've got a Linksys MX4200v2 and no UART access to it. Recently, I was experiencing some kernel crashes and I wasn't able to capture the logs necessary to troubleshoot the issue.
That led me to a lot of investigation about ramoops
and mtdoops
which are current kmods in OpenWRT, and mtdpstore
which it isn't, but it didn't take too much effort to add and test.
There is a PR re adding ramoops
regions and therefore support on qualcommax routers #15688
On that PR, it's already established that ramoops
doesn't work on all the devices. From what I've seen on many UART logs, the error is pstore: backend (ramoops) writing error (-28)
which would mean storage is full but that's not the case.
What I have experienced testing ramoops
, mtdoops
and mtdpstore
, is that nothing gets ever written, ram or mtd. It isn't just kernel crashes, I've tried also console and user space messages, when the device is completely stable and generating those logs, but they are not being written to the backend regardless it's ram or mtd. All this time, the dmesg messages confirm everything is loaded and in good order, but it just doesn't happen.
This has me a bit puzzled and I am looking for some assistance to crack this one.
Outside OpenWRT's world, a common issue with ramoops
is SELinux but that's not enabled in OpenWRT and there are no other similar security modules in place, I believe. Besides, it would affect all the devices, and some of these do get oops logs using ramoops
.
Since I get the same results in ram and mtd, it doesn't seem to be an issue particularly linked to either of them.
Other totally speculative ideas I've considered is that there is something in the DTS files of some devices that inadvertently prevents these logs going anywhere, but that doesn't make much sense. A binary firmware somewhere? Qualcomm's minidump?
What I would really like with this post is to see if there is anyone with the technical ability, and of course the desire to use it for this, to work with me to narrow down the likely sources of this problem and hopefully find a solution. I am not a developer but I am proficient at troubleshooting and have many years of experience working with Linux systems.
For the community, I think it would be very beneficial to have tools available to retrieve crash logs on more devices from people without UART access who I am pretty sure it's a majority.