supremainc / BioStar2_device_SDK

35 stars 25 forks source link

What is the BioStar?

BioStar2 is a web-based, open, and integrated security platform that provides comprehensive functionality for access control and time & attendance. Featuring a modular, flexible framework, the platform supports both the BioStar 2 Device SDK which is used to integrate Suprema's terminals with thirdparty systems and web APIs which are used to integrate the functionality of the BioStar 2 platform with third-party systems. In addition, in step with the mobile era, the mobile app for BioStar 2 has been designed to enable you not only to remotely control the BioStar 2 platform but also to get a mobile card issued to you for use. BioStar2 Overview, Product

Overview of the BioStar2 Device SDK

BioStar2 Device SDK development framework allows developers to seamlessly integrate core functionality of Suprema biometric devices and terminals with 3rd party software. SDK Introduction

Get Started

SDK supports the following platforms:

Learn More About The BioStar2 Device SDK

Framework

Workflow

Learn how to create a context for device management and connect devices. Watch this tutorial

Example

1. The SDK currently being distributed comes with C # examples. This github provides additional C ++ examples.

2. To run the example, after installing the supplied SDK (Maybe 'C:/Program Files (x86)/BioStar 2 Device SDK'), copy the Include and Lib directories to the appropriate path.



Release Notes


Note: Feature enhancements, updates, and resolved issues from previous releases are available to view in Release Notes.

V2.9.4.0 released 09/04/2023:

New Features

1. New device BioStation 2a connection is supported.

2. Support for reading Custom smart card.

Modified Features

1. Supported Linux environments have been upgraded to Ubuntu 22.04. SDK Version Supported Linux Version
Before V2.9.4 Ubuntu 18.04
Later V2.9.4 Ubuntu 22.04

2. Fixes were made to stabilize the code internally in the SDK.


V2.9.1.0 released 02/23/2023:

New Features

1. Added device license activation feature.

2. Added features for QR cdoe authentication by using the camera.

3. Added retry count for communication used when an error occurs while reading or writing packets from the socket during communication. Increasing the number of retries is a way to resolve temporary errors, but care must be taken as direct causes such as network disconnection occurs, can lead to wasted resources by meaningless read/write retries when reconnection is required.

4. Added feature to connect and manage 3rd party OSDP.

Modified Features

1. Fixed memory leak caused by network switches keepalive check being misunderstood by the SDK.

2. Fixed an issue caused when performing a log dump internally from the SDK that can lead to an abnormal shutdown.

3. Fixes were made to stabilize the code internally in the SDK.


V2.8.3.2 released 10/05/2022:

New Features

1. BioStation 3 Added connection support, related extended VoIP settings, and RTSP settings.

2. Added function to partially update user information.

3. Added function to get user statistics held by the device.

4. A log function for debugging that divides and saves files has been added.

Modified Features

1. When outputting log files for debugging, the displayed time information has been modified to be displayed up to milliseconds.

2. The face setting method changes. In the face detection stage, face width, which represents the width of the face image, search range, which represents the search range, are entered in pixels. This was a rather difficult input unit for the user to set up. The detection distance, wide search provided afterward is changed to a more sensible setting unit by entering the distance to the detected face in cm. As of the time SDK V2.8.3 is distributed, only 'BioStation 3' can be distance-based, and then extended to 'FaceStation F2' is planned.

3. Added additional support information to BS2DeviceCapabilities. (Simulated unlock, RTSP, Visual QR, etc.)

4. In the user structure, an infoMask has been added to indicate what credential information the user has. Also, by modifying the mask value of the infoMask and enroll to the device, it is possible to change/delete the information that the user has partially.

5. The problem of not applying conditions such as start index and request quantity when obtaining the log of USB has been corrected.

6. When using the filtered log of USB, the problem of date search not being successful has been corrected.

7. A simple bug in the C# example has been fixed.

8. Supported for slow networks and environments using SSL.

9. Fixed the bug that crashed if the access group existed during a USB import.

10. Edited to stabilize code internally in SDK.


V2.8.2.12 Beta released 06/07/2022:

Modified Features

