Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

OScam für etliche Router mit USB port, fix und fertig verpackt! Zum "Gleichessen"!!!

AW: OScam für etliche Router mit USB port, fix und fertig verpackt! Zum "Gleichessen"

Schicke mir mal die mips binary Ich gugg mir das morgen ma an.
Und auf der gigablue Brauch ich mal

ldd /usr/wo/die/oscam/ist

ls /lib


Gesendet von meinem HTC One X mit Tapatalk 2
 
Zuletzt bearbeitet:
AW: OScam für etliche Router mit USB port, fix und fertig verpackt! Zum "Gleichessen"

Hi derdigge,

Fehlermeldung weiß ich nicht mehr beim starten damals.
ldd kennt meine Gigablue nicht. Hier die Ausgabe von ls/ lib

Welcome to openAAF for gb800se
openaaf 2.0 gb800se


gb800se login: root
root@gb800se:~# ldd /usr/bin/camd_3908
-sh: ldd: not found
root@gb800se:~# ls /lib
firmware libe2p.so.2 libnss_mdns6_minimal.so.2
ld-2.13.so libe2p.so.2.3 libnss_mdns_minimal.so.2
ld.so.1 libext2fs.so.2 libpthread-2.13.so
libBrokenLocale-2.13.so libext2fs.so.2.4 libpthread.so.0
libBrokenLocale.so.1 libgcc_s.so.1 libresolv-2.13.so
libanl-2.13.so libm-2.13.so libresolv.so.2
libanl.so.1 libm.so.6 librt-2.13.so
libblkid.so.1 libncursesw.so.5 librt.so.1
libblkid.so.1.1.0 libncursesw.so.5.9 libtinfo.so.5
libc-2.13.so libnsl-2.13.so libtinfo.so.5.9
libc.so.6 libnsl.so.1 libusb-1.0.so.0
libcap.so.2 libnss_compat-2.13.so libusb-1.0.so.0.0.0
libcap.so.2.22 libnss_compat.so.2 libutil-2.13.so
libcom_err.so.2 libnss_dns-2.13.so libutil.so.1
libcom_err.so.2.1 libnss_dns.so.2 libuuid.so.1
libcrypt-2.13.so libnss_files-2.13.so libuuid.so.1.3.0
libcrypt.so.1 libnss_files.so.2 libwrap.so.0
libcrypto.so.0.9.7 libnss_mdns.so.2 libwrap.so.0.7.6
libcrypto.so.0.9.8 libnss_mdns4.so.2 modules
libdl-2.13.so libnss_mdns4_minimal.so.2 systemd
libdl.so.2 libnss_mdns6.so.2 udev
root@gb800se:~#

Ich habe meine Camd3 vom Gigablue Feed runtergeladen und mit dieser Link ist nicht mehr aktiv. für mipsel ersetzt. Deshalb die Bezeichnung auf dem Receiver mit 3.908 aber es ist die 3.899
Wenn die auf dem Router laufen würde, wäre schon sehr genial, dann müsste der Receiver nicht immer laufen um die orf keys zu sharen. Oder auf dem Pogoplug, das wäre ja auch super. Im Paket ist ja eine für ARM drinnen.

LG
Osprey
 
Zuletzt bearbeitet:
AW: OScam für etliche Router mit USB port, fix und fertig verpackt! Zum "Gleichessen"

Ja das wäre in der tat super! Was hast du für ein image auf dem Gigablue laufen? Suche noch eins für meine Solo2 wo ich ORF per camd3 sharen kann und gleichzeitig cccam als client für sky nutzen kann. Ich weiß, dass es mit dem hdfreaks image diese option gibt, nur gibt es das nicht für die Solo2. Vti, openaaf, openvti und blackhole bereits getestet.

Gesendet von meinem HTC One mit Tapatalk 2
 
AW: OScam für etliche Router mit USB port, fix und fertig verpackt! Zum "Gleichessen"

gib mir von der giga mal noch

uname -a
 
AW: OScam für etliche Router mit USB port, fix und fertig verpackt! Zum "Gleichessen"

Bin nichtmehr am PC. Hier ein Screenshot vom Handy.
Du musst angemeldet sein, um Bilder zu sehen.

@SR-88
Ist OpenAAF drauf. Die heißen jetzt OpenATV. Ich lasse darauf camd3 und oscam laufen. Mit dem Pogoplug greif ich dann auf den camd3 server zu um die keys zu sharen. LG Osprey
 
AW: OScam für etliche Router mit USB port, fix und fertig verpackt! Zum "Gleichessen"

Super danke dann werd ich mal eben suchen. Das heißt du hast oscam als client laufen, da die Karte ja am Router läuft?!

