Giter VIP home page Giter VIP logo

biostar2_device_sdk's Introduction

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.

  • Refer to structure BS2CustomMifareCard
  • Add structure BS2CustomDesFireCard
  • Add structure BS2CustomCardConfig
  • Add API BS2_GetCustomCardConfig
  • Add API BS2_SetCustomCardConfig
  • Refer to structure BS2DeviceCapabilities

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.

  • Refer to structure BS2License
  • Refer to structure BS2LicenseConfig
  • Refer to structure BS2LicenseBlob
  • Refer to structure BS2LicenseResult
  • API BS2_GetLicenseConfig has been added
  • API BS2_EnableDeviceLicense has been added
  • API BS2_DisableDeviceLicense has been added
  • API BS2_QueryDeviceLicense has been added

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

  • Refer to API BS2BarcodeConfig

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.

  • API BS2_GetSocketRetryCount has been added
  • API BS2_SetSocketRetryCount has been added
  • API BS2_GetSocketSSLRetryCount has been added
  • API BS2_SetSocketSSLRetryCount has been added

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

  • Refer to structure BS2OsdpStandardDevice
  • Refer to structure BS2OsdpStandardDeviceAvailable
  • Refer to structure BS2OsdpStandardNotify
  • Refer to structure BS2OsdpStandardConfig
  • Refer to structure BS2OsdpStandardActionConfig
  • Refer to structure BS2OsdpStandardDeviceAdd
  • Refer to structure BS2OsdpStandardDeviceUpdate
  • Refer to structure BS2OsdpStandardDeviceCapability
  • Refer to structure BS2OsdpStandardDeviceResult
  • Refer to structure BS2OsdpStandardDeviceSecurityKey
  • API BS2_GetOsdpStandardConfig has been added
  • API BS2_GetOsdpStandardActionConfig has been added
  • API BS2_SetOsdpStandardActionConfig has been added
  • API BS2_AddOsdpStandardDevice has been added
  • API BS2_GetOsdpStandardDevice has been added
  • API BS2_GetAvailableOsdpStandardDevice has been added
  • API BS2_UpdateOsdpStandardDevice has been added
  • API BS2_RemoveOsdpStandardDevice has been added
  • API BS2_GetOsdpStandardDeviceCapability has been added
  • API BS2_SetOsdpStandardDeviceSecurityKey has been added
  • API BS2_SetOsdpStandardDeviceStatusListener has been added
  • Add callback function OnOsdpStandardDeviceStatusChanged

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.

  • Refer to structure BS2VoipConfigExt
  • API BS2_GetVoipConfigExt has been added
  • API BS2_SetVoipConfigExt has been added
  • Add Structure BS2RtspConfig
  • API BS2_GetRtspConfig has been added
  • API BS2_SetRtspConfig has been added

2. Added function to partially update user information.

  • API BS2_PartialUpdateUser has been added
  • API BS2_PartialUpdateUserEx has been added
  • API BS2_PartialUpdateUserSmall has been added
  • API BS2_PartialUpdateUserSmallEx has been added
  • API BS2_PartialUpdateUserFaceEx has been added

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

  • Refer to structure BS2UserStatistic
  • API BS2_GetUserStatistic has been added

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

  • API BS2_SetDebugFileLogEx 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.

  • Refer to API BS2_SetDebugFileLog

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.

  • Refer to API BS2FaceConfig

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

  • Refer to API BS2DeviceCapabilities

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.

  • Refer to API BS2User

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

  • Refer to API BS2_GetLogFromDir
  • Refer to API BS2_GetLogBlobFromDir
  • Refer to API BS2_GetLogSmallBlobFromDir
  • Refer to API BS2_GetLogSmallBlobExFromDir
  • Refer to API BS2_GetLogFromDirWithKey
  • Refer to API BS2_GetLogBlobFromDirWithKey
  • Refer to API BS2_GetLogSmallBlobFromDirWithKey
  • Refer to API BS2_GetLogSmallBlobExFromDirWithKey

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

  • Refer to API BS2_GetFilteredLogFromDir
  • Refer to API BS2_GetFilteredLogFromDirWithKey

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.

  • Refer to Building a Development Environment

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

  • Supports X-Station 2 Finger (Product Name: XS2-OAPB, XS2-ODPB)
  • Supports Input Module Feature (Product Name: IM-120)
  • Supports the function of commanding certain actions to devices

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

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

  • Refer to Structure BS2InputConfigEx
  • Refer to Structure BS2RelayActionConfig
  • Refer to Structure BS2Event relayAction
  • Refer to API BS2_GetInputConfigEx
  • Refer to API BS2_SetInputConfigEx
  • Refer to API BS2_GetRelayActionConfig
  • Refer to API BS2_SetRelayActionConfig

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.

  • Refer to Structure BS2Action
  • Refer to API BS2_RunAction

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.

  • Refer to the Server API Document Server API

