next-flip / momentum-firmware Goto Github PK
View Code? Open in Web Editor NEW🐬 Feature-rich, stable and customizable Flipper firmware
Home Page: https://momentum-fw.dev
License: GNU General Public License v3.0
🐬 Feature-rich, stable and customizable Flipper firmware
Home Page: https://momentum-fw.dev
License: GNU General Public License v3.0
NRF24 is not working the only thing that helpt was downgreading
go to the nrf24 app
No response
No response
No response
I have a doorbell that changes the frequency every time it rings. It would be nice if the Frequency Analyzer could automatically save an analysis of captured signals of freshly captured frequencies.
Momentum really rocks 😁
In my neighborhood a couple of frequencies are captured every couple of seconds. Of course it's possible to use RSSI to tweak what strength of signals to capture. But it would be so much easier to just temporarily or (semi) permanently ignore a frequency.
As I said before, love this fw 😁
I generated a Secondary.u8f file with a file size of 61.4KB When the Asset Pack loads, I get an out-of-memory warning. Is it possible to load the font index first when loading the font file, and then go to the SD card to read the dot matrix information which dot matrix is used
Secondary.zip
No response
Can you add support for SubMenu and Text Input (keyboard)?
Thank you!
No response
Could you make Evil Portal work?
LOVE THE FIRMWARE!
After re-upgrading to momentum I get locked out of the flipper, nothing I press does anything, and I cannot get the prompt to enter my pin.
No response
No response
I had the pin set in Xtreme before updating to momentum, can't say for certain this problem exists if you first set the pin within momentum.
I have tried downgrading a second time, setting a pin in the default firmware, and then re-updating to momentum a second time, and still had the same issue.
I have also tried going back to stock, disabling that pin, and then going back to momentum again with no luck.
I also tried going back stock>xtreme>momentum which also didn't work
Hi, loading an NFC dump that used to work in previous versions now crashes the F0.
The Flipper reboots and then the screen shows this message:
flipper crashed but has been rebooted
malloc(0)
The CLI log of the crash seems to point to the zolotaya_korona_parser:
47663 [T][StorageApi] File 00005FF0 - 0000D69C open (/data/plugins/zolotaya_korona_parser.fal)
747708 [I][Elf] Total size of loaded sections: 2012
747711 [T][StorageApi] File 00005FF0 - 0000D69C closed
747714 [T][StorageApi] File/Dir 00005FF0 free
747716 [D][Fap] Library for NfcSupportedCardPlugin, API v. 1 loaded
747721 [T][StorageApi] Dir 000031C8 - 0000A5CC closed
747723 [T][StorageApi] File/Dir 000031C8 free
747726 [D][NfcSuppo ....... CRASH!...REBOOT!
Funnily enough, the log never prints the filename that it should have been opening.
I attach the file in question... zipped
nfc-crash-f0.zip
It's content is like follows:
$ cat nfc-crash-f0.nfc
Filetype: Flipper NFC device
Version: 3
# Nfc device type can be UID, Mifare Ultralight, Mifare Classic or ISO15693
Device type: ISO15693
# UID is common for all formats
UID: 5C 66 AA 95 32 C1 07 E0
# Data Storage Format Identifier
DSFID: 00
# Application Family Identifier
AFI: 00
IC Reference: 00
# Number of memory blocks, usually 0 to 256
Block Count: 0
# Size of a single memory block, usually 4
Block Size: 00
Data Content:
# First byte: DSFID (0x01) / AFI (0x02) / EAS (0x04) / PPL (0x08) lock info, others: block lock info
Security Status: 00
# Subtype of this card (0 = ISO15693, 1 = SLIX, 2 = SLIX-S, 3 = SLIX-L, 4 = SLIX2)
Subtype: 00
# End of ISO15693 parameters
Switch on
Load my .nfc file from the memory card
(system crash)
Also saving correctly decoded ISO15693 files leads to a crash, yet different. Will document in a different ticket
When opening the subghz app and going to read, the config, after waiting a couple seconds the flipper becomes unresponsive. (Does not happen on read RAW config.) I am on dev firmware, commit c4c1870.
Turn on flipper, open subghz through any method, go to read, then config, then wait a couple seconds.
No response
No response
No response
I saw that there's no native way to execute Python scripts like it's possible to do with JS.
So I wanted to suggest to add Python native running on firmeware.
No response
Created disk image 32M test.img yesterday, and it popped up in KDE Plasma and asked to mount, but today when I select it, no pop-up in KDE. I tried creating 32M qwerty.img, then selecting, but nothing. I checked dmesg as root and I don't see anything there.
x86_64 Intel with Slackware 15.0
13167316 [REG] Detected new device: VID_0x483:PID_0x5740
13167357 [DBG] Trying serial port flip_Crasile at /dev/ttyACM0
13167357 [DBG] Using serial port flip_Crasile at /dev/ttyACM0
13167357 [RPC] Starting RPC session...
13167530 [RPC] RPC session started successfully.
13167530 [RPC] (1) System Protobuf Version START
13167651 [DBG] Detected protobuf version: 0.22
13167651 [RPC] (1) System Protobuf Version SUCCESS
13167651 [RPC] (2) Property Get START
13167963 [RPC] (2) Property Get SUCCESS
13167964 [RPC] (3) Storage Info @/ext START
13168084 [RPC] (3) Storage Info @/ext SUCCESS
13168086 [RPC] (4) Storage Stat @/ext/Manifest START
13168197 [RPC] (4) Storage Stat @/ext/Manifest SUCCESS
13168205 [RPC] (5) System Get DateTime START
13168313 [DBG] Flipper time skew is -902 milliseconds
13168314 [RPC] (5) System Get DateTime SUCCESS
13168332 [RPC] (6) System Set DateTime START
13168451 [RPC] (6) System Set DateTime SUCCESS
13168452 [RPC] Stopping RPC session...
13168490 [RPC] RPC session stopped successfully.
13168490 [REG] Registering the device
13168490 [DEV] Version: mntm-001 commit: 58bd6383 radio: 1.17.3
13168490 [BKD] Current device changed to ""
13168606 [RPC] Starting RPC session...
13168780 [RPC] RPC session started successfully.
13168781 [RPC] (1) Gui Start ScreenStream START
13168902 [RPC] (1) Gui Start ScreenStream SUCCESS
not sure why it worked once yesterday :)
I have this on my shell : "{10:36}~/flipper ➭ git clone --recursive --jobs 8 https://github.com/Next-Flip/Momentum-Firmware.git
Cloning into 'Momentum-Firmware'...
remote: Enumerating objects: 146733, done.
remote: Counting objects: 100% (2075/2075), done.
remote: Compressing objects: 100% (817/817), done.
error: 677 bytes of body are still expected67 MiB | 564.00 KiB/s
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
" or some other error ("error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8)", "error: RPC failed; curl 56 GnuTLS recv error (-9): Error decoding the received TLS packet.", etc ...).
So, I can't clone your repositori ...
git clone --recursive --jobs 8 https://github.com/Next-Flip/Momentum-Firmware.git
No response
No response
No response
Hi Willy,
as you are (or was?) big supporter on XFW, why you make your own fork?
Which beneficts has your MFW compared to XFW? You have compared Unsleashed and original and so on, but mission this comparisson and reason.
Thank you
Lordrak
No response
evil portal within the marauder app does not set up a portal, just gets stuck on the command or if I choose a prebuilt portal, the flipper crashes and reboots says "out of memory" when I attempt to set html manually, flipper crashes and reboots. I tried all of the other [mayhem] apps and they all work as designed (camera, qr code, morse flasher, nanny cam and motion detector), marauder also allows me to scan for wifi networks, jjust can't seem to get evil portal to work lately. Am I missing something
Turn flipper on, navigate to [mayhem] marauder, scroll down to evil portal, when i go to set html, flipper zero crashes and reboots. sometimes the html is displayed out on the flipper zero. see attached images for some of the messages that i receive
No response
No response
No response
This MAY be the wrong location, but I've recently noticed the flipper zero app store is not compatible with this version of momentum.
Connect flipper to flipper zero app and go to hub to try and install apps
No response
No response
Momentum ROCKS!
installing firmware and stuck on updating resources
No response
No response
No response
BLE Spam should have a way to pop up the Apple Vision pro so we can see everyone's head spin to find where the Apple Vision Pro is in the crowd. There is currently no way to select it specifically to create spam BT notifications. Some may even want an "advanced device selector" to spam pairing requests for other specific devices.
Love the work so far!
Opening the tamagotchi app makes the screen go blank and a beeping sound that doesn't go away until rebooting the flipper
Opening tamagotchi app
No response
No response
No response
When is the next official momentum release?
I have a script that runs indefinitely. It would be nice to easily show how long it has been running with the option to pause/resume it, if needed.
No response
sub-ghz module I use :https://www.youtube.com/watch?v=WM2bWjn5jOY&list=PLwfLF8jiGePKG0yLy8_yOxssiAvejQtoO&index=1&t=2203s&pp=gAQBiAQB
firmware version:mntm-dev-6ae098fa
unleashed 071e works like normal.
1、pluging sub-ghz module on flipper
2、run infrared app - universal remote -TVs - Power button
3、IR remote won't work normally,EXT sub-ghz module LED blinking
No response
No response
No response
I'm suggesting the addition of Numpad keybindings in the js_badusb.c file to enhance the functionality of the firmware. Currently, there are issues with input methods that are not US when using the script. By adding Numpad keybindings, users can utilize combinations like ALT+Numpad to input text, thereby overcoming these issues.
What It Should Do:
The suggested modification involves adding the following lines to js_badusb.c:
{"NUMPAD_0", HID_KEYPAD_0},
{"NUMPAD_1", HID_KEYPAD_1},
{"NUMPAD_2", HID_KEYPAD_2},
{"NUMPAD_3", HID_KEYPAD_3},
...
This addition will enable users to employ ALT+Numpad combinations in their scripts, such as the following JavaScript function:
function sendStringViaAltNumpad(str) {
for (let i = 0; i < str.length; i++) {
let asciiCode = str.charCodeAt(i);
badusb.hold("ALT");
asciiCode.toString().split('').forEach(digit => {
badusb.press(`NUMPAD_${digit}`);
delay(10); // Slight delay to ensure keyboard events are processed correctly
});
badusb.release("ALT");
delay(10); // Slight delay to ensure keyboard events are processed correctly
}
badusb.press("ENTER"); // Finally, press ENTER key to simulate the behavior of println
}
Note:
This feature request aims to extend the existing functionality of the firmware by incorporating Numpad keybindings. It addresses the issue of non-US input methods when using the script, offering users greater flexibility in text input.
As a beginner, I'm unsure about the process of converting the .c format to .fal. Any guidance on this would be appreciated.
Thank you for considering this feature request.
Generating random numbers within a defined range is not working. Numbers are generated outside of the range sometimes.
let math = require("math");
function getRandomArbitrary(min, max) {
return math.floor(math.random() * (max - min + 1)) + min;
}
while (1 === 1) {
let randomIndex = getRandomArbitrary(0, 23);
print(randomIndex);
delay(1000);
}
No response
No response
No response
The light does not turn off mesoq ue is stinky for this. I already updated 3 times but the problem continues. In this way the battery loses performance and it is not very attractive to always walk with the light access.
.
.
.
.
Using usbdisk.wasEjected() in javascript returns always true when mounted in macOS. Mass Storage app works correct.
let usbdisk = require("usbdisk");
let image = "/ext/apps_data/mass_storage/AImage.img";
usbdisk.start(image);
delay(5000);
print("USB Disk activated");
while (true)
{
print(usbdisk.wasEjected());
delay(1000);
}
No response
No response
I'm running the latest dev build
Hello,
I have a badge that integrates a Mifare Desfire chip at 13.56 MHz as well as an EM4100 [EM-Micro] (125 kHz) chip in a single badge.
For reading the 125 kHz part, there's no issue, the Flipper reads it immediately. However, when trying to read the Desfire part, the Flipper remains stuck in continuous reading mode with the message "Don't Move".
I believe that the 13.56 MHz antenna of the Flipper might be disrupted because it is simultaneously powering both chips. The response of the badge at the 125 kHz frequency could be causing interference.
Do you think this can be corrected?
Another scenario:
3. Performing an additional action.
4. Selecting "Read Specific Card Type".
5. Choosing "Read MIFARE DESFire".
6. The application remains stuck on "Don't Move".
NFC and RFID
No response
No response
Whenever an app already installed gets and update, it allows to press the update button, but does not install it.
Update apps already installed
No response
This is tested specifically with Video Game Module Tool
mntm-001 crashes/reboots every time I try to open the Authenticator app
No response
No response
No response
A suggestion, if acceptable computational- / memory-intensity-wise. Orbit / interpolate over a perceptually uniform colorspace a la OKLAB instead of over the RGB/HSV values, as the latter (the current approach) leads to perceptual peaks/valleys in lightness. On-the-fly conversion requires some floating-pt math (might be intensive for what's intended as a background process?); alternatively, lookup tables could be precomputed for speed, if there's sufficient memory.
Code for conversion to/from linear sRGB listed in the above-linked post; would need minor modification / composition with sRGB<>RGB565/888 for conversion to/from RGB565/888:
struct Lab {float L; float a; float b;};
struct RGB {float r; float g; float b;};
Lab linear_srgb_to_oklab(RGB c) {
float l = 0.4122214708f * c.r + 0.5363325363f * c.g + 0.0514459929f * c.b;
float m = 0.2119034982f * c.r + 0.6806995451f * c.g + 0.1073969566f * c.b;
float s = 0.0883024619f * c.r + 0.2817188376f * c.g + 0.6299787005f * c.b;
// these cube-roots are likely to be the worst offender performance-wise
// can forgo by simply defining the starting point in OKLAB for the wave/static fxn,
// hence would never need to convert RGB -> OKLAB;
// only the reverse which involves cubing
float l_ = cbrtf(l);
float m_ = cbrtf(m);
float s_ = cbrtf(s);
return {
0.2104542553f*l_ + 0.7936177850f*m_ - 0.0040720468f*s_,
1.9779984951f*l_ - 2.4285922050f*m_ + 0.4505937099f*s_,
0.0259040371f*l_ + 0.7827717662f*m_ - 0.8086757660f*s_,
};
}
// interpolate / walk across OKLAB values, before converting back to RGB
// in current implementation, it seems you simply multiply the hue of HSV
// by a constant and a variable step.
// Here, the perceptually uniform equivalent would be holding L and some radius R constant,
// while setting a & b equal to R*sin & R*cos of your step (I think...)
// (drawing a unit circle over the uniform colorspace)
RGB oklab_to_linear_srgb(Lab c) {
float l_ = c.L + 0.3963377774f * c.a + 0.2158037573f * c.b;
float m_ = c.L - 0.1055613458f * c.a - 0.0638541728f * c.b;
float s_ = c.L - 0.0894841775f * c.a - 1.2914855480f * c.b;
float l = l_*l_*l_;
float m = m_*m_*m_;
float s = s_*s_*s_;
return {
+4.0767416621f * l - 3.3077115913f * m + 0.2309699292f * s,
-1.2684380046f * l + 2.6097574011f * m - 0.3413193965f * s,
-0.0041960863f * l - 0.7034186147f * m + 1.7076147010f * s,
};
}
Thoughts? Feel free to close if too intensive / not a significant enough experiential benefit.
No response
With the animation pack set to default and unlock animations set to off. It only shows the level 1 default animations.
No response
No response
No response
Hi, thank you for adding awesome features. But it is possiblle add some sescription to every added function? Like Repeater in subghz. Hot it works? Usage?
Thank you very much
Lordrak
No response
Cant get find my iphone to work
try find my iphone
No response
No response
No response
I installed firmware from web. Even bluetooth is on, none of my device see it
1- Install the latest firmware from web
2- Open bluetooth from device
3- You can't see it from other devices.
Currently I tried it from M1 Macbook Air and iPhone 11
No response
No response
No response
The mobile is not able to detect the flipper. The device is not shown in the Bluetooth device list.
Once I flashed the default firmware it's detected by the mobile device.
Just flash the firmware and go to the mobile phone to connect it with the mobile app, the device will not be connected and in the Bluetooth settings of the mobile device flipper will not be visible.
No response
No response
No response
With the new API in expansion in the merge, it will be possible to use the VGM in SubGHz without any bugs.
Todo is refactoring the GPS usage in SubGHz:
subghz->gps
No response
I'm willing to try to implement it. Still, before starting, I would like someone with more knowledge about Flipper Zero's architecture and capabilities to let me know if this is even possible.
Add Math library to the js app.
No response
The universal remotes take long to load, i did not encounter this in any other firmwares. Is this normal?
I downloaded the latest version of Momentum from Github, and made sure my qFlipper app was updated as well. When attempting to install the firmware, I get a timeout error set that causes the firmware to fail installation. I have tested this out using my Mac running MacOS 14.4, and it is reproducible each time I attempt it. Installing vanilla firmware through qFlipper works perfectly.
No response
17 [default] Binding on background is not deferred as requested by the DeferredPropertyNames class info because one or more of its sub-objects contain an id.
17 [default] Binding on contentItem is not deferred as requested by the DeferredPropertyNames class info because one or more of its sub-objects contain an id.
18 [default] Binding on contentItem is not deferred as requested by the DeferredPropertyNames class info because one or more of its sub-objects contain an id.
18 [default] Binding on background is not deferred as requested by the DeferredPropertyNames class info because one or more of its sub-objects contain an id.
19 [default] Binding on background is not deferred as requested by the DeferredPropertyNames class info because one or more of its sub-objects contain an id.
19 [default] Binding on contentItem is not deferred as requested by the DeferredPropertyNames class info because one or more of its sub-objects contain an id.
20 [default] Binding on background is not deferred as requested by the DeferredPropertyNames class info because one or more of its sub-objects contain an id.
20 [default] Binding on contentItem is not deferred as requested by the DeferredPropertyNames class info because one or more of its sub-objects contain an id.
20 [default] Binding on indicator is not deferred as requested by the DeferredPropertyNames class info because one or more of its sub-objects contain an id.
21 [default] Binding on background is not deferred as requested by the DeferredPropertyNames class info because one or more of its sub-objects contain an id.
21 [default] Binding on background is not deferred as requested by the DeferredPropertyNames class info because one or more of its sub-objects contain an id.
22 [default] Binding on animation is not deferred as requested by the DeferredPropertyNames class info because one or more of its sub-objects contain an id.
182 [APP] qFlipper version 1.3.3 commit bfce851d 2023-11-10T01:40:31
182 [APP] OS info: macOS 14.4 14.4 23.4.0 Qt 6.3.1
198 [REG] Detected new device: VID_0x483:PID_0x5740
235 [DBG] Trying serial port at /dev/cu.Bluetooth-Incoming-Port
235 [DBG] Trying serial port at /dev/tty.Bluetooth-Incoming-Port
235 [DBG] Trying serial port flip_Omaiygo at /dev/cu.usbmodemflip_Omaiygo1
235 [DBG] Using serial port flip_Omaiygo at /dev/cu.usbmodemflip_Omaiygo1
239 [RPC] Starting RPC session...
307 [UPD] Fetched update information from https://update.flipperzero.one/qFlipper/directory.json
355 [UPD] Fetched update information from https://update.flipperzero.one/firmware/directory.json
358 [RPC] RPC session started successfully.
358 [RPC] (1) System Protobuf Version START
414 [DBG] Detected protobuf version: 0.22
414 [RPC] (1) System Protobuf Version SUCCESS
414 [RPC] (2) Property Get START
548 [RPC] (2) Property Get SUCCESS
548 [RPC] (3) Storage Info @/ext START
600 [RPC] (3) Storage Info @/ext SUCCESS
600 [RPC] (4) Storage Stat @/ext/Manifest START
653 [RPC] (4) Storage Stat @/ext/Manifest SUCCESS
654 [RPC] (5) System Get DateTime START
706 [DBG] Flipper time skew is -1373 milliseconds
707 [RPC] (5) System Get DateTime SUCCESS
707 [RPC] (6) System Set DateTime START
759 [RPC] (6) System Set DateTime SUCCESS
760 [RPC] Stopping RPC session...
771 [RPC] RPC session stopped successfully.
771 [REG] Registering the device
771 [DEV] Version: 0.99.1-rc commit: 628c055e radio: 1.17.3
771 [BKD] Current device changed to "Omaiygo"
872 [RPC] Starting RPC session...
992 [RPC] RPC session started successfully.
992 [RPC] (1) Gui Start ScreenStream START
1048 [RPC] (1) Gui Start ScreenStream SUCCESS
47019 [DEV] Full Update @Omaiygo START
47019 [RPC] (2) Gui Start VirtualDisplay START
47020 [UTL] Region Provisioning @Omaiygo START
47076 [RPC] (2) Gui Start VirtualDisplay SUCCESS
47165 [DBG] Detected region: "US"
47165 [DBG] Allowed bands: QList("F_US_CA_304", "F_US_CA_AU_NZ_433", "F_US_CA_AU_NZ_915")
47165 [RPC] (3) Storage Write @/int/.region_data START
47244 [RPC] (3) Storage Write @/int/.region_data SUCCESS
47244 [UTL] Region Provisioning @Omaiygo SUCCESS
47247 [UTL] Refresh Storage Info @Omaiygo START
47247 [RPC] (4) Storage Info @/ext START
47489 [RPC] (4) Storage Info @/ext SUCCESS
47490 [RPC] (5) Storage Stat @/ext/Manifest START
47543 [RPC] (5) Storage Stat @/ext/Manifest SUCCESS
47628 [UTL] Refresh Storage Info @Omaiygo SUCCESS
47629 [ZIP] Uncompressing file with size of 6494623 bytes...
47677 [ZIP] Uncompression finished : No Error
47683 [UTL] Create Path @/ext/update/f7-update-mntm-001 START
47684 [RPC] (6) Storage Stat @/ext/update START
47736 [RPC] (6) Storage Stat @/ext/update SUCCESS
47737 [RPC] (7) Storage MkDir @/ext/update START
48161 [RPC] (7) Storage MkDir @/ext/update SUCCESS
48161 [RPC] (8) Storage MkDir @/ext/update/f7-update-mntm-001 START
48578 [RPC] (8) Storage MkDir @/ext/update/f7-update-mntm-001 SUCCESS
48578 [UTL] Create Path @/ext/update/f7-update-mntm-001 SUCCESS
48579 [UTL] Upload 7 entries @Omaiygo START
48579 [RPC] (9) Storage Write @/ext/update/f7-update-mntm-001/firmware.dfu START
55270 [RPC] (9) Storage Write @/ext/update/f7-update-mntm-001/firmware.dfu SUCCESS
55270 [RPC] (10) Storage Write @/ext/update/f7-update-mntm-001/firstboot.bin START
55342 [RPC] (10) Storage Write @/ext/update/f7-update-mntm-001/firstboot.bin SUCCESS
55343 [RPC] (11) Storage Write @/ext/update/f7-update-mntm-001/radio.bin START
56279 [RPC] (11) Storage Write @/ext/update/f7-update-mntm-001/radio.bin SUCCESS
56280 [RPC] (12) Storage Write @/ext/update/f7-update-mntm-001/resources.tar START
136226 [UTL] Upload 7 entries @Omaiygo ERROR: Operation timeout (generic)
136226 [DEV] Full Update @Omaiygo ERROR: Operation timeout (generic)
136226 [BKD] Current operation finished with error: "Operation timeout (generic)"
136227 [RPC] (12) Storage Write @/ext/update/f7-update-mntm-001/resources.tar ERROR: Operation timeout (generic)
499540 [APP] qFlipper exited
499557 [default] "There are still \"1\" items in the process of being created at engine destruction."
No response
Could you add more native javascript features such as setTimeout, setInterval, Promise, etc?
All variables are of static type and I cant use ==
instead I'm forced to do ===
Running BLE Spam crashed Flipper.
After reboot message is targets/f7/ble_glue/extra_beacon.c
No response
No response
No response
I flashed Momentum-Firmware from unleashed 071e directly.
Now SubGhz has disappared in menu( click center button in desktop).
I tried to reset in MNTM -> interface -> Mainmenu -> Reset menu. after Reboot. SubGhz has appared in menu.
But, after I edited mainmenu in MNTM -> interface -> Mainmenu, subghz has disappared again. In MNTM -> interface -> Mainmenu I saw subghz is in the App List.
No response
No response
No response
In a JavaScript, if you use storage.read/write/copy with /mnt/
(virtual storage) the Flipper will crash with message Flipper crashed but has been rebooted. applications\services\storage\storage_glue.c
. If you attach a debugger it appears the issue is storage_file_ref
is coming back NULL?
void* storage_get_storage_file_data(const File* file, StorageData* storage) {
StorageFile* storage_file_ref = storage_get_file(file, storage);
furi_check(storage_file_ref != NULL);
return storage_file_ref->file_data;
}
Calling storage.write
, storage.read
or storage.copy
with a value of /mnt/demo.txt
crashes.
let usbdisk = require("usbdisk");
let storage = require("storage");
let image = __dirpath + "/bug.img";
print("Checking for Image...");
if (storage.exists(image)) {
print ("Storage Exists. Removing.");
storage.remove(image);
}
print ("Creating Storage...");
usbdisk.createImage(image, 1 * 1024 * 1024);
print ("Copying Payload...")
storage.virtualInit(image);
storage.virtualMount();
storage.write("/mnt/bug.txt", "Hello");
storage.virtualQuit();
js
No response
I think a similar script code was working with dev build from yesterday? I was using storage.read("/mnt/result/output.txt");
to read a file from the mounted image.
On a fresh 32gb SD card with stock flipper zero firmware, latest release (downloaded today), on Windows 11
Install using Qflipper on windows 11, select Zip file downloaded from Github
No response
[APP] qFlipper version 1.3.3 commit bfce851d 2023-11-10T19:40:31
[APP] OS info: Windows 11 Version 22H2 11 10.0.22621 Qt 6.4.2
[RPC] Starting RPC session...
[RPC] Failed to start RPC session: Failed to open serial port: Access is denied.
[RPC] Starting RPC session...
[RPC] RPC session started successfully.
[RPC] (1) System Protobuf Version START
[RPC] (1) System Protobuf Version SUCCESS
[RPC] (2) Property Get START
[RPC] (2) Property Get SUCCESS
[RPC] (3) Storage Info @/ext START
[RPC] (3) Storage Info @/ext SUCCESS
[RPC] (4) Storage Stat @/ext/Manifest START
[RPC] (4) Storage Stat @/ext/Manifest SUCCESS
[RPC] (5) System Get DateTime START
[RPC] (5) System Get DateTime SUCCESS
[RPC] (6) System Set DateTime START
[RPC] (6) System Set DateTime SUCCESS
[RPC] Stopping RPC session...
[RPC] RPC session stopped successfully.
[RPC] Starting RPC session...
[RPC] RPC session started successfully.
[RPC] (1) Gui Start ScreenStream START
[RPC] (1) Gui Start ScreenStream SUCCESS
[RPC] (2) Gui Start VirtualDisplay START
[RPC] (2) Gui Start VirtualDisplay SUCCESS
[DEV] Full Update @Algl4t START
[UTL] Region Provisioning @Algl4t START
[UTL] Region Provisioning @Algl4t SUCCESS
[UTL] Refresh Storage Info @Algl4t START
[RPC] (3) Storage Info @/ext START
[RPC] (3) Storage Info @/ext SUCCESS
[RPC] (4) Storage Stat @/ext/Manifest START
[RPC] (4) Storage Stat @/ext/Manifest SUCCESS
[UTL] Refresh Storage Info @Algl4t SUCCESS
[UTL] Create Path @/ext/update/f7-update-dev-11032024-022fccf0 START
[RPC] (5) Storage Stat @/ext/update START
[RPC] (5) Storage Stat @/ext/update SUCCESS
[RPC] (6) Storage MkDir @/ext/update START
[RPC] (6) Storage MkDir @/ext/update SUCCESS
[RPC] (7) Storage MkDir @/ext/update/f7-update-dev-11032024-022fccf0 START
[RPC] (7) Storage MkDir @/ext/update/f7-update-dev-11032024-022fccf0 SUCCESS
[UTL] Create Path @/ext/update/f7-update-dev-11032024-022fccf0 SUCCESS
[UTL] Upload 6 entries @Algl4t START
[RPC] (8) Storage Write @/ext/update/f7-update-dev-11032024-022fccf0/firmware.dfu START
[RPC] (8) Storage Write @/ext/update/f7-update-dev-11032024-022fccf0/firmware.dfu SUCCESS
[RPC] (9) Storage Write @/ext/update/f7-update-dev-11032024-022fccf0/radio.bin START
[RPC] (9) Storage Write @/ext/update/f7-update-dev-11032024-022fccf0/radio.bin SUCCESS
[RPC] (10) Storage Write @/ext/update/f7-update-dev-11032024-022fccf0/resources.tar START
[RPC] (10) Storage Write @/ext/update/f7-update-dev-11032024-022fccf0/resources.tar SUCCESS
[RPC] (11) Storage Write @/ext/update/f7-update-dev-11032024-022fccf0/splash.bin START
[RPC] (11) Storage Write @/ext/update/f7-update-dev-11032024-022fccf0/splash.bin SUCCESS
[RPC] (12) Storage Write @/ext/update/f7-update-dev-11032024-022fccf0/update.fuf START
[RPC] (12) Storage Write @/ext/update/f7-update-dev-11032024-022fccf0/update.fuf SUCCESS
[RPC] (13) Storage Write @/ext/update/f7-update-dev-11032024-022fccf0/updater.bin START
[RPC] (13) Storage Write @/ext/update/f7-update-dev-11032024-022fccf0/updater.bin SUCCESS
[UTL] Upload 6 entries @Algl4t SUCCESS
[UTL] Start Update @Algl4t START
[RPC] (14) System Update @/ext/update/f7-update-dev-11032024-022fccf0/update.fuf START
[RPC] (14) System Update @/ext/update/f7-update-dev-11032024-022fccf0/update.fuf SUCCESS
[RPC] (15) System Reboot START
[RPC] (15) System Reboot SUCCESS
[RPC] Serial connection was lost.
[RPC] Stopping RPC session...
[RPC] RPC session stopped successfully.
[RPC] Starting RPC session...
[RPC] RPC session started successfully.
[RPC] (1) System Protobuf Version START
[RPC] (1) System Protobuf Version SUCCESS
[RPC] (2) Property Get START
[RPC] (2) Property Get SUCCESS
[RPC] (3) Storage Info @/ext START
[RPC] (3) Storage Info @/ext SUCCESS
[RPC] (4) Storage Stat @/ext/Manifest START
[RPC] (4) Storage Stat @/ext/Manifest SUCCESS
[RPC] (5) System Get DateTime START
[RPC] (5) System Get DateTime SUCCESS
[RPC] (6) System Set DateTime START
[RPC] (6) System Set DateTime SUCCESS
[RPC] Stopping RPC session...
[RPC] RPC session stopped successfully.
[RPC] Starting RPC session...
[RPC] RPC session started successfully.
[UTL] Start Update @Algl4t SUCCESS
[DEV] Full Update @Algl4t SUCCESS
[RPC] (16) Gui Start ScreenStream START
[RPC] (16) Gui Start ScreenStream SUCCESS
[RPC] (17) Storage Info @/ext START
[RPC] (17) Storage Info @/ext SUCCESS
[DEV] Full Update @Algl4t START
[RPC] (18) Gui Start VirtualDisplay START
[UTL] Region Provisioning @Algl4t START
[RPC] (18) Gui Start VirtualDisplay SUCCESS
[RPC] (19) Storage Write @/int/.region_data START
[RPC] (19) Storage Write @/int/.region_data SUCCESS
[UTL] Region Provisioning @Algl4t SUCCESS
[UTL] Refresh Storage Info @Algl4t START
[RPC] (20) Storage Info @/ext START
[RPC] (20) Storage Info @/ext SUCCESS
[RPC] (21) Storage Stat @/ext/Manifest START
[RPC] (21) Storage Stat @/ext/Manifest SUCCESS
[UTL] Refresh Storage Info @Algl4t SUCCESS
[UTL] Create Path @/ext/update/f7-update-mntm-001 START
[RPC] (22) Storage Stat @/ext/update START
[RPC] (22) Storage Stat @/ext/update SUCCESS
[RPC] (23) Storage Stat @/ext/update/f7-update-mntm-001 START
[RPC] (23) Storage Stat @/ext/update/f7-update-mntm-001 SUCCESS
[RPC] (24) Storage MkDir @/ext/update/f7-update-mntm-001 START
[RPC] (24) Storage MkDir @/ext/update/f7-update-mntm-001 SUCCESS
[UTL] Create Path @/ext/update/f7-update-mntm-001 SUCCESS
[UTL] Upload 7 entries @Algl4t START
[RPC] (25) Storage Write @/ext/update/f7-update-mntm-001/firmware.dfu START
[RPC] (25) Storage Write @/ext/update/f7-update-mntm-001/firmware.dfu SUCCESS
[RPC] (26) Storage Write @/ext/update/f7-update-mntm-001/firstboot.bin START
[RPC] (26) Storage Write @/ext/update/f7-update-mntm-001/firstboot.bin SUCCESS
[RPC] (27) Storage Write @/ext/update/f7-update-mntm-001/radio.bin START
[RPC] (27) Storage Write @/ext/update/f7-update-mntm-001/radio.bin SUCCESS
[RPC] (28) Storage Write @/ext/update/f7-update-mntm-001/resources.tar START
[UTL] Upload 7 entries @Algl4t ERROR: Operation timeout (generic)
[DEV] Full Update @Algl4t ERROR: Operation timeout (generic)
[RPC] (28) Storage Write @/ext/update/f7-update-mntm-001/resources.tar ERROR: Operation timeout (generic)
[RPC] (32) Gui Stop VirtualDisplay START
[DEV] Full Update @Algl4t START
[UTL] Region Provisioning @Algl4t START
[RPC] (32) Gui Stop VirtualDisplay ERROR: Operation timeout (generic)
No response
WHen i set the name in BT Settings Flood the app frezze
I try reboot many times, its work fine if is set to ramdom
flipper-z-f7-update-mntm-dev-9b3f7f49
No response
No response
Yes
Can you add that you can switch between keyboard languages that i can use it because i am in germany and i cant realy use it effectifly
No response
In my script: I use storage.virtualInit(image) and .virtualMount(). Write some content to "/mnt/bug.txt". Call storage.virtualQuit. When I call usbdisk.start(image) the app hangs; blocked on a resource since virtualQuit did not free the resource.
I think the end of js_storage_virtual_quit
needs to do something like:
if(storage->virtual) {
storage_file_free(storage->virtual);
storage->virtual = NULL;
}
mjs_return(mjs, MJS_UNDEFINED);
The following script will demonstrate that after a storage.virtualInit
that storage.virtualQuit
does not release resources, so usbdisk.start
will block.
let usbdisk = require("usbdisk");
let storage = require("storage");
let image = __dirpath + "/bug.img";
print("Checking for Image...");
if (storage.exists(image)) {
print ("Storage Exists. Removing.");
storage.remove(image);
}
print ("Creating Storage...");
usbdisk.createImage(image, 8 * 1024 * 1024);
print ("Copying Payload...")
storage.virtualInit(image);
storage.virtualMount();
storage.write("/mnt/demo.txt", "Hello");
storage.virtualQuit();
print("Attaching storage...");
usbdisk.start(image);
// BUG: The `usbdisk.start` never returns.
print("Waiting for storage to detatch...");
while (!usbdisk.wasEjected()) {
delay(1000);
}
print("Stopping storage...");
usbdisk.stop();
print("Done.");
js
No response
I confirmed that adding the storage_file_free
call in js_storage_virtual_quit
makes the JavaScript works as expected.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.