Solaar – parowanie urządzeń bezprzewodowych Logitech

Urządzenie bezprzewodowe podłączane do komputera składa się z właściwego urządzenia, oraz odbiornika, podłączanego do komputera. Ten ostatni jest niewielki, przez co łatwo go zgubić. Bywa też, że w środowisku, gdzie podobnych urządzeń jest wiele, urządzenia zostaną zamienione. Z racji częstego przenoszenia, niewielkich rozmiarów urządzeń i braku elementów charakterystycznych, opisywany problem dotyczy raczej myszy bezprzewodowych.

Mysz bezprzewodowa Logitech

Źródło: https://www.mwave.com.au/

Zatem tam, gdzie jest sporo bezprzewodowych urządzeń podobnego typu, na przykład w biurach, często zdarza się, że stopniowo pojawiają się zdekompletowane lub przemieszane zestawy bezprzewodowe. Teoretycznie niesprawne, ponieważ szybki test polegający na włożeniu nowej baterii i podłączeniu urządzenia nie da żadnych efektów. Urządzenie nie zadziała ze względu na nieprawidłowe parowanie urządzenia z odbiornikiem.

Jak dowiedziałem się niedawno podczas rozmowy o przydasiach, użytkownicy systemu Linux mają rozwiązanie na tego typu problemy. Przynajmniej dla wielu urządzeń firmy Logitech. Istnieje bowiem program Solaar, czyli narzędzie pozwalające na zarządzanie parowaniem urządzeń bezprzewodowych tej firmy.

W przypadku Ubuntu i Debiana wystarczy zainstalować pakiet solaar, a następnie uruchomić program. Użycie jest bardzo proste, wystarczy włączyć urządzenie, które ma być sparowane.

Poza umożliwieniem parowania z dowolnym odbiornikiem tego samego typu, daje ono – na niektórych urządzeniach – dostęp funkcji, do których standardowo nie ma dostępu. Praktycznie dla wszystkich urządzeń pozwala na odczyt stanu baterii (akumulatora!). Dzięki temu można zawczasu przygotować się do wymiany i uniknąć przykrej niespodzianki w postaci niespodziewanego rozładowania.

Dodatkowo program można teoretycznie wykorzystać do zmniejszenia ilości podłączonych urządzeń USB. Do jednego odbiornika można bowiem przypisać kilka urządzeń, np. mysz i klawiaturę, o ile korzystają z odbiornika tego samego typu. Nie testowałem jednak konfiguracji z podłączonymi jednocześnie kilkoma urządzeniami.

Tak czy inaczej, posiadając „niesprawne” lub zdekompletowane urządzenie firmy Logitech, niekoniecznie trzeba od razu je wyrzucać. Może się ono jeszcze komuś przydać. Jeśli istnieją podobne rozwiązania dla innych systemów, dajcie znać w komentarzach.

Debian SID jest czasem zepsuty

Niezbyt krótki wpis o urokach Linuksa na desktopie, o tym, że człowiek uczy się całe życie i o tym, czemu warto jednak korzystać z Debiana w wersji unstable AKA SID.

I przekornie zacznę od końca. Dawno temu przeczytałem świetny wpis o tym, dlaczego Debian unstable nie zasługuje na tę nazwę. Jak lubię Debiana i od dawna jest to mój podstawowy system na desktop, jeśli tylko mogę go używać (z polityką firmy się nie dyskutuje; nie każdy soft działa na Linuksie), tak używanie wersji stabilnej było nieco męczące, choćby ze względu na nieco stary soft. Przypominam, że było to w czasach, gdy backports nie były oficjalną częścią dystrybucji.

Radziłem sobie na różne sposoby – a to używając pakietów z wersji testing lub unstable, a to robiąc backporty. Jakoś to działało, ale wpis mi się spodobał i stwierdziłem, że dam szansę wersji unstable. Ku mojemu zaskoczeniu, zrobiło się dużo prościej i wcale nie mniej stabilnie. Rzekłbym nawet, że problemów z aktualizacją pakietów jest znacznie mniej, niż przy mieszaniu wersji. Nie to, że zawsze wszystko działa, ale konieczność downgrade pakietu, bo jakaś kluczowa funkcjonalność nie działa, zdarzyła mi się małe parę razy. W ciągu kilku lat.

No i właśnie, wróciłem z konfy, odpalam rano do kawy komputer, by sprawdzić pocztę i… nie wstał. Czarny ekran z kursorem, nawet nie migającym. Przejście do trybu tekstowego nie działa. I ciężko stwierdzić, która aktualizacja namieszała, bo zwykle usypiam laptopa, zamiast wyłączać. Smuteczek i zły moment.

W jakieś pół godziny nie udało mi się do niczego sensownego dojść, poszedłem do pracy. Po powrocie nie było wiele lepiej. Uruchomienie w single mode i aktualizacja pakietów nie pomogła, choć bardzo liczyłem na to.

Po krótkiej walce udało mi się za to ustalić, że wina leży w okolicy xorg. Tu słowo wyjaśnienia i ważna uwaga. Laptop to Dell Vostro 1440 i ma dwie karty graficzne. I zawsze były z nimi przygody, głównie za sprawą niedziałającego przełączania między nimi. Nie żeby mi jakoś specjalnie zależało na konkretnej – jak były działające sterowniki, to korzystałem z ATI, jeśli nie – z Intela, a przełączałem je przy pomocy zmiany konfiguracji w xorg.conf, dlatego w ogóle ten plik posiadam. Pamiętam, że kiedyś przestała działać mysz i klawiatura i musiałem dopisać stosowne sekcje w xorg.conf. I w ogóle przez lata zebrało się kilka wersji tych konfiguracji, chociaż gdzieś tak od dwóch korzytałem z tej samej.

