Я хочу сделать скрипт Python, чтобы изменить конфигурацию по умолчанию для смартфона Samsung.
Я использую библиотеку PyUSB для получения конфигурации.
Я не могу переключиться на вторую конфигурацию.
Код следующий
# -*- coding:Utf-8 -*-
import sys
import usb.core
import usb.util
def main():
#Recherche d'un Samsung Galaxy
device = usb.core.find(idVendor=0x04e8, idProduct=0x6860)
if device is None:
raise ValueError('No Samsung device')
#Affiche la configuration
#print(device)
cfg = device.get_active_configuration()
print('*****Before changing*******************')
print(cfg)
device.set_configuration(2)
cfg = device.get_active_configuration()
print('*****After changing*******************')
print(cfg)
#end main
if (__name__ == '__main__'):
main()
sys.exit()
#end if
и возвращаемая ошибка
Traceback (most recent call last):
File "./test_usb.py", line 26, in <module>
main()
File "./test_usb.py", line 19, in main
device.set_configuration(2)
File "/usr/lib/python2.7/dist-packages/usb/core.py", line 799, in set_configuration
self._ctx.managed_set_configuration(self, configuration)
File "/usr/lib/python2.7/dist-packages/usb/core.py", line 128, in managed_set_configuration
self.backend.set_configuration(self.handle, cfg.bConfigurationValue)
File "/usr/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 730, in set_configuration
_check(self.lib.libusb_set_configuration(dev_handle.handle, config_value))
File "/usr/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 552, in _check
raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 16] Resource busy
Я изменил /etc/udev/rules.d/00-usb.rules, чтобы установить права для текущего пользователя.
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="6860", GROUP="usbusers", MODE="0776"
Спасибо,
Джефф