To verify that spkmodem.c is not the source of the issue. I decided I would try to part off the code from the console, and then compile it. Producing a wav file that I could then manually interpret, certify as good, and use to fix or replace spkmodem-recv. My efforts however were once again stumped when I realized the paired off code accessing the low level hardware with the OS still loaded, will just cause a segmentation fault.
Is there an easy way to run the executable under say QEMU, but emulating just the PC hardware rather than a whole OS?
On 7/12/21 12:46 am, Keith Emery wrote:
I've looked at the wave forms in audacity, and tried to manually figure out if it made any sense. I think at one point I got a 'S.P.K.' which now having located and read the code that actually generates the tones. Is consistent with it's startup sequence of trying to say 'SPEAKER'. However spkmodem-recv still just prints illegible symbols.
On 6/12/21 11:59 pm, Peter Stuge wrote:
Keith Emery wrote:
When I enable spkmodem in the coreboot config, I get output from the PC speaker. But spkmodem-recv interprets the tones as consistent gibberish. The output is consistent with a mismatch in the baud rates, but there appears no apparent way to select anything different in the spkmodem-recv software.
spkmodem uses a fixed baudrate, IIRC 1200.
Did you look at a recording in a spectrum analyzer software? Maybe that would help identify modulation timing issues.
Because coreboot isn't being loaded from the SPI chip one instruction at a time. It's using the CPU cache as ram and executing from there... derp.
More sleep, more coffee. Those are basically the same thing, right!
If the CPU is running coreboot as fast as possible while receiving those instructions from a relatively slow SPI bus. Is it possible that I've somehow overclocked the SPI bus, leading to a mismatch in the baud rates?
SPI isn't involved in tone timing, I think only the (emulated) legacy timer is used for that.
//Peter _______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org
coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org