Với câu trả lời của sdive, tôi tiếp tục nhận được "FATAL: Module usbserial đang được sử dụng."
Cuối cùng tôi cũng đã giải quyết được vấn đề với một số hướng dẫn từ câu trả lời của LiLo tại đây:
https://askubfox.com/a/661/379851
Nhưng thay vì sử dụng một số mã C, tôi đã viết một con trăn tương đương cũng tìm thấy xe buýt và thiết bị được đề cập:
#!/usr/bin/env python
import os
import sys
from subprocess import Popen, PIPE
import fcntl
driver = sys.argv[-1]
print "resetting driver:", driver
USBDEVFS_RESET= 21780
try:
lsusb_out = Popen("lsusb | grep -i %s"%driver, shell=True, bufsize=64, stdin=PIPE, stdout=PIPE, close_fds=True).stdout.read().strip().split()
bus = lsusb_out[1]
device = lsusb_out[3][:-1]
f = open("/dev/bus/usb/%s/%s"%(bus, device), 'w', os.O_WRONLY)
fcntl.ioctl(f, USBDEVFS_RESET, 0)
except Exception, msg:
print "failed to reset device:", msg
Chỉ cần lưu cái này dưới dạng reset_usb.py hoặc một cái gì đó và sau đó chạy nó như thế này:
sudo python reset_usb.py driver_name
Driver_name là đầu ra từ đâu
lsmod | grep usbserial
Trong trường hợp của tôi, nó là cp210x, vì vậy tôi chạy nó như thế này:
sudo python reset_usb.py cp210x