V2.8.0.6 released 06/07/2021:

New Features

  • Supports X-Station 2
  • Supports Intelligent Slave Feature (FW upgrade is required)
  • Supports getting Face Image Warping (FaceStation F2 only)
  • Supports the function of Device Capabilities to know the connected device capability
  • Adds the relevant log events of Mobile Card Verification

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

  • Structure BS2BarcodeConfig has been added
  • API BS2_GetBarcodeConfig has been added
  • API BS2_SetBarcodeConfig has been added
  • API BS2_WriteQRCode has been added

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.

  • Refer to structure BS2Rs485Config
  • Refer to API BS2_GetRS485Config
  • Refer to API BS2_SetRS485Config

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

  • Refer to API BS2_GetNormalizedImageFaceEx

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

  • Supports screensaver activation (FaceStation 2, FaceStation F2)
  • FaceStation F2 server matching support (Card only)

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

  • Refer to structure BS2DisplayConfig
  • Refer to API BS2_GetDisplayConfig
  • Refer to API BS2_SetDisplayConfig

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

  • Refer to API BS2_SetServerMatchingHandler
  • Refer to API BS2_VerifyUserFaceEx

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

  • Refer to structure BS2FaceConfigExt (thermalThresholdLow, thermalThresholdHigh)

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.

  • Refer to API BS2_EnrollUserFaceEx

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.

  • Refer to API BS2_ResetConfigExceptNetInfo


V2.7.2.4 released 11/11/2020:

New Features

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

  • Refer to structure BS2WiegandConfig
  • Refer to API BS2_GetWiegandConfig
  • Refer to API BS2_SetWiegandConfig

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.

  • Refer to API BS2_SetDebugFileLog

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

  • Refer to API BS2_EnrollUserFaceEx

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

  • Refer to API BS2_SetDeviceEventListener

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.

  • Structure BS2UserSettingEx has been added
  • Structure BS2TemplateEx has been added
  • Structure BS2FaceEx has been added
  • Structure BS2UserFaceExBlob has been added
  • API BS2_ScanFaceEx has been added
  • API BS2_ExtractTemplateFaceEx has been added
  • API BS2_EnrollUserFaceEx has been added
  • API BS2_GetUserInfosFaceEx has been added
  • API BS2_GetUserDatasFaceEx has been added

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

  • Structure BS2AuthConfigExt has been added
  • API BS2_GetAuthConfigExt has been added
  • API BS2_SetAuthConfigExt has been added

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

  • Structure BS2SmartCardHeader has been added
  • API BS2_ExtraceTemplateFaceEx has been added

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

  • Structure BS2FaceConfigExt has been added
  • API BS2_GetFaceConfigExt has been added
  • API BS2_SetFaceConfigExt has been added

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

  • Structure BS2ThermalCameraConfig has been added
  • API BS2_GetThermalCameraConfig has been added
  • API BS2_SetThermalCameraConfig has been added

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

  • Callback function OnLogReceivedEx has been added
  • Structure BS2EventSmallBlobEx has been added
  • API BS2_StartMonitoringLogEx has been added
  • API BS2_GetLogSmallBlobEx has been added
  • API BS2_GetLogSmallBlobExFromDir has been added

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

  • API BS2_SetDataEncryptKey has been added
  • API BS2_MakePinCodeWithKey has been added

