Instalando driver Wavlink WL-UG7601HC no ubuntu 24.04 (pop-os)

{
  distro: "ubuntu 24.04 / pop-os",
  os: "Pop!_OS 22.04 LTS",
  windowing: "X11",
  gnome: "42.9",
  hardware: "notebook / Acer Nitro AN517-52"
  processor: "Intel® Core™ i7-10750H CPU @ 2.60GHz × 12 "
  graphics: "NVIDIA Corporation TU117M [GeForce GTX 1650 Mobile / Max-Q]"
  displays: ["Built-in Acer", "LG Ultrawide 29 29UM69G-B", "Philips 234E5"]
}

Wavlink WL-UG7601HC (TL;TR)

Motivação, após conseguir instalar o driver sugerido no tópico relacionado, observei que ao retornar da suspensão de sessão, o vídeo parava de funcionar (tela preta).

Verifiquei se o device ainda era encontrado.

cat /sys/bus/usb/devices/*/manufacturer  | grep "Silicon_Motion" -c

Serviço rodando SMIUSBDisplayManager, aparentemente tudo, deveria estar funcionando, mas o “driver” não retornava como esperado da suspensão.

Reiniciei o serviço para avaliar se por alguma razão ele parou e não retomou após a suspensão.

systemctl restart smiusbdisplay

Sucesso no test, o vídeo voltou a funcionar normalmente.

Na sequência procurei uma maneira de “observar” o “post” da suspensão de sessão. Em resumo, o retorno da suspensão.

E então segue o que fiz.
OBS: Existem várias formas de resolver o mesmo problema, a diferença está no conhecimento, tanto de bash, da distro/flavor e problema, sendo assim, encare como um caminho, fique livre para criar a sua maneira.

Fui até o diretório do systemmd responsável pelo target sleep/suspend:

cd /lib/systemd/system-sleep/

Copiei um dos scripts existentes para manter as permissões:

sudo cp -p script-existente-no-diretorio smiusbdisplay-reload

Pule essa parte se seu usuário já for root. Adicione permissão para seu usuário.

sudo chown -R seuusuario:root  ./smiusbdisplay-reload

Limpe o arquivo:

sudo echo "" >  ./smiusbdisplay-reload

Edite o arquivo com vim ou nano (ou outro de sua preferência)

sudo vim smiusbdisplay-reload

Cole esse script:

#!/bin/sh

PATH=/sbin:/usr/sbin:/bin:/usr/bin

# This script reloads the smiusbdisplay service.

case "$1" in
        pre)
                echo "nothing to do with smiusbdisplay pre sleep"
        ;;
        post)

               # if ["$(cat /sys/bus/usb/devices/*/manufacturer  | grep "Silicon_Motion" -c)" != "0"]; then
                        echo "restart smiusbdisplay post sleep"
                        systemctl restart smiusbdisplay
               # fi
        ;;
esac

exit 0

Caso tenha algum problema com a posição das janelas, essas abertas antes da suspensão, e caso não tenha um Gerenciador de Sessão (de janelas), fica a dica para “Another Window Session Manager”, nas suas configurações, peça para restaurar após o restart, salvando as janelas e movendo para os devidos workspaces.

É isso pessoal, espero que ajude alguém, se ficar curioso, dá uma olhada no tópico relacionado.


Driver: Download

Instruções para instalação do driver: PDF


Tópico relacionado:
*[Adaptador wavlink WL-UG7601HC ubuntu 24.04 não funciona]

Resposta útil:
plus.diolinux.com.br/t/adaptador-wavlink-wl-ug7601hc-ubuntu-24-04-nao-funciona/64689/2?u=fa8iol3al


Assuntos relacionados: wavlink, SiliconMotion, WL-UG7601HC, smiusbdisplay, SMIUSBDisplayManager, SMIUSBDisplayMa, evdi