Come determinare in modo programmatico la velocità della porta USB nei dispositivi incorporati che eseguono il kernel Linux?Velocità porta USB Linux
risposta
È possibile leggere /sys/bus/usb/devices/usb?/speed
- fornirà la velocità del bus degli hub root in Mbps: 1,5, 12, 480 o 5000. I primi due indicano USB1 (bassa velocità o piena velocità), il terza USB2 e la quarta USB3.
e dice 5000 se è USB3. questi sono per gli hub di root. –
Ciò dipende piuttosto dal fatto che il codice che richiede l'informazione sia in esecuzione. Se si desidera modificare un comportamento dei driver del dispositivo USB del kernel in base alla velocità di connessione, la struttura usb_device passata al driver dal sottosistema USB contiene un'enumerazione della velocità. Se si desidera un'applicazione nello spazio utente per rilevare la velocità di connessione dei dispositivi, provare a camminare su/sys/bus/usb tree per poter identificare il dispositivo USB controllando le voci idProduct e idVendor. Una volta che hai una partita, la voce di velocità ti darà quello che ti serve. Se sono collegati più dispositivi, potrebbe essere necessario trovare un modo per associare l'ID USB a un dispositivo specifico. Generalmente le mappature da USB a dispositivo variano in base a qualsiasi supporto hot plug presente sia che il dispositivo fornisca un numero seriale che il sottosistema che astrae la funzionalità fornita dal dispositivo USB.
Questo appartiene all'errore del server o è necessario specificare quale lingua si desidera utilizzare. –
Non essere stupido: i dispositivi incorporati non hanno amministratori di server (e nemmeno le persone che eseguono il codice su di essi "utenti", quindi non è nemmeno una domanda da superuser!). È chiaramente una domanda sullo sviluppo di ** incorporato **, che richiede informazioni sulla programmazione per funzioni specifiche del sistema operativo. – caf
Tutto ciò che serve è lsusb -t – sMyles