Line-in line-out

Jak pisałem, terminal HP T630 ma interesujące rozwiązanie dotyczące portów line-in oraz line-out. Posiada jedno gniazdo, oznaczone na obydwa sposoby. Trzeba zatem jakoś wybrać funkcję tegoż gniazda. Ewentualnie zmienić tryb działania z line-in na line-out.

Ci, którzy opowiadają anegdotki o uruchamianiu dźwięku pod Linuksem mogą sobie dopisać ten przypadek do kolekcji[1]. Bowiem ani nie działało od kopa, ani rozwiązanie nie było proste, czy oczywiste. Na plus – było graficzne. Żadnej edycji plików konfiguracyjnych w ulubionym edytorze tekstowym. Ale po kolei…

Zaczęło się tak, że po instalacji systemu i środowiska graficznego włączyłem jakiś klip na YouTube w przeglądarce, by sprawdzić, czy wszystko działa płynnie. Obraz działał, ale dźwięku nie było. Na wszelki wypadek sprawdziłem, czy wieża jest włączona i nie jest wyciszona – nie była. Sprawdziłem też głośność w systemie – dźwięk nie był wyciszony. Widget sterował właściwym – na oko – urządzeniem. Uruchomiłem mikser i nawet pokazywało, że przeglądarka coś tam gra. Znaczy powinno grać. Tyle, że niczego nie było słychać.

Spojrzałem na urządzenia wyjściowe i od razu sprawa była jasna – dźwięk był kierowany na HDMI. A przecież mój monitor głośników nie ma. Zmieniam zatem wyjście i… zonk. Do wyboru miałem albo HDMI, albo gniazdo słuchawkowe. Dla przypomnienia – jest ono z przodu obudowy, więc kabel tam wpięty wyglądałby nieestetycznie. No ale dla testu można przepiąć… Zgodnie z przewidywaniami, po wpięciu w gniazdo słuchawkowe, wszystko działało. No dobrze, to gdzie się podział line-out?

Przejrzałem wszystkie opcje w mikserze. Parafrazując im bardziej Puchatek zaglądał w różne opcje, tym bardziej line-out nie było. W tym momencie przyszło mi do głowy, że pewnie to jakaś funkcja modułu odpowiadającego za obsługę dźwięku. Czyli pewnie wystarczy załadować moduł z odpowiednimi parametrami i dźwięk będzie. Nie wiem, czy bardziej wyszedłem z wprawy, bo dawno takich rzeczy nie robiłem, czy miałem pecha. W każdym razie modułów z snd w nazwie załadowanych było całkiem sporo. I jakoś wybierając co sensowniejsze z nazwy i uruchamiając modinfo nie zauważyłem stosownej opcji.

Pomyślałem, że na pewno nie jestem pierwszy z takim problemem i uruchomiłem wyszukiwarkę. Znalezienie stosownej frazy do wyszukiwarki nie jest proste. Tym bardziej, że nie bardzo mogłem się zdecydować, czy szukać konkretnie dla HP T630, czy dla układu obsługującego dźwięk, czy może ogólnie dla Linuksa.

Ostatecznie trafiłem na ten wpis opisujący jak zmienić funkcję portów pod Linuksem. Przy pomocy opisywanego programu hdajackretask pochodzącego z pakietu alsa-tools-gui można sobie wyklikać stosowne mapowanie line-in na line-out, zmienić mikrofon w wyjście audio itp. Oczywiście zadziała tylko dla programowalnych układów, dających taką możliwość. I tak, chodzi o parametry modułu jądra audio. Czyli nie ma magii, za to jest GUI.

[1] Swoją drogą  ciekaw jestem jak zmienia się to pod Windows. T630 sprzedawany był „bez systemu”, ale miał zainstalowany oryginalny, bodajże holenderski, Windows. Niestety, nie przewidziałem, że będzie taka ciekawostka do sprawdzenia i usunąłem go przy instalacji.

VSCodium na Debianie

Jak pisałem wcześniej, nadchodzi koniec edytora Atom. Z pewnych względów, na maszynie służbowej i tak zacząłem korzystać z Visual Studio Code . Dlatego postanowiłem przyspieszyć proces migracji także na prywatnej maszynie. VSC nie było złe, więc zgodnie z zapowiedzią dałem szansę VSCodium.

