0:00:00.000,0:00:09.120 silent 30C3 preroll titles 0:00:09.120,0:00:11.950 applause 0:00:11.950,0:00:15.000 Travis Goodspeed: First I need[br]to apologize for typesetting this 0:00:15.000,0:00:20.080 in OpenOffice. I know that the[br]text looks like a ransom note. 0:00:20.080,0:00:24.509 But that’s what happens[br]when you don’t use LaTex. 0:00:24.509,0:00:27.630 I’d also like to give a shoutout to[br]Collin Mulliner if he is here, 0:00:27.630,0:00:29.680 and our Dinosaur rock band. 0:00:29.680,0:00:33.230 laughs, applause 0:00:33.230,0:00:36.870 We’re a Christian rock band, we’re[br]called ‘Jesus lives in the ISS’ and 0:00:36.870,0:00:46.070 we know that he is always watching us,[br]but we think that it’s easier for him 0:00:46.070,0:00:50.199 to hear our prayers when[br]he’s, you know, in an orbit 0:00:50.199,0:00:55.689 that passes over us. So we need to use[br]orbital tracking to know when to pray! 0:00:55.689,0:00:57.749 laughter 0:00:57.749,0:01:00.899 As I’m sure you can guess I’m not[br]recognized as a legal minority religion 0:01:00.899,0:01:06.140 in Germany. I’d also like to thank skytee 0:01:06.140,0:01:11.010 and Fabienne Serrière and Adam Laurie 0:01:11.010,0:01:16.810 and Jim Geovedi for some[br]prior satellite tracking work, 0:01:16.810,0:01:20.350 and the Scooby Crew at Dartmouth[br]College for all sorts of fun 0:01:20.350,0:01:24.689 whenever I bounce out there.[br]This is the mission patch 0:01:24.689,0:01:28.329 of the Southern Appalachian[br]Space Agency (SASA). 0:01:28.329,0:01:33.790 applause and cheers 0:01:33.790,0:01:36.920 This was drawn by Scott Beibin and there[br]are a few pieces of my people’s native 0:01:36.920,0:01:42.610 culture that I need to point out here. On[br]the right the little Dinosaur type thing 0:01:42.610,0:01:48.149 with his finger going out, you might[br]call him E.T. but we call these things 0:01:48.149,0:01:51.530 ‘buggers’. They are like this tall, and[br]they are green and that’s why the man 0:01:51.530,0:01:55.990 on the left has a shotgun.[br]laughter 0:01:55.990,0:02:00.909 Because he doesn’t want to be abducted.[br]You got a satellite dish in the middle 0:02:00.909,0:02:04.350 and it’s sitting on sinter blocks because[br]that’s also a piece of my people’s 0:02:04.350,0:02:10.259 native culture. There’s a moonshine[br]still in the background. 0:02:10.259,0:02:15.120 That’s kind of like Vodka but you[br]make it at home and from corn. 0:02:15.120,0:02:19.820 And then there’s the mountain… a piece…[br]it looks like there are snow peaks 0:02:19.820,0:02:24.530 on those mountain tops. But our mountains[br]aren’t tall enough to have snow. 0:02:24.530,0:02:28.679 These are actually that we’ve blown off[br]the lids of the mountains for coal mining. 0:02:28.679,0:02:32.490 Which is another piece of[br]my people’s native culture. 0:02:32.490,0:02:37.001 And at the top, in space you can see[br]the ISS, and you can see a banana, 0:02:37.001,0:02:41.580 and you can see what I think is a bulb.[br]This is to signify space trash. 0:02:41.580,0:02:45.909 I mean there’s a lot of stuff up there.[br]And, you know it’s symbolism that matters 0:02:45.909,0:02:51.260 in these things, you know? 0:02:51.260,0:02:54.729 At BerlinSides, in May of 2012 0:02:54.729,0:03:00.520 I did a lecture on reverse-[br]engineering the SPOT Connect. 0:03:00.520,0:03:05.289 The SPOT Connect is a little[br]hockey puck type thing 0:03:05.289,0:03:08.950 – this is what it looks like.[br]And these things are great. 0:03:08.950,0:03:13.790 It weighs a bit more than your cell phone[br]but it runs off of a couple of batteries, 0:03:13.790,0:03:17.680 it connects to your phone by Bluetooth. 0:03:17.680,0:03:21.840 Originally these were emergency locator[br]beacons. So if you’re going hiking… 0:03:21.840,0:03:24.569 have any of you seen the movie where[br]the guy has to cut off his arm 0:03:24.569,0:03:30.760 with a dull knife? If you’re hiking and[br]you don’t want that same experience 0:03:30.760,0:03:34.349 you buy one of these things. And[br]then there’s an emergency button 0:03:34.349,0:03:38.760 you can push that transmits your[br]GPS coordinates by satellite 0:03:38.760,0:03:44.180 to rescue workers. But that was boring,[br]so they had to add social media. 0:03:44.180,0:03:46.540 laughs, laughter 0:03:46.540,0:03:49.680 So in addition to keeping you[br]from chewing off your own arm 0:03:49.680,0:03:54.920 this device will also allow you to[br]tweet and make Facebook posts. 0:03:54.920,0:04:00.370 laughs, laughter 0:04:00.370,0:04:05.350 The idea is that as you’re running…[br]here I’m crossing the Schuylkill River 0:04:05.350,0:04:10.010 in Philadelphia and the Android[br]phone on the left is making a post. 0:04:10.010,0:04:15.659 And I did an article on reverse-[br]engineering the Bluetooth side 0:04:15.659,0:04:22.430 of these things. Because… I use a weird[br]brand of phone that Microsoft killed off, 0:04:22.430,0:04:27.520 and I’m terribly bitter about it. But[br]I also figured out the physical layer. 0:04:27.520,0:04:34.930 And that’s what this diagram shows.[br]This transmits at 1.6125 GHz. 0:04:34.930,0:04:40.830 And it sends a pseudo-random stream, so[br]each one of these zeros is a long chunk 0:04:40.830,0:04:44.140 where it’s bouncing back and forth[br]between two different frequencies. 0:04:44.140,0:04:48.750 And the same for the ones.[br]But the way that the pattern works 0:04:48.750,0:04:54.551 is that it switches the signal whenever[br]it is going from the 0 signal 0:04:54.551,0:04:59.080 to the 1 signal. And internally, there are[br]these little pops that you can actually 0:04:59.080,0:05:03.910 identify on a software defined radio[br]recording. And this is how you can 0:05:03.910,0:05:08.040 reverse-engineer the signal that[br]the SPOT Connect is sending up 0:05:08.040,0:05:14.510 to its satellite network. 0:05:14.510,0:05:18.330 Everything is clear text on this.[br]And it’s completely unencrypted. 0:05:18.330,0:05:25.040 It just has your serial number, your GPS[br]coordinates, and a bit of ASCII text. 0:05:25.040,0:05:29.759 So if you listen on this frequency and[br]you have the correct recording software 0:05:29.759,0:05:33.630 you can actually watch all of the SPOT[br]Connect messages that are transmitting 0:05:33.630,0:05:39.530 up from your location. And this would be[br]great except that this is designed for 0:05:39.530,0:05:44.490 hiking in areas where there’s no cell[br]phone service. So having an antenna 0:05:44.490,0:05:47.990 on the uplink frequency is kind of[br]useless. You know you would actually 0:05:47.990,0:05:52.290 have to go out to a national park, find[br]some guy who is about to chew his arm off, 0:05:52.290,0:05:55.639 and then you could listen to his uplink[br]where he is like tweeting: “Hey, I’m gonna 0:05:55.639,0:06:00.699 chew my arm off”, you know?[br]laughter 0:06:00.699,0:06:09.810 So that’s great as a proof of concept[br]but it’s not really anything practical. 0:06:09.810,0:06:13.460 The current state of that was that I knew[br]the protocol and I could sniff the uplinks. 0:06:13.460,0:06:17.300 But I wanted to sniff the downlinks. So[br]it’s easy for me to get the thing that 0:06:17.300,0:06:21.509 goes up to the satellite. But what I wanted[br]was what comes down from the satellite. 0:06:21.509,0:06:27.400 And that requires a satellite dish. But[br]a geo-stationary dish isn’t good enough 0:06:27.400,0:06:32.249 because the satellites that run this[br]network – there are a lot of them, 0:06:32.249,0:06:37.710 it’s called the Globalstar network,[br]they fly really low across the earth, 0:06:37.710,0:06:43.289 and they fly across the earth in very[br]tight, very fast orbits. So they’ll move 0:06:43.289,0:06:48.889 from horizon to horizon in 15 to 20[br]minutes. Which means that you either need 0:06:48.889,0:06:53.789 like a sweat shop army of kids[br]trying to aim the satellite dish 0:06:53.789,0:07:01.259 as it’s going across or you need[br]to make it computer-controlled. 0:07:01.259,0:07:04.490 Stepping back from the SPOT[br]Connect for a little bit, and 0:07:04.490,0:07:08.009 discussing some prior research.[br]Adam Laurie did some work 0:07:08.009,0:07:12.099 with geostationary satellites.[br]These are the satellites that stay 0:07:12.099,0:07:16.449 in one position in the sky.[br]He gave two sets of talks 0:07:16.449,0:07:23.740 – one in 2008 and the second in[br]2010. And he used a DVB-S card 0:07:23.740,0:07:28.169 connected to a satellite dish with[br]a DiSEqC motor, so that it could move 0:07:28.169,0:07:34.330 the satellite dish left and right in order[br]to scan a region of the horizon. 0:07:34.330,0:07:37.259 His tool is publicly available,[br]it’s called satmap. 0:07:37.259,0:07:41.289 You can grab it at this URL. 0:07:41.289,0:07:46.130 And then after he finds a signal he has[br]a feed scanner. Normally when you use 0:07:46.130,0:07:51.270 Satellite TV your provider gives you[br]a listing of the frequencies, and 0:07:51.270,0:07:58.199 your provider gives you an exact orbital[br]position to aim your satellite dish at. 0:07:58.199,0:08:02.330 But Adam’s tool allows you to scan to[br]see which frequencies are in use and 0:08:02.330,0:08:06.949 which protocols are in use, once[br]you’ve correctly aimed your dish. 0:08:06.949,0:08:09.699 And he also describes a technique[br]for moving your dish left and right 0:08:09.699,0:08:15.780 while doing this in order to[br]identify where the satellites are. 0:08:15.780,0:08:19.639 This recording here is from[br]a re-implementation that I made 0:08:19.639,0:08:24.430 of Adam’s work, in order to[br]catch up with it. In this diagram 0:08:24.430,0:08:30.199 the x-axis – because you move left[br]and right – that shows the azimuth, 0:08:30.199,0:08:35.049 that shows how far left or right my[br]satellite dish has moved. And then 0:08:35.049,0:08:40.860 the y-axis shows the frequency. And[br]all of these dots are strong signals. 0:08:40.860,0:08:48.290 So every vertical bar in which you see[br]chunks of frequencies, that’s a satellite. 0:08:48.290,0:08:52.230 But these stay in the same position. So[br]it’s easy for me to repeat this experiment. 0:08:52.230,0:08:56.780 It’s easy for me to re-run it, and to find[br]the same satellites in the same position. 0:08:56.780,0:09:04.700 It’s easy to debug this.[br]But it can’t move in elevation. 0:09:04.700,0:09:08.170 This diagram is actually[br]a very small slice of the sky. 0:09:08.170,0:09:14.450 We’re looking at a single line,[br]maybe 10 degrees across. 0:09:14.450,0:09:17.750 Maybe only 5 degrees across. 0:09:17.750,0:09:22.690 So hacking Ku-band – the television[br]satellites – has the advantage 0:09:22.690,0:09:27.420 that you can use cheap standardized[br]hardware. I bought one of these DVB-S cards 0:09:27.420,0:09:33.520 in Mauerpark, in Berlin for 3 Euro. You[br]can use standardized DiSEqC motors, 0:09:33.520,0:09:37.270 you can buy them at a satellite TV shop. 0:09:37.270,0:09:42.020 TV signals come with video feeds[br]so you can actually see pictures. 0:09:42.020,0:09:45.580 There was a scandal about 4..5 years[br]ago where they were finding 0:09:45.580,0:09:50.350 drone [control] feeds that were being[br]bounced across these satellites. 0:09:50.350,0:09:56.890 In the nineties it was very popular to[br]listen to the sort of unedited sections 0:09:56.890,0:09:59.910 of interviews, when people would[br]be interviewed over a satellite, 0:09:59.910,0:10:04.910 before Skype and such[br]things became options. And 0:10:04.910,0:10:08.750 there are also networking signals here[br]using TCP/IP packets. So you can actually 0:10:08.750,0:10:13.900 turn your DVB-S card into[br]a promiscuous ethernet adapter, 0:10:13.900,0:10:18.010 and start sniffing all of the traffic that[br]comes across. This is also a great way 0:10:18.010,0:10:23.750 to get free downlink bandwidth. Because[br]you can just flood packets at an address 0:10:23.750,0:10:27.660 that, you know, will be routed to[br]you, or several addresses, and 0:10:27.660,0:10:32.670 then you sniff it out as the[br]legitimate receiver ignores them. 0:10:32.670,0:10:37.100 But it also has some disadvantages. It[br]only works for geostationary satellites. 0:10:37.100,0:10:40.570 If the satellite is not staying in the[br]same position relative to the ground 0:10:40.570,0:10:46.750 then you can’t track it. Your[br]dish also moves very slowly. 0:10:46.750,0:10:50.410 And it only moves left and right.[br]It won’t move up and down. 0:10:50.410,0:10:53.030 And you’re limited to standardized[br]signals. So while it’s great that you get 0:10:53.030,0:10:59.230 video and TCP/IP you’re never[br]going to get anything weird. 0:10:59.230,0:11:05.230 You’re not gonna get any mobile[br]data, you’re not going to get any 0:11:05.230,0:11:10.670 Brazilian truck-drivers – we’ll[br]get to those in a bit. laughs 0:11:10.670,0:11:15.710 I misspoke, you actually will get[br]Brazilian truck-drivers in this. 0:11:15.710,0:11:19.360 So I bought a satellite dish. One of the[br]best things about living in America is 0:11:19.360,0:11:25.530 that you can buy industrial[br]hardware cheap as dirt on ebay. 0:11:25.530,0:11:29.190 I know things aren’t likely used to being[br]a cat bite to (?)(?) human children anymore. 0:11:29.190,0:11:33.400 But this satellite dish here on[br]the left – the one in the radome – 0:11:33.400,0:11:40.980 that’s my dish. And to the right,[br]that’s the boat that it came from. 0:11:40.980,0:11:49.890 applause[br]laughs 0:11:49.890,0:11:53.770 This came from a military ship.[br]But the dish itself is also available 0:11:53.770,0:11:57.620 for civilian use on very large yachts. 0:11:57.620,0:12:01.750 The dish itself is a Felcom 81 and it[br]was intended for use with a network 0:12:01.750,0:12:08.210 called Inmarsat. Inmarsat allows[br]for telephone connections, 0:12:08.210,0:12:12.890 and also data connections when you’re on[br]a boat. So if the crew wants to call home 0:12:12.890,0:12:18.010 or wants to go to AOL Keywords 0:12:18.010,0:12:23.530 or whatever was popular back when[br]this was common they could do that. 0:12:23.530,0:12:28.420 And the dish was designed to sit[br]at the very top of a ship’s mast. 0:12:28.420,0:12:31.660 The reason why is that at the top of[br]the mast there aren’t any obstructions 0:12:31.660,0:12:35.360 – it has a clear view of the sky in all[br]directions. But there’s a complication 0:12:35.360,0:12:39.230 with being on the top of the mast. Which[br]is that the ship is rocking beneath you 0:12:39.230,0:12:43.860 and you’re moving more[br]than the rest of the ship. 0:12:43.860,0:12:47.880 So they have stepper motors[br]for azimuth, elevation and tilt. 0:12:47.880,0:12:52.800 And then they have spinning gyroscopes.[br]Back before the iPhone there was 0:12:52.800,0:12:57.950 this dark, dark time when[br]gyroscopes actually spun. 0:12:57.950,0:13:01.900 And this is the sort of gyroscope that[br]it has. It actually has 4 of them so 0:13:01.900,0:13:05.670 that it can measure its movement. 0:13:05.670,0:13:10.940 And then it has a control computer. So the[br]idea is that the dish itself can be moved 0:13:10.940,0:13:15.620 while remaining absolutely stable[br]with regard to the gyroscopes. 0:13:15.620,0:13:20.000 So it compensates for the rocking of[br]the ship beneath it as it’s targeting 0:13:20.000,0:13:27.530 a stationary satellite.[br]In America this costs 250 dollars 0:13:27.530,0:13:32.080 but it’s electronics equipment, so while[br]you think that would only be a 180 Euro 0:13:32.080,0:13:40.080 it’s more like 2500. And that’s before[br]import duties and it being impounded. 0:13:40.080,0:13:44.680 We also have this lovely culture in which[br]people love excuses to use their trucks. 0:13:44.680,0:13:50.600 So the guy that I bought this from offered[br]to deliver it to my home for only $200. 0:13:50.600,0:13:57.340 It was an 11-hour drive. 0:13:57.340,0:14:00.330 But if you wanted this you’d have to[br]bring it back in your carry-on luggage 0:14:00.330,0:14:05.500 and that could be awkward. 0:14:05.500,0:14:09.490 I got this dish and I decided I had[br]to do something with it. So I created 0:14:09.490,0:14:15.040 the Southern Appalachian Space Agency.[br]I’m from the state of Tennessee, 0:14:15.040,0:14:19.520 formerly known as the State of Franklin[br]until North Carolina invaded us. 0:14:19.520,0:14:22.270 It’s ok, I know Europeans suck at history. 0:14:22.270,0:14:30.310 laughs[br]laughter and applause 0:14:30.310,0:14:33.180 Now I’m trying to think of how to show[br]you on a map where Tennessee is 0:14:33.180,0:14:36.930 without having a map. But, you know,[br]it’s okay, I know you suck at geography 0:14:36.930,0:14:39.750 and will forget it soon. (?) 0:14:39.750,0:14:41.550 From audience: It’s very[br]near Texas, to the north. 0:14:41.550,0:14:48.471 Travis: Texas is our first colony. But[br]it’s actually a decent drive to the east. 0:14:48.471,0:14:53.470 Due east (?). You don’t[br]actually have to go it anyways. 0:14:53.470,0:14:57.990 So what I did was I took these motors[br]which were designed to be able to move 0:14:57.990,0:15:03.250 the satellite dish to compensate[br]for the rocking the ship and 0:15:03.250,0:15:09.550 I re-purposed them to track through[br]the sky while the ground is stable. 0:15:09.550,0:15:12.580 We don’t have very many earthquakes in[br]Tennessee. The last one that we had 0:15:12.580,0:15:18.310 made rivers run the wrong direction.[br]But it’s okay – it’s a geography thing. 0:15:18.310,0:15:22.060 laughs[br]So this allows me to track things 0:15:22.060,0:15:26.500 that are moving through the sky.[br]But it doesn’t actually matter 0:15:26.500,0:15:30.330 where they’re moving in the sky because[br]that’s just a software problem. 0:15:30.330,0:15:35.540 So in addition to tracking objects that[br]are in low-earth orbit by a software patch 0:15:35.540,0:15:41.770 I can also track things that are in deep[br]space. It’s not much harder to track 0:15:41.770,0:15:47.830 deep space probes or stars than it[br]is to track items in low-earth orbit. 0:15:47.830,0:15:52.640 And then I added a software defined radio[br]which allows me to record a signal now 0:15:52.640,0:15:57.920 and then demodulate it later.[br]Which is necessary if you intend 0:15:57.920,0:16:02.810 to reverse-engineer a signal. Because[br]a lot of the downlinks from these satellites 0:16:02.810,0:16:07.630 are completely non… completely[br]undocumented. And being able 0:16:07.630,0:16:11.220 to tune in to the right frequency is only[br]half of it. You also need a recording 0:16:11.220,0:16:15.510 of sufficient quality that you can[br]reverse-engineer it after the fact. 0:16:15.510,0:16:19.680 We’re sort of spoiled by software[br]defined radios in that when doing 0:16:19.680,0:16:27.220 software defined radio work we usually[br]have a very good signal to work from. 0:16:27.220,0:16:33.610 So having high quality signals for later[br]reverse-engineering is necessary. 0:16:33.610,0:16:39.310 I really wanted to be able to identify[br]undocumented downlinks for low-earth orbit 0:16:39.310,0:16:44.310 in the same way that we already[br]do this for geo-stationary orbit 0:16:44.310,0:16:49.990 using tools like the ones that Adam[br]Laurie and Jim Geovedi made. 0:16:49.990,0:16:54.500 So I built a software framework as[br]a collection of Python daemons. 0:16:54.500,0:16:58.720 And these run across a home[br]area network in my house. 0:16:58.720,0:17:03.780 There’s a Beaglebone inside of the Radome. 0:17:03.780,0:17:09.539 And an x86 server in the house. Or AMD64,[br]whatever the kids call it these days. 0:17:09.539,0:17:13.230 And then I used Postgres for coordination.[br]So that all of these daemons can talk 0:17:13.230,0:17:19.290 to each other without… without me really[br]caring which machine they’re on. 0:17:19.290,0:17:25.969 So for maintenance I can have my[br]laptop pretending to be the dish, 0:17:25.969,0:17:30.790 and I can have stepper motors on my desk,[br]and I can watch them spin, and I can even 0:17:30.790,0:17:35.010 make a model of the dish and swap these[br]components in and out without the rest of 0:17:35.010,0:17:42.700 the network being confused. This also[br]allows for SQL injection attacks to 0:17:42.700,0:17:48.260 physically move my dish. Which is why the[br]sensor network is not on one of those 0:17:48.260,0:17:52.620 fancy WEB 2.0 things. Because of you could[br]inject, say, “UPDATE target SET name= 0:17:52.620,0:17:55.910 ‘VOYAGER 1’”. Then my dish would physically[br]move and start tracking Voyager 1 0:17:55.910,0:18:01.440 through the sky. Voyager 2 0:18:01.440,0:18:07.190 doesn’t actually come into the sky because[br]of my position in the Northern hemisphere. 0:18:07.190,0:18:11.170 So, it’s okay, I know you suck at[br]geography. But Voyager 1 is going up, 0:18:11.170,0:18:15.440 and Voyager 2 is going down. 0:18:15.440,0:18:19.260 There’s a Realtek software defined radio[br]for the radio reception. Although 0:18:19.260,0:18:24.370 these things are garbage. So I’m in the[br]process of replacing this for the HackRF. 0:18:24.370,0:18:29.760 There’s also an EiBot board for motor[br]control. We’ll get back to that in a minute. 0:18:29.760,0:18:34.560 And there’s an Inertial Measurement Unit[br]from VectorNav which actually measures 0:18:34.560,0:18:39.510 using the fancy MEMS gyroscopes and[br]a MEMS compass how I’m moving. 0:18:39.510,0:18:44.700 This isn’t accurate enough to target[br]the dish, so I’m still counting steps 0:18:44.700,0:18:49.830 to move the dish. But it is accurate[br]enough to tell me when my belts 0:18:49.830,0:18:56.520 have broken. Or when I’m up[br]against a physical obstruction. 0:18:56.520,0:19:01.510 This is skytee helping[br]me out with the dish. 0:19:01.510,0:19:04.950 He’s zip-tying it. Because, you know[br]we know everything about duct tape 0:19:04.950,0:19:07.260 where I come from, but we don’t know[br]anything about zip-ties. So I had 0:19:07.260,0:19:10.920 to bring in a German engineer.[br]laughter 0:19:10.920,0:19:14.270 We call him a gerry wigger(?)[br]but, you know… 0:19:14.270,0:19:20.020 This is the satellite dish itself. And you[br]can sort of see in this photograph 0:19:20.020,0:19:25.420 where we’ve strapped on the equipment.[br]There’s like an umbilical cord. 0:19:25.420,0:19:29.700 Or more like a spinal column that actually[br]runs up the back of the dish. So we just 0:19:29.700,0:19:36.820 added new cables onto that line.[br]And then zip-tied them in place. 0:19:36.820,0:19:42.390 And skytee came up with all these[br]crazy ideas like that we should use 0:19:42.390,0:19:46.570 chains and zip-ties to make sure that the[br]cables don’t tear themselves out. And 0:19:46.570,0:19:51.890 that worked tremendously well in practice.[br]So, as this thing spins around, 0:19:51.890,0:19:57.680 by the original design there’s a ring[br]connector that all of the signals 0:19:57.680,0:20:01.220 go through. That all of the networking[br]goes through. That all of the rest 0:20:01.220,0:20:05.680 goes through. And that worked in the[br]nineties because it had no reason 0:20:05.680,0:20:11.310 to send anything faster than 9600 baud. 0:20:11.310,0:20:18.050 But with the modern signals going across[br]it I need 100 MBit/s or even GB ethernet, 0:20:18.050,0:20:22.290 that’s not enough, I need more than[br]two wires. So there’s a cable that comes 0:20:22.290,0:20:25.290 across it, and then I rely on the[br]software to keep it from wrapping 0:20:25.290,0:20:31.180 that cable around itself. So it can only[br]move, say, 400 degrees around. 0:20:31.180,0:20:34.730 But that’s still more than a full circle.[br]So by stopping halfway and moving back 0:20:34.730,0:20:39.710 I can prevent it from getting snagged. 0:20:39.710,0:20:43.400 We’ve got the Beaglebone on the left,[br]in the middle there’s a USB hub 0:20:43.400,0:20:47.550 and on the right is the motor controller. 0:20:47.550,0:20:52.640 The Beaglebone runs Debian Linux and[br]takes care of sending the software defined 0:20:52.640,0:21:00.220 radio recordings over the network. It also[br]takes care of updating the motor positions 0:21:00.220,0:21:06.210 to be the ones that the database[br]declares should be current. 0:21:06.210,0:21:13.060 The stepper motors themselves are the[br]originals that the dish was designed with. 0:21:13.060,0:21:17.810 And they’re running to an EiBot Board.[br]The EiBot board was intended 0:21:17.810,0:21:24.560 for plotting on Easter eggs[br]laughs, laughter 0:21:24.560,0:21:27.740 I feel, you know… is that neat? 0:21:27.740,0:21:32.830 laughs[br]applause 0:21:32.830,0:21:37.750 So you can actually aim a satellite dish[br]that’s as tall as you are, with of these 0:21:37.750,0:21:42.470 fancy motors using less sophisticated[br]equipment than what’s used 0:21:42.470,0:21:47.330 in a 3D printer. Don’t panic, though. 0:21:47.330,0:21:51.360 It’s a hell of a lot more[br]reliable than a 3D printer. 0:21:51.360,0:21:55.420 But we needed some sort of backup in[br]addition to the inertial measurement unit 0:21:55.420,0:21:59.360 telling us when the device[br]had snagged itself. 0:21:59.360,0:22:05.180 It would also help to have[br]a visual queue. Because 0:22:05.180,0:22:09.810 the satellite dish sits in Tennessee, and[br]while I love my home town, and, you know 0:22:09.810,0:22:15.170 I’m very proud of being Tennessean, it’s[br]also a long way to travel when you need 0:22:15.170,0:22:20.830 to re-orient the dish. Using an[br]accelerometer it’s easy enough 0:22:20.830,0:22:26.120 to correct the elevation. Because you can[br]use the accelerometer as a level, and 0:22:26.120,0:22:31.220 you can use that to tell how high up the[br]dish is pointing, at an absolute scale. 0:22:31.220,0:22:38.370 But the compass isn’t very accurate. So[br]instead, as a backup we have a webcam 0:22:38.370,0:22:44.300 that’s taped to the top. Taping[br]is my people’s native culture. 0:22:44.300,0:22:47.710 We have it taped to the top, and then[br]it’s pointing backwards. So this gives us 0:22:47.710,0:22:52.280 like a rear view camera,[br]from the dish’s position. 0:22:52.280,0:22:57.179 So as the dish sits[br]inside of its radome… 0:22:57.179,0:23:00.920 – junk cars in the yard are also[br]my people’s native tradition! 0:23:00.920,0:23:04.340 laughs, laughter 0:23:04.340,0:23:09.670 So the dish sits there next to[br]my brother’s Toyota Supra. 0:23:09.670,0:23:13.770 And that thing, you know,[br]that thing flies as soon as it gets 0:23:13.770,0:23:17.800 an engine put back in it.[br]laughter 0:23:17.800,0:23:21.860 So it sits there and it’s moving but[br]externally you can’t see where it is. 0:23:21.860,0:23:26.019 Which means that I can’t call my family[br]in Tennessee and blackmail them into 0:23:26.019,0:23:29.620 – yet again – looking at my dish to tell[br]where it’s pointed. There are bolts 0:23:29.620,0:23:32.882 that hold this down, it takes half an hour[br]to remove the lid, another half an hour 0:23:32.882,0:23:37.390 to put it back on. 0:23:37.390,0:23:43.230 So instead we took the radome…[br]that’s Frank, he’s my cat. 0:23:43.230,0:23:45.500 Give a “Cheers!” for Frank! 0:23:45.500,0:23:51.500 applause and cheers 0:23:51.500,0:23:56.460 Yeah, we had such a great time with Frank.[br]And we never knew that she was pregnant. 0:23:56.460,0:24:02.950 If you happen to need kittens and wanna[br]pay the customs fees I’ll hook you up! 0:24:02.950,0:24:10.580 So then we took tape and ran tape[br]down the edges of the radome, 0:24:10.580,0:24:15.090 and then marked it. So from the markings[br]you can tell which clock position 0:24:15.090,0:24:20.230 the back of the satellite dish is pointing[br]at. So if you point the dish towards 12:00 0:24:20.230,0:24:25.870 you know that you’re roughly at 6:00,[br]so you know that it’s pointing South. 0:24:25.870,0:24:29.110 And then you can sort of scan the sky[br]for a stationary target, and navigate 0:24:29.110,0:24:32.950 off of that, to recover your position. 0:24:32.950,0:24:39.620 Software-wise… remember, the[br]whole thing runs through Postgres, 0:24:39.620,0:24:45.750 so I just tunnel the Postgres over SSH,[br]and then I wrote a Python client 0:24:45.750,0:24:52.120 that displays the satellite positions[br]and the satellite state in PyGame. 0:24:52.120,0:24:54.820 This is intended for making those games[br]where you see the rabbit and the rabbit 0:24:54.820,0:25:00.550 jumps on the other rabbit. But it… works![br]And it works perfectly well enough 0:25:00.550,0:25:04.940 to target the dish. Because all that this[br]software has to do is plot the positions 0:25:04.940,0:25:10.570 of the satellites, and give orders back to[br]the database when I click on a satellite 0:25:10.570,0:25:15.270 or click on a position.[br]It can also display stars. 0:25:15.270,0:25:21.350 So the red items are satellites which are[br]not selected. The green item is GOES-3 0:25:21.350,0:25:25.470 which is the satellite that I’m targeting.[br]And then the white items are 0:25:25.470,0:25:32.140 stars in the sky. Now this is[br]a plot in which the azimuth 0:25:32.140,0:25:37.230 is on the X axis, and the elevation is on[br]the Y axis. But I can also arrange it 0:25:37.230,0:25:42.160 into a polar plot. Which sort of gives me[br]an upside-down view of the satellite dish 0:25:42.160,0:25:47.520 looking at the sky.[br]I doubt you can read it but 0:25:47.520,0:25:55.330 just above the green circle in the center,[br]that’s Polaris which is the North star. 0:25:55.330,0:25:58.770 It’s also weird because, you know,[br]working on this, you know, I thought 0:25:58.770,0:26:02.170 that I got really good at astronomy[br]until I realized that I only knew 0:26:02.170,0:26:07.940 what the stars looked like during the day.[br]laughter, laughs 0:26:07.940,0:26:12.010 And it being PyGame you can[br]actually run it on a mobile device. 0:26:12.010,0:26:17.960 So the same client that runs on my[br]laptop can also run on my Nokia N900. 0:26:17.960,0:26:26.140 laughs[br]applause 0:26:26.140,0:26:32.940 A significant portion of the GUI client for[br]this was written while stuck on the U-Bahn, 0:26:32.940,0:26:38.330 connected over 3G, SSH through[br]and just using emacs on the phone. 0:26:38.330,0:26:44.590 laughter, laughs[br]applause 0:26:44.590,0:26:49.270 If you’re one of those people who needs to[br]complain about the N900 being too old, 0:26:49.270,0:26:54.260 it also runs on the N9. 0:26:54.260,0:26:59.020 And then you can take the data out of this[br]and run it through scientific software. 0:26:59.020,0:27:03.100 In addition of the software defined radio[br]recordings themselves being dumped out 0:27:03.100,0:27:09.720 to a text file or a binary file on disk[br]you can also dump out things like 0:27:09.720,0:27:14.590 the received signal strength indicators[br](RSSI). So this is a screenshot in which 0:27:14.590,0:27:18.340 I’m identifying different satellites that[br]I’ve seen in the sky based upon 0:27:18.340,0:27:23.040 their downlink signal peaks. You can see[br]the noise floor there, at the bottom, 0:27:23.040,0:27:28.320 and then there’s a rather strong signal on[br]the left. And a weaker, narrower signal 0:27:28.320,0:27:34.780 on the right. Now, the[br]daemons that build this up… 0:27:34.780,0:27:38.400 you need an orbit prediction daemon.[br]Because you need to know 0:27:38.400,0:27:41.490 where the satellites are and where[br]they’re going, and where they will be 0:27:41.490,0:27:45.830 by the time you get to them. 0:27:45.830,0:27:50.760 You need to update the orbits themselves. 0:27:50.760,0:27:55.150 LEO satellites are described in TLE files, 0:27:55.150,0:27:58.191 these are called ‘Two Line Entry’ and[br]they’re called ‘Two Line Entry’ because 0:27:58.191,0:28:01.970 they’re three lines long.[br]laughter 0:28:01.970,0:28:07.610 These were originally used by NORAD for[br]inter-continental ballistic missile tracking. 0:28:07.610,0:28:11.251 And because a ballistic missile[br]is basically in orbit, it’s just that 0:28:11.251,0:28:14.980 that orbit happens[br]to collide with the earth. 0:28:14.980,0:28:20.380 But this format isn’t terribly accurate[br]for satellites that adjust their own orbit. 0:28:20.380,0:28:26.930 So anything that has fuel, or has engines,[br]or changes mass will vary its position. 0:28:26.930,0:28:34.160 And this also doesn’t account for drag.[br]Because, you know, the missile itself, 0:28:34.160,0:28:38.200 you know it goes up it goes down, it’s[br]not orbiting enough for the light drag 0:28:38.200,0:28:43.030 in the upper atmosphere to matter. But for[br]a satellite it does. So these Two Line Entries 0:28:43.030,0:28:47.760 will work for a matter of days or maybe[br]a couple of weeks. But they don’t last 0:28:47.760,0:28:55.090 longer than that. So you need a daemon[br]that grabs the new files from Space Track. 0:28:55.090,0:28:57.971 And this is just a matter of like[br]a recursive WGET, and then 0:28:57.971,0:29:02.880 parsing the files. And that still needs[br]to be done. You also need motor control, 0:29:02.880,0:29:06.780 because you need to move the dish[br]physically to track your target. 0:29:06.780,0:29:10.600 You need input for the Inertial[br]Measurement Unit. This comes over 0:29:10.600,0:29:15.240 a low voltage serial port. And then[br]you need radio daemons to handle 0:29:15.240,0:29:20.590 spectrum analysis or downlink recording.[br]And these you’ll have several of them, 0:29:20.590,0:29:29.040 you have to swap them out. So you’ll begin[br]by using the spectrum analyzer to identify 0:29:29.040,0:29:33.730 that your aim is accurate, that you’re[br]accurately tracking the targets 0:29:33.730,0:29:37.630 well enough to get a recording from[br]them. And then after that you begin 0:29:37.630,0:29:42.130 to take software defined recordings off[br]them. And, eventually, you might have 0:29:42.130,0:29:48.130 a standalone application that parses[br]what you’re receiving. Such as 0:29:48.130,0:29:55.550 the Osmocom guys did with OpenGMR. 0:29:55.550,0:29:59.810 So for orbit prediction I began[br]with a DOS program that had been 0:29:59.810,0:30:04.550 ported to Unix, called PREDICT. 0:30:04.550,0:30:10.360 And this worked, but it’s garbage. 0:30:10.360,0:30:16.070 It only supports 20 satellites plus the[br]sun, the moon, Venus and Mars. 0:30:16.070,0:30:24.460 But no other planets because it’s[br]designed for astronomy photographers 0:30:24.460,0:30:28.800 who want to get a picture of something[br]as it comes over the horizon. You know, 0:30:28.800,0:30:33.890 I need to track hundreds of targets and[br]then write a script to opportunistically 0:30:33.890,0:30:37.640 pick the ones that I want to record.[br]Because otherwise you have to like 0:30:37.640,0:30:44.880 set an alarm clock for the half-hour pass[br]in which you can play with something. 0:30:44.880,0:30:48.900 That software does allow you to query the[br]results by UDP, though. So you can just 0:30:48.900,0:30:55.000 send it a flood of request packets,[br]then it will flood back with the data 0:30:55.000,0:31:00.860 you’re looking for. So I switched to[br]a library called PyEphem which allows you 0:31:00.860,0:31:05.960 to track hundreds of birds. It has no[br]UDP nonsense. It will also calculate 0:31:05.960,0:31:12.940 satellites, planets and stars.[br]And the really nifty thing about this 0:31:12.940,0:31:18.090 is that you tell it… you know, it being[br]a library you tell it when to update 0:31:18.090,0:31:23.030 the individual object that you’re[br]interested in. So you can update 0:31:23.030,0:31:26.710 objects that are out of view or[br]uninteresting more slowly 0:31:26.710,0:31:33.300 than the ones that you care about.[br]So I managed to track every single item 0:31:33.300,0:31:39.230 in geo-stationary orbit. This thick[br]ring here is the Clarke Belt 0:31:39.230,0:31:47.000 of all satellites in geo-stationary orbit,[br]as viewed from my Southern horizon. 0:31:47.000,0:31:53.880 applause 0:31:53.880,0:31:58.460 The Two Line Entry files you can get[br]freely from CELESTRAK.COM. 0:31:58.460,0:32:02.370 So this is just a simple script that[br]grabs them and then inserts them. 0:32:02.370,0:32:06.990 And the prediction daemon will actually[br]select them as it is loading up. 0:32:06.990,0:32:14.010 Because all inter process communication is[br]running through this Postgres database. 0:32:14.010,0:32:16.540 And this daemon can be moved to[br]a different machine if I needed 0:32:16.540,0:32:21.730 more computing power, or anything[br]like that. The motor control demon… 0:32:21.730,0:32:27.470 well, the EiBot board is designed to take[br]stepper motor commands. It shows up 0:32:27.470,0:32:33.429 as USB Serial device on Linux. So as[br]I plug it in to the Beaglebone it appears 0:32:33.429,0:32:41.660 as /dev/ttyACM0. And the baud rate doesn’t[br]matter. Because this is a USB device. 0:32:41.660,0:32:48.810 You could then send it simple commands.[br]Like ‘SM,3000,500,-400’ means that I wanna 0:32:48.810,0:32:55.559 move a stepper motor for 3000 ms. I want[br]the first motor to move 500 forwards, 0:32:55.559,0:33:03.330 that’s UP, and the second one to move[br]400 LEFT which is backwards 400 steps. 0:33:03.330,0:33:07.540 And then it will count that out, and[br]then it sends me back an OK. 0:33:07.540,0:33:11.981 If I want to disable the motors, I send[br]‘EM,0,0’. This allows the motors to be 0:33:11.981,0:33:16.429 freely spun. Because normally a stepper[br]motor will physically hold its position, 0:33:16.429,0:33:22.500 you need to turn them off in[br]order to slide the dish around. 0:33:22.500,0:33:28.260 ‘EM,1,1’ will enable both motors[br]in 1/16-of-a-step mode. 0:33:28.260,0:33:31.340 Stepper motors can do fractional[br]steps because they’re 0:33:31.340,0:33:37.800 holding themselves in position. 0:33:37.800,0:33:41.390 You can see the motors themselves[br]with the belts and the gear train. 0:33:41.390,0:33:46.800 This thing on the right would probably[br]be illegal for me to turn on. 0:33:46.800,0:33:53.100 The thing on the right is a 250 W[br]amplifier. laughter 0:33:53.100,0:33:58.780 The stepper motors themselves just have[br]six wires. In a lot of 3D printer type stuff 0:33:58.780,0:34:02.690 they ignore the middle two. So you just[br]drop off the middle two wires, you run 0:34:02.690,0:34:07.100 the other four to your stepper[br]controller, and you’re good to go. 0:34:07.100,0:34:10.079 The belts and stuff need to be measured[br]in order to figure out exactly 0:34:10.079,0:34:16.639 what the gear reduction is. Because you[br]need to know how many steps form a degree. 0:34:16.639,0:34:23.250 The IMU unit, this Vectornav VN100,[br]it’s a MEMS gyroscope and accelerometer 0:34:23.250,0:34:28.380 and a compass in a single box.[br]It costs $500 which was 0:34:28.380,0:34:33.780 more than all of the other[br]equipment put together. 0:34:33.780,0:34:37.280 The compass is confused by the stepper[br]motors because the compass is measuring 0:34:37.280,0:34:40.280 magnetic fields. So you need to[br]mount this physically as far away 0:34:40.280,0:34:46.159 from the stepper motors as possible. And[br]the gyroscope is confused by motor jerk 0:34:46.159,0:34:50.310 which is a shame because stepper motors[br]work as a series of jerks rather than 0:34:50.310,0:34:56.510 as a single consistent motion. And the[br]accelerometer is confused by gimbal lock, 0:34:56.510,0:35:00.880 so you have to switch it to[br]a quaternion mode in order to get 0:35:00.880,0:35:05.640 consistent values out of it. And if I had[br]to do this over again I’d really try 0:35:05.640,0:35:10.610 to drop this piece of garbage. But it’s[br]a lovely technology when it works. 0:35:10.610,0:35:12.310 some laughter 0:35:12.310,0:35:19.010 Now for position calculations: the[br]elevation itself comes from the IMU, 0:35:19.010,0:35:24.160 the azimuth comes from the motor daemon.[br]This is because the accelerometer 0:35:24.160,0:35:29.710 can very accurately tell which way[br]the earth’s gravity is pulling it 0:35:29.710,0:35:34.410 whereas the accelerometer has to integrate[br]jerks over time in order to figure out 0:35:34.410,0:35:38.890 its position. So the[br]accelerometer will drift 0:35:38.890,0:35:46.410 and the compass will be confused by the[br]magnetic fields while the elevation is 0:35:46.410,0:35:53.300 just a single accelerometer[br]that doesn’t drift. 0:35:53.300,0:35:59.760 And the IMU will become[br]a backup for these things 0:35:59.760,0:36:03.480 in order to figure out how to make[br]it reliable. But at the moment 0:36:03.480,0:36:09.100 the position measurement is infinitely[br]more reliable. The tilt motor 0:36:09.100,0:36:13.970 I’m not using at present because on[br]a ship that’s rocking it’s necessary 0:36:13.970,0:36:20.290 to tilt the dish. On a satellite dish[br]that’s staying still the only useful 0:36:20.290,0:36:26.280 tilting the dish is so that you can follow[br]the arc of a satellite through the sky 0:36:26.280,0:36:30.020 by only moving a single motor.[br]Photopgraphers do this when they’re 0:36:30.020,0:36:35.210 trying to get long exposures of moving[br]satellites. At the moment my software 0:36:35.210,0:36:39.180 doesn’t support this feature. But[br]if it turns out to be necessary 0:36:39.180,0:36:43.960 to get higher quality[br]recordings I might add it. 0:36:43.960,0:36:47.430 There are radio daemons. The[br]first is a spectrum analyzer. 0:36:47.430,0:36:51.480 This just measures the signal strength[br]on each frequency. And it does it by the 0:36:51.480,0:36:58.230 power spectral density function. 0:36:58.230,0:37:02.900 And the strength itself will[br]vary with the position error. 0:37:02.900,0:37:07.050 So this allows you to figure out how[br]far off you are by sort of testing, 0:37:07.050,0:37:09.690 by overshooting just a little bit,[br]or undershooting just a little bit 0:37:09.690,0:37:15.170 to center on your target. The downlink[br]recorder dumps the IQ values 0:37:15.170,0:37:19.950 in the software defined radio[br]directly to an NFS share, 0:37:19.950,0:37:24.749 which can later be decoded and[br]read and reverse-engineered. 0:37:24.749,0:37:30.260 We’ve got a whole table of spectrum[br]data. And then I plot that in a tool 0:37:30.260,0:37:36.840 called Viewpoints which NASA releases[br]for dealing with giant scatter plots 0:37:36.840,0:37:44.480 in multiple dimensions. Each view takes[br]two dimensions, and it’s tons of fun. 0:37:44.480,0:37:47.570 The client GUI is this PyGame. I have[br]Postgres for communications, and 0:37:47.570,0:37:51.590 the server does all the heavy lifting,[br]so the Beaglebone itself never has 0:37:51.590,0:37:58.260 to do anything complicated with[br]regards to software defined radio. 0:37:58.260,0:38:03.610 This is also about these faint blue lines[br]are positions at which I’ve seen 0:38:03.610,0:38:09.620 particularly strong signals in order to[br]identify which satellites are active 0:38:09.620,0:38:14.190 and which ones are inactive.[br]Because satellites die over time. 0:38:14.190,0:38:17.920 And particularly useful targets we’re[br]reverse-engineering are satellites that are 0:38:17.920,0:38:22.910 out-of-commission or outdated.[br]I’m running out of time by these markers. 0:38:22.910,0:38:24.930 Does that mean that we’re skipping[br]questions, or does that mean that 0:38:24.930,0:38:28.910 I need to be off the stage?[br]mumbling to stage 0:38:28.910,0:38:35.880 Not having Q&A, okay. So today I get[br]accurate tracking of satellites. 0:38:35.880,0:38:41.020 And this thing can run unattended 24h[br]a day for months without maintenance. 0:38:41.020,0:38:46.030 Like I said: it’s nothing like a 3D printer.[br]laughter 0:38:46.030,0:38:49.970 It takes software defined radio[br]recordings, it can provide maps 0:38:49.970,0:38:54.920 of views of different[br]satellites in the sky. 0:38:54.920,0:38:59.920 The next step is I want to publish[br]a ‘port scan’ of the entire sky. 0:38:59.920,0:39:04.460 So which frequencies are in use on which[br]birds, for every bird that ever comes 0:39:04.460,0:39:08.490 above Tennessee, on every[br]downlink that fits my antenna 0:39:08.490,0:39:12.230 as well as a database of software[br]defined radio recordings. If anyone 0:39:12.230,0:39:19.000 would care to donate a truckload[br]of disks – that might be handy. 0:39:19.000,0:39:23.080 I’d also like to make other ground[br]stations. The software that I’ve written 0:39:23.080,0:39:25.910 ought to be portable to new hardware.[br]So there’s nothing that should keep you 0:39:25.910,0:39:30.950 from being able to port this to run on[br]your own dish. And I have a large yard, 0:39:30.950,0:39:36.530 so I could conceivably have[br]a dozen of these things. 0:39:36.530,0:39:38.910 Another way that you can do it, and[br]the way that it’s traditionally done 0:39:38.910,0:39:45.230 for, say, cube satellites is having[br]Yagis or other loosely directional antennas 0:39:45.230,0:39:48.910 in order to receive the signals.[br]I went with a dish because I wanted 0:39:48.910,0:39:54.920 more selectivity. I wanted to be able to[br]get reverse-engineerable recordings 0:39:54.920,0:40:03.020 rather than intentional ones for which[br]I already knew the downlink protocol. 0:40:03.020,0:40:07.990 So this is my van, my van is amazing. 0:40:07.990,0:40:15.620 applause 0:40:15.620,0:40:19.300 Thanks to Nick Farr. I had a bit too[br]much to drink in Montreal and 0:40:19.300,0:40:24.440 I called Nick Farr and I said: “Nick,[br]I want a DUKW”, like these amphibious 0:40:24.440,0:40:28.500 troop transport vehicles. And Nick[br]said: “Sorry, I can’t get you one but 0:40:28.500,0:40:32.000 you want a news van!” And I said:[br]“Hell yeah, I want a news van!” 0:40:32.000,0:40:35.430 So – this pole in the background, that’s[br]not a lighting pole. That’s actually 0:40:35.430,0:40:43.369 part of the van.[br]laughter 0:40:43.369,0:40:49.590 This is the antenna retracted. This mast[br]goes up 20 m by pneumatic power. 0:40:49.590,0:40:55.180 There’s an air compressor in the back.[br]Here is the control panel, 0:40:55.180,0:40:57.880 there’s an air-conditioned[br]office in the middle. 0:40:57.880,0:41:02.480 laughter, laughs 0:41:02.480,0:41:08.910 This has four 19" server racks as well[br]as some A/V equipment that was left over. 0:41:08.910,0:41:14.100 I was particularly excited about the[br]video monitor which supports PAL 0:41:14.100,0:41:18.460 which you folks are familiar with,[br]NTSC or “Never The Same Color” 0:41:18.460,0:41:21.840 which is my people’s native culture…[br]laughter 0:41:21.840,0:41:25.610 But most importantly, it does SECAM,[br]the system essentially contrary 0:41:25.610,0:41:29.530 to the American method.[br]laughs 0:41:29.530,0:41:34.230 laughter and applause 0:41:34.230,0:41:41.130 So in addition to my radio equipment[br]I’m adding my Soviet PDP-11 which was… 0:41:41.130,0:41:45.360 laughs[br]…and that’s not a joke. I have a Soviet 0:41:45.360,0:41:51.540 PDP-11 thanks to the kind folks at the[br]Positive Hacking Days conference. 0:41:51.540,0:41:58.200 This is the control panel,[br]and that’s my talk! 0:41:58.200,0:42:13.340 applause 0:42:13.340,0:42:17.740 Herald: Thank you so much.[br]There actually is time for Q&A now. 0:42:17.740,0:42:20.672 Travis: Well, first I’d like to introduce[br]you to my cat. If we could go back 0:42:20.672,0:42:25.691 to the prior image. This is Frank![br]We didn’t know it at that time, but 0:42:25.691,0:42:31.570 Frank was not dad (?) when this picture was[br]taken. If you’d like kittens get in touch! 0:42:31.570,0:42:34.800 Okay. Are there any questions? 0:42:34.800,0:42:39.030 Question: Great talk. What’s the most[br]interesting signal you decoded so far? 0:42:39.030,0:42:44.650 Travis: At the moment I’m sort of stuck[br]at the L band range. Because of filters 0:42:44.650,0:42:48.220 that I have yet to remove. So everything[br]gets attenuated, and becomes annoyingly 0:42:48.220,0:42:54.720 quiet outside of the 1.5 ..1.6 -ish range. 0:42:54.720,0:43:00.210 The Globalstar network is what I’m[br]most interested in targeting next. 0:43:00.210,0:43:03.050 I can’t wait to see what[br]people are tweeting 0:43:03.050,0:43:07.029 while they should be enjoying nature. 0:43:07.029,0:43:08.850 Herald: Is there a question[br]from the internet? 0:43:08.850,0:43:12.890 Signal Angel: Yeah, the internet has[br]many questions. So first one was: 0:43:12.890,0:43:18.430 Is there really no authentication or[br]encryption on the Q band IP services? 0:43:18.430,0:43:24.859 So you can just spoof at will? And… 0:43:24.859,0:43:28.540 can the birds see the physical[br]location of the source 0:43:28.540,0:43:34.650 accurately enough to[br]find who is spoofing? 0:43:34.650,0:43:41.200 Travis: I’m not an expert in Ku band. The…[br]for the downlink the bird has no clue 0:43:41.200,0:43:45.750 as to the location of the dish. Because[br]you’re only listening. They can roughly 0:43:45.750,0:43:49.530 figure out your geographic area because…[br]they need to figure out where 0:43:49.530,0:43:53.590 the spot beam is going. So they might know[br]whether you’re in, say, Germany or 0:43:53.590,0:44:01.720 in France. But they won’t know whether[br]you’re in Heidelberg or Mannheim. 0:44:01.720,0:44:07.420 They do have forms of authentication for[br]many satellite networks. Satellite TV 0:44:07.420,0:44:11.950 is one of the best-protected network[br]services because of the satellite wars 0:44:11.950,0:44:16.580 in the nineties in which TV pirates would[br]fight back and forth with smart card 0:44:16.580,0:44:23.330 designers. But there are also many[br]unencrypted links. And there are… 0:44:23.330,0:44:31.260 because of standard protocols those[br]are particularly easy to find in Ku band. 0:44:31.260,0:44:37.390 Question: You’ve been talking about[br]using RTLSDR from osmocom. 0:44:37.390,0:44:42.470 And you were talking about your spectrum[br]analysis program. Is this one working 0:44:42.470,0:44:45.810 with RTLSDR? 0:44:45.810,0:44:53.970 Travis: So… RTLSDR… so I’m using[br]the RTLSDR, not the OsmoSDR. 0:44:53.970,0:44:58.900 Which are separate. The spectrum[br]analyzer is working with the RTLSDR. 0:44:58.900,0:45:03.230 My complaint about the RTLSDR is that[br]when you have a strong signal next to 0:45:03.230,0:45:08.230 a weak signal the weak signal is[br]utterly useless for interpretation. 0:45:08.230,0:45:13.330 Question: Okay. Thank you. 0:45:13.330,0:45:15.490 Herald: Another question[br]from the internet? 0:45:15.490,0:45:19.180 Signal Angel: Okay, next question from[br]the internet is: How do you record 0:45:19.180,0:45:24.490 the radio signal from the dish,[br]at what sampling rate? 0:45:24.490,0:45:29.890 Travis: The RTLSDR samples at 2 million[br]samples per second. As soon as I switch it 0:45:29.890,0:45:37.250 over to the HackRF I’ll be having[br]20 million samples per second. 0:45:37.250,0:45:41.900 The sampling rate can be reduced once[br]the bandwidth of the signal is known. 0:45:41.900,0:45:46.390 For reduced storage. And the[br]recordings can also be compressed. 0:45:46.390,0:45:53.300 But it’s still a hell of a lot of storage. 0:45:53.300,0:45:54.659 Herald: Any other questions? 0:45:54.659,0:45:57.770 Signal Angel: The internet[br]has more questions… 0:45:57.770,0:45:59.860 Herald: Okay… 0:45:59.860,0:46:04.380 Signal Angel: Did you look into obtaining[br]a capacitive high-bandwidth coupler as used 0:46:04.380,0:46:09.880 for the rotary gantries in CT scanners?[br]Those can apparently transmit contactless 0:46:09.880,0:46:13.420 several GBytes per[br]second, bi-directionally. 0:46:13.420,0:46:16.109 Travis: I’ve not looked into those.[br]It seemed better to have an umbilical 0:46:16.109,0:46:21.820 cable and to be careful not to snap it. 0:46:21.820,0:46:25.630 The whole thing was done for a budget[br]of less than 2000 Dollars, and can be 0:46:25.630,0:46:31.640 recreated for less than a budget of 1000[br][Dollars]. And they… so we tried to avoid 0:46:31.640,0:46:36.140 fancy parts. The local radio shack loved[br]us because we’d swing in and buy all sorts 0:46:36.140,0:46:39.880 of crazy stuff. As soon as we told them[br]that we wanted the satellite dish to 0:46:39.880,0:46:41.300 dance Gangnam style…[br]laughs 0:46:41.300,0:46:48.740 laughter 0:46:48.740,0:46:50.820 in German, strong accent:[br]Danke, gerne! 0:46:50.820,0:46:53.810 applause 0:46:53.810,0:46:56.610 silent postroll titles 0:46:56.610,0:47:02.893 subtitles created by c3subtitles.de[br]in the year 2017. Join, and help us!