4G GPS Tracker Reverse Engineering - GPS Digital Signal Decoding

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 ม.ค. 2025

ความคิดเห็น • 86

  • @lillieainston9358
    @lillieainston9358 6 หลายเดือนก่อน +2

    Hello Matt are you intersted in sponsorship?

    • @mattbrwn
      @mattbrwn  6 หลายเดือนก่อน +21

      Thanks for the offer but I won't be doing any sponsorships on this channel. Actually all content is sponsored... by Me 😁😂

    • @lillieainston9358
      @lillieainston9358 6 หลายเดือนก่อน

      @@mattbrwn Oh okay, i know, i've watached your videos. The reason why i got touch with you is that our partner is same as you, which is Zach's Tech Turf, he also has his own shops, but also builds a sponsored ad with us. Anyway, thank you for your reply. Hope we can work together one day!

  • @potplantjoe6037
    @potplantjoe6037 6 หลายเดือนก่อน +43

    You’ve got to be one of the most underrated hardware hacking channels. Couple of questions. 1. What got you into hardware hacking 2. What’s the best way to learn?

    • @mattbrwn
      @mattbrwn  6 หลายเดือนก่อน +18

      1. I like Linux and took apart random used electronics and figured out how they work.
      2. I suggest the same path as above. Find a device that interests you and try to figure out how it works.

    • @SlinkyD
      @SlinkyD 6 หลายเดือนก่อน +6

      I'll add a 3rd that helped me:
      3. Keep reading even if you don't understand it all.
      After a while, it'll all come together when you're trying things out. Or you might come across a seemingly insignificant piece of info & you'll shoot off like you been doimg this for years.
      And a extrs thought before posting: FAFO ain't just for the negative things. I imagine that's how humans advanced over they millennias.

  • @horstszibulski19
    @horstszibulski19 6 หลายเดือนก่อน +10

    Now you only need to transfer the NMEA data to the 4G chip and make it send out to your phone, so that the whole tracker would work as advertised and not only by cell tower positions...
    Great series so far, thx a lot for showing!
    👍👍👍

    • @jearlblah5169
      @jearlblah5169 6 หลายเดือนก่อน +4

      I wonder why they even bother including the GPS module in the first place if they aren't using it. They could cut the cost quite a bit (and power consumption too) by just not having the GPS module if they aren't even going to use it.

    • @horstszibulski19
      @horstszibulski19 6 หลายเดือนก่อน +3

      @@jearlblah5169 No idea...maybe it was planned to use it like that and something went wrong with the programming, remember the chip is switchable to what position data is used, GPS or cell tower. They could have placed an order, were delivered with the wrong specs and couldn't return them. So they sold the whole batch to the actual seller, not writing off the cost...
      🤷‍♂

    • @daviddunkelheit9952
      @daviddunkelheit9952 5 หลายเดือนก่อน +1

      @@horstszibulski19that sounds about right… that they were repackaging and selling off mistakes. I wonder what the threshold is regarding selling products that don’t work on Amazon?

  • @Gunbudder
    @Gunbudder 6 หลายเดือนก่อน +6

    16:07 lol i love this round about way to get the NMEA messages into your script! when i've messed with these little off the shelf GPS modules, i simply make up a d sub mini cable that i pin for the RS-422 to usb dongle i have (why doesn't 422 have standard pins...) and then i just plug my dongle into my lab PC and then i solder or clip the dsub mini cable to the module and connect them. this lets me use putty to connect directly to the serial traffic. sometimes i will use an arduino to read the serial data too. the 422 dongles can be really expensive, so i've also done it with the classic startech 232 dongle. people don't now how insanely useful startech is lol. when you are using a UART to USB dongle with windows you also open up the massive amounts of code that work with com ports so you can do anything you want very easily using either putty or any software library (i usually go with .NET because i'm lazy).

  • @tweebs1
    @tweebs1 6 หลายเดือนก่อน +6

    It's amazing, I would have killed for the functionality of a modern $10 Logic Analyzer 20 years ago.

  • @beefchicken
    @beefchicken 6 หลายเดือนก่อน +6

    The term commonly used to when talking about the different positioning systems-GPS, Galileo, GLONASS, Beidu, NAVIC, QZSS-is "constellations". As a general term, the industry calls satellite navigation GNSS (Global Navigation Satellite Systems). Technically, "GPS" is only the US Global Position System. You'd say "this GNSS module supports a number of constellations". I find "GNSS" to be a mouthful, and continue to use "GPS" in informal settings.
    "Neema" for NEMA is correct.
    I'm enjoying this series. I've spent a lot of time reverse engineering the internals of some older Trimble receivers, so it's interesting to see others digging in GPS tech as well.

  • @TheVenusProjectEnjoyer
    @TheVenusProjectEnjoyer 6 หลายเดือนก่อน +1

    i'm learning a lot of linux stuff thanks to your channel, it's such a pleasure being able to understand what is a proffesional doing while giving all the explanations. greetings from buenos aires from a russian

  • @magnusjensen7970
    @magnusjensen7970 6 หลายเดือนก่อน +6

    Love the new audio quality. Huge upgrade!

  • @Gunbudder
    @Gunbudder 6 หลายเดือนก่อน +11

    fyi for anyone wondering about the "GN" Id, that means GNSS which the term for all satellite positioning systems. it gets confusing, but GPS often means the american system (also called navstar by old people). GLONASS is the russian one. when people say "GPS" they often mean "GNS" or just any generic position system. That said, the GNS message should always have GN as its ID because only GNSS receivers should be sending that message. different receivers will support different features and may or may not send different NMEA messages. GNS is pretty common though i think for modern all in one modules that include a little antenna and the receiver on one tiny board.
    as for the ! for a message start, i've never run into that before. it seems to be specific to AIS and it shows up in some NMEA documentation but not others. most of the documentation i have says the ONLY valid message start is $ with the ONLY valid message end being CRLF. your code should just ignore messages that have invalid characters though.
    also if anyone wants to start playing with NMEA messages in software, i highly recommend paying close attention to the "valid" field of any message because some receivers will send seemingly valid data that is actually invalid because tracking has been lost (they may repeat the last known position with and invalid flag set). And then you always, always want to check the checksum field. you can get an error in a message that will change a single character but still be a valid message, and if you don't catch it by using the checksum then you are screwed lol.

    • @mattbrwn
      @mattbrwn  6 หลายเดือนก่อน +2

      Yeah that GN prefix threw me off since it wasn't on the Wikipedia page

    • @samuraidriver4x4
      @samuraidriver4x4 6 หลายเดือนก่อน

      I was missing WAAS on that wiki list.
      That's the US version of GLONAS, Galileo etc.

    • @Gunbudder
      @Gunbudder 6 หลายเดือนก่อน

      @@samuraidriver4x4 WAAS is more like DPGS in that its a terrestrial system that just augments navstar. Off the top of my head, DGPS does have an indicator in NMEA though because its incredibly useful to know if your receiver is using an augmented system or not. its kind of wild how insanely accurate DGPS can get using garbage accuracy GPS from the 90's lol. chances are you won't ever run into DGPS or WAAS receivers doing hobby stuff though because DGPS is kind of dead (and requires a usually extremely expensive fee) and WAAS is only going to show up in very expensive aviation receivers.
      that said, it would be pretty wild to see a tracker that uses WAAS along with GNS and everything else (cell, shortwave, etc). those kinds of trackers are usually VERY expensive and require hefty yearly fees, but they also often come with a recovery team who's cost is included. those kinds of trackers usually have 5 to 10 year batteries and get welded into the frame of expensive equipment like huge tractors. there are some really funny youtube videos of recovery teams tracking down receivers

  • @Gunbudder
    @Gunbudder 6 หลายเดือนก่อน +6

    5:15 i worked with this type of GPS stuff for a while, and i heard both "NEE-mah" and "EN-EM-EE-AY". i usually said the letters out (EN EM EE AY) because there is a completely different system called NEMA that covers things like power cord plug shapes. Its pretty standard to see NMEA over either RS-232 or 422 with 1 Hz messages at 9600 baud with no parity bit. i never needed a parity bit because any broken message would result in a bad character in the NMEA message and my code would handle that as a bad NMEA message altogether and it would put the software into a "bad message" state which just threw the message out and waited for the start of the next message.
    you can't really use NMEA 1Hz message for nav stuff, but it can still be really useful for a lot of other things. you can make a clock on steroids that uses navstar's messages to find the date and time. i think its actually easier than using the radio clock stuff lol. a lot of off the shelf GPS modules include a 1 ppm signal too which can extremely useful for writing lazy power efficient code

  • @PawelKraszewski
    @PawelKraszewski 6 หลายเดือนก่อน +27

    9600/115200 8N1 are **the** standard today... I haven't seen other parity than none for ages.

    • @KNfLrPn
      @KNfLrPn 6 หลายเดือนก่อน +4

      Yeah, almost nothing uses a parity bit just like almost nothing uses flow control. They exist in the spec, but no one bothers because the communication is already reliable "enough" for 99% of applications.

    • @monad_tcp
      @monad_tcp 6 หลายเดือนก่อน +3

      @@KNfLrPn flow control was used to stop transmission when buffers were full, that could happen for computers with 1KB of RAM, with modern computers, the buffer is never ever going to get full, even the GPS itself probably has enough RAM so that at 9600 the buffer will never get full, it probably has a CPU in the Mhz scale, as everything else has one.

    • @beefchicken
      @beefchicken 6 หลายเดือนก่อน

      @@monad_tcp the problem with flow control on the 16550 UART inside every PC made since the the ’80s is that the flow control is on the wrong end of the FIFO. When a device says “stop”, the UART will still drain the 16 byte FIFO out the serial port before it stops transmitting. For device designers, this made flow control very unpredictable, so they would instead design around it.
      I remember when doing but bang serial ports with PIC MCUs, the lack of flow control meant I had no choice but to process serial bytes in the few microseconds of spare time I had during the stop bit, before I had to go back to polling for the next start bit.

  • @cognisent_
    @cognisent_ 6 หลายเดือนก่อน +1

    Camera video quality and lighting so much better in this one! Also your eye line to the camera is almost perfect. I know how awkward it feels to stare directly into a lens... 😬

    • @mattbrwn
      @mattbrwn  6 หลายเดือนก่อน +2

      Haha thanks! I actually got a camera where I have a preview screen that I can flip around and look at. I just still have the instinct to look at myself in OBS instead... Trying to break it

    • @cognisent_
      @cognisent_ 6 หลายเดือนก่อน

      @@mattbrwn It's so hard. Whenever I'm in work meetings I just stare at my own camera feed unless I tear my eyes away 😂.

  • @PatrickAustin
    @PatrickAustin 6 หลายเดือนก่อน +7

    GN: Combined GNSS position, for example, GPS and GLONASS.

  • @edwinking4407
    @edwinking4407 6 หลายเดือนก่อน +3

    You are using GPS, from you analyzer I can tell you are on planet earth.

    • @mattbrwn
      @mattbrwn  6 หลายเดือนก่อน

      Crap you got me

  • @adrian_sp6def
    @adrian_sp6def 6 หลายเดือนก่อน +4

    is it using logic analyser an overkill? You could just use usb-ttl/uart converter since the uart physical level protocol is standard here

  • @nv1t
    @nv1t 6 หลายเดือนก่อน +4

    uhhh... i have never seen the automation with sigrok cli. That is a nice touch!

  • @kuraz
    @kuraz 6 หลายเดือนก่อน +1

    GN means it's combining multiple sources, i read that on the german wikipedia entry for NMEA, which for some reason is much more comprehensive than the english version

  • @NeverGiveUpYo
    @NeverGiveUpYo 6 หลายเดือนก่อน

    Love your content Matt. Keep up the good work!

  • @Jeff-ss6qt
    @Jeff-ss6qt 6 หลายเดือนก่อน +1

    Even if the logic analyzer is USB2, it's sometimes better to plug it into USB3. Usually the controller chip is a better quality and can handle the higher speeds more reliably.

  • @dfgaJK
    @dfgaJK 6 หลายเดือนก่อน +2

    looking at the PMTK/PQ proprietary message input next?

  • @TrimeshSZ
    @TrimeshSZ 6 หลายเดือนก่อน +2

    I have to say you seem to be making this way more complicated than it needs to be - if I was looking at a GPS module the first thing I would do would be to look at the TXD with a scope to try and figure out what the baud rate was, then hook up a USB serial module to capture the data. Using sigrok and writing scripts in Python to capture the data is a bit like using a very large hammer to crack a nut. Especially since the datasheet for the module is available and it suggests t hat the only format the module supports is NMEA.

    • @pablopoo
      @pablopoo 6 หลายเดือนก่อน

      as a hacker, if you can have a tool that can do it all, you can carry less gear on the field and be ready for the unexpected, as some times datasheets are not available.

  • @andrewborntrager7909
    @andrewborntrager7909 6 หลายเดือนก่อน

    Great content, great explanation, so fascinating. Thank you very much.

  • @Perhael91
    @Perhael91 6 หลายเดือนก่อน

    It'd be interesting to have you look at one of the Solis Lite WiFi Hotspots:
    1. if plugged into a Windows computer, it initially shows up as a "MT65xx Preloader"
    2. it then shows up as an ADB Interface.
    I haven't had time to explore more than that yet

    • @mattbrwn
      @mattbrwn  6 หลายเดือนก่อน

      If it has adb you should see if you can get a shell out of that

  • @The-KP
    @The-KP 6 หลายเดือนก่อน +4

    Oh we *know* where your secret laboratory is! We're keeping close watch on you efforts to break free from Big Brother systems...

    • @mattbrwn
      @mattbrwn  6 หลายเดือนก่อน +3

      You'll never take me alive 😂

    • @The-KP
      @The-KP 6 หลายเดือนก่อน +1

      @@mattbrwn Haha! Keep up the good work, I'm actually learning something!! I've always wanted to build a tracker, with my own firmware so i could control the position sample rate and limit power consumption. I'm good with microcontrollers and C, so it's the GPS chip and power/battery circuits that I'm still learning up.. I'd definitely appreciate hearing about power control for battery-op applications like trackers!

  • @patrick1020000
    @patrick1020000 หลายเดือนก่อน

    When you turn on a GNSS modem, it starts by trying to receive from the satellites in range. On cheapo modems like this without antennae, it can and does take a long time without line of sight to the sky. The first messages will be that it saw this or that satellite, but it won't put out a lat and long until it gets 2-3 satellites. Some of these modems can use nearby SSIDs to help determine precise location, which uses a list downloaded to the chip. And of course it runs Linux. You can get root on a PinePhone's GNSS modem

  • @robertpalmer8925
    @robertpalmer8925 6 หลายเดือนก่อน

    Hey Matt, I love your videos.
    I am not sure if this is a big ask, but I was wondering if you could make a brief video about how to make custom router with linux.
    Also could you maybe make a video about your test network setup.
    Thanks for the videos bro, I always look forward to watching them.

  • @theantipope4354
    @theantipope4354 6 หลายเดือนก่อน

    It's worth mentioning that serial interfaces are nearly always 9600,8,N,1 (9600 bits per second, 8 data bits, no parity bit, & 1 stop bit) by default, so if you know nothing at all about the device, try that first, & the odds are very good that it'll work. The next most common setting is the same, but 115200 bits per second.

  • @mikehensley78
    @mikehensley78 6 หลายเดือนก่อน

    hell yeah! i been waiting on this one!

  • @semaja2
    @semaja2 6 หลายเดือนก่อน +1

    Another amazing video, what brand of needle are you using? the arms on mine are horrible and never stay where I place them

    • @mattbrwn
      @mattbrwn  6 หลายเดือนก่อน +1

      Just the stock needles that came with the PCBite probes. Yeah sometimes I also have issues getting them to stay where I want especially under the microscope

  • @dieSpinnt
    @dieSpinnt 5 หลายเดือนก่อน

    In the section about the python script ( around 16:40 ) you talked about making it available on your page, accessible via a link in the video description card. There is none.
    Thank you!:)

  • @AlexKiraly
    @AlexKiraly 6 หลายเดือนก่อน +2

    8:00 Behold! The new GTX L76K!

  • @randykitchleburger2780
    @randykitchleburger2780 6 หลายเดือนก่อน

    I have written a python script that let's me plot different devices that send standard NMEA data on Google maps, along with all the other info you would want. If you get a shell on this thing I'm buying it.

  • @OneBiOzZ
    @OneBiOzZ 6 หลายเดือนก่อน

    are they sending the data to the UART of the 4G module or did they simply get hit by the chip shortage and just opt to simply not include the MCU making the GPS a pointless battery drain?

  • @namesurname201
    @namesurname201 6 หลายเดือนก่อน +1

    Hey I am watching your series and it really great thanks for all these,
    I have a question I am try to learn analysing with a tv decoder I want to get data from where I thought UART but the thing is it has really really tiny holes, where i cant do soldering do you have any experience with these kind of stuff?

    • @mattbrwn
      @mattbrwn  6 หลายเดือนก่อน +1

      Hop over to our discord and drop us a picture of what you are talking about. But they make really small wire and micro soldering pencils for small work like that

    • @namesurname201
      @namesurname201 6 หลายเดือนก่อน +1

      @@mattbrwn oh i will thanks

  • @atomwoz4227
    @atomwoz4227 6 หลายเดือนก่อน

    Challenge for you for next video, disable GLONASS positioning in that module 😉.

    • @mattbrwn
      @mattbrwn  6 หลายเดือนก่อน +1

      Yeah the docs mention you can do that 😁

  • @lucacolaetta
    @lucacolaetta 6 หลายเดือนก่อน +2

    Where to buy a replacement battery?

    • @mattbrwn
      @mattbrwn  6 หลายเดือนก่อน +9

      Sir this is a Wendy's

  • @feff6754
    @feff6754 6 หลายเดือนก่อน

    Great video!

  • @nezu_cc
    @nezu_cc 6 หลายเดือนก่อน +5

    Why not just use a cheap uart interface instead of a logic analyzer and all the parsing scripts. For the sake of education, nice, practicality, hell no.

  • @dfgaJK
    @dfgaJK 6 หลายเดือนก่อน

    What are those flexy opposable arms called?

    • @mattbrwn
      @mattbrwn  6 หลายเดือนก่อน

      PCBite probes :)

  • @FeliciaByNature
    @FeliciaByNature 6 หลายเดือนก่อน

    f more than one constellation is in the solution, the NMEA Talker ID is output as GN

  • @Misimpa
    @Misimpa 6 หลายเดือนก่อน

    So this tracker uses GPS or cellular tracking? Im confused 😅

    • @dfgaJK
      @dfgaJK 6 หลายเดือนก่อน

      AFAIK the tracker is cellular because the GPS chip which does track GPS isn't connected to the cellular modem.

    • @WilcovanBeijnum
      @WilcovanBeijnum 6 หลายเดือนก่อน +1

      @@dfgaJK Yeah that's how I understood it too. Goes beyond me though why they still put the GPS chip on there if they don't use it, but did bother to remove that central processor 🤔 Maybe so they're technically not lying about the device having a GPS sensor...

    • @dfgaJK
      @dfgaJK 6 หลายเดือนก่อน

      @@WilcovanBeijnum chip shortage maybe

    • @Misimpa
      @Misimpa 6 หลายเดือนก่อน

      @@dfgaJK Then what is the point that it is installed there?
      Is the manufacturer so stupid?

    • @Misimpa
      @Misimpa 6 หลายเดือนก่อน

      @@dfgaJKbut not gps chip shortage? KEKW

  • @ViniciusMiguel1988
    @ViniciusMiguel1988 6 หลายเดือนก่อน

    Will challenge rainbolt to find your location based on the shadow of your window

  • @George-ec7ez
    @George-ec7ez 6 หลายเดือนก่อน

    Why not censor the sensitive gps data in post?

    • @mattbrwn
      @mattbrwn  6 หลายเดือนก่อน +4

      I hate video editing.

  • @Dnsx_plus
    @Dnsx_plus 5 หลายเดือนก่อน

    “You WEIRDOS” who me? 👀

  • @mohamedrasheed8189
    @mohamedrasheed8189 หลายเดือนก่อน

    thank you very good

  • @KerrySainsbury
    @KerrySainsbury 6 หลายเดือนก่อน

    I think we now know why the gps module isn't connected to anything in that device - the cell tower is more accurate.

  • @ianlimo3158
    @ianlimo3158 6 หลายเดือนก่อน +1

    Are you able to add figures in my bank account?

    • @mattbrwn
      @mattbrwn  6 หลายเดือนก่อน

      Lol

  • @DavidCalas-j6h
    @DavidCalas-j6h 3 วันที่ผ่านมา

    ty

  • @Pinus_Minimus
    @Pinus_Minimus 6 หลายเดือนก่อน

    No gps location for weirdos? 😢

  • @d3stinYwOw
    @d3stinYwOw 6 หลายเดือนก่อน +1

    First lol