Czym jest VSCodium?

VSCodium to fork microsoftowego Visual Studio Code, zbudowany z otwartego kodu źródłowego, dostępny na wolnej licencji. Dodatkowo pozbawiony dodatków od Microsoft służących do zbierania telemetrii/śledzenia. Poza tym, wszystko powinno działać tak samo.

VSCodium logo
Źródło: https://vscodium.com/

Instalacja VSCodium

Na początek instalacja pod Debianem. Z tego co widzę, na Ubuntu będzie identycznie. Szczęśliwie dostępne jest repozytorium pakietów deb. Skorzystałem z opisu instalacji spod tego linka: https://www.linuxcapable.com/how-to-install-vscodium-on-debian-11-bullseye/. Wersja skrócona poniżej.

Dodajemy klucz GPG do zaufanych:

curl https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor > /etc/apt/trusted.gpg.d/vscodium.gpg

Dodajemy źródło pakietów:

echo "deb https://download.vscodium.com/debs vscodium main" > /etc/apt/sources.list.d/vscodium.list

Po tym zostaje już tylko aktualizacja danych o repozytoriach i instalacja pakietu codium:

apt update; apt install codium

Wtyczki z marketplace

Nieprzypadkowo napisałem, że wszystko powinno działać tak samo. Słowo powinno powinno dać do myślenia. Otóż po instalacji pozwoliłem sobie „ściągnąć” konfigurację, a w zasadzie używane wtyczki, z marketplace od kolegi z pracy, korzystającego z VSC. Mocno się zdziwiłem, bo większość potrzebnych wtyczek, tych od Microsoft, nie była w VSCodium dostępna do instalacji. Nie drążyłem wtedy tematu i po prostu zainstalowałem VSC.

Jednak po szybkim zbadaniu tematu okazuje się, że nie ma najmniejszego problemu z korzystaniem z marketplace Microsoft w VSCodium. Zgodnie z tym, co piszą w dokumentacji, wystarczy w pliku

~/.config/VSCodium/product.json

dodać stosowną zawartość, czyli:

{
  "extensionsGallery": {
    "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
    "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
    "itemUrl": "https://marketplace.visualstudio.com/items",
    "controlUrl": "",
    "recommendationsUrl": ""
  }
}

I możemy cieszyć się dostępem do wtyczek zupełnie jak w Visual Studio Code.

Wtyczki

Nie ukrywam, że bardziej podobało mi się działanie wtyczek w Atomie. Na przykład isort wywołany tamże po prostu sortował wszystkie importy. W przypadku VSC nie ma tak dobrze. Z tego co udało mi się znaleźć, można „naprawić” pojedynczy import.

Istnieje obejście, które jest podpowiadane w opisie konfiguracji wtyczki, czyli dodanie do settings odpowiedniej sekcji. Jest to nieco nieintuicyjne, bo w czytamy to będąc w… ustawieniach, czyli settings. Chodzi jednak o inne settings. Jak znalazłem pod tym linkiem, trzeba zmienić zawartość pliku

~/.config/Code/User/settings.json

Na razie tyle. Z doświadczeń w pracy wynika, że spokojnie da się żyć z VSC zamiast Atoma. Na razie pracuje mi się w VSC gorzej, ale raczej chodzi o drobną zmianę przyzwyczajeń i dokładniejsze poznanie nowego programu. Z wyboru zamiennika jestem wstępnie zadowolony.

Gosund SP-111 cz. 2

W tej części cyklu wpisów o Gosund SP-111 opiszę moje perypetie związane z wymianą firmware. Zaczęło się od tego, że chciałem uzyskać możliwość sterowania urządzeniem bez dostępu do internetu. O tym, czemu miałem takie wymaganie może następnym razem. W każdym razie urządzenie posiada wsparcie w otwartych firmware, np. obsługiwane jest przez Tasmota.

Wgrywanie Tasmota bez kabli