W każdym razie, po nieco dłuższej walce z downgrade podejrzanych pakietów i zasięgnięciu języka na IRCu udało mi się uruchomić Xy, ale… znowu bez klawiatury i myszy. Dopisywanie stosownych sekcji w xorg.conf powodowało albo powrót do niedziałania grafiki, albo nie przynosiło efektów. Stwierdziłem, że pomysły mi się skończyły i pora na bardziej radykalne rozwiąznia, czyli sprawdzenie, jak też wygląda konfiguracja Xów i działanie pod Debianem live. I o dziwo nie miał najmniejszych problemów, mimo braku xorg.conf. Jednak Debian live jest oparty o wersję stabilną, nie unstable.

Wygenerowałem xorg.conf na live, potem jeszcze trochę poszukałem i znalazłem rozwiązanie. Okazało się, że wszystkie pakiety były w porządku, za to brakowało mi w systemie pakietu xserver-xorg-input-evdev – pewnie został usunięty przy ostatniej aktualizacji, a ja tego nie zauważyłem. Po jego doinstalowaniu zarówno klawiatura jak i mysz działają.

Pochwaliłem się na IRC (kanał debian-next na OFTC) i wywołałem spore zdziwienie. Po pierwsze, wszystko powinno działać bez xorg.conf. Za to warto mieć zainstalowane xserver-xorg-input-libinput oraz xserver-xorg-input-all, które to pakiety instalują się domyśnie przy instalacji xserver-xorg. Zapewne kiedyś były zainstalowane lecz usunąłem je przy jakichś problemach z aktualizacją pakietów – uroki SIDa. I stąd całe zamieszanie.

Piszę o tym, bo mimo wszystko polecam Debiana unstable na dekstop, a tego typu problemy to wyjątek. Nie zmienia faktu, że łącznie zeszły mi ze trzy godziny na przywrócenie pełnej funkcjonalności systemu. Pozostało mi doinstalowanie brakujących pakietów i wypróbowanie działania bez xorg.conf, ale chwilowo nie mam weny. Pewnie wkrótce zaktualizuję wpis.

UPDATE: Po doinstalowaniu obu brakujących pakietów i skasowaniu xorg.conf wszystko działa. Czyli całe zamieszanie z powodu przekombinowania było.

Termometr na USB

Dawno temu byłem zafascynowany prostym układem DS18S20, który działa za pośrednictwem 1-wire i umożliwia dokładny odczyt temperatury przez komputer. Schematów podłączenia termometru przez USB wtedy nie było, za to opisów podłączenia przez RS-232 była masa, koszt układu niewielki. Jedyne co powstrzymywało mnie wtedy przed uruchomieniem to… brak realnej potrzeby.

Potem sytuacja się zmieniła – port szeregowy zaczął w komputerach zanikać. A mnie coraz bardziej interesowała temperatura z wbudowanych czujników (płyta główna, dyski), a nie temperatura otoczenia. Były co prawda schematy jak to podłączyć przez USB, ale w stosunku do pierwowzoru rósł i poziom skomplikowania, i koszt.

Niedawno pojawiła się potrzeba (no dobra, powiedzmy, że potrzeba, bardziej pretekst), więc odświeżyłem temat. Okazało się, że istnieją tanie moduły PL2303HX USB UART, a także nieco nowsza wersja cyfrowych termometrów, oznaczona symbolem DS18B20. Różnica między wersjami w sumie pomijalna, z perspektywy tego wpisu. Każda z tych rzeczy to ok. 6 zł z dostawą (Allegro), a podłączenie jest jeszcze prostsze i nie wymaga żadnych dodatkowych elementów, jak widać na schemacie.

Do odczytu temperatury z termometru na USB służy digitemp. Opis użycia (zaczerpnięty stąd).

Instalacja pakietu:

apt-get install digitemp

Skanowanie układów:

digitemp_DS9097 -i -s /dev/ttyUSB0

Odczyt wartości:

digitemp_DS9097 -a

Bardziej zależało mi na sprawdzeniu, czy taka prosta wersja faktycznie będzie działać – w wielu miejscach podawane są bardziej skomplikowane schematy. Faktycznie, działa. Rozwiązanie zlutowane na krótko, bez żadnego przewodu ma jednak tę wadę, że moduł PL2303HX grzeje się na tyle, że wpływa na odczyt temperatury. Myślę, że ok. 10 cm kabla załatwi temat, ale gdyby ktoś był zainteresowany to można pomyśleć od razu o kupnie nieznacznie droższej wersji wodoodpornej, z przewodem. Mi akurat zależało żeby kabel się nie pałętał, ale wersję z kablem można zawsze skrócić…

Oczywiście gdyby ktoś chciał całkiem nowocześnie, to teraz czujniki temperatury montuje się do ESP8266 i odczytuje po WiFi. Tyle, że w moim wypadku to byłoby niewygodne. Miałbym problem z zasilaniem, a dane i tak mają trafić do pełnoprawnego komputera, ew. do SoC z Linuksem.

Gdyby ktoś bał się, że blog skręca całkiem w tematy elektroniczne – bez obaw, będzie najwyżej parę wpisów. I raczej w ramach wspomnienia o czymś, niż jako podstawowa tematyka.