Modified features

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

  • Structure BS2FaceConfig has been added

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

  • API BS2_GetUserDatas has been added
  • API BS2_GetUserDatasEx has been added
  • API BS2_GetSupportedUserMask has been added
  • API BS2_GetUserSmallDatas has been added
  • API BS2_GetUserSmallDatasEx has been added
  • API BS2_GetUserDatasFromDir has been added
  • API BS2_GetUserDatasExFromDir has been added
  • API BS2_GetUserSmallDatasFromDir has been added
  • API BS2_GetUserSmallDatasExFromDir has been added
  • API BS2_GetUserInfosFaceEx has been added
  • API BS2_GetUserDatasFaceEx has been added

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.

  • API BS2_GetDeviceInfoEx has been added
  • Structure BS2SimpleDeviceInfoEx has been added

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.

  • Structure BS2LiftFloors has been added
  • Structure BS2LiftLockUnlockZone has been added
  • API BS2_GetLiftLockUnlockZone has been added
  • API BS2_GetAllLiftLockUnlockZone has been added
  • API BS2_GetLiftLockUnlockZoneStatus has been added
  • API BS2_GetAllLiftLockUnlockZoneStatus has been added
  • API BS2_SetLiftLockUnlockZone has been added
  • API BS2_SetLiftLockUnlockZoneAlarm has been added
  • API BS2_RemoveLiftLockUnlockZone has been added
  • API BS2_RemoveAllLiftLockUnlockZone has been added

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

  • Structure BS2DisplayConfig has been added
  • API BS2_SetUserPhraseHandler has been added
  • API BS2_ResponseUserPhrase has been added

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.

  • Structure BS2DoorSensor has been added
  • API BS2_SetGlobalAPBViolationByDoorOpenHandler has been added
  • API BS2_CheckGlobalAPBViolationByDoorOpen has been added

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.

  • Structure BS2UserBlobEx has been added
  • API BS2_VerifyUserEx has been added
  • API BS2_IdentifyUserEx has been added
  • API BS2_EnrolUserEx has been added
  • API BS2_VerifyUserSmallEx has been added
  • API BS2_IdentifyUserSmallEx has been added
  • API BS2_EnrollUserSmallEx has been added

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.

  • API BS2_GetLogBlob has been added
  • API BS2_GetLogSmallBlob has been added
  • API BS2_GetLogBlobFromDir has been added
  • API BS2_GetLogSmallBlobFromDir has been added
  • API BS2_GetImageLog has been added


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.

  • Structure BS2EventSmallBlob has been added
  • API BS2_GetLogSmallBlob has been added
  • API BS2_GetLogSmallBlobFromDir has been added

2. DesFire Advanced format setting is now supported.

  • Structure BS2SimpleDeviceInfoEx has been added
  • Structure BS2DesFireCardConfigEx has been added
  • API BS2_GetDesFireCardConfigEx has been added
  • API BS2_SetDesFireCardConfigEx has been added

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

  • Structure BS2SystemConfig has been added
  • API BS2_SetSystemConfig has been added

4. Duplicate fingerprint and face check is available.

  • Structure BS2FaceConfig has been added
  • API BS2_GetFingerprintConfig has been added
  • API BS2_SetFingerprintConfig has been added
  • Structure BS2FingerprintConfig has been added
  • API BS2_GetFaceConfig has been added
  • API BS2_SetFaceConfig has been added

Modified Features

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

  • Refer to structure BS2UserBlobEx
  • Refer to API BS2_VerifyUserEx
  • Refer to API BS2_IdentifyUserEx
  • Refer to API BS2_EnrolUserEx
  • Refer to API BS2_VerifyUserSmallEx
  • Refer to API BS2_IdentifyUserSmallEx
  • Refer to API BS2_EnrollUserSmallEx

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.

  • Refer to API BS2_GetCardModel

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.

  • BioEntry Plus 2.0
  • BioEntry W 2.0
  • BioLiteNet 2.0
  • Xpass 2.0
  • Xpass Slim 2.0

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.

  • Refer to API BS2_SearchDevices
  • Refer to API BS2_ConnectDevice
  • Refer to API BS2_ConnectDeviceViaIP
  • Refer to API BS2_GetDeviceInfo
  • Refer to structure BS2SimpleDeviceInfo

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

  • BioEntry Plus 2.0
  • BioEntry W 2.0
  • BioLiteNet 2.0
  • Xpass 2.0
  • Xpass Slim 2.0 Refer to API BS2_FactoryReset

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.

  • Refer to Structure BS2BarcodeConfig
  • API BS2_SetBarcodeScanListener has been added
  • Callback OnBarcodeScanned has been added

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

  • Refer to Structure BS2BarcodeConfig

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

  • Refer to Structure BS2CardConfig
  • Refer to API BS2_GetCardConfig
  • Refer to API BS2_SetCardConfig

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

  • Refer to Structure BS2DeviceCapabilities
  • Refer to API BS2_GetDeviceCapabilities

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.

  • API BS2_GetUserDatabaseInfoFromDirWithKey has been added
  • API BS2_GetUserListFromDirWithKey has been added
  • API BS2_GetUserInfosFromDirWithKey has been added
  • API BS2_GetUserDatasFromDirWithKey has been added
  • API BS2_GetUserInfosExFromDirWithKey has been added
  • API BS2_GetUserDatasExFromDirWithKey has been added
  • API BS2_GetLogFromDirWithKey has been added
  • API BS2_GetFilteredLogFromDirWithKey has been added
  • API BS2_GetUserSmallInfosFromDirWithKey has been added
  • API BS2_GetUserSmallDatasFromDirWithKey has been added
  • API BS2_GetUserSmallInfosExFromDirWithKey has been added
  • API BS2_GetUserSmallDatasExFromDirWithKey has been added
  • API BS2_GetUserInfosFaceExFromDirWithKey has been added
  • API BS2_GetUserDatasFaceExFromDirWithKey has been added
  • API BS2_GetLogBlobFromDirWithKey has been added
  • API BS2_GetLogSmallBlobFromDirWithKey has been added
  • API BS2_GetLogSmallBlobExFromDirWithKey has been added

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.

  • Refer to API BS2_GetUserDatabaseInfoFromDir
  • Refer to API BS2_GetUserListFromDir
  • Refer to API BS2_GetUserInfosFromDir
  • Refer to API BS2_GetUserDatasFromDir
  • Refer to API BS2_GetUserInfosExFromDir
  • Refer to API BS2_GetUserDatasExFromDir
  • Refer to API BS2_GetLogFromDir
  • Refer to API BS2_GetFilteredLogFromDir
  • Refer to API BS2_GetUserSmallInfosFromDir
  • Refer to API BS2_GetUserSmallDatasFromDir
  • Refer to API BS2_GetUserSmallInfosExFromDir
  • Refer to API BS2_GetUserSmallDatasExFromDir
  • Refer to API BS2_GetUserInfosFaceExFromDir
  • Refer to API BS2_GetUserDatasFaceExFromDir
  • Refer to API BS2_GetLogBlobFromDir
  • Refer to API BS2_GetLogSmallBlobFromDir
  • Refer to API BS2_GetLogSmallBlobExFromDir

