Phoenix upgrade 2 i wątpliwości

4 komentarze

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.

Nie ma to jak śledzik, czyli hardware upgrade

3 komentarze
Śledzik dziewiczy:

Wycięto i wygięto:

Phoenix PCI:





W obudowie:

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.

  • Śledzia to zatykania dziury po kartach PCI. Każdy ma starych kart i lub takich zatyczek cały karton, bo nie wiadomo kiedy mogą się przydać. Nie?! No nie mówcie, że one miały rację :D. Ustalamy, że każdy ma
  • Programator Phoenix
  • Coś do wiercenia w metalu - u mnie wiertarka modelarska
  • Coś do cięcia - u mnie tarcza systemu gumóweńka do wiertarki modelarskiej
  • Dwie śrubki z nakrętkami fi 3 mm - trzeba je operować więc może być potrzebnych więcej
  • Jakieś tam małe kombinerki i inne cuda, które zawsze walają się wokół komputera - ustalamy to samo co przy starych kartach. I bez dyskusji! :D
Później już jest prosto. Zaczynamy od intensywnego przymierzania i celowania. Karta dobrze pasuje keidy jest zamontowana do góry PCB i 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.
Po przemyśleniu całości malujemy, wiercimy i wycinamy, jak wytniemy to wyginamy. Generalnie chodzi o to, aby wyciąć ze środka śledzia otwór na kartę, ale to co wytniemy nie odciąć a wygiąć do wewnątrz obudowy. To będą uszka do 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.
Kiedy jest już wycięte i wygięte, u mnie chwilę to trwało, bo śledzik był z tych miękkich, a lepszych nie mogłem znaleźć, jeśli się okaże, że One się 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.
Tu kolejna mała uwaga. Programator jest ciut wąski w związku z czym śrubki nie bardzo się mieszczą, ale jeśli obciąć im po połowie łba to pasuje i trzyma solidnie, a o to przecież chodzi. i uwaga dwa, po umieszczeniu programatora na miejscu ma on tendencję do zwierania obudową od złącza USB styków karty zamontowanej niżej. Rozwiązania są dwa. Można wylutować złącze USB (potrzebne jest tylko do zasilania programatora, a zasilanie i tak docelowo zapodamy z zasilacza PCta), albo przykleić na nie kawałek filcu systemu podstawka pod meble. To rozwiązanie jest lepsze, bo programator oparty o kartę poniżej lepiej trzyma poziom ;-).
Jeśli chodzi o podłączenie do portu szeregowego, to rozwiązania są dwa. Jeśli port sam w sobie znajduje się wewnątrz obudowy w postaci kostki, montujemy krótki kabel których sterta leży w tej samej skrzynce gdzie zapas kart Multi I/O od zdemolowanych w przeszłości 386 (Pamiętać tylko trzeba, że te kabelki są w dwóch wersjach, i są niezamienne. W jednej piny na kostce są ustawione po kolei w rzędach, w drugim są na zmianę raz góra, raz dół kostki. ). Jeśli port jest na zewnątrz obudowy to obok złącza karty zostało wystarczająco dużo miejsca, aby tamtędy wyprowadzić 20-30cm przewodu i wetknąć go na miejsce.

A wiecie co w tym wszystkim jest najlepsze? Nie sprzedają tego - jeszcze - na Allegro! :D

Przełom zwany Dxr3

1 komentarz

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.

  1. Na początek potrzebny jest plugin do VDR obsługujący wyjście via karta Dxr3 # emerge -avD vdr-dxr3, który pociągnie za sobą dwie paczki media-video/em8300-modules-0.16.0_rc2 i media-video/em8300-libraries-0.16.0_rc2. Skompiluje się, zainstaluje, chwilowo zapominamy.
  2. Moduł wymaga konfiguracji, czyli załadowania z odpowiednimi parametrami, jest to dość zakręcone, a właściwie byłoby gdyby nie dxr3config. W tej chwili nie ma jeszcze ebuilda do tej paczki, ale jeśli mamy do czynienia z architekturą x86 wystarczy po prostu pobrać binarkę i zainstalować ją samemu: 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.
  3. Ten punkt prawdopodobnie można pominąć i dopisać co trzeba później, ale po raz trzeci nie chce mi się przechodzić całej procedury, więc przyjmijmy, że nie można. ;-) Chodzi o dodanie do modułu jajka em8300 parametru audio_driver=osslike (To kolejny wiele wart HINT z forum esat.pl). # nano /etc/modules.d/em8300 gdzie dopisujemy: options em8300 audio_driver=osslike # modules-update
  4. Sprawdźmy czy działa 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!
  5. Zakładam, że telewizor jest podłączony do wyjścia video karty odpalamy więc dxr3config. U mnie po wybraniu domyślnych parametrów w menu pojawił się od razu prawidłowy obraz kontrolny, zapisujemy więc konfigurację i ... musimy ją przenieść.
    dxr3config zapisał plik /etc/modprobe.d/em8300 przenosimy jego zawartość do /etc/modules.d/em8300 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
  6. Dla testu można teraz zrestartować komputer i po ponownym zalogowaniu sprawdzić czy wszystko jest na swoim miejscu: 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
  7. Pozostało tylko odpalić vdr porzucając plugin softdevice na rzecz pluginu dxr3. 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:

  • Uruchomienie programatora phoenix jako czytnika karty, niestety nigdzi enie mogę namierzyć sposobu jak to zrobić
  • Wymiana pilota i jego konfiguracja, bo sprzęt dostarczany wraz z kartą DVB-S Skystar2 rev 2.6D to szmelc nie wart zachodu
Na koniec wypada tylko mieć nadzieję, że powyższy opis jest zrozumiały i nie zawiera zbyt wielu błędów merytoryczno dziwnych. W każdym razie działa :).

Be my decoder...

Dodaj komentarz
Free Image Hosting at www.ImageShack.us

Free Image Hosting at www.ImageShack.us

Free Image Hosting at www.ImageShack.us

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 Grub splash

1 komentarz

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.

Free Image Hosting at www.ImageShack.us

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.com

Marvin is coming

Dodaj komentarz

Od 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ć:

  • Robić za dekoder DVB-S, co raczej oczywiste
  • Nagrywać Video z w/w
  • Obsługiwać minimum dwie głowice DVB (oglądam co innego, nagrywam co innego)
  • Udostępniać po NFS katalog z mediami
  • Streamować Video w sieci lokalnej
  • Odtwarzać i zapisywać płyty DVD
I na razie tyle ;-)
Portage się zsynchronizowało, wracam do zabawy :)


Registered Linux User #161416
Become a Friend of GNOME
wariat @ gógle