Gesendet von meinem HTC One mit Tapatalk 2
 
AW: OScam für etliche Router mit USB port, fix und fertig verpackt! Zum "Gleichessen"

Genau. Habe oscam und Camd3 auf dem Reci und Karten laufen im pogoplug. Wenn du auch das so machen willst, muss camd3 vor oscam starten auf dem Reci nach dem booten. LG Osprey
 
AW: OScam für etliche Router mit USB port, fix und fertig verpackt! Zum "Gleichessen"

Ich google hier n bisschen am Handy rum.
Wahrscheinlich ist deine gigablue ist ne mipsel.

Versuche mal :

echo -n I | od -to2 | awk '{ print substr($2,6,1); exit}'

Wenns ne MIPS ist kommt da ne 0 raus. Bei mipsel ne 1.

Falls od auf dem System nicht verfügbar ist, hiermit :

echo -n I | hexdump -o | awk '{ print substr($2,6,1); exit}'
 
AW: OScam für etliche Router mit USB port, fix und fertig verpackt! Zum "Gleichessen"

@ Osprey

Könntest du mal bitte deine oscam.user und die dazugehörigen clientdaten posten/mir senden? Hab bis jetzt immer Oscam zu cccam verwendet, die Anleitungen sind alle für Oscam als Server und Client gleichzeitig via dvbapi. Wäre dir sehr dankbar
 
AW: OScam für etliche Router mit USB port, fix und fertig verpackt! Zum "Gleichessen"

Hi,
es geht leider beides nicht
gb800se login: root
root@gb800se:~# echo -n I | od -to2 | awk '{ print substr($2,6,1); exit}'
od: invalid option -- 't'
BusyBox v1.19.4 (2013-01-02 19:10:48 CET) multi-call binary.

Usage: od [-aBbcDdeFfHhIiLlOovXx] [FILE]

Print FILE (or stdin) unambiguously, as octal bytes by default

root@gb800se:~# echo -n I | hexdump -o | awk '{ print substr($2,6,1); exit}'
-sh: hexdump: not found
root@gb800se:~#
Es ist ein bcm7325 mips.
Was auch eine Idee wäre, ist CCcam laufen zu lassen. CCcam läuft auf Fritzboxen und damit lassen sich auch F-lines erstellen die Keys mitbenutzen können.

@SR-88
vom Receiver
oscam.conf
[global]
serverip = 192.168.1.115
logfile = stdout;/tmp/oscam.log
cachedelay = 100
nice = -1
maxlogsize = 128
waitforcards = 0
preferlocalcards = 1
dropdups = 1
lb_save = 150
failbantime = 60
failbancount = 10

[newcamd]
port = 31100@0000:000000
key = 0102030405060708091011121314
keepalive = 1

[cccam]
port = 12003
version = 2.1.3
reshare = 1

[dvbapi]
enabled = 1
au = 1
user = dvbapi
boxtype = dreambox

[webif]
httpport = 8888
httphelplang = de
httprefresh = 60
httpallowed = 192.168.1.1-192.168.1.255

[cs357x]
port = 35744

oscam.user
[account]
user = dvbapi
au = 1
group = 1,2
oscam.server
[reader]
label = camd3emu
protocol = camd35
device = 127.0.0.1,20248
user = meinserver
password = meinserverpass
caid = 0D05
group = 2

[reader]
label = pogoplug
protocol = cccam
device = 192.168.1.138,12001
user = user
password = pass
inactivitytimeout = 30
group = 1
cccversion = 2.1.3
cccmaxhops = 4
ccckeepalive = 1

Vom Cardserver/Router

oscam.server
[reader]
label = camd3emu
description = Gigablue
protocol = camd35
device = 192.168.1.115,20248
user = meinserver2
password = meinserverpass2
caid = 0D05
group = 3

LG Osprey
 
AW: OScam für etliche Router mit USB port, fix und fertig verpackt! Zum "Gleichessen"

/usr/bin/oscam ist ein shellscript.
Schau mal in /lib/oscamfunctions.sh da sind die meisten Calls enthalten.
ersteinmal "wow". mit den skripten hast du dir schon eine menge arbeit gemacht. das werden die meisten gar nicht zu schätzen wissen ... mir persönlich ist das ein wenig zu viel "herumgescripte", aber das ist wohl geschmackssache. ich brauche vieles davon nicht. updates z.b. plane ich direkt per opkg zu installieren, ohne einen script wrapper. auch die ganze swap geschichte ist in meinem fall unnötig. insofern fällt da schon einmal vieles weg :).