2. The following functions are deprecated.

  • API BS2_AllocateUsbContext deprecated
  • API BS2_ReleaseUsbContext 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.

  • Refer to API BS2_ReleaseContext


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.

  • Refer to API BS2_GetEventConfig

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.

  • Refer to API BS2_AllocateContext
  • Refer to API BS2_ReleaseContext
  • Refer to API BS2_ConnectDeviceViaIP
  • Refer to API BS2_DisconnectDevice

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

  • BEW2-ODPB
  • BEW2-OAPB
  • BEW2-OHPB

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.

  • Refer to API BS2_EnrolUser
  • Refer to API BS2_EnrollUser
  • Refer to API BS2_EnrolUserEx
  • Refer to API BS2_EnrollUserEx
  • Refer to API BS2_EnrollUserSmall
  • Refer to API BS2_EnrollUserSmallEx
  • Refer to API BS2_EnrollUserFaceEx


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.

  • Refer to API BS2_EnrolUser
  • Refer to API BS2_EnrollUser
  • Refer to API BS2_EnrolUserEx
  • Refer to API BS2_EnrollUserEx
  • Refer to API BS2_EnrollUserSmall
  • Refer to API BS2_EnrollUserSmallEx
  • Refer to API BS2_EnrollUserFaceEx


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.

biostar2_device_sdk's People

Contributors

devicesdk avatar suprema-charlie 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

Watchers

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

biostar2_device_sdk's Issues

Disable Bioentry W2 Card Reader

Is there a way to override the device config received by BS2SimpleDeviceInfo?
I am looking for a way to systematically disable the card reader on a BioEntry W2 device.

undefined reference linux gcc c++ linker

try to linker library libBS_SDK_V2.so

