Siveive के उत्तर के साथ मुझे "FATAL: मॉड्यूल usbserial उपयोग में है" मिलता रहा।
मैंने आखिरकार लीलो के उत्तर के कुछ मार्गदर्शन के साथ समस्या को हल किया:
/ubuntu//a/661/379851
लेकिन कुछ सी कोड का उपयोग करने के बजाय, मैंने एक अजगर के बराबर लिखा, जो कि बस और डिवाइस को सवाल में पाता है:
#!/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
बस इसे reset_usb.py या कुछ और के रूप में सहेजें और फिर इसे इस तरह से चलाएं:
sudo python reset_usb.py driver_name
जहां से driver_name आउटपुट है
lsmod | grep usbserial
मेरे मामले में, यह cp210x था, इसलिए मैंने इसे इस तरह से चलाया:
sudo python reset_usb.py cp210x