# [Rozwiązane] Na Gentoo się nie da korzystać z DVB?

## jackii

Witam,

mam pytanie w związku z próbą instalacji nowej karty DVB-S2 w komputerze. Czy jest jakiś sposób aby ją uruchomić w Gentoo, czy muszę zmienić dystrybucję?

Jest to karta TwinHan/Technisat, sprawdziłem ją już na kilku dystrybucjach. Sterowniki s2-liplianin działają prawidłowo w Mandrivie, OpenSUSE, Ubuntu, Debianie, ArchLinuksie, Fedorze...

Niestety przy kilku sprawdzonych jądrach - gentoo, tuxonice, vanilla pomimo teoretycznie udanej kompilacji nie chcą działać. Wiem co prawda, że Gentoo od dłuższego czasu nie tylko nie rozwija się tak szybko jak dawniej lecz momentami cofa /jak np. niektóre funkcjonalności portage, które pojawiły się by później zniknąć/ ale używając nieprzerwanie od ostatniej udanej wersji /1.4/, przyzwyczaiłem się już do niego i bynajmniej nie cieszy mnie myśl o zmianach.

----------

## no4b

 *Quote:*   

> Niestety przy kilku sprawdzonych jądrach - gentoo, tuxonice, vanilla pomimo teoretycznie udanej kompilacji nie chcą działać.

 

Jakie komunikaty o błędach? Co mówi dmesg po ich załadowaniu? Po czym wnosisz, że "nie działają"?

----------

## jackii

Witam ponownie,

- nie-Gentoo:

```
# dmesg|grep -i dvb

[   13.106390] found a VP-1041 PCI DSS/DVB-S/DVB-S2 device on (02:04.0),

[   13.109189] DVB: registering new adapter (Mantis dvb adapter)

[   13.661343] mantis_frontend_init (0): found STB0899 DVB-S/DVB-S2 frontend @0x68

[   13.661698] LNBx2x attached on addr=8DVB: registering adapter 0 frontend 0 (STB0899 Multistandard)...

# ls /dev/dvb/adapter0/

ca0  demux0  dvr0  frontend0  net0
```

- Gentoo:

```

# dmesg|grep -i dvb

[   11.182235] dvb_core: module is already loaded

[   11.449489] mantis: disagrees about version of symbol dvb_dmxdev_init

[   11.449494] mantis: Unknown symbol dvb_dmxdev_init

[   11.449699] mantis: disagrees about version of symbol dvb_ca_en50221_init

[   11.449703] mantis: Unknown symbol dvb_ca_en50221_init

[   11.450032] mantis: disagrees about version of symbol dvb_register_adapter

[   11.450036] mantis: Unknown symbol dvb_register_adapter

[   11.450675] mantis: disagrees about version of symbol dvb_net_init

[   11.450678] mantis: Unknown symbol dvb_net_init

[   11.450785] mantis: disagrees about version of symbol dvb_dmxdev_release

[   11.450788] mantis: Unknown symbol dvb_dmxdev_release

[   11.450924] mantis: disagrees about version of symbol dvb_net_release

[   11.450927] mantis: Unknown symbol dvb_net_release

[   11.451112] mantis: disagrees about version of symbol dvb_unregister_frontend

[   11.451116] mantis: Unknown symbol dvb_unregister_frontend

[   11.451433] mantis: disagrees about version of symbol dvb_register_frontend

[   11.451436] mantis: Unknown symbol dvb_register_frontend

[   11.451611] mantis: disagrees about version of symbol dvb_unregister_adapter

[   11.451614] mantis: Unknown symbol dvb_unregister_adapter

# ls /dev/dvb/adapter0/

ls: nie ma dostępu do /dev/dvb/adapter0/: Nie ma takiego pliku ani katalogu

# ls /dev/dvb/

ls: nie ma dostępu do /dev/dvb/: Nie ma takiego pliku ani katalogu
```

Nie działa bo w systemie brak urządzeń DVB, przestała być widoczna nawet stara karta.

Jedyne komunikaty, których nie było w innych dystrybucjach, nie powsinny mieć jednak znaczenia bo wyskakują przy nieużywanych modułach do Connexantów, Zorana, saa7115:

```
/v4l2-i2/v4l2-i2c-drv-legacy.h:84: warning: 'i2c_detach_client' is deprecated (declared at include/linux/i2c.h:435)
```

----------

## SlashBeast

recznie robiles kernel? Na moje oko to czegos w kernelu brakuje.

----------

## jackii

 *SlashBeast wrote:*   

> recznie robiles kernel? Na moje oko to czegos w kernelu brakuje.

 Nie, kernele z ustawień domyślnych. Sugerujesz by wziąć kofig z innej dystrybucji? Próbowałem z Ubuntu, dołożyłem tylko obsługę ext4 i wywaliłem parawirtualizację. Niestety z tak skompilowanym jądrem nie chciał wstać   :Confused: 

