Discussion:
[coreboot] Lenovo G505S - spkmodem console sound, is correct? Please listen and tell
Ivan Ivanov
2018-09-26 22:22:49 UTC
Permalink
Good day! We are debugging a custom config of G505S coreboot which
currently can't boot beyond SeaBIOS to any Linux: kernel gets stuck at
the early booting stages regardless of its' parameters. So we can't
access cbmem console, and are exploring the alternative console output
options. One of them is spkmodem - console output through this G505S
laptop's speakers. But we can't decode any symbols of its' output with
spkmodem-recv, regardless of the options we use, or whether we're
trying parec or arecord to achieve that.

I suspect: despite that the "PC Speaker"-style beeping output is
working fine at this laptop/speakers while we are using Linux or even
some very simple OS like FreeDOS or Kolibri - that coreboot's spkmodem
might be buggy at G505S laptop, since there are only a few distinct
beeps (a couple of them are long enough to be visible at Soundcloud's
waveform) - everything else sounds like maybe an encrypted message but
could be just garbage (far from being similar to some morse code)

If you've ever heard the spkmodem output, please could you try to
decode this stuff if its' easy for you, or at least to tell if it
sounds OK or not? Its the first ~4 minutes of like 30 minutes log
output, then the sounds stop:

just play - https://soundcloud.com/qma-ster/g505s-spkmodem
download - https://www.sendspace.com/file/y2j15y

Best regards,
Ivan
--
coreboot mailing list: ***@coreboot.org
https://mail.coreboot.org/mailman/listinfo/coreboot
Anac
2018-09-27 15:07:27 UTC
Permalink
Post by Ivan Ivanov
I suspect: despite that the "PC Speaker"-style beeping output is
working fine at this laptop/speakers while we are using Linux or even
some very simple OS like FreeDOS or Kolibri - that coreboot's spkmodem
might be buggy at G505S laptop, since there are only a few distinct
beeps (a couple of them are long enough to be visible at Soundcloud's
waveform) - everything else sounds like maybe an encrypted message but
could be just garbage (far from being similar to some morse code)
Hi Ivan,

sorry to say that I'm de facto illiterate when it comes to CoreBoot or
even spkmodem.

What I can say, though, is that regarding transmitting hidden
information through sound, the best way-to-go IMO would be piggybacking
scattered, high-tuned and encrypted pieces of data on otherwise
unsuspected waves. The frequencies would preferably be between what
human ears can hear and what loudspeakers can transmit. Unfortunately,
this is where compression algorithms come into play. So, any compressed
file types (like ogg or mp3) may not convey sufficient suspicious data
and therefore are no reliable grounds for checks/audits.

Directly seeing magnified waves seems to be required here. I'm not even
sure if any software based tools like Audacity or any other
vulnerable-to-attacks tools are suitable for those audits. Well, despite
their huge budgets, **they** are sloppy or out-dated sometimes. So,
using software based tools may be useful or not. Definitely better would
be old-school analog oscilloscopes, and then go further from there.

Hoping I could be helpful in some way despite my illiteracy on CoreBoot.

Sincerely!
Peter Stuge
2018-09-27 22:36:47 UTC
Permalink
Post by Ivan Ivanov
If you've ever heard the spkmodem output, please could you try to
decode this stuff if its' easy for you, or at least to tell if it
sounds OK or not?
It sounds somehow like I remember spkmodem, but the file is very low
amplitude (too quiet) and I can't confirm whether the signal is the
correct speed.

I've only received spkmodem successfully with the microphone right
next to the speaker - moving the mic only a few cm lost signal.

Note that spkmodem-recv requires 48k s16le mono PCM.

I tried decoding, resampling and normalizing the ogg file without success
so I suggest increasing amplitude at the source; move the mic closer to
the speaker and use the parecord | spkmodem-recv command as documented
in spkmodem-recv.c. Make sure to set your mic input volume to 0dB (and
not higher!) so that you get the best possible signal, without attenuation.


//Peter
--
coreboot mailing list: ***@coreboot.org
https://mail.coreboot.org/mailman/listinfo/coreboot
Denis 'GNUtoo' Carikli
2018-10-08 14:37:51 UTC
Permalink
On Thu, 27 Sep 2018 22:36:47 +0000
Post by Peter Stuge
I tried decoding, resampling and normalizing the ogg file without
success so I suggest increasing amplitude at the source; move the mic
closer to the speaker and use the parecord | spkmodem-recv command as
documented in spkmodem-recv.c. Make sure to set your mic input volume
to 0dB (and not higher!) so that you get the best possible signal,
without attenuation.
On some device like the i945 Thinkpads, connecting an audio cable in
the output jack plug works, so you can record a clean signal by doing
that and by messing with the sound volume buttons before re-booting.

I've tried that on a gm45 Thinkpad also with coreboot, and I wasn't
able to redirect the sound.

Denis.
Denis 'GNUtoo' Carikli
2018-10-08 14:53:22 UTC
Permalink
On Thu, 27 Sep 2018 01:22:49 +0300
Post by Ivan Ivanov
If you've ever heard the spkmodem output, please could you try to
decode this stuff if its' easy for you, or at least to tell if it
sounds OK or not? Its the first ~4 minutes of like 30 minutes log
I've attached a recording. I recorded it on a T60, in GRUB, with an
audio cable, after messing with the volume.
Post by Ivan Ivanov
$ xzcat spkmodem.raw.xz | ./spkmodem-recv
hello world
Hello World
Denis.

Loading...