Beiträge von Frighty_KH

    Hi vali!


    Vielen Dank für den guten Hinweis! Die Klasse in den globalen Kontext zu stellen und per autostart mit dem session-Objekt zu füttern hat das Problem gelöst.


    Was täte Dream Multimedia nicht ohne seine Community... :grinning_face_with_smiling_eyes:

    Hallo zusammen!


    Ich hatte jüngst ein interessantes Telefonat mit einem Dreambox-Entwickler. Er meinte sinngemäß, zur Entwicklung von Plugins sollten zwecks Stabilität keine Python-Threads benutzt werden. Deswegen schreibe ich nun alle meine Plugins so um, dass sie mit Timern und Callback-Funktionen laufen. Dabei stelle ich aber ein Problem fest:
    Wenn das Plugin mit SESSIONSTART gestartet wird, arbeitet der Timer nach ein paar Sekunden nicht mehr. Er wird offensichtlich während des Bootvorganges bereits gekillt. Wenn ich den selben Code z. B. mit EXTENSIONSMENU über ein Menü aufrufe, läuft der Timer einwandfrei.


    Wie kann ich das umgehen (ohne Threads wohlgemerkt)? Oder gibt es andere Techniken?


    Hier ein bisschen Quellcode:


    This bb-File now got compiled. The "-lusb" was missing in the modified version. Thanks for listening :grinning_squinting_face:



    Hi all!


    I try to build a package with a c program that uses libusb by including <usb.h>. Although I added the DEPENDS line and in my bb file and the option -l usb to the compiler call (see below), the compilation failes with "error: usb.h: No such file or directory".


    Some hints:


    - I can imagine when I built the package at the first time, the dependencies of libusb have been parsed successfully.
    - Compiling that program on my Ubuntu machine works perfectly.


    Any suggestions from the professionals? :smiling_face:


    Here is my bb-file:




    edit: Meanwhile I looked into some other Packages that use the c compiler. There is an additional entry ${CFLAGS} ${LDFLAGS}. I changed the corresponding line and now it looks like this:


    Code
    ${CC} ${CFLAGS} ${LDFLAGS} vitalwerterfassung.c -o vitalwerterfassung.out



    The error that is produced now looks a little different, but seems to point to the same problem as certain libusb-specific functions can not be found:



    Okay, it´s time for the next step:


    I have to use the generic driver now by calling "modprobe usbserial vendor=0x0E6A product=0x0101". But this produces an error ("Unknown symbol in module (-1): No such file or directory" and dmesg: "usbserial: Unknown parameter 'vendor'") because this specific call needs a kernel compiled with the option "CONFIG_USB_SERIAL_GENERIC=y".




    These were my steps now:


    1. As I mentioned before, I added both lines in /openembedded/packages/linux/linux-dm800/dm800_defconfig


    2. I compiled the image with bitbake


    3. I flashed the new image on the DM800


    4. I installed your package (thanks a lot!)


    5. I tried "modprobe usbserial vendor=0x0E6A product=0x0101", but the generic driver still doesn´t seem to be loaded (dmesg: "usbserial: Unknown parameter 'vendor').



    What could have gone wrong? How can I check whether the new kernel options has been set or not? Thanks in advance!

    Hi Satman!


    Thanks for that quick answer!


    I copied the file to /tmp (as described in http://dream.reichholf.net/wik…einstallation_eines_Paket).


    But I get this error:


    Code
    # ipkg install /tmp/kernel-modules_2.6.12-r13_dm800.ipk 
    Installing kernel-modules (2.6.12-r13) to root... 
    Nothing to be done 
    An error ocurred, return value: 1. 
    Collected errors: 
    ERROR: Cannot satisfy the following dependencies for kernel-modules: 
    kernel-module-aes kernel-module-anubis kernel-module-arc4 kernel-module-blowfish kernel-module-cast5 kernel-module-cast6 kernel-module-crc32c kernel-module-crypto-null kernel-module-deflate kernel-module-khazad kernel-module-md4 kernel-module-michael-mic kernel-module-serpent kernel-module-sha1 kernel-module-sha256 kernel-module-sha512 kernel-module-tcrypt kernel-module-tea kernel-module-tgr192 kernel-module-twofish kernel-module-wp512 kernel-module-cryptoloop kernel-module-nbd kernel-module-pktcdvd kernel-module-aoe kernel-module-bcm203x kernel-module-bfusb kernel-module-bpa10x kernel-module-hci-usb kernel-module-cpufreq-conservative kernel-module-cpufreq-ondemand kernel-module-cpufreq-powersave kernel-module-cpufreq-userspace kernel-module-evbug kernel-module-joydev kernel-module-mousedev kernel-module-dm-crypt kernel-module-dm-emc kernel-module-dm-mirror kernel-module-dm-mod kernel-module-dm-multipath kernel-module-dm-round-robin kernel-module-dm-snapshot kernel-module-dm-zero kernel-module-faulty kernel-module-linear kernel-module-md kernel-module-multipath kernel-module-raid0 kernel-module-raid1 kernel-module-raid10 kernel-module-raid5 kernel-module-raid6 kernel-module-xor kernel-module-l64781 kernel-module-mt312 kernel-module-tda10021 kernel-module-tda8083 kernel-module-ves1820 kernel-module-ves1x93 kernel-module-bsd-comp kernel-module-netconsole kernel-module-ppp-async kernel-module-ppp-deflate kernel-module-ppp-generic kernel-module-ppp-synctty kernel-module-pppoe kernel-module-pppox kernel-module-slhc kernel-module-tun kernel-module-scsi-debug kernel-module-audio kernel-module-cdc-acm kernel-module-usb-midi kernel-module-usblp kernel-module-mdc800 kernel-module-microtek kernel-module-aiptek kernel-module-ati-remote kernel-module-kbtab kernel-module-mtouchusb kernel-module-powermate kernel-module-touchkitusb kernel-module-wacom kernel-module-xpad kernel-module-dabusb kernel-module-auerswald kernel-module-cytherm kernel-module-emi26 kernel-module-emi62 kernel-module-idmouse kernel-module-legousbtower kernel-module-phidgetkit kernel-module-phidgetservo kernel-module-rio500 kernel-module-usblcd kernel-module-usbled kernel-module-sisusb kernel-module-autofs kernel-module-cdfs kernel-module-cramfs kernel-module-ext2 kernel-module-minix kernel-module-nfsd kernel-module-nls-cp1250 kernel-module-nls-cp1251 kernel-module-nls-cp1255 kernel-module-nls-cp737 kernel-module-nls-cp775 kernel-module-nls-cp850 kernel-module-nls-cp852 kernel-module-nls-cp855 kernel-module-nls-cp857 kernel-module-nls-cp860 kernel-module-nls-cp861 kernel-module-nls-cp862 kernel-module-nls-cp863 kernel-module-nls-cp864 kernel-module-nls-cp865 kernel-module-nls-cp866 kernel-module-nls-cp869 kernel-module-nls-cp874 kernel-module-nls-cp932 kernel-module-nls-cp936 kernel-module-nls-cp949 kernel-module-nls-cp950 kernel-module-nls-euc-jp kernel-module-nls-iso8859-13 kernel-module-nls-iso8859-14 kernel-module-nls-iso8859-15 kernel-module-nls-iso8859-2 kernel-module-nls-iso8859-3 kernel-module-nls-iso8859-4 kernel-module-nls-iso8859-5 kernel-module-nls-iso8859-6 kernel-module-nls-iso8859-7 kernel-module-nls-iso8859-9 kernel-module-nls-koi8-r kernel-module-nls-koi8-ru kernel-module-nls-koi8-u kernel-module-ntfs kernel-module-smbfs kernel-module-udf kernel-module-ufs kernel-module-crc-ccitt kernel-module-libcrc32c kernel-module-8021q kernel-module-bluetooth kernel-module-l2cap kernel-module-sco kernel-module-bnep kernel-module-hidp kernel-module-rfcomm kernel-module-bridge kernel-module-ah4 kernel-module-esp4 kernel-module-ip-gre kernel-module-ipcomp kernel-module-ipip kernel-module-xfrm4-tunnel kernel-module-arp-tables kernel-module-arpt-mangle kernel-module-arptable-filter kernel-module-ip-conntrack kernel-module-ip-conntrack-amanda kernel-module-ip-conntrack-ftp kernel-module-ip-conntrack-irc kernel-module-ip-conntrack-proto-sctp kernel-module-ip-conntrack-tftp kernel-module-ip-nat-amanda kernel-module-ip-nat-ftp kernel-module-ip-nat-irc kernel-module-ip-nat-snmp-basic kernel-module-ip-nat-tftp kernel-module-ip-queue kernel-module-ip-tables kernel-module-ipt-classify kernel-module-ipt-clusterip kernel-module-ipt-connmark kernel-module-ipt-dscp kernel-module-ipt-ecn kernel-module-ipt-log kernel-module-ipt-mark kernel-module-ipt-masquerade kernel-module-ipt-netmap kernel-module-ipt-notrack kernel-module-ipt-redirect kernel-module-ipt-reject kernel-module-ipt-same kernel-module-ipt-tcpmss kernel-module-ipt-tos kernel-module-ipt-ulog kernel-module-ipt-addrtype kernel-module-ipt-ah kernel-module-ipt-comment kernel-module-ipt-conntrack kernel-module-ipt-esp kernel-module-ipt-hashlimit kernel-module-ipt-helper kernel-module-ipt-iprange kernel-module-ipt-length kernel-module-ipt-limit kernel-module-ipt-mac kernel-module-ipt-multiport kernel-module-ipt-owner kernel-module-ipt-pkttype kernel-module-ipt-realm kernel-module-ipt-recent kernel-module-ipt-sctp kernel-module-ipt-state kernel-module-ipt-ttl kernel-module-iptable-filter kernel-module-iptable-mangle kernel-module-iptable-nat kernel-module-iptable-raw kernel-module-ah6 kernel-module-esp6 kernel-module-ip6-tunnel kernel-module-ipcomp6 kernel-module-ipv6 kernel-module-xfrm6-tunnel kernel-module-ip6-queue kernel-module-ip6-tables kernel-module-ip6t-log kernel-module-ip6t-mark kernel-module-ip6t-ah kernel-module-ip6t-dst kernel-module-ip6t-esp kernel-module-ip6t-eui64 kernel-module-ip6t-frag kernel-module-ip6t-hbh kernel-module-ip6t-hl kernel-module-ip6t-ipv6header kernel-module-ip6t-length kernel-module-ip6t-limit kernel-module-ip6t-mac kernel-module-ip6t-multiport kernel-module-ip6t-owner kernel-module-ip6t-rt kernel-module-ip6table-filter kernel-module-ip6table-mangle kernel-module-ip6table-raw kernel-module-cls-basic kernel-module-cls-fw kernel-module-cls-route kernel-module-cls-rsvp kernel-module-cls-rsvp6 kernel-module-cls-tcindex kernel-module-cls-u32 kernel-module-em-cmp kernel-module-em-meta kernel-module-em-nbyte kernel-module-em-u32 kernel-module-gact kernel-module-ipt kernel-module-mirred kernel-module-pedit kernel-module-police kernel-module-sch-cbq kernel-module-sch-dsmark kernel-module-sch-gred kernel-module-sch-hfsc kernel-module-sch-htb kernel-module-sch-ingress kernel-module-sch-netem kernel-module-sch-prio kernel-module-sch-red kernel-module-sch-sfq kernel-module-sch-tbf kernel-module-sch-teql kernel-module-simple kernel-module-sctp kernel-module-xfrm-user

    Hi all!




    Adding those lines in the dm800_defconfig has no effect on the running modules (listed by lsmod).


    Maybe the openembedded-toolchain also somehow needs the module object file?


    If so, where should I get that file and where shall I put it in order to create a working image?




    In other communitys I found out that this could be possible:




    insmod /lib/modules/2.6.9/kernel/drivers/usb/serial/usbserial.ko




    But in the dm800, there are only these drivers:


    Code
    root@dm800:/lib/modules/2.6.12-5.1-brcmstb-dm800/kernel/drivers/usb# ls -l 
    drwxr-xr-x 2 root root 0 Jan 1 1970 input 
    drwxr-xr-x 2 root root 0 Jan 1 1970 mon 
    drwxr-xr-x 2 root root 0 Jan 1 1970 storage

    There are various versions of a Python skript named evdev.py (have a try at google), which do that job. But you have to comment out some lines that do ioctl calls which otherwise would generate IOErrors (22, invalid argument).


    These lines are affected:


    Code
    def readMetadata(self): 
    [...] 
    self.name = ioctl(self.fd, EVIOCGNAME_512, buffer) 
    [...] 
    values = struct.unpack("iiiii", ioctl(self.fd, EVIOCGABS_512 + number, buffer))


    The version I am using is attached. If someone of you out there has an idea why these IO exceptions occur...

    Hi all!



    I want to code a small plugin that does some usage statistics of the remote control or remote keyboard. Does anyone have an idea how all the key-events can be catched in Python? I found out that the /proc/bus/input/devices may be a way, but I would rather use Python... because of lack of C/Linux knowledge... :kissing_face:



    Best regards!

    I am not quite sure, but after intensively exercizing the bitbaker-, openembedded-, opendreambox- toolchain and its directorys, I guess the file is lokated here:


    /openembedded/packages/linux/linux-dm800/dm800_defconfig



    I will try to edit this file and build a new image. Let´s see if this was a bull´s eye... :face_with_open_mouth:

    Hi all!



    I want to add some lines to the boot configuration in order to add USB serial adapter support to the dreambox 800:


    CONFIG_USB_SERIAL=m
    CONFIG_USB_SERIAL_GENERIC=y



    But I have no idea in which file I have to put these lines! :confused_face:



    Some information about the environment: I already have bitbaker, git and all that stuff installed. But I am not a linux professional... :kissing_face:

    Hi all!


    I want to append a third button the messagebox class. I cloned the original Messagebox class and added some additional code (see below), but the buttons are not displayed when the messagebox is shown. Buttons of Messageboxes with usual types like TYPE_YESNO are displayed correctly.


    Here is my class:



    Do you have any ideas?


    P.S.: I invoke this MessageBox by calling
    from Screens.MyCustomMessageBox import MessageBox
    [...]
    Tools.Notifications.AddNotificationWithCallback(self.retHandler, MessageBox, text, 4, duration, default = False)