Puncte:2

Ubuntu 20.04: rotița de derulare nu funcționează pentru mouse-ul fără fir după ce sistemul se trezește sau la prima conectare

drapel in

Am un Lenovo ThinkPad E15 nou care a venit cu Windows 10 instalat. Am adăugat Ubuntu 20.04 ca opțiune (dual-boot).

Ori de câte ori laptopul doarme (intră într-o stare de „suspend”) și apoi îl trezesc, rotița de defilare a mouse-ului fără fir Logitech nu funcționează. („Combo de tastatură și mouse fără fir Logitech MK270”, dar singurul lucru care nu funcționează este rotița de defilare.)

Apoi îi deconectez cheia USB-A și o rebranșez (deseori trebuie să fac asta de mai multe ori), iar apoi roata mouse-ului funcționează din nou.

Nu vreau să ating deloc mufa USB. Ar trebui să funcționeze întotdeauna. Cum pot remedia asta?

P.S. Întrebarea mea este foarte asemănătoare cu Ubuntu 20.04: Scroll nu funcționează pentru mouse-ul fără fir după ce sistemul se trezește din starea suspendată, care nu are încă un răspuns.

P.P.S. Am confirmat că comutator USB în configurația mea este nu legat de problema. Problema apare chiar și atunci când micul dongle USB Logitech este conectat direct la laptop.

Ryan avatar
drapel in
Vedeți și https://unix.stackexchange.com/questions/309247/linux-mouse-freezes-after-suspend. `sudo modprobe -r hid_logitech_dj && sudo modprobe -r usbhid && sudo modprobe hid_logitech_dj && sudo modprobe usbhid` a deconectat și reconectat mouse-ul USB, dar roata lui tot nu funcționează (cu excepția cazului în care deconectam și reconectam fizic).
Ryan avatar
drapel in
Am încercat, de asemenea, `sudo modprobe -r hid_logitech_dj && sudo modprobe -r logitech-djreceiver && sudo modprobe -r logitech-hidpp-device && sudo modprobe -r usbhid && sudo modprobe hid_logitech_dj && sudo modprobe& sudo modprobe& sudo modprobe & sudo modprobe & sudo modprobe logitech-hidpp-device`, dar a primit o eroare `FATAL: Modulul logitech-djreceiver nu a fost găsit.`
Rho avatar
drapel cn
Rho
Bună @Ryan: încercați să vă conectați comenzile cu „;” în loc de „&&” și verificați din nou (acest lucru va continua executarea comenzilor chiar dacă primiți o eroare de la unul dintre ele). În ceea ce privește rezultatul pe care l-ați postat, se pare că nu aveți instalat logitech-djreceiver, așa că aș încerca să merg de acolo. Încercați o instalare nouă și apoi rulați secvența modprobe. Sper ca ajuta. Noroc.
emk2203 avatar
drapel in
Nu pot spune cu certitudine dacă vă rezolvă problema *, dar am una foarte asemănătoare și am vrut doar să postez o întrebare. Ce am găsit până acum pentru mine te poate ajuta: `modprobe` nu ajută, deoarece modulele nu sunt încărcate. Ceea ce ajută este o resetare a magistralei USB. Puteți căuta ID-ul USB al dispozitivului cu `lsusb`. Instalați `usbutils` și lansați `usbreset `. După aceasta, dispozitivul ar trebui să fie recunoscut din nou fără a deconecta și reconecta. Un serviciu systemctl similar cu acest răspuns ar trebui să îl automatizeze: https://unix.stackexchange.com/a/227293/140914
Puncte:2
drapel in

modprobe nu ajută aici, cea mai bună șansă este să resetați magistrala USB pentru acest dispozitiv care funcționează defectuos sau lipsește.

Căutați ID-ul USB sub formă de VID:PID al dispozitivului cu lsusb. Instalare usbutile si problema usbreset VID:PID. După aceasta, dispozitivul ar trebui să funcționeze din nou fără a deconecta și reconecta. Resetarea autobuzului nu este exact egală, dar ar trebui să fie suficient de aproape.

Pentru a automatiza această acțiune, faceți a serviciul systemctl pentru aceasta:

sudo vim /etc/systemd/system/[email protected]

Lipiți aceste rânduri și salvați fișierul:

[Unitate]
Description="Resetați un dispozitiv USB după reluarea sistemului"
După=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target

[Serviciu]
Type=onehot
ExecStart=/usr/bin/usbreset %i

[Instalare]
WantedBy=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target

Amintiți-vă valoarea VID:PID de la care ați primit-o lsusb.

