Kaffeine po hibernacji
Niestety albo i “stety” Linux ma to do siebie, że wydaje się stosunkowo trudny w obsłudze. Dodatkowo przy wyborze dystrybucji jaką jest Arch Linux ten problem niestety może się powiększyć. Oczywiście jest to ułuda dlatego, że dzięki ym zabiegom zyskujemy pewną kontrolę nad systemem.
Co nam to daje? Ano tę możliwość, że jak coś się “wysypie” nie muszę czekać na łatkę dostarczoną przez producenta a dodatkowo wiem jakie usługi, moduły są ładowane (bo sam je określam na wstępie) i część problemów mogę sam rozwiazać.
Tak się też ma z problemem jaki teraz mam zamiar opisać. Jedną z przypadłości Linuksa jest to, że po hibernacji mogą nie działać niektóre rzeczy zwiazane ze sprzętem. Dlatego jeśli jest to możliwe (zazwyczaj w przypadku akcesoriów komputerowych) można dany moduł usunąć z pamięci i załadować go powtórnie.
Ja mam niestety taką sytuację z kartą DVB SkyStar2 oraz phoenixem (urządzenie odczytujące dane z karty kodowej Cyfry+). Więcej o instalacji w artykule Instalacja Kaffeine 0.8.8 oraz newcs. Cyfra+ i Linux.
Problem polega na tym, że tuż po hibernacji zarówno phoenix jak i karta DVB nie działają należycie. W przypadku phonix-a pojawiają się błędy odczytu karty. O tym jak sobie z tym także tutaj: NewCS i Reset failed po hibernacji. Karta DVB także odmawia współpracy – nawet programy FTA nie są odbierane.
Postanowiłem napisać skrypt. Jako, że odbiór telewizji odbywa się za pośrednictwem programu Kaffeine i wtyczki newCS skrypt nazwałem refreshkaff.sh i umieściłem go w katalogu /usr/bin a także nadałem mu prawa wykonalności.
sudo gedit /usr/bin/refreshkaff.sh
sudo chmod +x /usr/bin/refreshkaff.sh
Sam skrypt wygląda tak
SERVICE='newcs' sudo rmmod ftdi_sio sudo rmmod b2c2-flexcop-pci sudo rmmod stv0299 sudo rmmod uhci_hcd sudo modprobe ftdi_sio sudo modprobe b2c2-flexcop-pci sudo modprobe stv0299 sudo modprobe uhci_hcd sudo killall SERVICE if ps ax | grep -v grep | grep $SERVICE > /dev/null then echo "$SERVICE jest uruchomione" kaffeine else echo "$SERVICE nie jest uruchomione. Uruchamiam $SERVICE" sudo newcs sleep 2 fi if ps ax | grep -v grep | grep kaffeine > /dev/null then killall kaffeine cp ~/.xine/catalog.cache1 ~/.xine/catalog.cache sleep 1 kaffeine& else cp ~/.xine/catalog.cache1 ~/.xine/catalog.cache
Mam nadzieję, że komuś tym wpisem pomogłem rozwiązać część problemów z kartą DVB oraz hibernacją. Możliwe, że można ten problem rozwiązać w inny prostszy sposób. Jeśli tak dajcie znać w polu komentarzy.

