Giter VIP home page Giter VIP logo

minible's Introduction

Welcome to the Mini BLE Firmware Repository!

Mooltipass Mini BLE

Here you will find the source code running on the Mooltipass Mini BLE auxiliary and main microcontrollers.

What is the Mooltipass Project?

The Mooltipass project is a complete ecosystem aimed at providing authentication solutions. It is composed of:

The Mooltipass Devices

Mooltipass Mini BLE

All Mooltipass devices (Mooltipass Standard, Mooltipass Mini, Mooltipass Mini BLE) are based on the same principle: each device contains one (or more) user database(s) AES-256 encrypted with a key stored on a PIN-locked smartcard. This not only allows multiple users to share one device but also one user to use multiple devices, as the user database can be safely exported and the smartcard securely cloned.

The Mini BLE Architecture

Mooltipass Mini BLE

The firmwares in this repository are made for the device architecture shown above.

The Mooltipass Mini BLE is composed of two microcontrollers: an auxiliary one dedicated to USB and Bluetooth communications and a secure microcontroller dedicated to running all security features. You may read about the rationale behind this choice here. The device microcontrollers communicate with each other using a high speed serial link.

Auxiliary MCU Firmware Features

The auxiliary microcontroller mostly provides communication features.

USB Communications

Our USB interface provides three communication channels:

BLE Communications

The Mooltipass Mini BLE uses the ATBTLC1000 to provide Bluetooth Low Energy connectivity. It currently provides two communication channels:

BLE Communications: Help Needed!

It is in our plans to provide two additional communication channels for Bluetooth:

  • One for FIDO2 features
  • One to provide communcation with a mobile app providing autofill services for Android and iOS

Main MCU Firmware Features

Graphical User Interface

Our user interface is the fruit of several years of work. It includes:

User Database

Our database model is documented here. Its main characteristics are:

  • Multiple doubly linked list-based credential and file storage
  • Parent (services) - Child (credentials) structure
  • Credential categories support
  • Credential favorites support
  • Webauthn custom credential type

At the time of writing, the Mini BLE can handle logins & passwords up to 64 unicode characters long.

Manual Credential Typing

Mooltipass devices can simulate key presses in order to type logins & passwords onto the computer they're connected to. As the "byte sent on the wire" to "actual character typed on the computer" conversion is handled by the computer itself, that meant the Mooltipass devices need to handle multiple keyboard layouts.
For the Mooltipass Mini BLE, we are parsing the CLDR to make sure we can type text on any device.

Authentication Features

The Mooltipass team selected BearSSL for cryptographic routines. The remaining code was made from the ground up. The Mooltipass Mini BLE includes the following authentication features:

  • Standard login/password authentication, by key presses or with its own communication channel
  • Webauthn / FIDO2 password-less authentication
  • TOTP second factor authentication

Note Worthy Items

Creating these firmwares from the ground up allowed us to create a smooth user-experience, tailored to privacy-minded indviduals. Here are some things that are worth mentioning:

  • All transfers to peripherals, displays and MCUs are DMA-based
  • A custom NiMH charging algorithm was implemented
  • An accelerometer is used as a source of entropy
  • All source code is doxygen-style documented

Device Emulator

Mooltipass Mini BLE

Device emulators are available for Windows and Ubuntu. Together with Moolticute, you will be able to test our complete ecosystem without a physical device.

Contributing to the Mooltipass Firmware

Mooltipass Mini BLE

The Mooltipass team welcomes contributions from open source enthusiasts! Features requested by Mooltipass users can easily be seen by clicking on this link.

If you have even more spare time to contribute, the Mooltipass team is actively looking for contributors to:

  • add a Bluetooth FIDO2 communication channel

Depending on the task, we could ship you one of our developpement boards (shown above), or you could also develop using our device emulator. Do not forget to review our contributing guidelines!

Adding a New Language to the Mini BLE

The following languages are currently supported:

  • English
  • Catalan
  • German
  • French
  • Italian
  • Croatian
  • Dutch
  • Portuguese
  • Spanish
  • Slovene
  • Finnish

If your language is not listed, get in touch with us to then be able to follow these instructions.

Keeping in Touch

Get in touch with the development team and other Mooltipass enthuasiasts on our Mooltipass IRC channel: #mooltipass on irc.libera.chat

Licenses

Mooltipass Mini BLE

minible's People

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

minible's Issues

Caps Lock detection

Missing feature

Detecting when Caps Lock is enabled.

Justification

If the computer is in caps-lock, the device doesn't detect it and outputs a wrong password.
Then proceeds to detect the wrong password as a new login.

Workarounds

Just checking that Caps Lock is disabled, but half of the time my computer login password is all caps, and this comes up regularly.

Windows 10 Cycles between Paired and Connected

Expected behavior

Once a minible has been paired and connected with Windows 10, disabling and then re-enabling Bluetooth on the device should result in the minible reconnecting.

Actual behavior

Instead of successfully reconnecting, Windows shows the status cycling between "Connected" and "Paired" with a period of between one and two seconds.

Step by step guide to reproduce the problem

  1. Bring up the Windows 10 "Bluetooth & other devices" panel.
  2. Pair and connect the minible to the Windows system in the usual way.
  3. Once Windows shows the device connected, disable Bluetooth using the device's menu.
  4. Wait for Windows to change the status from "Connected" "Paired".
  5. Enable Bluetooth on the minible using the device's menu
  6. Windows will now display the device's status cycling back and forth between "Paired" and "Connected".

Moolticute Version - If Involved

Not involved.

Firmware Version

AUX MCU version: v0.10
Main MCU version: v0.14

Operating System

  • Windows 10

Mooltipass Mini BLE crashes/weired screen

Expected behavior

Mooltipass Mini BLE shouldn't crash/show weired screen content if you stop entering the PIN and wait until the device enters sleep mode.

Actual behavior

If you select the first number of your PIN code and wait until the Mooltipass enters sleep mode it start crashing or the screen is cutted in half.

Step by step guide to reproduce the problem

  1. Enter your smartcard into the Mooltipass
  2. Connect the Mooltipass with your PC
  3. Select a random number for the first PIN but don't press the scroll wheel
  4. wait until the Mooltipass enters sleep mode
  5. Use the scroll wheel to wake up the mooltipass again.
  6. The screen is cutted in half and only shows half of the content
    testb

Moolticute Version - If Involved

v0.42.31-testing

Firmware Version

AUX MCU version: 0.13
Main MCU version: 0.18

Operating System

  • Windows 10 Enterprise 2016 LTSB

Outputs plus-minus [ ± ] instead of pipe [ | ]

I haven't tested this with usernames, but passwords that contain a pipe character | show up correctly in credential management, display correctly on the device, but output as the plus-minus character ± instead. I haven't yet tested what it outputs if the password contains the ± though.

The Aux MCU version is 0.8, the Main MCU version is 0.7

moolticute and the device both report language as English US, and Bluetooth+USB layouts as USA and I'm only using US-based input devices with macos.

Expected behavior

Outputs the password including pipe characters |

Actual behavior

Outputs the password substituting pipe characters | with plus-minus characters ±

Step by step guide to reproduce the problem

  • store a credential with a pipe character included in the password
  • find the credential and output it [in this case over usb; bluetooth untested]

Moolticute Version - If Involved

0.42.8-testing

Operating System

macos 10.14.6

BLE doesn't charge from a wall charger - only PC

8<------------------------ BUG REPORT -----------------------------------------

Expected behaviour

When the BLE is connected to a "dumb" wall charger - in my case, an IKEA desk lamp with a USB port on the bottom - it shows the battery charging animation and, you would expect, charges its battery.

Actual behaviour

The battery does not seem to charge, though the animation does play. Verified by leaving it connected all day, and finding it was still on one bar of charge at the end.

Verified it further by connecting via a USB Type-C power meter, which showed the BLE drawing 0.06A while connected to the wall charger; switching it to being connected via a PC's USB port caused the BLE to draw 0.14A and charge normally.

Step by step guide to reproduce the problem

  1. Run down the BLE battery
  2. Plug into a "dumb" wall charger rather than a PC or other host device.
  3. Go make a cup of tea or something.
  4. Come back to see if the BLE's battery is charged.

Firmware Version

AUX MCU version: 0.11
Main MCU version: 0.16

Operating System

N/A

8<------------------------ END BUG REPORT -------------------------------------

sending username/password with BT under OS X (set to 20ms delay)

Use one of the two templates below and delete the other. All issues not following this template will be directly closed.

8<------------------------ BUG REPORT -----------------------------------------

Expected behavior

Username and password will be entered from Mooltipass BLE at the position of the cursor in the active edit field.

Actual behavior

Username and password are not entered at the position of the cursor in the active edit field.

Step by step guide to reproduce the problem

  • Connect Mooltipass BLE with MacBook Pro with BT.
  • select under MacOS a position, where you want to insert the username.
  • select Login on Mooltipass BLE
  • select an entry type Login, confirm Ok
  • select under MacOS a position, where you want to insert the password
  • confirm Ok

Moolticute Version - If Involved

0.42.9

Operating System

MacBook Pro, Model 2017, MacOS Catalina (10.15.1)
Mention if you are using either:

  • Windows 7/10
  • Debian Based distribution
  • Other Linux distribution
  • MacOS

Other operating systems are not supported.

8<------------------------ END BUG REPORT -------------------------------------

MP-BLE crashes if Selecting PIN while scroll animation plays

Expected behavior

Not freeze when selecting a digit on the PIN screen if selecting while an animation is playing

Actual behavior

Freezes, restarts after 15 seconds.

Step by step guide to reproduce the problem

Go to any screen requiring a PIN (initial unlock, MMM)
Scroll and press in to Select while an animation is playing
Freeze occurs, wait 15 seconds for reset.

Moolticute Version - If Involved

v0.42.23-testing

Operating System

Windows 7
Windows 10
Arch

Mooltipass Extension

1.8.0

ctap.c: uknown error

... when denying user registration prompt

Main->Aux: FIDO2 Message - missing command description: 4
Debug MSG: CborError: 0x27: ../src/fido2/ctap.c: 572: unknown error
Debug MSG: make_credential time: 40802 ms
Debug MSG: DATA [len: 0]
Debug MSG: [000]:
Debug MSG: cbor output structure: 0 bytes. Return 0x27
Debug MSG: CBOR writeback: 40805 ms
Debug MSG:
Debug MSG: length: 8
Debug MSG: adding a new cid
Debug MSG: length: 1
Debug MSG: CTAPHID_CBOR
Debug MSG: cbor input structure: 0 bytes
Debug MSG: cbor req:
Debug MSG: DATA [len: 0]
Debug MSG: [000]:
Debug MSG: CTAP_GET_INFO
Debug MSG: DATA [len: 54]
Debug MSG: [000]: A4 01 81 68 46 49 44 4F 5F 32 5F 30 03 50 6D B0
Debug MSG: [010]: 42 D0 61 AF 40 4C A8 87 E7 2E 09 BA 7E B4 04 A4
Debug MSG: [020]: 62 72 6B F5 62 75 70 F5 62 75 76 F5 64 70 6C 61
Debug MSG: [030]: 74 F4 05 19 04 00
Debug MSG: cbor output structure: 54 bytes. Return 0x00
Debug MSG: CBOR writeback: 59379 ms

Remove the "authenticate yourself" message when entering the "Credential Management Mode"

Missing feature

When entering "Credential Management Mode" the message "authenticate yourself" is displayed during approximately 5 seconds. It could immediately display "Enter Your PIN".

Justification

I'm not sure it's necessary. After all it does not display "authenticate yourself" before asking the PIN when I put the card in.

Workarounds

Wait 5 seconds before entering the PIN

Feature Request: Disable pair options when Bluetooth is off

8<------------------------ FEATURE REQUEST ------------------------------------

Missing feature

When you enter the Bluetooth menu on the MBLE, the default option is "Pair new device." Choosing this, however, does nothing - because, by default, Bluetooth is switched off. You have to scroll across to "Enable Bluetooth," then attempt to pair a new device.

It would be smoother to disable the pair option (and, possibly, unpair) until Bluetooth is enabled. Alternative solutions would be to make "Enable Bluetooth" the default option if it's not already enabled (so you see that it's disabled before being given the option to pair) or to have the pair icon bring up an error with the option to enable Bluetooth.

Justification

From a first-user perspective, choosing "Pair new device" and having nothing happen feels like - though technically isn't - a bug.

Workarounds

Only to make sure you enable Bluetooth before attempting to pair a device!

8<------------------------ END FEATURE REQUEST --------------------------------

Mooltipass freeze for some seconds if credential is not in active category

Expected behavior

If you set the active category to "work" the mooltipass should not freeze for some seconds if you visit a website where the credentials are saved under no category.

Actual behavior

If you set the active category to "work" or "home" the mooltipass freeze if you visit a website where the credential and username is saved under no category.

Step by step guide to reproduce the problem

  1. plug in your smartcard and enter your pin code
  2. set the active category to one of your categories
  3. visit a website where the credential is not saved in the current active category
  4. scroll through the Mooltipass menu and notice that it is stuck at the current menu icon. After 2-3 seconds you're able to scroll again.

Moolticute Version

v0.42.32-testing

DEBUG: (2020-02-25T08:20:04.319) :0 - JSON API recv: {"msg":"ask_password","client_id":83,"data":{"extension_version":"1.0","service":"gitlab.northernroot.net","fallback_service":"northernroot.net","login":"","request_id":82}}
INFO: (2020-02-25T08:20:04.319) :0 - "Get Credential"
DEBUG: (2020-02-25T08:20:04.319) :0 - Platform send command:  "GET_CREDENTIAL (0x0007)"
DEBUG: (2020-02-25T08:20:04.319) :0 - Full packet# 0 :  "[0xb8, 0x00, 0x07, 0x00, 0x34, 0x00, 0x00, 0x00, 0xff, 0xff, 0x67, 0x00, 0x69, 0x00, 0x74, 0x00, 0x6c, 0x00, 0x61, 0x00, 0x62, 0x00, 0x2e, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x72, 0x00, 0x6e, 0x00, 0x72, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x2e, 0x00, 0x6e, 0x00, 0x65, 0x00, 0x74, 0x00, 0x00, 0x00]"
DEBUG: (2020-02-25T08:20:06.619) :0 - Message payload length: 0
DEBUG: (2020-02-25T08:20:06.619) :0 - "Received answer: GET_CREDENTIAL (0x0007)"  Full packet: "04000700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
DEBUG: (2020-02-25T08:20:06.619) :0 - Platform send command:  "GET_CREDENTIAL (0x0007)"
DEBUG: (2020-02-25T08:20:06.620) :0 - Full packet# 0 :  "[0x2a, 0x00, 0x07, 0x00, 0x26, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6e, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x72, 0x00, 0x6e, 0x00, 0x72, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x2e, 0x00, 0x6e, 0x00, 0x65, 0x00, 0x74, 0x00, 0x00, 0x00]"
DEBUG: (2020-02-25T08:20:09.073) :0 - Message payload length: 0
DEBUG: (2020-02-25T08:20:09.073) :0 - "Received answer: GET_CREDENTIAL (0x0007)"  Full packet: "04000700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
WARNING: (2020-02-25T08:20:09.073) :0 - Credential get for fallback service failed

Firmware Version

AUX MCU version: 0.13
Main MCU version: 0.18

Operating System

  • Windows 10 2016 LTSB

log of feature requests

  • "online file editing mode" that a user could use to write some secure notes. On the device, only require one prompt to access the file, automatic save when note is closed.

Bluetooth freezing after some time.

Expected behavior

I expect bluetooth to work (not really :p)

Actual behavior

When I connect bluetooth to the computer, sometimes, after some time it disconnects. When I try to disable bluetooth in the device, it freezes.

Step by step guide to reproduce the problem

Connect to bluetooth using the "add bluetooth or other device" assistant on windows.
It appears as "Connected" in the bluetooth device list. Moolticute detects it.
After some time, it appears just as "Paired". Moolticute ceases to detect it.
Trying to add it again does not work
If, in the bluetooth menu of the device, I click on the "Disable Bluetooth" button, Mooltipass freezes.

Moolticute Version - If Involved

v0.42.5-testing

Operating System

  • Windows 10

Other operating systems are not supported.

Mooltipass Extension

Accept/deny credential selection and animation

Expected behavior

If you have to select between deny and accept a credential you can scroll down and up. It should stay at the selected deny field if you constantly scroll down. If you scroll up the 🡹 arrow should flash. If you scroll down the 🡻 arrow should flash.

Actual behavior

If you have to select between deny and accept a credential you can scroll down and up, If you keep scrolling down it switches between accept and deny. Even the animation is the wrong way around. If I scroll up the arrow 🡻 start flashing.

Step by step guide to reproduce the problem

  1. enter your smartcard and type in your pin(Animation is fine)
  2. go to the Login menu and press the scroll wheel.
  3. select one website and press the scroll wheel.
  4. if the prompt ask if you want to login with the account scroll down.
  5. the upper arrow starts flashing but you scroll down

Firmware Version

AUX MCU version: 0.13
Main MCU version: 0.18

Operating System

  • Windows 10 Enterprise 2016 LTSB

Battery indicator shows wrong value

Expected behavior

If I connect my Mooltipass Mini BLE with USB it should show the same Battery value like before when I disconnect it again(5-10 seconds).

Actual behavior

If I reboot my Mooltipass it shows three Battery bars. The Mooltipass is not connected with Bluetooth or USB. After I plug the USB cable into my Mooltipass it starts charging. When I disconnect my Mooltipass again it only shows one Battery bar.

Step by step guide to reproduce the problem

  1. Use your Mooltipass a whole day only with USB.
  2. Disconnect the Mooltipass after 8 hours and leave it for 15 hours inside your backpack.
  3. Insert your smartcard and look at the Battery bars. It should have 4 to 3 bars.
  4. Connect your Mooltipass with USB to the PC(USB-Ports on the back side of the PC).
  5. The Mooltipass start charging.
  6. Disconnect the Mooltipass after 5-10 seconds.
  7. The Mooltipass now shows only 1 Battery bar for me. If I leave it for multiple minutes it shows more and more Battery bars until it is charged. It is fully charged after about 5 minutes.

Moolticute Version - If Involved

v0.42.26-testing

Firmware Version

AUX MCU version: 0.11
Main MCU version: 0.16

Operating System

Windows 10 Enterprise 2016 LTSB

Charging animation doesn't stop when full

Expected behavior

Once Mooltipass BLE battery is full, the charging animation should show a full battery so the user knows that battery is fully charged.

Actual behavior

The battery animation shows charging as long as the device is connected.

Step by step guide to reproduce the problem

Connect your Mooltipass BLE to a computer.

Moolticute Version

N/A

Operating System

N/A

Mooltipass Device

  • The Mooltipass Mini BLE

Lock the device when disconnects from computer.

Missing feature

Feature to automatically lock the BLE device whenever it disconnects from a computer or host.
Maybe even an optional timeout.

Justification

It would be easier for the user, by not having to manually lock the device every time its unplugged or disconnected.

Sleep should be interrupted by scroll wheel while animation plays

Expected behavior

"Going to Sleep" animation should be interrupted by input from scroll wheel, not allowing the device to sleep.

Actual behavior

The device ignores any input from the scroll wheel while animation plays. Only after the animation ends, input wakes it up.

Step by step guide to reproduce the problem

Use the Mooltipass to wake its screen.
Hold it, don't touch the scroll wheel until the "Going to sleep" animation comes up.
While animation plays, use the scroll wheel (turn it / click it).

Moolticute Version

v0.42.20-testing

Operating System

  • MacOS

Mooltipass Device

  • The Mooltipass Mini BLE

Paired device does not reconnect

Expected behavior

If the device has been paired to a computer, it should automatically reconnect.

Actual behavior

The device does nor reconnect especially when it has been disconnected for a long time. This does not to happens when the device is reconnected only a few minutes after being disconnected

Step by step guide to reproduce the problem

  1. Pair the device
  2. Disconnect the device by disabling Bluetooth on the device or computer
  3. Later, enable the Bluetooth again
  4. The device is not connected it only show the bluetooth is enabled. On the computer it is shown as paired, but not connected

Moolticute Version

  • 0.42.14-testing

Operating System

  • Windows 10

Remaining actions on FIDO2 implementation on main MCU

  1. if it makes sense, not use a hmac based prng anymore... create our own one to pass to the ecc functions
  • hopefully it should be as simple as tweaking hmac_drbg.c :)
  1. check for buffer overflows for ecc related functions:
  • for example br_ec_keygen returns the size written into the private key buffer, we should check it with the size of our buffer and while() in case of errors
  1. use logic_encryption_delete_context function to do house cleaning

  2. removed unused functions:

void logic_encryption_sha256_hmac_init(uint8_t const *key, uint32_t klen);
void logic_encryption_sha256_hmac_update(uint8_t const * data, size_t len);
void logic_encryption_sha256_hmac_final(uint8_t *hmac_out);

void logic_encryption_sha512_init(void);
void logic_encryption_sha512_update(uint8_t const * data, size_t len);
void logic_encryption_sha512_final(uint8_t *hash);

  1. answer remaining comments of FIDO2 merge, especially regarding logic_encryption_ecc256_derive_public_key()

Incorrect output for USA (MacOS) Keyboard output

when outputting over usb, text encoding is incorrect for the USA (MacOS) layout on a mac. I've validated that the keyboard layout for usb reads USA (MacOS) from both Moolticute and the device's settings menu.

Expected behavior

username abcdefg1234567890 and password 1!aAqQpP4$'" would output as

abcdefg1234567890	1!aAqQpP4$'"

Actual behavior

username abcdefg1234567890 and password 1!aAqQpP4$'" outputs as

]^_` abc-./012345,	-8˝]=mMlL0 #

Step by step guide to reproduce the problem

  • Set keyboard layout to USA (MacOS)
  • Add any credential
  • Send credential out over USB

Moolticute Version

0.42.20

Operating System

macos 10.14

Firmware Versions

Aux: 0.10
Main: 0.10

Add an "All categories" item

Missing feature

Having the ability to put credentials in categories and show credentials of a specific category is nice. It would be even better to have a category "All categories" that would display all credential without any filter

Justification

Sometime it is quite annoying having to change categories every time.

Workarounds

Need to select the correct category

After canceling enter in Credential Management Mode, Moolticute is stuck on "Unlock Your Mooltipass"

Expected behavior

When I try to enter in Credential Management Mode and finally cancel,
Moolticute should come back on the Credential Management Mode screen

Actual behavior

Stay stuck on "Unlock Your Mooltipass Device" screen, even if the Mooltipass is unlocked

Step by step guide to reproduce the problem

  1. Enter the Credential Management Mode in Moolticute
  2. Confirm the "manage database"
  3. Cancel (long press on the wheel) when code Pin is asked
  4. Moolticute stay on the screen "Unlock Your Mooltipass Device"

Notes :

  • I noticed the same behaviour when no PIN is entered and the Mooltipass BLE go to sleep mode
  • This does not occur with Mooltipass Mini

Moolticute Version

v0.42.6-testing

Operating System

  • Windows 10

Black screen on disconnect usb -> battery

Expected behavior

If you disconnect your Mooltipass during configuration inside category, bluetooth, login menu the display should not turn black. It should stay inside the selected menu until you select something.

Actual behavior

If you disconnect your Mooltipass during configuration inside category, bluetooth, login menu the display turn black but your still able to select a option without knowing it(black screen). If you do it the other way it works like it should(running with battery and connecting it to usb).

Step by step guide to reproduce the problem

  1. connect your Mooltipass with a USB-C cable
  2. enter your smartcard and the pin code
  3. select the "Set Active Category" menu and make sure your current selected category is "All Categories"
  4. disconnect the mooltipass
  5. you will see a black screen which won't wake up if you scroll. Scroll a bit and press the scroll button.
  6. After that you see the main menu again
  7. enter the "Set Active Category" menu again.
  8. now a different category is your current category now.

Firmware Version

AUX MCU version: 0.13
Main MCU version: 0.18

Operating System

  • Windows 10 Enterprise 2016 LTSB

Minor usability issue

Expected behavior

The icon for the currently selected menu item in the Bluetooth menu should be more or less centered over its labeling text.

Actual behavior

Unlike the other menus, the icon for the currently selected menu item is shifted to the right in the Bluetooth menu, making it less than clear which menu item is the current one.

Step by step guide to reproduce the problem

  1. Unlock the minible by inserting the card and entering the PIN.
  2. Navigate to the "Enable Advanced Menu" menu item in the Operations menu.
  3. Observe that the icon is centered over the text under it.
  4. Navigate to "Pair New Device" item in the Bluetooth menu.
  5. Observe that the currently selected icon (the B+ item) is well to the right of the text under it.

Moolticute Version - If Involved

N/A

Operating System

  • Windows 7

Other operating systems are not supported.

Mooltipass Extension

N/A

Lock device on PC shutdown

Missing feature

Lock the Mooltipass Mini BLE during PC shutdown

Justification

If I'm in a rush it happens that I forget to pull out the smartcard. But I always shutdown my PC.

Workarounds

Don't forget to pull out the smartcard.

Stack tracking function call

I apologize in advance @0x0ptr ....

It just occurred to me that it doesn't make sense adding the call to main_init_stack_tracking in both bootloaders, as we can't update the bootloaders of the currently deployed units (and the ones currently being produced...).

If I'm not mistaken, we should therefore:

  • remove all stack tracking code from bootloaders
  • move the main_init_stack_tracking call in the main/aux solutions from jump_to_application_function to the first line after the main()

Due to the time the call to main_init_stack_tracking may take it may be worth moving out platform_io_enable_switch() call from main_platform_init() to before the call to main_init_stack_tracking on the main solution

is it an issue if we corrupt the stack if we're never returning to jump_to_application_function() ?

Slow Animations for PIN Input/Menu Navigation

8<------------------------ FEATURE REQUEST ------------------------------------

Missing feature

Animations on the new MBLE are neat, but slow: entering a PIN takes considerably longer than on the Mooltipass Mini, thanks to the smooth scrolling between digits and the four entries - where the Mooltipass Mini just jumps between each instantly.

Justification

Slow is bad; fast is good.

Workarounds

I have no workarounds, but being able to set the speed of the animation would be nice; alternatively, a simple "animations off" toggle would work. (I'm aware of the boot/prompt animation toggles, but they don't affect the PIN input.)

8<------------------------ END FEATURE REQUEST --------------------------------

insert username with keyboard setting German (Mac OS)

Use one of the two templates below and delete the other. All issues not following this template will be directly closed.

8<------------------------ BUG REPORT -----------------------------------------

Expected behavior

"[email protected]" will be entered

Actual behavior

"ttt+uuu<´ki]ej+_ki" is entered

Step by step guide to reproduce the problem

  • select tab Device Settings
  • select "USB Keyboard Layout" German(MacOS)
  • press "Save to device"
  • enter field on MacBook Pro, where you want to insert the usernam (login)
  • select Login on Mooltipass BLE
  • confirm

Moolticute Version - If Involved

Operating System

Mention if you are using either:

  • Windows 7/10
  • Debian Based distribution
  • Other Linux distribution
  • MacOS

Other operating systems are not supported.

Mooltipass Extension

  • If you're creating an issue to report a website incompatibility, please use the "Report incompatibilities with this website" item in the extension menu.
  • If you're creating an issue to report a problem with our extension, please create another issue here:
    https://github.com/mooltipass/extension/issues

8<------------------------ END BUG REPORT -------------------------------------

connecting to bluetooth under OS X

Use one of the two templates below and delete the other. All issues not following this template will be directly closed.

8<------------------------ BUG REPORT -----------------------------------------
Under Catalina (OS X) bluetooth pairing with a known device.
Activate bluetooth under OS X, Catalina; activate bluetooth on Mooltipass BLE.

Expected behavior

See a stable connection between Mooltipass and MacBook Pro.

Actual behavior

Connection is instable. Only after removing the device in OS X and adding it again the connection is stable.

Step by step guide to reproduce the problem

  • activate bluetooth under OS X
  • activate bluetooth on Mooltipass
  • remove the device under OS X
  • add the device under OS X again

Moolticute Version - If Involved

0.42.9

Operating System

MacBook Pro, Model 2017, MacOS Catalina latest stable (10.15.1)
8<------------------------ END BUG REPORT -------------------------------------

Rotary encoder skips steps when rotating fast

Expected behavior

The encoder should follow the rotation precisely even at higher rotation speeds.

Actual behavior

Skips steps and even misses the direction when the encoder rotates too fast.

Step by step guide to reproduce the problem

Just rotate the encoder fast enough on any menu screen or pin input.

(Might be problem with the input encoder software debouncing algorithm)

Login Prompt Settings should display current active value

Expected behavior

Settings like "Credential Display Prompt?", "Prompt When Login In?", etc. should display current active value and not preselect the "Enabled" state.

Actual behavior

The mentioned options always show the state "Enabled", even if the option is actually disabled

Step by step guide to reproduce the problem

  1. Enter in one of the settings
  2. Disable the setting
  3. Enter the same setting again
  4. "Enabled" is selected

Regards,

Julien

Knock detection for multiple website accounts

Missing feature

Knock detection on websites with multiple accounts

Justification

There is no knock detection on website where I have multiple accounts. I have to use the scroll wheel to accept the credentials. The feature should include that you are able to switch between the accounts with a knock and you can accept the credentials for the selected account with fast tapping for 2-3 seconds.

Workarounds

Use the scroll wheel to select the right account.

Mooltipass Mini BLE unresponsive after BLE usage

Expected behavior

I connected my Mooltipass BLE mini with Bluetooth and used it for 10-20 minutes. After that I pulled out the card and left the device on my table for 2-3 hours. The Mooltipass BLE mini should wake up when I insert my smartcard, press the scroll wheel or if I use the USB-C kabel.

Actual behavior

The Mooltipass BLE mini wasn't responding anymore. Only after pressing the scroll wheel for a long time I saw the boot animation. After it was responsive again I saw that the battery was fully charged

Step by step guide to reproduce the problem

I couldn't reproduce the problem yet. But these steps might caused the problem.

  • charge the mooltipass to 100%
  • unplug the mooltipass and connect it with a other computer(Bluetooth)
  • Pair the Mooltipass with your PC(Bluetooth)
  • use it for a while
  • shutdown your PC
  • unplug the smartcard and leave the mooltipass on the table for 2-3 hours
  • try to wake it up

Moolticute Version - If Involved

v0.42.14-testing

Operating System

Windows 10 18362

Mooltipass firmware version

Aux MCU 0.9
Main MCU 0.9

insert username with Germany keyboard (non MAC)

8<------------------------ BUG REPORT -----------------------------------------

Expected behavior

"[email protected]" will be entered

Actual behavior

"xxx.yyy«domain.com" is entered

Step by step guide to reproduce the problem

  • select tab Device Settings
  • select "USB Keyboard Layout" Germany
  • press "Save to device"
  • enter field on MacBook Pro, where you want to insert the usernam (login)
  • select Login on Mooltipass BLE
  • confirm

Moolticute Version - If Involved

Operating System

MacBook Pro, Model 2017, MacOS Catalina (10.15.1)
Mention if you are using either:

  • Windows 7/10
  • Debian Based distribution
  • Other Linux distribution
  • MacOS

Other operating systems are not supported.

Mooltipass Extension

  • If you're creating an issue to report a website incompatibility, please use the "Report incompatibilities with this website" item in the extension menu.
  • If you're creating an issue to report a problem with our extension, please create another issue here:
    https://github.com/mooltipass/extension/issues

8<------------------------ END BUG REPORT -------------------------------------

Mooltipass Mini BLE crashes during credentials recall

Expected behavior

Mooltipass Mini BLE shouldn't crash after it wants that I confirm the credentials for a specific website(gitlab.northernroot.net).

Actual behavior

The Mooltipass Mini BLE crashes after visiting a specific website(gitlab.northernroot.net).

Step by step guide to reproduce the problem

First I connected the Mooltipass with USB. After that I changed the Keyboard Layout with Moolticute to Germany and saved the settings(no card inserted). Then I inserted my key card into the Mooltipass and confirmed the pin. After the pin was accepted I went to the Bluetooth settings menu. I checked if bluetooth was enabled or not. Bluetooth wasn't enabled. I visited my cloud and confirmed the credentials. The Mooltipass inserted the credentials and I was logged in. After that I visited my gitlab website. The Mooltipass wanted that I confirm the credentials again but it allready crashed at this time.

I tried a forced shutdown but it didn't helped.
https://www.youtube.com/watch?v=g-_SaJcDPT8

After I stopped recording I pulled out the USB cable again and plugged it back in. The Mooltipass displayed the message: No Aux MCU
Windows notified me that the connected device wasn't reconised. I pressed the scroll wheel again for 15 seconds and the message disappeared. After that the Mooltipass started again.

19-12-09 15-30-41 3668
19-12-09 15-31-24 3670

Moolticute Version

v0.42.23-testing

Mooltipass firmware

Aux MCU version: 0.10
Main MCU version: 0.11 (customized for: Card Failing! message)

Operating System

Windows 10 Pro 18362

Moolticute Logfile

mooltipass crash.txt

sending username/password with both connections under OS X

Use one of the two templates below and delete the other. All issues not following this template will be directly closed.

8<------------------------ BUG REPORT -----------------------------------------

Expected behavior

Insert username, password at the desired position.

Actual behavior

nothing inserted at the desired position.

Step by step guide to reproduce the problem

  • Connect Mooltipass BLE and MacBook Pro with a USB cable
  • Connect Mooltipass BLE and MacBook Pro with bluetooth

Moolticute Version - If Involved

0.42.9

Operating System

MacBook Pro Model 2017, MacOS Catalina (10.15.1)
Mention if you are using either:

  • Windows 7/10
  • Debian Based distribution
  • Other Linux distribution
  • MacOS

Other operating systems are not supported.

Mooltipass Extension

  • If you're creating an issue to report a website incompatibility, please use the "Report incompatibilities with this website" item in the extension menu.
  • If you're creating an issue to report a problem with our extension, please create another issue here:
    https://github.com/mooltipass/extension/issues

8<------------------------ END BUG REPORT -------------------------------------

"Please remove the card" message when connecting device to computer.

Expected behavior

I expect the device no to randomly ask me to please remove the card.

Actual behavior

When I connect the device to the computer, sometimes asks me to remove the card. If I forget to input the pin, eventually asks me to remove the card.

Step by step guide to reproduce the problem

Turn Off mooltipass.
Turn On mooltipass.
Connect to computer. (Sometimes, here it asks to remove the card)
Do not input pin. Wait some minutes.
There you go. "Please remove the card"

Moolticute Version - If Involved

v0.42.5-testing

Operating System

  • Windows 10

Mooltipass Extension

No text output over Bluetooth on mac

When the mooltipass is connected via bluetooth [with and without the USB cable also connected], it doesn't output any text. After sending the password, the mooltipass's screen does "pause" like normal as if it's busy sending the data, but nothing gets typed.

Expected behavior

Credentials are outputted on screen

Actual behavior

No output appears

Step by step guide to reproduce the problem

  • pair mooltipass via bluetooth
  • attempt to send credentials

Moolticute Version - If Involved

0.42.20

Operating System

macos 10.14

Firmware Versions

Aux: 0.10
Main: 0.10

Invalid credential stored when added from MMM and prompt not accepted

Expected behavior

The given credential is discarded.

Actual behavior

The credential is saved with invalid password.
kép

Step by step guide to reproduce the problem

  1. Enable MMM Store Confirmation prompt on the device
  2. Add a new Credential from MMM
  3. Click on Save all changes button
  4. When update prompt is displayed on device discard it or wait for the timeout
  5. Check the saved credential

Moolticute Version

v0.42.27-testing

Operating System

  • Windows 10

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.