undefined reference to SSL_CTX_free' undefined reference to TLSv1_1_server_method'
undefined reference to CRYPTO_set_locking_callback' undefined reference to SSL_CTX_set_default_passwd_cb_userdata'
undefined reference to RSA_public_decrypt' undefined reference to SSLv3_server_method'
undefined reference to CRYPTO_num_locks' undefined reference to SSL_CTX_check_private_key'
undefined reference to SSL_get_error' undefined reference to CRYPTO_malloc'
undefined reference to ERR_error_string' undefined reference to RSA_free'
undefined reference to SSL_CTX_set_default_passwd_cb' undefined reference to SSL_CTX_load_verify_locations'
undefined reference to SSL_CTX_set_cipher_list' undefined reference to SSL_library_init'
undefined reference to CRYPTO_free' undefined reference to xmlFreeDoc'
undefined reference to CRYPTO_set_id_callback' undefined reference to SSL_read'
undefined reference to SSL_accept' undefined reference to TLSv1_server_method'
undefined reference to xmlParseDoc' undefined reference to SSLv23_server_method'
undefined reference to xmlDocGetRootElement' undefined reference to SSL_shutdown'
undefined reference to PEM_read_bio_RSA_PUBKEY' undefined reference to SSL_CTX_set_verify'
undefined reference to SSLeay_version' undefined reference to xmlNodeGetContent'
undefined reference to SSL_CTX_new' undefined reference to SSL_CTX_use_certificate_chain_file'
undefined reference to ERR_clear_error' undefined reference to SSL_load_error_strings'
undefined reference to SSL_free' undefined reference to SSL_write'
undefined reference to SSL_set_fd' undefined reference to BIO_new_mem_buf'
undefined reference to SSL_CTX_use_PrivateKey_file' undefined reference to SSL_CTX_ctrl'
undefined reference to ERR_get_error' undefined reference to SSL_new'
undefined reference to `TLSv1_2_server_me

'Util' does not exist - C#

I'm trying to run the C# example, but I'm getting the error "The name 'Util' does not exist in SFApi.cs 1133". How can I solve it?

Total Log In Device

How can we Find the Number Of Total Log Store In Devices? In version 1 can access through BS_GetLogCount But it seems to be not supported in version 2

SDK library crashes when BS2_DisconnectDevice(..) is called

BS2_DEVICE_ID nID_BS2 = 0;
int nRet = BS2_ConnectDeviceViaIP(pSDKContext,strIPAddress.c_str(), BS2_TCP_DEVICE_PORT_DEFAULT, &nID_BS2);
if (nRet==BS_SDK_SUCCESS && nID_BS2>0) {

    // This function caused crash for SDK version 2.6.3.5 or higher
    // For SDK version 2.6.2.5 or lower it works correctly

    BS2_DisconnectDevice(g_pSDKContext, nID_BS2);

}

Error message: *** buffer overflow detected ***
My platform is Linux Ubuntu 18.04
I use 64-bit version of library from BioStar2_device_SDK/Lib/Linux/lib/x64/libBS_SDK_V2.so

Add fingerprint / face to an already created user

My case is the following.

I would like to use BS2_ScanFingerprintEx and BS2_ScanFace to put the device in read mode. Once the fingerprint of face is scaned, I would like to retreive this information and assign it to a user in my end. After all this process, I'm going to call myself BS2_EnrolUser to register this user into the device with the generated BS2UserBlob.

Is it possible?

BS_SDK_ERROR_TIMEOUT = -601

The application works fine when I run your example (c#) and I can connect to device through IP
but when i use same library and sdk with my application(c#) it gave this result!
BS_SDK_ERROR_TIMEOUT = -601

BS2_EnrollUserFaceEx crashes with accessViolation

I'm using linux sdk with net 6.0
BS2_EnrollUserFaceEx crashes with accessViolation on SDK version 2.8.3.2, but works fine on version 2.8.2.9. Can you check your modifications or there is some differences in data preparation for loading users depending on versions?

BioMini USB

Hello,

I'm trying to integrate with an USB BioMini through this library, I don't know if it is the correct one, but couldn't find any other.
Currently I'm on ArchLinux, but I'm also targeting Windows.

Made some tests, most of them without success, hence my questions:

  • What is the correct parameter for BS2_AllocateUsbContext? If I point it to /dev/bus/usb, BS2_Initialize gives success, but BS2_SearchDevices returns BS_SDK_ERROR_SOCKET_IN_PROGRESS. If I point it directly to the USB as /dev/bus/usb/001/010, the library freezes on BS2_Initialize.

  • What is the correct sequence to capture the image, and which format is it given? My goal is exclusively to capture the fingerprint image, I don't want any of the feature extratcions or use the device's memory.

  • Is any other update to this library in regards to OpenSSL? SSLv3_server_method was deprecated and is not present in recent releases anymore, so I had to add the symbol myself, which is not a desirable hack.

Thanks in advance.

Modify function BS2_ClearLog

Would it be possible to have a parameter in the BS2_ClearLog function to eliminate a specific event identified by its id?

Undefined reference to xmlDocGetRootElement when running project in linux

I am getting errors when compiling the project.

/home/ssenyonjo/projects/sample/BioStarSDK_V2.6.4.1_20200225/Lib/Linux/lib/x64//libBS_SDK_V2.so: undefined reference to xmlDocGetRootElement'. /home/ssenyonjo/projects/sample/BioStarSDK_V2.6.4.1_20200225/Lib/Linux/lib/x64//libBS_SDK_V2.so: undefined reference to RSA_public_decrypt'

BS2_UpgradeFirmware function not working on linux

We are developing a console application in .net 7 which can be executed in windows and linux environments for managing devices.

One of our desired functionalities is upgrading the firmware using an API endpoint.

In windows we have no problems and everything runs fine, but when we execute our app in linux we get this error:

symbol lookup error: /my_folder/libBS_SDK_V2.dll.so: undefined symbol: BIO_new_mem_buf

It happens when we make this call:

result = (BS2ErrorCode)API.BS2_UpgradeFirmware(GlobalValues.sdkContext, (uint)deviceId, fwData, fwDataLen, 0, null!);

The whole function, is this:

`public int UpgradeFirmware(int deviceId)
{
BS2SimpleDeviceInfo info = Util.AllocateStructure();

		BS2SimpleDeviceInfoEx infoEx = Util.AllocateStructure<BS2SimpleDeviceInfoEx>();

		BS2ErrorCode result = (BS2ErrorCode)API.BS2_GetDeviceInfoEx(GlobalValues.sdkContext, (uint)deviceId, out info, out infoEx);

		if (result == BS2ErrorCode.BS_SDK_SUCCESS)
		{
			string firmware = "../firmware/";
			string file = "";

			if (info.type == (ushort)BS2DeviceTypeEnum.BIOSTATION_A2)
			{
				//file = "bsa2-ompw_v1.9.1_20220113_sign.bin";
				file = "bsa2-ompw_v*_sign.bin";
			}
			else if (info.type == (ushort)BS2DeviceTypeEnum.FACESTATION_2)
			{
				//file = "fs2_d_v1.5.3_20221103_sign.bin";
				file = "fs2_d_v*_sign.bin";
			}
			else if (info.type == (ushort)BS2DeviceTypeEnum.FACESTATION_F2 || info.type == (ushort)BS2DeviceTypeEnum.FACESTATION_F2_FP)
			{
				//file = "fstf2-all_v2.1.3_20230525_sign.bin";
				file = "fstf2-all_v*_sign.bin";
			}
			else
				return -2; //Tipo de dispositivo no contemplado

			string[] files = Directory.GetFiles(firmware, file);

			if (files.Length == 0)
				return -3; //No se ha encontrado el fichero de firmware

			string lastFile = files.OrderDescending().First();

			IntPtr fwData = IntPtr.Zero;
			uint fwDataLen = 0;
			
			if (Util.LoadBinary(lastFile, out fwData, out fwDataLen))
			{
				result = (BS2ErrorCode)API.BS2_UpgradeFirmware(GlobalValues.sdkContext, (uint)deviceId, fwData, fwDataLen, 0, null!);
				Marshal.FreeHGlobal(fwData);

				if (result == BS2ErrorCode.BS_SDK_SUCCESS)
				{
					return 1;
				}
				else
					return -5; //Ha fallado el proceso de upgrade
			}
			else
				return -4; //No ha podido cargar el binario del firmware
		}

		return -1; //No se ha podido obtener la informacion del dispositivo
	}`

Linux support

You support Linux platform according to Readme but I can't find the SDK files in recent commits. There are only Windows packages. Thnx

BS2_EnrollUserFaceEx with BS2Face Templates

A new change has been occurred in recent SDK versions (after 2.7.12) which separates the enrollment procedures between F2 and other devices. The change reflects everywhere in SDK with the phrase "FaceEx" and it is required now to create BS2FaceExWarped[] for further enrollment action that can be easily done by getting the direct output of BS2_ScanFaceEx API.
Enroll face with older face templates which have been scanned by BS2_ScanFace and are stored in database is not demonstrated.
Is there any conversion method between these two types of templates?

using BS2_ConnectDeviceViaIP with Intptr type of IPAddress

i am using SDK for BioStar 2 v 2.8 and i am trying to connect to the BioLite 2 Machine via IP address and Port but facing a problem adding my IPAddress of type IntPtr ,i used to declare the IP to string type !!! below is the signature of the function ,
extern public static int BS2_ConnectDeviceViaIP(IntPtr context, IntPtr deviceAddress, UInt16 devicePort, out UInt32 deviceId);
thanks in advance

BS2_SetIPConfigを理解したいがエラーで困っています

Suprema 担当者様へ

いつもお世話になっております。

SFApi.csファイルに含まれる

[DllImport("BS_SDK_V2.dll", CallingConvention = CallingConvention.Cdecl)]
extern public static int BS2_SetIPConfig(IntPtr context, UInt32 deviceId, ref BS2IpConfig config);

のBS2_SetIPConfigの第3引数でコンパイルエラーが起きて回避できません。

理由を御社のTicketSiteで質問しましたが、一方的にTicket Closeされました。

BS2IpConfig bs2IpConfig = new BS2IpConfig();
bs2IpConfig.ipAddress = Encoding.ASCII.GetBytes("192.168.0.123");
result = (BS2ErrorCode)API.BS2_SetIPConfig(context, deviceID, ref bs2IpConfig);

のようにやっても、エラーになります。

Unhandled exception. System.ArgumentException: Type could not be marshaled because the length of an embedded array instance does not match the declared length in the layout.
at System.StubHelpers.MngdFixedArrayMarshaler.ConvertSpaceToNative(IntPtr pMarshalState, Object& pManagedHome, IntPtr pNativeHome)
--- End of stack trace from previous location ---
at Suprema.API.BS2_SetIPConfig(IntPtr context, UInt32 deviceId, BS2IpConfig& config)
at Biostar2SDKTest.Program.Main(String[] args)

Ticketで質問したら、C++構造体だと言われて

IntPtr pStructure = Marshal.AllocCoTaskMem(Marshal.SizeOf(bs2IpConfig));
Marshal.StructureToPtr(bs2IpConfig, pStructure, false);

Marshal.FreeCoTaskMem(pStructure);

のように、追加してみても、結局エラーになります。
改善策を提示してください。
宜しくお願いします。

ConfigControl.csのSetIPConfigを使う方法は動作するのに、BS2_SetIPConfigは何故動作しませんか?
教えてください。

Integrate reader with Node.js application

Hello, I have a Node.js application and would like to integrate one of your biometric reader. Is there a way to do that? The application runs on either Raspbian or Windows.

Thank you,
Niclas

SDK explicit stop scanning

Good day. Can I stop a positive face scan if it doesn't fit my personal conditions. Is there such a possibility?

For example, I have a face when scanning, it is not blocked in the device itself, but I need it so that when scanning, if it does not meet a certain condition, it is not recognized by the device and does not perform any openings.

_CRT_SECURE_NO_WARNINGS c++

Hi, I am trying to run the CommunicationAPI from your c++ sample but I keep getting the same error:

Severity Code Description Project File Line Suppression State Error C4996 'gmtime': This function or variable may be unsafe. Consider using gmtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
Same for functions like (sprintf, strcpy, vsprintf and putenv).

The problem is when i set #pragma warning(disable:4996) to disable the depercation, this is what i'm getting:
image

Should I rewrite the code using the suggested functions or there is any workaround?

Linux sdk

Hi,
Following this model, I have created a net core 3.1 api to connect to a remote device to obtain the list of users on it.

Every time the api receives a petition, I connect the device using Connect function:

public IntPtr Connect(String ip, String port, ref UInt32 deviceID)
{
    IP = ip;
    PORT = port;
    
    deviceID = 0;
    IntPtr versionPtr = API.BS2_Version();
    //bool bSsl = false;
    
    //Console.WriteLine("SDK version : " + Marshal.PtrToStringAnsi(versionPtr));
    
    sdkContext = API.BS2_AllocateContext();
    if (sdkContext == IntPtr.Zero)
    {
        //Console.WriteLine("Can't allocate sdk context.");
        return IntPtr.Zero;
    }
    
    BS2ErrorCode result = (BS2ErrorCode)API.BS2_Initialize(sdkContext);
    if (result != BS2ErrorCode.BS_SDK_SUCCESS)
    {
        //Console.WriteLine("SDK initialization failed with : {0}", result);
        API.BS2_ReleaseContext(sdkContext);
        sdkContext = IntPtr.Zero;
        return IntPtr.Zero;
    }
    
    cbOnDeviceFound = new API.OnDeviceFound(DeviceFound);
    cbOnDeviceAccepted = new API.OnDeviceAccepted(DeviceAccepted);
    cbOnDeviceConnected = new API.OnDeviceConnected(DeviceConnected);
    cbOnDeviceDisconnected = new API.OnDeviceDisconnected(DeviceDisconnected);
    
    result = (BS2ErrorCode)API.BS2_SetDeviceEventListener(sdkContext,
                                                        cbOnDeviceFound,
                                                        cbOnDeviceAccepted,
                                                        cbOnDeviceConnected,
                                                        cbOnDeviceDisconnected);
    if (result != BS2ErrorCode.BS_SDK_SUCCESS)
    {
        //Console.WriteLine("Can't register a callback function/method to a sdk.({0})", result);
        API.BS2_ReleaseContext(sdkContext);
        sdkContext = IntPtr.Zero;
        return IntPtr.Zero;
    }
    
    #if SDK_AUTO_CONNECTION
    result = (BS2ErrorCode)API.BS2_SetAutoConnection(sdkContext, 1);
    #endif
    
    if (!ConnectToDevice(ref deviceID))
    {
        deviceID = 0;
    }
    
    if (deviceID > 0)
    {
        //Console.Title = String.Format("{0} connected deviceID[{1}]", title, deviceID);
    
    #if !SDK_AUTO_CONNECTION
        reconnectionTask = new ReconnectionTask(sdkContext);
        reconnectionTask.start();
    #endif
    }
    
    return sdkContext;
}

public void Disconnect(UInt32 deviceID, IntPtr sdkContext)
{
    if (deviceID > 0)
    {
#if !SDK_AUTO_CONNECTION
        reconnectionTask.stop();
        reconnectionTask = null;
#endif
    }

    BS2ErrorCode result = result = (BS2ErrorCode)API.BS2_DisconnectDevice(sdkContext, deviceID);
    if (result != BS2ErrorCode.BS_SDK_SUCCESS)
    {
        //Console.WriteLine("Got error({0}).", result);
    }

    eventWaitHandle.Close();
    API.BS2_ReleaseContext(sdkContext);
    sdkContext = IntPtr.Zero;

    cbOnDeviceFound = null;
    cbOnDeviceAccepted = null;
    cbOnDeviceConnected = null;
    cbOnDeviceDisconnected = null;
    cbOnSendRootCA = null;
}

bool ConnectToDevice(ref UInt32 deviceID)
{
    IntPtr ptrIPAddr = Marshal.StringToHGlobalAnsi(IP);
    BS2ErrorCode result = (BS2ErrorCode)API.BS2_ConnectDeviceViaIP(sdkContext, ptrIPAddr, Convert.ToUInt16(PORT), out deviceID);

    if (result != BS2ErrorCode.BS_SDK_SUCCESS)
    {
        return false;
    }
    Marshal.FreeHGlobal(ptrIPAddr);

    return true;
}

Once connected, I'm using BS2ErrorCode result = (BS2ErrorCode)API.BS2_GetUserList(sdkContext, deviceID, out outUidObjs, out numUserIds, cbIsAcceptableUserID); To get the users.

When I'm done with the conection, I use Disconnect to close it.

In windows this is working perfect. But when I try the same code for ubuntu 16.04 (with the linux sdk), it only works the first time, then, BS2_GetUserList only returns BS_SDK_ERROR_NULL_POINTER until I restart my API.

Am I doing something wrong?

SDK ERROR

when we try to connect to biostation a2 allwais return one of that errors:

-BS_SDK_ERROR_EXIST

-BS_SDK_ERROR_CANNOT_OPEN_FILE

we are trying to use your device for labor management program and we are only triying to connet to the device via TCP/IP

Support error sofware

I have a question. I bought a your product: Biomini Plus2. I use software Biomini_DemoCS.exe in Path: C:\Program Files (x86)\Suprema\BioMini\bin but there is an error:
UFScanner Init: OK
UFScanner GetScannerNumber: 0
Selected Scanner is not connected
UFMatcher Init: ERROR: No license (No licensed device or file found.)
Can you help me about this? Thank you

How to write alphanumeric id on card

I tried to use the same logic the example provides and switched the numeric id to an alphanumeric id using the UTF8 Encoding to convert the string to an byte-array.

Examplecode:

BS2SmartCardData smartCard = Util.AllocateStructure<BS2SmartCardData>();
smartCard.header.cardType = (byte)BS2CardTypeEnum.ACCESS;
smartCard.header.numOfTemplate = 0; // fingerprint
smartCard.header.numOfFaceTemplate = 1;
smartCard.header.templateSize = BS2Environment.BS2_FACE_EX_TEMPLATE_SIZE;
smartCard.header.cardAuthModeEx = (byte)BS2ExtCardAuthModeEnum.EXT_CARD_FACE;
smartCard.header.useAlphanumericID = 1;

cardIDArray = Encoding.UTF8.GetBytes(cardIdString); 
Array.Clear(smartCard.cardID, 0, BS2Environment.BS2_CARD_DATA_SIZE);
for (int idx = 0; idx < cardIDArray.Length; ++idx)
{
    smartCard.cardID[BS2Environment.BS2_CARD_DATA_SIZE - idx - 1] = cardIDArray[idx];
}

Writing the card results with the status "1" (BS_SDK_SUCCESS).

When i now want to authenticate with this card, the device respond with "Access Denied" instantly.
(Using a numeric id works fine)

Any suggestions?

linux build error `pthread_yield'

Newer Linux Versions:

libBS_SDK_V2.so: undefined reference to `pthread_yield'
Use sched_yield() instead of pthread_yield() on Linux

Per https://man7.org/linux/man-pages/man3/pthread_yield.3.html
        This call is nonstandard, but present on several other systems.
        Use the standardized sched_yield(2) instead.

Could you please update .

Thanks

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.