1. Fixed an issue where date search might not work when importing logs by filtering from USB.


V2.8.2.9 released 04/14/2022:

Modified Features

1. Fix the problem that the device connection is disconnected in case of a simple communication error in SSL connection mode.


V2.8.2.3 released 11/29/2021:

Modified Features

1. Supported Linux environments have been upgraded to Ubuntu 18.04. SDK Version Supported Linux Version
Before V2.8.2 Ubuntu 16.04
Later V2.8.2 Ubuntu 18.04

2. OpenSSL has been modified to support 1.1.1i from the existing 1.0.2n.

3. Fixed an issue where a BS_SDK_ERROR_SOCKET_IS_NOT_CONNECTED error occurred when calling BS2_GetFactoryConfig on an IPv6 operating device.

4. Fixed an issue that could cause a BS_SDK_ERROR_TIMEOUT error when enrolling many image-based users on FSF2 devices.

5. Fixed the problem that BS2_SetDebugExCallback does not work after 2.7.2.20.

6. Removed incorrect support configuration for FSF2 (WLAN).

7. Removed incorrect support configuration for XS2 (VoIP).

8. Added incorrect support configuration for BER2 devices (Wiegand).

9. Fix reserved2 resizing error due to adding useScreenSaver in C# example.

10. There were fixes for stabilizing the code inside the SDK.


V2.8.1.0 released 08/05/2021:

New Features

1. X-Station 2 Finger Configurations are available to use.

2. Input Module(Product Name: IM-120) Configurations are available to use.

3. You can now command certain actions to devices. You can now turn on LED, alarm a buzzer, or control relay and perform more actions at the desired time with the COMMANDS below.

Modified Features

1. Fixed the error in which Linux returns BS_SDK_ERROR_TIMEOUT and is not able to have device connections.

2. C# examples provided to guide through server-matching function implementation will not be supported anymore.


V2.8.0.6 released 06/07/2021:

New Features

1. X-Station 2 Configurations are available to use.

2. The relevant function of Intelligent Slave is available to use. Intelligent Slave is a function that enables many users' 1:1 or 1:N matching by transmitting the authentication result to OSDP card data when authentication using biometrics is performed in an environment in which the Suprema biometric device and a third-party controller are connected. Intelligent Slave Support.

3. Getting Image Warping from the raw image file of user face is available to use.

4. Getting Device Capacity Information has been added. Refer to structure BS2DeviceCapabilities Refer to API BS2_GetDeviceCapabilities

5. New log event 'Mobile Card Verification' has been added to distinguish the user credential. Refer to structure BS2Event and refer to the subcode

Modified Features

1. Fixed the return value from BS_SDK_SUCCESS to BS_SDK_ERROR_NOT_SUPPORTED when requesting Config from FaceLite that does not support Event config. Refer to API BS2_GetEventConfig

2. Fixed the issue that the SDK allocation and release were repeated, making device connection impossible if a certain number of times were exceeded. Refer to API BS2_AllocateContext Refer to API BS2_ReleaseContext

3. Fixed the issue that calling BS2_ReleaseContext cannot release the resource intermittently and the port 51212/port 51213 occupied.

4. Fixed the issue that a deadlock could occur during event processing due to repeated connecting device/disconnecting device calls.

5. Fixed the issue that the device could be reset if the fields of timeout were not assigned a multiple of 10 when updating the display settings. Refer to structure BS2DisplayConfig menuTimeout, msgTimeout, backlightTimeout Refer to API BS2_SetDisplayConfig

6. Fixed the issue that CPU Usages goes up to 99% when BS2_SearchDevices is called repeatedly in a 4-core environment.

7. FaceStation F2 Only The meaning and setting values of lightCondition in the BS2FaceConfig have been changed as follows. Supported Ver. Meaning 0 1 2 3
1.0.0 ~ 1.0.5 Ambient Brightness Indoor Outdoor Auto -
1.1.0 or higher Light Brightness Normal High - (Deprecated) Not used


V2.7.2.12 released 12/11/2020:

New Features

1. You can turn the screensaver on and off. FaceStation 2, FaceStation F2 only.