De exemplu, poate că a fost 0bda:5411.

Activați/porniți serviciul rulând o comandă ca: sudo systemctl start reset-usb-upon-wake@VID:PID.service, precum sudo systemctl start reset-usb-upon-wake@0bda:5411.service.

În acest fel, chiar dacă aveți mai multe dispozitive care au nevoie de acest tip de serviciu, toate pot folosi acest fișier de serviciu unic.

Ryan avatar
drapel in
Multumesc pentru acest raspuns. Încerc acum și întâmpin câteva probleme. Îți voi edita răspunsul de mai sus cu ceea ce cred că ar putea funcționa. Și mă voi întoarce aici când voi afla mai multe.
Ryan avatar
drapel in
Nu cred că am treaba asta. Când mi-am trezit computerul din hibernare azi dimineață, rotița de defilare nu a funcționat. Asta înseamnă că am nevoie de mai multe fișiere de service? Există vreo modalitate de a face acest lucru să funcționeze și la trezirea în hibernare și la prima pornire? Mulțumiri! :-)
emk2203 avatar
drapel in
Mai întâi, uitați-vă în jurnalul systemd pentru a vedea dacă totul a fost configurat corect: porniți computerul, intrați în somn, reluați și apoi utilizați `journalctl -b` pentru a vedea totul de la ultima pornire. Uitați-vă dacă serviciul dvs. a funcționat după reluare. Dacă a făcut-o, sunt șanse ca metoda de resetare USB să nu fie, din păcate, suficientă în cazul dvs. Dacă resetarea usb nu funcționează, e puțin de făcut doar cu software-ul, mă tem.
emk2203 avatar
drapel in
Oprirea și pornirea mouse-ului ar putea fi cea mai bună soluție dacă încercările software-ului eșuează.
Ryan avatar
drapel in
Voi încerca să modific pe baza https://unix.stackexchange.com/a/492497/48973
Ryan avatar
drapel in
Până acum, sunt destul de sigur că rularea „sudo systemctl start reset-usb-upon-wake@046d:c534.service” a funcționat de fiecare dată, dar apoi apăsă în mod ciudat în mod continuu „Enter” (aparent) în terminal, provocând terminalul să deruleze la nesfârșit până introduc o nouă comandă. Așa că aș dori să repar asta și, de asemenea, încă nu am apucat să ruleze automat la trezire. Voi edita răspunsul de mai sus pentru a arăta ce am încercat.
Ryan avatar
drapel in
În jurnal, văd acest lucru, ceea ce *implică* că a funcționat: `11 ianuarie 09:05:22 ThinkPad-E15-Gen-2 systemd[1]: Pornirea „Resetați un dispozitiv USB după reluarea sistemului”... 11 ianuarie 09:05:22 Nucleu ThinkPad-E15-Gen-2: usb 3-5.3: resetați dispozitivul USB de viteză maximă numărul 16 folosind xhci_hcd 11 ianuarie 09:05:22 ThinkPad-E15-Gen-2 usbreset[12310]: Resetarea receptorului USB... ok 11 ianuarie 09:05:22 ThinkPad-E15-Gen-2 systemd[1]: reset-usb-upon-wake@046d:c534.service: Reușit. 11 ianuarie 09:05:22 ThinkPad-E15-Gen-2 systemd[1]: S-a terminat „Resetați un dispozitiv USB după reluarea sistemului”. `
Ryan avatar
drapel in
...dar rotița de defilare a mouse-ului nu a funcționat *de fapt* până când am deschis terminalul și am rulat manual acel serviciu. Vreo idee? Mulțumiri.
Ryan avatar
drapel in
Am acordat o grămadă de puncte chiar dacă încă nu știu cum să-mi rezolv problema (pentru că am apreciat foarte mult efortul tău continuu). :-)
emk2203 avatar
drapel in
Îmi pare rău că am lipsit o perioadă. Se pare că există unele ciudații cu hardware-ul/software-ul și *ar trebui* să funcționeze, dar, în realitate, lucrurile stau diferit. Ați putea încerca o a doua resetare prin intermediul serviciului, poate cu o pauză de 1 secundă între ele, și sperați că acest lucru vă va ajuta, sau poate încercați un alt nucleu pentru a vedea dacă driverul a primit niște actualizări și funcționează cu o versiune mai nouă. Puteți încerca poate cu un USB live al dezvoltării 22.04. Are kernel 5.15, o versiune LTS, cu multe îmbunătățiri. Dacă funcționează, poate folosiți kernelul 5.15 în versiunea 20.04. Multumesc pentru puncte!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.