Da kannste auch sehen wie der watchdog mittels ncat an der monitorschnittstelle schnüffelt.
Einen Großteil der Funktionalität solltest's damit in deinem Build auch umsetzen können.
dafür muss ich mich erst mit der monitor schnittstelle an sich vertraut machen.

Was hält fehlt ist die unmittelbare usbbus Überwachung und der pcsc "Hold".
könntest du das vielleicht ein wenig ausführen? pcsc brauche ich in meinem fall nicht (smartreader). eine usbbus überwachung hört sich aber durchaus interessant an. was genau passiert hiert?

Es wäre auch mal Schick d n bschl Manöverkritik zu bekommen.
folgende "verbesserungsvorschläge" stelle ich aber einfach nochmal in raum:

- dein oscam läuft als root. das ist eine sehr schlechte idee und nicht nötig. gerade bei sovielen netzwerkfunktionen, wie sie oscam anbietet, ist nicht auszuschließen, dass da irgendwo sicherheitsbedrohliche bugs drinstecken. dann hätte man im schlimmsten falle den router übernommen. von da an erwartet den besitzer des netzwerk nichts gutes mehr. oscam lässt sich wunderbar auch mit normalen benutzerrechten ausführen. nur mit ports < 1024 und der gruppenzugehörigkeit der reader muss man aufpassen, siehe .

- ich würde dir empfehlen ein eigenes verzeichnis für die logfiles anzulegen, z.b. /var/log/oscam. das macht das ganze einfacher durchschaubar.

- die paketzugehörigkeit ist nicht unbedingt "logisch". das "oscam" skript ist teil des "oscam_watchdog" pakets und überhaupt scheint es da recht viele überschneidungen zu geben. vielleicht würde es sinn machen die beiden pakete zu vereinen, oder aber besser zu trennen. in dieser form ist das ein ganz schönes wirr-warr.

- warum ist oscam ohne anticasc support kompiliert?

- dein howto ist in punkt 4.2 fehlerhaft. dort ist von "/etc/oscam/oscam.user" die rede. richtig wäre aber "/etc/config/oscam/oscam.user".

wo kommen eigentlich die binaries "lsusb" uns "usleep" her? selbst geschrieben/kompiliert? oder gibt es da etwas vorgefertigtes?
 
AW: OScam für etliche Router mit USB port, fix und fertig verpackt! Zum "Gleichessen"

ersteinmal "wow". mit den skripten hast du dir schon eine menge arbeit gemacht. das werden die meisten gar nicht zu schätzen wissen ... mir persönlich ist das ein wenig zu viel "herumgescripte", aber das ist wohl geschmackssache. ich brauche vieles davon nicht. updates z.b. plane ich direkt per opkg zu installieren, ohne einen script wrapper. auch die ganze swap geschichte ist in meinem fall unnötig. insofern fällt da schon einmal vieles weg :).

Ich bin Mehrsprachig aufgewachsen.
- Deutsch
- Englisch
- Bash
- ash
- perl

;)

dafür muss ich mich erst mit der monitor schnittstelle an sich vertraut machen.

Das ist recht easy. Da ist ewig nichts weiterentwickelt worden und es gibt nur 5 Kommandos.

keealive
log on
status
refreshuserdb? oder so - total Sinnfrei
exit

Wichtig ist halt nocrypt zu verwenden dann kannste mit netcat / telnet ran und dranrum polken.

ncat -u $routerip $monitorport
dann einfach:
login $user $pass
log on
keepalive
trysomethingelse

könntest du das vielleicht ein wenig ausführen? pcsc brauche ich in meinem fall nicht (smartreader). eine usbbus überwachung hört sich aber durchaus interessant an. was genau passiert hiert?

Es ist so, das Wenn ein Device die Biege macht es im Kernel eine "unresponsive" Funktion gibt.
Als erstes werden die Device Funktionen isoliert. Vor vielen vielen Monden als der Linux kernel noch strikt Monolitischen
Aufbaus war, Ist der ganze Hobel einfach mal nur eingefroren dann. so Pentium 2 rum war das ;)

In diesen Moment hake ich ein und kille oscam, und starte usbbus neu ala:

echo 0 > /sys/bus/usb/devicec/$toter_blinke_schnuffi_des_grauens/remove

Dann greift auch schon die Netcat seitige überwachung und merkt "hier iss watt im dutten digger ick dreh ma anne Knöppe".
Im Prinzip ist dieses Feature überflüssig geworden mit der Monitor schnittstelle. (Watchdog 1.04 gloobe)

Bis dahin wurde nur im Logfile rumgeschnüffelt, welches ja einfach anhielt wenn oscam "freezte" bei Readerfehlern. (1/4 Fällen)

