tahir2007pk
14-03-09, 15:51
Infinit USB Unlimited Drivers for Dreambox
Infinit USB Unlimited Treiber für die Dreambox
Quote:
Originally posted by gutemine
Hi !
Nachdem mir fade war und ich schon immer mal schauen wollte wie man Treiber auf die Dreambox portiert, habe ich es mit adenins Hilfe geschafft den Linux Treiber für den Infinit USB Unlimited für die Dreambox zu compilieren.
Infos und die original sourcen dazu gibts auf
[Only Registered Users Can See Links]
Der dort gepostete Treiber ist mit einigen kleinen Änderungen (weil er eigentlich nur für neuere Kernel versionen geschrieben ist als DMM auf den Dreamboxen verwendet) auch ins OE der Dreamboxen einbindbar.
Ich bin mir nicht 100% sicher ob ich alles richtig portiert habe (meine wenigen Änderungen sind mit gutemine im *.c kommentiert), aber das iuu_phoenix.ko ist mit modprobe ladbar und wenn man einen Infinity USB Unlimited ansteckt wird dieser auch erkannt und das Unix device file entsteht.
Und ja, man kann dann mit diesem Device file auch eine softcam starten - ich habe es aber nur mit CCcam 2.11 und newcs getestet: das LED des IUU wechselt dann auch schön von blau auf grün sobald man den vogel startet, aber mehr geht auch schon nicht weil der Vogel für den IUU ja wahrscheinlich noch nicht die Befehle unterstützt, das ganze produziert also nur ein card not detected, etc.
Aber Ihr könnt ja mal testen und berichten, und vieleicht spielt sich ja auch mal ein Ornithologe mit dem Treiber und der entsprecheden Hardware.
Hier erstmals das Rezept so wie es mir adenin beigebracht hat, für die die den Treiber selber compilieren oder noch anpassen wollen:
Die directories muss man für andere Dreambox oder OE 1.6 oder wo man sein openembeded directory halt hat dann natürlich entsprechend anpassen.
1. kopiere iuu_phoenix.c und iuu_phoenix.h nach /home/username/develop/openembedded/1.5/dm7025/build/tmp/work/linux-dm7025-2.6.12.6-s6/linux-2.6.12.6//drivers/usb/serial
2. dort die Zeile zusätzlich ins Makefile
PHP Code:
obj-$(CONFIG_USB_SERIAL_PHOENIX) += iuu_phoenix.o
und das zusäzlich in die dortige Kconfig
PHP Code:
config USB_SERIAL_PHOENIX
tristate "Phoenix"
depends on USB_SERIAL
in die /home/username/develop/openembedded/1.5/dm7025/build/tmp/work/linux-dm7025-2.6.12.6-s6/dm7025_defconfig
PHP Code:
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_PHOENIX=m
dann habe ich diese kleine makekernel.sh in /home/username/develop/openembedded/1.5/dm7025/
PHP Code:
#! /bin/sh
rm ./build/tmp/stamps/linux-dm7*do_build*
rm ./build/tmp/stamps/linux-dm7*do_populate*
rm ./build/tmp/stamps/linux-dm7*do_package*
rm ./build/tmp/stamps/linux-dm7*do_install*
rm ./build/tmp/stamps/linux-dm7*do_compile*
rm ./build/tmp/stamps/linux-dm7*do_configure*
cd build
source ./env.source
# bitbake -c clean enigma2-2.4cvs20080918
bitbake linux-dm7025-2.6.12.6-s6
Wenn das script durchläuft wird im oben genannten .../drivers/usb/serial
directory das iuu_phoenix.ko liegen
Dieses dann per FTP auf die dreambox kopieren (oder eben das schon compilierte aus dem tar.gz im Anhang nehmen)
Und zwar hier hin:
/lib/modules/2.6*/kernel/drivers/usb/serial/iuu_phoenix.ko
Falls im Image dort kein usbserial.ko vorhanden ist dann bitte auch dieses file aus obigem OE directory dort hinkopieren (aber achtung es gibt images wo der usbserial schon im kernel fix verbaut ist, dort ist das nicht nötig - merkt Ihr aber eh wenn ihr modprobe usbserial macht)
Eigentlich kann man dann den Treiber wenn man modprobe usbserial gemacht hat schon mit insmod von dort laden, eleganter ist es aber wenn Ihr noch die modules.dep modifiziert, diese liegt im
/lib/modules/2.6*/kernel directory.
Dort müsste nach der zeile mit usbserial folgende Zeile dazu reinkommen:
PHP Code:
/lib/modules/2.6.12.6/kernel/drivers/usb/serial/iuu_phoenix.ko: /lib/modules/2.6.12.6/kernel/drivers/usb/serial/usbserial.ko
Evt muss statt 2.6.12.6 das directory der 8* richtig eingetragen werden.
Damit weis die Dreambox dann wo der iuu_phoenix treiber ist und das er den usbserial als dependency hat.
Sobald das richtig eingetragen ist kann man mit modprobe iuu_phoenix den treiber auch direkt laden. Das ist insofern nützlich weil wie Ihr auf der homepage des Entwicklers des Linux Treibers lesen könnt kann man viele parameter wie das card detect command oder die Taktfrequenz des Readers mit modprobe iuu_phoenix parameter=wert zusätzlich angeben.
Sobald der Treiber geladen ist wird dmesg schöne Meldungen anzeigen (insbesondere natürlich wenn man den IUU am usb bus dann ansteckt oder wenn der schon dran ist) und man hat dann auf /dev/usb/tts/0 das Linux device file des IUU das man beispielsweise in der CCCam.cfg oder der newcs.xml eintragen kann.
So, im Prinzip ist das das ganze Kochrezept, jetzt dürft Ihr auch rühren :-)
LG
gutemine
Infinit USB Unlimited Treiber für die Dreambox
Quote:
Originally posted by gutemine
Hi !
Nachdem mir fade war und ich schon immer mal schauen wollte wie man Treiber auf die Dreambox portiert, habe ich es mit adenins Hilfe geschafft den Linux Treiber für den Infinit USB Unlimited für die Dreambox zu compilieren.
Infos und die original sourcen dazu gibts auf
[Only Registered Users Can See Links]
Der dort gepostete Treiber ist mit einigen kleinen Änderungen (weil er eigentlich nur für neuere Kernel versionen geschrieben ist als DMM auf den Dreamboxen verwendet) auch ins OE der Dreamboxen einbindbar.
Ich bin mir nicht 100% sicher ob ich alles richtig portiert habe (meine wenigen Änderungen sind mit gutemine im *.c kommentiert), aber das iuu_phoenix.ko ist mit modprobe ladbar und wenn man einen Infinity USB Unlimited ansteckt wird dieser auch erkannt und das Unix device file entsteht.
Und ja, man kann dann mit diesem Device file auch eine softcam starten - ich habe es aber nur mit CCcam 2.11 und newcs getestet: das LED des IUU wechselt dann auch schön von blau auf grün sobald man den vogel startet, aber mehr geht auch schon nicht weil der Vogel für den IUU ja wahrscheinlich noch nicht die Befehle unterstützt, das ganze produziert also nur ein card not detected, etc.
Aber Ihr könnt ja mal testen und berichten, und vieleicht spielt sich ja auch mal ein Ornithologe mit dem Treiber und der entsprecheden Hardware.
Hier erstmals das Rezept so wie es mir adenin beigebracht hat, für die die den Treiber selber compilieren oder noch anpassen wollen:
Die directories muss man für andere Dreambox oder OE 1.6 oder wo man sein openembeded directory halt hat dann natürlich entsprechend anpassen.
1. kopiere iuu_phoenix.c und iuu_phoenix.h nach /home/username/develop/openembedded/1.5/dm7025/build/tmp/work/linux-dm7025-2.6.12.6-s6/linux-2.6.12.6//drivers/usb/serial
2. dort die Zeile zusätzlich ins Makefile
PHP Code:
obj-$(CONFIG_USB_SERIAL_PHOENIX) += iuu_phoenix.o
und das zusäzlich in die dortige Kconfig
PHP Code:
config USB_SERIAL_PHOENIX
tristate "Phoenix"
depends on USB_SERIAL
in die /home/username/develop/openembedded/1.5/dm7025/build/tmp/work/linux-dm7025-2.6.12.6-s6/dm7025_defconfig
PHP Code:
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_PHOENIX=m
dann habe ich diese kleine makekernel.sh in /home/username/develop/openembedded/1.5/dm7025/
PHP Code:
#! /bin/sh
rm ./build/tmp/stamps/linux-dm7*do_build*
rm ./build/tmp/stamps/linux-dm7*do_populate*
rm ./build/tmp/stamps/linux-dm7*do_package*
rm ./build/tmp/stamps/linux-dm7*do_install*
rm ./build/tmp/stamps/linux-dm7*do_compile*
rm ./build/tmp/stamps/linux-dm7*do_configure*
cd build
source ./env.source
# bitbake -c clean enigma2-2.4cvs20080918
bitbake linux-dm7025-2.6.12.6-s6
Wenn das script durchläuft wird im oben genannten .../drivers/usb/serial
directory das iuu_phoenix.ko liegen
Dieses dann per FTP auf die dreambox kopieren (oder eben das schon compilierte aus dem tar.gz im Anhang nehmen)
Und zwar hier hin:
/lib/modules/2.6*/kernel/drivers/usb/serial/iuu_phoenix.ko
Falls im Image dort kein usbserial.ko vorhanden ist dann bitte auch dieses file aus obigem OE directory dort hinkopieren (aber achtung es gibt images wo der usbserial schon im kernel fix verbaut ist, dort ist das nicht nötig - merkt Ihr aber eh wenn ihr modprobe usbserial macht)
Eigentlich kann man dann den Treiber wenn man modprobe usbserial gemacht hat schon mit insmod von dort laden, eleganter ist es aber wenn Ihr noch die modules.dep modifiziert, diese liegt im
/lib/modules/2.6*/kernel directory.
Dort müsste nach der zeile mit usbserial folgende Zeile dazu reinkommen:
PHP Code:
/lib/modules/2.6.12.6/kernel/drivers/usb/serial/iuu_phoenix.ko: /lib/modules/2.6.12.6/kernel/drivers/usb/serial/usbserial.ko
Evt muss statt 2.6.12.6 das directory der 8* richtig eingetragen werden.
Damit weis die Dreambox dann wo der iuu_phoenix treiber ist und das er den usbserial als dependency hat.
Sobald das richtig eingetragen ist kann man mit modprobe iuu_phoenix den treiber auch direkt laden. Das ist insofern nützlich weil wie Ihr auf der homepage des Entwicklers des Linux Treibers lesen könnt kann man viele parameter wie das card detect command oder die Taktfrequenz des Readers mit modprobe iuu_phoenix parameter=wert zusätzlich angeben.
Sobald der Treiber geladen ist wird dmesg schöne Meldungen anzeigen (insbesondere natürlich wenn man den IUU am usb bus dann ansteckt oder wenn der schon dran ist) und man hat dann auf /dev/usb/tts/0 das Linux device file des IUU das man beispielsweise in der CCCam.cfg oder der newcs.xml eintragen kann.
So, im Prinzip ist das das ganze Kochrezept, jetzt dürft Ihr auch rühren :-)
LG
gutemine