nvtk_mp42gpx.py revisited – now with TS support

It appears that not only my quick hack of a script is popular but also that the dashcam manufacturers keep changing things.

In this case the biggest change (beyond utterly stupid data obfuscation) is the switch to the TS format.

In retrospect TS format is an obvious choice for something like dashcam as it is very resilient to crashes (no pun intended).

TS format unlike the MP4/MOV format is very simple, it is pretty much made up of fixed 188 byte segments which have ASCII ‘G’ as a header. The actual payload lives in last 184 bytes while the first 4 bytes are reserved for header (of course this is all simplified).

The biggest difficulty of adding TS functionality is that Blueskysea B4K camera was engineered by sadists and they split the payload into two packets (arbitrary cutting off at the seconds 4 bytes). If you are the person at the BlueSkysea who made this obfuscation – fuck you.

In anyway this update is massive rewrite.
Just to make it easy here is the script: nvtk_mp42gpx.py

Remove Google’s Digital Wellbeing spyware from Android via ADB

Recently my phone has been updated to Android 10, with it I found the Digital Wellbeing spyware reinstalled and now fully baked in (no uninstall or disable option).

The prerequisite for this process: you need ADB (the installation of which will not be covered here). No root needed (yet).

Here is the ADB command you need to run:
adb shell pm uninstall -k --user 0 com.google.android.apps.wellbeing

This change is semi-permanent, if you want this nagware back, I can’t really help you (you might be able to reinstall it from the store).

I do not understand the reason one would use this app. If you think you spend too much time on your phone, you don’t need an app to tell you that. My phone is a tool, and having some lock-out and nagging (self-inflicted!) on your own device is absurd.

It is absurd to bake this app in, the only reason is to spy on its users more.

If you hate this app (and everything it stands for) as much as me give it one star on the google play store.

Viofo A119 – Beeping with the Format prompt after a long downtime

One of my A119 Cameras started to beep while presenting the “Format Yes/Cancel” prompt after long downtime. The date was also reset.

Before pandemic this was not as annoying as it would almost never do it, but with pandemic and work from home it does it pretty much every start up.

The Problem would go away once the date would be updated via GPS and the issue not come back until next very long shut down.

Continue reading Viofo A119 – Beeping with the Format prompt after a long downtime

Brother MFC-9320CW No Ethernet Link Repair

After the lightning strike on our mains transformer one of the printers (Brother MFC-9320CW) lost Ethernet link.

Upon further troubleshooting I concluded that the PHY chip gave up the ghost.
The chip in question is ASIX AX88796BLF. It appears from the board it has absolutely no input protection what so ever, hence it gave up the ghost.
A bit of warning: the AX88796BLF comes in QFP64 7mm x 7mm package with a microscopic 0.4mm pin pitch. I would not recommend this repair without hot air.

Continue reading Brother MFC-9320CW No Ethernet Link Repair

2020 update of the nvtk_mp42gpx.py script

Surprisingly to me the script that I haphazardly put together turned out to be very popular.
I decided to quickly update it (after multiple feature and bug fixes requests)…

The highlights are:

  • Automatic finding of the correct position of the data block (more on that below).
  • Introduction of -m flag, which creates separete GPX file per input file (default behaviour is a single GPX output file for multiple input files).
  • More robust argument parsing (now it should always display help if wrong arguments are used)
  • Introduction of -d flag, which allows to de-obfuscate GPS coordinates.
Continue reading 2020 update of the nvtk_mp42gpx.py script

SJG Forester – tracking down noisy wheel bearings

Our Forester has developed a noise that is similar to a turbo-prop aircraft. This is not the first time it did, as the front bearing have been recently replaced.

Unfortunately this time the noise was not as directional as with the front wheel bearings. The whole cabin was filled with roar above 70km/h, and sometimes it appeared that the noise would come from the front.

Continue reading SJG Forester – tracking down noisy wheel bearings

Converting DeWalt DCB101 110V charger to 240V

Here is how I converted north American Dewalt DCB101 to proper supply voltage (warning: do it at your own risk).
I have made this conversion based on many internet forum posts and youtube videos.
Note: there are at least two versions of this charger and newer version requires rewinding the transformer (at least according to internet).

Why? For some stupid reason 240V chargers locally cost 2 to 3 times more than in USA.

Continue reading Converting DeWalt DCB101 110V charger to 240V

Opus BT-C100 reverse polarity protection

I recently bought an Opus BT-C100, as unlike my other Lithium Ion chargers, has a discharge test feature. It also fairly quickly estimates internal resistance of the cell, which is a good health indicator.

Unfortunately due to A123 26650 cell being of upside down construction I released the magic smoke out of the Opus BT-C100 by reversing polarity. The smoke escaped through the battery holder slit.

Continue reading Opus BT-C100 reverse polarity protection

Unbricking Asus Chromebox CN60

Asus CN60 is a good platform to re-purpose to run vanilla Linux on, since they come with decent CPU, while RAM can be upgraded to 16GB, and SSD to 512GB.

Unfortunately out of the box they come locked down by Google, with non-standard BIOS/UEFI, making it not possible to wipe the useless ChromeOS in favour of something like Ubuntu.

Fortunately there is a way to un-Google-fy it.

Continue reading Unbricking Asus Chromebox CN60