Я запускаю node.js на малине pi 3 (debian).Как решить LIBUSB_ERROR_BUSY на Raspberry Pi (Debian) с помощью Node.js
У меня есть небольшой прототип проекта, который собирает данные от передатчика ANT + на моем турбо-тренажере, который отправляется через USB-ключ Suunto Movestick USB.
Я использую модуль узла Ant-Plus
для управления протоколом ANT + и скриптом, который выводит данные на консоль и отправляет через REST API в облачное хранилище.
Во всяком случае, раскрой погони, все это было прекрасно работать, многократный запуск процесса и останавливается без проблем, пока я нечаянно не убил процесс, нажав ctrl + z
вместо ctrl + c
Теперь я просто получаю следующее сообщение об ошибке, при попытке запустить мой сценарий:
/home/pi/ant-plus/node_modules/usb/usb.js:168 this.device .__ claimInterface (this.id) ^
Error: LIBUSB_ERROR_BUSY
at Error (native)
at Interface.claim (/home/pi/ant-plus/node_modules/usb/usb.js:168:14)
at GarminStick2.USBDriver.open (/home/pi/ant-plus/build/ant.js:287:20)
at Object.<anonymous> (/home/pi/ant-plus/sample/cadence-sensor.js:39:12)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at startup (node.js:139:18)
Казалось бы, обыскав вокруг, из-за того, что процесс узла не закрывается изящно, что какой-то процесс все еще подключен к USB.
Я пробовал всевозможные способы, чтобы убить процесс:
ps | grep <something>
kill <somepid>
killall node
иначе, хотя, я не думаю, что это процесс узла мне нужно убить, я «чувствую», что мне нужно как-то чистый интерфейс USB, но я не знаю, как это сделать.
Проект использует библиотеку node-usb, но я не уверен, может ли это каким-то образом очистить вещи.
спасибо за это, полностью пропустил ответ и не вернулся в проект на некоторое время! –