2. FaceStation F2 server matching support. (Card only)

Modified Features

1. Fixed an issue where devices could not connect normally when in Device to Server connection mode.

2. In the process of unloading SDK through BS2_ReleaseContext, a problem that may not be normally unloaded due to a specific thread has been fixed.

3. Body temperature measurement range has been modified. (30º ~ 45º => 1º ~ 45º)

4. Fixed a problem where BS_SDK_ERROR_NOT_SUPPORTED or BS_SDK_ERROR_TIMEOUT error was returned when enrolling a user with multiple image to FaceStation F2.

5. Fixed a problem in which a specific function was called from some devices except BioStation 2, but the BS_SDK_ERROR_TIMEOUT error was returned as a result value.

V2.7.2.4 released 11/11/2020:

New Features

1. You can select either Card ID or User ID for Wiegand output setting.

Modified Features

1. File log output structure of internal SDK has been changed. Before, it used to write a file from each event processing thread, but now there's a separate file writing thread. It leads to improve the speed of event processing.

2. When enrolling multiple face users to FaceStation F2, Fixed an issue that could cause the BS_SDK_ERROR_NO_FACE_CREDENTIAL(-759) error.

3. Fixed an issue where the callback may not work intermittenly when the device is disconnected.

4. There were fixes for stabilizing the code inside the SDK.

V2.7.1.1 released 09/22/2020:

New Features

1. FaceStation F2 is supported, user related structures & API are added.

2. Several authentication modes for FaceStation F2 have been added, and you can configure with API and structure below.

3. You can extract template by jpg image from FaceStation F2. The template file can be stored on AoC.

4. Thermal camera - Facial temperature & Mask detection can be configured with API & structure below.

5. Thermal camera information structure and configurable API are available.

6. New event log structure & API to support temperature information have been added.

7. User-defined PIN encryption key can be changed, and the PIN can be extracted with APIs.

Modified features

1. A structure is modified to support FaceStation F2's configuration.

2. Masking information of some API retrieving user information with userMask has been added. (Refer to userMask parameter for each API)

3. In the past, parameters like fingerSupported, faceSupported were used meaning fingerprint authentication(matching) or facial authentication(matching). This was confusing because FaceStation2 or returned fingerSupported = true. From 2.7.1, additional information fingerScanSupported and faceScanSupported is supported to provide more accurate information. With this, FaceStation2 returns fingerScanSupported = false.

4. For security reasons, support for the function BS2_GetDataEncryptKey has been deprecated.

V2.7.0.0 released 07/21/2020:

New Features

1. Device XPass D2 Revision, XPass D2 Keypad Revision are supported.

2. Lift lock/unlock zone which works based on schedules regardless of access group is supported.

3. User phrase feature that you can request the user phrase(private message) to the server is supported.

4. Global APB By Door Open is supported. Global APB By Door Open has two steps; i) User authentication ii) Actual access based on the door sensor You can figure out the user who actually doesn't go in even after successful authentication and the door unlock using this feature.

Modified Features

1. Fixed the issue that the device returns BS_SDK_ERROR_CANNOT_FIND_DEVICE after successful connection due to corrupted communication key exchange. (Only some latest FW)

2. Fixed the issue that SDK can't process received packets from the device with IPv6 connection mode.

3. Fixed the issue with the error BS2_SDK_ERROR_INVALID_PACKET when received log from the device due to the image log larger than 16KB.

V2.6.4.1 released 02/25/2020:

New Features

1. The API retrieving logs filtered by Event Mask so that you can use memory efficiently than before.

2. DesFire Advanced format setting is now supported.

3. Card type selection is available so that you can select/deselect the card type you want to read fro the device.

4. Duplicate fingerprint and face check is available.

Modified Features

1. Fixed the issue of device malfunctioning and rebooting when BS2Job.numJobs in BS2UserBlobEx exceeds the maximum value 16.

2. Fixed the issue of BioStation 2 not available for user images.

3. Fixed the error BS_SDK_INVALID_CODE_SIGN when upgrading SIO2.

