Skript na vytiahnutie/doplnenie portu do príkazu

Sekcia: Ostatné 13.08.2020 | 00:45
Avatar Pavel Q4OS KDE  Administrátor

Ahojte, potreboval by som poradiť ohľadom jedného skriptu. Na jednom staršom Delle mám nahodený Emmabuntüs a na net sa pripájam externou wifinou TL-WN822N. Problém je v tom, že pri niektorom štarte potrebujem softvérovo reštartnúť usb port. Noo a tak ma napadlo, nedal by sa vytvoriť skript, ktorý by zadal skôr cestu k skriptu cd /home/dumaru/resetusb/, následne by z príkazu sudo python reset_usb.py list vytiahol správny port pridelený k wifine a doplnil ho k príkazu na reštart sudo python reset_usb.py path /dev/bus/usb/port?

Po zadaní príkazu sudo python reset_usb.py list musím nájsť z výpisu port patriaci k wifine:

path=/dev/bus/usb/004/003
    description=TP-Link TL-WN822N Version 4 RTL8192EU
    manufacturer=Realtek
    device=802.11n NIC

A následne port manuále dopĺňam do príkazu:

dumaru@dell:~/resetusb$ sudo python reset_usb.py path /dev/bus/usb/004/003
Resetting device: /dev/bus/usb/004/003
Successfully reset /dev/bus/usb/004/003

A toto celé by som chcel nejako zautomatizovať cez skript ak je to možné. Samozrejme že ma nezabije raz za čas po zistení portu prepísať dve čísla, ale aj tak by som si to chcel zjednodušiť. Ďakujem za tipy,,,

    • RE: Skript na vytiahnutie/doplnenie portu do príkazu 13.08.2020 | 09:32
      Avatar samalama   Návštevník
      wifi_path="$(sudo python reset_usb.py list | \
                   grep -B1 'description=TP-Link TL-WN822N Version 4 RTL8192EU' | \
                   awk -F '=' '/^path=/ { print $2 }')"
      
      sudo python reset_usb.py path $wifi_path
      
      • RE: Skript na vytiahnutie/doplnenie portu do príkazu 13.08.2020 | 09:40
        Avatar samalama   Návštevník

        pripadne este tam dat primitivnu kontrolu medzi to:

        if [ -z "$wifi_path" -o ! -c "$wifi_path" ]; then
            echo "daco zle"
            exit 1
        fi

        s tym "-c" som si nie uplne isty, neviem aky typ device je wifi...

        • RE: Skript na vytiahnutie/doplnenie portu do príkazu 13.08.2020 | 09:48
          Avatar samalama   Návštevník

          pripadne nahradit python list:

          lsusb | awk '/0000:0000/ { print "/dev/bus/usb/" $2 "/" $4 }' | tr -d ':'

          za 0000:0000 treba dosadit vendorId:productId wifi karty...

      • RE: Skript na vytiahnutie/doplnenie portu do príkazu 13.08.2020 | 15:36
        Avatar Pavel Q4OS KDE  Administrátor

        Ďakujem, vyskúšam,,,