1# USB Subsystem Changelog 2 3## cl.usb.1 Security Permission Change of the USB Driver API 4 5In version 4.0x or later, the **ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER** permission needs to be declared for the **bindDevice**, **unbindDevice**, and **queryDevices** APIs in **@ohos.driver.deviceManager**. 6 7function unbindDevice(deviceId: number): Promise\<number>; 8 9function unbindDevice(deviceId: number, callback: AsyncCallback<number>): void; 10 11function bindDevice(deviceId: number, onDisconnect: AsyncCallback<number>): Promise<{deviceId: number, remote: rpc.IRemoteObject}>; 12 13function bindDevice(deviceId: number, onDisconnect: AsyncCallback<number>): Promise<{deviceId: number, remote: rpc.IRemoteObject}>; 14 15function queryDevices(busType?: number): Array<Readonly<Device>>; 16 17**Change Impact** 18 19Before the change, the APIs can be called without declaring the required permission, which poses security risks. 20 21After the change, the APIs can be called only if the **ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER** permission is declared. 22 23**Involved APIs** 24 25The **ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER** permission is required for calling the following APIs: 26bindDevice 27unbindDevice 28queryDevices 29 30**Adaptation Guide** 31 32Apply for the **ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER** permission when calling the related APIs. 33