Jak się łatwo domyślić nadal nie ruszyło, ale ... w menu konfiguracji pluginu vdr-sc znaleźć można informację, czy karta jest włożona do programatora. Skąd komputer może o tym wiedzieć? Ano pewnie sprawdza czy podniesiony jest sygnał Carrier Detected na Pin 1 portu RS-232C. No tak tylko ... mój programator ma ten pin podłączony tylko do siebie i nigdzie więcej. Podobnie jak styki kieszeni na kartę zwierane po włożeniu tejże. No ładne jaja pomysłał wariat, wziął lutownicę i połączył złącza od karty z Pin 1 (CD) i ... no właśnie, wynalazca programatora wpadł na zabawny pomysł zmostkowania pinów 4, 6 i 8 (czyli odpowiednio: DTR, DSR i CTS ), co to kurka jest urządzenie podpinane pod port szeregowy czy kabel No-Modem? :>
Po modyfikacji terminal (minicom) wykrywa włożenie karty do slotu przechodząc w tryb online. Tylko co z tego, jak vdr-sc ma to gdzieś :D.
Zaczynam mieć wątpliwości, czy to co sprzedaje się masowo na Allegro jako programator Phoenix smartcard to kopia programatora Phoenix, czy może jakaś modyfikacja dostosowana do wykastrowanego być może portu COM w windowsach, i generalnie szmelc ... Tak czy siak, jak na razie vdr-sc vs wariat 5:0.
I jak na razie wciąż tak:
Nov 29 17:53:45 [vdr] [6123] starting plugin: sc
Nov 29 17:53:45 [vdr] [6123] INFO: loading keys from /etc/vdr/plugins/SoftCam.Key
Nov 29 17:53:45 [vdr] [6123] INFO: loading Seca card infos from /etc/vdr/plugins/Seca.KID
Nov 29 17:53:45 [vdr] [6123] INFO: loading smartcard data from /etc/vdr/plugins/smartcard.conf
Nov 29 17:53:45 [vdr] [6123] INFO: loading ca cache from /etc/vdr/plugins/ca.cache
Nov 29 17:53:45 [vdr] [6123] starting plugin: dxr3
Nov 29 17:53:45 [vdr] [6123] switching to channel 21
Nov 29 17:53:45 [vdr] [6123] INFO: Using software decryption on card 0
Nov 29 17:53:53 [vdr] [6123] retuning due to modification of channel 21
Nov 29 17:53:53 [vdr] [6123] switching to channel 21
Nov 29 17:54:20 [vdr] [6183] ERROR: no useful data seen within 10562968 byte of video stream
i tyle z oglądania.
Mam już swój własny programator Phoenix, prosto z Allegro. Co prawda nadal nie mam pojęcia jak zmusić plugin vdr-sc do czytania karty za jego pomocą, ale śledztwo jest w toku. W końcu się przecież musi udać. Zresztą najważniejsza jest wiedza. Right? No to wiedza jest taka, że się da, a jak się da to się zrobi. (Co nie znaczy, że gdyby się nie dało by sie nie zrobiło :) ).
A ponieważ jakoś mnie dziś tchnęło na hardware to ... wymyśliłem, że jak już to wszystko zadziała i jak znajdę jakąś rozsądną obudowę do całości to gdzieś trzeba ten czytnik schować. Założenie jest takie, że kartę abonencką się tam wtyka, podłącza wszystkie kable i o sprawie można zapomnieć. Za to obudowa, ma na ile to możliwe udawać, że Marvin to kawałek zestawu stereo, a nie jakiś tam archaiczny PeCt. Czyli gdzie? Ano jasne ... najlepsze miejsce na dziurę
do karty jest z tyłu gdzie nie widać klestmerstwa. :D
Do wykonania tego cuda nowoczesnej techniki potrzeba.
gumóweńkado wiertarki modelarskiej
do góry PCBi wyjściem na /dev/ttySn na zewnątrz. Powinna być też umieszczona wysoko, bo nie chcemy jej mimo wszystko wtykać w gniazdo PCI, więc głupio by było gdyby produkt końcowy nie pasował na miejsce.
uszkado których przykręcimy PCB phoenixa. Muszą być na środku rozcięte bo inaczej całość będzie zwierała kontakty slotu do karty co może negatywnie wpłynąć na działanie całości.
Onesię nimi zaopiekowały, to ... ;-). Tak czy siak po 20 minutach na przemian wyginania i prostowania całość po przyłożeniu programatora sprawiała wrażenie całości na tyle, że zdecydowałem się dokonać odwiertów i skręcenia.
A wiecie co w tym wszystkim jest najlepsze? Nie sprzedają tego - jeszcze - na Allegro! :D
Ha! Okazało się, że karta 00:0b.0 Multimedia controller: Sigma Designs, Inc. REALmagic Hollywood Plus DVD Decoder (rev 02) która była wetknięta w od lat prawie zezłomowanego Marvina okazała się najcenniejszym znaleziskiem.
DVD dekoder, który ładnych kilka lat temu umośliwiał oglądanie filmu DVD na ekranie komputera bądź telewizora jest niczym innym jak sprzętowym dekoderem MPEG2... i działa!
Instalacja jest w tej chwili lekko zakręcona, ale możliwa i warta zachodu jeśli chcieć zbudować PVR jak Marvin. Dlaczego warta? Ano dlatego, aby komputer odtwarzający na telewizorze i jednocześnie nagrywający na dysku program TV mógł zachowywać się tak:
top - 01:12:45 up 1:45, 1 user, load average: 0.00, 0.02, 0.22
Tasks: 27 total, 2 running, 25 sleeping, 0 stopped, 0 zombie
Cpu0 : 15.3% us, 4.4% sy, 0.7% ni, 78.2% id, 0.3% wa, 1.0% hi, 0.1% si
Mem: 646512k total, 97532k used, 548980k free, 21944k buffers
Swap: 2008116k total, 0k used, 2008116k free, 33192k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8423 vdr 15 0 156m 26m 3620 S 1.0 4.2 0:29.56 vdr
1 root 15 0 1524 544 472 S 0.0 0.1 0:00.36 init
Warto prawda? No to jedziemy.
Marvin dxr3config # tar -xzvf dxr3config0-3-2.tgz -C /
usr/sbin/dxr3config
usr/share/dxr3config/dxr3config.m2v
Jeśli ktoś nie może bez ebuilda, bo nie to ten jest "w drodze" Bug 144034
New tool dxr3config which can autodetect needed parameters for em8300-modules.
# nano /etc/modules.d/em8300
gdzie dopisujemy:
options em8300 audio_driver=osslike
# modules-update
Marvin ~ # modprobe -v adv717x
insmod /lib/modules/2.6.18-gentoo-r3/kernel/drivers/video/adv717x.ko
Marvin ~ # modprobe -v em8300
insmod /lib/modules/2.6.18-gentoo-r3/kernel/drivers/i2c/algos/i2c-algo-bit.ko
insmod /lib/modules/2.6.18-gentoo-r3/kernel/drivers/video/em8300.ko audio_driver=osslike
Marvin ~ # ls -l /dev/em*
crw-rw---- 1 root video 121, 0 lis 25 23:04 /dev/em8300-0
crw-rw---- 1 root video 121, 2 lis 25 23:04 /dev/em8300_ma-0
crw-rw---- 1 root video 121, 1 lis 25 23:04 /dev/em8300_mv-0
crw-rw---- 1 root video 121, 3 lis 25 23:04 /dev/em8300_sp-0
Jeśli jest jak wyżej, to znak, że jest ok!
Marvin ~ # cat /etc/modprobe.d/em8300 >> /etc/modules.d/em8300
Marvin ~ # nano /etc/modules.d/em8300
Przenosimy dodany wcześniej parametr audio_driver=osslike do linii z innymi parametrami modułu em8300, i starą linię kasujemy. Po modyfikacji zawartość pliku powinna wyglądać następująco:
Marvin ~ # cat /etc/modules.d/em8300
#configuration for adv717x bt865 em8300, generated by dxr3config 0.3.2
#chip-parameterset: 3
alias char-major-121 em8300
install em8300 /sbin/modprobe adv717x && /sbin/modprobe --ignore-install em8300
remove em8300 /sbin/modprobe -r --ignore-remove em8300 && /sbin/modprobe -r adv717x
options adv717x pixelport_16bit=0 pixelport_other_pal=1
options em8300 dicom_fix=1 dicom_control=1 dicom_other_pal=1 audio_driver=osslike
Trzeba teraz zaktualizować /etc/modules.conf czyli:
Marvin ~ # modules-update
Marvin ~ # ls -l /dev/em*
crw-rw---- 1 root video 121, 0 lis 25 23:17 /dev/em8300-0
crw-rw---- 1 root video 121, 2 lis 25 23:17 /dev/em8300_ma-0
crw-rw---- 1 root video 121, 1 lis 25 23:17 /dev/em8300_mv-0
crw-rw---- 1 root video 121, 3 lis 25 23:17 /dev/em8300_sp-0
Marvin ~ # emerge --config vdr-softdevice # wyłączyć
Marvin ~ # emerge --config vdr-dxr3 # samo się włączy
Marvin ~ # /etc/init.d/vdr start
W paczce z modułem znajdziemy jeszcze programik em8300setup pozwala on na przełączanie trybów działania modułu w czasie rzeczywistym. Wyjście audio analogowe, cyfrowe, czy ac3? To samo zapewne można uzyskać zmieniając parametry ładowanego modułu, sprawa niedługo się pewnie wyjaśni. Jeśli jednak nie chcemy kombinować a ineteresują nas ustawienia przywoływane np. m8300setup -d -S możemy dodać program do pliku /etc/conf.d/local.start
Marvin ~ # echo "em8300setup -d -S" >> /etc/conf.d/local.start
Tym samym Marvin jest już bliski końca okresu intensywnych zmian, tak na 100% zostało mi tylko:
Marvin ożył. Nie jest to może jeszcze to o co chodzi, ale w tej chwili już widać, że najprawdopodobniej się da. Jeśli chodzi o hardware to w stosunku do pierwotnych założeń zmieniła się tylko karta graficzna ze starej Nvidia TNT (czy jakoś tak), na mniej starą Nvidia Geforce2 GTS.
Z uwag może warto zaznaczyć, że moje pierwotne obawy iż system zbudowany w unikodzie odbije mi się czkawką, potwierdziły się. Teksty systemu opis programu, nazwa kanału itd. mam dzięki temu wykrzaczkowane, lub jak kto woli zakodowane w WTF-8, ale jednak nie mam zamiaru rezygnować z unikodu nieśmiało licząc, że później uda się coś po drodze zamataczyć.
Swoją drogą ciekawostka ... VDR jarnięty jako daemon działa ale wyświetla krzaki, ten sam VDR odpalany z konsoli krzyczy, że się nie jarnie z unicodowym locale i trzeba kombinować w stylu:
LC_ALL="pl_PL" vdr ...
Od tej chwili będzie już trudniej, bo walczę z podłączeniem programatora Phoenix jako slotu do karty i tu problem. Mimo, że jest to jedyna legalna metoda dekodowania DVB-S to paczki z pluginami do obsługi w/w są uznane jako nielegalne i trzeba je instalować delikatnie mówiąc dookoła. Chwilę trwało zanim Google uratował mnie wskazując forum esat.pl, a na nim wątek opisujący instalację plugina vdr-sc.
To, że mam już HowTO nie oznacza, że można zrezygnować z ostrożności. W końcu mam zamiar wsadzić moją kartę SmartCard do programatora, a to grozi kłopotami rodzinnymi w razie, gdyby programator zechciał zadziałać inaczej niż się od niego wymaga :D
Na koniec wydajność... system w tej chwili pracuje na Pentium !!! 800MHz i 128MB ram, co wydaje się być "słabo" jak na zadanie które ma wykonać, ale jednak daje radę, choć nie jest mu łatwo ;-)
top - 15:24:36 up 2:31, 1 user, load average: 2.13, 2.01, 1.89
Tasks: 31 total, 2 running, 29 sleeping, 0 stopped, 0 zombie
Cpu0 : 43.9% us, 0.7% sy, 0.4% ni, 53.4% id, 0.9% wa, 0.7% hi, 0.0% si
Mem: 127016k total, 123676k used, 3340k free, 37188k buffers
Swap: 2008116k total, 188k used, 2007928k free, 39336k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9496 vdr 15 0 144m 23m 3832 S 99.9 19.1 25:49.65 vdr
Jednocześnie na niektórych programach chyba lekko rozjeżdża się obraz z dżwiękiem, ale to nie koniecznie musi oznaczać problem z wydajnością, szczególnie, że najwyraźniej widać to w kanałach które dodałem do listy samemu :D Tak czy siak to szczegół, którym na pewno w tej chwili zajmował się nie będę.
Jeśli chodzi o samą instalację, to jak na razie (pomijając workaround z vdr-sc) wszystko idzie ekstremalnie wręcz gładko, a znakomita większość paczek pochodzi ze standardowego Gentoo portage z gałęzi stable, co jakgdyby dobrze rokuje na przyszłość, a przynajmniej mam taką nadzieję. ;-)
Marvin stoi, ale ... oflagował się i chwilowo nie chce wyświetlać unikodowych literek w konsoli. Wiem, że mogę po prostu jarnąć unicode_start ale ... może jest jakiś lepszy sposób... zacząłem od emerge -ave world bo czemu nie ;-)
Na Pentium !!! 800MHz takie cuda chwilę trwają, a i ja sam w nocy straciłem wenę twórczą do pracy za którą ktokolwiek płaci i ... zmajstrowałem Grub Splasha w wersji Proto (nie mylić z Profi ;-) ) dla Marvina.
Jedyny kłopot ze splashem i Grubem to ramka dookoła wpisów w menu... można się tego jakoś pozbyć? Czy modyfikowalne są tylko kolory wpisów wewnątrz a ramka jest i już? Gdyby ktoś wiedział, to ja też chętnie się dowiem, grzebałem w manualu i nic nie znalazłem, ale może jakiś trick czy coś? Lub może po prostu źle szukałem?
Marvin.xpm.gz File hosted by filelodge.comOd dobrze ponad roku przymierzałem się (myślałem o raczej) zbudowaniu PVR. Po co? Nie mam pojmy, ale kiedy ostatnio odwiedził mnie kolega który ma zamiar sprzedać swój dekoder
i kupić nową wersję za małą górkę szmalu przypomniało mi się i tym razem zacząłem działać.
Wygrzebałem stary komputer:
livecd ~ # cat /proc/cpuinfo | egrep "(vendor|model name|MHz|flags)"
vendor_id : GenuineIntel
model name : Pentium III (Coppermine)
cpu MHz : 802.943
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse up
livecd ~ # lspci
00:00.0 Host bridge: VIA Technologies, Inc. VT82C693A/694x [Apollo PRO133x] (rev c4)
00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo MVP3/Pro133x AGP]
00:04.0 ISA bridge: VIA Technologies, Inc. VT82C596 ISA [Mobile South] (rev 23)
00:04.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 10)
00:04.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 11)
00:04.3 Host bridge: VIA Technologies, Inc. VT82C596 Power Management (rev 30)
00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8029(AS)
00:0a.0 Multimedia controller: Sigma Designs, Inc. REALmagic Hollywood Plus DVD Decoder (rev 02)
00:0d.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 06)
00:0d.1 Input device controller: Creative Labs SB Live! Game Port (rev 06)
01:00.0 VGA compatible controller: nVidia Corporation NV5 [RIVA TNT2/TNT2 Pro] (rev 11)
Kupiłem kartę DVB-S Technisat SkyStar-2 Rev 2.6, załatwiłem pożyczenie programatora phoenix od kolegi (się później kupi na allegro) i zacząłem dłubać.
Nie uciągnie? Też tak podejrzewam, ale to przecież sprawa wtórna jest, jeśli zadziała to płytę z CPU się wymieni, jeśli nie to koszty ograniczą się do tych 220zł które poszły na kartę DVB-S. Jak będzie ... zobaczymy.
Na razie instaluje się system Gentoo. Z tego co zostało zrobione wymienić da się tylko podzial partycji:
# fdisk -l /dev/hda
Disk /dev/hda: 41.1 GB, 41174138880 bytes
255 heads, 63 sectors/track, 5005 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 17 136521 83 Linux
/dev/hda2 18 267 2008125 82 Linux swap / Solaris
/dev/hda3 268 5005 38057985 83 Linux
System plików na /boot ext3 na / ReiserFS, chciałem wydzielić osobną partycję na media, ale pomyślałem, że docelowo to stary dysk 40GB i tak nie ma sensu więc po co się bawić i zostało jak wyżej.
Co do planów to...
Na wierzchu na razie będzie VDR, ale docelowo chciałbym postawić MythTV
urządzenie ma w ostatecznej wersji potrafić: