Giter VIP home page Giter VIP logo

next-flip / momentum-firmware Goto Github PK

View Code? Open in Web Editor NEW
2.4K 47.0 81.0 580.23 MB

🐬 Feature-rich, stable and customizable Flipper firmware

Home Page: https://momentum-fw.dev

License: GNU General Public License v3.0

Ruby 0.01% Python 1.18% C++ 0.14% C 98.57% JavaScript 0.03% Shell 0.03% Batchfile 0.01% PowerShell 0.01% POV-Ray SDL 0.01% Assembly 0.03%
custom custom-firmware firmware flipper flipperzero momentum flipper-zero flipper-zero-firmware

momentum-firmware's People

Contributors

amec0e avatar aprosvetova avatar assasinfil avatar astrrra avatar claracrazy avatar darmiel avatar derskythe avatar drzlo13 avatar eng1n33r avatar g3gg0 avatar gid9798 avatar glitchcore avatar gmman avatar gornekich avatar gsurkov avatar hedger avatar itsyourbedtime avatar jbohack avatar leptopt1los avatar nminaylov avatar qistoph avatar rebornedbrain avatar roguemaster avatar sil333033 avatar skorpionm avatar skotopes avatar willy-jl avatar xmasterx avatar yocvito avatar zhovner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

momentum-firmware's Issues

NRF24 not working

Describe the bug.

NRF24 is not working the only thing that helpt was downgreading

Reproduction

go to the nrf24 app

Target

No response

Logs

No response

Anything else?

No response

SubGhz: Add autosave for new frequencies

Describe the enhancement you're suggesting.

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.

Anything else?

Momentum really rocks 😁

SubGhz: ignore frequencies temporarily /permanently

Describe the enhancement you're suggesting.

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.

Anything else?

As I said before, love this fw 😁

Asset_packs Store a large file font to prompt insufficient memory

Describe the enhancement you're suggesting.

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

Anything else?

No response

Evil Portal

Describe the enhancement you're suggesting.

Could you make Evil Portal work?

Anything else?

LOVE THE FIRMWARE!

Stuck on lockscreen after down-grading to stock firmware and then re-updating to momentum. Cannot enter screen with prompt to enter pin.

Describe the bug.

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.

Reproduction

  1. Have a pin set in momentum
  2. Go back to stock firmware
  3. Go back to momentum
  4. Attempt to use the flipper

Target

No response

Logs

No response

Anything else?

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

Crash when reading a ISO15693 NFC dump that used to work in older versions.

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

Reproduction

Switch on
Load my .nfc file from the memory card
(system crash)

Anything else?

Also saving correctly decoded ISO15693 files leads to a crash, yet different. Will document in a different ticket

Opening subghz read settings causes unresponsiveness

Describe the bug.

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.

Reproduction

Turn on flipper, open subghz through any method, go to read, then config, then wait a couple seconds.

Target

No response

Logs

No response

Anything else?

No response

Adding native Python support

Description of the feature you're suggesting.

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.

Anything else?

No response

created Mass Storage not appearing on Slackware 15.0 Linux

Describe the bug.

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.

Reproduction

  1. Open Mass Storage
  2. Select Disk Image
  3. scroll to test.img
  4. hit OK button
  5. screen shows USB Mass Storage (test)
  6. unplug and re-plug USB cable

Target

x86_64 Intel with Slackware 15.0

Logs

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

Anything else?

not sure why it worked once yesterday :)

git clone won't work

Describe the bug.

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 ...

Reproduction

git clone --recursive --jobs 8 https://github.com/Next-Flip/Momentum-Firmware.git

Target

No response

Logs

No response

Anything else?

No response

Comparison to XFW

Description of the feature you're suggesting.

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

Anything else?

No response

[MAYHEM] Evil Portal does not function as intended in [MAYHEM] Marauder app

Describe the bug.

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
IMG_5428
IMG_5429
IMG_5430
IMG_5432
IMG_5433
IMG_5431
IMG_5434
IMG_5428
IMG_5429
IMG_5430
IMG_5432
IMG_5433
IMG_5431
IMG_5434

Reproduction

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
IMG_5428
IMG_5429
IMG_5430
IMG_5432
IMG_5433
IMG_5431
IMG_5434

Target

No response

Logs

No response

Anything else?

No response

Flipper app

Describe the bug.

This MAY be the wrong location, but I've recently noticed the flipper zero app store is not compatible with this version of momentum.

Screenshot_20240423_080108_Flipper
Screenshot_20240423_080117_Flipper

Reproduction

Connect flipper to flipper zero app and go to hub to try and install apps

Target

No response

Logs

No response

Anything else?

Momentum ROCKS!

stuck

Describe the bug.

installing firmware and stuck on updating resources

Reproduction

Target

No response

Logs

No response

Anything else?

No response

BT Spam Apple Vision Pro selection or "Advanced BT Profile selctor"

Description of the feature you're suggesting.

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.

Anything else?

Love the work so far!

Tamagotchi app crashes flipper

Describe the bug.

Opening the tamagotchi app makes the screen go blank and a beeping sound that doesn't go away until rebooting the flipper

Reproduction

Opening tamagotchi app

Target

No response

Logs

No response

Anything else?

No response

JS: Timer Module

Description of the feature you're suggesting.

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.

Anything else?

No response

FAQ:infrared functions didn't work when flipper pluging a sub-ghz module

Describe the bug.

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.

Reproduction

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

Target

No response

Logs

No response

Anything else?

No response

Addition of Numpad Keybindings in js_badusb.c

Description of the feature you're suggesting.

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.

Anything else?

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.

@oldip

JS: Random function in Math library not working right.

Describe the bug.

Generating random numbers within a defined range is not working. Numbers are generated outside of the range sometimes.

Reproduction

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);
}

Target

No response

Logs

No response

Anything else?

No response

flipper zero pocsag firmware corrupt

Describe the bug.

Hello when i use the pocsag pager with the hamradio network all i get is corrupted data. See screenshot. I'm not sure what to try

Reproduction

Try to receive a message
Screenshot_20240404-174849_Flipper

Target

No response

Logs

No response

Anything else?

No response

The light does not turn off.

Describe the bug.

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.

Reproduction

.

Target

.

Logs

.

Anything else?

.

js:usbdisk wasEjected returns always true (macOS mount)

Describe the bug.

Using usbdisk.wasEjected() in javascript returns always true when mounted in macOS. Mass Storage app works correct.

Reproduction

  1. Use Javascript code
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);
}
  1. Run Code while Flipper is attached to macOS
  2. The Image is mounted correct
  3. The while loop always prints true even when the volume is mounted and unmounted

Target

No response

Logs

No response

Anything else?

I'm running the latest dev build

It is not possible to read the Desfire part of a badge equipped with a 125 kHz and 13.56 MHz chip.

Describe the bug.

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?

Reproduction

  1. Having a badge with a MIFARE Desfire chip and a 125 kHz chip.
  2. Using the Flipper's NFC application for reading.
  3. Pressing "Read".
  4. The application remains stuck on "Don't Move".

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".

Target

NFC and RFID

Logs

No response

Anything else?

No response

App updater not working

Describe the bug.

Whenever an app already installed gets and update, it allows to press the update button, but does not install it.

Reproduction

  1. Open official Flipper Zero app in Android, latest release (Samsung S23 Ultra)[not sure if same happens in IOS].
  2. Click on Hub, and a green notification shows Updates are available.
  3. Click on Installed.
  4. Either click update all or update individually the available apps
  5. Progress bar reaches 100%
  6. App state returs to update button to "update available" and update is not installed

Target

Update apps already installed

Logs

No response

Anything else?

This is tested specifically with Video Game Module Tool

Tools > Authenticator causes reboot

Describe the bug.

mntm-001 crashes/reboots every time I try to open the Authenticator app

Reproduction

  1. Switch on
  2. Go to Apps
  3. Go to Tools
  4. Open Authenticator app

Target

No response

Logs

No response

Anything else?

No response

Perceptually-Uniform RGB Backlight Hues / Animation

Describe the enhancement you're suggesting.

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.

Anything else?

No response

Only showing default level 1 animations

Describe the bug.

With the animation pack set to default and unlock animations set to off. It only shows the level 1 default animations.

Reproduction

  1. Turn on
  2. Idk its not really something that gets reproduced, just a passive thing

Target

No response

Logs

No response

Anything else?

No response

App udate info

Describe the enhancement you're suggesting.

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

Anything else?

No response

Bluetooth doesnt work.

Describe the bug.

I installed firmware from web. Even bluetooth is on, none of my device see it

Reproduction

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

Target

No response

Logs

No response

Anything else?

No response

Bluetooth not working

Describe the bug.

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.

Reproduction

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.

Target

No response

Logs

No response

Anything else?

No response

SubGHz: Expansion/VGM support

Description of the feature you're suggesting.

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:

  • Merge the init+start and deinit+stop functions, and in start check for expansion is connected.
  • On app start, it will try to start if baud rate is set, will work only if no expansion is connected.
  • When baud rate changed for GPS in settings, change them and store also start GPS when baud rate was 0/off before only when no expansion is connected.
  • Delete GPS instance only when it got initialized. subghz->gps
  • everywhere else in the app, it might check for baud rate being set in order to display satellite info. Instead, check for GPS being initialized

Anything else?

No response

YardStick One emulation app

Description of the feature you're suggesting.

  • An application for flipper that would allow the usage of rfcat, making a "bridge" between the USB/Bluetooth communication to the CC1101

Anything else?

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.

JS: Add Math Library

Describe the enhancement you're suggesting.

Add Math library to the js app.

Anything else?

No response

Universal remotes bug

The universal remotes take long to load, i did not encounter this in any other firmwares. Is this normal?

qFlipper Error when installing

Describe the bug.

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.

Reproduction

Screenshot 2024-03-22 at 6 15 18 PM

Target

No response

Logs

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."

Anything else?

No response

Native JavaScript

Describe the enhancement you're suggesting.

Could you add more native javascript features such as setTimeout, setInterval, Promise, etc?

Anything else?

All variables are of static type and I cant use == instead I'm forced to do ===

BLE Spam crashed Flipper

Describe the bug.

Running BLE Spam crashed Flipper.
After reboot message is targets/f7/ble_glue/extra_beacon.c

Reproduction

  1. start BLE Spam
  2. Select any Attack
  3. Start Attack

Target

No response

Logs

No response

Anything else?

No response

SubGhz lost in mainmenu

Describe the bug.

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.
Screenshot-20240311-112212
Screenshot-20240311-112223

Reproduction

  1. reset in MNTM -> interface -> Mainmenu -> Reset menu
  2. reboot
  3. edit MNTM -> interface -> Mainmenu app list
  4. SubGhz disappared

Target

No response

Logs

No response

Anything else?

No response

JS: storage APIs not able to read/write from "/mnt/" path

Describe the bug.

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;
}

Reproduction

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();

Target

js

Logs

No response

Anything else?

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.

Error on firmware install: resources.tar operation timeout

Describe the bug.

image

On a fresh 32gb SD card with stock flipper zero firmware, latest release (downloaded today), on Windows 11

Reproduction

Install using Qflipper on windows 11, select Zip file downloaded from Github

Target

No response

Logs

[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)

Anything else?

No response

JS: BadUSB keyboard layout support

Description of the feature you're suggesting.

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

Anything else?

No response

JS: storage.virtualQuit() does not free the virtual reference

Describe the bug.

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);

Reproduction

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.");

Target

js

Logs

No response

Anything else?

I confirmed that adding the storage_file_free call in js_storage_virtual_quit makes the JavaScript works as expected.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.