Istnieją opisy jak flashować Gosund SP-111 rozkręcając gniazdko i podłączając przewody. Choć posiadam sprzęt, wolałem tego uniknać, dlatego ucieszyłem się, znajdując ten opis bezprzewodowej wymiany firmware przy pomocy tuya-convert. Doczytałem gdzieś, że najlepiej nie pozwolić urządzeniu łączyć się z internetem, tylko od razu przystąpić do flashowania. Chodzi o uniknięcie aktualizacji oprogramowania – podobno nowe wersje mają jakieś zabezpieczenia przed aktualizacją przez tuya-convert.

Po krótkiej zabawie najpierw z Orange Pi, następnie Banana Pi doszedłem do tego, że trzeba trochę powalczyć z konfiguracją, zmieniając nazwę urządzenia sieciowego. Karta wbudowana w Orange Pi nie działała, z kolei sam system nie widział mojej karty na USB, stąd ostatecznie przełączenie na Banana Pi. Niestety, mimo trzymania się i opisu, i instrukcji ze strony projektu, nie udało się wgrać oprogramowania przy pomocy tuya-convert. Ani korzystając z głównej gałęzi oprogramowania, ani z wersji developerskiej.

Oryginalne oprogramowanie i API

Stwierdziłem, że pora wypróbować oryginalne oprogramowanie i zobaczyć, czy urządzenie w ogóle jest sprawne. Zainstalowałem aplikację, zarejestrowałem konto, podłączyłem – wszystko działa. Chyba zaktualizowałem oprogramowanie producenta. Albo zrobiło się to samo? Nie pamiętam. Okazało się również, że powinno dać się uzyskać klucz API umożliwiający sterowanie z użyciem oryginalnego oprogramowania. Po szczegóły odsyłam do projektu tuyapi. Jednak gdy zobaczyłem, że mam zakładać kolejne konto, w kolejnym serwisie, zwątpiłem.

Podszedłem jeszcze raz do flashowania przy pomocy tuya-convert i… tym razem udało się od kopa. Nie wiem czy znaczenie miała aktywacja z oryginalnym oprogramowaniem, czy ew. aktualizacja firmware producenta. Po prostu się firmware się sflashował i… cegła. Krótki błysk po włączeniu zasilanie i tyle. Logi też nie nastrajały optymistycznie, ostatnie co było widać to:

smarthack-web.log:[I 211220 22:07:17 web:2239] 200 GET /files/upgrade.bin (10.42.42.12) 4003.81ms

Wgranie oprogramowania przy pomocy konwertera FTDI

Czyli przyszła pora przeprosić się z kabelkami. Skorzystałem z tego opisu i wgrania firmware przy pomocy esptool. W zasadzie uznałbym go za bardzo dobry, jednak przestrzegam przed poleganiem na kolorach kabli ze zdjęć. Zawsze należy czytać opisy pinów i łączyć zgodnie z opisem. Wpis ten jest dobrym przykładem, bo zdjęcie konwertera FTDI pochodzi bowiem prawdopodobnie z innego podłączenia, niż zdjęcie samego Gosund SP-111 z podłączonymi kabelkami. Tak czy inaczej, opis jest dobry, uwagi dotyczące zaostrzenia pinów czy użycia taśmy klejącej jak najbardziej na miejscu. Oczywiście całą operację flashowania i podłączania kabelków wykonujemy na urządzeniu wypiętym z gniazdka 230V.

Flashowanie „po kablu” przebiegło poprawnie i bez niespodzianek, włożyłem Gosund SP-111 do gniazdka, włączyłem zasilanie i… znowu krótki błysk i zupełna ciemność, całkiem jak po flashowaniu bezprzewodowym.

Tym razem jednak coś mnie tknęło, albo przeczytałem w którymś opisie i przeskanowałem dostępne sieci WiFi. I oczywiście, znalazł się tam nowy AP, po podłączeniu którego mogłem skonfigurować urządzenie. Czyli prawdopodobnie podmiana oprogramowania przy pomocy tuya-convert także była skuteczna. To, czego nie wiedziałem, to fakt, że zachowaniem LED steruje się przy pomocy template’u, który wgrywa się samodzielnie, później.

Jednym słowem, nie ma to jak utrudnić sobie życie i wypróbować wiele sposobów. Grunt jednak, że udało się dotrzeć do szczęśliwego finału, czyli mój Gosund SP-111 działa pod kontrolą otwartego firmware w postaci Tasmota.