BTW, możesz powiedzieć czemu Funtoo wypisuje "SSH passphrase" zamiast "Hasło" i jak korzystać w nim z X'ów skoro robi coś takiego:

```
(WW) AllowEmptyInput is on, devices using drivers 'kbd' or 'mouse' will be disabled.

(WW) Disabling Keyboard0

(WW) Disabling Mouse0
```

?

----------

## SlashBeast

U mnie przy funtoo jest normlanie 'Password'. Odnosnie Xow to pewnie masz je z  use hal, jwtedy evdev+hal zajmuja sie inputami.

----------

## jackii

 *SlashBeast wrote:*   

> U mnie przy funtoo jest normlanie 'Password'. Odnosnie Xow to pewnie masz je z  use hal, jwtedy evdev+hal zajmuja sie inputami.

 Myślałem, że to jakaś zabawna właściwość Funtoo, sugerująca logowanie przez ssh a nie konsolę. Co do X'ów - nie zgadzam się z Tobą, niezależnie co odpowiada za obsługę klawiatury i nyszy to powinna ona po prostu działać. Na innej niż Funtoo wersji działa bez różnicy czy ustawię klawiaturę jako evdev czy Logitech G15.

----------

## SlashBeast

xorg w funtoo jest taki sam jak w gentoo, pewnie nie ustawiles w xorg.conf by nie pozwalal startowac z pustymi inputami.

----------

## jackii

 *SlashBeast wrote:*   

> xorg w funtoo jest taki sam jak w gentoo, pewnie nie ustawiles w xorg.conf by nie pozwalal startowac z pustymi inputami.

 Nawet nie przyszło mi na myśl, że coś podobnego można ustawić, myślałem, iż od dłuższego czasu ten plik jest zbędny i używa się go tylko w razie problemów ze sprzętem /np. telewizor po hdmi/.

----------

## jackii

Witam,

po wielu próbach doszedłem do 2. możliwych rozwiązań problemu :

 - prosty. Usuwamy Gentoo, instalujemy dowolną niezwiązaną dystrybucję, instalujemy sterowniki, cieszymy się działającą kartą  :Smile: 

 - złożony. Na drugim dysku lub komputerze instalujemy dowolną niezwiązaną dystrybucję, kopiujemy do niej w odpowiednie miejsca jądro, moduły i źródła z naszego Gentoo. Robimy wpis do gruba i uruchamiamy komputer z tego jądra. Instalujemy sterowniki, przenosimy z powrotem jądro i moduły do Gentoo, uruchamiamy i mamy działającą kartę...

Niestety logika sugeruje w tym momencie wybór pierwszego rozwiązania.

----------

## Ahenobarbi

 *jackii wrote:*   

> Witam,
> 
> po wielu próbach doszedłem do 2. możliwych rozwiązań problemu :
> 
> 

 

Czyli problem jest w tym że jądro jest trochę nie dorobione.

 *jackii wrote:*   

> 
> 
> ```
> 
> [   11.182235] dvb_core: module is already loaded
> ...

 

A używasz wszytkiego z tej samej wersji jądra?

----------

## jackii

 *Ahenobarbi wrote:*   

> A używasz wszytkiego z tej samej wersji jądra?

 

Sterowniki ze strony http://mercurial.intuxication.org/hg/s2-liplianin

Na innych dystrybucjach kompilują się bez problemów z jądrami od 2.2.26 do pobranego z kernel.org.

----------

## Ahenobarbi

 *jackii wrote:*   

>  *Ahenobarbi wrote:*   A używasz wszytkiego z tej samej wersji jądra? 
> 
> Sterowniki ze strony http://mercurial.intuxication.org/hg/s2-liplianin
> 
> Na innych dystrybucjach kompilują się bez problemów z jądrami od 2.2.26 do pobranego z kernel.org.

 

Hmm chodzilo o to czy używasz tej samej wersji jądra do uruchamiania systemu i do budowania sterowników. Bo narzeka, że "mantis: disagrees about version of symbol ..."

```

ls -lah /usr/src/

uname -r