- dein oscam läuft als root. das ist eine sehr schlechte idee und nicht nötig. gerade bei sovielen netzwerkfunktionen, wie sie oscam anbietet, ist nicht auszuschließen, dass da irgendwo sicherheitsbedrohliche bugs drinstecken. dann hätte man im schlimmsten falle den router übernommen. von da an erwartet den besitzer des netzwerk nichts gutes mehr. oscam lässt sich wunderbar auch mit normalen benutzerrechten ausführen. nur mit ports < 1024 und der gruppenzugehörigkeit der reader muss man aufpassen, siehe .

Das ist auf jedenfall sehr sinnvoll, da hätte ich auch mal selber drauf kommen können. Das wird höchstwahrscheinlich umgesezt.
Wobei aber auch noch ne firewall da ist ;) . Wenn wir nun ein "Loch" im cccam Protokoll hätten ist der Drops eh gelutscht.

- ich würde dir empfehlen ein eigenes verzeichnis für die logfiles anzulegen, z.b. /var/log/oscam. das macht das ganze einfacher durchschaubar.
Das watchdog logfile gibts nicht mehr. Ich habs einfach mal wegfallen lassen und keiner hats gemerkt -> ergo es interessiert keine Sau!
Also loggt der Watchdog nur noch in den Syslog. ;)

- die paketzugehörigkeit ist nicht unbedingt "logisch". das "oscam" skript ist teil des "oscam_watchdog" pakets und überhaupt scheint es da recht viele überschneidungen zu geben. vielleicht würde es sinn machen die beiden pakete zu vereinen, oder aber besser zu trennen. in dieser form ist das ein ganz schönes wirr-warr.

Das macht durchaus Sinn so. Wenn wir oscam updaten, updaten wir auch wirklich nur die Oscam Binary.
Die ganze Perepherie drum herum bleibt unberührt. Falls "was nicht geht" nach einem Update existiert nur eine Fehlerquelle.
So hatte sich das mal entwickelt, daher wollte ich es eigentlich so belassen. 95% der User beschäftigen sich eh nicht mit diesem Hintergrund.

- warum ist oscam ohne anticasc support kompiliert?

Ich hatte hier mal durchgefragt, was wir denn nun so wirklich brauchen.
Von den ganzen Modulen die da im Oscam verfügbar sind machen einige ja garkeinen Sinn am Router.
Da kam herraus das anticasc ein Payserver funktion ist. Ich weiss ehrlich gesagt nicht was die kann.
Deshalb ist durch das Voting rausgeflogen.

- dein howto ist in punkt 4.2 fehlerhaft. dort ist von "/etc/oscam/oscam.user" die rede. richtig wäre aber "/etc/config/oscam/oscam.user".

Jawollski! Endlich liest das mal einer - ist berichtigt!

wo kommen eigentlich die binaries "lsusb" uns "usleep" her? selbst geschrieben/kompiliert? oder gibt es da etwas vorgefertigtes?

lsusb ist einfach nur ein script welches aus proc die Daten ausbuddelt. vendor und produktid. Was anderes tut das originale lsusb auch nicht nur halt in #c
das originale lsusb hat noch ne db für die ids. aber die meisten usbdevices geben im Deviceheader ihren Namen preis.
Und mein lsusb ist 661 bytes groß und das originale irgendwas um die 40kb. Un meiner haut gleich die Serials raus ;)

usleep ist glaube das kleinste c Programm der welt. Die Monitor schnittstelle am Oscam hat ein Problem. Wenn da 2 Kommandos innerhalt einer millisekunde
anreisen, geht oscam flöten. Darum muss zwischen den Kommandos ne Pause sein. Die wollte ich aber kleiner einer Sekunde halten.
Wenn man oscam Status eingibt dauerts ohne usleep ne ewigkeit.
Das "sleep" aus der Busybox kann nicht sleep 0.2. Darum haabe ich die usleep funktion ausm c genommenund 300ms eingestellt.

root@OpenWrt:/lib# time usleep
real 0m 0.30s
user 0m 0.01s
sys 0m 0.00s
 
AW: OScam für etliche Router mit USB port, fix und fertig verpackt! Zum "Gleichessen"

Das ist recht easy. Da ist ewig nichts weiterentwickelt worden und es gibt nur 5 Kommandos.
hab mir mal den quellcode angesehen. ein paar mehr kommandos gibt es schon, siehe :

Code:
[TABLE="class: code"]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L776"]776[/URL][/TH]
[TD]        static const char *cmd[] = {"login",[/TD]
[/TR]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L777"]777[/URL][/TH]
[TD]                                                                "exit",[/TD]
[/TR]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L778"]778[/URL][/TH]
[TD]                                                                "log",[/TD]
[/TR]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L779"]779[/URL][/TH]
[TD]                                                                "status",[/TD]
[/TR]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L780"]780[/URL][/TH]
[TD]                                                                "shutdown",[/TD]
[/TR]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L781"]781[/URL][/TH]
[TD]                                                                "reload",[/TD]
[/TR]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L782"]782[/URL][/TH]
[TD]                                                                "details",[/TD]
[/TR]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L783"]783[/URL][/TH]
[TD]                                                                "version",[/TD]
[/TR]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L784"]784[/URL][/TH]
[TD]                                                                "debug",[/TD]
[/TR]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L785"]785[/URL][/TH]
[TD]                                                                "getuser",[/TD]
[/TR]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L786"]786[/URL][/TH]
[TD]                                                                "setuser",[/TD]
[/TR]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L787"]787[/URL][/TH]
[TD]                                                                "setserver",[/TD]
[/TR]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L788"]788[/URL][/TH]
[TD]                                                                "commands",[/TD]
[/TR]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L789"]789[/URL][/TH]
[TD]                                                                "keepalive",[/TD]
[/TR]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L790"]790[/URL][/TH]
[TD]                                                                "reread"[/TD]
[/TR]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L791"]791[/URL][/TH]
[TD]#ifdef WEBIF[/TD]
[/TR]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L792"]792[/URL][/TH]
[TD]                                                                ,"restart"[/TD]
[/TR]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L793"]793[/URL][/TH]
[TD]#endif[/TD]
[/TR]
[TR]
[TH][URL="http://www.streamboard.tv/oscam/browser/trunk/module-monitor.c#L794"]794[/URL][/TH]
[TD]                                                                };[/TD]
[/TR]
[/TABLE]

macht aber nichts, brauchen tut man die ja nicht wirklich. wäre nur schön, wenn es zu den einzelnen befehlen eine vernünftige dokumentation geben würde. bisher habe ich da nichts finden können, d.h. man muss sich wohl oder übel durch den quellcode wühlen :(.

Wichtig ist halt nocrypt zu verwenden dann kannste mit netcat / telnet ran und dranrum polken.
Ja, ist klar.

ncat -u $routerip $monitorport
dann einfach:
login $user $pass
log on
keepalive
trysomethingelse
mir ist nur noch nicht so ganz klar wie ich jetzt feststelle, dass oscam hängt. meinst du mit "trysomethingelse" das man irgendwas probiert und guckt, ob sich noch was tut? prinzipiell prüft man damit ja nur, ob oscam noch auf eingaben am monitorport reagiert und nicht unbedingt, ob es probleme mit den readern gibt?

Es ist so, das Wenn ein Device die Biege macht es im Kernel eine "unresponsive" Funktion gibt.
Als erstes werden die Device Funktionen isoliert. Vor vielen vielen Monden als der Linux kernel noch strikt Monolitischen
Aufbaus war, Ist der ganze Hobel einfach mal nur eingefroren dann. so Pentium 2 rum war das ;)
ok, das war wohl ein wenig vor meiner zeit. aus reinem interesse: inwiefern ist denn linux heute nicht mehr monolitisch? so wie ich das sehe ist das nämlich nach wie vor der fall, allerdings wird halt auch vieles im userspace gehandhabt, z.b. eben pcsc, usw.

In diesen Moment hake ich ein und kille oscam, und starte usbbus neu ala:

echo 0 > /sys/bus/usb/devicec/$toter_blinke_schnuffi_des_grauens/remove
kann ich gerade nicht nachvollziehen. wo findet sich dieser aufruf? inwiefern startest du hier etwas neu? wo kann ich mehr darüber erfahren?

Dann greift auch schon die Netcat seitige überwachung und merkt "hier iss watt im dutten digger ick dreh ma anne Knöppe".
Im Prinzip ist dieses Feature überflüssig geworden mit der Monitor schnittstelle. (Watchdog 1.04 gloobe)
kann ich gerade auch nicht wirklich nachvollziehen. wieso schmeißt du es nicht raus, wenn es unnötig ist?


Bis dahin wurde nur im Logfile rumgeschnüffelt, welches ja einfach anhielt wenn oscam "freezte" bei Readerfehlern. (1/4 Fällen)
ja, das leuchtet mir soweit ein.


Das ist auf jedenfall sehr sinnvoll, da hätte ich auch mal selber drauf kommen können. Das wird höchstwahrscheinlich umgesezt.
Wobei aber auch noch ne firewall da ist ;) . Wenn wir nun ein "Loch" im cccam Protokoll hätten ist der Drops eh gelutscht.
das einzige "problem" ist das anlegen bzw. löschen des benutzers. adduser gibt es nicht (zumindest nicht ohne shadow-useradd und shadow-userdel). Ich habe das in etwa so gelöst:

Code:
define Package/oscam/postinst
#!/bin/sh
echo "oscam:*:102:102::/etc/config/oscam:" >> /etc/passwd
echo "oscam:!:102:" >> /etc/group
endef

define Package/oscam/postrm
#!/bin/sh
sed -i '/^oscam/d' /etc/passwd /etc/group
endef

Die UID bzw. GID sind noch vollkommen willkürlich, mal sehen, ob es da richtlinien seitens openwrt oder so gibt. desweiteren habe ich "sudo" als depedency hinzugefügt, und das init script angepasst:

Code:
start() {
        logger "Starting OSCam"
        [ -d /var/log/oscam ] || (mkdir -p /var/log/oscam && chown oscam:oscam /var/log/oscam)
        sudo -u oscam /usr/bin/oscam -b
}

Das watchdog logfile gibts nicht mehr. Ich habs einfach mal wegfallen lassen und keiner hats gemerkt -> ergo es interessiert keine Sau!
Also loggt der Watchdog nur noch in den Syslog. ;)
ok, hatte mich gewundert. war mir nicht sicher, ob es an meiner config liegt, da ich einiges geändert hatte.

95% der User beschäftigen sich eh nicht mit diesem Hintergrund.
ja, ist sicher richtig. weißt/siehst du eigentlich wie viele user es gibt? aus reinem interesse heraus.

Ich hatte hier mal durchgefragt, was wir denn nun so wirklich brauchen.
Von den ganzen Modulen die da im Oscam verfügbar sind machen einige ja garkeinen Sinn am Router.
Da kam herraus das anticasc ein Payserver funktion ist. Ich weiss ehrlich gesagt nicht was die kann.
Deshalb ist durch das Voting rausgeflogen.
ich fand die beschreibung halt ganz interessant. aber stimmt schon, wenn man seinen peers nicht vertrauen kann, dann sollte man es lassen.

lsusb ist einfach nur ein script welches aus proc die Daten ausbuddelt. vendor und produktid. Was anderes tut das originale lsusb auch nicht nur halt in #c
ja, die funktion habe ich schon begriffen. wollte nur wissen, ob du das selbst geschrieben hast, oder ob es da ein template oder sowas gibt.
Und mein lsusb ist 661 bytes groß und das originale irgendwas um die 40kb. Un meiner haut gleich die Serials raus ;)
in jedem fall praktisch. wobei das "originale" halt nicht für jede zeile ein neuen prozess starten muss ;).

usleep ist glaube das kleinste c Programm der welt.
wobei die größe der binary schon "enorm" ist für so etwas triviales. hab da fast mehr vermutet bei 2 kb. das rührt aber wohl dann von der dazugelinkten standardbibliothek?

Die Monitor schnittstelle am Oscam hat ein Problem. Wenn da 2 Kommandos innerhalt einer millisekunde
anreisen, geht oscam flöten. Darum muss zwischen den Kommandos ne Pause sein. Die wollte ich aber kleiner einer Sekunde halten.
gut zu wissen. aber ist das nicht etwas, dass man direkt in oscam fixen sollte? werde ich mir bei gelegenheit mal ansehen.

apropos selbst geschriebenes: was genau ist usbwatch bzw. was macht es ;).

und vielen lieben dank für deine schnellen und ausführlichen antworten. sehr hilfreich und keineswegs selbstverständlich, dass man auf so kooperative und schnell reagierende mitglieder stößt!
 
AW: OScam für etliche Router mit USB port, fix und fertig verpackt! Zum "Gleichessen"

Probiere dir die Commands halt mal aus. 60% davon ist komplett Nutzlos.

reread : liest die reader datenbank neu ein. Also die Config falls sie im file geändert wurde und nicht im webif. <- Ein neustart tuts auch, viel zu kompliziert da extra im Monitor einzuloggen.
getuser/setuser : Ist überflüssig "status" liefert hier bessere Infos.
restart/shutdown : funktioniert beim freeze eh nicht und für einen regulären neustart ? <- Webinterface Button ist hier wohl besser zu erreichen.
details : Überflüssig. Max user weiss man wohl auch so und "waitforcards" wohl auch usw....
.......

mir ist nur noch nicht so ganz klar wie ich jetzt feststelle, dass oscam hängt. meinst du mit "trysomethingelse" das man irgendwas probiert und guckt, ob sich noch was tut? prinzipiell prüft man damit ja nur, ob oscam noch auf eingaben am monitorport reagiert und nicht unbedingt, ob es probleme mit den readern gibt?

login $user $pass
keepalive

auf keepalive kommt ein [ACK] Wenn oscam hängt, kein ACK ;):
Code:
root@OpenWrt:~# ncat -u 127.0.0.1 1000
login dein_login dein_passwort
[AS0000]1|dein_login logged in
keepalive
[KS1000]keepalive_ack

Idealerweise machen wir da noch nen loop draus:

Code:
cws=1        
(echo -e "login $MON_USR $MON_PWD";
usleep;

while [ $cws -le 1 ]; do
echo -e "login $MON_USR $MON_PWD";
usleep;
echo -e "keepalive";
usleep;
done

echo -e "exit") | ncat -u $LOCALHOST $MON_PORT 2>/dev/null

Ich hab die Schleife mal ins Zentrum gelegt. alle 0.6 Sekunden pumpt er ein ACK ausm Oscam dann.
Code:
if test -z $(grep keepalive_ack);then
 $RAISE_HELL_OUT_THAT_FUCKING_SKULL
fi

ok, das war wohl ein wenig vor meiner zeit. aus reinem interesse: inwiefern ist denn linux heute nicht mehr monolitisch? so wie ich das sehe ist das nämlich nach wie vor der fall, allerdings wird halt auch vieles im userspace gehandhabt, z.b. eben pcsc, usw.
Früher war es so das wenn ein Modul (war ja damals noch keins eigentlich), sagen wir ein Kernelmodul für die PS2 Schnittstelle "gepanict" ist war das Komplette System (Kernel) hin.
Heute ist der Kernel in der Lage sich "einen Finger abzuschneiden" im Ernstfall oder einen Haarschopf anzustecken. Das bricht die Monolitische Struktur ja nunmal auf. Damit ist
die strikte definition "monolitisch" nicht merh erfüllt. ;) Das liegt in der Natur der Sache. BTW Das Wissen um diesen Umstand bringt keinem mehr was :wacko1:

kann ich gerade nicht nachvollziehen. wo findet sich dieser aufruf? inwiefern startest du hier etwas neu? wo kann ich mehr darüber erfahren?
Schau mal in /sys/bus/devices nach da gibts diverse Möglichkeiten. Im Rahmen vom Kerneldebugging hatte ich viel darüber gelernt.
echo 0 > /sys/bus/usb/devicec/$toter_blinke_schnuffi_des_grauens/remove
Entfernt erstmal nur das Gerät.
Kommt es nicht von selbst wieder:
echo 1 > /sys/bus/usb/devices/$usbhub_an_dem_der_schnuffi_war/rescan

http://askubuntu.com/questions/645/how-do-you-reset-a-usb-device-from-the-command-line



Meine Lösung ist der im #c (zweiter link) ziemlich ähnlich.

kann ich gerade auch nicht wirklich nachvollziehen. wieso schmeißt du es nicht raus, wenn es unnötig ist?
Weil es bei einem Toten reder es in unter einer Sekunde schafft. Ich habe nichtmal nen Freezer dann.
Ohne dieses Feature gibt mindestens einen microfreezer. Das ist eigentlich echt Kinkerlitzchen aber Wenn der Code nunmal schon da ist ....

das einzige "problem" ist das anlegen bzw. löschen des benutzers. adduser gibt es nicht (zumindest nicht ohne shadow-useradd und shadow-userdel). Ich habe das in etwa so gelöst:

Ne du so einfach ist nicht ;)
Mit dem postinst kriegste bei jedem update von oscam einen neuen user angelegt.
wohl eher so:
/usr/bin/adduser.sh
Code:
!#/bin/sh
if test $(grep $1 /etc/passwd) -lt 1;then
echo "oscam:*:102:102::/etc/config/oscam:" >> /etc/passwd
fi)
if test $(grep $1 /etc/passwd) -lt 1;then
echo "oscam:!:102:" >> /etc/group
fi
Im Makefile:
Code:
define Package/oscam/postinst
/usr/bin/adduser.sh oscam
endef


define Package/oscam/postrm
#!/bin/sh
sed -i '/^oscam/d' /etc/passwd /etc/group
endef

man könnte hier auch noch weiter durchdrehen und nen komplettes usermanagement ausm Hut Zaubern.
Aber das werde ich nicht zwischen [KODE] und [/KODE] machen dann. der drops sollte so um die 150 Zeilen gegessen sein - ein Nachmittag.
So schön schicki mit fortlaufenden Nummern und so ;). Doppeleintragscheck usw. usf. Aber so ein Gedanke muss erst mal reifen bevor man
da "drauflos shellt" - Sonst schellts am ende noch ;)

ja, ist sicher richtig. weißt/siehst du eigentlich wie viele user es gibt? aus reinem interesse heraus.
Ne das sehe ich nicht. Ich überwache hier doch keinen ;)
Aber wenn ich mir den Thread so anschaue -127000 Aufrufe - 2700 Posts.
Es gab am Anfang ne Zeit von über 1000 Aufrufen am Tag / 10000 Aufrufen in der Woche.
Daher schätze ich die Useranzahl so auch 300 - 500 . Das ist aber nur nen Schuss ins Blaue.

ja, die funktion habe ich schon begriffen. wollte nur wissen, ob du das selbst geschrieben hast, oder ob es da ein template oder sowas gibt.
Ich habe das mal für mein Ipad Geschrieben - ist praktisch ne BSD basis. Ich kann mit nen usb Tuner Sky auf meinem Ipad guggn ;) - Die Lösung ist aber verry Ghettho.

wobei die größe der binary schon "enorm" ist für so etwas triviales. hab da fast mehr vermutet bei 2 kb. das rührt aber wohl dann von der dazugelinkten standardbibliothek?
jenau so isset. Aber baue die mal ne oscamüberwachung mit Oscam. Du merkst schnell das du da 5 Kommandos hintereinander anflanschen musst. so dann noch ne sek davor noch eine danach,
schon biste bei 7 Sekunden. Das kann nervig werden. Die 2kb sind im squashfs übrigens nur noch 1,2kb ;)

gut zu wissen. aber ist das nicht etwas, dass man direkt in oscam fixen sollte? werde ich mir bei gelegenheit mal ansehen.

apropos selbst geschriebenes: was genau ist usbwatch bzw. was macht es ;).

und vielen lieben dank für deine schnellen und ausführlichen antworten. sehr hilfreich und keineswegs selbstverständlich, dass man auf so kooperative und schnell reagierende mitglieder stößt!

Hier steht beschrieben wie die Error detection funktioniert:

So habe ich es in den Kernel direkt eingepatcht. Das ist echt n Steiler Zahn my friend ;) - Hat viel Spaß gemacht.
Wenn ein error detected wird, injected er in usbwatch "reset" mittels #C Namemangling.
Ich musste diese beiden Kollegas trennen. Irgendwo unterwegs habe ich bestimmt einen Fehler gemacht,
der das Device nicht mehr hochkommen lässt wenn ich es dierekt im Kerneltask resette [kworker/u:X] z.b.
Es funzt so und das reicht ja eigentlich.

Code:
[COLOR=#0000FF][FONT=consolas]void[/FONT][/COLOR][COLOR=#000000][FONT=consolas] reset([/FONT][/COLOR][COLOR=#0000FF][FONT=consolas]int[/FONT][/COLOR][COLOR=#000000][FONT=consolas] argc, [/FONT][/COLOR][COLOR=#0000FF][FONT=consolas]char[/FONT][/COLOR][COLOR=#000000][FONT=consolas] **argv)
[/FONT][/COLOR]{[COLOR=#0000FF]const[/COLOR] [COLOR=#0000FF]char[/COLOR] *filename;[COLOR=#0000FF]int[/COLOR] fd;
filename = argv[1];
fd = [COLOR=#0000FF]open[/COLOR](filename, O_WRONLY);
ioctl(fd, USBDEVFS_RESET, 0);
[COLOR=#0000FF]close[/COLOR](fd);
[COLOR=#0000FF]return[/COLOR];[COLOR=#000000][FONT=consolas]}[/FONT][/COLOR]
Nur ein bespiel der compiled hier nicht, Daemon fehlt, Schnittstelle für den Injekt, der Detektor für den Oscam neustart, usw.
Aber du siehst halt wie der Kübel resetet wird an der stelle.
 
Zuletzt bearbeitet:
AW: OScam für etliche Router mit USB port, fix und fertig verpackt! Zum "Gleichessen"

@derdigge

Ist es möglich openvpn auf Barrier Breaker ans laufen zu bringen? Die versuche es über die Paketverwaltung zu installieren schlugen alle fehl

Installing openvpn-openssl (2.3.2-1) to root...
Downloading Link ist nicht mehr aktiv..
Collected errors:
* satisfy_dependencies_for: Cannot satisfy the following dependencies for openvpn-openssl:
* kernel (= 3.10.3-1-87ffb17d6a7fc13d80680b2a9e22b5b4) *
* opkg_install_cmd: Cannot install package openvpn-openssl.

Danke schonmal

Gruß
SR-88

Gesendet von meinem HTC One mit Tapatalk 2
 
Zurück
Oben