The new stable firmware is out, with a bunch of bugfixes, new features, and new apps !! Here you go for a detailed changelog since 2.0.0 ! First apps changes are listed, and then the UI / Radio / Baseband / Website / GIT ones.
TLDR, main features for that update:
Freqman is supporting a lot more files than before
Tone beep has been added to a ton of apps and as a global setting too
2 new apps which will make use of the incoming ESP32 USB tooling
Auto record and repeat in Recon
Autostart app on power on option
RX IQ CALibration
lots of fixes and cleanings
some new preset/freqman files
some new BLE options
List of updated apps:
ADSB:
Beep-on-packet support in ADSB RX app
Added sil value ASDB
AIS:
Beep-on-packet support in AIS app
Audio:
Adding Rx IQ error phase CAL to SPEC Audio_App
Added a beep duration parameter
Improved audio beep tone
BLE:
Added all and all-safe attack types to blespam
Bt namespam
Capture/Recording apps:
Record gps lat, lon, satinuse from recorder app if there was gps signal
Recon:
Fix Recon Modulation/Bandwidth presets
Recon repeat auto recorded file mode
Added enums for recon_config bits
ERT:
beep on packet
Freqman:
Add FPV analog frequenqies to FREQMAN
Update FPV_ANALOG.TXT
Limiting description size to 30, and minor fix
SSTV Freqs
Added and fixed freqs
Create RADIOS_FM_FR_PARIS.TXT with FM Radios in Paris
Adding Australian UHF channels and Brisbane Airband to FREQMAN
Fileman:
Support “clean” files
File manager “Clean” button tweaks
Darken FileMan button colors for visibility
Fileman memory opt
Allow to load more files but unordered
Continued folder names consolidation & GPS default folder
FileMan support for folder Cut & Paste and Timestamp Rename
If you are coming from a version <2.0.0, you have to first update using the classic hackrf_spiflash method to bring your firmware to a version >=2.0.0. It will only update the parts of the firmware on the flash, all external apps will NOT be updated using only hackrf_spiflash.
In a second time use the web interface at https://hackrf.app to update to lastest stable/nightly. It will ALSO update external apps that are stored on the sdcard.
If your firmware is already >= 2.0.0, just directly go to https://hackrf.app and update all in one go from there.
!! all sdcard content is NOT updated through website, only the external apps !!
If you’re doing scp command, with ‘-r’ recursive option, and stumble upon a strange “path canonicalization failed” out of nowhere:
Starting from SSH 9.0.0 scp is using sFTP to copy files. And in sFTP, target directories must exist.
Simple fix: use -O, legacy mode:
“Use the legacy SCP protocol for file transfers instead of the SFTP protocol. Forcing the use of the SCP protocol may be necessary for servers that do not implement SFTP, for backwards-compatibility for particular filename wildcard patterns and for expanding paths with a `~’ prefix for older SFTP servers”
The reMarkable 2 tablet is an e-ink paper feel like tablet, aimed at note taking, quick drawing, and PDF/EPub reading.
You can read the product informations/hardware directly on the reMarkable website.
It’s voluntarily simple and with no extra apps/functions so you stays focused on what you’re doing. Some says it’s a default, some says it’s a perk. I think it’s a perk 😉
The environnement of the reMarkables (1 & 2) is an open source based linux. By default you can have an ssh access to your tablet, and you have the root access.
reMarkable Guide
Nearly every information on that article can be found in great details here: https://remarkable.guide/
That guide is like the “hitchhiker’s guide to the remarkable world”.
Let’s start by stating that I’m not willing to use any cloud related functions on that tablet.
I used first codexctl to downgrade the tablet to the last toltec supported version, that is 2.15.1.1189 at the time of the article. Support for 3.X is in the tube, but not yet ready for users.
Then I used toltec to install / manage the linux packets on the reMarkable system.
Once toltec installed, I used the provided opkg commands to install Oxide
Oxide is a desktop environment for the reMarkable tablet.
Features:
Multitasking / application switching
Notifications
Wifi managment
Chroot for applications that you don’t fully trust
When updating your devices, you may sometimes encounter problems that are directly related to the way you updated and to the changes that have occurred between your version jump.
That guide does not pretend to solve all the problems, some are real issues that have to be opened on the Mayhem GITHUB issues tracker.
On the other hand, if you have followed that guide and still have a problem, your issue have better chances to be solved as it will be possible to set aside common updates related problems.
List of important steps:
download all necessary files (it means at least SDCARD apps and firmware bin file !!)
have a reliable USB cable
ensure that your button battery is not dead, else use ‘PMem to Sdcard’ options in ‘Settings’
ensure that your CPLD is up to date (no need to update each time, but be sure at least once)
flash the firmware
update sdcard content (do not forget to update APPS if you’re manually refreshing !)
if you are having strange apps problems, try a factory default reset. It’s important to note that you will loose your settings and will have to set them backif you’re doing that step
always go and check the settings after the updates, we may have added things that changed the memory layout of settings thus messing them.
You may search each each steps details in the Mayhem GITHUB Wiki, particularly in the following sections:
Like they said, if you use a language for which serializers aren’t written yet, you can write the encoded event yourself. Here are both the recipe and the link:
0
Magic Byte
Confluent serialization format version number; currently always 0.
#GPT4 is so amazing that it is a little bit frightening.
But hey, you can pour it a book and talk… to the book, isn’t it amazing ??
Seriously, the GPTs are incredible and the futur is going to change for sure.
Good or bad, well, wait and see.
PS: I can only encourage you to follow Two Minutes Papers. That channel is just so good, with simple and quick explanations, even when it’s a heavy subject like GPT4
If ever at some points Spotify on Linux refuses to start or start with fucked up graphics, there is a high probability that it’s due to hardware acceleration and a pesky update.
Spotify isn’t that much of a GUI CPU hog, so you can start it with hardware acceleration OFF and make it work again, like this:
spotify –disable-gpu
Some users reported that they needed to use –no-zygote too, but it made it instable for me.
Some had to also use –disable-software-rasterizer. I saw no changes when using it.
Sometimes when using a program linked with librdkafka, you can encounter the ‘symbol lookup error.
Most of the time it’s because your program have been linked to an old version of librdkafka in your system (like outdated RedHat librdkafka yum package VS the latest build from librdkafka’s git)
Solutions:
-Check your LD_LIBRARY_PATH, be sure to find the directories containing latest librdkafka .so file is listed first
-Check what’s installed on your system -In some case you will have to rebuild your project, having a proper LD_LIBRARY_PATH configured before
In case you’re building yourself everything from source in your project, there is a good chance you once had a problem because you were using relative (like ../myressource) paths in your CFLAGS or LD_FLAGS definition and passed them down to the build system.
Short answer: when getting down in sub directories to i.e build your dependencies, the relative path can’t stay good. Only the absolute path can work.
One solution, if using GNU make, is to use something like this to compute the absolute path:
RES_RELATIVE_PATH=./path_to_my_ressource
RES_ABSOLUTE_PATH=$(realpath $(RES_RELATIVE_PATH))
CFLAGS+= -I$(RES_ABSOLUTE_PATH)
# Note: the naming is up to you. In my case, for something like cJSON, I'm using the following naming:
CJSON_RELPATH=./external/cJSON
CJSON_PATH=$(realpath $(CJSON_RELPATH))
CFLAGS+= -I$(CJSON_PATH)
You can also directly initialize with a shell call:
Recently I stumbled upon that kind of error when trying to update a submodule:
git submodule update –remote –merge fatal: unable to access ‘https://github.com/DaveGamble/cJSON.git/’: Received HTTP code 407 from proxy after CONNECT
Turns out that it was the proxy authentification not being sent correctly. In our case we are using system defined proxy, so we do not need git’s ones
Some also encountered SSL verification problems due to auto signed certificate use in their network, and had to disable SSL verification. It’ done with the following command, but we do not recommend to use it unless really needed:
Have you even stumbled upon a strange warning when trying to print an uint64_t or a size_t ? Do no take that warning lightly, as your code can break anytime if you’re not fixing it.
Warning example:
warning: format '%llu' expects argument of type 'long long unsigned int', but argument 4 has type 'uint64_t' [-Wformat]
To avoid the warning and crashes, you have to use a one of the PRIxxx macro which will choose the right way for your system to print the value, without crashes. Example: