This saga could also be named “Why my very expensive LSI 9305-24i drops disks?”.
I recently acquired (from ebay as I cannot justify giving $2000NZ to local scumbags) an LSI 9305-24i controller to drive a 24bay NAS.
The reason switching from LSI 9112-8i with RES2CV360 SAS2 expander is because the LSI 9112-8i is bottlenecked by the 8x PCIe 2.0, thus limiting the throughput of a 24 disk array to about ~100MB/s per disk.
The LSI 9305-24i made a significant boost in the performance, with ~200MB/s (maxing out Seagate Ironwolfs) per disk.
I recently deep-dived into a topic of look up tables and interpolation simply because I wanted to have relatively simple representation of State of Charge for one of my projects. The difficulty I found is that the LiFePO4 batteries have a very flat discharge curve and are really hard to approximate.
Notes: The MOSFET is of a P-Channel type, can be pretty much any P-Channel as long as the On-Resistance is low and it can sustain sufficient current. The NPN transistor can also be pretty much anything with sufficient hfe (>50), and can tolerate >100mA collector current spikes.
For a while I was looking a simple camera that I could use with micropython and ESP32 board.
Initially I looked at Arducam 2MP camera, but that turned out to be a real pain to interface with, and it took up way to many IO pins for my liking. The micropython is barely fast enough to actually do handle the packets. Of course there weren’t off the shelf library to do what I wanted. In addition the image quality was not great, even though it was a 2MP camera.
I decided to try a low cost UART (serial) camera instead. Downside is the camera only 640×480, the upside is that the power consumption is around 30mA (half of what the Arducam is). Another upside that the camera is physically smaller (specifically the lens). Most importantly the UART protocol the camera uses is very simple, and it only needs two IO pins to operate.
Recently I was contacted regarding my dash cam GPS coordinate extraction script. The request was regarding wrong data being produced. I have addressed something similar in the past, so I decided to have a go at this one (I like a challenge).
Poking about I realised the data is not simply obfuscated…
Eventually I stumbled upon this: https://exiftool.org/forum/index.php?topic=11320.0
According to exiftool forum the player uses an internet service to decode the data, which is a huge bummer.
I will try to decompile the player but at this stage I don’t believe I will have any success.
To add an insult to injury the dash cam manufacturer asked the dash cam owner not a small amount of money to decrypt these coordinates. Actually you could outfit a small fleet with new cameras from Viofo for the amount of money they asked.
So here are the brands so far to avoid (do not buy them):
or any brand that requires their own player to playback the coordinates.
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
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.
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.