-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Output dmesg over radio #94
Comments
Uses the exact same settings as beacon app, so on recieving side a beacon sniff can be used (imprecisse though). It sends the dmesg log in 32 byte chunks, but does a small optimization by skipping all-null chunks. Would probably need to send bigger chunks, and write a proper reciever.
This would be handy! Best bet is probably to have the host computer listening at all times, with the device radio dumping dmesg every hour when configured to do so, and also once at startup of the prior boot's dmesg. |
Made a gnu-radio workflow that uses rtlsdr to sniff for and demodulate beacon and dmesg packets. Currently bits are spewed into a file and decoded with a separate python script. Need to figure out how to properly do packets in gnuradio.
After testing some other packet modem configurations, I don't see too many benefits to require changing the defaults (both in packet.c and beacon app config). After debugging with sdr scripts, cleaned up the code a bit and it works. Beacon sniffing option in the console app can also be used to receive the dmesg log.
I've been playing around with this and it appears that if the battery is anything less than completely new , and dmesg buffer is a bit long, sending packets very quickly one after another causes a reboot itself. The artificial delay in the transmit loop seems to alleviate this a bit and also helps the receiver keep up. Currently there are two ways to receive the dmesg log. One, through To go with gnuradio route, one first runs Anybody willing to test this? To make sure it doesn't suffer from the old "works on my machine only" illness... It would indeed be cool to have it chirp out only new messages every hour, if in "debug" mode of some sort, but I need to figure out how to schedule it first and how to do a tx callback from outside an app :). |
I should have time to try it out this week. |
@ea You might try updating your fork to master, then transmitting packets of just the battery voltage, to see where it fails. |
@ea I merged the beginnings of a dmesg application. For now, it just scrolls the buffer on the screen, but we can merge radio code into it soon. |
Ah, i see where you are going with this. Neat. I was just playing with the gnuradio receiver the other day and made it easier to use. The trouble was in figuring out the exact frequency due to drift in different SDRs. I'll update my fork and add some code that might be useful. |
We also have a bit of our own drift. Perhaps we can calibrate for it, the same way we do the RTC correction? |
I have seen pretty large drifts between 3-4 devices i have, but i suspect one to be an outlier due to poor soldering on my side. I don't have a gw30 built yet so i'd stay out of that. I added a simple gnuradio rtlsdr script that can receive messages as sent by beacon app (and my prototype dmesg sending app) here https://github.com/ea/goodwatch/tree/sdr_testing/bin/sdr I didn't make a pull request as i'm unsure if you want to taint your repo with sdr stuff, but thought i'd point it out in case somebody ends up needing it. |
It would be nice to be able to dump the debug messages over radio, in case something weird happens.
I've started work on this and have an app that does TX-ing. It will likely need more testing and tweaking of packet sizes , and a proper RX side (rtlsdr script even?). Will be on my branch until ready.
Comments?
The text was updated successfully, but these errors were encountered: