Wednesday 21 October 2015

Firmware 0.98

New version of InputStick firmware (v0.98) is now available. You can flash new firmware via Bluetooth as soon as your InputStickUtility gets updated.

List of changes:

  • USB SetIdle request,
  • restore defaults options,
  • bug fixes,
  • mixed reports, duplicated packets.

How to update:

You will be notified about available firmware update after connecting to InputStick. Clicking on "Yes" will take you directly to firmware upgrade screen. You can also do it manually: 
InputStickUtility > Select device > (More) > Firmware upgrade.
Please read carefully and follow instructions! If update fails or gets stuck, go back and try again.

If your device is NOT password protected, firmware update can be started ONLY during first 30 seconds after plugging it into USB port.

In such case, if you are already on firmware upgrade screen:
  • remove InputStick from USB port,
  • plug it again,
  • wait approximately 5 seconds,
  • press "Flash" button.

USB SetIdle request:

When USB host issues SetIdle request, USB_SUCCESS is returned. This change makes InputStick compatible with latest OS X 10.11 (El Captain).

Restore defaults options:

If you change and forget Bluetooth pairing PIN (BT2.1 version) or set password protection and forget the password, it is possible to restore default settings. Follow this procedure:

How to restore InpuStick to default settings:
  • plug InputStick into USB port. Important! Use Windows PC (*),
  • wait until it is detected by USB host (approx 5 seconds),
  • press CapsLock key 20 times within next 20 seconds (use physical keyboard),
  • wait 10 seconds,
  • remove InputStick from USB port,
  • PIN is now set to "1234" (BT2.1 version) or disabled (BT4.0 version), password protection is removed, all settings are restored to default values.
(*) OS X and Linux, keeps state of keyboard LEDs separate for each keyboard. InputStick will not be able to detect if CapsLock key was pressed using other keyboard.

Restoring defaults requires physical access to InputStick device and USB port. It is not possible to remotely remove password protection! If password protection is removed without your knowledge, you will be notified about this fact by InputStickUtility app during next connection attempt.

With previous firmware version (0.97), this method allowed to restore pairing PIN ONLY. Removing password protection required to go through more complex procedure (requires using InputStickUtility application and takes approximately 10 minutes).
See: InputStickUtility > Select device > Configuration > Connect > Restore defaults.
It is possible to keep things the old way, by changing restore options:
InputStickUtility > Select device > Configuration > Connect > Password protection > Restore options.

Bug fixes:

  • packets with CRC32 checksum declared as 0x00000000 are no longer generating error notifications (CRC32 check is now properly skipped),
  • no more duplicated error notifications,
  • solved potential problems that could occur if uptime exceeds approx. 50 days.

Mixed reports, duplicated packets:

It is now possible to send multiple reports of different kinds within a single packet. It is also possible to send duplicated packets, just in case first one is not correctly delivered.
This will allow to solve (with new version of InputStickAPI for Android) problems related to Android OS Bluetooth stack, which under some conditions, fails to correctly deliver packets when Bluetooth Low Energy mode is used.

Wednesday 14 October 2015

InputStickUtility 1.42 Android M

List of changes:

ACCESS_COARSE_LOCATION permission is now required to ensure compatibility with Android 6.0 Marshmallow:

Due to changes in permission system introduced in latest release of Android OS (runtime permissions), it is now necessary for application to have LOCATION permission to perform Bluetooth scanning. You will be asked to grant the permission before scanning for new Bluetooth device.

LOCATION permission is required ONLY to make the app compatible with latest Android version. Nothing else is changed. Your location is never retrieved by the app.

Android OS requires LOCATION permission for Bluetooth scanning, because under some conditions, knowing MAC addresses for nearby Bluetooth devices could allow to reveal your approximate location

Note: if necessary, it is possible to enter MAC address of InputStick device manually. In such case you must use other device to get the MAC address first.

LE scanning mode can be enabled (Android 5.0 and later, use only if default one does not work properly):

If for some reason default scanning mode does not work on your device, you can switch to new LE mode which was introduced in Android 5.0. Warning: Bluetooth 2.1 devices may not be discovered when LE mode is used!

Bluetooth troubleshooting tips (displayed before adding new device):

A few tips that can help if you are not able to discover of connect to InputStick:
  • refresh scan if your device is not found,
  • unplug-plug InputStick,
  • turn Bluetooth on-off,
  • disconnect any other Bluetooth devices (headset, smartband),
  • verification gets stuck at any point, go back and try all over again,
  • reboot device if everything else fails. 



Keyboard interface does not work with OSX El Captain (10.11). Upcoming firmware update will solve this problem.