Manipulando as informações do USBfs no Linux
Publicado por Cesar Cardoso 27/04/2003
[ Hits: 6.779 ]
Para quem pretende tratar com USB em Linux, é necessário trabalhar com o USBfs e com os arquivos sob /proc/bus/usb. As três classes que disponibilizo são parte do programa USB Show (http://usbpy.sf.net) e retornam a quantidade de dispositivos no bus USB (incluindo controladores e hubs!), quais eles são e os drivers que eles carregam.
# USB handling classes
"""Classes and methods that our usbpy program need
"""
class Drivers:
"""Handling the /proc/bus/usb/drivers file
"""
def __init__(self):
self.drivers=open("/proc/bus/usb/drivers").read()
def listDrivers(self):
return self.drivers
class DeviceUSB:
"""Handling the /proc/bus/usb/devices file
"""
def __init__(self):
self.descfile=open("/proc/bus/usb/devices").read()
def getAllDisps(self):
"""Separating devices
"""
return self.descfile.split("T: ")
class Device:
"""Treating each device separately
"""
def __init__(self,descricao):
self.descricao=descricao
def __firstLine(self):
templine=self.descricao.split("D: ")
return templine[0]
def __secondLine(self):
templine=self.descricao.split("I: ")
return templine
def __secondLineClasse(self):
l2=self.__secondLine()
tempclass=l2[1].split("E: ")[0]
return tempclass
def __SLines(self):
templine=self.descricao.split("S: ")
return templine
def __thirdLineClasse(self):
l3=self.__SLines()
tempclass=l3[2][9:].split("
Converte valor de Bytes 2 Kbyte 2 Mbyte
Juntando tabelas em aquivo texto
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
Consertando o áudio com estalos e interrupções no Pipewire
Como implementar Raid (0, 1, 5, 6, 10 e 50)
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
REDE WI-FI NÃO APARECE NO LINUX MINT (0)
Como programar um sistema de controle para distribuições linux em c? (5)
Servidor Ubuntu 24.04 HD 500 não tenho espaço na \home\adminis... (2)









