Return to Video

https:/.../30c3-5588-en-de-My_journey_into_FM-RDS_h264-iprod.mp4

  • 0:10 - 0:16
    Herald: Alright, well thank you for your
    patience and now we are starting our talk:
  • 0:16 - 0:21
    "My journey into FM-RDS"
    - radio data system by Oona Räisänen.
  • 0:21 - 0:28
    Please give her a warm round of applause!
    applause
  • 0:28 - 0:35
    Oona: Thank you!
    Sorry I brought my MacBook Pro.
  • 0:35 - 0:41
    My name is Oona I'm a signals hacker
    and electronics hobbyist
  • 0:41 - 0:44
    and I do this thing only for hobby.
  • 0:44 - 0:52
    And let's see my slides here. Some of you may
  • 0:52 - 0:56
    remember my blog or have read it.
  • 0:56 - 1:01
    And you may have seen this one,
  • 1:01 - 1:10
    that I also made - the dialup diagram.
  • 1:10 - 1:14
    This talk is not about that, just to give you some context.
  • 1:14 - 1:19
    Okay, so, into the story:
  • 1:19 - 1:22
    One night in 2007 I was listening to my radio
  • 1:22 - 1:29
    just an FM channel and some music going on.
  • 1:29 - 1:33
    And I was looking at the spectrum of course
  • 1:33 - 1:39
    on my PC while doing that. And I noticed,
  • 1:39 - 1:42
    I see the audio, that's normal, then above
  • 1:42 - 1:47
    the audio, at about 19 kHz something weird
  • 1:47 - 1:51
    is going on. There is a persistent sinusoidal tone.
  • 1:51 - 1:55
    And something, looking like sidebands,
  • 1:55 - 1:59
    on both sides of it. And I wanted to find out,
  • 1:59 - 2:07
    what could it be up there? Actually I have
  • 2:07 - 2:16
    some audio on my other computer:
  • 2:16 - 2:24
    [Audio: rds-mixdown.wav]
    This is just a radio channel played,
  • 2:24 - 2:27
    and I'm shifting the frequencies down to here,
  • 2:27 - 2:31
    what it sounds like up there.
  • 2:41 - 2:44
    Now at the moment it just sounds like a very piercing
    [Sounds from the radio]
  • 2:44 - 2:48
    tone of 19 kHz. That's the tone,
  • 2:48 - 2:51
    and I'm not actually hearing just yet
  • 2:51 - 2:56
    whats around it. Let's turn it down a bit further.
  • 3:04 - 3:07
    Now this is one of this sidebands that you
  • 3:07 - 3:10
    are seeing there.
  • 3:10 - 3:14
    I'm also now filtering out the music
  • 3:14 - 3:17
    to make it clearer.
  • 3:20 - 3:22
    It sounds very periodic.
  • 3:22 - 3:26
    So it means it could be data of some kind.
  • 3:26 - 3:30
    And it also brings up the memories of modem sounds.
  • 3:30 - 3:33
    So, I started to investigate this matter
  • 3:33 - 3:35
    a bit further.
  • 3:39 - 3:47
    I knew already that in the FM signal there
  • 3:47 - 3:59
    is the RDS data, that is used to send to car
  • 3:59 - 4:03
    radios the station name and the program currently
  • 4:03 - 4:07
    running on it and also some other information
  • 4:07 - 4:12
    like alternate frequencies [AF on the slide]
  • 4:12 - 4:14
    that this channel is broadcasted on,
  • 4:14 - 4:19
    CT which is clock time, and something else,
  • 4:19 - 4:21
    information about other programs
  • 4:21 - 4:26
    and other frequencies and the program type,
  • 4:26 - 4:30
    radio text, traffic announcements,
  • 4:30 - 4:35
    and something called TMC or Traffic Message Channel.
  • 4:35 - 4:41
    So I thought, could this be it? So I downloaded
  • 4:41 - 4:43
    the 200 page RDS Standard,
  • 4:43 - 4:48
    or RDBS, as its called in the United States
  • 4:48 - 4:52
    and started to do some analysis. Actually I
  • 4:52 - 4:55
    spent nights reading this,
  • 4:55 - 4:57
    and many times I fell asleep reading it.
  • 4:57 - 5:00
    laughter
    If you suffer from insomnia,
  • 5:00 - 5:05
    I suggest you read something like this.
  • 5:05 - 5:10
    And, what I found - well it was very well documented,
  • 5:10 - 5:13
    the protocol, there was for example this diagram
  • 5:13 - 5:16
    about an example receiver for RDS.
  • 5:16 - 5:18
    There's all the parts out there:
  • 5:18 - 5:24
    The FM signal is coming in, the audio is taken out,
  • 5:24 - 5:28
    and we are mixing it with some frequencies
  • 5:28 - 5:30
    to get out the RDS signal
  • 5:30 - 5:39
    and all that stuff. So, well using this information
  • 5:39 - 5:43
    I wrote a decoder in Perl. Everything must
  • 5:43 - 5:49
    be in perl clapping Thank you.
  • 5:49 - 5:52
    And I came up with this. Its showing a lot
  • 5:52 - 5:56
    of the information going on on the frequency.
  • 5:56 - 5:59
    And whats special about this is that it's only
  • 5:59 - 6:03
    decoded from the signal you were hearing on
  • 6:03 - 6:08
    the 19 kHz band. And it turns out this is actually
  • 6:08 - 6:10
    an error in the working of my radio.
  • 6:10 - 6:14
    Because I dropped it on the floor when I was moving,
  • 6:14 - 6:18
    and it started behaving weirdly. And I - it
  • 6:18 - 6:20
    was then when i got this weird signal on
  • 6:20 - 6:23
    the 19 kHz band. And it turns out that
  • 6:23 - 6:26
    the stereo decoder in my radio has somehow
  • 6:26 - 6:33
    started not to filter anymore the stereo signal,
  • 6:33 - 6:39
    which is near the RDS signal. So this is actually
  • 6:39 - 6:41
    being decoded from the audio, from the line
  • 6:41 - 6:45
    out of my radio. Nothing else was involved
  • 6:45 - 6:50
    in this. But then, well, its a bit noisy,
  • 6:50 - 6:54
    its near the 16 bit quantisation noise limit
  • 6:54 - 6:58
    of my soundcard. So I was thinking of better
  • 6:58 - 7:02
    ways to decode it with less noise.
  • 7:02 - 7:04
    And I started to look at my radio -
  • 7:04 - 7:06
    the schematics of my radio
  • 7:06 - 7:08
    and I found there is actually a decoder circuit
  • 7:08 - 7:12
    for RDS that it uses to display the data on
  • 7:12 - 7:14
    the screen, just the station name
  • 7:14 - 7:18
    and updates its clock. And unlike in todays
  • 7:18 - 7:21
    receivers the RDS chip is actually on its own
  • 7:21 - 7:25
    chip and its not a one-chip-wonder receiver.
  • 7:25 - 7:32
    So I found the 4 pins that I needed for data,
  • 7:32 - 7:36
    clock signal and ground and just a quality bit,
  • 7:36 - 7:41
    that I'm not actually using. And I did some
  • 7:41 - 7:44
    ugly soldering work because I didn't want to
  • 7:44 - 7:51
    remove the RF shielding from this chip to hook
  • 7:51 - 7:58
    some cords to the decoder chip.
  • 7:58 - 8:02
    And then I used my soundcard to sample that.
  • 8:02 - 8:05
    Because it happens that the voltages that soundcard
  • 8:05 - 8:08
    is using are very close to the logic voltages
  • 8:08 - 8:17
    of [?] Voltages of ICs in the 1 to 3.3 volt range.
  • 8:17 - 8:21
    So I actually used a sound card to sample
  • 8:21 - 8:27
    the logic coming out of there. And its 1 kbaud
  • 8:27 - 8:34
    so its not even very fast. And this is what
  • 8:34 - 8:38
    I was getting - at first. Well,
  • 8:38 - 8:42
    it looks like some bits, kind of.
  • 8:42 - 8:44
    Then after some filtering
  • 8:44 - 8:47
    and resoldering this is what i got.
  • 8:47 - 8:51
    Red is the left channel in the soundcard that
  • 8:51 - 8:54
    I hooked up in the clock signal output.
  • 8:54 - 8:59
    And green is what I hooked up to the data signal.
  • 8:59 - 9:03
    And its very clear that the data can be decoded
  • 9:03 - 9:08
    with no errors from this.
  • 9:08 - 9:17
    Afterwards I also made a raspberry pi version of all this,
  • 9:17 - 9:20
    so the perl code is actually running on my
  • 9:20 - 9:23
    raspberry pi and displaying it on an little
  • 9:23 - 9:30
    lcd next to it. But then - okay this is fun,
  • 9:30 - 9:33
    I can actually see more than
    my radio is displaying there.
  • 9:33 - 9:37
    I can see the radio text, I can see a numerical
  • 9:37 - 9:41
    code for each station so I can log the stations
  • 9:41 - 9:45
    and I only need to decode the number to know
  • 9:45 - 9:49
    what I'm listening to. But there was something
  • 9:49 - 9:54
    more on the frequency. I was getting an application -
  • 9:54 - 9:58
    some application running there that I didn't
  • 9:58 - 10:03
    recognize right away, but reading the standard
  • 10:03 - 10:07
    it became apparent that this TMC that is used
  • 10:07 - 10:12
    in these car navigators to just send information
  • 10:12 - 10:15
    about traffic jams and construction works
  • 10:15 - 10:19
    and things like that. And of course,
  • 10:19 - 10:26
    for the fun, I had to see whats going on there.
  • 10:26 - 10:30
    Now it turns out that in Finland the RDS signal
  • 10:30 - 10:35
    is encrypted, for reasons of commercial stuff.
  • 10:35 - 10:38
    I mean its a business model, they encrypt
  • 10:38 - 10:41
    the signal and they sell the encryption keys
  • 10:41 - 10:45
    along with these navigator devices
  • 10:45 - 10:47
    and what they tell about the encryption in
  • 10:47 - 10:50
    the standard - they actually tell everything
  • 10:50 - 10:55
    about except the keys there. But one sentence
  • 10:55 - 10:58
    especially caught my mind there:
  • 10:58 - 11:02
    The encryption is only light, but was adjust
  • 11:02 - 11:04
    to be adequate to deter other than the most
  • 11:04 - 11:14
    determined hacker."
    laughterclapping
  • 11:14 - 11:20
    Yeah, and obviously for hacker this is like an challenge
  • 11:20 - 11:24
    laughter
    so I got to work. It was textually documented,
  • 11:24 - 11:27
    there was no encryption diagrams
  • 11:27 - 11:29
    or anything like that, but this is what I came
  • 11:29 - 11:35
    up with: It's a pretty simple cipher.
  • 11:35 - 11:39
    The location is a 16 bit database reference
  • 11:39 - 11:42
    to a database of locations that can be obtained
  • 11:42 - 11:48
    from the manufacturer of the navigators.
  • 11:48 - 11:53
    The keyspace is 16 bits, and different parts
  • 11:53 - 11:57
    of the key are used to like parameters for
  • 11:57 - 12:00
    the different operations in this cipher.
  • 12:00 - 12:05
    It's an easy enough cipher
    to be used on paper also
  • 12:05 - 12:13
    so when cryptanalyzing it I made some tests
  • 12:13 - 12:17
    on paper. So, how do I begin? I checked I can't
  • 12:17 - 12:21
    just brute force it - knowing nothing about
  • 12:21 - 12:25
    the transmission. So I
    made some assumtions:
  • 12:25 - 12:29
    The bandwidth is very low,
    several hundred baud,
  • 12:29 - 12:34
    so it must be some kind of
    filtering with this locations.
  • 12:34 - 12:36
    I was thinking, it could be
    that they are sending
  • 12:36 - 12:40
    only the locations - I mean only the announcements
  • 12:40 - 12:43
    that are near the transmitter like 100 miles
  • 12:43 - 12:47
    range or something. I looked
    at the location database,
  • 12:47 - 12:50
    that I by the way obtained by telling
  • 12:50 - 12:52
    the manufacturers that I'm an engineer
  • 12:52 - 12:54
    and I want to do some tests
  • 12:54 - 12:57
    and maybe some development
    of RDS-TMC-Software
  • 12:57 - 13:05
    - and now I have the database.
    So I started mapping,
  • 13:05 - 13:11
    actually listening to the annoucements.
  • 13:11 - 13:15
    I took one announcement and I figured
  • 13:15 - 13:17
    one announcement is used for several days in
  • 13:17 - 13:19
    an row - actually several weeks,
  • 13:19 - 13:21
    because when there
    are roadworks on it
  • 13:21 - 13:24
    could last for months, weeks or something.
  • 13:24 - 13:30
    So, one day, I get the announcements
  • 13:30 - 13:33
    and I get the key-ID, which they are sending
  • 13:33 - 13:36
    in cleartext - thats how they signal which
  • 13:36 - 13:39
    key is in use today, because its a changing
  • 13:39 - 13:43
    key scheme and there is a different key for
  • 13:43 - 13:49
    every day. And then they send
    the encrypted location.
  • 13:49 - 13:53
    So I listened for several weeks in a row,
  • 13:53 - 13:56
    documenting the encryption key id
  • 13:56 - 14:01
    and the location and then I just bruteforced
  • 14:01 - 14:05
    through the whole vast 16 bit keyspace to find
  • 14:05 - 14:11
    all the keys that decrypt into locations that
  • 14:11 - 14:17
    are near the transmitter. And eventually I
  • 14:17 - 14:21
    came up with all the keys. And here they are -
  • 14:21 - 14:24
    and because wouldn't want
    to get into any more
  • 14:24 - 14:30
    trouble with this, well,
    yeah, I ended up finding
  • 14:30 - 14:34
    all the keys. And here is a prototype receiver
  • 14:34 - 14:40
    I wrote. Its receiving the messages
  • 14:40 - 14:47
    and showing a little map of the announcements.
  • 14:47 - 14:51
    So then I published this in a blog,
  • 14:51 - 14:56
    and I got an interesting reply from someone
  • 14:56 - 15:01
    who is involved in developing this:
  • 15:01 - 15:04
    Sad to request, but can you take this offline?
  • 15:04 - 15:19
    It is kind of our service you hacked."
    laughingapplause
  • 15:19 - 15:20
    I had promised in
  • 15:20 - 15:24
    the beginning of my blog post, that if anyone
  • 15:24 - 15:26
    of the involved parties requests to take this
  • 15:26 - 15:28
    offline I will take it offline. But of course,
  • 15:28 - 15:32
    there are, well, my definitions of an involved
  • 15:32 - 15:40
    party are quite strict. And I replied by requesting
  • 15:40 - 15:44
    just the same message, but signed with their
  • 15:44 - 15:48
    cryptographic signature and preferably I could
  • 15:48 - 15:53
    fetch their public key from under their company domain.
  • 15:53 - 15:56
    And they never replied, so the blog post is
  • 15:56 - 16:07
    still on.
    laughingapplause
  • 16:07 - 16:09
    And actually while this conversation was going on,
  • 16:09 - 16:12
    it was of course being copied around
  • 16:12 - 16:16
    the world, in cryptome also, so there was no
  • 16:16 - 16:18
    point in replying anymore. So yeah,
  • 16:18 - 16:26
    this is the first part of my adventure into RDS-Subcarriers.
  • 16:26 - 16:29
    Then I heard an rumour when presenting about this:
  • 16:29 - 16:33
    That the Bus-Stop-Displays in Helsinki also
  • 16:33 - 16:40
    receive their data about the next buses on the RDS-Signal.
  • 16:40 - 16:44
    So I started to look a bit more in the applications,
  • 16:44 - 16:46
    but there was nothing in the application list
  • 16:46 - 16:53
    about bus stops or anything else than TMC.
  • 16:53 - 16:59
    For reference these are the displays I am talking about.
  • 16:59 - 17:02
    So they are displaying the busnumber
  • 17:02 - 17:05
    and the minutes and where it is going
  • 17:05 - 17:08
    and it's updating live. And these are battery-operated
  • 17:08 - 17:11
    and they are not connected to anything by wire.
  • 17:11 - 17:14
    So there must be some kind of a radio protocol.
  • 17:14 - 17:18
    But yeah, this was a nice clue.
  • 17:18 - 17:21
    So i started googling about this - there was
  • 17:21 - 17:23
    not very much information about it,
  • 17:23 - 17:27
    except for the finnish communication authorities
  • 17:27 - 17:31
    internal magazine. They were telling about
  • 17:31 - 17:36
    all kinds of - sorry about my finnish text
  • 17:36 - 17:40
    of course - they were telling about all kinds
  • 17:40 - 17:42
    of everyday radio signals,
  • 17:42 - 17:45
    and they confirmed my guess, that its being
  • 17:45 - 17:49
    transmitted on the FM radio and they even told
  • 17:49 - 17:51
    the channel, but that's all they told.
  • 17:51 - 17:54
    They were just telling it's being transmitted
  • 17:54 - 17:57
    on "YLE 1" frequencies. No protocol.
  • 17:57 - 18:03
    Nothing about RDS. So I fired up my other radio,
  • 18:03 - 18:07
    which can do a larger spectrum. Which is of
  • 18:07 - 18:11
    course the realtek rtl-sdr packaged in an aluminium
  • 18:11 - 18:20
    tin here. applause
  • 18:20 - 18:31
    So I demodulated the "YLE 1" station signal on a bigger bandwidth.
  • 18:31 - 18:34
    And here is what I saw. On the left is
  • 18:34 - 18:43
    the audio, here is the obnoxious tone you just heard.
  • 18:43 - 18:47
    Here is the stereo seperation signal that tells
  • 18:47 - 18:49
    the relation of the left channel
  • 18:49 - 18:53
    and the right channel. Here is RDS where it
  • 18:53 - 18:57
    actually should be, but for some reason it
  • 18:57 - 19:01
    was aliased to around the pilot tone in my
  • 19:01 - 19:06
    older radio. And this fourth harmonic of
  • 19:06 - 19:10
    the pilot tone contains obviously some data,
  • 19:10 - 19:13
    on a very wide bandwidth compared to
  • 19:13 - 19:17
    the RDS.
  • 19:17 - 19:22
    What could it be and
    how could I ever find out? Well,
  • 19:22 - 19:26
    it's centered around 76 kHz on the demodulated signal,
  • 19:26 - 19:32
    the composite signal. So I started by googling
  • 19:32 - 19:37
    for 76 kHz, and I found something called DARC
  • 19:37 - 19:41
    or "Data Radio Channel". It's not to be confused
  • 19:41 - 19:45
    with RDS which is the Radio Data System of course.
  • 19:45 - 19:49
    These are very imaginative names.
  • 19:49 - 19:51
    I found out that it is a very much more complex
  • 19:51 - 20:00
    modulation scheme. It uses QPSK which is a
  • 20:00 - 20:04
    four phase modulation scheme. Well I'm not
  • 20:04 - 20:07
    a engineer, I'm not an DSP specialist,
  • 20:07 - 20:12
    I am a DSP hacker, but I don't know much about
  • 20:12 - 20:18
    demodulating QPSK. So I decided to treat it
  • 20:18 - 20:21
    as an FSK signal, because that is possible
  • 20:21 - 20:30
    with QPSK. It is suboptimal, but it works -
  • 20:30 - 20:38
    I can get the data out. The upper part is
  • 20:38 - 20:42
    the DARC signal filtered. Here is the DARC
  • 20:42 - 20:48
    signal using two band-pass filters that are
  • 20:48 - 20:53
    on 76+4 and 76-4 and superimposed in red
  • 20:53 - 21:00
    and blue, like an FSK. And here is just blue
  • 21:00 - 21:03
    minus red, or the other way around,
  • 21:03 - 21:15
    which is actually binary data. So I had to
  • 21:15 - 21:17
    treat the error correction
  • 21:17 - 21:20
    and error detection, and it was very complicated.
  • 21:20 - 21:25
    And I had to write general CRC subroutine in
  • 21:25 - 21:31
    Perl because I had to deal with such large
  • 21:31 - 21:34
    numbers that I couldn't use just integers -
  • 21:34 - 21:38
    I had to actually use string magic.
  • 21:38 - 21:41
    So I'm actually concatenateing strings of ones
  • 21:41 - 21:44
    and zeroes. And using this kind of general
  • 21:44 - 21:51
    CRC routing for calculating the error correction
  • 21:51 - 21:57
    and detection. So, this is DARC
  • 21:57 - 21:59
    and I actually getting packets out,
  • 21:59 - 22:02
    but I have no idea what the packets mean.
  • 22:02 - 22:05
    So I started looking for any human readable
  • 22:05 - 22:08
    data out of there, because there is no documentation
  • 22:08 - 22:17
    about this. For example, this was one type
  • 22:17 - 22:23
    of packet that I've found: RUSKEASUO BRUKAKĂRR,
  • 22:23 - 22:26
    that means something for finns - that's a place
  • 22:26 - 22:33
    in helsinki, where the bus 23N happens to go.
  • 22:33 - 22:36
    So I figured this could be a packet telling
  • 22:36 - 22:42
    something about, just generally about buses.
  • 22:42 - 22:46
    And actually I went so far as to label all
  • 22:46 - 22:50
    the fields in the end, because I collected
  • 22:50 - 22:53
    so many of them. And I found out,
  • 22:53 - 22:57
    the system is sending one of these packets
  • 22:57 - 23:02
    to every display once a day. So it's updating
  • 23:02 - 23:05
    the information about all possible buses that
  • 23:05 - 23:11
    are passing this bus stop today.
  • 23:11 - 23:14
    It's using such low bandwidth that updating
  • 23:14 - 23:18
    all the displays takes one day.
  • 23:18 - 23:21
    Then I found another type of packet,
  • 23:21 - 23:28
    with no actual strings. But I found definite
  • 23:28 - 23:33
    references to the above packet. And I found
  • 23:33 - 23:36
    this is the packet used to update the minutes
  • 23:36 - 23:38
    information in these displays. It's being sent
  • 23:38 - 23:47
    very fast, 3 times per minute, to every display.
  • 23:47 - 23:55
    It contains minutes for 8 buses per packet,
  • 23:55 - 24:00
    and information about whether they are actually
  • 24:00 - 24:05
    GPS located or if it's a guess based on time tables.
  • 24:08 - 24:13
    And I used all this information, I had a functional goal:
  • 24:13 - 24:18
    to build my own display, because the tram stop
  • 24:18 - 24:20
    is 200 metres from my house,
  • 24:20 - 24:27
    and I want to know when the tram is actually coming.
  • 24:27 - 24:30
    Because this information is actually
  • 24:30 - 24:35
    the GPS located information. So this is what
  • 24:35 - 24:45
    I built
    applause
  • 24:45 - 24:51
    Its just a basic HD77480 display
  • 24:51 - 24:54
    controlled by a Raspberry Pi,
  • 24:54 - 24:59
    decoding the signal from the RTL-SDR. For some
  • 24:59 - 25:03
    reasons I blogged about it
  • 25:03 - 25:04
    and it became very popular in Finland,
  • 25:04 - 25:08
    in Helsinki especially, and there was an news
  • 25:08 - 25:15
    article about it. And a representant of
  • 25:15 - 25:17
    the bus company was saying that "OK,
  • 25:17 - 25:20
    she can decode the signal, but transmitting
  • 25:20 - 25:27
    will be difficult. "
    laugther
  • 25:27 - 25:32
    I haven't actually done it yet.
    But he was saying that
  • 25:32 - 25:35
    it's difficult because you have to shout louder
  • 25:35 - 25:37
    than everyone else on the frequency.
  • 25:37 - 25:41
    And even then it becomes mangeled, because
  • 25:41 - 25:45
    it becomes a mix of those two signals.
  • 25:45 - 25:48
    I don't think he really knew
    what he was talking about,
  • 25:48 - 25:52
    because there is something called the FM capture effect.
  • 25:52 - 25:57
    That if you send stronger than another FM transmission
  • 25:57 - 26:00
    on the same frequency, only the stronger signal
  • 26:00 - 26:08
    becomes captured and the weaker
    becomes actually attenuated.
  • 26:08 - 26:13
    That is a very useful phenomenon. Right now
  • 26:13 - 26:18
    I am actually in the process of making my own
  • 26:18 - 26:30
    display updater.
    laughterapplause
  • 26:30 - 26:33
    Possibly for showing all kinds of funny stuff on
  • 26:33 - 26:37
    the displays. Someone at the bus company actually
  • 26:37 - 26:41
    donated one of those displays to me after this,
  • 26:41 - 26:44
    so I have something to test it on.
  • 26:44 - 26:47
    Because obviously I'm not going to transmit
  • 26:47 - 26:52
    any high-power signals with this ever.
  • 26:52 - 26:54
    But right now, I'm building it.
  • 26:54 - 26:56
    The only problem that I'm having right now
  • 26:56 - 27:00
    is that my soundcard that I am using to generate
  • 27:00 - 27:05
    the signal fully digitally of course is to slow.
  • 27:05 - 27:09
    The DARC signal is 76 kHz, so i need at least
  • 27:09 - 27:13
    162 kHz soundcard, i mean DAC,
  • 27:13 - 27:18
    to create my analogue signal. I only have a
  • 27:18 - 27:23
    96khz soundcard right now, so I only can generate
  • 27:23 - 27:28
    the stereo signal. Perhaps in the future,
  • 27:28 - 27:32
    that will be the next project. Thank you.
  • 27:32 - 27:48
    applause
  • 27:48 - 27:50
    Herald: Well, thank you very much, Oona,
  • 27:50 - 27:53
    I think we're all impressed with hacking a radio,
  • 27:53 - 27:56
    I never thought about this opportunity.
  • 27:56 - 27:58
    Now we have time for questions from
  • 27:58 - 28:00
    the room. If you want to ask questions,
  • 28:00 - 28:03
    could you please line up at the microphones
  • 28:03 - 28:07
    right here. In the mean time, let me ask our
  • 28:07 - 28:09
    signal angel if he has a question from
  • 28:09 - 28:12
    the internet. Could you tell us please?
    Signal Angel: Yeah,
  • 28:12 - 28:14
    so the internet wants to know: Is there any
  • 28:14 - 28:17
    open hardware radio receiver that you can recommend
  • 28:17 - 28:20
    for tinkering at home?
    Oona: Yeah,
  • 28:20 - 28:25
    the RTL-SDR is a very good
    piece of hardware to start with
  • 28:25 - 28:28
    I think I have one of those with me right now,
  • 28:28 - 28:31
    I mean the one I showed with the Hello Kitty
  • 28:31 - 28:35
    tin around it. I've using a tin to attenuate
  • 28:35 - 28:39
    any local interference. But its just a DVB
  • 28:39 - 28:47
    digital tv stick some wise guy on the internet
  • 28:47 - 28:50
    found to be possible to hack
  • 28:50 - 28:58
    and tune to any frequency from 30 to 1.700 MHz
  • 28:58 - 29:02
    And it's very useful. Doesn't go higher
  • 29:02 - 29:04
    than that, doesn't go lower than that,
  • 29:04 - 29:08
    but it is a good start.
    Herald: Okay. Questions from
  • 29:08 - 29:13
    the room?
    Mic: I've just a bit of input on
  • 29:13 - 29:17
    the transmitter thing. There is a project that
  • 29:17 - 29:21
    uses the raspberry pi DMA controller,
  • 29:21 - 29:23
    where you can use to send signals at about
  • 29:23 - 29:28
    140 MHz on the GPIO pins, so maybe that could
  • 29:28 - 29:31
    be used.
    Oona: Ooh, thanks for the [?] That will
  • 29:31 - 29:34
    be very useful. I've been thinking about
  • 29:34 - 29:37
    the GPIO but it's unfiltered of course.
  • 29:37 - 29:42
    Mic: The raw DMA controller output gets dumped on
  • 29:42 - 29:47
    one of the GPIO pins. As far as I know it's
  • 29:47 - 29:50
    good enough to transmit FM stereo audio.
  • 29:50 - 29:54
    Oona: Okay, yeah. It would be worthwhile testing
  • 29:54 - 29:57
    with RDS first maybe. Thank you for
  • 29:57 - 30:00
    the tip, yeah, it's very useful.
    Herald: So maybe we
  • 30:00 - 30:02
    could buy them at the next congress,
  • 30:02 - 30:04
    right? laughter
    Oona: Could be,
  • 30:04 - 30:10
    could be. Herald: Go ahead please.
    Mic: Thanks for the interesting talk,
  • 30:10 - 30:18
    I've two questions. You said that you can decode Q-PSK as FSK by
  • 30:18 - 30:22
    a simple trick. How much less quality do you
  • 30:22 - 30:25
    get? 3db, 6db, what is it?
    Oona: I'm not sure
  • 30:25 - 30:29
    about the details, but well it just crossed
  • 30:29 - 30:34
    my mind that you can do it. It's actually MSK
  • 30:34 - 30:38
    but its a sort of an Q-PSK signal.
  • 30:38 - 30:41
    So its a minimum shift keying. And essentially
  • 30:41 - 30:47
    its being generated in the transmitter as FSK,
  • 30:47 - 30:51
    but thats a special form of FSK,
  • 30:51 - 30:53
    so thats why it can be decoded as FSK.
  • 30:53 - 30:56
    Mic: Okay, and a brief second question: In
  • 30:56 - 30:59
    the picture where you took the signal from
  • 30:59 - 31:02
    your digital radio, it was a Sangean ATS 909
  • 31:02 - 31:09
    or what radio you used? I've got one of those
  • 31:09 - 31:11
    and I was wondering if I could pick up
  • 31:11 - 31:16
    the signals in there as well. [...]
  • 31:16 - 31:20
    Oona: The Radio is a Sangean ATS 909,
  • 31:20 - 31:23
    I've modified it a bit, you can take a look
  • 31:23 - 31:26
    if you want.
    Herlad: Any other question from
  • 31:26 - 31:29
    the internet? Oh, our signal angel has nothing,
  • 31:29 - 31:33
    then lets go ahead right here please.
  • 31:33 - 31:35
    Mic: Have you considered what [...]
  • 31:35 - 31:39
    going to be beyond transmitting the signal.
  • 31:39 - 31:42
    What are you going to be next challenges you're
  • 31:42 - 31:44
    taking out? Are you going to look at other
  • 31:44 - 31:47
    wireless services that are around there in
  • 31:47 - 31:51
    terms of utilities, because traditionally there
  • 31:51 - 31:52
    are many.
    Oona: There are many, yeah,
  • 31:52 - 31:57
    it's an very interesting world. And I'm actually
  • 31:57 - 31:59
    listening to serveral signals at the moment
  • 31:59 - 32:04
    in my home right now.
    Mic: Mind telling us a little
  • 32:04 - 32:07
    glimpse?
    Oona: There is the local taxi company
  • 32:07 - 32:12
    that is using the frequency range from 40 to
  • 32:12 - 32:17
    70 MHz, they send information about next clients
  • 32:17 - 32:22
    and also locating all their cabs,
  • 32:22 - 32:26
    and I'm trying to decode whats it's about.
  • 32:26 - 32:31
    Perhaps I'll make a map of all their cars. -
  • 32:31 - 32:33
    Of course there is also TETRA.
  • 32:33 - 32:36
    Not many people know that TETRA is not encrypted,
  • 32:36 - 32:38
    it's usually encrypted, but not always.
  • 32:38 - 32:42
    And many applications in TETRA are in clear text.
  • 32:42 - 32:46
    You can listen to it, if you really want to.
  • 32:46 - 32:53
    Mic: Which sort of teases me now to ask a question:
  • 32:53 - 32:56
    What's the legal situation for you in finland
  • 32:56 - 32:59
    when it comes to decoding such transmissions
  • 32:59 - 33:01
    when they are not encrypted.
    Herald: You have
  • 33:01 - 33:03
    the right to remain silent.
    Mic: Yeah,
  • 33:03 - 33:06
    you don't have to answer that
    Oona: Well,
  • 33:06 - 33:09
    I believe that it its legal to decode them.
  • 33:09 - 33:19
    I don't care if it's not laughter
    applause
  • 33:19 - 33:22
    Yeah, of course, actually making an FM transmitter would be illegal
  • 33:22 - 33:29
    if its an high enough power.
  • 33:29 - 33:32
    Herald: Okay, over there. Let's go, please?
    Mic: Could you
  • 33:32 - 33:37
    maybe elaborate a bit about the bus stop packet contents,
  • 33:37 - 33:38
    so currently they are not encrypted,
  • 33:38 - 33:42
    is there any signature to verify its an legit
  • 33:42 - 33:45
    packet?
    Oona: No they aren't using any encryption
  • 33:45 - 33:49
    or signature overhead, because its so an low-banded channel.
  • 33:49 - 33:53
    So you can spoof it. I guess it should be trivial.
  • 33:53 - 33:55
    Actually the are some types of packets that
  • 33:55 - 33:59
    I don't know the meaning of. But they are non changing,
  • 33:59 - 34:02
    so they obviously can't be anything [?]
  • 34:02 - 34:08
    or anything like that.
    Herald: Okay, go ahead please.
  • 34:08 - 34:11
    Mic: I wanted to add some information on
  • 34:11 - 34:14
    the situation in Germany: We have two types
  • 34:14 - 34:16
    of radio stations, the public radio stations
  • 34:16 - 34:21
    broadcast RDS that are unencrypted, so if you
  • 34:21 - 34:25
    get the RDS data, you can get the raw location codes.
  • 34:25 - 34:30
    And the TMC messages are usually sent by private
  • 34:30 - 34:34
    radio stations. The fun thing is,
  • 34:34 - 34:38
    that you get both the unencrypted location
  • 34:38 - 34:41
    codes and encrypted location codes.
  • 34:41 - 34:43
    So if you listen to two radio stations in
  • 34:43 - 34:47
    the same area, you can actually cross-correlate
  • 34:47 - 34:51
    these and try to figure out the key.
  • 34:51 - 34:52
    And the other thing I wanted to say:
  • 34:52 - 34:56
    If somebody is just interested in RDS,
  • 34:56 - 34:59
    there are relatively cheap usb sticks that
  • 34:59 - 35:01
    will do all the decoding for you. -
  • 35:01 - 35:09
    Oona: Yeah, FM Radio sticks.
  • 35:09 - 35:15
    Mic: Is there any book you can recommend
    in getting started for processing
  • 35:15 - 35:17
    of digital radio transmissions.
    Oona: Well,
  • 35:17 - 35:21
    I've read a few chapters of the - I don't know
  • 35:21 - 35:24
    the name actually - but the DSP [?] guided
  • 35:24 - 35:28
    commerce[?] - The engineers guide to DSP,
  • 35:28 - 35:33
    It's a blue book, thats all I know.
  • 35:33 - 35:39
    Its freely available online, try it with google.
  • 35:39 - 35:46
    Mic: Thank you.
    Herald: Any more questions,
  • 35:46 - 35:51
    or from the internet? Nothing right there.
  • 35:51 - 35:52
    Well, Oona, thank you very much.
  • 35:52 - 35:54
    That was a very interesting talk,
  • 35:54 - 35:56
    and we look forward having you next year
  • 35:56 - 35:58
    with more signals.
  • 35:58 - 36:02
    Applause
  • 36:02 - 36:12
    subtitles created by c3subtitles.de
Title:
Video Language:
English
Duration:
36:11

English subtitles

Revisions