```

Czy rzeczy od DVB masz zbudowane jako moduły czy wbudowane w jądro?

----------

## michal1990

Możesz jeszcze dla testu spróbować skompilować jądro genkernelem. Nie jest to może najlepsze rozwiązanie ale dowiesz się wtedy czy to jest wina jądra czy czegoś innego.

----------

## jackii

 *Ahenobarbi wrote:*   

> Hmm chodzilo o to czy używasz tej samej wersji jądra do uruchamiania systemu i do budowania sterowników. Bo narzeka, że "mantis: disagrees about version of symbol ..."
> 
> Czy rzeczy od DVB masz zbudowane jako moduły czy wbudowane w jądro?

 Oczywiście tej samej, trudno użyć innej przy świeżej instalacji. Wszystko do DVB kompilowane jako moduł.

----------

## Ahenobarbi

 *jackii wrote:*   

>  *Ahenobarbi wrote:*   Hmm chodzilo o to czy używasz tej samej wersji jądra do uruchamiania systemu i do budowania sterowników. Bo narzeka, że "mantis: disagrees about version of symbol ..."
> 
> Czy rzeczy od DVB masz zbudowane jako moduły czy wbudowane w jądro? Oczywiście tej samej, trudno użyć innej przy świeżej instalacji. Wszystko do DVB kompilowane jako moduł.

 

No... błędy sugerują, że mogą być z różnych wersji jądra. A na nowej instalacji mogło to się przydarzyć, bo

 *jackii wrote:*   

> 
> 
> Niestety przy kilku sprawdzonych jądrach - gentoo, tuxonice, vanilla pomimo teoretycznie udanej kompilacji nie chcą działać.

 

----------

## jackii

 *Ahenobarbi wrote:*   

> No... błędy sugerują, że mogą być z różnych wersji jądra. A na nowej instalacji mogło to się przydarzyć, bo
> 
>  *jackii wrote:*   
> 
> Niestety przy kilku sprawdzonych jądrach - gentoo, tuxonice, vanilla pomimo teoretycznie udanej kompilacji nie chcą działać. 

 Tuxonice używam na strym kompie i tam chcę zainstalować kartę. Po niepowodzeniu złożyłem 2. maszynkę i tam zainstalowałem Funtoo z jądrem gentoo a następnie jeszcze raz, tym razem o smaku waniliowym. Sytuacja jest o tyle dziwna, że jak zainstaluję np. Debiana, to nie tylko mogę skomilować sterowniki  i uruchomić kartę ale po odpaleniu z tego jądra mieć działającą kartę pod gentoo (co prawda dla odmiany inne trzeczy nie działają). Błąd nie leży moim zdaniem po stronie jądra a systemu...

----------

## shpaq

 *jackii wrote:*   

> Sytuacja jest o tyle dziwna, że jak zainstaluję np. Debiana, to nie tylko mogę skomilować sterowniki  i uruchomić kartę ale po odpaleniu z tego jądra mieć działającą kartę pod gentoo (co prawda dla odmiany inne trzeczy nie działają). Błąd nie leży moim zdaniem po stronie jądra a systemu...

 

To właśnie oznacza, że problem leży w kernelu i tylko i wyłącznie tam.  :Wink: 

----------

## jackii

 *shpaq wrote:*   

> To właśnie oznacza, że problem leży w kernelu i tylko i wyłącznie tam. 

 Oczywiście w jądrze bo gdziezby indziej?

Wszystkim zainteresowanym uruchomieniem nowszych kart DVB podaję najprostszy sposób na dokonanie tego. Przed zainstalowaniem naszego systemu przeznaczamy kilka GB i instalujemy tam minimalną wersję innej, różnej od Gentoo dystrybucji. Jeśli mamy już zainstalowany system to albo wygospodarujemy trochę miejsca na dysku pod instalację, albo instalujemy na maszynie wirtualnej /mniej wygodne i bardziej skomplikowane rozwiązanie/. Po zainstalowaniu Gentoo kompilujemy nasze ulubione jądro, pamiętając o włączeniu obsługi DVB jako moduł. Kopiujemy następnie do drugiego systemu katalogi /lib/modules/'uname -r' i /usr/src/linux-'uname -r' oraz właściwe jądro i initrd. Dokonujemy jeszcze odpowiednich zmian w konfiguracji bootmanagera i uruchamiamy drugi system z jągrem Gentoo. Jeśli jeszcze nie mamy, to instalujemy teraz potrzebne do kompilacji narzędzia deweloperskie oraz pakiet mercurial. Sciągamy i kompilujemy sterowniki:

```
hg clone http://mercurial.intuxication.org/hg/s2-liplianin

cd s2-liplianin

make

make install

reboot
```

Po uruchomieniu sprawdzamy czy system widzi naszą kartę:

```
dmesg | greo -i dvb
```

Skoro widzi to jeszcze testowo możemy ściągnąć i uruchomić jakiś program do skanowania - polecam w_scan  :Smile: 

Jeśli lista jest zgodna z naszymi oczekiwaniami to pozostaje nam tylko przekopiowanie z powrotem modułów jądra do Gentoo i po jego uruchomieniu mamy działającą katrę DVB. Przy zmianach jądra postępujemy w ten sam sposób i mamy działającą z nowym jądrem kartę w czasie krótszym niż godzina.

----------

## jackii

Kilka dni temu w oficjalnym drzewie portage w kategorii media-tv pojawił się ebuild linuxtv-dvb-headers. Teraz nie trzeba już innej dystrybucji aby pod Gentoo móc korzystać z kart DVB. Wystarczy zainstalać ten pakiet, potem możemy skompilować, zainstalować sterowniki i voila - karta działa bez konieczności użycia innej dystrybucji.

Swoją drogą szkoda, że trzeba było na to czekać blisko rok...

----------

## SlashBeast

Mozna bylo tez samemu pobrac naglowki z http://www.linuxtv.org.

----------

