Softvérový reštart USB portu

Sekcia: Konfigurácia 12.05.2020 | 09:51
Avatar Pavel Linux  Administrátor

Ahojte, tuším som túto tému už načal v minulosti ale vrátim sa k tomu. Na jeden starší Dell 755ku som nahodil Linux Mint s Xfce a na pripojenie na net som použil externú wifinu TP-LINK WN822N. Pri niektorom štarte LM sa wifina nechytí a musím ju vytiahnuť a naspäť zasunúť do usbčka, toto ak sa nemýlim robila aj v iných distrách. A tak ma napadla otázka, nedá sa softvérovo nejakým skriptom alebo príkazom reštartnúť konkrétny USB port? Počítač mám u rodičov, takže sa neviem momentálne dostať k detailnejším informáciám, to ma len teraz napadlo,,,

    • RE: Softvérový reštart USB portu 12.05.2020 | 10:42
      Avatar WlaSaTy   Návštevník

      Dá, samozrejme že dá. Nestačilo by ale vypnúť a zapnúť sieť cez network manager (nmcli conn down,up "názov")? Ďalšia možnosť je odčítať a znovu načítať ovládač (modprobe -vr ovladac.ko; sleep 5; modprobe -v ovladac.ko), ale to chce roota. A až na koniec by som riešil detektívku so SW odpájaním a zapojením špecifického portu ktoré ublbne keďže veľa krát je tých 5V na pevno zapnutých.

      • RE: Softvérový reštart USB portu 12.05.2020 | 12:02
        Avatar Pavel Linux  Administrátor

        Ide mi len o to, aby som sa nemusel fyzicky hrabať vzadu v bedni zakaždým, keď wifina nenabehne, kľudne aj príkaz pod rootom.

        • RE: Softvérový reštart USB portu 12.05.2020 | 13:16
          Avatar redhawk75 Devuan, mx, antiX, Ka:sen, TCL  Používateľ
        • RE: Softvérový reštart USB portu 12.05.2020 | 13:43
          Avatar WlaSaTy   Návštevník

          Áno, podobne som to používal aj ja, ale nerobil som reset zariadenia. Občas mi ten jednoduchý reset totižto nechal dané zariadenie v stave, keď mu vytuhol firmware a musel som ho potom vytiahnuť, nechať chvíľu vychladnúť a až potom zasunúť. Preto som to robil jednoduchým reštartom konekcie, alebo vyhodením a znovu načítaním ovládačov.

    • RE: Softvérový reštart USB portu 12.05.2020 | 13:14
      Avatar redhawk75 Devuan, mx, antiX, Ka:sen, TCL  Používateľ
      /* usbreset -- send a USB port reset to a USB device */
      
      #include <stdio.h>
      #include <unistd.h>
      #include <fcntl.h>
      #include <errno.h>
      #include <sys/ioctl.h>
      
      #include <linux/usbdevice_fs.h>
      
      
      int main(int argc, char **argv)
      {
          const char *filename;
          int fd;
          int rc;
      
          if (argc != 2) {
              fprintf(stderr, "Usage: usbreset device-filename\n");
              return 1;
          }
          filename = argv[1];
      
          fd = open(filename, O_WRONLY);
          if (fd < 0) {
              perror("Error opening output file");
              return 1;
          }
      
          printf("Resetting USB device %s\n", filename);
          rc = ioctl(fd, USBDEVFS_RESET, 0);
          if (rc < 0) {
              perror("Error in ioctl");
              return 1;
          }
          printf("Reset successful\n");
      
          close(fd);
          return 0;
      }

      ulozit ako usbreset.c

      skompilovat: 

      cc usbreset.c -o usbreset

      spravit spustitelnym:

      chmod +x usbreset
      

      spustit:

      sudo ./usbreset /dev/bus/usb/002/003 

       

      Zistenie portu lsusb Bus 002 Device 003: ID 0fe9:9010 DVICO  (002/003)

      • RE: Softvérový reštart USB portu 12.05.2020 | 13:22
        Avatar Pavel Linux  Administrátor

        Ďakujem, vyskúšam keď budem u rodičov, ak to bude fungovať tak super :-)

        • RE: Softvérový reštart USB portu 12.05.2020 | 13:25
          Avatar redhawk75 Devuan, mx, antiX, Ka:sen, TCL  Používateľ

          s tv kartou evolve mars to funguje. 

          treba skusit

      • RE: Softvérový reštart USB portu 13.06.2020 | 09:53
        Avatar Pavel Linux  Administrátor

        Tak som sa k tomu konečne dostal, pri kompilácii usbreset.c mi vyhadzovalo chybu. Na stránke ktorú si hodil bol aj link na resetusb a to funguje perfektne, ďakujem vyriešené:

        dumaru@dell:~/resetusb-master$ sudo python reset_usb.py path /dev/bus/usb/002/003
        [sudo] heslo pre používateľa dumaru:        
        Resetting device: /dev/bus/usb/002/003
        Successfully reset /dev/bus/usb/002/003
    • RE: Softvérový reštart USB portu 04.12.2020 | 19:45
      Avatar Pavel Linux  Administrátor

      Musím otvoriť túto tému. Práve som nahodil na starší Dell Linux Mint 20 s Xfce a potreboval by som rozhehať resetusb lebo mi neberie wifinu pri štarte. Neviete mi dať tip, ktorý balík by mohol obsahovať "príkaz" python? Predtým som resetusb používal v Emmabuntus a tam to šlo, LM tento balík ale nemá v základe.

      • RE: Softvérový reštart USB portu 04.12.2020 | 19:58
        Avatar bedňa LegacyIce-antiX  Administrátor

        Po prvé Pali programovací jazyk Python sa ešte stále "bohužiaľ" vyskytuje v dvoch prevedeniach Python 2 a Python 3, podľa distribúcie je nejaký predinštalovaný. Po rýchlom pohľade do zrojáku ide o Python 3, ten si doinštaluješ príkazom:

        sudo apt install python3

        Možno ho máš už aj nainštalovaný len ho nespúšťaj:

        python názov_scriptu

        ale aj z uvedenou verziou:

        python3 názov_scriptu

        Aktuálnu predvolenú verziu Pythonu zistíš príkazom:

        python -V
        Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
        • RE: Softvérový reštart USB portu 04.12.2020 | 21:07
          Avatar Pavel   Návštevník

          S hlbokým zármutkom v srdci musím oznámiť, že tento počítač ukončil svoju púť o cca 20tej hodine stredoeurópskeho času. Doska alebo radič, ale je to starý cárach, nejdem riešiť. Skôr sa mu nechcelo bootovať tak som odpojil dátový disk a nabehol, potom už vypisoval chyby aj s jedným diskom. Hlavne že som nahadzoval nanovo systém, som si myslel že ho rozsekám. Takže otázka je už irelevantná, ďakujem. A samozrejme viem že je Python programovací jazyk a presne som našiel v repozitároch rozdielne verzie.

          • RE: Softvérový reštart USB portu 04.12.2020 | 21:48
            Avatar bedňa LegacyIce-antiX  Administrátor

            Mne tiež kedysi zhebol radič disku, dosť zle sa to identifikuje, keď to chvíľami ide. To bolo v čase keď som používal ReiserFS a ten to vždy nejak prehrízol. Po teste s Ext3 disk umrel okamžite.

            Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
            • RE: Softvérový reštart USB portu 04.12.2020 | 23:04
              Avatar Pavel   Návštevník

              Presne a zisťuj čo je s kompom keď raz ide a o chvíľu nie, takto mi schrúmal tri inštalácie s Linuxom. Otázka znie či sa stalo aj niečo s ssdčkom, by som ho hodil do druhého kompu na pokusy s distrami. Alebo sa na to vyprdnem a objednám aj nový disk, aj tam chcem objednávať do druhého Dellu 780ky novú grafiku a webkameru, čo som tu riešil. Už som pokúpil toľko komponentov že som mohol mať nový komp. Keď ja mám slabosť pre vyradené pcčka z roboty a potom sa s nimi zabávam.