Não vou mentir, a unidade em si é um teclado Ajazz AKP846, funciona em grande parte, o único componente com defeito é o display interno.
Os componentes relevantes do buffer circular do kernel são:
[ 9169.404509] hid-generic 0003:28E9:3012.001C: hiddev4,hidraw12: USB HID v1.11 Device [SmartCloud AKP846] on usb-0000:00:14.0-11.2.4/input3
[ 9169.628073] usb 1-11.2.7: new high-speed USB device number 26 using xhci_hcd
[ 9169.733409] usb 1-11.2.7: New USB device found, idVendor=34c7, idProduct=2114, bcdDevice= 0.00
[ 9169.733414] usb 1-11.2.7: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 9169.733415] usb 1-11.2.7: Product: USB DISP
[ 9169.733416] usb 1-11.2.7: Manufacturer: RACERTECH
[ 9169.733417] usb 1-11.2.7: SerialNumber: 888888888
Procurei o driver de vídeo OEM e comecei a ler o código-fonte, onde vi uma dependência para drivers de link de vídeo evdi e prossegui com a instalação dos drivers de link de vídeo com evdi.
Embora eu consiga executar o evdi, não consigo fazer com que o dispositivo seja reconhecido como um monitor. Admito que este é meu primeiro dispositivo de exibição USB (a unidade inteira funciona como um hub, com teclado, codificador, monitor, tela sensível ao toque e armazenamento).
em qualquer caso, o link de exibição foi instalado corretamente, e o driver RACERTech parece funcionar sem erros, mas estou tendo dificuldades para descobrir como atribuir o vídeo.
Estou no Ubuntu Mate 22.04, com X11.
Link para os drivers RACERTECH: https://www.racer-tech.com/en/file-share
link para configuração do link de exibição: https://www.synaptics.com/products/displaylink-graphics/downloads/ubuntu
Eu tentei usar o monitor como um monitor normal e procurei por ele como um dispositivo de buffer de quadros. com sudo modprobe udl
esudo modprobe uevdi
nada aparece no /dev/fb* ou com xrandr --querry, então acho que devo estar confuso.
Como faço para que este dispositivo de exibição USB funcione no Ubuntu?
Consegui fazer funcionar e sei exatamente como, mas fiz no Linux Mint. Deve funcionar em qualquer Ubuntu ou derivados. Testei desde então e posso confirmar sua funcionalidade no Ubuntu, Mint e Debian.
Instale o software DisplayLink. https://www.synaptics.com/products/displaylink-graphics/downloads/ubuntu . Crie o repositório ou use o instalador de script de shell. Instale outras dependências do pacote:
sudo apt install libxrandr-dev i2c-tools evdi-dkms dkms libdrm-dev libssl-dev displaylink-driver xdg-utils
crie o diretório de inicialização automática em
$HOME/.config/autostart
$touch displayLink.desktop
escreva isso no displayLink.desktop
Observe que o XDG-utils ainda não suporta o uso de variáveis de ambiente; você deve usar caminhos absolutos. Escrevi para o pessoal do XDG sobre isso, mas ainda não recebi nenhuma resposta.
crie este script de shell displayLink.sh
Adicionar modo se ainda não estiver presente
Adicionar modo ao dispositivo DisplayLink
Posicione-o à direita da sua TV (ajuste se necessário)
################################## Reinicie. O driver do link de exibição será carregado e o arquivo de configuração de inicialização automática carregará as configurações relevantes, se presentes. Pode ser necessário fazer pequenos ajustes para o seu caso de uso.
## ...
Lendo e gravando EDIDs de e para meus outros monitores e TVs, percebi que há um monte de mensagens codificadas na EEPROM. MFG, marca, modelo e número de série são strings hexadecimais, mas havia outras informações incoerentes. Você pode observar isso instalando o i2c-tools e executando
sudo get-edid
o que fará duas coisas: 1. informar em qual barramento seu dispositivo I2C está e 2. exibir uma mensagem enigmática e mal formatada sobre o dispositivo.Aprendi sobre edid-decode
sudo apt install edid-decode
e já sabia que os outros dispositivos de vídeo i2c aparecem em /sys/class/drm/.../edid.Eu costumava
dmesg | grep -i edid
descobrir qual seria o nome do dispositivo naquele diretório (card2-DVI-I-2) e então executei edid-decode nele.OK, ok, o edid não corresponde aos IDs USB, mas tudo bem, isso é informação suficiente para criar um arquivo de configuração x11.
reinicie. e agora funciona!
