linux – Re-attaching kernel driver for the usb interface (Node.js)

I have some issue with usb library in NodeJS. I try to send some command via usb to some device from Armbian Linux. My code looks like this

const usb = require("usb");
const elzabUSB = usb.findByIds(1155, 22336);;

let interface = elzabUSB.interfaces[1];
let flag = false;

if (interface.isKernelDriverActive()) {
    flag = true;


let out = interface.endpoints[0];

let cmd; // some data to be send 

out.transfer(cmd, function (err) { //
    if (err) console.log(err);

setTimeout(() => {
    interface.release((err) => {
        if (err) console.log(err);
        try {
            if (flag) interface.attachKernelDriver(); // error here
        } catch (err) {
}, 500);

Because my host is Armbian Linux I must detach kernel driver from my usb to do at least something with Endpoints. And when i try to reset settings to default values using Interface function .attachKernelDriver() I got this error…

    at Interface.attachKernelDriver (/home/felg/node_modules/usb/usb.js:330:21)
    at Interface.interface.release (/home/felg/usb.js:74:62)
    at Device.<anonymous> (/home/felg/node_modules/usb/usb.js:316:7) errno: -5 }

If someone had this error and knows how to solve it, then please response.

best regards

Read more here: Source link