Airspy uses beast protocol to input data into dump1090. It's really not a problem. Of course dump1090 needs to be configured net-only. Well it doesn't. FR24 introduced some kind of AVR with timestamps which dump1090 can output as well by giving it the flag --mlat. (you can netcat port 30002 after enabling this option and you'll get those timestamps) So they might have used that format, i don't know. Can you just take a look at the ouput, maybe paste a couple of lines here: Code: socat -d -d -u GOPEN:/dev/ttyAMA0,ispeed=3000000,ospeed=3000000,crtscts=0,rawer STDOUT
FR24 mangles the MLAT timestamp so nobody but them can use it. They been doing this for years because of FlightAware. When FlightAware first starting doing MLAT, people were sending to other sites - including ADSBx. This got FlightAware's attention and they sent lawyers threatening (threats and lawsuits are normal operating parameters) FlightAware to sue other sites because FlightAware claims ownership of any and all data feeders send them. They own your data you send them. FlightAware also monitors other ADS-B sites that use FAA data and turns them in if they miss a blocked aircraft. Because you sign a letter of agreement with FAA and EuroControl agreeing to remove any aircraft they tell you to in exchange for the data they give you. FlightAware regularly tries to get FAA to yank other sites data agreements. So FR24 mangles the MLAT such that it is unusable for anyone but them. FA does the same now. With all the filtering and obfuscating - it's fairly useless data for anything interesting anyway. rawer outputs nothing ... raw outputs below It's raw hex .. FR24 client uses raw hex. They did this because they timestamp it with the client due to the mangling of the timestamps their own way, and when they turn off the beast output on a feeder it breaks all the other site feeders. This is intentional. Code: socat -d -d -u GOPEN:/dev/ttyAMA0,ispeed=3000000,ospeed=3000000,crtscts=0,raw STDOUT 2019/07/12 15:52:16 socat[2038] N opening character device "/dev/ttyAMA0" for reading 2019/07/12 15:52:16 socat[2038] N using stdout for writing 2019/07/12 15:52:16 socat[2038] N starting data transfer loop with FDs [5,5] and [1,1] 7D034; BB983; *0C5EAB05FAE7FB;*8DA89BAB9*02E19718E44D8A; B239F; 485A2684B; *02E617183C7069; A052850015C007CF6FD; *02E19718E44D8A; *8DA84A115*02E19718DF2A07; 4AD65D; E44D8A; *02000211*02000211E44D8A; 2F2834FF2AC; *8DA84A111C850FE8E1BB983; 34D796; *2800088B995B2DD91772A5243; BB983; *2000021034*02E19718E*8DA84A1155205696; 4D8A; 0DE0E; 0DE0E; 34B6F; A052850015C007CF6FD; 34B6F; AD65D; 44D8A; *20001719*8DA89BAB9*02E197191BB983; BB983; 1D61C9; F8132006005AB81FEBA5; *02*8DA84A1*02E19718E44D8A; *8DA84A115911023690F8*8DA84A1199102409F828851A5659; *02000210E34B6F; *02000210E34B6F; *02000210E34B6F; *8DA84A11EA05285001*8DA89BAB58B985B28391421AB125; *8DA89BAB990D42A1100*8DA84A11591102369A; *8DA84A119910280*02E197191BB983; *28000808F82EB3; *28000808F82EB3; *02E19718E44D8A; *8DAAE960EA291840013C084C0FF7; *020001BF083AD7; *28000808F82EB3; *8DA84A11590FF5D7DB972A1199102B093824852392BC; *02C18731BDDEBD; *02C18731BDDEBD; *8DA89BABF82300020049B*8DA84A1121384576CF382*8DA89BABEA4668580*02C187324236AF; *8DA89BAB58B9921078F226278A41; *020001BF083AD7; DF6A0; *8DA84A1199102C*02C18732*5DA89BAB*02E19719*8DA84A11*02C18732*8DAAE960F82300020*02E197184236AF; *02E19719*02C1873360583B35FA7D9A472FA621; *8DAAE960990907107098185AD26E; *020001BF083AD7; *02E61719C38460;
by comparison .. this is the same data from dump1090 30002 .. the raw output Code: nc localhost 30002 *8FA54D6B99101D05780807514EF0; *5DACC85E64AF57; *0241019F82A6F4; *8DABA1B2590FD5C6F17C95070A24; *8DABA1B29914480E900C85A0DB8D; *8DA0ACFF990D1C965864263EE35B; *5DADEA2649F679; *8DA7A9CDEA428866F93C085132DB; *0000039ABDB2F5; *8DA61497581785EB53741E43F446; *5DACC85E64AF57; *8DA9E28521384577CF682066E018; *8DA98519F8122006004AB0438E43; *5DACA94BD74229; *02A1843F66D71B; *8FA54D0399104405900C8457E238; *8DA6B90BEA0FB840015C00120F92; *02E18D9792F961; *5DAAA4BE4784D3; *5DACC85E64AF57; *02C189161673DF; *8DA54D8799146485F80407120435; *02A185BA90DC72; *8FA43B91580DF5EC1F7E4F91F252; *5DA68F724684A7; *0200033D10F15E; *200017B0E46CD3; *028182B8F5623D; *0261821CDD3C8B; *200007800BF40B; *8FA54D6B591BE595CF7CC3BA50AD; *5DAAA4BE4784D3; *2028019FF9C83F; *5DA8B44EB95090; *000102194C7F2A; *5DABE03009BC0A; *8DA50BC199144D07C81C8767E60E; *5DA11FFD86C7CC; *8DACC83E99104F8938040A79F11C; *5DACECB9984968; *5FA43B91EFC0AC; *8DAAE5A9E11D3300000000F98EAB; *5FACA6CDDDD6E2; *8DAB40F0584B460A66496E28F955; *0261821CDD3C8B; *8DA9486A591C829525A6B9361A95; *8DAC267CF82100020049B814941E; *0200021D11F029; *8DA3323D990D0594D8442230D871; *02E195B8F1A39C; *8DA11FFD591555D29DA053CD3FA9; *5DA9FDB4B3A5FE; *5DA7BDC9706839; *0241019F82A6F4; *5DAD90A37F5F9D; *02E19910B41AB9; *5DA431ADD52430; *5DAC267C8AEFC1; *8DA9F3BA9914050ED81885176DAF; *02E19690E8472B; *028182BAF98F18; *8DAAA861F8102006005AB02883D9;
There are differences. Not sure if that's socat causing it or the HAT isn't the same format as dump1090 .. or dump1090 isn't a completely correct raw format ... The works as input for dump1090, and dump1090 decodes the raw data. The issue is with how it's treating that input data and tagging it for the MLAT client to read.
dump1090 --mlat Code: @000014FEF4538DA9CFF2EA052848015C00E2EC78; @000014FF226F8DAAE5A9585D3274C1B547EAE210; @000014FF50B45DACF2072AA381; @000014FF85978DA8D5A458BF05855D956CDA482E; @000014FFAA918DA54D48E1080800000000BED680; @000014FFCF678DA4F7FB213B4C79C16820D2B2D0; @000014FFEAAA02058215DEAF51; @0000150080525DAAC850480290; @00001500C1208DA9CFF2E1080800000000F573B4; @000015010D4202058215DEAF51; @0000150148AA8DA7622CEA06E848015C00EE4D45; @000015015AF85DAA9BB8C37071; @00001501809F8DA66FC3592AA5EF1B95A62BC933; @000015018A3F8DA66FC399143585A034869588A8; @00001501A75D80E1949A58A5A75306A42CA302AA; @00001501B3288EA4E03F5015A5CC11933F27F0F1; @00001501E8058DAAE5A999095814D0A02D1EBBC1; @0000150242A78FA54D03E1080800000000CDAB04; @000015028D3420001718E095D3; @00001502A0A18DA1BF0D213B2C7155482066A07E; @0000150352CD8DA00969592176169A20CDF04629; @00001503AB2A8DA7A9CD990DC00A50044C83321F; @00001503C8228DA05614EA4A5866C93C089EA097; @00001503DA1D02000C9AB995C4; @00001503EC7902A6053643E99E; @00001504106D8FA2D4D65911B5EFE19348C13819; @0000150473E55DA11FFD86C7CC; @00001504BE8A8DABE0305815324DB8D72E0FC04A; @00001504CA638FA65F7DF8102006005AB07AEBCF; @00001504EBB18FA54D76591BD5A059A2E71A4EC8; @00001504FFB50261821B2474DE; @000015050F1402A6053643E99E; @0000150522155DACECB9984948; @000015055DC88EA4E03F9924088CA0008445C5F2; @000015059C828DA05614990DB28DD00451588873; @00001505B8818DA0ACFF990CDE91D85010ABA904; @000015060EBC8DA6C4F05826821C8B0041D555AD; @000015068D3A5DACC799C5B653; @00001506A39002000302E53E48; @00001506D70702E18E967D896E; @000015070CDB02E190393383E8; @00001507454402E195B8F1A39C; @00001507544702A6053643E99E; @00001507676602C18C3BD8B189; @00001507892F02C18B93F3531F; @00001507A7BD2800033A938FAE; @00001507B48B8DA9486A59848622222CA709F1DE; @00001507F86202C18ABFFCACD8; @000015081EC35DACEA6A47E902; @0000150879475DACC799C5B653; @00001508AEA78DA8D5A49909D28B5004551B4561; @00001508D29B020004A8CFBF4A; @00001508F4200261821B2474DE; @0000150903EE5FADECD7C0711E; @0000150996278FA54D03213B4D30C10820151B1B; @00001509F48E8FACE32E590C8615BA0E35106F6B; @0000150A06FF5FA50BC13FEB5C; @0000150A3BD4020005A2CBF6F4; @0000150A699702C186BBB9329D; @0000150A994420000E967B5124; @0000150AB6528DACC799990DBA8AD84053A79D75; @0000150B24E8000101BEA0E72B; @0000150B3BFE000101BEA0E72B; @0000150B62A8000010884EE6C6; @0000150B8ED702E18E367F103A; @0000150B98D28000021A5911A244E6F69348A7B9; @0000150BE53002E190B73DA03F; @0000150C2A9C8FACD2039910198A602C017A5070; @0000150C6FBE020003BD1BA964; @0000150CDBD902E18E967D896E; @0000150CE6AE8DA54CF65911A244E6F69372A3B6; @0000150CF04D8DA54CF69910450B5814866CB147; @0000150D2DBE02C18D17D6833C; @0000150D5E4C5DAA9E04F3240E; @0000150DD671000010884EE6C6; @0000150E574302E18E967D896E; @0000150E75A85DA4F7FB77D69B; @0000150F09630261821B2474DE; @0000150FB2658FA54D4D590FA252F4F82F23294D; @0000151009530261821B2474DE; @00001510119102000780DC68F2; @0000151064D002E1951F0BB1AB; @000015106C5B02E197171ED703; @000015107CFA5DACEA6A47E900; @000015109FBF5DA9FDB4B3A5FE; @00001510B5D98DAAA616990DBD83700454AA430B; @00001510CDED5DACEA6A47E902; @0000151113D502E190B73DA03F; @000015115A2D8DAA46AE58CD83626B07CBC34021; @00001511A8D702E195B905840A; @00001511D55302000294E4C528; @00001511FF7C02000780DC68F2; @00001512979C0001029AB308A9; @000015129D6D200017B0E46CD3; @00001512BCDF8FA54D03590FE24C9EF5914531D2; @00001512F7E90000043B6EA10C; @00001513CB838000021A5911A5E5E5957C57CFB8; @00001513FA9B5DA9BB70EFBD7A; @000015145B390261821B2474DE; @000015148AED200017B0E46CD3; @00001515336A8DAD35B19908BB1F40541BBA97D6; @00001515557F8DA0CE75591825BCEBE8937B388A; @000015156C978FA54D87E10808000000005AA7A5; @00001515AB5902C1881216A0F7; @000015164F4D8DACC85CEA046848015C00F6E9B7; @000015166D0E5DAD90A37F5F9D; @0000151675BA020604171C0CB5; @00001516B50259A5540CFAC1D5; @00001516C4105DA6A5C3ED640F; @000015171A328DA54D4899105008180886808254; @000015173C705DAA9BB8C3705C; @000015176FEC5DA8D5A4F0B96E; @000015189F8259A5540CFAC1D5; @00001518B15C5FA54D769EB9C2; @000015191D1402000197000D43; @000015193BD68DACECB9592E226F37802DE89458; @0000151A08048DA54D04EA04C848015C00C17B84; @0000151A5B335DAAA861F41BE8; @0000151A63AF5DADFEBA96B63F; @0000151B3FD5202001BA681164; @0000151B908002A1849090A462; @0000151BEBA65DA9FEF55DC415; @0000151C2D648DA6B5549914100F781483BF08EE; @0000151C5ACB5DADFEBA96B63F; @0000151C873D02A6053643E99E; @0000151CB4738DA9BB7099088B1EC0E00CAC464B; @0000151CEDCA02000C9AB995C4; @0000151D118F8DAC96BE23041331D72CA0B72CBB; @0000151D2621806182935815324DAED737E32203; @0000151D8F6A8DA6B4149914198AA81412F56F8F; @0000151DC6F302A18439636E3A; @0000151DD06F0200021AEE21FF; @0000151E1F9F0261821B2474DE; @0000151E846D5DA9FEF55DC415; @0000151E9D2402000294E4C528; @0000151EE23F02C1881216A0F7; @0000151F629F020005A2CBF6F4; @0000151F807D02A185369BD47D; @0000151FB07E8DA6C4F0213B5CF559782081D0ED; @0000152000BB0200041730F533; @000015201FA002A185B296EB19; @0000152041BA02000780DC68F2; @00001520AD6C5DA4ACAE75538C; @00001520DC2F000101BEA0E72B; @00001521051E8DADB0B49900F002204B058BF3D1; @0000152111AB020585120B5671; @0000152155965DA3244F27B274; @0000152163970001033D44128C; @0000152178698DA9FDB49910C202E0441EBC7E81; @0000152188965DA6C4F05F6CEE; @000015223611020585120B5671; @0000152289500001033D44128C; @00001522BD3202000536CCB7D1; @00001522D2F58DA9FEF5592925B20D860F91E3A7; @0000152307488DA3244F9909C988D00851821A2A; @0000152317678DA893365022060F0A2824F068BE; @000015242BE25DA4ACAE75538C; @000015245BBF02A1849090A462; @00001524D7B98FA7BDC9597D826271C0C6510880; @00001524F2F88DA3244FEA485864F93C08F765BB; @000015256E8D02E190B13B0267; @00001525A2968FA4E7F959A20616CA1F701A9D2E; @00001526C8EC2800112F9D7C02; @00001526D05E202007A24FBEE0; @0000152724085DA231A60645C0; @000015277DBD02C1873E45A224; @00001527AFEA02010F98A049DA; @00001527F358020594AAE33F1C; @0000152817708DA4F7FB99143E0B400C051E7818; @00001528E4E302E18E367F103A; @000015291F8A0001021AB40EA6; @00001529326B8FA54D875915A5D4B9A7250B74D7; @00001529609E8DAC73B2592B623A9EAE1A3444B7; @000015296D9C8DA0ACFFF82100020049B8D8C263; @00001529B36502010F98A049DA; @0000152A1E85020584A80C2A2B; @0000152B1CF7200017B71FAECA; @0000152B249602000C9AB995C4; @0000152B298E8DA8FAA0591545CF019CA51C416B; @0000152B332D8DA8FAA099101988503002FBEFE2; @0000152B81B500050317766F48; @0000152BACE78DA7DEB99910368BD83807534039; @0000152BFEF6020604171C0CB5; @0000152CC6E302000213182130; @0000152CDCCF8DA1CC59590D75EE2F94CE1BC6FF; @0000152CE66E8DA1CC5999146588D0248511C174; @0000152D404B0000043B6EA10C; @0000152D53370200029AE88BF6; @0000152D83CA0000029940A251; @0000152DEBDF020001B4FFDBDF; @0000152E1F2F02A185B296EB19; @0000152E58AB02C6073E9D9FC7; @0000152E779B5DADB0B4BE2B68; @0000152E864E8DA915DC58A6A5FEA62361550EF8; @0000152E8D6F02A6053643E99E; @0000152F00210005829A7D4989; @0000152F3DAA020594AAE33F1C; @0000152F4DC88FA54D0699906C84501806501C44; @0000152F74FB8DA34207F8000006005AB0139542; @0000152FF2F30261821B2474DE; @00001530092E8FA54D06591FF62FA018B274A976; @00001530595B8DACE8789914838370100B9F69B0; @00001530811F5DABF4192F17DD; @000015310B7B0000021ABCB828; @00001531F3E58DAA9BB858B986958259E27C8DD5; @000015323DD68DAA9E04EA0DC846571C08361407; @00001532999B8DA7699A59132229B6FB09CEF81A; @00001532BF1B8DA34207E108080000000054B697; @00001532E12402E197B0E2B499; @0000153308638DAAAD6D582F222970E48C2F428D; @0000153326F18DA033679910028A580887246D01; @00001533416B8DA8B44EEA485858013C08389F8F; @00001533F2235DA76277491764; @000015341EA25DA96EE744F0B2; @000015342B4E0205029AD20EB3; @0000153474A68FABADC0E10823000000003255D7; @0000153495812020033D8CDCBB; @00001534B0920261821B2474DE; @000015354FFC0205029AD20EB3; @0000153673188FA54D1E9910100C5010828B62D5; @000015368B105DA76277491764; @00001536ABA459A4D4380F1CEE; @00001537231D8DA32AD1990DB08CD00853EB0912; @00001538057F8DAA9E045857F29559AB9D9AD518; @0000153869F48FABADC09908B1019050834DF6F0; @0000153877585DA76277491764; @0000153897ED59A4D4380F1CEE; @0000153954528DA6C4F099100D8A00140D853CE8; @00001539E241020585A80D6642; @00001539F0200261821B2474DE; @0000153A25EF8DA9F771EA052850015C00BC4AA4; @0000153AAC490001021AB40EA6; @0000153BF8C45DA32AD174412F; @0000153C148459A4D4380F1CEE; @0000153C271802000418CF557B; @0000153C55885DA0CE75E72897; @0000153C919F8DA9FDB459431612E648EF3C84CD; @0000153CE6E08DA54CF6EA04C848015C0008D5B5; @0000153D20A002A6053643E99E; @0000153DDD7A2000091E56BA4F; @0000153E35998FA54D4D9910328798188568842B; @000014A168595DAD6116D3BDB5; @0000153FA71C8DAD61169911D903E00850CCF485; @0000153FD1628DA708B0EA428860013C08667187; @000015401DD38DA54D485911A5F4639560B269C4; @00001540445B8DAAC85058C90236B09C15A4DAEC; @000015405CE08DA1CC59EA040848015C005FFCB9; @0000154077A18DABF419583FD607C61A2A1B4A43; @000015407F2F5DA32AD174412F; @00001540BE9F02C1873E45A224; @0000154101438FA54D8799142C0D180C8274BEEA; @0000154133EF8DAAA616EA4A5866D73C08EAB3AB; @000015416007200001BBDC75BB; @00001541DCC65DA1CC59F76E3C; @00001543FBF75DA32AD174412F; @0000154421098FA65F7D9914980AE80819137AF5; @00001544316A8FACD20359A685BEDD947E412879; @000015444C3E8FA54D87F8022006005ABC692DC7; @0000154494A75DAAAD6DC26832; @00001544BB8A8FA54D1E5917D25EBB9A4F0593C8; @00001544E0928DAB8043591735B4438292840F08; @00001544EA328DAB804399105F8B102C02B419B4; @0000154588238DA54D045911B23C84F467268332; @0000154591C28DA54D049910290D5004859B158E; @0000154630F28DABE03099089D8C500401341174; @0000154680695DA54CF6C04824; @000015469ECD8DA231A6999027B2B83C3D349005; @000015471B878FA54D06E1080800000000B7EDA7; @0000154782EE000014A8728B1F; @0000154785F002E19838BDFD07; @00001547ACE2200005361B2B28; @00001547E16D200005361B2B28; @00001547FC168DA3420799104A0828088ADC7D2C; @000015488C098DA0ACFF582B625CC18010F9A882;
This is part of the issue. https://github.com/mutability/dump1090/blob/master/net_io.c#L772 https://github.com/flightaware/dump1090/blob/master/net_io.c#L910 We think anyway ...
This is dump1090-fa on port 30002 with the MLAT option enabled: (first part is a timestamp @001FADD0A0A0) Code: @001F159B43375D44CE4FF4B459; @001F159B515F5D4A09B0E353C5; @001F159B58B9200009B98FF516; @001F159B97825D4B1A3C1B07BC; @001F159BA0F002E195B8624C17; @001F159BC5EC5D345248483633; @001F159C02EF8D8964A1EA4A5858013C08A8C388; @001F159C14A75D400A697FAEB3; @001F159C2C4D5D42442B4F5032; @001F159C655602E1901E2D0308; Anyway it seems the HAT is missing some ; and newlines and has some incomplete messages as well. It definitely has no timestamps, so of course dump1090 can't add any. The timestamps need to originate from the receiver clock. The frequency of the normal computer clock is too low/inconsistent. High frequency receivers have a much better clock then the computer. Also once data is transferred via serial or USB, you can't establish timestamps anymore as you get too much jitter. Can you try this command line: socat -d -d -u GOPEN:/dev/ttyAMA0,ispeed=3000000,ospeed=3000000,crtscts=0,rawer STDOUT I think you used "raw" instead of "rawer" and the man page says raw isn't really supported or something. (another possibility for the garbled output: did you have the other socat running piping data to dump1090 while you used the second socat to STDOUT?)
Messages being remote is not the problem, otherwise i couldn't do MLAT with my airspy All my messages go from the airspy to dump1090-fa and from there are redistributed via port 30005. The problem as i wrote in the previous post is that they just don't include timestamps. So no way to do MLAT with the device as it is right now.
But the FA SDR has no timestamps. So if we/they wrote a library like SDRPlay or BLADERF etc etc ... then dump1090 could use the device output itself directly without the need to use FR24 client ( which is comical solution) ... or socat ...
socat by Gerhard Rieger - see www.dest-unreach.org socat version 1.7.3.1 on Jul 14 2017 13:52:03 running on Linux version #1123 SMP Wed Jun 27 17:35:49 BST 2018, release 4.14.52-v7+, machine armv7l
rtl-sdr compatible devices don't have timestamps per se. But assuming no data is lost on USB, you can infer a clock. The rtl-sdr stick samples at a known frequency in case of dump1090-fa, 2.4 MHz. So every new sample you receive, you count up. As the 2.4 MHz is based on a rather good clock, this is sufficient for MLAT. With the HAT that does the demodulation and only gives you messages, it needs to add timestamps (relative to a starting point is fine, no real time needed). With the existing HAT no one can do proper MLAT. (if FR24 can do MLAT with that output, then they just do REALLY crappy MLAT)
Oh i see, out of curiosity let's try this then: cat /dev/ttyAMA0 It doesn't matter really, if they want to sell this device they need a small program that interfaces via serial port and can offer the data via TCP. And timestamps for MLAT would be a plus in regards to selling points. At this point i don't see the appeal, but as they say it's still in development and low power. Also it's really strange that they would choose hex as ASCII to transfer the data via the serial port if they are bandwith limited. Using beast instead of AVR saves half of the bandwidth despite the extra timestamps being added which is quite some data. Maybe the serial port works better at a lower baud rate, let's see if they can improve upon it
@wiedehopf... schick mir mal eine Email an [email protected] mit deiner Telefonnummer und lass uns mal telefonieren... Ich denke mit dem MLAT etc... wird sich dann einiges aufklären. vg Bill2002
Hey James, in case you want to give the HAT another try, i've found a way to eliminate most of the data corruption on the serial interface: Code: stty -F /dev/ttyAMA0 1:0:1cbd:0:0:0:0:0:0:5:1:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0 stty -F /dev/ttyAMA0 1:0:1cbd:0:0:0:0:0:0:5:1:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0 socat -d -d -u OPEN:/dev/ttyAMA0 TCP:localhost:30001 stty configures the serial port to the correct baud rate and some other settings. This is done twice to make sure it sticks. If you aren't working as root, maybe stick a sudo in front of those commands. Note that OPEN is used instead of GOPEN for socat.