The latest posts in full-text for feed readers.
Es ist das Jahr 2025, 27 Jahre nach der Standardisierung von IPv6. Die 1blu RootServer unterstützen kein IPv6, wie auch die meisten anderen Produkte bei 1blu. Traurig.
Der Support antwortet mit der gleichen Nachricht wie letztes Jahr:
Wir bedauern Ihnen mitteilen zu müssen, dass IPv6 bei Ihrem Produkt aktuell noch nicht unterstützt wird. Unsere Technik arbeitet bereits daran dies zu ermöglichen. Bitte haben Sie Verständnis, dass wir Ihnen jedoch noch keinen genauen Termin nennen können.
Wir werden zu einem anderen Hoster wechseln.
Siehe auch:
Published on 2025-03-20 in bigsuck, network
Spammers are using Wordpress installations with open registration to send spam e-mails to uninvolved users.
The mails are sent via the "Register" function that is linked on the Wordpress login page wp-login.php. The registration form has two fields: "Username" and "Email".
The username allows spaces, and this is where the spammers input a domain name and a promotional text. The domain name gets auto-linked by e-mail clients, making it easy for users to go to the spammer's site.
Such a spammy Wordpress registration e-mail looks like this:
Username: www.spammer.example.com - 1.2342 BTC To set your password, visit the following address: https://legitsite.example.net/wp-login.php?login=www.spammer.example.com%20-%201.2342%20BTC&key=oSxUtw01QIFHoxHvokfd&action=rp https://legitsite.example.net/wp-login.php
Everything after the Username: in that line is provided by the spammer.
Two things should be fixed here by Wordpress:
Let's see what the Wordpress developers say to my ticket.
2024-11: Reddit: Spammed with 100+ Fake WordPress Login Emails (Help!)
Published on 2025-03-11 in bigsuck, web
Years ago I registered at deepgram.com while trying to transcribe a podcast episode, with username+deepgram.com@example.org as my e-mail address. Today I received spam mails to that email address.
I contacted their security@
mailbox and asked if they have
been hacked, but they denied that:
We apologize for the inconvenience you are experiencing. We can confirm that we did not experience a breach, but that data is shared in accordance with our privacy policy, and with the vendors specified in our subprocessors list https://deepgram.com/privacy/subprocessors.
So they know that their "subprocessors" are selling/losing/whatever user account data and are fully ok with it.
Published on 2024-11-25 in bigsuck
Yesterday I purchased an ebook from buecher.de, Corvus by Neal Stephenson. Apart from the water mark file it contains advertisements that take half of the size of the ebook file.
The DRM-free .epub file is 3.8 MiB in size. It is a zip file, and the unzipped contents are 6 MiB.
There are a lot of files in the folder OEBPS/BICMediaMarketing/, and their size sums up to 2.98 MiB. The non-BIC files are 3.04 MiB. Nearly 50% of the ebook's size are advertisements :(
Similar to ads bloating websites and making them so unusable that we have to use ad blockers, advertisements in ebook files waste bytes on our hard disks and make downloads slower.
I know who get electronic books without adverts: Pirates.
Similar to pirates having a
much better movie experience
than people buying and playing DVDs.
2048 2023-10-12 19:11 OEBPS/BICMediaMarketing/marketing.css 2907 2023-10-12 19:11 OEBPS/BICMediaMarketing/mp1.xhtml 763 2023-10-12 19:11 OEBPS/BICMediaMarketing/lastpage.xhtml 162174 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/253EF476A2ED49549DED6D5B26C0EA1A.xhtml 859 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/336E6DD3E68F4990B1D19F3CA30C4990.xhtml 623 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/6FE2556344D849B281E012E50151547D.xhtml 1112 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/9B8E49F3338942609923919A284CB82E.xhtml 1009 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BAED857E61C049ECB974C479521A9207.xhtml 1025293 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/cover.jpg 748 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/cover.xhtml 2958 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/DA9C6990BEF64CE68BF0407505CF793F.xhtml 484 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/E8719B7E1C4B4C418F61C704A8FD8134.xhtml 721 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/toc.ncx 10054 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/70653622D0534CC6B6C67CBE13E33104.xhtml 1548 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/Amazon.gif 1191 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/Apple.gif 1397 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/Google.gif 10740 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/Kobo.JPG 2517 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/tolino.gif 20577 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/Kostenlos_reinlesen.gif 45514 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/Kostenlos_reinlesen.PNG 60808 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/Kostenlos_reinlesen_klein.png 8724 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/button--reinlesen--color.png 5155 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/button--zumshop--color.png 46701 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/Zur_Bestellung_mit_einem_Klick_50.png 6050 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/button--one-click--color.png 9294 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/Kostenlos_reinlesen2.png 1712 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/marketing.css 3582 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/image/153C113ED16D44E4B456D68D5AC45E41.jpg 3914 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/image/372C80CDB20A44AE86BA05250A1FB430.jpg 3175 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/image/4451B938ADFD4EA89F1F71CEC775730C.jpg 3172 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/image/5C5B46C79F5C45128F4142D96EA0DAEA.jpg 9272 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/image/F6C0DD5F607649E282DA83BCBB0D67DA.jpg 77824 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/font/AGaramondPro-Bold.otf 94208 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/font/AGaramondPro-Italic.otf 126976 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/font/AGaramondPro-Regular.otf 73728 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/font/FuturaLTPro-Book.otf 106496 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/font/HelveticaLTPro-Oblique.ttf 106496 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/font/HelveticaLTPro-Roman.ttf 16357 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/css/idGeneratedStyles.css 37278 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/9783641300852_front.jpg 757076 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/DejaVuSans.ttf 1548 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/Amazon.gif 1191 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/Apple.gif 1397 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/Google.gif 10740 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/Kobo.JPG 2517 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/tolino.gif 20577 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/Kostenlos_reinlesen.gif 45514 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/Kostenlos_reinlesen.PNG 24354 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/mehr_zum_buch.png 8724 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/button--reinlesen--color.png 5155 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/button--zumshop--color.png 9294 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/Kostenlos_reinlesen2.png 145531 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/rh_bg640_6.jpg
I chained together some command line tools to get the size.
$ unzip -l Stephenson_Corvus_9783641249878.epub\
| head -n-2 | tail -n +4\
| grep BICMedia\
| sed 's/^ *//' | cut -d' ' -f1\
| xargs | sed 's/ /+/g' | bc
3129777
$ unzip -l Stephenson_Corvus_9783641249878.epub\
| head -n-2 | tail -n +4\
| grep -v BICMedia\
| sed 's/^ *//' | cut -d' ' -f1\
| xargs | sed 's/ /+/g' | bc
3193311
While reading the book, I looked at the page number and saw
901 / 978
After turning to the next page, noticed that it was the last one of the actual story. The next 70 pages were the "Leseprobe" advertisement for another book.
Imagine my disappointment that the book was finished at 90% of the pages, while shortly before my mind was in the good feeling of having another 70 pages to read before the end.
Published on 2024-04-24 in bigsuck, books
It's 2024 and I want to send a sign a contract and send it via e-mail to a company.
The company does not accept electronically signed PDF files (most don't), and even when they did - I don't have an electronic signature I can use with PDF files, nor do I know how to create one.
The only option I have is to sign the contract by hand: Print it out, write my signature with a pen, scan the signed paper and send the scan via e-mail to the company.
A variation of this option that takes less time and paper is to add an image of my signature to the PDF. But how can I do that? Let's look at the software on my Debian 12 laptop:
The PDF viewer shipped with the Mate Desktop environment tells me that it can't open PDF files.
The default Gnome PDF viewer can't add images to PDFs, since 9 years (new ticket)
The feature request is open since 2013, 11 years.
There seems to be a trick with stamps, but I failed because the KDE QT interface looks totally broken in Mate:
Inserts water marks because I have no license. Buying the license would mean giving money to a Russian company, which is something I won't do with the Russia's war against the Ukraine happening.
Adding a .png or .jpg image crashes the application.
I could import the multi-page PDF, but then I failed to find out how to switch to the second page :(
The text in the imported PDF does not look as it should.
In the end I opened the PDF in Firefox, which contains an PDF editor.
It's sad that I have to use a browser for something that a native PDF tool should be able to do.
Published on 2024-06-03 in bigsuck, linux
I've got a Macbook Pro running MacOS 12.7.4 Monterey with two local accounts: user and admin, both without an Apple ID.
The user account has a "screen time" passcode set that I forgot:
The official instructions say:
- Click Change Passcode, then click Forgot Passcode.
- Enter the Apple ID and password you used to set up the Screen Time passcode.
The window does not have a "forgot passcode" button, and I suspect this is because the account does not have an Apple ID.
After searching for hours for a solution, I spent 50 internet points to get an answer but nobody could help.
The only options left are:
Delete the user account and create a new one.
Lose all settings like wallpaper, keychain and dock preferences.
Install Linux that allows me to reset such things in config files.
For me this one of the shady things Apple does to nudge people into their pay-per-month online system, just as they do with the system preferences advertisements.
Published on 2024-05-03 in bigsuck, kundeistkönig, mac
Die Leipziger Verkehrsbetriebe verkaufen weiterhin Werbeplätze in den Haltestellendurchsagen der Straßenbahnen, und diese sind viel schlimmer - störender - geworden.
Während es 2021 auf der Linie 10 und 11 vom Hauptbahnhof in Richtung Markkleeberg nur einzelne Werbeplätze waren, ist jetzt bis zum Connewitzer Kreuz fast jede Haltestelle mit Werbung zugepflastert:
Das ganze ist ziemlich nervig und stört sehr beim Lesen.
Published on 2024-04-24 in bigsuck, kundeistkönig
Es ist das Jahr 2024, 26 Jahre nach der Standardisierung von IPv6. Die 1blu RootServer unterstützen kein IPv6, wie auch die meisten anderen Produkte bei 1blu. Traurig.
Der Support meint:
Wir bedauern Ihnen mitteilen zu müssen, dass IPv6 bei Ihrem Produkt aktuell noch nicht unterstützt wird. Unsere Technik arbeitet bereits daran dies zu ermöglichen. Bitte haben Sie Verständnis, dass wir Ihnen jedoch noch keinen genauen Termin nennen können.
Siehe auch:
Published on 2024-03-05 in bigsuck, network
I tried to get a Windows 8.1 system running inside VirtualBox 7.0.12,
but it fails as soon as I install the Guest Additions
.
All Windows updates have been installed. When installing the Guest Additions, there are 4 errors about Windows preventing the installation of unsigned drivers.
After rebooting, Windows sees something is broken and will do an automatic repair, which yields no results. Rebooting does not help, the system is broken beyond repair :(
Bug report: #21979: Installing Guest Additions in Windows 8.1 leads to non-bootable system
Published on 2024-02-05 in bigsuck
Work on my own server for the abandoned PlayJam GameStick micro console continued, and two weeks ago I deemed it good enough to make it public for others to test.
To make sure everything works fine I removed the GameStick host name entries from my local DNS server, factory reset the GameStick and started the initial setup. It all worked fine as expected, but after completing setup the screen went black and stayed that way. Only notifications that a Gamepad was connected/disconnected or the internet connection was established were shown in the bottom right corner. The GameStick did not react to gamepad nor keyboard input.
Since had reinstalled the 2071 firmware as part of my test, I had no access to adb - for that I had to install and start the TOFU media player, install and run my "start adb" plugin. None of this was an option since the main UI ("Console") did not load.
Flashing firmware 2058 gave the same black screen that 2071 showed.
I suspected something to be off with my API and changed the connect API responses to known-to-work versions from git history of the playjam gamestick API code, but that did not help. Minimizing them did not help either.
Next I tried to replace the profile API with a version that I used when I got it working for the first time, but that did also not help.
I also suspected the session IDs to have invalid characters, but changing them did not yield any results. The black screen stayed.
Another thing that the official connect API responses had were UI translation strings, so I integrated them - but no avail.
The first three days of poking in the dark were over.
During development I had collected a number of server responses that were cached on different GameSticks (Toast, Cataphoresis, Ryo, Kazdan, Lee Chapman). I let my server return those files, but the screen still stayed black.
Since I knew that the UI did not show the latest data when they were downloaded from the server, I had to boot the GameStick once to the black screen, wait for it to download all API data, and rebooted again to see if the new data made any difference.
Nothing.
I also replaced the small .jpg profile images with original large .png files.
From previous experiments I knew that OOBE in firmware 2071 did not show the profile image, while 2058 does. So I tried to find out what changed between those two firmware versions: 2058 used the custom JSON handler, while 2071 had completely switched to a Gson to parse and hydrate the API responses.
There were no differences to find in the parsed properties. Day 4 over.
My main problem was that I did not have error logs because the PlayJam developers had disabled adbd on the GameStick. My next idea was to install all the GameStick .apk files inside the Android emulator and see the error in its logs.
Fortunately I could configure a 4.1 Android system for the emulator, start it and install all com.playjam.* apk files that were part of the 2071 firmware. I could start OOBE, but it would hang in the 5th step, the activation. Logs said that it could not obtain the hardware ID which is needed in requests to the API server.
I dived deep into the decompiled code, found out how the GameStick loads its hardware ID, built an Android app that provides a system service that starts on boot and sends out the com.playjam.SYSTEM_INFO intent with a fake hardware ID and firmware version information.
I learned the hard way that building an app with only a service and without any user interface will never be marked as "activated", and thus its services will never be started by the Android system. So I had to build a dummy UI activity that started the service once.
In the end, my service worked and the GameStick apks could fetch the correct API from the server, and OOBE finished.
The Console UI had some errors because certain files and folders were missing in the /data user partition. I copied them over from the firmware image, and the GameStick intro video played!
Unfortunately the UI crashed while the spinner was rotating, because playing a sound did not work in the emulator:
W/AudioPolicyManagerBase( 654): getOutput() could not find output for stream 3, samplingRate 0,format 0, channels 3, flags 0 E/AudioTrack-Java( 2246): [ android.media.AudioTrack ] getMinBufferSize(): error querying hardware W/dalvikvm( 2246): JNI WARNING: JNI method called with exception pending W/dalvikvm( 2246): in Lcom/ideaworks3d/marmalade/LoaderThread;.runOnOSTickNative:()V (GetObjectClass) W/dalvikvm( 2246): Pending exception is: I/dalvikvm( 2246): java.lang.NullPointerException: I/dalvikvm( 2246): at com.ideaworks3d.marmalade.SoundPlayer.start(SoundPlayer.java:75) I/dalvikvm( 2246): at com.ideaworks3d.marmalade.LoaderThread.soundStart(LoaderThread.java:856)
But this was a kind of success: The intro video was not visible on my real factory-reset GameStick.
Day 6 over.
So my GameStick stays completely black but the emulator shows the intro video: I needed to get back to real hardware. One thing I had not yet tried was CFW 1.4, the Custom FirmWare by shanti (GameStickers.net: [ROM] CFW v1.3 - Updated 1.4 is out :D, archived version). It hopefully has adbd enabled, which would give me logs.
I flashed it onto the GameStick, and it booted into a standard Android user interface (the whole point of the firmware was to get an usable Android without any restrictions). Then I installed all the com.playjam.*.apk files and populated /data as I had when using the emulator.
The results were good: OOBE worked, intro video plays, the spinner is visible and then the normal UI starts and is usable - only game images did not load.
But while it was nice that I got the official UI working on custom firmware, I did not find out why the official firmware stayed black.
Day 7 was gone.
When inspecting the CFW 1.4 files I noticed /system/build.prop which contained three additional lines:
persist.service.adb.enable=1 persist.service.debuggable=1 persist.sys.usb.config=mass_storage,adb
If the official firmware had this, I'd get proper error logs and could see the error messages.
I learned that the GameStick firmware .img files are standard Android OTA .zip files and not some custom format.
I also learned that firmware files need to be signed, so I used the standard java method for signing:
$ signapk -a 4 --min-sdk-version 16 --disable-v2 certs/certificate.pem certs/key.pk8 image.tmp.zip image.signed.img
.. but when trying to flash that image I got:
Verifying update package...
Installation aborted.
I tried different parameter combinations (align/noalign, v1/v2) but all failed.
Then I read all 28 pages of the archived CFW thread on gamestickers.net and found someone who asked how the image was signed. shanti had answered:
here is the program I used: "Sign-em! 2.0"
http://forum.xda-developers.com/showthread.php?t=1966007
I got the linux version and found it used signapk.jar. After finding that I saw that it used some internal old Sun Java class sun.misc.BASE64Encoder that was not available anymore in any recent OpenJDK :(
Android system recovery normally only installs firmware images
that have been signed by one of a number of white-listed keys.
The GameStick's recovery seems to allow all properly signed images,
regardless which signing key was used.
This is the reason the CFW was possible at all
- on OUYA, custom firmwares could only be installed when using a
custom bootloader,
but not with the stock recovery that requires firmwares to be signed
by a key that only OUYA possessed.
Then I found the next XDA thread post that linked to HemanthJabalpuri/signapk which contained MinSignApk 1.0 that ran on current Java versions!
I signed my firmware image with MinSignApk, and could flash it!
Update 2023-06: An adbd-enabling firmware image is available at codeberg.org/gamestick-fans/firmware-adb-enabler/
Now that I had flashed my custom firmware 2071+adb I finally saw the errors:
I/ActivityManager( 3509): START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=com.playjam.gamestick.console cmp=com.playjam.gamestick.console/.Main u=0} from pid 3754 D/GameStick( 4262): **************************************** D/GameStick( 4262): Failed to create download directory
The directory existed, so I removed it:
$ adb shell rmdir /data/data/com.playjam.consoledev/files/Downloads
Next boot, the GameStick would create the directory, and the following it would complain again. So this was not the problem.
I/ActivityManager( 4479): Displayed com.playjam.gamestick.console/.Main: +313ms (total +1s416ms) W/System.err( 4628): java.io.EOFException W/System.err( 4628): at libcore.io.Streams.readAsciiLine(Streams.java:203)
The firmware update check needs to return its JSON on a single line, otherwise parsing would fail. I modified the server.
D/PlayjamKeyboard( 3685): Starting for type : 0/0 I/marmalade( 4262): PJException error has occurred : 62 c:/_work/dev/marmalade_main/menu_head/src/PNGFile.cpp OpenTextureFile open png Error : empty file name
This finally looked like the real problem. I removed all game information from the API in case the game images were the culprit, as well as the profile images. Still the same error.
Day 8 was over.
The next day I tried more image related changes:
While booting the GameStick I came across a very special error:
W/DatabaseService:ConnectDownloader( 3794): Failed to duplicate connect data for console : /data/GameStick/ConsoleResources/315f7b66-fae7-4ab3-9d46-bf41942694b6.json => /data/GameStickCache/reg_server_response.json
Reading through the source code led to me understanding that process:
The last step failed because downloading fresh data (500 kiB!) was faster than parsing cached data.
This could only happen on my local setup: GameStick's WiFi reception is so bad that I could not use my normal access points. Instead I enable an access point on my laptop whenever I do GameStick development, and the GameStick only needs to transmit data some 30cm to my laptop. Since the API server is running on the same machine, data transmission is much faster than usual, leading to that race condition.
This problem was fixed with a sleep(2) call to slow down the API.
The GameStick still gave the OpenTextureFile error with no hint about the file it tried to read.
I tried my luck, built a 2058 firmware with adbd and did get a more verbose error:
I/marmalade( 5452): PJException error has occurred : 97 c:/_work/dev/marmalade_main/menu_head/src/PNGFile.cpp OpenTextureFile open png Error : Cannot open file raw:///data/GameStickCache/Assets/textures/placeholder3.png
That was very strange. I knew that the firmware image contains nearly 1000 files in the /data folder, and confirmed that this particular file also exists in both 2058 and 2071 firmware files.
It turned out that /data/GameStickCache/Assets/ was completely missing on my device, as well as /data/GameStickCache/Resources/. What the heck?
Now I remembered that when flashing firmware via system recovery, I always do two steps to get a nice clean system:
But the GameStick firmware installation process already populates the user data partition /data/! Wiping user data after installation removes all the asset files that are needed by the console user interface, leaving a broken system.
Now it also made sense that I did not see this problems on the emulator and the CFW setup: I knew those files were missing and had manually copied them from the firmware update into /data.
Day 9 had finally brought relief.
The key takaway is that the PlayJam developers did not follow standard Android conventions and put necessary system data onto the user partition.
When flashing a GameStick, always wipe user data first, and then flash the firmware .img file. Never the other way round.
Published on 2023-06-19 in bigsuck, gamestick