4. Fixed the error BS_SDK_ERROR_NOT_SUPPORTED when calling BS2_GetCardModel for BLN2-PAB.

5. Fixed the issue that SDK doesn't recognize device disconnection when the device is constantly disconnected.

6. Fixed the issue of Linux SDK crash.

V2.6.3.16 released 11/04/2019:

Modified features

1. Fixed the problem where the devices listed below may fail to connect when connecting.

2. Fixes a problem where the return value dualIDSupported and useAlphanumericID becomes 0 when BS2_GetDeviceInfo is called after directly connection a device by IP or port instead of searching for and connecting a device.

3. Fixes a problem where a timeout error (BS_SDK_ERROR_TIMEOUT) may occur if the devices listed below attempt a factory reset.

4. Fixed a problem where the connection would be terminated normally if the device was disconnected and the packet was exchanged in the SDK without closing the connection yet.

Release Notes (Beta)


V2.8.2.11 Beta released 06/02/2022:

Modified Features

1. Fixed a problem that logs could not be retrieved normally when specifying the starting index and retrieve count from USB.

V2.8.2.10 Beta released 05/03/2022:

Modified Features

1. Fixed an issue where datetime information could be displayed abnormally if it was a device that supports GDPR when importing from USB.

V2.8.2.7 Beta released 02/23/2022:

New Features

1. A barcode bypass function has been added so that you can subscribe to barcodes from devices that can scan barcodes.

2. A function (Treat as CSN) has been added that allows you to treat Barcodes the same as regular CSN cards.

3. It has been modified to set the byte order of the smart card.

4. Updated system support information for Smart card byte order, Treat as CSN function.

V2.8.2.5 Beta released 02/16/2022:

New Features

1. In devices supporting Ver.3 (GDPR supported), the following functions have been added to read USB files. The functions below correspond to cases where the user information encryption key of the device has been changed by calling the BS2_SetDataEncryptKey function in the past. For the newly added key parameter, you can specify the key set in the past.

Modified Features

1. The USB file reading function has been modified to support Ver.3 (GDPR supported). The functions below correspond to cases where the device's user information encryption key has never been changed by calling the BS2_SetDataEncryptKey function in the past. The functions below decrypt the encryption information with the default key value and get it.

2. The following functions are deprecated.



V2.8.2.4 Beta released 01/13/2022:

Modified Features

1. Removed libxml2 library dependancy from SDK.

V2.7.2.18 Beta released 04/19/2021:

Modified Features

1. Fixed a problem that could crash when calling BS2_ReleaseConext.

V2.7.2.17 Beta released 04/12/2021:

Modified Features

1. Fixed BS2_GetEventConfig call result returned from BS_SDK_ERROR_NOT_SUPPORTED to BS_SDK_SUCCESS on FaceLite device.

2. Fixed a problem where the device connection could not be made by repeatedly calling BS2_AllocateContext, BS2_ReleaseContext, BS2_ConnectDeviceViaIP, BS2_DisconnectDevice in the SSL connection mode.

3. BS2_GetCardModel function is modified to support the following device models.

4. Added SSL connection example.

V2.7.2.14 Beta released 01/06/2021:

Modified Features

1. Improved the problem that the transmission speed was slightly slower in the previous version when sending many users.

V2.7.2.13 Beta released 12/24/2020:

Modified Features

1. Master: CoreStation 40, Slave: FaceStation 2 / FaceLite
When registering a user with a face template for FaceStation 2 and FaceLite to CoreStation, a problem that could fail with a BS_SDK_ERROR_TIMEOUT error has been fixed.

V2.6.3.23 released 02/06/2020:

1. Fixed a problem where SDK may crash on Linux.

V2.6.3.22 released 02/01/2020:

1. Fixes a problem where SDK will not detect disconnection when device disconnection is repeated.

V2.6.3.21 released 01/15/2020:

1. Fixed BS_SDK_ERROR_NOT_SUPPORTED error when calling BS2_GetCardModel in BLN2-PAB model.

V2.6.3.20 released 01/14/2020:

1. Fixes a problem where BS_SDK_INVALID_CODE_SIGN error occurs when upgrading SIO2 firmware.