continue
if (not os.path.islink(file)) and (not os.path.exists(file)):
continue
+ if file[-4:] == '.pyo':
+ continue
if file in seen:
continue
seen.append(file)
md5=333b0e9328194f28af83c26d3717e4ac
sha256=8930ebfdc8a606d8cb26f073d4700460c3289fb79e943e12948329e17336ca47
+[http://www.ralinktech.com.tw/data/drivers/2008_0506_RT73_Linux_STA_Drv1.1.0.1.tar.bz2]
+md5=3e08bf734b740e83391fda571c8e9ecd
+sha256=932b9c127992fd7985e4054d91120164e54f7132fa457b06fdcd30307e5b70f9
+
[http://www.amd.com/files/connectivitysolutions/geode/geode_lx/AES_Linux_LX_02.01.0100.tar.gz]
md5=12cb241a9037fffe31ba7c68a48ed614
sha256=a6068b4aa0e2330eed6e4741bad3191dc9ca7d7326f7bfab578ac55e2b8b91a2
md5=4be042a043ec520074b0ab6f7ca0bded
sha256=fa668e8f01fe43fdddb33f0c5e294698818f37519000b9f782f504ece071c740
+[http://www.reactivated.net/software/zd1211-vendor/releases/ZD1211LnxDrv_2_22_0_0.tar.gz]
+md5=0ac1145f1f30d883694b4a1317f142c4
+sha256=262f44f0d1274d2baf6548e53df96c6664b076f39e3aaeeb022bbd5caccbe3e3
+
[http://zope.org/Products/Zope/2.7.1/Zope-2.7.1.tgz]
md5=ae9d4bb3f7220dfffb6e91b42503b16c
sha256=341f56aa4ece9001a118be8ff9675bfad6410dc1df86dd86aeb726adc732341b
md5=3b27365772d918050b2251d98a9c7c82
sha256=9c548c44d3cfdf259118d9fd4e468e1fe4567456dbff8ff59838c5f70ef62ea3
+[http://sources.dreamboxupdate.com/download/snapshots/ath_hal-20080815.tgz]
+md5=f88c708bbc6ce971f170499110098604
+sha256=eb1dd7529fccb17c59f4ae027d5c4d60dfe89e399a97be72b378e2ba646cd54d
+
[ftp://ftp.gtk.org/pub/gtk/v2.8/atk-1.10.3.tar.bz2]
md5=c84a01fea567b365c0d44b227fead948
sha256=c596baf95f6a6cd7748b1018336b2ac45ca2ef668816e6c703b01691e09b8a89
md5=3cb3be404950ef08e51adbe59c7b811e
sha256=c3648f02dd7d4dc8c0ef9a48089fda4ca47b81a977c838b17f55e6abf7f51447
+[http://sources.dreamboxupdate.com/download/7020/backdrop_dm8000.mvi]
+md5=404ecdfe1f291ef64079c463fe699ac2
+sha256=bd486f5434eaa7fd5f39fb67c8dc0394e2d08c2505419c72c5a5a563463658fd
+
[http://heanet.dl.sourceforge.net/sourceforge/bacula/bacula-1.38.11.tar.gz]
md5=0d6d6614afdc468d214de4e66f9f5a26
sha256=d095165d256771c918b80f836feaf837aedc1362b2d67171013d3ab7ac5ee47f
md5=5afcef5d6047f14cd5f65d2fdbd86fb2
sha256=43debdc36c9aed8a2ef366bf3e98c1440e643a5ae9e7e1423b6309ddee5ae25e
-[ftp://ftp.pl.debian.org/pub/debian/pool/main/b/base-passwd/base-passwd_3.5.19.tar.gz]
-md5=5afcef5d6047f14cd5f65d2fdbd86fb2
-sha256=43debdc36c9aed8a2ef366bf3e98c1440e643a5ae9e7e1423b6309ddee5ae25e
-
[ftp://ftp.us.debian.org/debian/pool/main/b/base-passwd/base-passwd_3.5.19.tar.gz]
md5=5afcef5d6047f14cd5f65d2fdbd86fb2
sha256=43debdc36c9aed8a2ef366bf3e98c1440e643a5ae9e7e1423b6309ddee5ae25e
md5=4be91177d19069e21beeb106f2f77dff
sha256=7738399ecfcfb2242e9f99a316b13a5f59e89052de05074dbf705ccf4edc327d
+[http://sources.dreamboxupdate.com/download/7020/bootlogo_dm8000.elf]
+md5=8ab6ead17f2d51e9b93f968b027cb3a9
+sha256=d5b517b85c2d346cacaef3fd1833f4aaccf9ba37785fcca94a3bd33563c040c8
+
+[http://sources.dreamboxupdate.com/download/7020/bootlogo_dm8000.jpg]
+md5=017abc2244931c14464ae6d4ad8c2296
+sha256=5f8ea9e76a10c28282425cb1fccbcfd5897da1e83adeaa9d89744c3597f49f02
+
+[http://sources.dreamboxupdate.com/download/7020/bootlogo_dm8000.mvi]
+md5=c1a99cb9ab8248faaf273cd5d9f16cfd
+sha256=0c02c791020c5d230fafc226f2282f42434a0b4db66e6aa7eda56f23cec01578
+
+[http://sources.dreamboxupdate.com/download/7020/bootlogo_wait_dm8000.mvi]
+md5=4c3eba94a7092c8ad9adeaa90ed40673
+sha256=b8057f51a1317294e4feab663ded9652491bcfbaaaf7e141f06129452ad36e6d
+
[http://www.cosmicpenguin.net/pub/bootmenu/bootmenu-0.6.tar.gz]
md5=d7d8343f90a149c1604e5a14ea2f967d
sha256=3ff618bcbf9926f356aec2a604b1f1d617e3f87ad545b1d96c066ed712675845
md5=562c78876219bf458d79a041af18293d
sha256=89dd1d5aa5c2ba04677d1aa2616caa50274d8c08f3d6bc164e6f7b9930776191
+[http://sources.dreamboxupdate.com/download/7020/dccamd-dm8000-1.1]
+md5=d0439fec02ef37e4896d65c1605f3982
+sha256=b2457ff8d8355baa8dfb2a1ed30847668af6fdf16bcfc1bf89a3b0e672e4ef02
+
[http://packetstormsecurity.org/UNIX/scanners/dcetest-2.0.tar.gz]
md5=74ee7617c8b01cc641992c1d13dc394b
sha256=4a319a08ae0838234f5b6fbd0b4d2e0fac7560a7553a4e1b043527cc17032aa3
md5=dad1a4a08c475b31a6b62e7dc92fe9d2
sha256=5287e943265b9efe5bd59cd1f3145d3fbf9e266df28938ad78e2107fde3c1587
+[http://sources.dreamboxupdate.com/download/opendreambox/dreambox-blindscan-utils-dm8000-1.0.tar.bz2]
+md5=4e540e321fb76df423fc166ddfd83773
+sha256=167494f7617d2f8d8c25d9dab7a4ab5ec26b91bbe06413365f31ddedabc3bed6
+
+[http://sources.dreamboxupdate.com/snapshots/dreambox-dvb-modules-dm8000-2.6.12-5.1-brcmstb-dm8000-20080920.tar.bz2]
+md5=a508ee35044989c41e7f49664496cedf
+sha256=47e7132ed5ec55bbaec2348cd5b61cc610a762a247cb4d3aebc9e47ff19fc9be
+
+[http://sources.dreamboxupdate.com/download/opendreambox/dreambox-dvb-tools-v3-1.5.tar.gz]
+md5=da705f04302e87c7b4e83903ce4b5707
+sha256=d2005e7b8ea9d8d8b4503117daf18a642bbabd0e013d41302c5f80e3333c67ef
+
[http://xorg.freedesktop.org/releases/individual/proto/dri2proto-1.1.tar.bz2]
md5=1d70f0653b0b3a837853262dc5d34da4
sha256=69def6d1f64b3699ec9c729596d8b096623a62bdda6bbea78ed690421d174c11
md5=55220ebadef5f541d705b72fe222b5b1
sha256=4b891e1d58c8cdf397737ac81a9328d8c663743b41f835bb2267831866d75a3e
+[http://sources.dreamboxupdate.com/download/opendreambox/fakelocale.tar.gz]
+md5=d11a901c9e4dc2947cbc560044de2b67
+sha256=b424804aff7a23efaa1fa25d27a55ac25173d0e7e95d07fe31096250bb498cc6
+
[http://openzaurus.org/mirror/fakeroot_1.2.13.tar.gz]
md5=cf25d5d4c943ebf2293fe6f23ecba0fd
sha256=6f51ebdf0e18bea58d18f79e8ffebb797fe57bdf44b96dff9d84b70467af7841
md5=9441c981bfd4e521abcd5d93385f71d8
sha256=06c2772ae6e446227f6798ad8994fcdb1fe64385bc83a34f7e29fd8af2e4f5da
-[ftp://ftp.pl.debian.org/pub/debian/pool/main/f/fakeroot/fakeroot_1.9.6.tar.gz]
-md5=9441c981bfd4e521abcd5d93385f71d8
-sha256=06c2772ae6e446227f6798ad8994fcdb1fe64385bc83a34f7e29fd8af2e4f5da
-
[ftp://ftp.us.debian.org/debian/pool/main/f/fakeroot/fakeroot_1.9.6.tar.gz]
md5=9441c981bfd4e521abcd5d93385f71d8
sha256=06c2772ae6e446227f6798ad8994fcdb1fe64385bc83a34f7e29fd8af2e4f5da
md5=9e6a16b7d074782d1c62f1f7316e56ab
sha256=e2db8d3383cd8eca6a18ebee85875de895f3ac7414eab091a87f052d79a87b09
+[http://www.guzu.net/files/hddtemp-0.3-beta15.tar.bz2]
+md5=8b829339e1ae9df701684ec239021bb8
+sha256=618541584054093d53be8a2d9e81c97174f30f00af91cb8700a97e442d79ef5b
+
+[http://www.guzu.net/linux/hddtemp.db]
+md5=7b2651d53d10808e270bc386b6db89dd
+sha256=ca43f8ab1e4fb3919af940a2fe6a95feb03939f685450a48666763a3edc326bb
+
[http://downloads.sourceforge.net/hdparm/hdparm-6.3.tar.gz]
md5=0c12672f3a09c14ad0b0882f15fc9389
sha256=08688a6a46ba495494bf838f8f26103e797584c1888eca94e43a171e1b37246d
md5=5bcaa0fe3fec26840c8f1ecefc891887
sha256=53b67c08477623bb03436f79bf2ca859d7cd9684c57775ea539e1db449658236
+[http://sources.dreamboxupdate.com/snapshots/include2.tar.gz]
+md5=9d236095a88d7ce9f3bf0503ee5237d6
+sha256=739bc35bccdb1e4c6e14b77ab86808354eb6fd75434d3bd6236f3b3346805e02
+
[ftp://ftp.gnu.org/gnu/inetutils/inetutils-1.4.2.tar.gz]
md5=df0909a586ddac2b7a0d62795eea4206
sha256=9f001daa0f3d571ae35aac88f04d5dd982a14e90257e4dfb535c143fa18d5830
md5=4f75fc9901c724b712c371c9a1e782d3
sha256=912a1fdb12d31af757e7881db49321e5b5240bd8bd4199e9fb0ce16d66568160
+[http://critical.ch/distfiles/libsidplay-1.36.59.tgz]
+md5=37c51ba4bd57164b1b0bb7b43b9adece
+sha256=3da9b38d4eb5bf9e936b9604ba92da0594ef38047d50cf806a8e11c400008024
+
[http://www.geocities.com/SiliconValley/Lakes/5147/sidplay/packages/libsidplay-1.36.59.tgz]
md5=37c51ba4bd57164b1b0bb7b43b9adece
sha256=3da9b38d4eb5bf9e936b9604ba92da0594ef38047d50cf806a8e11c400008024
md5=dc43ff7ae6aded45f578c87b7b0c8766
sha256=c01bd621f771cdee349877f55cc841a1bdfb206b2cf5c9aa62aa6a9680e61980
+[http://www.ant.uni-bremen.de/whomes/rinas/libxmlccwrap/download/libxmlccwrap-0.0.12.tar.gz]
+md5=9f8bbad3452d704603246273b2dda758
+sha256=38fb5f75f8b7dad1c8d535cc7b18ea9f1603e14a8b9256a2f60cf721513dc299
+
[http://gpe.linuxtogo.org/download/source/libxsettings-0.11.tar.gz]
md5=ea623deae839c41ef68c9a31233157ef
sha256=4cae17ea07445660cedb34a8a0222055954ed67de3d5a527850d8b9e923e3543
md5=f00fd1b5a80f52baf9d1d83acddfa325
sha256=1fa39c202efe168bfeb0ddd74c8e4814f77da7dc78993e47826bad9173b95808
+[http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-add-ioprio.patch.bz2]
+md5=9af26454c10261c099865fa8008e898f
+sha256=af680b4c40128e1e63bb7bff7a67ff813bc4741a0c8a95ddfb13ed9b9ed4782b
+
+[http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-brcm-5.1.patch.bz2]
+md5=dd3c40f0f02153efa817808a0a2f687e
+sha256=c609eb3c63de0cd63f54607e744f04f267f069ba5eeabff294c769e857bcf3bb
+
+[http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvb-core-fix-several-locking-problems.patch.bz2]
+md5=c395c813ec87b603169f56d9b9dc84d8
+sha256=8b8172b65e9032935f49f38984a76aea4eb4dba4a3c5c7bb441172cc9d4a1331
+
+[http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvb-multipid-r4.patch.bz2]
+md5=7b3a8555190f7e6370459b058f4a3bb6
+sha256=17d706ec6f16ecaa135bb6bb81ad14f9757f2835099a19f74ab676f23026b217
+
+[http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvbapi-pilot-rolloff-extension-r0.patch.bz2]
+md5=d93c88a6ef7ca15eb46d9767563eaae4
+sha256=b79086627a13f84c2a38eeb8039045d4577fb2c851faff7f8509acbf6b835773
+
[http://kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.12-rc2.tar.bz2]
md5=b8b75ddeca0f48221f085703f2f72692
sha256=2e36150665e7268d5dd03b70621a0e80c4f7abb04584694dba540774030f6a54
md5=0f9afd619a10872b3383362d55c892c3
sha256=4cc5ca6e2ea8583f026620169e5d6eceb6c620181ba0633efbeb74cdb8c2fc59
+[http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-update-wireless.patch.bz2]
+md5=8f39722809d9e10698d691372ac69dab
+sha256=326aba0a5d7c41496a88cc9855e842e49b0d8153c66eeb39d6b15b3afd165a86
+
+[http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-update_dvbapi-r1.patch.bz2]
+md5=0d3899252651474f91aebba1b760acb5
+sha256=8a3047b7c9dfcb84735e9eaed0ea3fc6e028bb3d8ed82756a8ce2b0d3bd18e46
+
[http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.6.tar.bz2]
md5=1592bb2a8ec0deb1ff32e8238f25ecc5
sha256=d8bbdd8064c3564e6ec74fec3332776733e7982e67af66c5311fd1955bf309dd
md5=1df3e4fbf2670712cecb4953e2d24834
sha256=8dffedf772a9f75a8cee2a603e1b14e4b7848010dcfa0e6b087afcf4f66da6de
+[http://ep09.pld-linux.org/~mmazur/linux-libc-headers/linux-libc-headers-2.6.12.0.tar.bz2]
+md5=eae2f562afe224ad50f65a6acfb4252c
+sha256=e1c4e5c36787c5c25b9efb60ac0419d4e5b465bc4c7d4de09c9b49b0ed99fd11
+
[http://ewi546.ewi.utwente.nl/OE/eabi/linux-libc-headers-2.6.15.99.tar.bz2]
md5=0ab7fdfc84522e16bfe78b8e0cc66bfa
sha256=c8630034519e525347e0cb8435bdf0edf9fbad2d16392768ba142c06681b2305
md5=fe1758398de89fce57f05f9c1d1bb923
sha256=70cfa5eacd27d46a5e6f562b01769c64794d20ce4636cf133def7db7f0715efb
+[http://www.angstrom-distribution.org/unstable/sources/madwifi-ng-r3314-20080131.tar.gz]
+md5=2c7352cbbdac995de8c3bce5b80db5f2
+sha256=0599c75b95ba63bdc554cb8124192e62c75fbeb71b9e8a5a7bc351c8e0666758
+
[http://snapshots.madwifi.org/madwifi-trunk/madwifi-trunk-r3837-20080802.tar.gz]
md5=d6e04fa7fb0bea5079f24a753633fb29
sha256=d504e1e7b8f0d01b5441a86d1086aa4088c8896d87d8aabd6dabace76997467a
md5=d605b6068b6c9aa2bc7550f49c60958c
sha256=7e5e1768db0201981f90256fa94db3f09f23285ffd60dc60a51a753825084848
+[ftp://archive.debian.org/debian-archive/pool/non-free/m/mrouted/mrouted_3.9-beta3.orig.tar.gz]
+md5=96067b571622ac232dab42a5c56dcedc
+sha256=8d38a1feadf9298dd554b352fd6cc247207c930ef0c7df736deb5b44e5c58fb6
+
[http://downloads.sourceforge.net/materm/mrxvt-0.5.2.tar.gz]
md5=ed87b7dd9f4fb482de0f14f085085027
sha256=558491d1f112362780abaf7429d14216e658b7768dd30f82f102ce646d3065cf
md5=516c576c0ca5c0a01ad24d018093cfee
sha256=8a29457052b73ac0139e3b2824a74323256dd7631b1691239ddb18124e231a71
+[http://www.webdav.org/neon/neon-0.28.2.tar.gz]
+md5=b99b3f44e8507ae2d17362f1b34aaf02
+sha256=d9cd601613db6affb25655e0908b0bf8c266669cef31999b6b4121d585ff9094
+
[http://downloads.sourceforge.net/net-snmp/net-snmp-5.1.2.tar.gz]
md5=8080555ab3f90011f25d5122042d9a8d
sha256=1fca69e934c3d526e308450cc5af2478d440e012922dd0bb10388fcf093ef32e
md5=7401faebc6baee9add32608709c54eec
sha256=063f00d5b889beee910eb113c8cfbb4fc85cd404693494bcaaf79dd09a98335c
+[http://sources.dreamboxupdate.com/download/snapshots/openwrt_madwifi_patches_20080829.tar.bz2]
+md5=f5cef7c338bd09d2e6774033e8509c34
+sha256=e48847244e137cdba469f1937fc3dc0c4a399a1b8dc8a1563dac654135d650c8
+
[http://downloads.sourceforge.net/oprofile/oprofile-0.9.2.tar.gz]
md5=9af4e1e1aab89131516736bb60e9efba
sha256=4b3780ee09efe665a69151c994e0e5f01a56c57338660c18df30916904df83a6
md5=b5f96d823b1183ba0c4e61516e1a23c0
sha256=45994ebcdd4ed30b37c6fc0569ee69aee4f2ef9ed75857d0a3784ce3bfe92ffc
-[http://kernel.org/pub/linux/kernel/v2.6/testing/v2.6.26/patch-2.6.26-rc4.bz2]
-md5=b5f96d823b1183ba0c4e61516e1a23c0
-sha256=45994ebcdd4ed30b37c6fc0569ee69aee4f2ef9ed75857d0a3784ce3bfe92ffc
-
[http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.27-rc1.bz2]
md5=948b25bab0082d1db5bd8c9fac824891
sha256=2b35a35a0ab3b82b77bb2996782ef70ec15a13b9331b15bac814b891ae8f4867
md5=d2aa74615aa9cf23413975a68613ffc1
sha256=12527f130dd695184c44c6197deb619c26c9b5b31ce7699a5dd97e0ad2dd7bd1
+[http://downloads.sourceforge.net/pyopenssl/pyOpenSSL-0.6.tar.gz]
+md5=af67fda6d2125cae9c56ee50430a40c7
+sha256=58ee9dd10fbd97d65347626f60a38aafdcb05d19ad90c883c4284266ba7ec959
+
[http://www.andrewchatham.com/pyogg/download/pyao-0.82.tar.gz]
md5=8e00f5154401a6f6d99efd20606e2819
sha256=9a444518252f6d747e76a219e5efbc05b4e1742260a7419da9ddf93a519b30c5
md5=cdcebdfd63e74754f57b9e9b0db4ea20
sha256=a6d7db68c87699e283a1f58b637a7e730c350899fd7b35b88e63caa0e85a9ab9
+[http://www.amk.ca/files/python/crypto/pycrypto-2.0.1.tar.gz]
+md5=4d5674f3898a573691ffb335e8d749cd
+sha256=b08d4ed54c9403c77778a3803e53a4f33f359b42d94f6f3e14abb1bf4941e6ea
+
[http://pycurl.sourceforge.net/download/pycurl-7.14.0.tar.gz]
md5=6f73d518fb520af14634a06ee1b7ddce
sha256=a60e08b01fc3355ec18ec0e447349b6f8bff3f9628eb42891cff1eb51b9618b1
md5=6465dc6545970352dfa6305c36c2403d
sha256=097882b4613c87303dd068c41c95e77675da790cab63c7b440e70643d1741035
+[http://sources.dreamboxupdate.com/download/7020/secondstage-dm8000-65.bin]
+md5=18f6363a45a2fd708e1e91cc1bcad25b
+sha256=c47212f4a24a16e2fbb90bc6c8e16c0cb9489b68be83542f2df8f26dcb62528c
+
[ftp://ftp.gnu.org/gnu/sed/sed-4.0.8.tar.gz]
md5=fb7fa2a7336afc358012763b292e2124
sha256=a02d8c006bc0531bd646cae3082b7db8c7a1969084411cb129ec105fd12c0a13
md5=ee74158c6c55ae16327595c70369ef83
sha256=ef5e9bf276b65bb831f9c2554cd8784bd5b4ee65353808f82b7e2aef851587ec
+[http://dreamboxupdate.com/download/opendreambox/tuxbox-common-r8.tar.gz]
+md5=032d3f766e803555d9e3ca5aaba34858
+sha256=e1d06c75136152c78f07cb37b81e624270c95a457fbc86b2608bcc1b3cbd108b
+
[http://heanet.dl.sourceforge.net/sourceforge/tuxnes/tuxnes-0.75.tar.gz]
md5=5db0cd42dfdff3e681805e93b4867c43
sha256=217fc57fdd2a5ec360c197ea36110ec929d3f27c88cf875f0f4723b3496ed7c2
md5=67a48fd9b69db8818a4dca5375c7993a
sha256=cb4909d8753dff7f6ac90a62a61ed1ae68e49ead2dbc60c22673c55bb0e14a36
+[http://sources.dreamboxupdate.com/download/7020/wdog-dm8000]
+md5=dc7c1a43733033e0bebfe57cf06a4562
+sha256=82d626e85a0b63d715b79a79e6ebacc25dd3b739320dbcdafd79cbb7ed0cc351
+
[http://downloads.sourceforge.net/webcamserver/webcam_server-0.50.tar.gz]
md5=96830836f64edbb12c248eb84e6b0d18
sha256=b8e200ae66c20897c9aaa80b0044e638a0016d3bdb6e67560fd61f1ef162f305
md5=ae1f9198544d1585f44dab7bab110ae3
sha256=28e73da5403faad322022e8fb327f99677841d26396a1a1f1e854c768b47cf7c
+[http://sources.dreamboxupdate.com/zoneinfo.tar.bz2]
+md5=ac244d186fd829699c781b9ee8f40f22
+sha256=51d8b034902ea2a54c7b0bc4482af8c9460bb76f6b9fd41baa7254b388690f8e
+
+[http://www.zope.org/Products/ZopeInterface/3.3.0/zope.interface-3.3.0.tar.gz]
+md5=93668855e37b4691c5c956665c33392c
+sha256=c049ef6f0748a2db26c7d01de1566e52f048e5fa6fbbb8da90c43e55597a5075
+
[http://downloads.sourceforge.net/zrally/zrally_0.90_src.tar.gz]
md5=7084c0d2b28108563ca45e5ec1533ba1
sha256=c4fb0477fdc110b63d867ae2a46cca7913fa6a0ca8bf574c7189329bea91dcdf
--- /dev/null
+#@TYPE: Distribution
+#@NAME: OpenDreambox
+#@DESCRIPTION: Distribution configuration for OpenDreambox
+
+INHERIT += "package_ipk debian"
+
+INHERIT += "packaged-staging"
+
+require conf/distro/include/sane-srcdates.inc
+require conf/distro/include/sane-srcrevs.inc
+
+SYSVINIT_ENABLED_GETTYS = ""
+DISTRO = "opendreambox"
+DISTRO_NAME = "OpenDreambox"
+DISTRO_VERSION = "1.6.0"
+DISTRO_PR = ""
+
+# for task-boot:
+DISTRO_LOGIN_MANAGER = ""
+DISTRO_DEV_MANAGER = ""
+DISTRO_INITSCRIPTS = "initscripts-opendreambox"
+
+# for dreambox-feed-configs:
+DISTRO_FEED_URI = "http://sources.dreamboxupdate.com/${DISTRO}/1.6/experimental"
+
+SRCDATE = 20070625
+
+PREFERRED_VERSION_swig-native = "1.3.31"
+#PREFERRED_VERSION_ipkg = "0.99.154"
+#PREFERRED_VERSION_busybox = "1.01"
+
+# we need libsigc++-1.2 1.2.5
+PREFERRED_VERSION_libsigc++-1.2 = "1.2.5"
+
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}libc-for-gcc:glibc"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}binutils:binutils-cross"
+
+PREFERRED_VERSION_gcc-cross-initial = "3.4.5"
+PREFERRED_VERSION_gcc-cross = "4.1.1"
+PREFERRED_VERSION_gcc-cross-intermediate = "4.1.1"
+PREFERRED_VERSION_gcc-cross-sdk = "4.1.1"
+PREFERRED_VERSION_gcc = "4.1.1"
+PREFERRED_VERSION_binutils-cross = "2.18.50.0.7"
+PREFERRED_VERSION_binutils-cross-sdk = "2.18.50.0.7"
+PREFERRED_VERSION_binutils = "2.18.50.0.7"
+#PREFERRED_VERSION_linux-libc-headers = "2.6.12.0"
+PREFERRED_PROVIDER_linux-libc-headers = "linux-libc-headers"
+
+PREFERRED_VERSION_automake = "1.10"
+PREFERRED_VERSION_automake-native = "1.10"
+
+PREFERRED_PROVIDER_opkg = "opkg-nogpg"
+
+# eglibc:
+PREFERRED_PROVIDER_virtual/libiconv = "eglibc"
+PREFERRED_PROVIDER_virtual/libintl = "eglibc"
+PREFERRED_PROVIDER_virtual/libc = "eglibc"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "eglibc-initial"
+
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "eglibc"
+PREFERRED_PROVIDER_virtual/powerpc${TARGET_VENDOR}-linux-libc-for-gcc = "eglibc"
+PREFERRED_PROVIDER_virtual/mipsel${TARGET_VENDOR}-linux-libc-for-gcc = "eglibc"
+
+GLIBC_EXTRA_OECONF = "--disable-profile --with-tls --without-fp --with-__thread"
+
+IMAGE_FSTYPES ?= "jffs2"
--- /dev/null
+#@TYPE: Machine
+#@NAME: Dreambox DM 500+
+#@DESCRIPTION: Machine configuration for the Dreambox DM 500+
+
+require conf/machine/include/dreambox-powerpc.inc
--- /dev/null
+#@TYPE: Machine
+#@NAME: Dreambox DM 600 PVR
+#@DESCRIPTION: Machine configuration for the Dreambox DM 600 PVR
+
+require conf/machine/include/dreambox-powerpc.inc
--- /dev/null
+#@TYPE: Machine
+#@NAME: Dreambox DM 7020
+#@DESCRIPTION: Machine configuration for the Dreambox DM 7020
+
+require conf/machine/include/dreambox-powerpc.inc
--- /dev/null
+#@TYPE: Machine
+#@NAME: Dreambox DM 7025
+#@DESCRIPTION: Machine configuration for the Dreambox DM 7025
+
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "\
+ dreambox-boottool \
+ gst-plugin-dvbmediasink \
+ gst-plugin-fluendo-mpegdemux \
+ kernel-module-autofs4 \
+ kernel-module-cdrom \
+ kernel-module-cifs \
+ kernel-module-exportfs \
+ kernel-module-fat \
+ kernel-module-ide-cd \
+ kernel-module-loop \
+ kernel-module-msdos \
+ kernel-module-reiserfs \
+ kernel-module-sd-mod \
+ kernel-module-sg \
+ kernel-module-sqlzma \
+ kernel-module-squashfs \
+ kernel-module-sr-mod \
+ kernel-module-stv0299 \
+ kernel-module-unlzma \
+ kernel-module-vfat \
+ kernel-module-xfs \
+ unionfs-modules"
+
+PREFERRED_VERSION_glibc = "2.3.5+cvs20051107"
+PREFERRED_VERSION_gcc-cross-initial = "3.4.5"
+PREFERRED_VERSION_gcc-cross = "4.1.1"
+PREFERRED_VERSION_gcc-cross-sdk = "4.1.1"
+PREFERRED_VERSION_gcc = "4.1.1"
+PREFERRED_VERSION_gdb = "6.6.50.20061209"
+PREFERRED_VERSION_gdb-cross = "6.6.50.20061209"
+PREFERRED_VERSION_binutils-cross = "2.16.1"
+PREFERRED_VERSION_binutils-cross-sdk = "2.16.1"
+PREFERRED_VERSION_binutils = "2.16.1"
+
+KERNEL_VERSION = 2.6.12.6
+
+EXTRA_IMAGECMD_jffs2 = " --eraseblock=0x4000 -n -l "
+IMAGE_CMD_jffs2 = "\
+ install -d ${DEPLOY_DIR_IMAGE}/boot_tmp; \
+ for i in bin dev mnt/flash mnt/squashfs mnt/root; \
+ do \
+ install -d ${IMAGE_ROOTFS}/boot/$i; \
+ done; \
+ install -d ${IMAGE_ROOTFS}/boot/lib/modules/${KERNEL_VERSION}/kernel/fs; \
+ install -d ${IMAGE_ROOTFS}/boot/lib/modules/${KERNEL_VERSION}/kernel/drivers/block; \
+ mv ${IMAGE_ROOTFS}/lib/modules/${KERNEL_VERSION}/kernel/fs/squashfs \
+ ${IMAGE_ROOTFS}/boot/lib/modules/${KERNEL_VERSION}/kernel/fs; \
+ mv ${IMAGE_ROOTFS}/lib/modules/${KERNEL_VERSION}/kernel/fs/unionfs.ko \
+ ${IMAGE_ROOTFS}/boot/lib/modules/${KERNEL_VERSION}/kernel/fs; \
+ mv ${IMAGE_ROOTFS}/lib/modules/${KERNEL_VERSION}/kernel/drivers/block/loop.ko \
+ ${IMAGE_ROOTFS}/boot/lib/modules/${KERNEL_VERSION}/kernel/drivers/block; \
+ mkfs.jffs2 --root=${IMAGE_ROOTFS}/boot --faketime \
+ --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
+ ${EXTRA_IMAGECMD}; \
+ mv ${IMAGE_ROOTFS}/boot/* ${DEPLOY_DIR_IMAGE}/boot_tmp; \
+ \
+ install -d ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta; \
+ cd ${IMAGE_ROOTFS}; \
+ for i in `find -maxdepth 3 -name enigma2 | xargs`; \
+ do \
+ install -d ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta/${i%%/enigma2}; \
+ mv $i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta/${i%%/enigma2}; \
+ done; \
+ for i in `find -type d -name extra | xargs`; \
+ do \
+ install -d ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta/${i%%/extra}; \
+ mv $i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta/${i%%/extra}; \
+ done; \
+ cat ${IMAGE_ROOTFS}/etc/fstab | sed 's/^\/dev\/mtdblock\/2/\/dev\/root/;' > ${IMAGE_ROOTFS}/etc/fstab_neu; \
+ mv -f ${IMAGE_ROOTFS}/etc/fstab_neu ${IMAGE_ROOTFS}/etc/fstab; \
+ mksquashfs ${IMAGE_ROOTFS}/* ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/squashfs \
+ -root-owned -le -noappend; \
+ \
+ mkfs.jffs2 --root=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME} --faketime \
+ --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+ ${EXTRA_IMAGECMD}; \
+ \
+ for i in ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta/*; \
+ do cp -R $i ${IMAGE_ROOTFS}; done; \
+ rm -rf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}; \
+ rm -rf ${IMAGE_ROOTFS}/boot; \
+ mv ${DEPLOY_DIR_IMAGE}/boot_tmp ${IMAGE_ROOTFS}/boot; \
+ buildimage ${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz \
+ ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
+ ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+ ${MACHINE} \
+ > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.nfi"
+
+require conf/machine/include/dreambox-mipsel.inc
--- /dev/null
+#@TYPE: Machine
+#@NAME: Dreambox DM 800 HD PVR
+#@DESCRIPTION: Machine configuration for the Dreambox DM 800 HD PVR
+
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "\
+ gst-plugin-dvbmediasink \
+ gst-plugin-fluendo-mpegdemux \
+ kernel-module-autofs4 \
+ kernel-module-cifs \
+ kernel-module-exportfs \
+ kernel-module-fat \
+ kernel-module-isofs \
+ kernel-module-msdos \
+ kernel-module-reiserfs \
+ kernel-module-scsi-mod \
+ kernel-module-sd-mod \
+ kernel-module-sg \
+ kernel-module-sr-mod \
+ kernel-module-stv0299 \
+ kernel-module-usb-storage \
+ kernel-module-usbhid \
+ kernel-module-usbmon \
+ kernel-module-vfat \
+ kernel-module-xfs"
+
+EXTRA_IMAGECMD_jffs2 = " --eraseblock=0x4000 -n -l "
+IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS}/boot --faketime -x lzo \
+ --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
+ ${EXTRA_IMAGECMD}; rm -rf ${IMAGE_ROOTFS}/boot/*; \
+ mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime -x lzo \
+ --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+ ${EXTRA_IMAGECMD}; \
+ buildimage ${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz \
+ ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
+ ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+ ${MACHINE} 64 \
+ > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.nfi"
+
+require conf/machine/dreambox-mipsel.inc
--- /dev/null
+#@TYPE: Machine
+#@NAME: Dreambox DM 8000 HD PVR
+#@DESCRIPTION: Machine configuration for the Dreambox DM 8000 HD PVR
+
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "\
+ gst-plugin-dvbmediasink \
+ kernel-module-exportfs \
+ kernel-module-reiserfs \
+ kernel-module-sd-mod \
+ kernel-module-sg \
+ kernel-module-sr-mod \
+ kernel-module-usbhid \
+ kernel-module-usbmon \
+ kernel-module-xfs"
+
+EXTRA_IMAGECMD_jffs2 = " --eraseblock=0x20000 -n -l "
+IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS}/boot --faketime -x lzo \
+ --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
+ ${EXTRA_IMAGECMD}; rm -rf ${IMAGE_ROOTFS}/boot/*; \
+ mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime -x lzo \
+ --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+ ${EXTRA_IMAGECMD}; \
+ buildimage ${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz \
+ ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
+ ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+ ${MACHINE} 64 large \
+ > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.nfi"
+
+require conf/machine/include/dreambox-mipsel.inc
--- /dev/null
+# dreambox-mipsel.inc
+
+MACHINE_FEATURES += "alsa pci wifi"
+
+PREFERRED_VERSION_linux-libc-headers = "2.6.12.0"
+
+TARGET_ARCH = "mipsel"
+TARGET_FPU = "soft"
+
+require conf/machine/include/dreambox.inc
--- /dev/null
+# dreambox-powerpc.inc
+
+PACKAGE_EXTRA_ARCHS = "ppc405"
+
+PREFERRED_VERSION_glibc = "2.3.5+cvs20050627"
+PREFERRED_VERSION_glibc-initial = "2.3.2+cvs20040726"
+PREFERRED_VERSION_gcc-cross-initial = "3.4.4"
+PREFERRED_VERSION_gcc-cross = "3.4.4"
+PREFERRED_VERSION_gcc-cross-sdk = "3.4.4"
+PREFERRED_VERSION_gcc = "3.4.4"
+PREFERRED_VERSION_gdb = "6.5"
+PREFERRED_VERSION_gdb-cross = "6.5"
+PREFERRED_VERSION_binutils-cross = "2.15.94.0.1"
+PREFERRED_VERSION_binutils-cross-sdk = "2.15.94.0.1"
+PREFERRED_VERSION_binutils = "2.15.94.0.1"
+PREFERRED_VERSION_busybox = "1.01"
+
+TARGET_ARCH = "powerpc"
+TARGET_CPU = "405"
+
+EXTRA_IMAGECMD_jffs2 = " --eraseblock=0x4000 -n -b "
+IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS}/boot --faketime \
+ --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
+ ${EXTRA_IMAGECMD}; rm -rf ${IMAGE_ROOTFS}/boot/*; \
+ mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime \
+ --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+ ${EXTRA_IMAGECMD}; \
+ buildimage ${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz \
+ ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
+ ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+ ${MACHINE} \
+ > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.nfi"
+
+require conf/machine/include/dreambox.inc
+require conf/machine/include/tune-ppc405.inc
--- /dev/null
+# dreambox.inc
+
+EXTRA_IMAGEDEPENDS += "dreambox-secondstage dreambox-buildimage-native"
+
+GLIBC_ADDONS = "ports,nptl,libidn"
+
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "dreambox-dvb-modules"
+MACHINE_FEATURES += "kernel26 keyboard screen usbhost"
+
+OLDEST_KERNEL = "2.6.9"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-${MACHINE}"
+PREFERRED_PROVIDER_xserver = "xserver-kdrive"
+
--- /dev/null
+Index: autofs-4.1.4/samples/Makefile
+===================================================================
+--- autofs-4.1.4.orig/samples/Makefile 2008-05-21 22:59:29.000000000 +0200
++++ autofs-4.1.4/samples/Makefile 2008-05-21 23:00:04.000000000 +0200
+@@ -34,6 +34,8 @@
+ install -c -m 755 auto.net $(INSTALLROOT)/etc
+ -mv -f $(INSTALLROOT)/etc/auto.smb $(INSTALLROOT)/etc/auto.smb.old
+ install -c -m 755 auto.smb $(INSTALLROOT)/etc
++ -mv -f $(INSTALLROOT)/etc/auto.hotplug $(INSTALLROOT)/etc/auto.hotplug.old
++ install -c -m 755 auto.hotplug $(INSTALLROOT)/etc
+ install -d -m 755 $(INSTALLROOT)$(initdir)
+ install -c -m 755 rc.autofs $(INSTALLROOT)$(initdir)/autofs
+ install -d -m 755 $(INSTALLROOT)$(autofslibdir)
+Index: autofs-4.1.4/samples/auto.hotplug
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ autofs-4.1.4/samples/auto.hotplug 2008-05-21 22:59:47.000000000 +0200
+@@ -0,0 +1 @@
++* -fstype=auto,ro :/dev/&
file://install.patch;patch=1 \
file://auto.net-sort-option-fix.patch;patch=1 \
file://autofs-additional-distros.patch;patch=1 \
- file://no-bash.patch;patch=1"
+ file://no-bash.patch;patch=1 \
+ file://autofs-add-hotplug.patch;patch=1"
inherit autotools update-rc.d
--- /dev/null
+rootfs / auto defaults 1 1
+proc /proc proc defaults 0 0
+devpts /dev/pts devpts mode=0620,gid=5 0 0
+usbdevfs /proc/bus/usb usbfs defaults 0 0
+/dev/mtdblock/2 /boot jffs2 ro 0 0
+tmpfs /var tmpfs defaults 0 0
+tmpfs /tmp tmpfs defaults 0 0
--- /dev/null
+rootfs / auto defaults 1 1
+proc /proc proc defaults 0 0
+devpts /dev/pts devpts mode=0620,gid=5 0 0
+usbdevfs /proc/bus/usb usbfs defaults 0 0
+/dev/mtdblock/2 /boot jffs2 ro 0 0
+tmpfs /var tmpfs defaults 0 0
+tmpfs /tmp tmpfs defaults 0 0
+/dev/ide/host0/bus0/target0/lun0/part1 /media/hdd auto defaults 0 0
--- /dev/null
+rootfs / auto defaults 1 1
+proc /proc proc defaults 0 0
+devpts /dev/pts devpts mode=0620,gid=5 0 0
+usbdevfs /proc/bus/usb usbfs defaults 0 0
+/dev/mtdblock/2 /boot jffs2 ro 0 0
+tmpfs /var tmpfs defaults 0 0
+tmpfs /tmp tmpfs defaults 0 0
+/dev/ide/host0/bus0/target0/lun0/part1 /media/hdd auto defaults 0 0
+/dev/ide/host1/bus0/target0/lun0/part1 /media/cf auto defaults 0 0
--- /dev/null
+#!/bin/sh
+#
+# Devfs handling script. Since we arent running devfsd due to various reasons
+# which I will not lay out here, we need to create some links for compatibility.
+
+. /etc/default/rcS
+
+# exit without doing anything if udev is active
+if test -x /bin/pidof -a "`pidof udevd`" != ""; then
+ exit 0
+fi
+
+if test -e /dev/.devfsd
+then
+ if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi
+ ln -s /dev/touchscreen/0 /dev/ts
+ ln -s /dev/touchscreen/0raw /dev/tsraw
+ ln -s /dev/vc/0 /dev/tty0
+ ln -s /dev/vc/1 /dev/tty1
+ ln -s /dev/vc/2 /dev/tty2
+ ln -s /dev/vc/3 /dev/tty3
+ ln -s /dev/vc/4 /dev/tty4
+ ln -s /dev/vc/5 /dev/tty5
+ ln -s /dev/fb/0 /dev/fb0
+# ln -s /dev/tts/0 /dev/ttySA0
+# ln -s /dev/tts/1 /dev/ttySA1
+# ln -s /dev/tts/2 /dev/ttySA2
+
+ ln -s /dev/sound/dsp /dev/dsp
+ ln -s /dev/sound/mixer /dev/mixer
+
+ ## need this so that ppp will autoload the ppp modules
+# mknod /dev/ppp c 108 0
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+else
+ if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
+ mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+ if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
+ cd /
+ mkdir -p dev/input
+ mkdir -p dev/msys
+ mkdir -p dev/pts
+ mkdir -p dev/vc
+ for i in 0 1 2 3 4 5 6 7 8 9; do
+ ln -s /dev/tty$i /dev/vc/$i
+ done
+ ln -sf /proc/self/fd /dev/fd
+ ln -sf /proc/kcore /dev/core
+ /sbin/makedevs -r / -D /etc/device_table
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+fi
+
+exit 0
--- /dev/null
+rootfs / auto defaults 1 1
+proc /proc proc defaults 0 0
+devpts /dev/pts devpts mode=0620,gid=5 0 0
+usbdevfs /proc/bus/usb usbfs defaults 0 0
+/dev/mtdblock/2 /boot jffs2 ro 0 0
+tmpfs /var tmpfs defaults 0 0
+tmpfs /tmp tmpfs defaults 0 0
+/dev/ide/host0/bus0/target0/lun0/part1 /media/hdd auto defaults 0 0
+/dev/ide/host1/bus0/target0/lun0/part1 /media/cf auto defaults 0 0
--- /dev/null
+rootfs / auto defaults 1 1
+proc /proc proc defaults 0 0
+devpts /dev/pts devpts mode=0620,gid=5 0 0
+usbdevfs /proc/bus/usb usbfs defaults 0 0
+/dev/mtdblock/2 /boot jffs2 ro 0 0
+tmpfs /var tmpfs defaults 0 0
+tmpfs /tmp tmpfs defaults 0 0
+/dev/ide/host0/bus0/target0/lun0/part1 /media/hdd auto defaults 0 0
--- /dev/null
+rootfs / auto defaults 1 1
+proc /proc proc defaults 0 0
+devpts /dev/pts devpts mode=0620,gid=5 0 0
+usbdevfs /proc/bus/usb usbdevfs defaults 0 0
+/dev/mtdblock/2 /boot jffs2 ro 0 0
+tmpfs /var tmpfs defaults 0 0
+tmpfs /tmp tmpfs defaults 0 0
+/dev/ide/host0/bus0/target0/lun0/part1 /media/hdd auto defaults 0 0
+/dev/ide/host0/bus1/target0/lun0/part1 /media/hdd auto defaults 0 0
minix
fat
vfat
-ext2
ext3
+ext2
*
--- /dev/null
+# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
+# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
+
+PATH="/usr/local/bin:/usr/bin:/bin"
+EDITOR="/bin/vi" # needed for packages like cron
+TERM="xterm" # Basic terminal capab. For screen etc.
+
+if [ "`id -u`" -eq 0 ]; then
+ PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin:
+fi
+if [ "$PS1" ]; then
+# works for bash and ash (no other shells known to be in use here)
+ PS1='\u@\h:\w\$ '
+fi
+
+if [ -d /etc/profile.d ]; then
+ for i in `ls /etc/profile.d/`; do
+ . /etc/profile.d/$i
+ done
+ unset i
+fi
+
+export PATH PS1 OPIEDIR QPEDIR QTDIR EDITOR TERM
+
+umask 022
+
mkdir -p ${D}/initrd
}
+do_install_append_opendreambox() {
+ > ${D}/${sysconfdir}/resolv.conf
+ rm -rf ${D}/mnt
+ rm -rf ${D}/hdd
+ ln -sf media/hdd ${D}/hdd
+ ln -sf media ${D}/mnt
+}
+
PACKAGES = "${PN}-dbg ${PN}-doc ${PN}"
FILES_${PN} = "/*"
FILES_${PN}-doc = "${docdir} ${datadir}/common-licenses"
--- /dev/null
+#
+# Automatically generated make config: don't edit
+# Busybox version: 1.11.1
+# Thu Sep 25 23:43:31 2008
+#
+CONFIG_HAVE_DOT_CONFIG=y
+
+#
+# Busybox Settings
+#
+
+#
+# General Configuration
+#
+# CONFIG_DESKTOP is not set
+# CONFIG_FEATURE_ASSUME_UNICODE is not set
+CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+CONFIG_SHOW_USAGE=y
+CONFIG_FEATURE_VERBOSE_USAGE=y
+CONFIG_FEATURE_COMPRESS_USAGE=y
+# CONFIG_FEATURE_INSTALLER is not set
+# CONFIG_LOCALE_SUPPORT is not set
+CONFIG_GETOPT_LONG=y
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+# CONFIG_FEATURE_PIDFILE is not set
+CONFIG_FEATURE_SUID=y
+# CONFIG_FEATURE_SUID_CONFIG is not set
+# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
+# CONFIG_SELINUX is not set
+# CONFIG_FEATURE_PREFER_APPLETS is not set
+CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
+CONFIG_FEATURE_SYSLOG=y
+# CONFIG_FEATURE_HAVE_RPC is not set
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+# CONFIG_PIE is not set
+# CONFIG_NOMMU is not set
+# CONFIG_BUILD_LIBBUSYBOX is not set
+# CONFIG_FEATURE_INDIVIDUAL is not set
+# CONFIG_FEATURE_SHARED_BUSYBOX is not set
+CONFIG_LFS=y
+CONFIG_CROSS_COMPILER_PREFIX=""
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
+# CONFIG_DEBUG_PESSIMIZE is not set
+# CONFIG_WERROR is not set
+CONFIG_NO_DEBUG_LIB=y
+# CONFIG_DMALLOC is not set
+# CONFIG_EFENCE is not set
+CONFIG_INCLUDE_SUSv2=y
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+CONFIG_INSTALL_APPLET_SYMLINKS=y
+# CONFIG_INSTALL_APPLET_HARDLINKS is not set
+# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
+# CONFIG_INSTALL_APPLET_DONT is not set
+# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
+# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
+# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
+CONFIG_PREFIX="./_install"
+
+#
+# Busybox Library Tuning
+#
+CONFIG_PASSWORD_MINLEN=6
+CONFIG_MD5_SIZE_VS_SPEED=2
+# CONFIG_FEATURE_FAST_TOP is not set
+# CONFIG_FEATURE_ETC_NETWORKS is not set
+CONFIG_FEATURE_EDITING=y
+CONFIG_FEATURE_EDITING_MAX_LEN=1024
+CONFIG_FEATURE_EDITING_VI=y
+CONFIG_FEATURE_EDITING_HISTORY=63
+CONFIG_FEATURE_EDITING_SAVEHISTORY=y
+CONFIG_FEATURE_TAB_COMPLETION=y
+# CONFIG_FEATURE_USERNAME_COMPLETION is not set
+CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
+CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y
+CONFIG_FEATURE_COPYBUF_KB=64
+CONFIG_MONOTONIC_SYSCALL=y
+CONFIG_IOCTL_HEX2STR_ERROR=y
+# CONFIG_FEATURE_HWIB is not set
+
+#
+# Applets
+#
+
+#
+# Archival Utilities
+#
+CONFIG_AR=y
+# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
+CONFIG_BUNZIP2=y
+CONFIG_BZIP2=y
+CONFIG_CPIO=y
+# CONFIG_FEATURE_CPIO_O is not set
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
+CONFIG_GUNZIP=y
+# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
+CONFIG_GZIP=y
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+# CONFIG_FEATURE_RPM_BZ2 is not set
+CONFIG_TAR=y
+CONFIG_FEATURE_TAR_CREATE=y
+CONFIG_FEATURE_TAR_GZIP=y
+CONFIG_FEATURE_TAR_BZIP2=y
+# CONFIG_FEATURE_TAR_LZMA is not set
+# CONFIG_FEATURE_TAR_COMPRESS is not set
+# CONFIG_FEATURE_TAR_AUTODETECT is not set
+CONFIG_FEATURE_TAR_FROM=y
+# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
+# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+CONFIG_FEATURE_TAR_LONG_OPTIONS=y
+# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
+# CONFIG_UNCOMPRESS is not set
+# CONFIG_UNLZMA is not set
+# CONFIG_FEATURE_LZMA_FAST is not set
+CONFIG_UNZIP=y
+
+#
+# Common options for cpio and tar
+#
+# CONFIG_FEATURE_DEB_TAR_GZ is not set
+# CONFIG_FEATURE_DEB_TAR_BZ2 is not set
+# CONFIG_FEATURE_DEB_TAR_LZMA is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+CONFIG_CATV=y
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+# CONFIG_CKSUM is not set
+# CONFIG_COMM is not set
+CONFIG_CP=y
+CONFIG_CUT=y
+CONFIG_DATE=y
+CONFIG_FEATURE_DATE_ISOFMT=y
+CONFIG_DD=y
+CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
+CONFIG_FEATURE_DD_IBS_OBS=y
+CONFIG_DF=y
+# CONFIG_FEATURE_DF_INODE is not set
+CONFIG_DIRNAME=y
+CONFIG_DOS2UNIX=y
+CONFIG_UNIX2DOS=y
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+# CONFIG_FEATURE_ENV_LONG_OPTIONS is not set
+# CONFIG_EXPAND is not set
+# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
+CONFIG_EXPR=y
+# CONFIG_EXPR_MATH_SUPPORT_64 is not set
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+CONFIG_HEAD=y
+CONFIG_FEATURE_FANCY_HEAD=y
+# CONFIG_HOSTID is not set
+CONFIG_ID=y
+# CONFIG_INSTALL is not set
+# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
+# CONFIG_LENGTH is not set
+CONFIG_LN=y
+CONFIG_LOGNAME=y
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+CONFIG_FEATURE_LS_RECURSIVE=y
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+CONFIG_FEATURE_LS_COLOR=y
+CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+# CONFIG_FEATURE_MKDIR_LONG_OPTIONS is not set
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+# CONFIG_FEATURE_MV_LONG_OPTIONS is not set
+CONFIG_NICE=y
+CONFIG_NOHUP=y
+CONFIG_OD=y
+# CONFIG_PRINTENV is not set
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+CONFIG_READLINK=y
+# CONFIG_FEATURE_READLINK_FOLLOW is not set
+# CONFIG_REALPATH is not set
+CONFIG_RM=y
+CONFIG_RMDIR=y
+# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
+CONFIG_SEQ=y
+CONFIG_SHA1SUM=y
+CONFIG_SLEEP=y
+CONFIG_FEATURE_FANCY_SLEEP=y
+CONFIG_SORT=y
+CONFIG_FEATURE_SORT_BIG=y
+# CONFIG_SPLIT is not set
+# CONFIG_FEATURE_SPLIT_FANCY is not set
+# CONFIG_STAT is not set
+# CONFIG_FEATURE_STAT_FORMAT is not set
+CONFIG_STTY=y
+# CONFIG_SUM is not set
+CONFIG_SYNC=y
+# CONFIG_TAC is not set
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+CONFIG_TEE=y
+# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
+CONFIG_TEST=y
+# CONFIG_FEATURE_TEST_64 is not set
+CONFIG_TOUCH=y
+CONFIG_TR=y
+# CONFIG_FEATURE_TR_CLASSES is not set
+# CONFIG_FEATURE_TR_EQUIV is not set
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+# CONFIG_UNEXPAND is not set
+# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
+CONFIG_UNIQ=y
+# CONFIG_USLEEP is not set
+CONFIG_UUDECODE=y
+CONFIG_UUENCODE=y
+CONFIG_WC=y
+# CONFIG_FEATURE_WC_LARGE is not set
+CONFIG_WHO=y
+CONFIG_WHOAMI=y
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
+
+#
+# Common options for ls, more and telnet
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+
+#
+# Common options for md5sum, sha1sum
+#
+CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
+
+#
+# Console Utilities
+#
+CONFIG_CHVT=y
+CONFIG_CLEAR=y
+CONFIG_DEALLOCVT=y
+CONFIG_DUMPKMAP=y
+# CONFIG_KBD_MODE is not set
+CONFIG_LOADFONT=y
+CONFIG_LOADKMAP=y
+CONFIG_OPENVT=y
+CONFIG_RESET=y
+# CONFIG_RESIZE is not set
+# CONFIG_FEATURE_RESIZE_PRINT is not set
+# CONFIG_SETCONSOLE is not set
+# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
+# CONFIG_SETKEYCODES is not set
+# CONFIG_SETLOGCONS is not set
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+# CONFIG_PIPE_PROGRESS is not set
+CONFIG_RUN_PARTS=y
+# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
+# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
+CONFIG_START_STOP_DAEMON=y
+# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
+# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_MATH=y
+# CONFIG_CMP is not set
+CONFIG_DIFF=y
+CONFIG_FEATURE_DIFF_BINARY=y
+CONFIG_FEATURE_DIFF_DIR=y
+# CONFIG_FEATURE_DIFF_MINIMAL is not set
+# CONFIG_ED is not set
+CONFIG_PATCH=y
+CONFIG_SED=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_MAX_LEN=4096
+CONFIG_FEATURE_VI_8BIT=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+CONFIG_FEATURE_VI_DOT_CMD=y
+# CONFIG_FEATURE_VI_READONLY is not set
+# CONFIG_FEATURE_VI_SETOPTS is not set
+# CONFIG_FEATURE_VI_SET is not set
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+CONFIG_FEATURE_ALLOW_EXEC=y
+
+#
+# Finding Utilities
+#
+CONFIG_FIND=y
+CONFIG_FEATURE_FIND_PRINT0=y
+CONFIG_FEATURE_FIND_MTIME=y
+CONFIG_FEATURE_FIND_MMIN=y
+CONFIG_FEATURE_FIND_PERM=y
+CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_XDEV=y
+CONFIG_FEATURE_FIND_MAXDEPTH=y
+CONFIG_FEATURE_FIND_NEWER=y
+CONFIG_FEATURE_FIND_INUM=y
+CONFIG_FEATURE_FIND_EXEC=y
+CONFIG_FEATURE_FIND_USER=y
+CONFIG_FEATURE_FIND_GROUP=y
+CONFIG_FEATURE_FIND_NOT=y
+CONFIG_FEATURE_FIND_DEPTH=y
+CONFIG_FEATURE_FIND_PAREN=y
+CONFIG_FEATURE_FIND_SIZE=y
+CONFIG_FEATURE_FIND_PRUNE=y
+# CONFIG_FEATURE_FIND_DELETE is not set
+CONFIG_FEATURE_FIND_PATH=y
+CONFIG_FEATURE_FIND_REGEX=y
+# CONFIG_FEATURE_FIND_CONTEXT is not set
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_FEATURE_GREP_CONTEXT=y
+CONFIG_XARGS=y
+CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
+CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
+CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
+CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
+
+#
+# Init Utilities
+#
+# CONFIG_INIT is not set
+# CONFIG_DEBUG_INIT is not set
+# CONFIG_FEATURE_USE_INITTAB is not set
+# CONFIG_FEATURE_KILL_REMOVED is not set
+CONFIG_FEATURE_KILL_DELAY=0
+# CONFIG_FEATURE_INIT_SCTTY is not set
+# CONFIG_FEATURE_INIT_SYSLOG is not set
+# CONFIG_FEATURE_EXTRA_QUIET is not set
+# CONFIG_FEATURE_INIT_COREDUMPS is not set
+# CONFIG_FEATURE_INITRD is not set
+# CONFIG_HALT is not set
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+CONFIG_FEATURE_SHADOWPASSWDS=y
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_USE_BB_SHADOW is not set
+CONFIG_USE_BB_CRYPT=y
+CONFIG_ADDGROUP=y
+CONFIG_FEATURE_ADDUSER_TO_GROUP=y
+CONFIG_DELGROUP=y
+CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
+# CONFIG_FEATURE_CHECK_NAMES is not set
+CONFIG_ADDUSER=y
+CONFIG_FEATURE_ADDUSER_LONG_OPTIONS=y
+CONFIG_DELUSER=y
+CONFIG_GETTY=y
+CONFIG_FEATURE_UTMP=y
+# CONFIG_FEATURE_WTMP is not set
+CONFIG_LOGIN=y
+# CONFIG_PAM is not set
+# CONFIG_LOGIN_SCRIPTS is not set
+CONFIG_FEATURE_NOLOGIN=y
+CONFIG_FEATURE_SECURETTY=y
+CONFIG_PASSWD=y
+# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
+# CONFIG_CRYPTPW is not set
+# CONFIG_CHPASSWD is not set
+CONFIG_SU=y
+CONFIG_FEATURE_SU_SYSLOG=y
+CONFIG_FEATURE_SU_CHECKS_SHELLS=y
+CONFIG_SULOGIN=y
+CONFIG_VLOCK=y
+
+#
+# Linux Ext2 FS Progs
+#
+CONFIG_CHATTR=y
+CONFIG_FSCK=y
+CONFIG_LSATTR=y
+
+#
+# Linux Module Utilities
+#
+# CONFIG_DEPMOD is not set
+# CONFIG_FEATURE_DEPMOD_PRUNE_FANCY is not set
+# CONFIG_FEATURE_DEPMOD_ALIAS is not set
+CONFIG_INSMOD=y
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
+CONFIG_RMMOD=y
+CONFIG_LSMOD=y
+# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
+CONFIG_MODPROBE=y
+CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS=y
+CONFIG_FEATURE_MODPROBE_FANCY_ALIAS=y
+# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
+
+#
+# Options common to multiple modutils
+#
+CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+# CONFIG_FEATURE_2_4_MODULES is not set
+CONFIG_FEATURE_2_6_MODULES=y
+CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
+CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
+# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
+
+#
+# Linux System Utilities
+#
+CONFIG_DMESG=y
+CONFIG_FEATURE_DMESG_PRETTY=y
+CONFIG_FBSET=y
+CONFIG_FEATURE_FBSET_FANCY=y
+# CONFIG_FEATURE_FBSET_READMODE is not set
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+# CONFIG_FDISK is not set
+CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
+# CONFIG_FEATURE_FDISK_WRITABLE is not set
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+# CONFIG_FEATURE_OSF_LABEL is not set
+# CONFIG_FEATURE_FDISK_ADVANCED is not set
+# CONFIG_FINDFS is not set
+# CONFIG_FREERAMDISK is not set
+# CONFIG_FSCK_MINIX is not set
+# CONFIG_MKFS_MINIX is not set
+# CONFIG_FEATURE_MINIX2 is not set
+# CONFIG_GETOPT is not set
+CONFIG_HEXDUMP=y
+CONFIG_FEATURE_HEXDUMP_REVERSE=y
+# CONFIG_HD is not set
+# CONFIG_HWCLOCK is not set
+# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set
+# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
+# CONFIG_IPCRM is not set
+# CONFIG_IPCS is not set
+CONFIG_LOSETUP=y
+# CONFIG_MDEV is not set
+# CONFIG_FEATURE_MDEV_CONF is not set
+# CONFIG_FEATURE_MDEV_RENAME is not set
+# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
+# CONFIG_FEATURE_MDEV_EXEC is not set
+# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
+CONFIG_MKSWAP=y
+# CONFIG_FEATURE_MKSWAP_V0 is not set
+CONFIG_MORE=y
+CONFIG_FEATURE_USE_TERMIOS=y
+# CONFIG_VOLUMEID is not set
+# CONFIG_FEATURE_VOLUMEID_EXT is not set
+# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
+# CONFIG_FEATURE_VOLUMEID_FAT is not set
+# CONFIG_FEATURE_VOLUMEID_HFS is not set
+# CONFIG_FEATURE_VOLUMEID_JFS is not set
+# CONFIG_FEATURE_VOLUMEID_XFS is not set
+# CONFIG_FEATURE_VOLUMEID_NTFS is not set
+# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
+# CONFIG_FEATURE_VOLUMEID_UDF is not set
+# CONFIG_FEATURE_VOLUMEID_LUKS is not set
+# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
+# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
+# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
+# CONFIG_FEATURE_VOLUMEID_SYSV is not set
+# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
+# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
+CONFIG_MOUNT=y
+# CONFIG_FEATURE_MOUNT_FAKE is not set
+# CONFIG_FEATURE_MOUNT_VERBOSE is not set
+# CONFIG_FEATURE_MOUNT_HELPERS is not set
+# CONFIG_FEATURE_MOUNT_LABEL is not set
+# CONFIG_FEATURE_MOUNT_NFS is not set
+# CONFIG_FEATURE_MOUNT_CIFS is not set
+CONFIG_FEATURE_MOUNT_FLAGS=y
+CONFIG_FEATURE_MOUNT_FSTAB=y
+CONFIG_PIVOT_ROOT=y
+# CONFIG_RDATE is not set
+CONFIG_READPROFILE=y
+# CONFIG_RTCWAKE is not set
+# CONFIG_SCRIPT is not set
+# CONFIG_SETARCH is not set
+CONFIG_SWAPONOFF=y
+# CONFIG_FEATURE_SWAPON_PRI is not set
+CONFIG_SWITCH_ROOT=y
+CONFIG_UMOUNT=y
+CONFIG_FEATURE_UMOUNT_ALL=y
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_BBCONFIG is not set
+# CONFIG_CHAT is not set
+# CONFIG_FEATURE_CHAT_NOFAIL is not set
+# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
+# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set
+# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
+# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
+# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
+# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
+# CONFIG_CHRT is not set
+CONFIG_CROND=y
+# CONFIG_DEBUG_CROND_OPTION is not set
+# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
+CONFIG_CRONTAB=y
+CONFIG_DC=y
+# CONFIG_DEVFSD is not set
+# CONFIG_DEVFSD_MODLOAD is not set
+# CONFIG_DEVFSD_FG_NP is not set
+# CONFIG_DEVFSD_VERBOSE is not set
+CONFIG_FEATURE_DEVFS=y
+CONFIG_EJECT=y
+CONFIG_FEATURE_EJECT_SCSI=y
+# CONFIG_FBSPLASH is not set
+# CONFIG_INOTIFYD is not set
+# CONFIG_LAST is not set
+# CONFIG_FEATURE_LAST_SMALL is not set
+# CONFIG_FEATURE_LAST_FANCY is not set
+CONFIG_LESS=y
+CONFIG_FEATURE_LESS_MAXLINES=9999999
+CONFIG_FEATURE_LESS_BRACKETS=y
+CONFIG_FEATURE_LESS_FLAGS=y
+CONFIG_FEATURE_LESS_FLAGCS=y
+# CONFIG_FEATURE_LESS_MARKS is not set
+# CONFIG_FEATURE_LESS_REGEXP is not set
+CONFIG_HDPARM=y
+CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
+CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y
+CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y
+CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y
+CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y
+CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
+# CONFIG_MAKEDEVS is not set
+# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
+# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
+# CONFIG_MAN is not set
+CONFIG_MICROCOM=y
+# CONFIG_MOUNTPOINT is not set
+# CONFIG_MT is not set
+# CONFIG_RAIDAUTORUN is not set
+# CONFIG_READAHEAD is not set
+# CONFIG_RUNLEVEL is not set
+CONFIG_RX=y
+# CONFIG_SETSID is not set
+CONFIG_STRINGS=y
+# CONFIG_TASKSET is not set
+# CONFIG_FEATURE_TASKSET_FANCY is not set
+CONFIG_TIME=y
+# CONFIG_TTYSIZE is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Networking Utilities
+#
+# CONFIG_FEATURE_IPV6 is not set
+# CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set
+# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
+CONFIG_ARP=y
+CONFIG_ARPING=y
+CONFIG_BRCTL=y
+# CONFIG_FEATURE_BRCTL_FANCY is not set
+# CONFIG_FEATURE_BRCTL_SHOW is not set
+# CONFIG_DNSD is not set
+CONFIG_ETHER_WAKE=y
+# CONFIG_FAKEIDENTD is not set
+CONFIG_FTPGET=y
+CONFIG_FTPPUT=y
+# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
+CONFIG_HOSTNAME=y
+# CONFIG_HTTPD is not set
+# CONFIG_FEATURE_HTTPD_RANGES is not set
+# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
+# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
+# CONFIG_FEATURE_HTTPD_SETUID is not set
+# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
+# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
+# CONFIG_FEATURE_HTTPD_CGI is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
+# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
+# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
+# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
+# CONFIG_FEATURE_HTTPD_PROXY is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+# CONFIG_FEATURE_IFCONFIG_SLIP is not set
+# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
+CONFIG_FEATURE_IFCONFIG_HW=y
+CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
+# CONFIG_IFENSLAVE is not set
+CONFIG_IFUPDOWN=y
+CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
+CONFIG_FEATURE_IFUPDOWN_IP=y
+CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
+# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
+# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
+# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
+# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
+# CONFIG_INETD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
+# CONFIG_FEATURE_INETD_RPC is not set
+CONFIG_IP=y
+CONFIG_FEATURE_IP_ADDRESS=y
+CONFIG_FEATURE_IP_LINK=y
+CONFIG_FEATURE_IP_ROUTE=y
+CONFIG_FEATURE_IP_TUNNEL=y
+# CONFIG_FEATURE_IP_RULE is not set
+# CONFIG_FEATURE_IP_SHORT_FORMS is not set
+# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_IPTUNNEL is not set
+# CONFIG_IPRULE is not set
+# CONFIG_IPCALC is not set
+# CONFIG_FEATURE_IPCALC_FANCY is not set
+# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
+# CONFIG_NAMEIF is not set
+# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
+CONFIG_NC=y
+CONFIG_NC_SERVER=y
+CONFIG_NC_EXTRA=y
+CONFIG_NETSTAT=y
+# CONFIG_FEATURE_NETSTAT_WIDE is not set
+CONFIG_NSLOOKUP=y
+CONFIG_PING=y
+# CONFIG_PING6 is not set
+CONFIG_FEATURE_FANCY_PING=y
+# CONFIG_PSCAN is not set
+CONFIG_ROUTE=y
+# CONFIG_SENDMAIL is not set
+# CONFIG_FETCHMAIL is not set
+# CONFIG_SLATTACH is not set
+CONFIG_TELNET=y
+CONFIG_FEATURE_TELNET_TTYPE=y
+CONFIG_FEATURE_TELNET_AUTOLOGIN=y
+CONFIG_TELNETD=y
+# CONFIG_FEATURE_TELNETD_STANDALONE is not set
+# CONFIG_TFTP is not set
+# CONFIG_TFTPD is not set
+# CONFIG_FEATURE_TFTP_GET is not set
+# CONFIG_FEATURE_TFTP_PUT is not set
+# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
+# CONFIG_DEBUG_TFTP is not set
+CONFIG_TRACEROUTE=y
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
+# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
+# CONFIG_APP_UDHCPD is not set
+# CONFIG_APP_DHCPRELAY is not set
+# CONFIG_APP_DUMPLEASES is not set
+# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
+CONFIG_DHCPD_LEASES_FILE=""
+CONFIG_APP_UDHCPC=y
+CONFIG_FEATURE_UDHCPC_ARPING=y
+# CONFIG_FEATURE_UDHCP_PORT is not set
+# CONFIG_FEATURE_UDHCP_DEBUG is not set
+# CONFIG_FEATURE_RFC3397 is not set
+CONFIG_DHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
+CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
+# CONFIG_VCONFIG is not set
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_LONG_OPTIONS=y
+CONFIG_ZCIP=y
+# CONFIG_TCPSVD is not set
+# CONFIG_UDPSVD is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+CONFIG_FUSER=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+# CONFIG_KILLALL5 is not set
+# CONFIG_NMETER is not set
+# CONFIG_PGREP is not set
+CONFIG_PIDOF=y
+# CONFIG_FEATURE_PIDOF_SINGLE is not set
+# CONFIG_FEATURE_PIDOF_OMIT is not set
+# CONFIG_PKILL is not set
+CONFIG_PS=y
+# CONFIG_FEATURE_PS_WIDE is not set
+# CONFIG_FEATURE_PS_TIME is not set
+# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
+CONFIG_RENICE=y
+CONFIG_BB_SYSCTL=y
+CONFIG_TOP=y
+CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
+CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
+# CONFIG_FEATURE_TOP_DECIMALS is not set
+# CONFIG_FEATURE_TOPMEM is not set
+CONFIG_UPTIME=y
+CONFIG_WATCH=y
+
+#
+# Shells
+#
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_MSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+CONFIG_ASH=y
+
+#
+# Ash Shell Options
+#
+CONFIG_ASH_BASH_COMPAT=y
+CONFIG_ASH_JOB_CONTROL=y
+CONFIG_ASH_READ_NCHARS=y
+CONFIG_ASH_READ_TIMEOUT=y
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_MATH_SUPPORT=y
+# CONFIG_ASH_MATH_SUPPORT_64 is not set
+CONFIG_ASH_GETOPTS=y
+CONFIG_ASH_BUILTIN_ECHO=y
+CONFIG_ASH_BUILTIN_PRINTF=y
+CONFIG_ASH_BUILTIN_TEST=y
+# CONFIG_ASH_CMDCMD is not set
+# CONFIG_ASH_MAIL is not set
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+CONFIG_ASH_EXPAND_PRMT=y
+# CONFIG_HUSH is not set
+# CONFIG_HUSH_HELP is not set
+# CONFIG_HUSH_INTERACTIVE is not set
+# CONFIG_HUSH_JOB is not set
+# CONFIG_HUSH_TICK is not set
+# CONFIG_HUSH_IF is not set
+# CONFIG_HUSH_LOOPS is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+
+#
+# Bourne Shell Options
+#
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+# CONFIG_FEATURE_SH_STANDALONE is not set
+# CONFIG_FEATURE_SH_NOFORK is not set
+# CONFIG_CTTYHACK is not set
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+# CONFIG_FEATURE_ROTATE_LOGFILE is not set
+CONFIG_FEATURE_REMOTE_LOG=y
+# CONFIG_FEATURE_SYSLOGD_DUP is not set
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
+CONFIG_LOGREAD=y
+# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
+CONFIG_KLOGD=y
+CONFIG_LOGGER=y
+
+#
+# Runit Utilities
+#
+# CONFIG_RUNSV is not set
+# CONFIG_RUNSVDIR is not set
+# CONFIG_SV is not set
+# CONFIG_SVLOGD is not set
+# CONFIG_CHPST is not set
+# CONFIG_SETUIDGID is not set
+# CONFIG_ENVUIDGID is not set
+# CONFIG_ENVDIR is not set
+# CONFIG_SOFTLIMIT is not set
+# CONFIG_CHCON is not set
+# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
+# CONFIG_GETENFORCE is not set
+# CONFIG_GETSEBOOL is not set
+# CONFIG_LOAD_POLICY is not set
+# CONFIG_MATCHPATHCON is not set
+# CONFIG_RESTORECON is not set
+# CONFIG_RUNCON is not set
+# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
+# CONFIG_SELINUXENABLED is not set
+# CONFIG_SETENFORCE is not set
+# CONFIG_SETFILES is not set
+# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
+# CONFIG_SETSEBOOL is not set
+# CONFIG_SESTATUS is not set
+
+#
+# Print Utilities
+#
+# CONFIG_LPD is not set
+# CONFIG_LPR is not set
+# CONFIG_LPQ is not set
--- /dev/null
+DESCRIPTION = "portable command-line CD/DVD recorder software"
+LICENSE = "GPL"
+SECTION = "optional"
+DEPENDS = "cmake-native libcap"
+
+SRC_URI = "http://cdrkit.org/releases/${PN}-${PV}.tar.gz"
+
+inherit autotools
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' 'PREFIX=/usr' install
+}
--- /dev/null
+DESCRIPTION = "portable command-line CD/DVD recorder software"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+LICENSE = "GPL"
+SECTION = "optional"
+DEPENDS = "cmake-native libcap bzip2"
+
+SRC_URI = "http://cdrkit.org/releases/${PN}-${PV}.tar.gz"
+
+inherit autotools
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' 'PREFIX=/usr' install
+ ln -fs genisoimage ${D}${bindir}/mkisofs
+}
--- /dev/null
+DESCRIPTION = "Utilities needed to do transponder blindscan with dreambox dvb receivers"
+SECTION = "base"
+PRIORITY = "optional"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+LICENSE = "GPL"
+PV = "1.0"
+PR = "r0"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/opendreambox/dreambox-blindscan-utils-${MACHINE}-1.0.tar.bz2"
+SRC_URI_dm600pvr = "http://sources.dreamboxupdate.com/download/opendreambox/dreambox-blindscan-utils-${MACHINE}-1.1.tar.bz2"
+PR_dm600pvr = "r1"
+
+S = "${WORKDIR}/blindscan-utils"
+
+do_install() {
+ install -d ${D}/${bindir}/
+ for i in `find ${S} -type f -maxdepth 1`; do
+ install -m 0755 $i ${D}/${bindir}/;
+ done;
+}
--- /dev/null
+DESCRIPTION = "Bootlogo support"
+SECTION = "base"
+PRIORITY = "required"
+LICENSE = "proprietary"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+IMAGES_VERSION = "1"
+BINARY_VERSION = "1"
+BINARY_VERSION_dm7025 = "2"
+BINARY_VERSION_dm800 = "2"
+BINARY_VERSION_dm8000 = "2"
+
+PV = "${BINARY_VERSION}.${IMAGES_VERSION}"
+PR = "r2"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/7020/bootlogo-${MACHINE}-${BINARY_VERSION}.elf \
+ http://sources.dreamboxupdate.com/download/7020/bootlogo-${MACHINE}-${IMAGES_VERSION}.mvi \
+ http://sources.dreamboxupdate.com/download/7020/bootlogo_wait-${MACHINE}-${IMAGES_VERSION}.mvi \
+ http://sources.dreamboxupdate.com/download/7020/backdrop-${MACHINE}-${IMAGES_VERSION}.mvi"
+
+SRC_URI_append_dm8000 = " http://sources.dreamboxupdate.com/download/7020/bootlogo-${MACHINE}-${IMAGES_VERSION}.jpg"
+
+SRC_URI_append_dm800 = " http://sources.dreamboxupdate.com/download/7020/bootlogo_${MACHINE}-${IMAGES_VERSION}.jpg \
+ http://sources.dreamboxupdate.com/download/7020/switchoff_${MACHINE}-${IMAGES_VERSION}.mvi"
+
+S = "${WORKDIR}/"
+
+do_install() {
+ install -d ${D}/boot
+ install -m 0755 ${S}/bootlogo-${MACHINE}-${BINARY_VERSION}.elf ${D}/boot/bootlogo.elf
+ install -m 0755 ${S}/bootlogo-${MACHINE}-${IMAGES_VERSION}.mvi ${D}/boot/bootlogo.mvi
+ install -m 0755 ${S}/bootlogo_wait-${MACHINE}-${IMAGES_VERSION}.mvi ${D}/boot/bootlogo_wait.mvi
+ install -m 0755 ${S}/backdrop-${MACHINE}-${IMAGES_VERSION}.mvi ${D}/boot/backdrop.mvi
+}
+
+do_install_append_dm800() {
+ install -m 0755 ${S}/bootlogo-${MACHINE}-${IMAGES_VERSION}.jpg ${D}/boot/bootlogo.jpg
+ install -d ${D}/usr/share/
+ install -m 0755 ${S}/switchoff-${MACHINE}-${IMAGES_VERSION}.mvi ${D}/usr/share/switchoff.mvi
+}
+
+do_install_dm8000() {
+ install -d ${D}/boot
+ install -d ${D}/usr/share/bootlogos
+ install -m 0755 ${S}/bootlogo-dm8000-${BINARY_VERSION}.elf ${D}/boot/bootlogo.elf
+ install -m 0755 ${S}/bootlogo-dm8000-${IMAGES_VERSION}.jpg ${D}/boot/bootlogo.jpg
+ install -m 0755 ${S}/bootlogo-dm8000-${IMAGES_VERSION}.mvi ${D}/usr/share/bootlogos/bootlogo.mvi
+ install -m 0755 ${S}/bootlogo_wait-dm8000-${IMAGES_VERSION}.mvi ${D}/usr/share/bootlogos/bootlogo_wait.mvi
+ install -m 0755 ${S}/backdrop-dm8000-${IMAGES_VERSION}.mvi ${D}/usr/share/bootlogos/backdrop.mvi
+ ln -sf /usr/share/backdrop.mvi ${D}/boot/backdrop.mvi
+}
+
+PACKAGE_ARCH := "${MACHINE_ARCH}"
+FILES_${PN} = "/boot /usr/share"
--- /dev/null
+DESCRIPTION = "Squashfs jffs2 unionfs mount tool"
+SECTION = "base"
+PRIORITY = "required"
+LICENSE = "proprietary"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+PV = "1.0"
+PR = "r1"
+DEPENDS = "klibc"
+
+SRC_URI = "file://boottool-${MACHINE}.c"
+
+S = "${WORKDIR}/"
+
+do_install_append() {
+ install -d ${D}/boot/bin
+ install ${S}/boottool ${D}/boot/bin/init
+}
+
+do_compile_append() {
+ ${STAGING_BINDIR}/${TARGET_ARCH}-linux-klcc ${S}/boottool-${MACHINE}.c -o ${S}/boottool
+}
+
+PACKAGE_ARCH := "${MACHINE_ARCH}"
+FILES_${PN} = "/boot/bin/init"
--- /dev/null
+#include <sys/mount.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <linux/loop.h>
+#include <dirent.h>
+#include <errno.h>
+#include <sys/mman.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+
+#define PREFIX
+//#define PREFIX "/boot"
+#define SQUASHFS_FILENAME PREFIX"/mnt/flash/squashfs"
+
+#define streq(a,b) (strcmp((a),(b)) == 0)
+
+/* This really needs to be in a header file... */
+extern long init_module(void *, unsigned long, const char *);
+
+/* We use error numbers in a loose translation... */
+static const char *moderror(int err)
+{
+ switch (err) {
+ case ENOEXEC:
+ return "Invalid module format";
+ case ENOENT:
+ return "Unknown symbol in module";
+ case ESRCH:
+ return "Module has wrong symbol version";
+ case EINVAL:
+ return "Invalid parameters";
+ default:
+ return strerror(err);
+ }
+}
+
+static void *grab_file(const char *filename, unsigned long *size)
+{
+ unsigned int max = 16384;
+ int ret, fd;
+ void *buffer = malloc(max);
+
+ if (streq(filename, "-"))
+ fd = dup(STDIN_FILENO);
+ else
+ fd = open(filename, O_RDONLY, 0);
+
+ if (fd < 0)
+ return NULL;
+
+ *size = 0;
+ while ((ret = read(fd, buffer + *size, max - *size)) > 0) {
+ *size += ret;
+ if (*size == max)
+ buffer = realloc(buffer, max *= 2);
+ }
+ if (ret < 0) {
+ free(buffer);
+ buffer = NULL;
+ }
+ close(fd);
+ return buffer;
+}
+
+
+int insmod(const char *filename)
+{
+ void *file;
+ unsigned long len;
+ long int ret;
+
+
+ file = grab_file(filename, &len);
+ if (!file) {
+ fprintf(stderr, "insmod: can't read '%s': %s\n",
+ filename, strerror(errno));
+ return 1;
+ }
+
+ ret = init_module(file, len, "");
+ if (ret != 0) {
+ fprintf(stderr, "insmod: error inserting '%s': %li %s\n",
+ filename, ret, moderror(errno));
+ return 1;
+ }
+ return 0;
+}
+
+int main(int argc, char *argv[], char *envp[])
+{
+ int res, x;
+
+ /* first, load some needed kernel modules located in the root of our boot partition */
+ const char *modules[] = { "fs/squashfs/unlzma.ko", "fs/squashfs/sqlzma.ko", "fs/squashfs/squashfs.ko", "fs/unionfs.ko", "drivers/block/loop.ko", 0 };
+ const char *modules_path = PREFIX"/lib/modules/2.6.12.6/kernel/";
+ char path[255];
+
+ printf("Hello world!\n");
+
+ x=0;
+ while(modules[x]) {
+ strcpy(path, modules_path);
+ strcat(path, modules[x++]);
+ printf("insmodding %s..\n", path);
+ if (insmod(path))
+ return 1;
+ }
+
+ /* mount the RW jffs2 partition, which contains the squashfs image (in /squashfs) and the deltas (in /delta) */
+ printf("mounting mtd...\n");
+ res = mount("/dev/mtdblock/3", PREFIX"/mnt/flash", "jffs2", 0, 0);
+
+ if (res)
+ {
+ perror("mounting /flash");
+ return res;
+ }
+
+ /* loop-mount the squashfs, by first connecting the file to loop0 ... */
+ printf("opening squashfs...\n");
+ int squashfs_fd = open(SQUASHFS_FILENAME, O_RDONLY);
+ if (squashfs_fd < 0)
+ {
+ perror(SQUASHFS_FILENAME);
+ return 1;
+ }
+
+ printf("setup loop\n");
+ int loop_fd = open("/dev/loop/0", O_RDONLY);
+
+ if (loop_fd < 0)
+ {
+ perror("/dev/loop/0");
+ return 1;
+ }
+
+ struct loop_info loopinfo;
+
+ memset(&loopinfo, 0, sizeof(loopinfo));
+ strncpy(loopinfo.lo_name, SQUASHFS_FILENAME, LO_NAME_SIZE);
+ loopinfo.lo_offset = 0;
+ loopinfo.lo_encrypt_key_size = 0;
+ if (ioctl(loop_fd, LOOP_SET_FD, (void*)squashfs_fd) < 0) {
+ perror("LOOP_SET_FD");
+ return 1;
+ }
+ if (ioctl(loop_fd, LOOP_SET_STATUS, &loopinfo) < 0) {
+ perror("LOOP_SET_STATUS");
+ return 1;
+ }
+ close(loop_fd);
+ close(squashfs_fd);
+
+ printf("mounting squashfs..\n");
+
+ /* and then mounting the loop device. */
+ if (mount("/dev/loop/0", PREFIX"/mnt/squashfs", "squashfs", MS_MGC_VAL|MS_RDONLY, "") < 0)
+ {
+ perror("mounting squashfs");
+ return 1;
+ }
+
+ /* now the situation is:
+
+ / - our boot jffs2 partition
+ /flash - our RW jffs2 partition
+ /flash/squashfs - our loop-mounted squashfs file,
+ /flash/delta - the delta for the root
+ /squashfs - RO root
+ /root - yet empty, but we will populate it using unionfs
+ */
+
+
+ printf("mounting unionfs..\n");
+ res = mount("none", PREFIX"/mnt/root", "unionfs", MS_MGC_VAL, "dirs="PREFIX"/mnt/flash/delta=rw:"PREFIX"/mnt/squashfs=ro");
+ if (res < 0)
+ {
+ perror("mounting unionfs");
+ return 1;
+ }
+
+ printf("pivot_root\n");
+ if ( pivot_root(PREFIX"/mnt/root", PREFIX"/mnt/root/boot") < 0)
+ {
+ perror("pivot_root");
+ return 1;
+ }
+
+ printf("mounting devfs..\n");
+ res = mount("none", "/dev", "devfs", 0, 0);
+ if (res)
+ {
+ perror("mounting /dev");
+ return res;
+ }
+
+ printf("try umount old devfs..\n");
+ res = umount("/boot/dev");
+ perror("umount /boot/dev");
+
+ printf("call init!\n");
+ execve("/sbin/init", argv, envp);
+ perror("/sbin/init");
+
+ return 1;
+}
--- /dev/null
+DESCRIPTION = "create Dreambox NAND boot images"
+SECTION = "console/utils"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+PV = "1.1"
+PR = "r1"
+
+SRC_URI = "file://buildimage.c"
+
+inherit native
+
+do_compile() {
+ cp ${WORKDIR}/buildimage.c .
+ ${CXX} -I. -o buildimage buildimage.c
+}
+
+do_stage() {
+ install -m 0755 buildimage ${STAGING_BINDIR}/
+}
--- /dev/null
+/*
+ * buildimage - create Dreambox nand boot image.
+ *
+ * contains algorithms ripped from u-boot and first-stage.
+ * Licensed as GPL.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <netinet/in.h>
+
+int eraseblock_size, spare_size, sector_size, largepage;
+
+#define SECTOR_SIZE_WITH_ECC (sector_size+spare_size)
+
+
+/*
+ * Pre-calculated 256-way 1 byte column parity
+ */
+static const unsigned char nand_ecc_precalc_table[] = {
+ 0x00, 0x55, 0x56, 0x03, 0x59, 0x0c, 0x0f, 0x5a, 0x5a, 0x0f, 0x0c, 0x59, 0x03, 0x56, 0x55, 0x00,
+ 0x65, 0x30, 0x33, 0x66, 0x3c, 0x69, 0x6a, 0x3f, 0x3f, 0x6a, 0x69, 0x3c, 0x66, 0x33, 0x30, 0x65,
+ 0x66, 0x33, 0x30, 0x65, 0x3f, 0x6a, 0x69, 0x3c, 0x3c, 0x69, 0x6a, 0x3f, 0x65, 0x30, 0x33, 0x66,
+ 0x03, 0x56, 0x55, 0x00, 0x5a, 0x0f, 0x0c, 0x59, 0x59, 0x0c, 0x0f, 0x5a, 0x00, 0x55, 0x56, 0x03,
+ 0x69, 0x3c, 0x3f, 0x6a, 0x30, 0x65, 0x66, 0x33, 0x33, 0x66, 0x65, 0x30, 0x6a, 0x3f, 0x3c, 0x69,
+ 0x0c, 0x59, 0x5a, 0x0f, 0x55, 0x00, 0x03, 0x56, 0x56, 0x03, 0x00, 0x55, 0x0f, 0x5a, 0x59, 0x0c,
+ 0x0f, 0x5a, 0x59, 0x0c, 0x56, 0x03, 0x00, 0x55, 0x55, 0x00, 0x03, 0x56, 0x0c, 0x59, 0x5a, 0x0f,
+ 0x6a, 0x3f, 0x3c, 0x69, 0x33, 0x66, 0x65, 0x30, 0x30, 0x65, 0x66, 0x33, 0x69, 0x3c, 0x3f, 0x6a,
+ 0x6a, 0x3f, 0x3c, 0x69, 0x33, 0x66, 0x65, 0x30, 0x30, 0x65, 0x66, 0x33, 0x69, 0x3c, 0x3f, 0x6a,
+ 0x0f, 0x5a, 0x59, 0x0c, 0x56, 0x03, 0x00, 0x55, 0x55, 0x00, 0x03, 0x56, 0x0c, 0x59, 0x5a, 0x0f,
+ 0x0c, 0x59, 0x5a, 0x0f, 0x55, 0x00, 0x03, 0x56, 0x56, 0x03, 0x00, 0x55, 0x0f, 0x5a, 0x59, 0x0c,
+ 0x69, 0x3c, 0x3f, 0x6a, 0x30, 0x65, 0x66, 0x33, 0x33, 0x66, 0x65, 0x30, 0x6a, 0x3f, 0x3c, 0x69,
+ 0x03, 0x56, 0x55, 0x00, 0x5a, 0x0f, 0x0c, 0x59, 0x59, 0x0c, 0x0f, 0x5a, 0x00, 0x55, 0x56, 0x03,
+ 0x66, 0x33, 0x30, 0x65, 0x3f, 0x6a, 0x69, 0x3c, 0x3c, 0x69, 0x6a, 0x3f, 0x65, 0x30, 0x33, 0x66,
+ 0x65, 0x30, 0x33, 0x66, 0x3c, 0x69, 0x6a, 0x3f, 0x3f, 0x6a, 0x69, 0x3c, 0x66, 0x33, 0x30, 0x65,
+ 0x00, 0x55, 0x56, 0x03, 0x59, 0x0c, 0x0f, 0x5a, 0x5a, 0x0f, 0x0c, 0x59, 0x03, 0x56, 0x55, 0x00
+};
+
+
+/*
+ * Creates non-inverted ECC code from line parity
+ */
+static void nand_trans_result(unsigned char reg2, unsigned char reg3,
+ unsigned char *ecc_code)
+{
+ unsigned char a, b, i, tmp1, tmp2;
+
+ /* Initialize variables */
+ a = b = 0x80;
+ tmp1 = tmp2 = 0;
+
+ /* Calculate first ECC byte */
+ for (i = 0; i < 4; i++) {
+ if (reg3 & a) /* LP15,13,11,9 --> ecc_code[0] */
+ tmp1 |= b;
+ b >>= 1;
+ if (reg2 & a) /* LP14,12,10,8 --> ecc_code[0] */
+ tmp1 |= b;
+ b >>= 1;
+ a >>= 1;
+ }
+
+ /* Calculate second ECC byte */
+ b = 0x80;
+ for (i = 0; i < 4; i++) {
+ if (reg3 & a) /* LP7,5,3,1 --> ecc_code[1] */
+ tmp2 |= b;
+ b >>= 1;
+ if (reg2 & a) /* LP6,4,2,0 --> ecc_code[1] */
+ tmp2 |= b;
+ b >>= 1;
+ a >>= 1;
+ }
+
+ /* Store two of the ECC bytes */
+ ecc_code[0] = tmp1;
+ ecc_code[1] = tmp2;
+}
+
+/*
+ * Calculate 3 byte ECC code for 256 byte block
+ */
+static void nand_calculate_ecc (const unsigned char *dat, unsigned char *ecc_code)
+{
+ unsigned char idx, reg1, reg3;
+ int j;
+
+ /* Initialize variables */
+ reg1 = reg3 = 0;
+ ecc_code[0] = ecc_code[1] = ecc_code[2] = 0;
+
+ /* Build up column parity */
+ for(j = 0; j < 256; j++) {
+
+ /* Get CP0 - CP5 from table */
+ idx = nand_ecc_precalc_table[dat[j]];
+ reg1 ^= idx;
+
+ /* All bit XOR = 1 ? */
+ if (idx & 0x40) {
+ reg3 ^= (unsigned char) j;
+ }
+ }
+
+ /* Create non-inverted ECC code from line parity */
+ nand_trans_result((reg1 & 0x40) ? ~reg3 : reg3, reg3, ecc_code);
+
+ /* Calculate final ECC code */
+ ecc_code[0] = ~ecc_code[0];
+ ecc_code[1] = ~ecc_code[1];
+ ecc_code[2] = ((~reg1) << 2) | 0x03;
+}
+
+void file_open(FILE **f, int *size, const char *filename)
+{
+ *f = fopen(filename, "r");
+ if (!*f)
+ {
+ perror(filename);
+ exit(1);
+ }
+ fseek(*f, 0, SEEK_END);
+ *size = ftell(*f);
+ fseek(*f, 0, SEEK_SET);
+}
+
+void die(const char *msg)
+{
+ fprintf(stderr, "%s\n", msg);
+ exit(2);
+}
+
+void emit_4(unsigned long val)
+{
+ val = htonl(val);
+ write(1, &val, 4);
+}
+
+#define TO_SECT(x) (x+sector_size-1)/sector_size
+
+typedef void fnc_encode_ecc(unsigned char *dst, unsigned char *src, int cnt);
+
+void encode_hevers(unsigned char *dst, unsigned char *src, int count)
+{
+ if (!largepage)
+ {
+ dst[0] = count >> 8;
+ dst[1] = count & 0xFF;
+ unsigned char temp;
+ int cnt;
+ for(cnt=0; cnt<sector_size; cnt++)
+ {
+ temp=src[cnt];
+ dst[2]^=temp;
+ if(cnt & 1)
+ dst[6 + 0]^=temp;
+ else
+ dst[6 + 1]^=temp;
+ if(cnt & 2) dst[6 + 2]^=temp;
+ if(cnt & 4) dst[6 + 3]^=temp;
+ if(cnt & 8) dst[6 + 4]^=temp;
+ if(cnt & 16) dst[6 + 5]^=temp;
+ if(cnt & 32) dst[6 + 6]^=temp;
+ if(cnt & 64) dst[6 + 7]^=temp;
+ if(cnt & 128) dst[6 + 8]^=temp;
+ if(cnt & 256) dst[6 + 9]^=temp;
+ }
+ } else
+ {
+ dst[0] = 0xFF;
+ dst[1] = 0xFF;
+ dst[2] = count >> 8;
+ dst[3] = count & 0xFF;
+ unsigned char temp;
+ int cnt;
+ for(cnt=0; cnt<sector_size; cnt++)
+ {
+ temp=src[cnt];
+ dst[40]^=temp;
+ if(cnt & 1)
+ dst[41]^=temp;
+ else
+ dst[42]^=temp;
+ if(cnt & 2) dst[43]^=temp;
+ if(cnt & 4) dst[44]^=temp;
+ if(cnt & 8) dst[45]^=temp;
+ if(cnt & 16) dst[46]^=temp;
+ if(cnt & 32) dst[47]^=temp;
+ if(cnt & 64) dst[48]^=temp;
+ if(cnt & 128) dst[49]^=temp;
+ if(cnt & 256) dst[50]^=temp;
+ }
+ }
+}
+
+void encode_jffs2(unsigned char *dst, unsigned char *src, int cnt)
+{
+ memset(dst, 0xFF, spare_size);
+
+ if (!largepage)
+ {
+ unsigned char ecc_code[8];
+ nand_calculate_ecc (src, ecc_code);
+ nand_calculate_ecc (src+256, ecc_code+3);
+ dst[0] = ecc_code[0];
+ dst[1] = ecc_code[1];
+ dst[2] = ecc_code[2];
+ dst[3] = ecc_code[3];
+ dst[4] = 0xFF;
+ dst[5] = 0xFF;
+ dst[6] = ecc_code[4];
+ dst[7] = ecc_code[5];
+
+ if (!(cnt & ((eraseblock_size/sector_size)-1)))
+ {
+ dst[8] = 0x19;
+ dst[9] = 0x85;
+ dst[10] = 0x20;
+ dst[11] = 0x03;
+ dst[12] = 0x00;
+ dst[13] = 0x00;
+ dst[14] = 0x00;
+ dst[15] = 0x08;
+ } else
+ memset(dst + 8, 0xFF, 8);
+ } else
+ {
+ int i;
+ for (i=0; i<8; ++i)
+ nand_calculate_ecc (src + i * 256, dst + 40 + i * 3);
+
+ if (!(cnt & ((eraseblock_size/sector_size)-1)))
+ {
+ dst[2] = 0x19;
+ dst[3] = 0x85;
+ dst[4] = 0x20;
+ dst[5] = 0x03;
+ dst[6] = 0x00;
+ dst[7] = 0x00;
+ dst[8] = 0x00;
+ dst[9] = 0x08;
+ }
+ }
+}
+
+void emit_file(FILE *src, int size, fnc_encode_ecc * eccfnc)
+{
+ emit_4(size * SECTOR_SIZE_WITH_ECC);
+ int cnt = 0;
+ while (1)
+ {
+ unsigned char sector[sector_size + spare_size];
+ memset(sector, 0xFF, sector_size + spare_size);
+ int r = fread(sector, 1, sector_size, src);
+ if (!r)
+ break;
+ eccfnc(sector + sector_size, sector, cnt);
+ write(1, sector, SECTOR_SIZE_WITH_ECC);
+ ++cnt;
+ }
+ if (cnt != size)
+ die("size changed");
+}
+
+ /* reserve to two sectors plus 1% for badblocks, and round down */
+#define BADBLOCK_SAFE(x) ( ((x) - (eraseblock_size * 2) - (x) / 100) &~ eraseblock_size )
+
+int main(int argc, char **argv)
+{
+ if ((argc != 4) && (argc != 5) && (argc != 6) && (argc != 7) )
+ {
+ fprintf(stderr, "usage: %s <2nd.bin.gz> <boot.jffs2> <root.jffs2> [<arch>] [<flashsize-in-mb>] [options]> image.nfi\n", *argv);
+ return 1;
+ }
+
+ FILE *f_2nd, *f_boot, *f_root;
+ int size_2nd, size_boot, size_root;
+
+ file_open(&f_2nd, &size_2nd, argv[1]);
+ file_open(&f_boot, &size_boot, argv[2]);
+ file_open(&f_root, &size_root, argv[3]);
+
+ int flashsize = 32*1024*1024;
+ if (argc >= 6)
+ flashsize = atoi(argv[5]) * 1024 * 1024;
+
+
+ int partition[] = {0x40000, 0x400000, flashsize};
+
+ if ((argc >= 7) && strstr(argv[6], "large"))
+ {
+ largepage = 1;
+ eraseblock_size = 128*1024;
+ spare_size = 64;
+ sector_size = 2048;
+ partition[0] = 0x100000;
+ } else
+ {
+ largepage = 0;
+ eraseblock_size = 16384;
+ spare_size = 16;
+ sector_size = 512;
+ partition[0] = 0x40000;
+ }
+
+ if (size_2nd > BADBLOCK_SAFE(partition[0]))
+ die("2nd stage is too big. did you gzip it before?");
+ if (size_boot > BADBLOCK_SAFE(partition[1] - partition[0]))
+ die("boot is too big. You can modify the buildimage tool, but you don't want that.");
+ if (size_root > BADBLOCK_SAFE(partition[2] - partition[1]))
+ die("root is too big. This doesn't work. sorry.");
+
+ int sectors_2nd = TO_SECT(size_2nd), sectors_boot = TO_SECT(size_boot), sectors_root = TO_SECT(size_root);
+
+ int num_partitions = 3;
+
+ int total_size = 4 + num_partitions * 4 + 4 + sectors_2nd * SECTOR_SIZE_WITH_ECC + 4 + sectors_boot * SECTOR_SIZE_WITH_ECC + 4 + sectors_root * SECTOR_SIZE_WITH_ECC;
+
+ /* in case an architecture is given, write NFI1 header */
+ if (argc >= 5)
+ {
+ char header[32] = "NFI1";
+ strncpy(header + 4, argv[4], 28);
+ write(1, header, 32);
+ }
+
+ /* global header */
+ emit_4(total_size);
+
+ /* partition */
+ emit_4(num_partitions * 4);
+ int i;
+ for (i=0; i < num_partitions; ++i)
+ emit_4(partition[i]);
+
+ /* 2nd stage */
+ emit_file(f_2nd, sectors_2nd, encode_hevers);
+ /* boot + root */
+ emit_file(f_boot, sectors_boot, encode_jffs2);
+ emit_file(f_root, sectors_root, encode_jffs2);
+
+ return 0;
+}
--- /dev/null
+DESCRIPTION = "Dreambox compatibility links"
+SECTION = "base"
+PRIORITY = "required"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+PV = "1.0"
+PR = "r0"
+
+FILES = "/lib/libgcc_s_nof.so.1"
+
+do_install() {
+ install -d ${D}/lib
+ ln -sf libgcc_s.so.1 ${D}/lib/libgcc_s_nof.so.1
+}
--- /dev/null
+DESCRIPTION = "Dreamcrypt/Firecrypt Conditional Access Daemon"
+SECTION = "base"
+PRIORITY = "optional"
+LICENSE = "proprietary"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+PV = "1.1"
+PR = "r2"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/7020/dccamd-${MACHINE}-${PV} \
+ http://sources.dreamboxupdate.com/download/7020/wdog-${MACHINE} \
+ file://dccamd.sh"
+
+S = "${WORKDIR}"
+
+INHIBIT_PACKAGE_STRIP = "1"
+
+do_install() {
+ install -d ${D}/usr/bin
+ install -d ${D}/etc/init.d
+ install -m 0755 ${WORKDIR}/dccamd-${MACHINE}-${PV} ${D}/usr/bin/dccamd
+ install -m 0755 ${WORKDIR}/wdog-${MACHINE} ${D}/usr/bin/wdog
+}
+
+PACKAGE_ARCH := "${MACHINE_ARCH}"
+FILES_${PN} = "/"
--- /dev/null
+#!/bin/sh
+
+usage()
+{
+ echo "Usage: $0 {start|stop|status|restart|reload}"
+}
+
+if [ $# -lt 1 ] ; then usage ; break ; fi
+action=$1
+
+case "$action" in
+
+start)
+ echo -n "Start Dreamcrypt cam daemon:"
+ /usr/bin/wdog /usr/bin/dccamd -
+ echo " dccamd."
+ ;;
+
+stop)
+ echo -n "Stopping Dreamcrypt cam daemon: dccamd"
+ killall wdog dccamd
+ echo "."
+ ;;
+
+status)
+ ;;
+
+restart|reload)
+ $0 stop
+ $0 start
+ ;;
+
+*)
+ usage
+ ;;
+
+esac
+
+exit 0
--- /dev/null
+DESCRIPTION = "Hardware drivers for Dreambox"
+SECTION = "base"
+PRIORITY = "required"
+LICENSE = "proprietary"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+KV_dm7020 = "2.6.9"
+PV_dm7020 = "${KV}-20060622"
+
+def get_modules_extension(bb, d):
+ if 'nptl' in bb.data.getVar('GLIBC_ADDONS', d, 1).split(','):
+ return "-gcc4.1"
+ return ""
+
+KV_dm7025 = "2.6.12.6"
+PV_dm7025 = "${KV}-20081001${@get_modules_extension(bb, d)}"
+
+KV_dm600pvr = "2.6.12"
+PV_dm600pvr = "${KV}-20080822"
+
+KV_dm500plus = "2.6.12"
+PV_dm500plus = "${KV}-20080822"
+
+KV_dm800 = "2.6.12-5.1-brcmstb-dm800"
+PV_dm800 = "${KV}-20081003"
+
+KV_dm8000 = "2.6.12-5.1-brcmstb-dm8000"
+PV_dm8000 = "${KV}-20081015"
+
+RDEPENDS = "kernel (${KV})"
+PR = "r0"
+
+SRC_URI = "http://sources.dreamboxupdate.com/snapshots/dreambox-dvb-modules-${MACHINE}-${PV}.tar.bz2 "
+SRC_URI_append_dm7025 = "http://sources.dreamboxupdate.com/download/7020/fpupgrade-${MACHINE}-v7"
+SRC_URI_append_dm8000 = "http://sources.dreamboxupdate.com/download/7020/fpupgrade-${MACHINE}-v4"
+
+S = "${WORKDIR}"
+
+do_install_dm600pvr() {
+ install -d ${D}/lib/modules/${KV}/extra
+ for f in head; do
+ install -m 0644 $f.ko ${D}/lib/modules/${KV}/extra/$f.ko;
+ done
+}
+
+do_install_dm7020() {
+ install -d ${D}/lib/modules/${KV}/extra
+ for f in head; do
+ install -m 0644 $f.ko ${D}/lib/modules/${KV}/extra/$f.ko;
+ done
+}
+
+do_install_dm500plus() {
+ install -d ${D}/lib/modules/${KV}/extra
+ for f in head; do
+ install -m 0644 $f.ko ${D}/lib/modules/${KV}/extra/$f.ko;
+ done
+}
+
+do_install_dm7025() {
+ install -d ${D}/lib/modules/${KV}/extra
+ for f in *.ko LICENSE; do
+ install -m 0644 ${WORKDIR}/$f ${D}/lib/modules/${KV}/extra/$f;
+ done
+ install -d ${D}${sbindir}
+ install -m 0755 ${WORKDIR}/fpupgrade-${MACHINE}-v7 ${D}${sbindir}/fpupgrade
+}
+
+do_install_dm8000() {
+ install -d ${D}/lib/modules/${KV}/extra
+ for f in *.ko LICENSE; do
+ install -m 0644 ${WORKDIR}/$f ${D}/lib/modules/${KV}/extra/$f;
+ done
+ install -d ${D}${sbindir}
+ install -m 0755 ${WORKDIR}/fpupgrade-${MACHINE}-v4 ${D}${sbindir}/fpupgrade
+}
+
+do_install_dm800() {
+ install -d ${D}/lib/modules/${KV}/extra
+ for f in *.ko LICENSE; do
+ install -m 0644 ${WORKDIR}/$f ${D}/lib/modules/${KV}/extra/$f;
+ done
+ install -d ${D}${sbindir}
+}
+
+PACKAGE_ARCH := "${MACHINE_ARCH}"
+FILES_${PN} = "/"
--- /dev/null
+#!/bin/sh
+
+usage()
+{
+ echo "Usage: $0 {start|stop|status|restart|reload}"
+}
+
+if [ $# -lt 1 ] ; then usage ; break ; fi
+action=$1
+
+case "$action" in
+
+start)
+ echo -n "Start Dreambox DVB Subsystem:"
+ /sbin/insmod /lib/modules/`uname -r`/extra/head.ko
+ echo " head."
+
+ # redisplay bootlogo, either the "wait..." or the normal
+ [ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe /boot/bootlogo.mvi || /usr/bin/showiframe /boot/bootlogo_wait.mvi
+ ;;
+
+stop)
+ ;;
+
+status)
+ ;;
+
+restart|reload)
+ $0 stop
+ $0 start
+ ;;
+
+*)
+ usage
+ ;;
+
+esac
+
+exit 0
--- /dev/null
+#!/bin/sh
+
+usage()
+{
+ echo "Usage: $0 {start|stop|status|restart|reload}"
+}
+
+if [ $# -lt 1 ] ; then usage ; break ; fi
+action=$1
+
+case "$action" in
+
+start)
+ echo -n "Start Dreambox DVB Subsystem:"
+
+ modprobe dreambox_keyboard
+ modprobe fp
+ modprobe rfmod
+
+ echo " done!"
+
+ # redisplay bootlogo, either the "wait..." or the normal
+ [ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe /boot/bootlogo.mvi || /usr/bin/showiframe /boot/bootlogo_wait.mvi
+ ;;
+
+stop)
+ ;;
+
+status)
+ ;;
+
+restart|reload)
+ $0 stop
+ $0 start
+ ;;
+
+*)
+ usage
+ ;;
+
+esac
+
+exit 0
--- /dev/null
+DESCRIPTION = "Small utilities specific to the dreambox dvb receiver (for DVB v3)"
+SECTION = "base"
+PRIORITY = "optional"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+LICENSE = "GPL"
+
+PV = "1.5"
+PR = "r0"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/opendreambox/dreambox-dvb-tools-v3-${PV}.tar.gz"
+
+inherit qmake
+
+UTILS = "showiframe"
+
+do_configure_prepend() {
+ cd ${S}/
+ echo "TEMPLATE=subdirs" > dmutils.pro
+ echo "CONFIG=console" >> dmutils.pro
+ echo "SUBDIRS=${UTILS}" >> dmutils.pro
+}
+
+do_install() {
+ install -d ${D}/${bindir}/
+ for u in ${UTILS}
+ do
+ install -m 0755 ${S}/${u}/${u} ${D}/${bindir}/
+ done
+}
--- /dev/null
+DESCRIPTION = "Small utilities specific to the dreambox dvb receiver (for DVB v1)"
+DEPENDS = "dreambox-dvbincludes"
+SECTION = "base"
+PRIORITY = "optional"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+LICENSE = "GPL"
+PV = "1.0"
+PR = "r0"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/opendreambox/dreambox-dvb-tools-1.0.tar.gz"
+
+inherit qmake
+
+UTILS = "grabpic showiframe dvbnet test_tbl test_dmx"
+
+do_configure_prepend() {
+ cd ${S}/
+ echo "TEMPLATE=subdirs" > dmutils.pro
+ echo "CONFIG=console" >> dmutils.pro
+ echo "SUBDIRS=${UTILS}" >> dmutils.pro
+}
+
+do_install() {
+ install -d ${D}/${bindir}/
+ for u in ${UTILS}
+ do
+ install -m 0755 ${S}/${u}/${u} ${D}/${bindir}/
+ done
+}
--- /dev/null
+DESCRIPTION = "This package provides dbox2/dreambox \
+compatible header files for the API to the drivers."
+
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+SRC_URI = "http://sources.dreamboxupdate.com/snapshots/include2.tar.gz"
+S = "${WORKDIR}/include"
+
+ALLOW_EMPTY_dreambox-dvbincludes = "1"
+
+INPUT_FILES = "input_fake.h ci/ci.h dbox/avia_gt_pig.h dbox/avs_core.h \
+ dbox/event.h dbox/fp.h dbox/info.h dbox/lcd.h dbox/saa7126_core.h \
+ dbox/lcd-ks0713.h dbox/fb.h \
+ dreambox/dreaminfo.h \
+ tuxbox/hardware_dbox2.h tuxbox/hardware_dreambox.h tuxbox/hardware_pci.h \
+ tuxbox/info.h tuxbox/info_dbox2.h tuxbox/kernel.h"
+
+INPUT_FILES_OST = " ost/audio.h ost/ca.h ost/demux.h ost/descrambler.h ost/dmx.h \
+ ost/dvb.h ost/dvb_frontend.h ost/frontend.h ost/net.h ost/sec.h \
+ ost/video.h "
+
+PV="1"
+
+do_install_dm7020() {
+ install -d ${STAGING_INCDIR}/ci
+ install -d ${STAGING_INCDIR}/dbox
+ install -d ${STAGING_INCDIR}/dreambox
+ install -d ${STAGING_INCDIR}/ost
+ install -d ${STAGING_INCDIR}/tuxbox
+ for f in ${INPUT_FILES} ${INPUT_FILES_OST}; do
+ install -m 0644 ${S}/$f ${STAGING_INCDIR}/$f
+ done;
+}
+
+do_install_dm600pvr() {
+ install -d ${STAGING_INCDIR}/ci
+ install -d ${STAGING_INCDIR}/dbox
+ install -d ${STAGING_INCDIR}/dreambox
+ install -d ${STAGING_INCDIR}/ost
+ install -d ${STAGING_INCDIR}/tuxbox
+ for f in ${INPUT_FILES} ${INPUT_FILES_OST}; do
+ install -m 0644 ${S}/$f ${STAGING_INCDIR}/$f
+ done;
+}
+
+do_install_dm500plus() {
+ install -d ${STAGING_INCDIR}/ci
+ install -d ${STAGING_INCDIR}/dbox
+ install -d ${STAGING_INCDIR}/dreambox
+ install -d ${STAGING_INCDIR}/ost
+ install -d ${STAGING_INCDIR}/tuxbox
+ for f in ${INPUT_FILES} ${INPUT_FILES_OST}; do
+ install -m 0644 ${S}/$f ${STAGING_INCDIR}/$f
+ done;
+}
+
+do_install_dm7025() {
+ install -d ${STAGING_INCDIR}/ci
+ install -d ${STAGING_INCDIR}/dbox
+ install -d ${STAGING_INCDIR}/dreambox
+ install -d ${STAGING_INCDIR}/tuxbox
+ for f in ${INPUT_FILES}; do
+ install -m 0644 ${S}/$f ${STAGING_INCDIR}/$f
+ done;
+}
+
+do_install_dm8000() {
+ install -d ${STAGING_INCDIR}/ci
+ install -d ${STAGING_INCDIR}/dbox
+ install -d ${STAGING_INCDIR}/dreambox
+ install -d ${STAGING_INCDIR}/tuxbox
+ for f in ${INPUT_FILES}; do
+ install -m 0644 ${S}/$f ${STAGING_INCDIR}/$f
+ done;
+}
+
+do_install_dm800() {
+ install -d ${STAGING_INCDIR}/ci
+ install -d ${STAGING_INCDIR}/dbox
+ install -d ${STAGING_INCDIR}/dreambox
+ install -d ${STAGING_INCDIR}/tuxbox
+ for f in ${INPUT_FILES}; do
+ install -m 0644 ${S}/$f ${STAGING_INCDIR}/$f
+ done;
+}
+
+do_install_dm8000() {
+ install -d ${STAGING_INCDIR}/ci
+ install -d ${STAGING_INCDIR}/dbox
+ install -d ${STAGING_INCDIR}/dreambox
+ install -d ${STAGING_INCDIR}/tuxbox
+ for f in ${INPUT_FILES}; do
+ install -m 0644 ${S}/$f ${STAGING_INCDIR}/$f
+ done;
+}
--- /dev/null
+DESCRIPTION = "Configuration files for online package repositories aka feeds"
+PR = "r0"
+
+DISTRO_FEED_PREFIX ?= "official"
+DISTRO_FEED_URI ?= "http://sources.dreamboxupdate.com/${DISTRO}/${DISTRO_VERSION}"
+
+do_compile() {
+ mkdir -p ${S}/${sysconfdir}/opkg
+ for feed in all ${TARGET_ARCH} ${MACHINE_ARCH}; do
+ echo "src/gz ${DISTRO_FEED_PREFIX}-${feed} ${DISTRO_FEED_URI}/${feed}" > ${S}/${sysconfdir}/opkg/${feed}-feed.conf
+ done
+}
+do_install () {
+ install -d ${D}${sysconfdir}/opkg
+ install -m 0644 ${S}/${sysconfdir}/opkg/* ${D}${sysconfdir}/opkg/
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+CONFFILES_${PN} += '${@ " ".join( [ ( "${sysconfdir}/opkg/%s-feed.conf" % feed ) for feed in "all ${TARGET_ARCH} ${MACHINE_ARCH}".split() ] ) }'
--- /dev/null
+DESCRIPTION = "Dreambox Keyboard Keymap files"
+LICENSE = "GPL"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+SRC_URI = "file://dream-de.info file://dream-de.kmap file://eng.info file://eng.kmap"
+
+PR = "r0"
+
+FILES_${PN} = "/"
+
+do_install() {
+ install -d ${D}/usr/share/keymaps
+ for x in dream-de.info dream-de.kmap eng.info eng.kmap; do
+ install -m 0644 ${WORKDIR}/$x ${D}/usr/share/keymaps/$x
+ done
+}
--- /dev/null
+kmap=dream-de.kmap
+name=Dreambox Keyboard Deutsch
--- /dev/null
+kmap=eng.kmap
+name=Keyboard Englisch
--- /dev/null
+DESCRIPTION = "Dreambox DM702x second stage bootloader"
+SECTION = "base"
+PRIORITY = "required"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+PV_dm7020 = "35"
+PV_dm7025 = "61"
+PV_dm600pvr = "53"
+PV_dm500plus = "53"
+PV_dm8000 = "65"
+PV_dm800 = "62"
+PR = "r0"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/7020/secondstage-${MACHINE}-${PV}.bin"
+
+S = "${WORKDIR}"
+
+do_stage() {
+ install -d ${STAGING_LIBDIR}/dreambox-secondstage
+ gzip -c ${S}/secondstage-${MACHINE}-${PV}.bin > ${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz
+}
+
+# the dm{800,8000} secondstage is already compressed (and encrypted)
+do_stage_dm800() {
+ install -d ${STAGING_LIBDIR}/dreambox-secondstage
+ cp ${S}/secondstage-${MACHINE}-${PV}.bin ${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz
+}
+
+do_stage_dm8000() {
+ install -d ${STAGING_LIBDIR}/dreambox-secondstage
+ cp ${S}/secondstage-${MACHINE}-${PV}.bin ${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz
+}
require ti-paths.inc
+DSPLINKPLATFORM ?= "DAVINCI"
+DSPLINKPLATFORM_omap5912osk = "OMAP"
+DSPLINKPLATFORM_beagleboard = "OMAP3530"
+DSPLINKPLATFORM_davinci-sffsdr = "DAVINCI"
+DSPLINKPLATFORM_davinci-dvevm = "DAVINCI"
+
+DSPLINKDSP ?= "C64XX"
+
+DSPLINKSOC ?= "DM6446"
+DSPLINKSOC_beagleboard = "3530"
+
+DSPCFG ?= "DM6446GEMSHMEM"
+DSPCFG_beagleboard ?= "OMAP3530SHMEM"
+
+GPPOS ?= "DAVINCILSP"
+GPPOS_beagleboard = "OMAPLSP"
+
+export DSPLINKPLATFORM
+export DSPLINKDSP
+export DSPLINKSOC
+export DSPCFG
+export GPPOS
+
do_configure () {
# Run perl script to create appropriate makefiles (v1.60 and up)
perl config/bin/dsplinkcfg.pl --platform=${DSPLINKPLATFORM} --nodsp=1 --dspcfg_0=${DSPCFG} --dspos_0=DSPBIOS5XX --gppos=${GPPOS} --comps=ponslrm
install ${S}/gpp/BUILD/EXPORT/RELEASE/mplistgpp ${D}/${bindir}
install ${S}/gpp/BUILD/EXPORT/RELEASE/readwritegpp ${D}/${bindir}
install ${S}/gpp/BUILD/EXPORT/RELEASE/ringiogpp ${D}/${bindir}
- install ${S}/gpp/BUILD/EXPORT/RELEASE/scalegpp ${D}/${bindir} || true
+ install ${S}/gpp/BUILD/EXPORT/RELEASE/scalegpp ${D}/${bindir}
install -d ${D}/${datadir}/dsplink
for i in $(find ${S}/dsp/BUILD/ -name "*.out") ; do
--- /dev/null
+DESCRIPTION = "dvd+rw-tools makes it possible to burn DVD images"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>
+LICENSE = "GPL"
+SECTION = "optional"
+
+SRC_URI = "http://fy.chalmers.se/~appro/linux/DVD+RW/tools/${PN}-${PV}.tar.gz"
+
+inherit autotools
+
+EXTRA_OEMAKE = "'CC=${CC}' 'CXX=${CXX}' \
+ 'CFLAGS=${CFLAGS} ${LDFLAGS}' 'prefix=${D}'"
--- /dev/null
+DESCRIPTION = "A set of tools to help you generate DVD files to be played back on a standalone DVD player."
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+LICENSE = "GPL"
+SECTION = "optional"
+DEPENDS = "libdvdread"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/dvdauthor/dvdauthor-${PV}.tar.gz \
+ file://dvdauthor-fix-fribidi.patch;patch=1;pnum=1 \
+ file://dvdauthor-fix-old-freetype.patch;patch=1;pnum=1"
+
+inherit autotools
--- /dev/null
+Index: dvdauthor-0.6.14/configure.ac
+===================================================================
+--- dvdauthor-0.6.14.orig/configure.ac 2008-04-08 23:57:39.000000000 +0200
++++ dvdauthor-0.6.14/configure.ac 2008-04-08 23:56:53.000000000 +0200
+@@ -57,12 +57,10 @@
+ AC_SUBST(MAGICK_CPPFLAGS)
+ AC_SUBST(MAGICK_LIBS)
+
+-AC_CHECK_PROGS(FRIBIDICONFIG, [fribidi-config])
+-if test -n "$FRIBIDICONFIG"; then
+- FRIBIDI_CPPFLAGS="`$FRIBIDICONFIG --cflags`"
+- FRIBIDI_LIBS="`$FRIBIDICONFIG --libs`"
+- AC_DEFINE(HAVE_FRIBIDI, 1, [Whether FriBiDi is available])
+-fi
++PKG_CHECK_MODULES(FRIBIDI, fribidi)
++AC_SUBST(FRIBIDI_CFLAGS)
++AC_SUBST(FRIBIDI_LIBS)
++AC_DEFINE(HAVE_FRIBIDI, 1, [Whether FriBiDi is available])
+
+ AC_SUBST(FRIBIDI_CPPFLAGS)
+ AC_SUBST(FRIBIDI_LIBS)
--- /dev/null
+Index: dvdauthor-0.6.14/src/subfont.c
+===================================================================
+--- dvdauthor-0.6.14.orig/src/subfont.c 2008-04-08 23:58:04.000000000 +0200
++++ dvdauthor-0.6.14/src/subfont.c 2008-04-08 23:56:50.000000000 +0200
+@@ -557,7 +557,7 @@
+ desc->font[c] = -1;
+ return;
+ }
+- if( oglyph->format != FT_GLYPH_FORMAT_BITMAP ) {
++ if( oglyph->format != ft_glyph_format_bitmap ) {
+ WARNING("FT_Get_Glyph did not return a bitmap glyph.");
+ desc->font[c] = -1;
+ return;
do_move_ports() {
if test -d ${WORKDIR}/trunk/ports ; then
rm -rf ${S}/ports
- mv ${WORKDIR}/trunk/ports ${S}/
+ mv -v ${WORKDIR}/trunk/ports ${S}/
fi
}
--- /dev/null
+DEPENDS = "enigma"
+DESCRIPTION = "Enigma Blindscan Plugin"
+MAINTAINER = "Andreas Monzner <ghost@dream-multimedia-tv.de>"
+LICENSE = "GPL"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/opendreambox/enigma/enigma-blindscan-${PV}.tar.bz2"
+
+PV = "0.1"
+PN = "enigma-blindscan"
+PR = "r0"
+
+PACKAGES = "enigma-blindscan"
+
+S = "${WORKDIR}/enigma-blindscan-${PV}"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "/usr/lib/tuxbox/plugins/enigma_blindscan.so \
+ /usr/lib/tuxbox/plugins/enigma_blindscan.cfg"
+
+EXTRA_OECONF = "--with-target=native "
--- /dev/null
+DEPENDS = "enigma"
+DESCRIPTION = "Enigma Modem Plugin"
+MAINTAINER = "Andreas Monzner <ghost@dream-multimedia-tv.de>"
+LICENSE = "GPL"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/opendreambox/enigma/enigma-modem-${PV}.tar.gz"
+
+PV = "0.3"
+PN = "enigma-modem"
+PR = "r0"
+
+PACKAGES = "enigma-modem"
+
+S = "${WORKDIR}/enigma-modem-${PV}"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "/usr/lib/tuxbox/plugins/enigma_modem.so \
+ /usr/lib/tuxbox/plugins/enigma_modem.cfg \
+ /etc/ppp/options \
+ /etc/ppp/pap-secrets \
+ /etc/ppp/dial.modem \
+ /etc/ppp/disconnect.modem \
+ /etc/ppp/ip-up.d/01peerdns /etc/ppp/ip-down.d/01peerdns-remove"
+
+EXTRA_OECONF = "--with-target=native "
+
+PPP_FILES = "dial.modem options disconnect.modem pap-secrets"
+
+do_install_append() {
+ install -d ${D}/etc/ppp
+ for i in dial.modem disconnect.modem; do
+ install -m 0755 ${S}/$i ${D}/etc/ppp/
+ done;
+ for i in options pap-secrets; do
+ install -m 0644 ${S}/$i ${D}/etc/ppp/
+ done;
+ install -d ${D}/etc/ppp/ip-up.d
+ install -m 0755 ${S}/01peerdns ${D}/etc/ppp/ip-up.d
+ install -d ${D}/etc/ppp/ip-down.d
+ install -m 0755 ${S}/01peerdns-remove ${D}/etc/ppp/ip-down.d
+}
+
--- /dev/null
+Index: src/enigma_scan.cpp
+===================================================================
+RCS file: /cvs/tuxbox/apps/tuxbox/b/src/enigma_scan.cpp,v
+retrieving revision 1.25
+diff -u -r1.25 enigma_scan.cpp
+--- a/src/enigma_scan.cpp 5 Feb 2006 23:41:01 -0000 1.25
++++ b/src/enigma_scan.cpp 21 Aug 2007 17:08:27 -0000
+@@ -27,6 +27,7 @@
+ #include <scan.h>
+ #include <satfind.h>
+ #include <tpeditwindow.h>
++#include <enigma_plugins.h>
+ #include <lib/base/i18n.h>
+ #include <lib/dvb/edvb.h>
+ #include <lib/dvb/frontend.h>
+@@ -63,6 +64,8 @@
+ CONNECT((new eListBoxEntryMenu(&list, _("Automatic Multisat Scan"), eString().sprintf("(%d) %s", ++entry, _("open automatic multisat transponder scan"))))->selected, eZapScan::sel_multiScan);
+
+ CONNECT((new eListBoxEntryMenu(&list, _("Manual Transponder Scan"), eString().sprintf("(%d) %s", ++entry, _("open manual transponder scan"))))->selected, eZapScan::sel_manualScan);
++ if ( eFrontend::getInstance()->canBlindScan() && eZapPlugins(2).execPluginByName("enigma_blindscan.cfg", true) == "OK" )
++ CONNECT((new eListBoxEntryMenu(&list, _("Satellite Blindscan"), eString().sprintf("(%d) %s", ++entry, _("open transponder blindscan"))))->selected, eZapScan::sel_blindScan);
+ }
+
+ void eZapScan::sel_satfind()
+@@ -111,6 +114,13 @@
+ show();
+ }
+
++void eZapScan::sel_blindScan()
++{
++ hide();
++ eZapPlugins(2).execPluginByName("enigma_blindscan.cfg");
++ show();
++}
++
+ void eZapScan::sel_satconfig()
+ {
+ hide();
+Index: src/enigma_scan.h
+===================================================================
+RCS file: /cvs/tuxbox/apps/tuxbox/b/src/enigma_scan.h,v
+retrieving revision 1.7
+diff -u -r1.7 enigma_scan.h
+--- a/src/enigma_scan.h 26 Oct 2003 00:41:17 -0000 1.7
++++ b/src/enigma_scan.h 21 Aug 2007 17:08:27 -0000
+@@ -25,6 +25,7 @@
+ void sel_multiScan();
+ void sel_manualScan();
+ void sel_satfind();
++ void sel_blindScan();
+ public:
+ static eLNB* getRotorLNB(int silent);
+ eZapScan();
+Index: src/scan.cpp
+===================================================================
+RCS file: /cvs/tuxbox/apps/tuxbox/b/src/scan.cpp,v
+retrieving revision 1.92
+diff -u -r1.92 scan.cpp
+--- a/src/scan.cpp 5 Feb 2006 23:41:01 -0000 1.92
++++ b/src/scan.cpp 21 Aug 2007 17:08:27 -0000
+@@ -3,6 +3,7 @@
+ #include <enigma.h>
+
+ #include <enigma_main.h>
++#include <enigma_plugins.h>
+ #include <lib/base/i18n.h>
+ #include <lib/dvb/frontend.h>
+ #include <lib/dvb/si.h>
+@@ -45,6 +46,8 @@
+ new eListBoxEntryMenuItem(list, _("Automatic Multisat Scan"), (void*)3, 0, _("open automatic multisat transponder scan") );
+ new eListBoxEntryMenuItem(list, _("manual scan.."), (void*)1, 0, _("open manual transponder scan") );
+ CONNECT(list->selected, tsSelectType::selected);
++ if ( eFrontend::getInstance()->canBlindScan() && eZapPlugins(2).execPluginByName("enigma_blindscan.cfg", true) == "OK" )
++ new eListBoxEntryMenuItem(list, _("Satellite Blindscan"), (void*)4, 0, _("open transponder blindscan") );
+ }
+
+ void tsSelectType::selected(eListBoxEntryMenu *entry)
+@@ -989,6 +992,22 @@
+ }
+ }
+
++
++struct countTransponders
++{
++ int &m_cnt;
++ countTransponders(int &cnt)
++ :m_cnt(cnt)
++ {
++ m_cnt=0;
++ }
++ void operator()(eTransponder &t)
++ {
++ ++m_cnt;
++ }
++};
++
++
+ int TransponderScan::Exec()
+ {
+ tState state = stateInitial;
+@@ -1335,6 +1354,20 @@
+ state=stateDone;
+ break;
+ }
++ case stateBlind:
++ {
++ int tp_count_old, tp_count_new;
++ eTransponderList::getInstance()->forEachTransponder(countTransponders(tp_count_old));
++ eWindow::globalCancel(eWindow::ON);
++ hide();
++ eZapPlugins(2).execPluginByName("enigma_blindscan.cfg");
++ show();
++ state=stateEnd;
++ eWindow::globalCancel(eWindow::OFF);
++ eTransponderList::getInstance()->forEachTransponder(countTransponders(tp_count_new));
++ ret=tp_count_new > tp_count_old ? 0 : 1;
++ break;
++ }
+ case stateScan:
+ {
+ if ( eSystemInfo::getInstance()->getFEType() == eSystemInfo::feSatellite )
+Index: src/scan.h
+===================================================================
+RCS file: /cvs/tuxbox/apps/tuxbox/b/src/scan.h,v
+retrieving revision 1.38
+diff -u -r1.38 scan.h
+--- a/src/scan.h 20 Feb 2007 21:57:05 -0000 1.38
++++ b/src/scan.h 21 Aug 2007 17:08:27 -0000
+@@ -172,6 +172,7 @@
+ stateManual,
+ stateAutomatic,
+ stateMulti,
++ stateBlind,
+ stateScan,
+ stateMultiScan,
+ stateDone,
+diff -Naur a/include/lib/dvb/frontend.h b/include/lib/dvb/frontend.h
+--- a/include/lib/dvb/frontend.h 2007-08-21 22:04:22.000000000 +0200
++++ b/include/lib/dvb/frontend.h 2007-08-24 00:59:42.000000000 +0200
+@@ -112,6 +112,7 @@
+ voltage,
+ increased;
+ ///////////////////
++ bool m_canBlindScan;
+ #if HAVE_DVB_API_VERSION < 3
+ FrontendParameters front;
+ #else
+@@ -157,6 +158,7 @@
+ static eFrontend *getInstance() { return frontend; }
+
+ int Type() { return type; }
++ int canBlindScan() { return m_canBlindScan; }
+
+ int Status();
+ int Locked() { return Status()&FE_HAS_LOCK; }
+diff -Naur a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp
+--- a/lib/dvb/frontend.cpp 2007-08-21 22:04:22.000000000 +0200
++++ b/lib/dvb/frontend.cpp 2007-08-24 01:00:13.000000000 +0200
+@@ -42,7 +42,7 @@
+ #endif
+ checkRotorLockTimer(eApp), checkLockTimer(eApp),
+ updateTransponderTimer(eApp), sn(0), noRotorCmd(0),
+- idlePowerInput_l(0), idlePowerInput_h(0)
++ idlePowerInput_l(0), idlePowerInput_h(0), m_canBlindScan(false)
+ {
+ CONNECT(rotorTimer1.timeout, eFrontend::RotorStartLoop );
+ CONNECT(rotorTimer2.timeout, eFrontend::RotorRunningLoop );
+@@ -99,6 +99,27 @@
+ curContTone = curVoltage = -1;
+ #endif
+ needreset = 2;
++
++// check if tuner can blindscan
++ if (type == eSystemInfo::feSatellite)
++ {
++ FILE *f=fopen("/proc/bus/nim_sockets", "rt");
++ while (f)
++ {
++ char buffer[128];
++ if (!fgets(buffer, 128, f))
++ {
++ fclose(f);
++ break;
++ }
++ if (strstr(buffer, "Name:") && strstr(buffer, "Alps -S(STV0288)"))
++ {
++ m_canBlindScan=true;
++ fclose(f);
++ break;
++ }
++ }
++ }
+ }
+
+ void eFrontend::checkLock()
--- /dev/null
+diff -Naur enigma/Makefile.am enigma_boot/Makefile.am
+--- enigma/Makefile.am 2005-09-28 10:49:03.000000000 +0200
++++ enigma_boot/Makefile.am 2005-10-31 11:29:55.000000000 +0100
+@@ -1,3 +1,3 @@
+ AUTOMAKE_OPTIONS = gnu
+
+-SUBDIRS = include lib src po data doc boot
++SUBDIRS = include lib src po data doc
--- /dev/null
+--- enigma-org/lib/dvb/dvbscan.cpp 11 Oct 2005 20:34:36 -0000 1.34
++++ enigma/lib/dvb/dvbscan.cpp 29 Apr 2008 14:43:47 -0000
+@@ -244,11 +244,15 @@
+ break;
+ }
+ }
+-
++
+ eDVBNamespace dvb_namespace =
+ tp.satellite.isValid()
+ ?eTransponder::buildNamespace(onid,tsid,tp.satellite.orbital_position,tp.satellite.frequency, tp.satellite.polarisation)
+- :-1;
++ :tp.cable.isValid()
++ ?eTransponder::buildNamespace(onid,tsid, 0xFFFF, tp.cable.frequency, 0)
++ :tp.terrestrial.isValid()
++ ?eTransponder::buildNamespace(onid,tsid, 0xEEEE, tp.terrestrial.centre_frequency/1000, 0)
++ :-1; // should not happen
+
+ tp.dvb_namespace=dvb_namespace;
+
+@@ -390,14 +394,17 @@
+ // build "namespace" to work around buggy satellites
+ if (transponder->satellite.valid)
+ dvb_namespace=eTransponder::buildNamespace(onid, tsid, transponder->satellite.orbital_position, transponder->satellite.frequency, transponder->satellite.polarisation);
++ else if (transponder->cable.valid)
++ dvb_namespace=eTransponder::buildNamespace(onid, tsid, 0xFFFF, transponder->cable.frequency, 0);
++ else if (transponder->terrestrial.valid)
++ dvb_namespace=eTransponder::buildNamespace(onid, tsid, 0xEEEE, transponder->terrestrial.centre_frequency/1000, 0);
+ else
+- dvb_namespace=0;
++ dvb_namespace=0; // should not happen!
+
+ transponder->dvb_namespace=dvb_namespace;
+
+ eTransponder *tmp = 0;
+- if ( transponder->satellite.valid &&
+- dvb_namespace.get() & 0xFFFF ) // feeds.. scpc.. or muxxers with default values
++ if ( dvb_namespace.get() & 0xFFFF ) // feeds.. scpc.. or muxxers with default values
+ {
+ eDebug("[SCAN] SCPC detected... compare complete transponder");
+ // we must search transponder via freq pol usw..
+--- enigma-org/src/scan.cpp 17 Dec 2007 15:09:13 -0000 1.93
++++ enigma/src/scan.cpp 29 Apr 2008 14:44:15 -0000
+@@ -2004,8 +2004,16 @@
+ transponder.satellite.orbital_position,
+ transponder.satellite.frequency,
+ transponder.satellite.polarisation);
+- else
+- dvb_namespace=0;
++ else if (transponder.cable.valid)
++ dvb_namespace=eTransponder::buildNamespace(onid, tsid,
++ 0xFFFF,
++ transponder.cable.frequency,
++ 0);
++ else if (transponder.terrestrial.valid)
++ dvb_namespace=eTransponder::buildNamespace(onid, tsid,
++ 0xEEEE,
++ transponder.terrestrial.centre_frequency/1000, // centre_freq is in hz
++ 0);
+
+ transponder.dvb_namespace=dvb_namespace;
+
--- /dev/null
+#!/bin/sh
+
+/usr/bin/showiframe /boot/backdrop.mvi
+
+init=0
+/usr/bin/boot || init=1
+if [ $init -eq 1 ] ; then
+ rm -R /etc/enigma
+fi
+
+if [ ! -e /etc/enigma ] ; then
+ cp -R /usr/share/enigma/default /etc/enigma
+fi
+
+/usr/bin/enigma
+
+ret=$?
+case $ret in
+ 0)
+ /sbin/halt
+ ;;
+ 4)
+ /sbin/reboot
+ ;;
+ *)
+ ;;
+esac
+
--- /dev/null
+#!/bin/sh
+PID=`pidof tuxmaild`
+if [ $PID ]; then
+ /etc/init.d/tuxmail pause;
+fi
\ No newline at end of file
--- /dev/null
+#!/bin/sh
+PID=`pidof tuxmaild`
+if [ $PID ]; then
+ /etc/init.d/tuxmail pause;
+fi
\ No newline at end of file
--- /dev/null
+diff -Naur enigma/include/lib/dvb/epgcache.h enigma_fix/include/lib/dvb/epgcache.h
+--- enigma/include/lib/dvb/epgcache.h 2008-02-18 17:35:38.000000000 +0100
++++ enigma_fix/include/lib/dvb/epgcache.h 2008-02-18 17:06:58.000000000 +0100
+@@ -315,7 +315,7 @@
+
+ int state;
+ __u8 isRunning, firstStart, haveData;
+- void FixOverlapping(std::pair<eventMap,timeMap> &, time_t, int, const timeMap::iterator &, const uniqueEPGKey &);
++ bool FixOverlapping(std::pair<eventMap,timeMap> &, time_t, int, const timeMap::iterator &, const uniqueEPGKey &);
+ int sectionRead(__u8 *data, int source);
+ static eEPGCache *instance;
+
+diff -Naur enigma/lib/dvb/epgcache.cpp enigma_fix/lib/dvb/epgcache.cpp
+--- enigma/lib/dvb/epgcache.cpp 2008-02-18 17:35:38.000000000 +0100
++++ enigma_fix/lib/dvb/epgcache.cpp 2008-02-18 17:34:01.000000000 +0100
+@@ -325,7 +325,7 @@
+ int sid = data[ptr++] << 8;
+ sid |= data[ptr++];
+
+-// WORKAROUND for wrong transmitted epg data (01.08.2006)
++// WORKAROUND for wrong transmitted epg data (01.10.2007)
+ if ( onid == 0x85 )
+ {
+ switch( (tsid << 16) | sid )
+@@ -336,6 +336,7 @@
+ case 0x0300f5: sid = 0xdc; break;
+ case 0x0400d2: sid = 0xe2; tsid = 0x11; break;
+ case 0x1100d3: sid = 0xe3; break;
++ case 0x0100d4: sid = 0xe4; tsid = 4; break;
+ }
+ }
+ ////////////////////////////////////////////
+@@ -448,8 +449,9 @@
+ }
+ #endif // ENABLE_PRIVATE_EPG
+
+-void eEPGCache::FixOverlapping(std::pair<eventMap,timeMap> &servicemap, time_t TM, int duration, const timeMap::iterator &tm_it, const uniqueEPGKey &service)
++bool eEPGCache::FixOverlapping(std::pair<eventMap,timeMap> &servicemap, time_t TM, int duration, const timeMap::iterator &tm_it, const uniqueEPGKey &service)
+ {
++ bool ret = false;
+ timeMap::iterator tmp = tm_it;
+ while ((tmp->first+tmp->second->getDuration()-300) > TM)
+ {
+@@ -464,6 +466,20 @@
+ {
+ __u16 event_id = tmp->second->getEventID();
+ servicemap.first.erase(event_id);
++#ifdef EPG_DEBUG
++ {
++ EITEvent evt((eit_event_struct *)tmp->second->get(), service.tsid<<16|service.onid);
++ char tmp[255];
++ struct tm t;
++ localtime_r(&evt.start_time, &t);
++ snprintf(tmp, 255, "%08x(%d), %d seconds, %02d.%02d, %02d:%02d",
++ evt.event_id, evt.event_id,
++ evt.duration,
++ t.tm_mday, t.tm_mon+1,
++ t.tm_hour, t.tm_min);
++ eDebug("(1)erase no more used event %s", tmp);
++ }
++#endif
+ delete tmp->second;
+ if (tmp == servicemap.second.begin())
+ {
+@@ -472,6 +488,7 @@
+ }
+ else
+ servicemap.second.erase(tmp--);
++ ret = true;
+ }
+ else
+ {
+@@ -495,14 +512,30 @@
+ {
+ __u16 event_id = tmp->second->getEventID();
+ servicemap.first.erase(event_id);
++#ifdef EPG_DEBUG
++ {
++ EITEvent evt((eit_event_struct *)tmp->second->get(), service.tsid<<16|service.onid);
++ char tmp[255];
++ struct tm t;
++ localtime_r(&evt.start_time, &t);
++ snprintf(tmp, 255, "%08x(%d), %d seconds, %02d.%02d, %02d:%02d",
++ evt.event_id, evt.event_id,
++ evt.duration,
++ t.tm_mday, t.tm_mon+1,
++ t.tm_hour, t.tm_min);
++ eDebug("(2)erase no more used event %s", tmp);
++ }
++#endif
+ delete tmp->second;
+ servicemap.second.erase(tmp++);
++ ret = true;
+ }
+ else
+ ++tmp;
+ if (tmp == servicemap.second.end())
+ break;
+ }
++ return ret;
+ }
+
+ int eEPGCache::sectionRead(__u8 *data, int source)
+@@ -560,7 +593,11 @@
+ if ( data[ptr-1] < 0x40 )
+ --ptr;
+
+- uniqueEPGKey service( HILO(eit->service_id), HILO(eit->original_network_id), HILO(eit->transport_stream_id) );
++ // Cablecom HACK.. for incorrect tsid/onid in eit data
++ bool use_transponder_chid = source == SCHEDULE || (source == NOWNEXT && data[0] == 0x4E);
++ uniqueEPGKey service( HILO(eit->service_id),
++ use_transponder_chid ? current_service.onid : HILO(eit->original_network_id),
++ use_transponder_chid ? current_service.tsid : HILO(eit->transport_stream_id) );
+
+ eit_event_struct* eit_event = (eit_event_struct*) (data+ptr);
+ int eit_event_size;
+@@ -658,7 +695,11 @@
+ eventData *tmp = ev_it->second;
+ ev_it->second = tm_it_tmp->second =
+ new eventData(eit_event, eit_event_size, source);
+- FixOverlapping(servicemap, TM, duration, tm_it_tmp, service);
++ if (FixOverlapping(servicemap, TM, duration, tm_it_tmp, service))
++ {
++ prevEventIt = servicemap.first.end();
++ prevTimeIt = servicemap.second.end();
++ }
+ delete tmp;
+ goto next;
+ }
+@@ -730,8 +771,6 @@
+ tm_it=prevTimeIt=servicemap.second.insert( prevTimeIt, std::pair<const time_t, eventData*>( TM, evt ) );
+ }
+
+- FixOverlapping(servicemap, TM, duration, tm_it, service);
+-
+ #if EPG_DEBUG
+ if ( consistencyCheck )
+ {
+@@ -751,6 +790,11 @@
+ ev_it->first, event_id );
+ }
+ #endif
++ if (FixOverlapping(servicemap, TM, duration, tm_it, service))
++ {
++ prevEventIt = servicemap.first.end();
++ prevTimeIt = servicemap.second.end();
++ }
+ }
+ next:
+ #if EPG_DEBUG
--- /dev/null
+i:/elitedvb/audio/ac3default=00000000
+i:/ezap/lcd/brightness=00000087
+i:/ezap/lcd/contrast=0000000a
+i:/ezap/lcd/inverted=00000000
+i:/ezap/rc/repeatRate=00000025
+i:/ezap/serviceselector/showButtons=00000001
+u:/elitedvb/video/vcr_switching=00000000
+u:/ezap/rc/TextInputField/nextCharTimeout=00000320
+i:/enigma/plugins/needoffsets/bottom=00000221
+i:/enigma/plugins/needoffsets/left=0000002c
+i:/enigma/plugins/needoffsets/right=000002a3
+i:/enigma/plugins/needoffsets/top=0000001d
--- /dev/null
+#NAME Favourites (TV)
+#SERVICE: 1:0:1:6DCA:44D:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6D66:437:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6DCC:44D:1:C00000:0:0:0:
+#SERVICE: 1:0:1:2EE3:441:1:C00000:0:0:0:
+#SERVICE: 1:0:1:445C:453:1:C00000:0:0:0:
+#SERVICE: 1:0:1:2EF4:441:1:C00000:0:0:0:
+#SERVICE: 1:0:1:445D:453:1:C00000:0:0:0:
+#SERVICE: 1:0:1:445E:453:1:C00000:0:0:0:
+#SERVICE: 1:0:1:33:21:85:C00000:0:0:0:
+#SERVICE: 1:0:1:701:5:85:C00000:0:0:0:
+#SERVICE: 1:0:1:2F1C:441:1:C00000:0:0:0:
+#SERVICE: 1:0:1:7005:436:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6DCD:44D:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6D67:437:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6E29:431:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6E2A:431:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6E2B:431:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6DCB:44D:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6E2C:431:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6E2D:431:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6F46:445:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6DCF:44D:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6E41:431:1:C00000:0:0:0:
+#SERVICE: 1:64:B:0:0:0:0:0:0:0:
+#DESCRIPTION: Doku/Wissen/Themen
+#SERVICE: 1:0:1:6DD0:44D:1:C00000:0:0:0:
+#SERVICE: 1:0:1:4289:446:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6D6E:437:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6D6B:437:1:C00000:0:0:0:
+#SERVICE: 1:0:1:2775:444:1:C00000:0:0:0:
+#SERVICE: 1:0:1:202:7:85:C00000:0:0:0:
+#SERVICE: 1:0:1:293:5:85:C00000:0:0:0:
+#SERVICE: 1:0:1:3158:459:1:C00000:0:0:0:
+#SERVICE: 1:0:1:3138:459:1:C00000:0:0:0:
+#SERVICE: 1:0:1:2FE:5:85:C00000:0:0:0:
+#SERVICE: 1:0:1:6D70:437:1:C00000:0:0:0:
+#SERVICE: 1:0:1:3139:459:1:C00000:0:0:0:
+#SERVICE: 1:0:1:F1CC:421:1:C00000:0:0:0:
+#SERVICE: 1:64:A:0:0:0:0:0:0:0:
+#DESCRIPTION: Sport
+#SERVICE: 1:0:1:384:21:85:C00000:0:0:0:
+#SERVICE: 1:0:1:79E0:443:1:C00000:0:0:0:
+#SERVICE: 1:64:1:0:0:0:0:0:0:0:
+#DESCRIPTION: Kinder
+#SERVICE: 1:0:1:2F08:441:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6D68:437:1:C00000:0:0:0:
+#SERVICE: 1:0:1:7008:436:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6FE0:443:1:C00000:0:0:0:
+#SERVICE: 1:64:2:0:0:0:0:0:0:0:
+#DESCRIPTION: Nachrichten
+#SERVICE: 1:0:1:2F3A:441:1:C00000:0:0:0:
+#SERVICE: 1:0:1:445F:453:1:C00000:0:0:0:
+#SERVICE: 1:0:1:79F4:443:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6DD2:44D:1:C00000:0:0:0:
+#SERVICE: 1:0:1:2F80:454:1:C00000:0:0:0:
+#SERVICE: 1:64:3:0:0:0:0:0:0:0:
+#DESCRIPTION: Regional
+#SERVICE: 1:0:1:3146:459:1:C00000:0:0:0:
+#SERVICE: 1:0:1:300:7:85:C00000:0:0:0:
+#SERVICE: 1:0:1:2778:444:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6F45:445:1:C00000:0:0:0:
+#SERVICE: 1:0:1:277A:444:1:C00000:0:0:0:
+#SERVICE: 1:0:1:2779:444:1:C00000:0:0:0:
+#SERVICE: 1:0:1:2777:444:1:C00000:0:0:0:
+#SERVICE: 1:0:1:32D6:45D:1:C00000:0:0:0:
+#SERVICE: 1:64:4:0:0:0:0:0:0:0:
+#DESCRIPTION: Musik
+#SERVICE: 1:0:1:308:5:85:C00000:0:0:0:
+#SERVICE: 1:0:1:2774:444:1:C00000:0:0:0:
+#SERVICE: 1:0:1:7004:436:1:C00000:0:0:0:
+#SERVICE: 1:0:1:7001:436:1:C00000:0:0:0:
+#SERVICE: 1:0:1:6FE1:443:1:C00000:0:0:0:
+#SERVICE: 1:0:1:2FD:7:85:C00000:0:0:0:
+#SERVICE: 1:0:1:32D5:45D:1:C00000:0:0:0:
+#SERVICE: 1:0:1:277B:444:1:C00000:0:0:0:
+#SERVICE: 1:0:1:332E:45B:1:C00000:0:0:0:
+#SERVICE: 1:0:1:304:5:85:C00000:0:0:0:
+#SERVICE: 1:0:1:702:5:85:C00000:0:0:0:
+#SERVICE: 1:64:5:0:0:0:0:0:0:0:
+#DESCRIPTION: Reisen
+#SERVICE: 1:0:1:20:21:85:C00000:0:0:0:
+#SERVICE: 1:0:1:2FC:5:85:C00000:0:0:0:
+#SERVICE: 1:0:1:301:7:85:C00000:0:0:0:
+#SERVICE: 1:64:9:0:0:0:0:0:0:0:
+#DESCRIPTION: Beratung
+#SERVICE: 1:0:1:295:21:85:C00000:0:0:0:
+#SERVICE: 1:0:1:277C:444:1:C00000:0:0:0:
+#SERVICE: 1:0:1:F9B:454:1:C00000:0:0:0:
+#SERVICE: 1:64:6:0:0:0:0:0:0:0:
+#DESCRIPTION: Einkaufen
+#SERVICE: 1:0:1:2F30:441:1:C00000:0:0:0:
+#SERVICE: 1:0:1:28:21:85:C00000:0:0:0:
+#SERVICE: 1:0:1:79EA:443:1:C00000:0:0:0:
+#SERVICE: 1:0:1:2F44:454:1:C00000:0:0:0:
+#SERVICE: 1:0:1:3148:459:1:C00000:0:0:0:
+#SERVICE: 1:0:1:332D:45B:1:C00000:0:0:0:
+#SERVICE: 1:0:1:36:7:85:C00000:0:0:0:
+#SERVICE: 1:0:1:307:7:85:C00000:0:0:0:
+#SERVICE: 1:0:1:296:5:85:C00000:0:0:0:
+#SERVICE: 1:0:1:F20B:421:1:C00000:0:0:0:
+#SERVICE: 1:0:1:1782:457:1:C00000:0:0:0:
+#SERVICE: 1:64:8:0:0:0:0:0:0:0:
+#DESCRIPTION: Gewinnspiele
+#SERVICE: 1:0:1:381:21:85:C00000:0:0:0:
+#SERVICE: 1:64:7:0:0:0:0:0:0:0:
+#DESCRIPTION: Anzeigen
+#SERVICE: 1:0:1:313C:459:1:C00000:0:0:0:
--- /dev/null
+#NAME Bouquets (TV)
+#SERVICE: 4097:7:0:33fc5:0:0:0:0:0:0:/etc/enigma/userbouquet.33fc5.tv
+#TYPE 16385
+/etc/enigma/userbouquet.33fc5.tv\r
\ No newline at end of file
--- /dev/null
+diff -Naur b/src/rds_text.cpp a/src/rds_text.cpp
+--- b/src/rds_text.cpp 2007-03-25 10:11:18.000000000 +0200
++++ a/src/rds_text.cpp 2007-11-26 13:14:00.000000000 +0100
+@@ -36,7 +36,9 @@
+ sn = new eSocketNotifier(eApp, fd, eSocketNotifier::Read);
+ CONNECT(sn->activated, RDSTextDecoder::process_data);
+ }
+-
++
++ memset(rtp_item, 0, sizeof(rtp_item));
++
+ int x = eSkin::getActive()->queryValue("rds.pos.x", 0);
+ int y = eSkin::getActive()->queryValue("rds.pos.y", 0);
+ int width = eSkin::getActive()->queryValue("rds.pos.width", 0);
+@@ -586,13 +588,19 @@
+
+ unsigned char rtplus_osd_tmp[64];
+
+- memcpy(rtp_item[rtp_typ[0]],lastmessage+rtp_start[0],rtp_len[0]+1);
+- rtp_item[rtp_typ[0]][rtp_len[0]+1]=0;
++ if (rtp_start[0] < 66 && (rtp_len[0]+rtp_start[0]) < 66)
++ {
++ memcpy(rtp_item[rtp_typ[0]],lastmessage+rtp_start[0],rtp_len[0]+1);
++ rtp_item[rtp_typ[0]][rtp_len[0]+1]=0;
++ }
+
+ if (rtp_typ[0] != rtp_typ[1])
+ {
+- memcpy(rtp_item[rtp_typ[1]],lastmessage+rtp_start[1],rtp_len[1]+1);
+- rtp_item[rtp_typ[1]][rtp_len[1]+1]=0;
++ if (rtp_start[1] < 66 && (rtp_len[1]+rtp_start[1]) < 66)
++ {
++ memcpy(rtp_item[rtp_typ[1]],lastmessage+rtp_start[1],rtp_len[1]+1);
++ rtp_item[rtp_typ[1]][rtp_len[1]+1]=0;
++ }
+ }
+
+ // main RTPlus item_types used by the radio stations:
+diff -Naur b/src/rds_text.cpp.patch a/src/rds_text.cpp.patch
+--- b/src/rds_text.cpp.patch 1970-01-01 01:00:00.000000000 +0100
++++ a/src/rds_text.cpp.patch 2007-11-08 23:45:47.000000000 +0100
+@@ -0,0 +1,26 @@
++--- rds_text.cpp.org 2007-03-25 10:11:18.000000000 +0200
+++++ rds_text.cpp 2007-11-08 23:40:37.000000000 +0100
++@@ -586,13 +586,19 @@
++
++ unsigned char rtplus_osd_tmp[64];
++
++- memcpy(rtp_item[rtp_typ[0]],lastmessage+rtp_start[0],rtp_len[0]+1);
++- rtp_item[rtp_typ[0]][rtp_len[0]+1]=0;
+++ if (rtp_start[0] < 66 && (rtp_len[0]+rtp_start[0]) < 66)
+++ {
+++ memcpy(rtp_item[rtp_typ[0]],lastmessage+rtp_start[0],rtp_len[0]+1);
+++ rtp_item[rtp_typ[0]][rtp_len[0]+1]=0;
+++ }
++
++ if (rtp_typ[0] != rtp_typ[1])
++ {
++- memcpy(rtp_item[rtp_typ[1]],lastmessage+rtp_start[1],rtp_len[1]+1);
++- rtp_item[rtp_typ[1]][rtp_len[1]+1]=0;
+++ if (rtp_start[1] < 66 && (rtp_len[1]+rtp_start[1]) < 66)
+++ {
+++ memcpy(rtp_item[rtp_typ[1]],lastmessage+rtp_start[1],rtp_len[1]+1);
+++ rtp_item[rtp_typ[1]][rtp_len[1]+1]=0;
+++ }
++ }
++
++ // main RTPlus item_types used by the radio stations:
--- /dev/null
+diff -Naur enigma_org/include/lib/dvb/frontend.h enigma/include/lib/dvb/frontend.h
+--- enigma_org/include/lib/dvb/frontend.h 2007-08-06 22:54:26.000000000 +0200
++++ enigma/include/lib/dvb/frontend.h 2007-08-06 22:47:44.000000000 +0200
+@@ -74,41 +74,43 @@
+ class eFrontend: public Object
+ {
+ int type,
+- fd,
++ fd,
+ #if HAVE_DVB_API_VERSION < 3
+- secfd,
++ secfd,
+ #else
+- curContTone,
+- curVoltage,
++ curContTone,
++ curVoltage,
+ #endif
+- needreset,
+- lastcsw,
+- lastucsw,
+- lastToneBurst,
+- lastRotorCmd,
+- lastSmatvFreq,
+- curRotorPos; // current Orbital Position
++ needreset,
++ lastcsw,
++ lastucsw,
++ lastToneBurst,
++ lastRotorCmd,
++ lastSmatvFreq,
++ curRotorPos; // current Orbital Position
+
+ eLNB *lastLNB;
+ eTransponder *transponder;
+ static eFrontend *frontend;
+ eTimer rotorTimer1, rotorTimer2,
+ #if HAVE_DVB_API_VERSION >=3
+- timeout,
++ timeout,
+ #endif
+- checkRotorLockTimer, checkLockTimer, updateTransponderTimer;
++ checkRotorLockTimer, checkLockTimer, updateTransponderTimer;
+ eSocketNotifier *sn;
+ int tries, noRotorCmd, wasLoopthrough, lostlockcount;
+ Signal1<void, eTransponder*> tpChanged;
+ // ROTOR INPUTPOWER
+ timeval rotorTimeout;
+- int idlePowerInput;
+- int runningPowerInput;
+- int newPos;
++ int idlePowerInput_l,
++ idlePowerInput_h,
++ runningPowerInput,
++ newPos,
++ voltageState;
+ // Non blocking rotor turning
+ int DeltaA,
+- voltage,
+- increased;
++ voltage,
++ increased;
+ ///////////////////
+ #if HAVE_DVB_API_VERSION < 3
+ FrontendParameters front;
+diff -Naur enigma_org/lib/dvb/frontend.cpp enigma/lib/dvb/frontend.cpp
+--- enigma_org/lib/dvb/frontend.cpp 2007-08-06 22:54:26.000000000 +0200
++++ enigma/lib/dvb/frontend.cpp 2007-08-06 22:55:48.000000000 +0200
+@@ -29,6 +29,10 @@
+
+ eFrontend* eFrontend::frontend;
+
++#ifndef I2C_SLAVE_FORCE
++#define I2C_SLAVE_FORCE 0x0706
++#endif
++
+ eFrontend::eFrontend(int type, const char *demod, const char *sec)
+ :type(type),
+ curRotorPos(10000), transponder(0), rotorTimer1(eApp),
+@@ -37,7 +41,8 @@
+ timeout(eApp),
+ #endif
+ checkRotorLockTimer(eApp), checkLockTimer(eApp),
+- updateTransponderTimer(eApp), sn(0), noRotorCmd(0)
++ updateTransponderTimer(eApp), sn(0), noRotorCmd(0),
++ idlePowerInput_l(0), idlePowerInput_h(0)
+ {
+ CONNECT(rotorTimer1.timeout, eFrontend::RotorStartLoop );
+ CONNECT(rotorTimer2.timeout, eFrontend::RotorRunningLoop );
+@@ -112,6 +117,40 @@
+ }
+ }
+
++#define STATIC 0
++#define DYNAMIC 1
++void setCurrentLimitingMode(int mode)
++{
++#if HAVE_DVB_API_VERSION < 3
++#warning FIXME setCurrentLimitingMode just for frontends with LNBP21
++ if ( eSystemInfo::getInstance()->getHwType() == eSystemInfo::DM7020
++ || eSystemInfo::getInstance()->getHwType() == eSystemInfo::DM500PLUS
++ || eSystemInfo::getInstance()->getHwType() == eSystemInfo::DM600PVR )
++ {
++ int fd=::open("/dev/i2c/0", O_RDWR);
++ if ( fd >= 0 )
++ {
++ unsigned char data[2];
++ ::ioctl(fd, I2C_SLAVE_FORCE, 0x10 >> 1);
++ if(::read(fd, data, 1) != 1)
++ eDebug("error read lnbp (%m)");
++ else
++ {
++ if (mode == STATIC)
++ data[0] |= 0x80; // set static current limiting
++ else
++ data[0] &= ~0x80; // set dynamic current limiting
++ if(::write(fd, data, 1) != 1)
++ eDebug("error write lnbp (%m)");
++ }
++ ::close(fd);
++ }
++ else
++ eDebug("couldn't open /dev/i2c/0 (%m)");
++ }
++#endif
++}
++
+ void eFrontend::checkRotorLock()
+ {
+ if (!transponder)
+@@ -130,6 +166,7 @@
+ {
+ eDebug("[FE] rotor has stopped..");
+ curRotorPos=newPos;
++ setCurrentLimitingMode(DYNAMIC);
+ /*emit*/ tunedIn(transponder, 0);
+ // eDebug("!!!!!!!!!!!!!!!! TUNED IN OK 1 !!!!!!!!!!!!!!!!");
+ if ( !eDVB::getInstance()->getScanAPI() )
+@@ -832,7 +869,10 @@
+ seq.voltage=SEC_VOLTAGE_OFF;
+ break;
+ }
+- return ::ioctl(secfd, SEC_SEND_SEQUENCE, &seq);
++ int ret = ::ioctl(secfd, SEC_SEND_SEQUENCE, &seq);
++ if ( ret < 0 )
++ eDebug("SEC_SEND_SEQUENCE failed(%m)");
++ return ret;
+ }
+ #else
+ int eFrontend::SendSequence( const eSecCmdSequence &seq )
+@@ -1033,10 +1073,7 @@
+ // send DiSEqC Sequence ( normal diseqc switches )
+ seq.continuousTone = eSecCmdSequence::TONE_OFF;
+ if ( SendSequence(seq) < 0 )
+- {
+- eDebug("SendSequence failed (%m)");
+ return -1;
+- }
+ else if ( lnb->getDiSEqC().SeqRepeat ) // Sequence Repeat selected ?
+ {
+ usleep( 100000 ); // between seq repeats we wait 75ms
+@@ -1048,6 +1085,7 @@
+ usleep( 100000 ); // wait 100ms
+
+ // send DiSEqC Sequence (Rotor)
++ setCurrentLimitingMode(STATIC);
+ seq.commands=&commands[seq.numCommands]; // last command is rotor cmd... see above...
+ seq.numCommands=1; // only rotor cmd
+ seq.toneBurst = eSecCmdSequence::NONE;
+@@ -1072,7 +1110,6 @@
+ #else
+ dvb_diseqc_master_cmd *commands = seq.commands;
+ #endif
+- idlePowerInput=0;
+ runningPowerInput=0;
+ int secTone = seq.continuousTone;
+
+@@ -1086,14 +1123,12 @@
+
+ seq.continuousTone=SEC_TONE_OFF;
+ if ( SendSequence(seq) < 0 )
+- {
+- eDebug("SendSequence failed (%m)");
+ return -2;
+- }
+ else if ( lnb->getDiSEqC().SeqRepeat ) // Sequence Repeat selected ?
+ {
+ usleep( 100000 ); // between seq repeats we wait 100ms
+- SendSequence(seq); // then repeat the cmd
++ if ( SendSequence(seq) < 0 )
++ return -2;
+ }
+
+ if ( lastLNB != lnb )
+@@ -1103,15 +1138,48 @@
+ }
+ else
+ {
+- usleep( 100*1000 ); // wait 100ms
+-// eDebug("sleep 100ms");
++ usleep( 50*1000 ); // wait 50ms
++// eDebug("sleep 50ms");
++ }
++
++ // get power input of Rotor on idle 13V .. only working with a dreambox
++ if ( !idlePowerInput_l )
++ {
++ idlePowerInput_l = readInputPower();
++ if ( idlePowerInput_l < 0 )
++ return idlePowerInput_l;
++// eDebug("idle power input l = %dmA", idlePowerInput_l );
+ }
+
+-// get power input of Rotor on idle not work on dbox yet .. only dreambox
+- idlePowerInput = readInputPower();
+- if ( idlePowerInput < 0 )
+- return idlePowerInput;
+-// eDebug("idle power input = %dmA", idlePowerInput );
++ setCurrentLimitingMode(STATIC);
++
++ // get power input of Rotor on idle 18V .. only working with a dreambox
++ if ( !idlePowerInput_h)
++ {
++#if HAVE_DVB_API_VERSION < 3
++ if (::ioctl(secfd, SEC_SET_VOLTAGE, increased ? SEC_VOLTAGE_18_5 : SEC_VOLTAGE_18) < 0 )
++ eDebug("SEC_SET_VOLTAGE failed (%m)");
++#else
++ if ( ::ioctl(fd, FE_SET_VOLTAGE, SEC_VOLTAGE_18) < 0 )
++ eDebug("FE_SET_VOLTAGE failed (%m)");
++#endif
++ usleep( 50*1000 ); // wait 50ms
++ idlePowerInput_h = readInputPower();
++ if ( idlePowerInput_h < 0 )
++ {
++ setCurrentLimitingMode(DYNAMIC);
++ return idlePowerInput_h;
++ }
++// eDebug("idle power input h = %dmA", idlePowerInput_h );
++#if HAVE_DVB_API_VERSION < 3
++ if (::ioctl(secfd, SEC_SET_VOLTAGE, increased ? SEC_VOLTAGE_13_5 : SEC_VOLTAGE_13) < 0 )
++ eDebug("SEC_SET_VOLTAGE failed (%m)");
++#else
++ if ( ::ioctl(fd, FE_SET_VOLTAGE, SEC_VOLTAGE_13) < 0 )
++ eDebug("FE_SET_VOLTAGE failed (%m)");
++#endif
++ usleep( 50*1000 ); // wait 50ms
++ }
+
+ // send DiSEqC Sequence (Rotor)
+ seq.commands=&commands[seq.numCommands]; // last command is rotor cmd... see above...
+@@ -1122,7 +1190,7 @@
+ seq.continuousTone=secTone;
+ if ( SendSequence(seq) < 0 )
+ {
+- eDebug("SendSequence failed (%m)");
++ setCurrentLimitingMode(DYNAMIC);
+ return -2;
+ }
+ // set rotor start timeout // 2 sek..
+@@ -1147,11 +1215,14 @@
+ {
+ runningPowerInput = readInputPower();
+ if ( runningPowerInput < 0 )
++ {
++ setCurrentLimitingMode(DYNAMIC);
+ return;
++ }
+ // eDebug("running %d mA", runningPowerInput);
+ // eDebug("delta %d mA", DeltaA);
+
+- if ( abs(runningPowerInput-idlePowerInput ) >= (DeltaA&0xFF) ) // rotor running ?
++ if ( abs(runningPowerInput-idlePowerInput_l ) >= (DeltaA&0xFF) ) // rotor running ?
+ {
+ if ( (DeltaA & 0x200) == 0x200 )
+ {
+@@ -1182,17 +1253,43 @@
+ {
+ timeval now;
+ gettimeofday(&now,0);
++
++ if ( voltageState == eSecCmdSequence::VOLTAGE_13 )
++ {
++ timeval tmp = rotorTimeout - now;
++ int timeout_msek = tmp.tv_sec * 1000 + tmp.tv_usec / 1000;
++ if ( timeout_msek < 149700 ) // rotor running at least 300msek?
++ {
++ // then switch to higher voltage
++#if HAVE_DVB_API_VERSION < 3
++ if (::ioctl(secfd, SEC_SET_VOLTAGE, increased ? SEC_VOLTAGE_18_5 : SEC_VOLTAGE_18) < 0 )
++ eDebug("SEC_SET_VOLTAGE failed (%m)");
++#else
++ if ( ::ioctl(fd, FE_SET_VOLTAGE, voltage) < 0 )
++ eDebug("FE_SET_VOLTAGE failed (%m)");
++ curVoltage = voltage;
++#endif
++ voltageState = eSecCmdSequence::VOLTAGE_18;
++ }
++ }
++
+ if ( rotorTimeout < now )
+ {
+ eDebug("Rotor timeouted :-(");
+ /* emit */ s_RotorTimeout();
++ setCurrentLimitingMode(DYNAMIC);
+ }
+ else
+ {
++ int &idlePowerInput = (voltageState == eSecCmdSequence::VOLTAGE_13) ? idlePowerInput_l : idlePowerInput_h;
++
+ runningPowerInput = readInputPower();
+ if ( runningPowerInput < 0 )
++ {
++ setCurrentLimitingMode(DYNAMIC);
+ return;
+-// eDebug("running %d mA", runningPowerInput);
++ }
++ // eDebug("running %d mA, idle %d mA", runningPowerInput, idlePowerInput);
+
+ if ( abs( idlePowerInput-runningPowerInput ) <= (DeltaA&0xFF) ) // rotor stoped ?
+ {
+@@ -1216,7 +1313,8 @@
+ {
+ if (type != eSystemInfo::feSatellite)
+ return;
+- if ( eSystemInfo::getInstance()->canMeasureLNBCurrent() == 1 )
++ setCurrentLimitingMode(DYNAMIC);
++ if ( voltageState == eSecCmdSequence::VOLTAGE_18 )
+ {
+ if ( voltage != eSecCmdSequence::VOLTAGE_18 )
+ #if HAVE_DVB_API_VERSION < 3
+@@ -1228,7 +1326,7 @@
+ curVoltage = voltage;
+ #endif
+ }
+- else // can only measure with lower lnb voltage ( 13V )
++ else
+ {
+ if ( voltage != eSecCmdSequence::VOLTAGE_13 )
+ #if HAVE_DVB_API_VERSION < 3
+@@ -1466,7 +1564,10 @@
+ checkLockTimer.stop();
+
+ if ( curRotorPos > 11000 )
++ {
+ curRotorPos = 11000;
++ setCurrentLimitingMode(DYNAMIC);
++ }
+
+ // eDebug("ROTOR STOPPED 1");
+ /* emit */ s_RotorStopped();
+@@ -1886,16 +1987,10 @@
+ commands[cmdCount-1].u.diseqc.params[1]);
+ #endif
+
+- // drive rotor with 18V when we can measure inputpower
+- // or we know which orbital pos currently is selected
++ // when we can measure inputpower we start rotor turning with 13V
+ if ( lnb->getDiSEqC().useRotorInPower&1 )
+- {
+- if ( eSystemInfo::getInstance()->canMeasureLNBCurrent() == 1 ) // can measure with voltage > 13V ?
+- seq.voltage = eSecCmdSequence::VOLTAGE_18;
+- else
+- seq.voltage = eSecCmdSequence::VOLTAGE_13;
+- }
+- else
++ voltageState = seq.voltage = eSecCmdSequence::VOLTAGE_13;
++ else // without measure input power we must start with the correct voltage
+ seq.voltage = voltage;
+
+ lastRotorCmd=RotorCmd;
+@@ -1926,14 +2021,12 @@
+ send:
+ seq.voltage=voltage;
+ if ( SendSequence(seq) < 0 )
+- {
+- eDebug("SendSequence failed (%m)");
+ return -1;
+- }
+ else if ( lnb->getDiSEqC().DiSEqCMode >= eDiSEqC::V1_1 && lnb->getDiSEqC().SeqRepeat ) // Sequence Repeat ?
+ {
+ usleep( 100000 ); // between seq repeats we wait 80ms
+- SendSequence(seq); // just do it *g*
++ if ( SendSequence(seq) < 0 )
++ return -1;
+ }
+ }
+ else if ( lastcsw != csw )
+@@ -2083,10 +2176,7 @@
+ seq.continuousTone = eSecCmdSequence::TONE_OFF;
+ seq.toneBurst = eSecCmdSequence::NONE;
+ if (SendSequence(seq) < 0 )
+- {
+- eDebug("SendSequence failed (%m)");
+ return -1;
+- }
+ }
+ if ( ioctl(fd, FE_SET_POWER_STATE, FE_POWER_OFF) < 0 )
+ eDebug("FE_SET_POWER_STATE failed (%m)");
+diff -Naur enigma_org/lib/system/info.cpp enigma/lib/system/info.cpp
+--- enigma_org/lib/system/info.cpp 2007-08-06 22:54:26.000000000 +0200
++++ enigma/lib/system/info.cpp 2007-08-06 22:47:44.000000000 +0200
+@@ -177,19 +177,8 @@
+ midstr="9";
+ modelstr="DM7020";
+ cpustr="STB04500, 252MHz";
+- hasrfmod = hashdd = haslcd = hasci
+- = canrecordts = hasstandbywakeuptimer = cantimeshift = 1;
+- // check if the box revision is new enough to measure
+- // lnb power with > 13V ( revisions with lnbp21 can this )
+- int fd = open("/dev/dbox/fp0", O_RDWR);
+- if ( fd >=0 )
+- {
+- if ( ::ioctl( fd, 0x100, 0 ) == 0 )
+- canmeasurelnbcurrent=1;
+- else
+- canmeasurelnbcurrent=2;
+- close(fd);
+- }
++ hasrfmod = hashdd = haslcd = hasci = canrecordts =
++ hasstandbywakeuptimer = cantimeshift = canmeasurelnbcurrent = 1;
+ hwtype = DM7020;
+ defaulttimertype=ePlaylistEntry::RecTimerEntry|ePlaylistEntry::recDVR;
+ break;
--- /dev/null
+--- enigma_org/lib/dvb/subtitle.cpp 2 Aug 2005 20:35:36 -0000 1.13
++++ enigma/lib/dvb/subtitle.cpp 21 Nov 2007 11:52:51 -0000
+@@ -337,6 +337,19 @@
+ delete page->page_regions;
+ page->page_regions = p;
+ }
++ while (page->regions)
++ {
++ struct subtitle_region *p = page->regions->next;
++ while(page->regions->region_objects)
++ {
++ subtitle_region_object *ob = page->regions->region_objects->next;
++ delete page->regions->region_objects;
++ page->regions->region_objects = ob;
++ }
++ delete [] page->regions->region_buffer;
++ delete page->regions;
++ page->regions = p;
++ }
+ }
+
+ // eDebug("new page.. (%d)", page_state);
+@@ -352,7 +365,14 @@
+ // go to last entry
+ while (*r)
+ r = &(*r)->next;
+-
++
++ if (processed_length == segment_length && !page->page_regions)
++ {
++// eDebug("no regions in page.. clear screen!!");
++ if (sub->screen_enabled)
++ subtitle_redraw_all(sub);
++ }
++
+ while (processed_length < segment_length)
+ {
+ struct subtitle_page_region *pr;
+@@ -763,20 +783,16 @@
+ #if 1
+ struct subtitle_page *page = sub->pages;
+ if ( page )
+- {
+- struct subtitle_page_region *region = page->page_regions;
+- if ( region )
+- subtitle_clear_screen(sub);
+- }
++ subtitle_clear_screen(sub);
+ while(page)
+ {
+ subtitle_redraw(sub, page->page_id);
+ page = page->next;
+ }
+ #else
+- subtitle_clear_screen(sub);
+-
+ struct subtitle_page *page = sub->pages;
++ if ( page )
++ subtitle_clear_screen(sub);
+ //eDebug("----------- end of display set");
+ //eDebug("active pages:");
+ while (page)
+@@ -878,7 +894,6 @@
+ return;
+ }
+
+-
+ //eDebug("iterating regions..");
+ /* iterate all regions in this pcs */
+ struct subtitle_page_region *region = page->page_regions;
+@@ -902,20 +917,19 @@
+ {
+ if (main_clut_id != clut_id)
+ {
+-// eDebug("MULTIPLE CLUTS IN USE! prepare for pixelmuell!");
++ eDebug("MULTIPLE CLUTS IN USE! prepare for pixelmuell!");
+ // exit(0);
+ }
+ }
+ main_clut_id = clut_id;
+
+-
+- //eDebug("copy region %d to %d, %d", region->region_id, region->region_horizontal_address, region->region_vertical_address);
+-
+ int x0 = region->region_horizontal_address;
+ int y0 = region->region_vertical_address;
+ int x1 = x0 + reg->region_width;
+ int y1 = y0 + reg->region_height;
+-
++
++ //eDebug("copy region %d to %d, %d, size %d %d", region->region_id, x0, y0, x1, y1);
++
+ if ((x0 < 0) || (y0 < 0) || (x0 > sub->screen_width) || (x0 > sub->screen_height))
+ continue;
+
+--- enigma_org/lib/dvb/subtitling.cpp 2 Aug 2005 20:35:36 -0000 1.12
++++ enigma/lib/dvb/subtitling.cpp 21 Nov 2007 11:52:51 -0000
+@@ -67,26 +67,26 @@
+ unsigned long long current = 0;
+ if (Decoder::getSTC(current))
+ eDebug("bloed, going unsyced");
+- eDebug("DEMUX STC: %08llx\n", current);
++ eDebug("DEMUX STC: %08llx", current);
+
+ unsigned long long pts = 0;
+
+- int enqueue = 0;
+-
+- if (!queue.empty())
+- enqueue = 1;
+- else if (!extractPTS(pts, pkt))
++ int enqueue = !queue.empty();
++
++ if (!extractPTS(pts, pkt))
+ {
+- eDebug("PES STC: %08llx\n", pts);
++ eDebug("PES STC: %08llx", pts);
+ signed long long int diff = pts - current;
+- eDebug(" STC: %lld\n", diff);
+- if (diff > 900000) // 10s
+- {
+- eDebug("rediculous high delay! showing now");
+- } else if (diff > 2000)
++ eDebug(" diff: %lld(%lldms)", diff, diff/90);
++ if (diff > 1800)
+ enqueue = 1;
++ else if (enqueue) // this should not happen !!
++ {
++ eDebug("showing instantly, diff small enough... but queue not empy!!!!");
++ enqueue = 0;
++ }
+ else
+- eDebug("showing instantly, diff small enough!");
++ eDebug("showing instantly, diff small enough...!");
+ }
+
+ if (enqueue)
+@@ -98,11 +98,15 @@
+ memcpy(pes.pkt, pkt, len);
+ pes.len = len;
+ queue.push(pes);
++ eDebug("enqueue");
+ if (wasempty)
+ {
+- eDebug("setting timer to %d ms!\n", (pes.pts - current) / 90);
++ eDebug("setting timer to %lld ms!\n", (pes.pts - current) / 90);
+ timer.start((pes.pts - current) / 90, 1);
+ }
++ else
++ eDebug("");
++
+ return;
+ }
+ subtitle_process_pes(subtitle, pesbuffer, peslen);
+@@ -155,13 +159,15 @@
+ return;
+ }
+
+- eDebug("by the way, actual delay was %lld(%lld msek)\n", current - fpts, (current-fpts)/90 );
++ eDebug("by the way, actual delay was %lld(%lld msek)", current - fpts, (current-fpts)/90 );
+
+- if (queue.empty())
+- return;
+-
+- signed long long int diff = queue.front().pts - current;
+- timer.start(diff / 90, 1);
++ if (!queue.empty()) {
++ signed long long int diff = queue.front().pts - current;
++ timer.start(diff / 90, 1);
++ eDebug("setting timer to %lld ms!\n", diff / 90);
++ }
++ else
++ eDebug("");
+ }
+
+ void eSubtitleWidget::gotData(int what)
+@@ -377,7 +383,7 @@
+ while (!queue.empty())
+ {
+ pes_packet_s pkt = queue.front();
+- queue.front();
++ queue.pop();
+ delete [] pkt.pkt;
+ }
+ delete subtitle;
--- /dev/null
+diff -Naur enigma_org/lib/dvb/decoder.cpp enigma/lib/dvb/decoder.cpp
+--- enigma_org/lib/dvb/decoder.cpp 2006-11-12 22:35:31.000000000 +0100
++++ enigma/lib/dvb/decoder.cpp 2007-10-19 01:10:21.000000000 +0200
+@@ -817,7 +817,7 @@
+ {
+ int wasOpen = fd.mpeg != -1;
+ if ( !wasOpen )
+- fd.mpeg = ::open("/dev/video", O_WRONLY);
++ fd.mpeg = ::open("/dev/video", O_RDONLY);
+ {
+ if (::ioctl(fd.mpeg, VIDEO_FLUSH_CLIP_BUFFER) < 0)
+ eDebug("VIDEO_FLUSH_BUFFER failed (%m)");
+@@ -833,7 +833,7 @@
+ {
+ int wasOpen = fd.mpeg != -1;
+ if ( !wasOpen )
+- fd.mpeg=::open("/dev/video", O_WRONLY);
++ fd.mpeg=::open("/dev/video", O_RDONLY);
+ if ( fd.mpeg > -1 )
+ {
+ if ( ::ioctl(fd.mpeg, VIDEO_CLEAR_SCREEN) < 0 )
+@@ -878,7 +878,7 @@
+ {
+ int wasOpen = fd.mpeg != -1;
+ if ( !wasOpen )
+- fd.mpeg = ::open("/dev/video", O_WRONLY);
++ fd.mpeg = ::open("/dev/video", O_RDONLY);
+ if ( fd.mpeg > -1 )
+ {
+ if ( ::ioctl(fd.mpeg, VIDEO_SET_FASTZAP, val) < 0 )
+@@ -895,7 +895,7 @@
+ {
+ int wasOpen = fd.mpeg != -1;
+ if ( !wasOpen )
+- fd.mpeg = ::open("/dev/video", O_WRONLY);
++ fd.mpeg = ::open("/dev/video", O_RDONLY);
+ if ( fd.mpeg > -1 )
+ {
+ if ( ::ioctl(fd.mpeg, VIDEO_SET_AUTOFLUSH, on) < 0 )
+diff -Naur enigma_org/src/enigma_main.cpp enigma/src/enigma_main.cpp
+--- enigma_org/src/enigma_main.cpp 2007-07-03 11:10:12.000000000 +0200
++++ enigma/src/enigma_main.cpp 2007-10-19 11:48:20.000000000 +0200
+@@ -3038,17 +3038,25 @@
+ {
+ if ( ref.type == eServiceReference::idDVB && !ref.path && !timeshift )
+ {
+- if (eSystemInfo::getInstance()->canTimeshift() &&
+- eSystemInfo::getInstance()->getHwType() != eSystemInfo::DM600PVR &&
+- eSystemInfo::getInstance()->getHwType() != eSystemInfo::DM500PLUS
+- )
++ if (eSystemInfo::getInstance()->canTimeshift())
+ {
+ if (!eDVB::getInstance()->recorder)
+ {
+- record();
++ switch(eSystemInfo::getInstance()->getHwType())
++ {
++ case eSystemInfo::DM600PVR:
++ case eSystemInfo::DM500PLUS:
++ Decoder::setAutoFlushScreen(0);
++ Decoder::Pause(2); // freeze frame
++ record();
++ break;
++ default:
++ record();
++ Decoder::setAutoFlushScreen(0);
++ Decoder::Pause(2); // freeze frame
++ break;
++ }
+ timeshift=1;
+- Decoder::Pause(2); // freeze frame
+- Decoder::setAutoFlushScreen(0);
+ handler->serviceCommand(eServiceCommand(eServiceCommand::cmdSetSpeed, -1));
+ Decoder::setAutoFlushScreen(1);
+ }
--- /dev/null
+DEPENDS = "jpeg libungif libid3tag libmad libpng libsigc++-1.2 gettext-native tuxbox-libs tuxbox-plugins dreambox-dvbincludes mtd-utils freetype"
+DESCRIPTION = "Enigma is a framebuffer-based frontend for DVB functions"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+LICENSE = "GPL"
+
+SRCDATE = "20070615"
+PV = "cvs-${SRCDATE}"
+PN = "enigma"
+PR = "r4"
+
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/tuxbox/enigma;method=ext \
+ file://enigma.sh \
+ file://config \
+ file://userbouquet* \
+ http://sources.dreamboxupdate.com/download/opendreambox/enigma/boot-${MACHINE} \
+ file://enigma_enter_standby.sh \
+ file://enigma_leave_standby.sh \
+ file://rotor_fix.diff;patch=1;pnum=1 \
+ file://disable_boot.diff;patch=1;pnum=1 \
+ file://epgfix_backport.diff;patch=1;pnum=1 \
+ file://timeshiftfix_backport.diff;patch=1;pnum=1 \
+ file://subtitlefix_backport.diff;patch=1;pnum=1 \
+ file://rdstextfix_backport.diff;patch=1;pnum=1 \
+ file://duplicate_tsid_onid_cable_terrestrial_fix_backport.diff;patch=1;pnum=1"
+
+# dm600pvr and dm500plus don't have a FP, so they can't really switch of. Show a shutdown pic instead.
+SRC_URI_append_dm600pvr = " http://sources.dreamboxupdate.com/download/opendreambox/enigma/showshutdownpic-${MACHINE} \
+ file://add_blindscan_to_menu.diff;patch=1;pnum=1 \
+ http://sources.dreamboxupdate.com/download/patches/enigma_add_cable_blindscan.diff;patch=1;pnum=1"
+SRC_URI_append_dm500plus = " http://sources.dreamboxupdate.com/download/opendreambox/enigma/showshutdownpic-${MACHINE} \
+ file://add_blindscan_to_menu.diff;patch=1;pnum=1"
+
+S = "${WORKDIR}/enigma"
+
+FILES_${PN} += " ${datadir}/tuxbox ${datadir}/fonts"
+
+PACKAGES_DYNAMIC = "enigma-locale-*"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--with-target=native --with-boxtype=${MACHINE} --with-webif=standard --with-epg=private --with-enigma-debug=yes --with-reiserfs=no"
+
+do_configure_prepend() {
+ mkdir -p m4
+}
+
+do_compile_prepend() {
+ chmod ugo+x ${S}/po/xml2po
+}
+
+do_stage_append() {
+ install -d ${STAGING_INCDIR}/enigma
+ install -m 0644 ${WORKDIR}/enigma/include/*.h ${STAGING_INCDIR}/enigma
+ for dir in base dvb dvb/lowlevel codecs driver gdi gui socket system picviewer movieplayer; do
+ install -d ${STAGING_INCDIR}/enigma/lib/$dir;
+ install -m 0644 ${WORKDIR}/enigma/include/lib/$dir/*.h ${STAGING_INCDIR}/enigma/lib/$dir;
+ done;
+ rm -R ${STAGING_INCDIR}/enigma/src 2> /dev/null || /bin/true
+ install -m 0644 ${WORKDIR}/enigma/src/*.h ${STAGING_INCDIR}/enigma
+ ln -sf ${STAGING_INCDIR}/enigma ${STAGING_INCDIR}/enigma/src
+}
+
+do_install_append() {
+ install -d ${D}/usr/share/enigma/default
+ install -d ${D}/usr/share/enigma/default/cable
+ install -d ${D}/usr/share/enigma/default/terrestrial
+ mv ${D}/etc/enigma/* ${D}/usr/share/enigma/default 2> /dev/null || /bin/true
+ rm -R ${D}/etc/enigma 2> /dev/null || /bin/true
+ install -m 0644 ${WORKDIR}/config ${D}/usr/share/enigma/default/
+ if [ "${MACHINE}" = "dm600pvr" -o "${MACHINE}" = "dm500plus" ]; then
+ install -m 0755 ${WORKDIR}/showshutdownpic-${MACHINE} ${D}/usr/bin/showshutdownpic
+ # vulcan-based boxes don't look that well with too much alpha
+ echo "i:/ezap/osd/alpha=00000000" >> ${D}/usr/share/enigma/default/config
+ echo "i:/ezap/osd/simpleMainMenu=00000001" >> ${D}/usr/share/enigma/default/config
+ fi
+ install -m 0644 ${WORKDIR}/userbouquet* ${D}/usr/share/enigma/default/
+ install -m 0755 ${WORKDIR}/enigma.sh ${D}/usr/bin/
+ install -m 0755 ${WORKDIR}/boot-${MACHINE} ${D}/usr/bin/boot
+ install -d ${D}/etc
+ install -m 0755 ${WORKDIR}/enigma_enter_standby.sh ${D}/etc
+ install -m 0755 ${WORKDIR}/enigma_leave_standby.sh ${D}/etc
+}
--- /dev/null
+DEPENDS = "enigma"
+RDEPENDS = "enigma ipkg"
+DESCRIPTION = "Enigma Plugin IPKG"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+LICENSE = "GPL"
+PV = "0.2.1"
+PR = "r1"
+SRC_URI = "http://sources.dreamboxupdate.com/download/opendreambox/enigma/ipkgpl-${PV}-r1.tar.bz2"
+
+S = "${WORKDIR}/ipkgpl"
+
+FILES_${PN} = "/usr/lib/tuxbox/plugins/ipkgpl.so \
+ /usr/lib/tuxbox/plugins/ipkgpl.cfg"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--with-target=native "
+
+do_install() {
+ install -d ${D}/usr/lib/tuxbox/plugins
+ install ${S}/.libs/ipkgpl.so ${D}/usr/lib/tuxbox/plugins
+ install -m 0644 ${S}/ipkgpl.cfg ${D}/usr/lib/tuxbox/plugins
+}
--- /dev/null
+DESCRIPTION = "enigma2 default services/transponder"
+PRIORITY = "optional"
+LICENSE = "proprietary"
+MAINTAINER = "tmbinc@elitedvb.net"
+
+PR = "r1"
+
+SRC_URI = "file://*"
+
+S = "${WORKDIR}"
+
+INHIBIT_PACKAGE_STRIP = "1"
+
+do_install() {
+ install -d ${D}/usr/share/enigma2/dealer
+ install ${WORKDIR}/*.info ${D}/usr/share/enigma2/dealer
+ install ${WORKDIR}/lamedb.* ${D}/usr/share/enigma2/dealer
+}
+
+FILES_${PN} = "/"
--- /dev/null
+eDVB services /3/
+transponders
+00820000:00c9:0006
+ s 10775000:28000000:0:3:130:2
+/
+00820000:012d:0006
+ s 11095910:28000000:0:3:130:2
+/
+00820000:1250:0064
+ s 11013000:27500000:0:3:130:2
+/
+00820000:1ce8:0071
+ s 12188000:27500000:1:3:130:2
+/
+00820000:1e78:0071
+ s 12264000:27500000:1:3:130:2
+/
+00820000:1edc:0071
+ s 12284000:27500000:0:3:130:2
+/
+00820000:3390:0071
+ s 11159000:27500000:1:3:130:2
+/
+00820000:2bc0:00b0
+ s 10758000:27500000:1:3:130:2
+/
+00820000:2c88:00b0
+ s 10795000:27500000:1:3:130:2
+/
+00820000:2d50:00b0
+ s 10834000:27500000:1:3:130:2
+/
+00820000:2e18:00b0
+ s 10872000:27500000:1:3:130:2
+/
+00820000:2ee0:00b0
+ s 10911000:27500000:1:3:130:2
+/
+00820000:3db8:00b0
+ s 11662000:27500000:1:3:130:2
+/
+00820000:0708:00c8
+ s 11541030:22000000:1:4:130:2
+/
+00820000:0389:0110
+ s 11431800:27500000:1:1:130:2
+/
+00820000:1770:0110
+ s 11919000:27500000:1:2:130:2
+/
+00820000:00c8:013e
+ s 11240000:27500000:1:3:130:2
+/
+00820000:01f4:013e
+ s 11295900:27500000:0:3:130:2
+/
+00820000:03e8:013e
+ s 11393000:27500000:1:3:130:2
+/
+00820000:044c:013e
+ s 11411050:27500000:0:4:130:2
+/
+00820000:0514:013e
+ s 11449000:27500000:0:2:130:2:1:2:0:2
+/
+00820000:0578:013e
+ s 11258000:27500000:0:2:130:2:1:2:0:2
+/
+00820000:05dc:013e
+ s 11487770:27500000:0:3:130:2
+/
+00820000:06a4:013e
+ s 11526000:27500000:0:3:130:2
+/
+00820000:1388:013e
+ s 11727480:27500000:1:3:130:2
+/
+00820000:13ef:013e
+ s 11747000:27500000:0:3:130:2
+/
+00820000:1450:013e
+ s 11766000:27500000:1:2:130:2
+/
+00820000:14b4:013e
+ s 11785000:27500000:0:3:130:2
+/
+00820000:1518:013e
+ s 11804200:27500000:1:2:130:2
+/
+00820000:157c:013e
+ s 11823000:27500000:0:3:130:2
+/
+00820000:17d4:013e
+ s 11938000:27500000:0:3:130:2
+/
+00820000:1964:013e
+ s 12015000:27500000:0:3:130:2
+/
+00820000:1af4:013e
+ s 12092000:27500000:0:3:130:2
+/
+00820000:1b58:013e
+ s 12111000:27500000:1:3:130:2
+/
+00820000:1bbc:013e
+ s 12144760:3333000:0:3:130:2
+/
+00820000:1c20:013e
+ s 12149000:27500000:1:3:130:2
+/
+00820000:1c84:013e
+ s 12169000:27500000:0:3:130:2
+/
+00820000:1e14:013e
+ s 12245000:27500000:0:3:130:2
+/
+00820000:1f40:013e
+ s 12303000:27500000:1:3:130:2
+/
+00820000:1fa4:013e
+ s 12322000:27500000:0:3:130:2
+/
+00820000:206c:013e
+ s 12360420:27500000:0:3:130:2
+/
+00820000:20d0:013e
+ s 12379000:27500000:1:3:130:2
+/
+00820000:2134:013e
+ s 12398780:27500000:0:3:130:2
+/
+00820000:21fc:013e
+ s 12437000:27500000:0:3:130:2
+/
+00820000:22c4:013e
+ s 12475500:27500000:0:3:130:2
+/
+00820000:2328:013e
+ s 12519840:27500000:1:3:130:2
+/
+00820000:238c:013e
+ s 12539020:27500000:0:3:130:2
+/
+00820000:2454:013e
+ s 12577000:27500000:0:3:130:2
+/
+00820000:24b8:013e
+ s 12596560:27500000:1:3:130:2
+/
+00820000:2648:013e
+ s 12673000:27500000:1:3:130:2
+/
+00820000:2af8:013e
+ s 10719000:27500000:1:3:130:2
+/
+00820000:2b5c:013e
+ s 10723000:29900000:0:3:130:2
+/
+00820000:2cec:013e
+ s 10829500:3333000:0:3:130:2
+/
+00820000:2e7c:013e
+ s 10892000:27500000:0:3:130:2
+/
+00820000:2f44:013e
+ s 10930000:27500000:0:3:130:2
+/
+00820000:2fa8:013e
+ s 10949000:27500000:1:3:130:2
+/
+00820000:300c:013e
+ s 10971000:27500000:0:3:130:2
+/
+00820000:3070:013e
+ s 10992160:27500000:1:2:130:2
+/
+00820000:3138:013e
+ s 11034000:27500000:1:3:130:2
+/
+00820000:319c:013e
+ s 11054000:27500000:0:4:130:2
+/
+00820000:3200:013e
+ s 11075000:27500000:1:3:130:2
+/
+00820000:32c8:013e
+ s 11117000:27500000:1:3:130:2
+/
+00820000:332c:013e
+ s 11137000:27500000:0:3:130:2
+/
+00820000:33f4:013e
+ s 11179000:27500000:0:3:130:2
+/
+00820000:3458:013e
+ s 11200000:27500000:1:4:130:2
+/
+00820000:3bc4:013e
+ s 11565740:27500000:0:3:130:2
+/
+00820000:3c28:013e
+ s 11585000:27500000:1:3:130:2
+/
+00820000:3c8c:013e
+ s 11604100:27500000:0:4:130:2
+/
+00820000:3cf0:013e
+ s 11623280:27500000:1:3:130:2
+/
+00820000:3d54:013e
+ s 11642500:27500000:0:3:130:2
+/
+00820000:23f0:013f
+ s 12558200:27500000:1:3:130:2
+/
+00820000:26ac:013f
+ s 12692000:27500000:0:3:130:2
+/
+00820000:3e1c:013f
+ s 11681000:27500000:0:3:130:2
+/
+00820000:25e4:02be
+ s 12654000:27500000:0:3:130:2
+/
+00820000:0064:fbff
+ s 11219250:27500000:0:3:130:2
+/
+00820000:0320:fbff
+ s 11355080:27500000:1:3:130:2
+/
+00820000:15e0:fbff
+ s 11842000:27500000:1:3:130:2
+/
+00820000:1644:fbff
+ s 11861000:27500000:0:3:130:2
+/
+00820000:16a8:fbff
+ s 11880000:27500000:1:3:130:2
+/
+00820000:170c:fbff
+ s 11900000:27500000:0:3:130:2
+/
+00820000:1838:fbff
+ s 11958000:27500000:1:3:130:2
+/
+00820000:189c:fbff
+ s 11976000:27500000:0:3:130:2
+/
+00820000:1900:fbff
+ s 11996000:27500000:1:2:130:2:1:2:2:2
+/
+00820000:19c8:fbff
+ s 12034000:27500000:1:3:130:2
+/
+00820000:1a2c:fbff
+ s 12054000:27500000:0:3:130:2
+/
+00820000:1a90:fbff
+ s 12072000:27500000:1:3:130:2
+/
+00820000:2008:fbff
+ s 12341000:27500000:1:3:130:2
+/
+00820000:2198:fbff
+ s 12418000:27500000:1:3:130:2
+/
+00820000:2260:fbff
+ s 12465910:27500000:1:3:130:2
+/
+00820000:251c:fbff
+ s 12616000:27500000:0:3:130:2
+/
+00820000:2580:fbff
+ s 12635000:27500000:1:3:130:2
+/
+00820000:2710:fbff
+ s 12713000:27500000:1:3:130:2
+/
+00820000:2774:fbff
+ s 12731000:27500000:0:3:130:2
+/
+00822a65:2db4:0000
+ s 10853440:27500000:0:3:130:2
+/
+00822faf:0001:0001
+ s 12207000:27500000:0:3:130:2
+/
+0082afc1:0065:0001
+ s 12225000:27500000:1:3:130:2
+/
+end
+services
+0009:00820000:3200:013e:0:0
+
+p:,f:40
+0015:00820000:0389:0110:0:0
+Servizio 21
+p:,f:40
+0017:00820000:0389:0110:0:0
+Servizio 23
+p:,f:40
+0018:00820000:0389:0110:0:0
+Servizio 24
+p:,f:40
+0019:00820000:0389:0110:0:0
+Servizio 25
+p:,f:40
+001a:00820000:0389:0110:0:0
+Servizio 26
+p:,f:40
+001b:00820000:0389:0110:0:0
+Servizio 27
+p:,f:40
+001c:00820000:0389:0110:0:0
+Servizio 28
+p:,f:40
+001d:00820000:0389:0110:0:0
+Servizio 29
+p:,f:40
+001e:00820000:0389:0110:0:0
+Servizio 30
+p:,f:40
+3623:00820000:00c8:013e:0:0
+SSU Orange
+p:EUTELSAT,f:40
+3624:00820000:00c8:013e:0:0
+SSU
+p:EUTELSAT,f:40
+225f:00820000:1af4:013e:0:0
+
+p:,f:40
+12cf:00820000:2e7c:013e:0:0
+119 test 1 E
+p:CYFRA +,f:40
+12d0:00820000:2e7c:013e:0:0
+119 test 2 E
+p:CYFRA +,f:40
+12d1:00820000:2e7c:013e:0:0
+119 test 3 E
+p:CYFRA +,f:40
+12d2:00820000:2e7c:013e:0:0
+119 test 1. E
+p:CYFRA +,f:40
+12d3:00820000:2e7c:013e:0:0
+119 test 2. E
+p:CYFRA +,f:40
+12d4:00820000:2e7c:013e:0:0
+119 test 3. E
+p:CYFRA +,f:40
+00ea:00820000:3e1c:013f:0:0
+SSU
+p:EUTELSAT,f:40
+00eb:00820000:3e1c:013f:0:0
+SSU Orange
+p:EUTELSAT,f:40
+0200:00820000:26ac:013f:1:0
+AB4
+p:AB Sat,f:40
+2200:00820000:1af4:013e:1:0
+Redlight USA
+p:TSA,f:40
+2500:00820000:2774:fbff:1:0
+Boomerang
+p:SkyItalia,f:40
+0001:00820000:3200:013e:1:0
+MTV Portugal
+p:MTV Networks Europe,f:40
+0001:00820000:300c:013e:1:0
+TRT-INT
+p:RRSat,f:40
+0001:00820000:2648:013e:1:0
+AL MAGHRIBIA
+p:PRVDR,f:40
+0001:00820000:1250:0064:1:0
+CGN
+p:,f:40
+0001:00820000:3d54:013e:1:0
+Bloomberg French TV
+p:,C:0e00,f:40
+0001:0082afc1:0065:0001:1:0
+VOA TV 1 (HB1-8)
+p:,f:40
+0001:00820000:1770:0110:1:0
+Italia 1
+p:,f:40
+0001:00820000:1fa4:013e:1:0
+RIT-TV
+p:EUTELSAT,f:40
+0001:00820000:1bbc:013e:1:0
+m2
+p:Magyar Televizio,f:40
+0001:00820000:00c9:0006:1:0
+Sports/ESPN/FoxSports/Conting
+p:,C:0e00,f:40
+0001:00820000:25e4:02be:1:0
+SHARJAH TV
+p:ARABSAT,f:40
+0001:00820000:2cec:013e:1:0
+Autonomia
+p:Duna Televizio,f:40
+2501:00820000:2774:fbff:1:0
+Hallmark
+p:SkyItalia,f:40
+0002:00820000:3200:013e:1:0
+MTV Polska
+p:MTV Networks Europe,f:40
+0002:00820000:300c:013e:1:0
+Suroyo tv
+p:RRSat,f:40
+0002:00820000:2648:013e:1:0
+TVM INTER+L
+p:PRVDR,f:40
+0002:00820000:1250:0064:1:0
+Marine Biz TV
+p:,f:40
+0002:00820000:3d54:013e:1:0
+Bloomberg Italian TV
+p:,C:0e00,f:40
+0002:00820000:1770:0110:1:0
+Canale 5
+p:,f:40
+0002:00820000:0578:013e:1:0
+Mktv Sat
+p:Harmonic,f:40
+0002:00820000:00c9:0006:1:0
+AFN Atlantic/PowerNet/Eagle/NPR
+p:,C:0e00,f:40
+0002:00820000:25e4:02be:1:0
+QATAR TV
+p:ARABSAT,f:40
+1402:00820000:05dc:013e:1:0
+ANIMAL PLANET
+p:CYFRA +,f:40
+2202:00820000:1af4:013e:1:0
+MCT Lux-Best
+p:TSA,f:40
+2502:00820000:2774:fbff:1:0
+Fox
+p:SkyItalia,f:40
+3b02:00820000:0578:013e:1:0
+TVP Sport
+p:ITI,f:40
+0003:00820000:3200:013e:1:0
+Game One
+p:MTV Networks Europe,f:40
+0003:00820000:300c:013e:1:0
+Music Box Russia
+p:RRSat,f:40
+0003:00820000:2648:013e:1:0
+AL Aoula
+p:PRVDR,f:40
+0003:00820000:1250:0064:1:0
+Telecolore
+p:,f:40
+0003:00820000:3d54:013e:1:0
+Bloomberg European TV
+p:,f:40
+0003:00820000:1770:0110:1:0
+Retequattro
+p:,f:40
+0003:00820000:0578:013e:1:0
+RIKSAT
+p:Harmonic,f:40
+0003:00820000:00c9:0006:1:0
+Spectrum/Touch/Contin
+p:,C:0e00,f:40
+0003:00820000:25e4:02be:1:0
+SAUDI 1
+p:ARABSAT,f:40
+0e03:00820000:15e0:fbff:1:0
+MotoTV
+p:SkyItalia,f:40
+1403:00820000:05dc:013e:1:0
+DISCOVERY
+p:CYFRA +,f:40
+2503:00820000:2774:fbff:1:0
+Jetix +1
+p:SkyItalia,f:40
+0004:00820000:3200:013e:1:0
+VH1 Polska
+p:MTV Networks Europe,f:40
+0004:00820000:300c:013e:1:0
+TIN + 18668336763
+p:RRSat,f:40
+0004:00820000:2648:013e:1:0
+ARRABIAA
+p:PRVDR,f:40
+0004:00820000:1250:0064:1:0
+Rusiya Al-Yaum
+p:,f:40
+0004:00820000:3d54:013e:1:0
+Bloomberg German TV
+p:,f:40
+0004:00820000:1770:0110:1:0
+Test
+p:,f:40
+0004:00820000:0578:013e:1:0
+ICC TV
+p:Harmonic,f:40
+0004:00820000:00c9:0006:1:0
+Pacific/Pure Gold
+p:,C:0e00,f:40
+0004:00820000:25e4:02be:1:0
+KUWAIT
+p:ARABSAT,f:40
+0104:0082afc1:0065:0001:1:0
+VOA Music Mix 260
+p:,f:40
+0e04:00820000:15e0:fbff:1:0
+Fox Crime +1
+p:SkyItalia,f:40
+2504:00820000:2774:fbff:1:0
+Cartoon +1
+p:SkyItalia,f:40
+3b04:00820000:0578:013e:1:0
+Sport Klub +
+p:ITI,f:40
+0005:00820000:3200:013e:1:0
+VIVA Polska
+p:MTV Networks Europe,f:40
+0005:00820000:300c:013e:1:0
+The Word Network
+p:RRSat,f:40
+0005:00820000:012d:0006:1:0
+News/BrightAC/Country/ARock
+p:,C:0e00,f:40
+0005:00820000:2648:013e:1:0
+TVM INTER
+p:PRVDR,f:40
+0005:00820000:1250:0064:1:0
+Gali Kurdistan TV
+p:,f:40
+0005:00820000:3d54:013e:1:0
+Bloomberg English TV
+p:,f:40
+0005:00820000:1770:0110:1:0
+Mediashopping
+p:,f:40
+0005:00820000:0578:013e:1:0
+PEN TV
+p:Harmonic,f:40
+0005:00820000:25e4:02be:1:0
+LIBYA
+p:ARABSAT,f:40
+0105:0082afc1:0065:0001:1:0
+VOA Music Mix 261
+p:,f:40
+1405:00820000:05dc:013e:1:0
+CNBC
+p:CYFRA +,f:40
+2505:00820000:2774:fbff:1:0
+The MGM Channel
+p:SkyItalia,f:40
+2905:00820000:1edc:0071:1:0
+E!
+p:Cyfrowy Polsat,f:40
+3b05:00820000:0578:013e:1:0
+Cartoon TCM
+p:ITI,f:40
+0006:00820000:3200:013e:1:0
+MTV 1
+p:MTV Networks Europe,f:40
+0006:00820000:012d:0006:1:0
+AFN Xtra/Time Code
+p:,C:0e00,f:40
+0006:00820000:2648:013e:1:0
+ASSADISSA
+p:PRVDR,f:40
+0006:00820000:1250:0064:1:0
+LA 9
+p:,f:40
+0006:00820000:3d54:013e:1:0
+SAT-7 KIDS
+p:,f:40
+0006:00820000:0578:013e:1:0
+Channel 6
+p:Harmonic,f:40
+0006:00820000:25e4:02be:1:0
+SUDAN
+p:ARABSAT,f:40
+0106:00820000:012d:0006:1:0
+AFN Freedom Radio
+p:,C:0e00,f:40
+0106:0082afc1:0065:0001:1:0
+VOA Music Mix 262
+p:,f:40
+1406:00820000:05dc:013e:1:0
+ZONE CLUB
+p:CYFRA +,f:40
+1f06:00820000:21fc:013e:1:0
+ALKAWTHAR
+p:IRIB,f:40
+2506:00820000:2774:fbff:1:0
+Roma Channel
+p:SkyItalia,f:40
+2906:00820000:1edc:0071:1:0
+Boomerang
+p:Cyfrowy Polsat,f:40
+3b06:00820000:0578:013e:1:0
+Sport Klub
+p:ITI,f:40
+0007:00820000:3200:013e:1:0
+VH1
+p:MTV Networks Europe,f:40
+0007:00820000:300c:013e:1:0
+Baby TV
+p:RRSat,f:40
+0007:00820000:1250:0064:1:0
+SARAFAN
+p:,f:40
+0007:00820000:3d54:013e:1:0
+Bloomberg Spain TV
+p:,C:0e00,f:40
+0007:00820000:0578:013e:1:0
+SALAAM TV
+p:Harmonic,f:40
+0007:00820000:00c9:0006:1:0
+Guide/PowerNet/HotAC/NewsRadio/UVC
+p:,C:0e00,f:40
+0007:00820000:25e4:02be:1:0
+OMAN
+p:ARABSAT,f:40
+0107:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 263
+p:,f:40
+1407:00820000:05dc:013e:1:0
+ZONE REALITY
+p:CYFRA +,f:40
+1f07:00820000:21fc:013e:1:0
+FEED
+p:IRIB,f:40
+2507:00820000:2774:fbff:1:0
+GXT
+p:SkyItalia,f:40
+3607:00820000:00c8:013e:1:0
+ESP Int'l
+p:Eutelsat,f:40
+3b07:00820000:0578:013e:1:0
+TVN Med
+p:TVN,f:40
+3c07:00820000:2260:fbff:1:0
+MTV Gold
+p:SkyItalia,f:40
+0008:00820000:300c:013e:1:0
+MRTV / Univ TV
+p:RRSat,f:40
+0008:00820000:012d:0006:1:0
+Pentagon Channel
+p:,f:40
+0008:00820000:2648:013e:1:0
+Medi1SAT
+p:PRVDR,f:40
+0008:00820000:1250:0064:1:0
+AL FAYHAA
+p:,f:40
+0008:00820000:3d54:013e:1:0
+Miracle TV
+p:,f:40
+0008:0082afc1:0065:0001:1:0
+IBB OS Download 8 (DCP)
+p:,f:40
+0008:00820000:0578:013e:1:0
+THARISANAM
+p:Harmonic,f:40
+0008:00820000:14b4:013e:1:0
+R1
+p:Overon,f:40
+0008:00820000:25e4:02be:1:0
+ESC
+p:ARABSAT,f:40
+0108:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 264
+p:,f:40
+0208:00820000:26ac:013f:1:0
+Beur TV
+p:AB SAT,f:40
+1408:00820000:05dc:013e:1:0
+EXTREME SPORTS
+p:CYFRA +,f:40
+1f08:00820000:21fc:013e:1:0
+PRESS TV
+p:IRIB,f:40
+2508:00820000:2774:fbff:1:0
+GXT +1
+p:SkyItalia,f:40
+2908:00820000:1edc:0071:1:0
+Radiostacja
+p:Cyfrowy Polsat,f:40
+3608:00820000:00c8:013e:1:0
+ESP Romanian
+p:Eutelsat,f:40
+3b08:00820000:0578:013e:1:0
+MTV2
+p:ITI,f:40
+3c08:00820000:2260:fbff:1:0
+MTV Pulse
+p:SkyItalia,f:40
+0009:00820000:300c:013e:1:0
+Al-Anwar
+p:RRSat,f:40
+0009:00820000:012d:0006:1:0
+AFN Family Channel
+p:,C:0e00,f:40
+0009:00820000:3d54:013e:1:0
+SAT-7 PARS
+p:,f:40
+0009:0082afc1:0065:0001:1:0
+IBB OS Download 9 (CCP)
+p:,f:40
+0009:00820000:0578:013e:1:0
+Andisheh
+p:Harmonic,f:40
+0009:00820000:14b4:013e:1:0
+KontaktChance.TV
+p:Overon/SmartCast,f:40
+0009:00820000:25e4:02be:1:0
+AL IRAQIA
+p:ARABSAT,f:40
+0109:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 265
+p:,f:40
+1109:00820000:2710:fbff:1:0
+NatGeo Music
+p:SkyItalia,f:40
+1309:00820000:2e7c:013e:1:0
+DTV CABLE JE
+p:CYFRA +,f:40
+2009:00820000:24b8:013e:1:0
+Planeta Sport
+p:Globecast,f:40
+3609:00820000:00c8:013e:1:0
+ESP Dutch
+p:Eutelsat,f:40
+3909:00820000:32c8:013e:1:0
+BBC Prime
+p:Globecast UK,f:40
+3b09:00820000:0578:013e:1:0
+NASN
+p:TVN,f:40
+3c09:00820000:2260:fbff:1:0
+Vh1
+p:SkyItalia,f:40
+000a:00820000:3200:013e:1:0
+Comedy Central Polska
+p:MTV Networks Europe,f:40
+000a:00820000:300c:013e:1:0
+VenetoSat
+p:RRSat,f:40
+000a:00820000:012d:0006:1:0
+AFN Movie Channel
+p:,C:0e00,f:40
+000a:00820000:2648:013e:1:0
+ARRIADIA
+p:PRVDR,f:40
+000a:00820000:0578:013e:1:0
+OMID E IRAN
+p:Harmonic,f:40
+010a:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 266
+p:,f:40
+110a:00820000:2710:fbff:1:0
+SKY TG 24
+p:SkyItalia,f:40
+130a:00820000:2e7c:013e:1:0
+DTV CABLE KU
+p:CYFRA +,f:40
+200a:00820000:24b8:013e:1:0
+KTO
+p:Globecast,f:40
+360a:00820000:00c8:013e:1:0
+ESP Polish
+p:Eutelsat,f:40
+390a:00820000:32c8:013e:1:0
+BBC Entertainment Poland
+p:Globecast UK,f:40
+3b0a:00820000:0578:013e:1:0
+Nsport 59
+p:TVN,f:40
+000b:00820000:3200:013e:1:0
+Nickelodeon Euro
+p:MTV Networks Europe,f:40
+000b:00820000:300c:013e:1:0
+3 Channel
+p:RRSat,f:40
+000b:00820000:0578:013e:1:0
+BET NAHRAIN
+p:Harmonic,f:40
+000b:00820000:00c9:0006:1:0
+Franconia
+p:,C:0e00,f:40
+010b:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 267
+p:,f:40
+110b:00820000:2710:fbff:1:0
+Current
+p:SkyItalia,f:40
+130b:00820000:2e7c:013e:1:0
+DTV CABLE AL
+p:CYFRA +,f:40
+200b:00820000:24b8:013e:1:0
+BET
+p:Globecast,f:40
+290b:00820000:1edc:0071:1:0
+Zone Europa
+p:Cyfrowy Polsat,f:40
+360b:00820000:00c8:013e:1:0
+ESP Russian
+p:Eutelsat,f:40
+390b:00820000:32c8:013e:1:0
+BBC Knowledge Poland
+p:Globecast UK,f:40
+3b0b:00820000:0578:013e:1:0
+Boomerang
+p:ITI,f:40
+000c:00820000:300c:013e:1:0
+Telenova
+p:RRSat,f:40
+000c:00820000:012d:0006:1:0
+Aviano
+p:,C:0e00,f:40
+000c:00820000:1250:0064:1:0
+Canale8
+p:,f:40
+000c:00820000:0578:013e:1:0
+JAAM E JAM
+p:Harmonic,f:40
+010c:0082afc1:0065:0001:1:0
+VOA Music Mix 268
+p:,f:40
+120c:00820000:2b5c:013e:1:0
+AL JAZEERA SP+2
+p:H,f:40
+130c:00820000:2e7c:013e:1:0
+DTV CABLE ZI
+p:CYFRA +,f:40
+200c:00820000:24b8:013e:1:0
+BBC World News
+p:Globecast UK,f:40
+290c:00820000:1edc:0071:1:0
+Zone Club
+p:Cyfrowy Polsat,f:40
+360c:00820000:00c8:013e:1:0
+ESP Portuguese
+p:Eutelsat,f:40
+390c:00820000:32c8:013e:1:0
+BBC Lifestyle Poland
+p:Globecast UK,f:40
+3b0c:00820000:0578:013e:1:0
+Cinemax 1
+p:ITI,f:40
+000d:00820000:300c:013e:1:0
+NTD TV
+p:NTD TV,f:40
+000d:00820000:1250:0064:1:0
+RU TV
+p:,f:40
+000d:00820000:0578:013e:1:0
+PROPHETIC
+p:Harmonic,f:40
+000d:00820000:00c9:0006:1:0
+Hessen
+p:,C:0e00,f:40
+010d:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 269
+p:,f:40
+020d:00820000:26ac:013f:1:0
+LUXE TV
+p:DVL.TV,f:40
+030d:00820000:1b58:013e:1:0
+Puglia Channel
+p:Telespazio,f:40
+120d:00820000:2b5c:013e:1:0
+ANT1 EU promo
+p:Harmonic,f:40
+360d:00820000:00c8:013e:1:0
+ESP Hungarian
+p:Eutelsat,f:40
+390d:00820000:32c8:013e:1:0
+BBC CBeebies Poland
+p:Globecast UK,f:40
+3b0d:00820000:0578:013e:1:0
+Cinemax 2
+p:ITI,f:40
+000e:00820000:300c:013e:1:0
+Russia Today
+p:RRSat,f:40
+000e:00820000:012d:0006:1:0
+Vicenza
+p:,C:0e00,f:40
+000e:00820000:0578:013e:1:0
+IRAN
+p:Harmonic,f:40
+010e:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 270
+p:,f:40
+360e:00820000:00c8:013e:1:0
+Prod ESP
+p:Eutelsat,f:40
+390e:00820000:32c8:013e:1:0
+BBC Persian
+p:Globecast UK,f:40
+3b0e:00820000:0578:013e:1:0
+KidsCo
+p:ITI,f:40
+000f:00820000:300c:013e:1:0
+GOD TV
+p:RRSat,f:40
+000f:00820000:00c9:0006:1:0
+Heidelberg
+p:,C:0e00,f:40
+010f:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 271
+p:,f:40
+0c0f:00820000:20d0:013e:1:0
+RFI Francais
+p:GlobeCast,f:40
+290f:00820000:1edc:0071:1:0
+Dla Abonentow
+p:Cyfrowy Polsat,f:40
+360f:00820000:00c8:013e:1:0
+ESP Czech
+p:Eutelsat,f:40
+3b0f:00820000:0578:013e:1:0
+DA VINCI
+p:ITI,f:40
+0010:00820000:300c:013e:1:0
+Wind int. tv
+p:RRSat,f:40
+0010:00820000:012d:0006:1:0
+AFNS Contingency Channel
+p:,C:0e00,f:40
+0010:00820000:1250:0064:1:0
+VideoBergamo
+p:,f:40
+0010:00820000:0578:013e:1:0
+Ariana
+p:Harmonic,f:40
+0110:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 272
+p:,f:40
+0210:00820000:26ac:013f:1:0
+CINE POP
+p:,f:40
+2010:00820000:24b8:013e:1:0
+1TVRUS Europe
+p:Globecast,f:40
+2210:00820000:1af4:013e:1:0
+MCT Premium
+p:Harmonic,f:40
+3610:00820000:00c8:013e:1:0
+ESP Greek
+p:Eutelsat,f:40
+3b10:00820000:0578:013e:1:0
+OTV
+p:ITI,f:40
+0011:00822faf:0001:0001:1:0
+Fashion TV
+p:RRSat,f:40
+0011:00820000:1250:0064:1:0
+Cinquestelle
+p:,f:40
+0011:00820000:0578:013e:1:0
+IRAN.MNTV
+p:Harmonic,f:40
+0011:00820000:00c9:0006:1:0
+Bavaria
+p:,C:0e00,f:40
+0111:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 273
+p:,f:40
+2011:00820000:24b8:013e:1:0
+CNNi
+p:Globecast,f:40
+3611:00820000:00c8:013e:1:0
+ESP Cyprus
+p:Eutelsat,f:40
+3b11:00820000:0578:013e:1:0
+Jetix
+p:ITI,f:40
+0012:00822faf:0001:0001:1:0
+F men
+p:RRSat,f:40
+0012:00820000:012d:0006:1:0
+Naples
+p:,C:0e00,f:40
+0012:00820000:0578:013e:1:0
+Tasvir Iran
+p:Harmonic,f:40
+0e12:00820000:0708:00c8:1:0
+TV7 LOMBARDIA
+p:M-Three satcom,f:40
+2912:00820000:1edc:0071:1:0
+Zone Reality
+p:Cyfrowy Polsat,f:40
+3612:00820000:00c8:013e:1:0
+ESP Bulgarian
+p:Eutelsat,f:40
+0013:00820000:1250:0064:1:0
+TBM
+p:,f:40
+0013:00820000:0578:013e:1:0
+MOHABAT TV
+p:Harmonic,f:40
+0013:00820000:00c9:0006:1:0
+Kaiserslautern
+p:,C:0e00,f:40
+0e13:00820000:0708:00c8:1:0
+THOU TV
+p:M-Three satcom,f:40
+2013:00820000:24b8:013e:1:0
+Euronews
+p:Globecast,f:40
+3613:00820000:00c8:013e:1:0
+ESP2 Turk
+p:Eutelsat,f:40
+0014:00822faf:0001:0001:1:0
+Pars TV
+p:RRSat,f:40
+0014:00820000:012d:0006:1:0
+Sigonella
+p:,C:0e00,f:40
+0014:00820000:1250:0064:1:0
+Angel TV
+p:,f:40
+0e14:00820000:0708:00c8:1:0
+Sardegna Channel
+p:M-Three satcom,f:40
+2914:00820000:1edc:0071:1:0
+Playboy
+p:Cyfrowy Polsat,f:40
+3614:00820000:00c8:013e:1:0
+ESP Serbia
+p:Eutelsat,f:40
+3b14:00820000:0578:013e:1:0
+ITVN EU
+p:ITI,f:40
+0015:00820000:00c9:0006:1:0
+Benelux
+p:,C:0e00,f:40
+0015:00820000:25e4:02be:1:0
+SHARJAH R2
+p:ARABSAT,f:40
+0e15:00820000:0708:00c8:1:0
+BERGAMOSAT
+p:M-Three satcom,f:40
+2015:00820000:24b8:013e:1:0
+JSTV1
+p:Globecast,f:40
+2915:00820000:1edc:0071:1:0
+Jetix Play
+p:Cyfrowy Polsat,f:40
+3615:00820000:00c8:013e:1:0
+ESP Turk
+p:Eutelsat,f:40
+0016:00820000:3200:013e:1:0
+MTV Polska.
+p:MTV Networks Europe,f:40
+0016:00820000:300c:013e:1:0
+Suryoyo Sat
+p:RRSat,f:40
+0016:00820000:0578:013e:1:0
+TAPESH
+p:Harmonic,f:40
+0016:00820000:00c9:0006:1:0
+Guide/Country
+p:,C:0e00,f:40
+0e16:00820000:0708:00c8:1:0
+ESP2 Romania
+p:EUTELSAT,f:40
+2016:00820000:24b8:013e:1:0
+JSTV2
+p:Globecast,f:40
+2316:00820000:238c:013e:1:0
+Nile TV International
+p:ERTU,f:40
+2916:00820000:1edc:0071:1:0
+TV1000
+p:Cyfrowy Polsat,f:40
+3616:00820000:00c8:013e:1:0
+ESP2 German
+p:Eutelsat,f:40
+0017:00820000:00c9:0006:1:0
+Eifel
+p:,C:0e00,f:40
+2217:00820000:1af4:013e:1:0
+MCT Sct
+p:TSA,f:40
+2317:00820000:238c:013e:1:0
+Nile News
+p:ERTU,f:40
+2917:00820000:1edc:0071:1:0
+Test Radio 2
+p:Cyfrowy Polsat,f:40
+3617:00820000:00c8:013e:1:0
+ESP2 Serbia
+p:Eutelsat,f:40
+0018:00820000:3200:013e:1:0
+VH1 Polska.
+p:MTV Networks Europe,f:40
+0018:00820000:300c:013e:1:0
+Asianet Plus
+p:RRSat,f:40
+0018:00820000:00c9:0006:1:0
+Guide/NPR
+p:,C:0e00,f:40
+0218:00820000:26ac:013f:1:0
+ORANGE SPORT TV
+p:AB SAT,f:40
+0e18:00820000:0708:00c8:1:0
+La Nuova TV
+p:M-Three satcom,f:40
+2218:00820000:1af4:013e:1:0
+MCT Sex
+p:TSA,f:40
+2918:00820000:1edc:0071:1:0
+Travel
+p:Cyfrowy Polsat,f:40
+0019:00820000:3200:013e:1:0
+VIVA Polska.
+p:MTV Networks Europe,f:40
+0119:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 281
+p:,f:40
+0e19:00820000:0708:00c8:1:0
+Umbria Channel
+p:M-Three satcom,f:40
+2219:00820000:1af4:013e:1:0
+TELEITALIA
+p:Harmonic,f:40
+2919:00820000:1edc:0071:1:0
+Science
+p:Cyfrowy Polsat,f:40
+3619:00820000:00c8:013e:1:0
+France 24 (en Francais)
+p:Eutelsat,f:40
+001a:00820000:012d:0006:1:0
+AFN Freedom
+p:,C:0e00,f:40
+011a:0082afc1:0065:0001:1:0
+Sawa Levant Radio 282
+p:,f:40
+021a:00820000:26ac:013f:1:0
+France 3
+p:AB SAT,f:40
+0e1a:00820000:0708:00c8:1:0
+LA7
+p:,C:093b,C:0919,f:40
+1d1a:00820000:2fa8:013e:1:0
+Sun KTV
+p:Globecast UK,f:40
+291a:00820000:1edc:0071:1:0
+Discovery World
+p:Cyfrowy Polsat,f:40
+361a:00820000:00c8:013e:1:0
+France 24 (in English)
+p:Eutelsat,f:40
+001b:00820000:3200:013e:1:0
+VH1.
+p:MTV Networks Europe,f:40
+001b:00820000:00c9:0006:1:0
+Guide/The Touch
+p:,C:0e00,f:40
+011b:0082afc1:0065:0001:1:0
+Sawa Iraq Radio 283
+p:,f:40
+021b:00820000:26ac:013f:1:0
+France 4
+p:AB SAT,f:40
+231b:00820000:238c:013e:1:0
+MEDIOLANUM
+p:Tadiran Scopus,f:40
+001c:00820000:00c9:0006:1:0
+Guide/Pure Gold
+p:,C:0e00,f:40
+011c:0082afc1:0065:0001:1:0
+IBB TV Dedicated Channel 284
+p:,f:40
+021c:00820000:26ac:013f:1:0
+TMC
+p:AB SAT,f:40
+051c:00820000:3db8:00b0:1:0
+OM TV
+p:,f:40
+1d1c:00820000:2fa8:013e:1:0
+ANB
+p:Globecast,f:40
+001d:00820000:00c9:0006:1:0
+Guide/Hot AC
+p:,C:0e00,f:40
+021d:00820000:26ac:013f:1:0
+CINE FIRST
+p:,f:40
+0c1d:00820000:1e78:0071:1:0
+Polsat Sport HD test
+p:Cyfrowy Polsat S.A.,f:40
+0e1d:00820000:0708:00c8:1:0
+ESP2 Hungary
+p:EUTELSAT,f:40
+221d:00820000:1af4:013e:1:0
+Redlight LATINO
+p:TSA,f:40
+251d:00820000:13ef:013e:1:0
+DUBAI TV
+p:DU,f:40
+001e:00820000:3200:013e:1:0
+Comedy Central Polska.
+p:MTV Networks Europe,f:40
+001e:00820000:00c9:0006:1:0
+Guide/Z-rock ABC Hard Rock
+p:,C:0e00,f:40
+051e:00820000:3db8:00b0:1:0
+COMEDIE!
+p:,C:0500,f:40
+0c1e:00820000:1e78:0071:1:0
+HBO
+p:Cyfrowy Polsat S.A.,f:40
+251e:00820000:13ef:013e:1:0
+DUBAI SPORTS
+p:DU,f:40
+341e:00820000:0064:fbff:1:0
+Prima Fila 38
+p:SkyItalia,f:40
+391e:00820000:32c8:013e:1:0
+Wedding TV
+p:Globecast UK,f:40
+001f:00820000:00c9:0006:1:0
+Guide/Fox Sports Talk
+p:,C:0e00,f:40
+051f:00820000:3db8:00b0:1:0
+SPORT+
+p:,C:0500,f:40
+0c1f:00820000:1e78:0071:1:0
+HBO 2
+p:Cyfrowy Polsat S.A.,f:40
+0e1f:00820000:0708:00c8:1:0
+ROMAUNO
+p:Scopus Network Technologies,f:40
+1d1f:00820000:2fa8:013e:1:0
+Sun TV +442083356780
+p:Globecast UK,f:40
+231f:00820000:238c:013e:1:0
+Sports
+p:ERTU,f:40
+251f:00820000:13ef:013e:1:0
+SAMADUBAI
+p:DU,f:40
+341f:00820000:0064:fbff:1:0
+Prima Fila 31
+p:SkyItalia,f:40
+0020:00820000:00c9:0006:1:0
+Guide/ESPN Radio
+p:,C:0e00,f:40
+0520:00820000:3db8:00b0:1:0
+13ème RUE
+p:,f:40
+0c20:00820000:1e78:0071:1:0
+HBO Comedy
+p:Cyfrowy Polsat S.A.,f:40
+0e20:00820000:0708:00c8:1:0
+NATIONAL GEO
+p:EUTELSAT,f:40
+1d20:00820000:2fa8:013e:1:0
+Al Hiwar TV
+p:Globecast UK,f:40
+3420:00820000:0064:fbff:1:0
+Prima Fila 32
+p:SkyItalia,f:40
+3620:00820000:00c8:013e:1:0
+KP
+p:Eutelsat,f:40
+3920:00820000:32c8:013e:1:0
+D. Travel
+p:Globecast UK,f:40
+0021:00822faf:0001:0001:1:0
+3ABN International
+p:RRSat,f:40
+0221:00820000:26ac:013f:1:0
+TEST 1
+p:,f:40
+0321:00820000:3bc4:013e:1:0
+TBN Europe
+p:OVERON,f:40
+0c21:00820000:1e78:0071:1:0
+HBO HD test
+p:Cyfrowy Polsat S.A.,f:40
+1c21:00820000:1c20:013e:1:0
+DunaTV
+p:AH-EDP,f:40
+1d21:00820000:2fa8:013e:1:0
+CN/TCM CEE Combo
+p:Globecast UK,f:40
+3421:00820000:0064:fbff:1:0
+Prima Fila 35
+p:SkyItalia,f:40
+3621:00820000:00c8:013e:1:0
+M
+p:Eutelsat,f:40
+3921:00820000:32c8:013e:1:0
+D. World
+p:Globecast UK,f:40
+0022:00822faf:0001:0001:1:0
+Asianet
+p:RRSat,f:40
+0122:0082afc1:0065:0001:1:0
+Sawa Egypt Radio 290
+p:,f:40
+0322:00820000:3bc4:013e:1:0
+TBNEspain
+p:OVERON,f:40
+1c22:00820000:1c20:013e:1:0
+TV7 Tunis
+p:AH-EDP,f:40
+3422:00820000:0064:fbff:1:0
+Prima Fila 36
+p:SkyItalia,f:40
+3622:00820000:00c8:013e:1:0
+S
+p:Eutelsat,f:40
+3722:00820000:206c:013e:1:0
+SEX VIEW HQ
+p:,f:40
+3922:00820000:32c8:013e:1:0
+D. Science
+p:Globecast UK,f:40
+0023:00820000:00c9:0006:1:0
+Guide/AFNE PowerNet
+p:,C:0e00,f:40
+0123:0082afc1:0065:0001:1:0
+Sawa Gulf Radio 291
+p:,f:40
+0323:00820000:3bc4:013e:1:0
+TBN ITALIA
+p:OVERON,f:40
+1123:00820000:2710:fbff:1:0
+SKY TG 24
+p:SkyItalia,f:40
+1d23:00820000:2fa8:013e:1:0
+DMC TV
+p:Globecast UK,f:40
+2923:00820000:1edc:0071:1:0
+Radio ZET
+p:Cyfrowy Polsat,f:40
+3423:00820000:0064:fbff:1:0
+Prima Fila 37
+p:SkyItalia,f:40
+0024:00820000:00c9:0006:1:0
+Guide/Contingency
+p:,C:0e00,f:40
+0124:0082afc1:0065:0001:1:0
+Sawa N. Africa Radio 292
+p:,f:40
+0324:00820000:3bc4:013e:1:0
+Church Channel
+p:GCE,f:40
+2524:00820000:13ef:013e:1:0
+PMC
+p:DU,f:40
+2924:00820000:1edc:0071:1:0
+RMF Classic
+p:Cyfrowy Polsat,f:40
+0025:00820000:00c9:0006:1:0
+Guide/AFNE Eagle
+p:,C:0e00,f:40
+0125:0082afc1:0065:0001:1:0
+Sawa Egypt Radio 293
+p:,f:40
+0325:00820000:3bc4:013e:1:0
+JCTV
+p:,f:40
+1325:00820000:33f4:013e:1:0
+Test Tv 1 Enc 01
+p:Telespazio,f:40
+1c25:00820000:1c20:013e:1:0
+SALENTO CHANNEL
+p:AH-EDP,f:40
+2c25:00820000:1644:fbff:1:0
+Rock TV
+p:SkyItalia,f:40
+3625:00820000:00c8:013e:1:0
+H1
+p:EUTELSAT,f:40
+0126:0082afc1:0065:0001:1:0
+Farda Radio 294
+p:,f:40
+0326:00820000:3bc4:013e:1:0
+EL SHAFAA
+p:OVERON,f:40
+0e26:00820000:0708:00c8:1:0
+Toscana Channel
+p:M-Three Satcom,f:40
+1326:00820000:33f4:013e:1:0
+Test Tv 2 Enc 02
+p:,f:40
+1c26:00820000:1c20:013e:1:0
+STUDIO 100 TV
+p:AH-EDP,f:40
+2526:00820000:13ef:013e:1:0
+AL SHARQIYA
+p:DU,f:40
+2926:00820000:1edc:0071:1:0
+Radio Plus
+p:Cyfrowy Polsat,f:40
+2c26:00820000:1644:fbff:1:0
+Animal Planet
+p:SkyItalia,f:40
+3626:00820000:00c8:013e:1:0
+H2
+p:EUTELSAT,f:40
+0027:00820000:00c9:0006:1:0
+Guide/AFN News Radio
+p:,C:0e00,f:40
+0127:0082afc1:0065:0001:1:0
+VOA Persian TV 295
+p:,f:40
+0327:00820000:3bc4:013e:1:0
+TBN RUSSIA
+p:GCE,f:40
+0e27:00820000:0708:00c8:1:0
+50 Canale
+p:M-Three satcom,f:40
+1c27:00820000:1c20:013e:1:0
+FUEGO
+p:AH-EDP,f:40
+1d27:00820000:2fa8:013e:1:0
+Al Forat
+p:Globecast UK,f:40
+2927:00820000:1edc:0071:1:0
+Trójka - PR
+p:Cyfrowy Polsat,f:40
+3427:00820000:0064:fbff:1:0
+Prima Fila 39
+p:SkyItalia,f:40
+3627:00820000:00c8:013e:1:0
+H3
+p:EUTELSAT,f:40
+0028:00820000:00c9:0006:1:0
+AFN Iraq Radio
+p:,C:0e00,f:40
+0028:00820000:25e4:02be:1:0
+JORDAN
+p:ARABSAT,f:40
+0128:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 296
+p:,f:40
+0328:00820000:3bc4:013e:1:0
+SMILE
+p:,f:40
+0e28:00820000:0708:00c8:1:0
+ARCOIRIS TV
+p:M-Three satcom,f:40
+1328:00820000:33f4:013e:1:0
+Test Tv 4 Enc 04
+p:Telespazio,f:40
+1c28:00820000:1c20:013e:1:0
+BLU
+p:AH-EDP,f:40
+2528:00820000:13ef:013e:1:0
+INFINITY
+p:DU,f:40
+2928:00820000:1edc:0071:1:0
+Radio Polonia
+p:Cyfrowy Polsat,f:40
+2c28:00820000:1644:fbff:1:0
+Discovery Real Time
+p:SkyItalia,f:40
+0029:00820000:012d:0006:1:0
+The Eagle - Vicenza (audio only)
+p:,C:0e00,f:40
+0029:00820000:25e4:02be:1:0
+ALMUSTAKILLA
+p:ARABSAT,f:40
+0129:0082afc1:0065:0001:1:0
+Sawa Sudan Radio 297
+p:,f:40
+0329:00820000:3bc4:013e:1:0
+NEJAT TV
+p:OVERON,f:40
+1329:00820000:33f4:013e:1:0
+Test Tv 5 Enc 05
+p:Telespazio,f:40
+1c29:00820000:1c20:013e:1:0
+TR2SAT
+p:AH-EDP,f:40
+1d29:00820000:2fa8:013e:1:0
+Al Forat Radio
+p:Globecast UK,f:40
+2529:00820000:13ef:013e:1:0
+AL ARABIYA
+p:DU,f:40
+2929:00820000:1edc:0071:1:0
+Jedynka - PR
+p:Cyfrowy Polsat,f:40
+002a:00820000:012d:0006:1:0
+Power 107 Vicenza (audio only)
+p:,C:0e00,f:40
+002a:00820000:25e4:02be:1:0
+STRIKE TV
+p:ARABSAT,f:40
+012a:0082afc1:0065:0001:1:0
+VOA Persian TV 298
+p:,f:40
+1c2a:00820000:1c20:013e:1:0
+BLU 3
+p:AH-EDP,f:40
+1d2a:00820000:2fa8:013e:1:0
+Disney Channel
+p:Globecast UK,f:40
+292a:00820000:1edc:0071:1:0
+RMF FM
+p:Cyfrowy Polsat,f:40
+2c2a:00820000:1644:fbff:1:0
+Discovery
+p:SkyItalia,f:40
+342a:00820000:0064:fbff:1:0
+JimJam
+p:SkyItalia,f:40
+002b:00820000:012d:0006:1:0
+AFN Vicenza Contingency
+p:,C:0e00,f:40
+012b:0082afc1:0065:0001:1:0
+Sawa Lebanon Radio 299
+p:,f:40
+032b:00820000:3bc4:013e:1:0
+Inspiration
+p:GlobeCast,f:40
+0e2b:00820000:0708:00c8:1:0
+TeleTirreno
+p:M-Three satcom,f:40
+1d2b:00820000:2fa8:013e:1:0
+Cartoon Network
+p:Globecast UK,f:40
+252b:00820000:13ef:013e:1:0
+MBC MAGHREB AL ARABIA
+p:DU,f:40
+2d2b:00820000:1a2c:fbff:1:0
+Bloomberg
+p:SkyItalia,f:40
+342b:00820000:0064:fbff:1:0
+Prima Fila 33
+p:SkyItalia,f:40
+032c:00820000:3bc4:013e:1:0
+DAYSTAR
+p:OVERON,f:40
+132c:00820000:33f4:013e:1:0
+TV Moda
+p:Telespazio,f:40
+1d2c:00820000:2fa8:013e:1:0
+Turner Classic Movies
+p:Globecast UK,f:40
+252c:00820000:13ef:013e:1:0
+ME SHOP
+p:DU,f:40
+2c2c:00820000:1644:fbff:1:0
+Class CNBC
+p:SkyItalia,f:40
+012d:0082afc1:0065:0001:1:0
+Sawa Iraq Radio 301
+p:,f:40
+012d:00820000:157c:013e:1:0
+R1
+p:NetMed,f:40
+1d2d:00820000:2fa8:013e:1:0
+All Music
+p:Globecast UK,f:40
+252d:00820000:13ef:013e:1:0
+EZ Shop
+p:Samacom,f:40
+332d:00820000:3390:0071:1:0
+Polsat
+p:Polsat,f:40
+342d:00820000:0064:fbff:1:0
+CNBC Europe
+p:SkyItalia,f:40
+012e:0082afc1:0065:0001:1:0
+Sawa Egypt Radio 302
+p:,f:40
+012e:00820000:157c:013e:1:0
+R2
+p:NetMed,f:40
+0e2e:00820000:16a8:fbff:1:0
+Alice
+p:SkyItalia,f:40
+132e:00820000:33f4:013e:1:0
+JSC Sport+1
+p:Telespazio,f:40
+222e:00820000:1af4:013e:1:0
+Bolsa
+p:TSA,f:40
+2c2e:00820000:1644:fbff:1:0
+Raisat Cinema
+p:SkyItalia,f:40
+332e:00820000:3390:0071:1:0
+Polsat2
+p:Polsat,f:40
+002f:00820000:25e4:02be:1:0
+OMAN -HOLY QURAN
+p:ARABSAT,f:40
+012f:0082afc1:0065:0001:1:0
+Sawa Gulf Radio 303
+p:,f:40
+012f:00820000:157c:013e:1:0
+R3
+p:NetMed,f:40
+0e2f:00820000:16a8:fbff:1:0
+Leonardo
+p:SkyItalia,f:40
+132f:00820000:33f4:013e:1:0
+JSC Sport+2
+p:Telespazio,f:40
+332f:00820000:3390:0071:1:0
+TV4
+p:Polsat,f:40
+0130:0082afc1:0065:0001:1:0
+Sawa N. Africa Radio 304
+p:,f:40
+0130:00820000:157c:013e:1:0
+R4
+p:NetMed,f:40
+0e30:00820000:16a8:fbff:1:0
+Nuvolari
+p:SkyItalia,f:40
+1330:00820000:33f4:013e:1:0
+JSC Sport+3
+p:Telespazio,f:40
+3330:00820000:3390:0071:1:0
+Polsat Sport
+p:Polsat,f:40
+0131:0082afc1:0065:0001:1:0
+Sawa Sudan Radio 305
+p:,f:40
+0e31:00820000:16a8:fbff:1:0
+Marcopolo
+p:SkyItalia,f:40
+2931:00820000:1edc:0071:1:0
+Techniczny
+p:CyfrowyPolsat,f:40
+2c31:00820000:1644:fbff:1:0
+Raisat Gambero
+p:SkyItalia,f:40
+3331:00820000:3390:0071:1:0
+Polsat Sport Extra
+p:Polsat,f:40
+0032:00822faf:0001:0001:1:0
+VTV4
+p:RRSat,f:40
+0032:00820000:00c9:0006:1:0
+Guide/Bright AC
+p:,C:0e00,f:40
+0132:0082afc1:0065:0001:1:0
+Farda Radio 306
+p:,f:40
+0132:00820000:157c:013e:1:0
+R5
+p:NetMed,f:40
+1132:00820000:2af8:013e:1:0
+Movies24
+p:CYFRA +,f:40
+2c32:00820000:1644:fbff:1:0
+Raisat YOYO
+p:SkyItalia,f:40
+3332:00820000:3390:0071:1:0
+Zdrowie i Uroda
+p:Polsat,f:40
+0033:00822faf:0001:0001:1:0
+CNL
+p:RRSat,f:40
+0033:00820000:00c9:0006:1:0
+Guide/Adult Rock
+p:,C:0e00,f:40
+0133:0082afc1:0065:0001:1:0
+Sawa Lebanon Radio 307
+p:,f:40
+0133:00820000:157c:013e:1:0
+R6
+p:NetMed,f:40
+0e33:00820000:16a8:fbff:1:0
+Fox +1
+p:SkyItalia,f:40
+1133:00820000:2af8:013e:1:0
+TV 4
+p:CYFRA +,f:40
+1333:00820000:33f4:013e:1:0
+Studio Europa
+p:Telespazio,f:40
+2c33:00820000:1644:fbff:1:0
+VideoItalia
+p:SkyItalia,f:40
+3333:00820000:3390:0071:1:0
+TV Biznes
+p:CYFRA+,f:40
+0034:00822faf:0001:0001:1:0
+Rojhelat
+p:RRSat,f:40
+0134:00820000:157c:013e:1:0
+SuperSport1
+p:NetMed,f:40
+0834:00820000:3d54:013e:1:0
+ERTSAT Europe
+p:,f:40
+0e34:00820000:16a8:fbff:1:0
+Fantasy
+p:SkyItalia,f:40
+1134:00820000:2af8:013e:1:0
+4fun.TV
+p:CYFRA +,f:40
+1334:00820000:33f4:013e:1:0
+GLOBE MEDIA
+p:Telespazio,f:40
+1c34:00820000:1c20:013e:1:0
+Khabar TV
+p:AH-EDP,f:40
+2234:00820000:1af4:013e:1:0
+Redlight Italy
+p:TSA,f:40
+3334:00820000:3390:0071:1:0
+Superstacja
+p:Cyfrowy Polsat,f:40
+0e35:00820000:16a8:fbff:1:0
+NatGeo Wild
+p:SkyItalia,f:40
+1135:00820000:2af8:013e:1:0
+EUROSPORT 2
+p:CYFRA +,f:40
+1c35:00820000:1c20:013e:1:0
+Telelombardia
+p:AH-EDP,f:40
+2135:00820000:3070:013e:1:0
+Rai Africa
+p:RAI,f:40
+2935:00820000:1edc:0071:1:0
+RMF MAXXX
+p:Cyfrowy Polsat,f:40
+3335:00820000:3390:0071:1:0
+Polsat News
+p:Cyfrowy Polsat,f:40
+3a35:00820000:1fa4:013e:1:0
+UNIVERSAL
+p:EUTELSAT,f:40
+1136:00820000:2af8:013e:1:0
+PLANETE
+p:CYFRA +,f:40
+1c36:00820000:1c20:013e:1:0
+LIDER TV AZE
+p:AH-EDP,f:40
+2136:00820000:3070:013e:1:0
+RAITALIA INTERNATIONAL
+p:RAI,f:40
+2c36:00820000:1644:fbff:1:0
+Comedy Central
+p:SkyItalia,f:40
+3a36:00820000:1fa4:013e:1:0
+SCI FI
+p:EUTELSAT,f:40
+1137:00820000:2af8:013e:1:0
+MINIMINI
+p:CYFRA +,f:40
+1c37:00820000:1c20:013e:1:0
+Nessuno TV
+p:AH-EDP,f:40
+1338:00820000:33f4:013e:1:0
+NEW TELEVISION
+p:Telespazio,f:40
+1c38:00820000:1c20:013e:1:0
+CCTV4
+p:AH-EDP,f:40
+2c38:00820000:1644:fbff:1:0
+Nickelodeon
+p:SkyItalia,f:40
+1339:00820000:33f4:013e:1:0
+GBR
+p:Telespazio,f:40
+2239:00820000:1af4:013e:1:0
+MCT Gay-Trans
+p:TSA,f:40
+133a:00820000:33f4:013e:1:0
+BTV INPS
+p:Telespazio,f:40
+223a:00820000:1af4:013e:1:0
+MCT Fantasy-Amateur
+p:TSA,f:40
+223b:00820000:1af4:013e:1:0
+Don t Panic TV
+p:TSA,f:40
+013c:00820000:157c:013e:1:0
+JETIX
+p:NetMed,f:40
+2c3c:00820000:1644:fbff:1:0
+NASN
+p:SkyItalia,f:40
+003d:00820000:00c9:0006:1:0
+Bars and Test Tone +4.0 dBu
+p:,f:40
+013d:00820000:157c:013e:1:0
+novacinema1
+p:NetMed,f:40
+113d:00820000:2af8:013e:1:0
+INFO+/C+ Sport2
+p:CYFRA +,f:40
+133d:00820000:33f4:013e:1:0
+Sensuality
+p:Telespazio,f:40
+223d:00820000:1af4:013e:1:0
+MCT Super-Dream
+p:Harmonic,f:40
+013e:00820000:157c:013e:1:0
+novasports1
+p:NetMed,f:40
+133e:00820000:33f4:013e:1:0
+SixtyNine
+p:Telespazio,f:40
+223e:00820000:1af4:013e:1:0
+MCT Strong
+p:TSA,f:40
+013f:00820000:157c:013e:1:0
+MEGA
+p:NetMed,f:40
+123f:00820000:2b5c:013e:1:0
+Discovery Historia
+p:ARQIVA,f:40
+133f:00820000:33f4:013e:1:0
+Telemarket
+p:Telespazio,f:40
+213f:00820000:3070:013e:1:0
+Rai Uno
+p:RAI,f:40
+0140:00820000:157c:013e:1:0
+ANT-1
+p:NetMed,f:40
+1240:00820000:2b5c:013e:1:0
+AXN
+p:ARQIVA,f:40
+2140:00820000:3070:013e:1:0
+Rai Due
+p:RAI,f:40
+0141:00820000:157c:013e:1:0
+STAR
+p:NetMed,f:40
+0641:00820000:2ee0:00b0:1:0
+M6
+p:,C:0100,C:0500,f:40
+1241:00820000:2b5c:013e:1:0
+AXN Crime
+p:ARQIVA,f:40
+2141:00820000:3070:013e:1:0
+Rai Tre
+p:RAI,f:40
+0142:00820000:157c:013e:1:0
+ALTER
+p:NetMed,f:40
+0642:00820000:2ee0:00b0:1:0
+Eurosport
+p:,C:0100,C:0500,f:40
+1242:00820000:2b5c:013e:1:0
+AXN Sci-Fi
+p:ARQIVA,f:40
+2142:00820000:3070:013e:1:0
+Rai Gulp
+p:RAI,f:40
+2242:00820000:1af4:013e:1:0
+MCT Reality-Blu
+p:Harmonic,f:40
+0143:00820000:157c:013e:1:0
+SSExtra 1
+p:NetMed,f:40
+0643:00820000:2ee0:00b0:1:0
+Histoire
+p:,C:0100,C:0500,f:40
+1243:00820000:2b5c:013e:1:0
+Religia
+p:TVN,f:40
+1f43:00820000:319c:013e:1:0
+RTL CH
+p:T-Systems,C:0d02,f:40
+2243:00820000:1af4:013e:1:0
+MCT Gold
+p:Harmonic,f:40
+0144:00820000:157c:013e:1:0
+R13
+p:NetMed,f:40
+0644:00820000:2ee0:00b0:1:0
+TF1
+p:,C:0100,C:0500,f:40
+0145:00820000:157c:013e:1:0
+ALPHA TV
+p:NetMed,f:40
+0046:00820000:1250:0064:1:0
+AIT
+p:,f:40
+0146:00820000:157c:013e:1:0
+R11
+p:NetMed,f:40
+0646:00820000:2ee0:00b0:1:0
+Odyssée
+p:,C:0100,C:0500,f:40
+0047:00820000:1250:0064:1:0
+Bridge TV
+p:,f:40
+0147:00820000:157c:013e:1:0
+R12
+p:NetMed,f:40
+0647:00820000:2ee0:00b0:1:0
+TF6
+p:,C:0100,C:0500,f:40
+0048:00820000:1250:0064:1:0
+MTA International
+p:,f:40
+0148:00820000:157c:013e:1:0
+Test2
+p:NetMed,f:40
+0648:00820000:2ee0:00b0:1:0
+LCI
+p:,C:0500,f:40
+0149:00820000:157c:013e:1:0
+DS Test
+p:NetMed,f:40
+0649:00820000:2ee0:00b0:1:0
+Télétoon+1
+p:,C:0100,C:0500,f:40
+0d49:00820000:1450:013e:1:0
+RAI1
+p:RAI,f:40
+064a:00820000:2ee0:00b0:1:0
+Privatespice
+p:,C:0500,f:40
+0d4a:00820000:1450:013e:1:0
+RAI2
+p:RAI,f:40
+294a:00820000:1edc:0071:1:0
+Portal ITV
+p:OTV,f:40
+064b:00820000:2ee0:00b0:1:0
+Planète Thalassa
+p:,C:0500,f:40
+0d4b:00820000:1450:013e:1:0
+RAI3
+p:RAI,f:40
+1f4b:00820000:319c:013e:1:0
+ZDF
+p:ZDFmobil,f:40
+0d4c:00820000:1450:013e:1:0
+RaiMed
+p:RAI,f:40
+114c:00820000:2af8:013e:1:0
+MTV TWO
+p:CYFRA +,f:40
+044d:00820000:2d50:00b0:1:0
+Canal+
+p:,f:40
+114d:00820000:2af8:013e:1:0
+HBO
+p:CYFRA +,f:40
+1d4d:00820000:2f44:013e:1:0
+novasports3
+p:NetMed,f:40
+044e:00820000:2d50:00b0:1:0
+Canal+ Décalé
+p:,f:40
+044e:00820000:3d54:013e:1:0
+Fileas
+p:,f:40
+0d4e:00820000:1450:013e:1:0
+RaiEdu2
+p:RAI,f:40
+114e:00820000:2af8:013e:1:0
+HALLMARK
+p:CYFRA +,f:40
+1d4e:00820000:2f44:013e:1:0
+VH1
+p:NetMed,f:40
+294e:00820000:1edc:0071:1:0
+Pogoda
+p:OTV2,f:40
+044f:00820000:2d50:00b0:1:0
+France 2
+p:,C:0100,C:0500,f:40
+114f:00820000:2af8:013e:1:0
+HBO2
+p:CYFRA +,f:40
+1d4f:00820000:2f44:013e:1:0
+MTV
+p:NetMed,f:40
+0450:00820000:2d50:00b0:1:0
+Eurosport 2
+p:,C:0100,C:0500,f:40
+0d50:00820000:1450:013e:1:0
+Senato
+p:RAI,f:40
+1150:00820000:2af8:013e:1:0
+HBO COMEDY
+p:CYFRA +,f:40
+2950:00820000:1edc:0071:1:0
+Test-EPG
+p:Cyfrowy Polsat S.A.,f:40
+0051:00822faf:0001:0001:1:0
+Thai Global Network
+p:RRSat,f:40
+0451:00820000:2d50:00b0:1:0
+France 3
+p:,C:0100,C:0500,f:40
+1d51:00820000:2f44:013e:1:0
+MGM
+p:NetMed,f:40
+2d51:00820000:2008:fbff:1:0
+Prima Fila 16
+p:SkyItalia,f:40
+0452:00820000:2d50:00b0:1:0
+Canal+ Cinéma
+p:,f:40
+0d52:00820000:1450:013e:1:0
+Rai Gulp
+p:Rai,f:40
+1d52:00820000:2f44:013e:1:0
+Animal Planet
+p:NetMed,f:40
+0453:00820000:2d50:00b0:1:0
+Canal+ Hi-Tech
+p:,f:40
+1153:00820000:2af8:013e:1:0
+ESP
+p:CYFRA +,f:40
+1d53:00820000:2f44:013e:1:0
+novacinema2
+p:NetMed,f:40
+2d53:00820000:2008:fbff:1:0
+Prima Fila 20
+p:SkyItalia,f:40
+0154:0082afc1:0065:0001:1:0
+IBB TV Dedicated Channel 340
+p:,f:40
+0454:00820000:2d50:00b0:1:0
+Canal+ Sport
+p:,f:40
+0654:00820000:2ee0:00b0:1:0
+M6
+p:,C:0100,C:0500,f:40
+1d54:00820000:2f44:013e:1:0
+National Geographic
+p:NetMed,f:40
+0455:00820000:2d50:00b0:1:0
+OL TV
+p:,C:0100,C:0500,f:40
+0655:00820000:2ee0:00b0:1:0
+TF1
+p:,C:0100,C:0500,f:40
+1d55:00820000:2f44:013e:1:0
+novacinema2 Cy
+p:NetMed,f:40
+0456:00820000:2d50:00b0:1:0
+I>TELE
+p:,C:0500,f:40
+1d56:00820000:2f44:013e:1:0
+A TEST
+p:NetMed,f:40
+2456:00820000:23f0:013f:1:0
+Administra.it - FLTV
+p:Administra.it - FLTV,f:40
+1d57:00820000:2f44:013e:1:0
+MAD VMA '08
+p:NetMed,f:40
+2d57:00820000:2008:fbff:1:0
+Prima Fila 24
+p:SkyItalia,f:40
+1f59:00820000:319c:013e:1:0
+MI-TV
+p:T-Systems,f:40
+2d59:00820000:2008:fbff:1:0
+Prima Fila 8
+p:SkyItalia,f:40
+025a:00820000:3c8c:013e:1:0
+IranMusic
+p:T-Systems,f:40
+1f5a:00820000:319c:013e:1:0
+SRI TV
+p:T-Systems,f:40
+2d5b:00820000:2008:fbff:1:0
+Prima Fila 26
+p:SkyItalia,f:40
+1f5c:00820000:319c:013e:1:0
+Venere TV
+p:T-Systems,f:40
+025d:00820000:3c8c:013e:1:0
+Napoli TLA
+p:T-Systems,f:40
+1f5d:00820000:319c:013e:1:0
+Sport Channel
+p:T-Systems,f:40
+2b5d:00820000:19c8:fbff:1:0
+SKYCinema 1
+p:SkyItalia,f:40
+2d5d:00820000:2008:fbff:1:0
+SKY Calcio 9
+p:SkyItalia,f:40
+025e:00820000:3c8c:013e:1:0
+ARD "Das Erste"
+p:T-Systems,f:40
+125e:00820000:3458:013e:1:0
+Telenord
+p:T-Systems/MTI,f:40
+1f5e:00820000:319c:013e:1:0
+Iran Beauty
+p:T-Systems,f:40
+015f:00820000:1c84:013e:1:0
+Discovery Channel
+p:NetMed,f:40
+025f:00820000:3c8c:013e:1:0
+DW-TV EUROPA
+p:Deutsche Welle,f:40
+125f:00820000:3458:013e:1:0
+Trentino TV
+p:T-Systems/MTI,f:40
+1f5f:00820000:319c:013e:1:0
+C TV Coptic CH
+p:T-Systems,f:40
+2b5f:00820000:19c8:fbff:1:0
+SKY Mania
+p:SkyItalia,f:40
+2d5f:00820000:2008:fbff:1:0
+SKY Calcio 10
+p:SkyItalia,f:40
+365f:00820000:1388:013e:1:0
+BBC Arabic
+p:BBC World Service,f:40
+0160:00820000:1c84:013e:1:0
+R9
+p:NetMed,f:40
+0260:00820000:3c8c:013e:1:0
+DW-TV ARABIA
+p:Deutsche Welle,f:40
+0460:00820000:2d50:00b0:1:0
+France 2
+p:,C:0100,C:0500,f:40
+1f60:00820000:319c:013e:1:0
+tv PERSIA
+p:T-Systems,f:40
+0161:00820000:1c84:013e:1:0
+novasports2
+p:NetMed,f:40
+0261:00820000:3c8c:013e:1:0
+RTL 2 CH
+p:T-Systems,f:40
+0461:00820000:2d50:00b0:1:0
+France 3
+p:,C:0100,C:0500,f:40
+1261:00820000:3458:013e:1:0
+Sat9
+p:T-Systems/MTI,f:40
+2b61:00820000:19c8:fbff:1:0
+SKYCinema 3
+p:SkyItalia,f:40
+2d61:00820000:2008:fbff:1:0
+SKY Calcio 11
+p:SkyItalia,f:40
+3b61:00820000:0578:013e:1:0
+HBO HD
+p:ITI,f:40
+0162:00820000:1c84:013e:1:0
+TCM
+p:NetMed,f:40
+0462:00820000:2d50:00b0:1:0
+I>TELE
+p:,C:0500,f:40
+1262:00820000:3458:013e:1:0
+ELITE SHOPPING
+p:T-Systems/MTI,f:40
+2d62:00820000:2008:fbff:1:0
+SKY Calcio 12
+p:SkyItalia,f:40
+0163:00820000:1c84:013e:1:0
+Test TX
+p:NetMed,f:40
+2d63:00820000:2008:fbff:1:0
+SKY Calcio 13
+p:SkyItalia,f:40
+0064:0082afc1:0065:0001:1:0
+VOA TV 100 (HB1-4)
+p:,f:40
+0164:00820000:1c84:013e:1:0
+R15
+p:NetMed,f:40
+0264:00820000:3c8c:013e:1:0
+7'armanat Nar
+p:T-Systems,f:40
+0f64:00820000:251c:fbff:1:0
+Vetrina Primafila
+p:SkyItalia,f:40
+1264:00820000:3458:013e:1:0
+Hot Week
+p:T-Systems/MTI,f:40
+2d64:00820000:2008:fbff:1:0
+SKY Calcio 14
+p:SkyItalia,f:40
+0065:00820000:1e14:013e:1:0
+Gulli
+p:Globecast,C:0500,f:40
+0165:00820000:1c84:013e:1:0
+R10
+p:NetMed,f:40
+0265:00820000:3c8c:013e:1:0
+arab-69.tv
+p:T-Systems,f:40
+0f65:00820000:251c:fbff:1:0
+Prima Fila 1
+p:SkyItalia,f:40
+1265:00820000:3458:013e:1:0
+Sevince TV
+p:T-Systems/MTI,f:40
+2b65:00820000:19c8:fbff:1:0
+SKY Calcio 1
+p:SkyItalia,f:40
+0066:00820000:1e14:013e:1:0
+AZ TV
+p:GlobeCast,f:40
+0166:00820000:1c84:013e:1:0
+R8
+p:NetMed,f:40
+0266:00820000:3c8c:013e:1:0
+' ' Hot Arab Sex
+p:T-Systems,f:40
+0f66:00820000:251c:fbff:1:0
+Prima Fila 2
+p:SkyItalia,f:40
+1266:00820000:3458:013e:1:0
+Betting Channel
+p:T-Systems/MTI,f:40
+2d66:00820000:2008:fbff:1:0
+SKY Sport 16:9
+p:SkyItalia,f:40
+0067:00820000:1e14:013e:1:0
+COMING SOON
+p:GlobeCast,f:40
+0267:00820000:3c8c:013e:1:0
+.69arabdream.tv
+p:T-Systems,f:40
+0f67:00820000:251c:fbff:1:0
+Prima Fila 12
+p:SkyItalia,f:40
+2b67:00820000:19c8:fbff:1:0
+E!
+p:SkyItalia,f:40
+0068:00820000:1e14:013e:1:0
+FILLES TV
+p:Globecast,C:0500,f:40
+0168:00820000:1c84:013e:1:0
+Cartoon
+p:NetMed,f:40
+0268:00820000:3c8c:013e:1:0
+Arab-Jins
+p:MEDIA BROADCAST,f:40
+0f68:00820000:251c:fbff:1:0
+Prima Fila 4
+p:SkyItalia,f:40
+0069:00820000:1e14:013e:1:0
+MEZZO
+p:Globecast,C:0604,C:0100,C:0500,f:40
+0169:00820000:1c84:013e:1:0
+MACEDONIA TV
+p:NetMed,f:40
+0269:00820000:3c8c:013e:1:0
+Zawaj elmot3a
+p:MEDIA BROADCAST,f:40
+0f69:00820000:251c:fbff:1:0
+Prima Fila 6
+p:SkyItalia,f:40
+2969:00820000:22c4:013e:1:0
+LIVE 24
+p:Belgacom,f:40
+2d69:00820000:2008:fbff:1:0
+SKY Sport Extra
+p:SkyItalia,f:40
+006a:00820000:1e14:013e:1:0
+Canal J
+p:GlobeCast,C:0500,f:40
+016a:00820000:1c84:013e:1:0
+SKAI TV
+p:NetMed,f:40
+026a:00820000:3c8c:013e:1:0
+Lebnaniat TV.
+p:T-Systems,f:40
+0f6a:00820000:251c:fbff:1:0
+Prima Fila 7
+p:SkyItalia,f:40
+1d6a:00820000:2f44:013e:1:0
+SSExtra 2
+p:NetMed,f:40
+226a:00820000:238c:013e:1:0
+Canal Algerie
+p:TDA,f:40
+296a:00820000:22c4:013e:1:0
+.Eurotour-Xstream
+p:Belgacom,f:40
+016b:00820000:1c84:013e:1:0
+ET-3
+p:NetMed,f:40
+026b:00820000:3c8c:013e:1:0
+Arab XXX
+p:T-Systems,f:40
+0f6b:00820000:251c:fbff:1:0
+Prima Fila 9
+p:SkyItalia,f:40
+226b:00820000:238c:013e:1:0
+A3
+p:TDA,f:40
+296b:00820000:22c4:013e:1:0
+Komala TV
+p:Belgacom,f:40
+2b6b:00820000:19c8:fbff:1:0
+SKY Max
+p:SkyItalia,f:40
+006c:00820000:1e14:013e:1:0
+SUBACQUEA TV
+p:GlobeCast,f:40
+026c:00820000:3c8c:013e:1:0
+Wala3 Arab tv
+p:T-Systems,f:40
+0f6c:00820000:251c:fbff:1:0
+Prima Fila 10
+p:SkyItalia,f:40
+296c:00820000:22c4:013e:1:0
+Zee TV
+p:Belgacom,f:40
+006d:00820000:1e14:013e:1:0
+HOLY GOD
+p:Globecast,f:40
+026d:00820000:3c8c:013e:1:0
+Xtele.tv
+p:T-Systems,f:40
+0f6d:00820000:251c:fbff:1:0
+Vetrina Primafila
+p:SkyItalia,f:40
+206d:00820000:2328:013e:1:0
+HRT-TV1
+p:OIV Zagreb,f:40
+296d:00820000:22c4:013e:1:0
+ROJ
+p:Belgacom,f:40
+006e:00820000:1e14:013e:1:0
+Virgin 17
+p:Globecast,C:0500,f:40
+026e:00820000:3c8c:013e:1:0
++18 Nisa
+p:MEDIA BROADCAST,f:40
+0f6e:00820000:251c:fbff:1:0
+FX
+p:SkyItalia,f:40
+126e:00820000:3458:013e:1:0
+ALL SEX
+p:T-Systems/MTI,f:40
+206e:00820000:2328:013e:1:0
+HRT-TV2
+p:OIV Zagreb,f:40
+2b6e:00820000:19c8:fbff:1:0
+Disney Channel
+p:SkyItalia,f:40
+016f:00820000:1c84:013e:1:0
+R7
+p:NetMed,f:40
+026f:00820000:3c8c:013e:1:0
+Al Jameela Jins
+p:MEDIA BROADCAST,f:40
+0f6f:00820000:251c:fbff:1:0
+Vetrina Primafila
+p:SkyItalia,f:40
+126f:00820000:3458:013e:1:0
+Made In Italy
+p:T-Systems/MTI,f:40
+206f:00820000:2328:013e:1:0
+HRT PLUS
+p:OIV Zagreb,f:40
+296f:00820000:22c4:013e:1:0
+2M MAROC
+p:BELGACOM,f:40
+2b6f:00820000:19c8:fbff:1:0
+New Ch1
+p:SkyItalia,f:40
+0070:00820000:1e14:013e:1:0
+Rainbow TV
+p:Tadiran Scopus,f:40
+0070:00820000:00c9:0006:1:0
+Guide/AFN Franconia Eagle
+p:,C:0e00,f:40
+0170:00820000:1c84:013e:1:0
+novasports7
+p:NetMed,f:40
+0270:00820000:3c8c:013e:1:0
+.arab babes
+p:T-Systems,f:40
+1270:00820000:3458:013e:1:0
+ODEON SAT
+p:T-Systems/MTI,f:40
+2b70:00820000:19c8:fbff:1:0
+SKY Show
+p:SkyItalia,f:40
+0071:00820000:1e14:013e:1:0
+DAN TV
+p:GlobeCast,f:40
+0071:00820000:00c9:0006:1:0
+Guide/AFN Franconia PowerNet
+p:,C:0e00,f:40
+0171:00820000:1c84:013e:1:0
+novasports7 Cy
+p:NetMed,f:40
+0f71:00820000:251c:fbff:1:0
+Vetrina Primafila
+p:SkyItalia,f:40
+2971:00820000:22c4:013e:1:0
+ARY DIGITAL
+p:Belgacom,f:40
+0072:00822faf:0001:0001:1:0
+TCT
+p:RRSat,f:40
+0072:00820000:1e14:013e:1:0
+TIJI
+p:GlobeCast ,C:0500,f:40
+0172:00820000:1c84:013e:1:0
+Mad Music Hits GR Cy
+p:NetMed,f:40
+0272:00820000:3c8c:013e:1:0
+Erde und Mensch
+p:T-Systems,f:40
+1f72:00820000:319c:013e:1:0
+Akubis Classic
+p:T-Systems,C:0b00,f:40
+0073:00822faf:0001:0001:1:0
+Arirang TV
+p:RRSat,f:40
+0173:00820000:1c84:013e:1:0
+Mad Music My Rock Cy
+p:NetMed,f:40
+0273:00820000:3c8c:013e:1:0
+Italiamia
+p:T-Systems,f:40
+1273:00820000:3458:013e:1:0
+MagicTV
+p:T-Systems/MTI,f:40
+1f73:00820000:319c:013e:1:0
+Akubis Direkt
+p:T-Systems,C:0b00,f:40
+0074:00822faf:0001:0001:1:0
+KURDsat
+p:RRSat,f:40
+0174:00820000:1c84:013e:1:0
+Mad Music Greek Cy
+p:NetMed,f:40
+0274:00820000:3c8c:013e:1:0
+FREE CHANNEL
+p:T-Systems,f:40
+1274:00820000:3458:013e:1:0
+Sat8
+p:T-Systems/MTI,f:40
+1f74:00820000:319c:013e:1:0
+AKUBIS Special IG
+p:T-Systems,C:0b00,f:40
+0075:00820000:1e14:013e:1:0
+KURD 1
+p:GlobeCast,f:40
+0175:00820000:1c84:013e:1:0
+Mad Music Rebetico Cy
+p:NetMed,f:40
+0275:00820000:3c8c:013e:1:0
+pdf.tv
+p:T-Systems,f:40
+1275:00820000:3458:013e:1:0
+TLC SAT
+p:T-Systems/MTI,f:40
+0076:00820000:1e14:013e:1:0
+Private Spice
+p:digital media centre,f:40
+0176:00820000:1c84:013e:1:0
+Mad Music Seasonal Cy
+p:NetMed,f:40
+1276:00820000:3458:013e:1:0
+STARSAT
+p:T-Systems/MTI,f:40
+2976:00820000:22c4:013e:1:0
+MEZOPOTAMIA
+p:Belgacom,f:40
+0077:00820000:1e14:013e:1:0
+Canale Italia
+p:,f:40
+0277:00820000:3c8c:013e:1:0
+Sexy Sexy TV
+p:T-Systems,f:40
+0078:00822faf:0001:0001:1:0
+Newroz
+p:RRSAt,f:40
+0178:00820000:1c84:013e:1:0
+NEÔ
+p:NetMed,f:40
+0278:00820000:3c8c:013e:1:0
+xxx Action TV
+p:T-Systems,f:40
+1278:00820000:3458:013e:1:0
+MOTORI TV
+p:T-Systems/MTI,f:40
+2978:00820000:22c4:013e:1:0
+Alpha ETC Punjabi
+p:Belgacom,f:40
+0179:00820000:1c84:013e:1:0
+MAD T.V
+p:NetMed,f:40
+0279:00820000:3c8c:013e:1:0
+Tele A+
+p:T-Systems,f:40
+0579:00820000:2c88:00b0:1:0
+Infosport
+p:,C:0100,C:0500,f:40
+017a:00820000:1c84:013e:1:0
+ET-1
+p:NetMed,f:40
+057a:00820000:2c88:00b0:1:0
+Planète Juniors
+p:,C:0100,C:0500,f:40
+127a:00820000:3458:013e:1:0
+PLAY TV ITALIA
+p:T-Systems/MTI,f:40
+237a:00820000:238c:013e:1:0
+RETE ORO
+p:Scopus Network Technologies,f:40
+027b:00820000:3c8c:013e:1:0
+COOLtv
+p:Media Braodcast,f:40
+057b:00820000:2c88:00b0:1:0
+Série Club
+p:,C:0100,C:0500,f:40
+127b:00820000:3458:013e:1:0
+PEOPLE TV-RETE7
+p:T-Systems/MTI,f:40
+227b:00820000:238c:013e:1:0
+TVA Vicenza
+p:MultiProgram,f:40
+017c:00820000:1c84:013e:1:0
+MAD TV
+p:NetMed,f:40
+027c:00820000:3c8c:013e:1:0
+Tele A
+p:Media Broadcast,f:40
+057c:00820000:2c88:00b0:1:0
+Fun TV
+p:,C:0100,C:0500,f:40
+117c:00820000:2af8:013e:1:0
+DTV CABLE PL
+p:CYFRA +,f:40
+127c:00820000:3458:013e:1:0
+ROMA SAT
+p:T-Systems/MTI,f:40
+227c:00820000:238c:013e:1:0
+CARPE DIEM
+p:MultiProgram,f:40
+017d:00820000:1c84:013e:1:0
+R14
+p:NetMed,f:40
+057d:00820000:2c88:00b0:1:0
+Téva
+p:,C:0100,C:0500,f:40
+117d:00820000:2af8:013e:1:0
+DTV CABLE MI
+p:CYFRA +,f:40
+127d:00820000:3458:013e:1:0
+MTI
+p:T-Systems/MTI,f:40
+227d:00820000:238c:013e:1:0
+GENIUS TV
+p:MultiProgram,f:40
+297d:00820000:22c4:013e:1:0
+Newroz
+p:BSS,f:40
+057e:00820000:2c88:00b0:1:0
+Télétoon
+p:,C:0100,C:0500,f:40
+127e:00820000:3458:013e:1:0
+Mediatel
+p:T-Systems/MTI,f:40
+1d7e:00820000:2f44:013e:1:0
+OTV Test
+p:NetMed,f:40
+227e:00820000:238c:013e:1:0
+LA 8
+p:MultiProgram,f:40
+377e:00820000:044c:013e:1:0
+Rang-A-Rang TV
+p:RRSat,f:40
+017f:00820000:1c84:013e:1:0
+novasports2 Cy
+p:NetMed,f:40
+057f:00820000:2c88:00b0:1:0
+Paris Première
+p:,C:0500,f:40
+1d7f:00820000:2f44:013e:1:0
+OTV PVR
+p:NetMed,f:40
+377f:00820000:044c:013e:1:0
+CALABRIA
+p:RRSat,f:40
+0180:00820000:1c84:013e:1:0
+ÂïõëÞ
+p:NetMed,f:40
+0580:00820000:2c88:00b0:1:0
+Piwi
+p:,C:0100,C:0500,f:40
+2980:00820000:22c4:013e:1:0
+Zee Cinema
+p:Belgacom,f:40
+3780:00820000:044c:013e:1:0
+TIZIANA SAT
+p:,f:40
+0c81:00820000:1f40:013e:1:0
+SLO-TV1
+p:RTV Slovenija,f:40
+2981:00820000:22c4:013e:1:0
+B4U Movies
+p:Belgacom,f:40
+3781:00820000:044c:013e:1:0
+RTA
+p:RRSat,f:40
+0082:00822faf:0001:0001:1:0
+FREE-XTV 2
+p:RRSat,f:40
+0182:00820000:1c84:013e:1:0
+MAD MUSIC Hits GR
+p:NetMed,f:40
+0582:00820000:2c88:00b0:1:0
+M6 Music Hits
+p:,C:0100,C:0500,f:40
+0c82:00820000:1f40:013e:1:0
+SLO-TV2
+p:RTV Slovenija,f:40
+0083:00822faf:0001:0001:1:0
+XDream TV
+p:RRSat,f:40
+0183:00820000:1c84:013e:1:0
+MAD MUSIC My Rock
+p:NetMed,f:40
+0c83:00820000:1f40:013e:1:0
+TV K-C
+p:RTV Slovenija,f:40
+3783:00820000:044c:013e:1:0
+Cancao Nova
+p:,f:40
+0084:00820000:00c9:0006:1:0
+Guide/AFN Hessen Eagle
+p:,C:0e00,f:40
+0184:00820000:1c84:013e:1:0
+MAD MUSIC Greek
+p:NetMed,f:40
+0584:00820000:2c88:00b0:1:0
+CANAL + FAMILY
+p:,C:0500,f:40
+3584:00820000:1388:013e:1:0
+Zagros Tv
+p:BT,f:40
+3784:00820000:044c:013e:1:0
+Bethel TV
+p:,f:40
+0085:00820000:00c9:0006:1:0
+Guide/AFN Hessen PowerNet
+p:,C:0e00,f:40
+0185:00820000:1c84:013e:1:0
+MAD MUSIC Rebetico
+p:NetMed,f:40
+0385:00820000:2134:013e:1:0
+SF 1
+p:Schweizer Fernsehen,f:40
+1285:00820000:3458:013e:1:0
+.Lolita
+p:T-Systems/MTI,f:40
+1c85:00820000:332c:013e:1:0
+Motors TV
+p:Arqiva France,f:40
+1c85:00820000:1ce8:0071:1:0
+Zone Romantica
+p:Cyfrowy Polsat,f:40
+3785:00820000:044c:013e:1:0
+Extra 3
+p:,f:40
+0086:00822faf:0001:0001:1:0
+Free-X TV
+p:RRSat,f:40
+0186:00820000:1c84:013e:1:0
+MAD MUSIC Seasonal
+p:NetMed,f:40
+0586:00820000:2c88:00b0:1:0
+Teletoon Africa
+p:,C:0500,f:40
+1c86:00820000:1ce8:0071:1:0
+AXN Crime
+p:Cyfrowy Polsat,f:40
+1f86:00820000:319c:013e:1:0
+bwtv
+p:T-Systems,f:40
+3786:00820000:044c:013e:1:0
+Dorcel TV
+p:,f:40
+0087:00822faf:0001:0001:1:0
+SAMA FM TV
+p:RRSat,f:40
+0c87:00820000:1f40:013e:1:0
+SLO-TV3
+p:RTV Slovenija,f:40
+1287:00820000:3458:013e:1:0
+Feyz TV
+p:T-Systems/MTI,f:40
+1c87:00820000:1ce8:0071:1:0
+AXN Sci-Fi
+p:Cyfrowy Polsat,f:40
+2487:00820000:23f0:013f:1:0
+TELE5
+p:EUTELSAT,f:40
+1288:00820000:3458:013e:1:0
+Mobile Arena TV
+p:T-Systems/MTI,f:40
+1d88:00820000:2f44:013e:1:0
+novasports3 Cy
+p:NetMed,f:40
+2488:00820000:23f0:013f:1:0
+POLONIA1
+p:EUTELSAT,f:40
+0c89:00820000:1f40:013e:1:0
+BVN-TV
+p:RTV Slovenija,f:40
+1c89:00820000:1ce8:0071:1:0
+Extreme Sports
+p:Cyfrowy Polsat,f:40
+2489:00820000:23f0:013f:1:0
+EDUSAT
+p:EUTELSAT,f:40
+3589:00820000:1388:013e:1:0
+TRSP
+p:BT,f:40
+3789:00820000:044c:013e:1:0
+TAPESH TV2
+p:GlobeCast,f:40
+378a:00820000:044c:013e:1:0
+ADJARA TV
+p:,f:40
+038b:00820000:2134:013e:1:0
+SF zwei
+p:Schweizer Fernsehen,f:40
+128b:00820000:3458:013e:1:0
+EBC.1
+p:T-Systems/MTI,f:40
+0c8c:00820000:1f40:013e:1:0
+XL Tv
+p:OIV Zagreb,f:40
+128c:00820000:3458:013e:1:0
+Heaven TV
+p:T-Systems/MTI,f:40
+008d:00820000:0389:0110:1:0
+Canale 5
+p:Mediaset,f:40
+0c8d:00820000:1f40:013e:1:0
+TV SLJEME
+p:OiV Zagreb,f:40
+208d:00820000:2328:013e:1:0
+Italia 8
+p:OiV Zagreb,f:40
+378d:00820000:044c:013e:1:0
+One Minute TV
+p:PRVDR,f:40
+008e:00820000:012d:0006:1:0
+The Eagle-Vicenza
+p:,C:0e00,f:40
+008e:00820000:0389:0110:1:0
+Italia 1
+p:Mediaset,f:40
+0c8e:00820000:1f40:013e:1:0
+PLEASURE TV
+p:OIV Zagreb,f:40
+208e:00820000:2328:013e:1:0
+Jewels Sorg1
+p:OiV Zagreb,f:40
+378e:00820000:044c:013e:1:0
+ECTV
+p:RRSat,f:40
+008f:00820000:012d:0006:1:0
+Power-Vicenza
+p:,C:0e00,f:40
+008f:00820000:0389:0110:1:0
+Rete 4
+p:Mediaset,f:40
+038f:00820000:2134:013e:1:0
+SF info
+p:Schweizer Fernsehen,f:40
+1d8f:00820000:2f44:013e:1:0
+novacinema1 Cy
+p:NetMed,f:40
+208f:00820000:2328:013e:1:0
+Jewels Sorg2
+p:OiV Zagreb,f:40
+0090:00820000:0389:0110:1:0
+Iris
+p:Mediaset,f:40
+0190:0082afc1:0065:0001:1:0
+VNN TEST 400
+p:,f:40
+2090:00820000:2328:013e:1:0
+Jewels Sorg3
+p:OiV Zagreb,f:40
+3790:00820000:044c:013e:1:0
+PDF Channel
+p: ,f:40
+2092:00820000:2328:013e:1:0
+Health&Beauty TV
+p:OiV Zagreb,f:40
+2492:00820000:23f0:013f:1:0
+AL JAZEERA CHILDREN
+p:Al Jazeera,f:40
+3792:00820000:044c:013e:1:0
+TV2DAY
+p:RRSat,f:40
+0c93:00820000:1f40:013e:1:0
+BLU LINE
+p:OIV Zagreb,f:40
+1c93:00820000:1ce8:0071:1:0
+Discovery
+p:Cyfrowy Polsat,f:40
+1d93:00820000:2f44:013e:1:0
+EEPG
+p:NetMed,f:40
+0c94:00820000:1f40:013e:1:0
+NTV HAYAT SAT
+p:RTV Slovenija,f:40
+1c94:00820000:1ce8:0071:1:0
+Animal Planet
+p:Cyfrowy Polsat,f:40
+0c95:00820000:1f40:013e:1:0
+DANCE TV
+p:OIV Zagreb,f:40
+1d95:00820000:2f44:013e:1:0
+NOVA SCOPE
+p:NetMed,f:40
+3795:00820000:044c:013e:1:0
+Casa Italia
+p:PRVDR,f:40
+0c96:00820000:1f40:013e:1:0
+ITALIAN MUSIC
+p:OIV Zagreb,f:40
+1c96:00820000:1ce8:0071:1:0
+AXN
+p:Cyfrowy Polsat,f:40
+2096:00820000:2328:013e:1:0
+RBC-TV
+p:OiV Zagreb,f:40
+0097:00820000:0389:0110:1:0
+Sportitalia
+p:,f:40
+1d97:00820000:2f44:013e:1:0
+Travel Channel
+p:NetMed,f:40
+2097:00820000:2328:013e:1:0
+OASI TV
+p:OIV Zagreb,f:40
+3797:00820000:044c:013e:1:0
+MTV PULSE
+p:,f:40
+0098:00820000:0389:0110:1:0
+Sportitalia24
+p:,f:40
+0098:00820000:00c9:0006:1:0
+Guide/AFN Heidelberg Eagle
+p:,C:0e00,f:40
+2098:00820000:2328:013e:1:0
+NOELLO SAT
+p:OiV Zagreb,f:40
+3598:00820000:1388:013e:1:0
+Telefortune
+p:BT,f:40
+3798:00820000:044c:013e:1:0
+MTV IDOL
+p:,f:40
+0099:00820000:00c9:0006:1:0
+Guide/AFN Heidelberg PowerNet
+p:,C:0e00,f:40
+1c99:00820000:332c:013e:1:0
+TV5MONDE FBS
+p:TV5MONDE,f:40
+1d99:00820000:2f44:013e:1:0
+novasports1 Cy
+p:NetMed,f:40
+2099:00820000:2328:013e:1:0
+TAXI CHANNEL
+p:OiV Zagreb,f:40
+3a99:00820000:0514:013e:1:0
+Wojna i Pokoj
+p:ITI,f:40
+019a:00820000:1964:013e:1:0
+ART PRIME SPORT - ARABESQUE
+p:ART,f:40
+0c9a:00820000:1f40:013e:1:0
+Diva Futura
+p:OIV Zagreb,f:40
+1c9a:00820000:332c:013e:1:0
+TV5MONDE EUROPE
+p:TV5MONDE,f:40
+1d9a:00820000:2f44:013e:1:0
+Stest1
+p:NetMed,f:40
+3a9a:00820000:0514:013e:1:0
+nTalk
+p:ITI,f:40
+3a9b:00820000:0514:013e:1:0
+TVN Lingua
+p:ITI,f:40
+1c9c:00820000:332c:013e:1:0
+ANN
+p:Arqiva France,f:40
+219c:00822a65:2db4:0000:1:0
+Supreme Master TV
+p:T-Systems,f:40
+1c9d:00820000:332c:013e:1:0
+Videolook
+p:Arqiva France,f:40
+359d:00820000:1388:013e:1:0
+Nepali
+p:BT,f:40
+0c9e:00820000:1f40:013e:1:0
+CRO MUSIC CHANNEL
+p:OiV Zagreb,f:40
+1c9e:00820000:332c:013e:1:0
+Kurdistan TV
+p:Arqiva France,f:40
+0c9f:00820000:1f40:013e:1:0
+Kanal e Jadid
+p:OiV Zagreb,f:40
+1c9f:00820000:332c:013e:1:0
+Iran TV
+p:Arqiva France,f:40
+0ca0:00820000:1f40:013e:1:0
+LOVEWORLD
+p:OiV Zagreb,f:40
+1ca0:00820000:332c:013e:1:0
+Videolina
+p:Arqiva France,f:40
+00a2:00820000:012d:0006:1:0
+The Eagle - La Maddalena
+p:,C:0e00,f:40
+1ca2:00820000:332c:013e:1:0
+RTB
+p:Arqiva,f:40
+2ca2:00820000:170c:fbff:1:0
+MTV
+p:SkyItalia,f:40
+35a2:00820000:1388:013e:1:0
+Infochannel
+p:BT,f:40
+00a3:00820000:012d:0006:1:0
+Power - La Maddalena
+p:,C:0e00,f:40
+1ca3:00820000:332c:013e:1:0
+Starmarket
+p:Arqiva France,f:40
+35a3:00820000:1388:013e:1:0
+Sardinia
+p:BT,f:40
+01a4:00820000:1964:013e:1:0
+ART CHILDREN/TARAB - ARABESQUE
+p:ART,f:40
+29a4:00820000:22c4:013e:1:0
+AIRBOX TV
+p:BSS,f:40
+06a5:00820000:3138:013e:1:0
+W9
+p:Globecast,C:0100,C:0500,f:40
+0ca5:00820000:1f40:013e:1:0
+TVS
+p:OIV Zagreb,f:40
+1ca5:00820000:332c:013e:1:0
+GEM TV
+p:Arqiva France,f:40
+29a5:00820000:22c4:013e:1:0
+Podroze TV
+p:Belgacom,f:40
+06a6:00820000:3138:013e:1:0
+M6 Boutique la chaine
+p:Globecast,f:40
+06a7:00820000:3138:013e:1:0
+Boomerang
+p:Globecast,C:0100,C:0500,f:40
+06a8:00820000:3138:013e:1:0
+Demain!
+p:Globecast,f:40
+16a8:00820000:2ee0:00b0:1:0
+Météo Express
+p:OpenMux,f:40
+1fa8:00820000:2454:013e:1:0
+TELESUD
+p:GlobeCast,f:40
+2aa8:00820000:1838:fbff:1:0
+SKY Sport 1
+p:SkyItalia,f:40
+06a9:00820000:3138:013e:1:0
+Tele Melody
+p:Globecast,C:0100,C:0500,f:40
+1fa9:00820000:2454:013e:1:0
+Abu_Dhabi_Sport
+p:GlobeCast,f:40
+2aa9:00820000:1838:fbff:1:0
+SKY Sport 2
+p:SkyItalia,f:40
+06aa:00820000:3138:013e:1:0
+CCTV9
+p:Globecast,f:40
+2aaa:00820000:1838:fbff:1:0
+SKY SuperCalcio
+p:SkyItalia,f:40
+06ab:00820000:3138:013e:1:0
+CLP TV
+p:Globecast,f:40
+1fab:00820000:2454:013e:1:0
+Hope_Channel
+p:GlobeCast,f:40
+2aab:00820000:1838:fbff:1:0
+Sport Active 1
+p:SkyItalia,f:40
+00ac:00820000:00c9:0006:1:0
+Guide/AFN Bavaria Eagle
+p:,C:0e00,f:40
+06ac:00820000:3138:013e:1:0
+RTR
+p:Globecast,f:40
+1cac:00820000:1ce8:0071:1:0
+ESPN
+p:Cyfrowy Polsat,f:40
+1fac:00820000:2454:013e:1:0
+Hope_Channel_2
+p:,f:40
+21ac:00822a65:2db4:0000:1:0
+eurotic TV
+p:T-Systems,f:40
+2aac:00820000:1838:fbff:1:0
+Sports Active 2
+p:SkyItalia,f:40
+35ac:00820000:1388:013e:1:0
+SET
+p:Sicilia Int,f:40
+00ad:00820000:00c9:0006:1:0
+Guide/AFN Bavaria PowerNet
+p:,C:0e00,f:40
+0dad:00820000:14b4:013e:1:0
+TVE Internacional
+p:RTVE,f:40
+1fad:00820000:2454:013e:1:0
+Liberty_TV _FR
+p:GlobeCast,f:40
+21ad:00822a65:2db4:0000:1:0
+INXTC TV
+p:T-Systems,f:40
+22ad:00820000:238c:013e:1:0
+DIRECT 8
+p:EUTELSAT ,f:40
+01ae:00820000:1964:013e:1:0
+ART MOVIES - ARABESQUE
+p:ART,f:40
+06ae:00820000:3138:013e:1:0
+Vesti
+p:Globecast,f:40
+0dae:00820000:14b4:013e:1:0
+Canal 24 Horas
+p:RTVE,f:40
+1cae:00820000:1ce8:0071:1:0
+KINO POLSKA
+p:Cyfrowy Polsat,f:40
+22ae:00820000:238c:013e:1:0
+TV8 Mt Blanc
+p:EUTELSAT ,f:40
+06af:00820000:3138:013e:1:0
+Berbere Television
+p:Globecast,C:0100,C:0500,f:40
+0daf:00820000:14b4:013e:1:0
+TVE Internacional Asia
+p:RTVE,f:40
+21af:00822a65:2db4:0000:1:0
+eurotic TV 2
+p:T-Systems,f:40
+2aaf:00820000:1838:fbff:1:0
+SKY Calcio Info
+p:SkyItalia,f:40
+1fb0:00820000:206c:013e:1:0
+SEX VIEW 264
+p:,f:40
+21b0:00822a65:2db4:0000:1:0
+Sexy-Arab.TV
+p:T-Systems,f:40
+22b0:00820000:238c:013e:1:0
+DIRECT 8
+p:EUTELSAT ,f:40
+04b1:00820000:2bc0:00b0:1:0
+C Cinéma Frisson
+p:,C:0100,C:0500,f:40
+06b1:00820000:3138:013e:1:0
+MTV BASE
+p:EUTELSAT,f:40
+1fb1:00820000:2454:013e:1:0
+Payam_TV
+p:GlobeCast,f:40
+21b1:00822a65:2db4:0000:1:0
+Fatayat 7'armanat
+p:T-Systems,f:40
+36b1:00820000:206c:013e:1:0
+SEX VIEW INFO
+p:Scopus Network Technologies,f:40
+04b2:00820000:2bc0:00b0:1:0
+C Cinéma Premier
+p:,C:0100,C:0500,f:40
+06b2:00820000:3138:013e:1:0
+Aljazeera Intl
+p:Globecast,f:40
+21b2:00822a65:2db4:0000:1:0
+Ta3arees TV
+p:T-Systems,f:40
+36b2:00820000:206c:013e:1:0
+SEX VIEW PLUS
+p:Scopus Network Technologies,f:40
+36b2:00820000:06a4:013e:1:0
+TSR1
+p:Television Suisse Romande,f:40
+04b3:00820000:2bc0:00b0:1:0
+C Cinéma Classic
+p:,C:0100,C:0500,f:40
+1fb3:00820000:2454:013e:1:0
+Orange Foot
+p:GlobeCast,f:40
+21b3:00822a65:2db4:0000:1:0
+ArabSexClub
+p:T-Systems,f:40
+2cb3:00820000:170c:fbff:1:0
+AXN
+p:SkyItalia,f:40
+36b3:00820000:206c:013e:1:0
+SEX VIEW EXTRA
+p:Scopus Network Technologies,f:40
+36b3:00820000:06a4:013e:1:0
+TSI1
+p:Televisione svizzera di lingua italiana,f:40
+04b4:00820000:2bc0:00b0:1:0
+TPS Star
+p:,C:0100,C:0500,f:40
+21b4:00822a65:2db4:0000:1:0
+ALO TV
+p:T-Systems,f:40
+36b4:00820000:206c:013e:1:0
+SEX VIEW 247
+p:Scopus Network Technologies,f:40
+04b5:00820000:2bc0:00b0:1:0
+C Cinéma Star
+p:,C:0100,C:0500,f:40
+1cb5:00820000:1ce8:0071:1:0
+Jetix
+p:Cyfrowy Polsat,f:40
+21b5:00822a65:2db4:0000:1:0
+'Arab-Girls.TV
+p:T-Systems,f:40
+36b5:00820000:206c:013e:1:0
+SEX VIEW DP
+p:Scopus Network Technologies,f:40
+00b6:00820000:012d:0006:1:0
+The Eagle - Naples
+p:,C:0e00,f:40
+04b6:00820000:2bc0:00b0:1:0
+C Cinéma Culte
+p:,C:0100,C:0500,f:40
+0db6:00820000:14b4:013e:1:0
+Al-Hayat
+p:Harmonic,f:40
+35b6:00820000:1388:013e:1:0
+Sardegna Uno
+p:BT,f:40
+36b6:00820000:206c:013e:1:0
+SEX VIEW SPECIAL
+p:Scopus Network Technologies,f:40
+00b7:00820000:012d:0006:1:0
+Power - Naples
+p:,C:0e00,f:40
+04b7:00820000:2bc0:00b0:1:0
+C Cinéma Emotion
+p:,C:0100,C:0500,f:40
+0db7:00820000:14b4:013e:1:0
+Channel One
+p:Harmonic,f:40
+2ab7:00820000:1838:fbff:1:0
+Sports Active 3
+p:SkyItalia,f:40
+36b7:00820000:206c:013e:1:0
+SEX VIEW HOT
+p:Scopus Network Technologies,f:40
+3ab7:00820000:0514:013e:1:0
+MGM
+p:ITI,f:40
+01b8:00820000:1964:013e:1:0
+ART MOVIES2 - ARABESQUE
+p:ART,f:40
+04b8:00820000:2bc0:00b0:1:0
+C Cinéma Famiz
+p:,C:0100,C:0500,f:40
+06b8:00820000:3138:013e:1:0
+W9
+p:Globecast,C:0100,C:0500,f:40
+0db8:00820000:14b4:013e:1:0
+Didar Global TV
+p:Harmonic,f:40
+36b8:00820000:206c:013e:1:0
+SEX VIEW CLIMAX
+p:Scopus Network Technologies,f:40
+36b8:00820000:06a4:013e:1:0
+TSR2
+p:Television Suisse Romande,f:40
+3ab8:00820000:0514:013e:1:0
+Discovery HD
+p:ITI,f:40
+04b9:00820000:2bc0:00b0:1:0
+C Cinéma Premier 16/9
+p:,C:0100,C:0500,f:40
+0bb9:00820000:20d0:013e:1:0
+Yemen TV
+p:GLOBECAST,f:40
+0db9:00820000:14b4:013e:1:0
+Payame Afghan
+p:Harmonic,f:40
+1fb9:00820000:189c:fbff:1:0
+NatGeoAdventur
+p:SkyItalia,f:40
+36b9:00820000:206c:013e:1:0
+SEX VIEW INTER
+p:Scopus Network Technologies,f:40
+36b9:00820000:06a4:013e:1:0
+TSI2
+p:Televisione svizzera di lingua italiana,f:40
+3ab9:00820000:0514:013e:1:0
+nSport
+p:ITI,f:40
+0bba:00820000:20d0:013e:1:0
+Syria Satellite Channel
+p:GLOBECAST,f:40
+0dba:00820000:14b4:013e:1:0
+Angel TV - KICC TV
+p:Harmonic,f:40
+1fba:00820000:2454:013e:1:0
+M6
+p:Orange,f:40
+2cba:00820000:170c:fbff:1:0
+Disney Ch. +1
+p:SkyItalia,f:40
+36ba:00820000:206c:013e:1:0
+SEX VIEW EXTREME
+p:Scopus Network Technologies,f:40
+3aba:00820000:0514:013e:1:0
+FILMBOX HD
+p:ITI,f:40
+0bbb:00820000:20d0:013e:1:0
+SAT 7
+p:GlobeCast,f:40
+1fbb:00820000:189c:fbff:1:0
+History +1
+p:SkyItalia,f:40
+2cbb:00820000:170c:fbff:1:0
+Toon Disney
+p:SkyItalia,f:40
+36bb:00820000:206c:013e:1:0
+SEX VIEW TV
+p:Scopus Network Technologies,f:40
+0bbc:00820000:20d0:013e:1:0
+Abu Dhabi
+p:GLOBECAST,f:40
+2cbc:00820000:170c:fbff:1:0
+Playhouse Disney
+p:SkyItalia,f:40
+36bc:00820000:206c:013e:1:0
+SEX VIEW GAY
+p:Scopus Network Technologies,f:40
+0bbd:00820000:20d0:013e:1:0
+ALBAGHDADIA
+p:GlobeCast,f:40
+1bbd:00820000:17d4:013e:1:0
+GAMES
+p:NetMed,f:40
+1fbd:00820000:189c:fbff:1:0
+NationalGeo +1
+p:SkyItalia,f:40
+2cbd:00820000:170c:fbff:1:0
+Raisat Smash
+p:SkyItalia,f:40
+34bd:00820000:3c28:013e:1:0
+RTS SAT
+p:GlobeCast,f:40
+00be:00820000:1e14:013e:1:0
+Gulli
+p:GC,C:0500,f:40
+00be:0082afc1:0065:0001:1:0
+Al Hurra-Europe TV
+p:,f:40
+0bbe:00820000:20d0:013e:1:0
+RTV Montenegro
+p:GCP,f:40
+1bbe:00820000:17d4:013e:1:0
+E! Entertainment
+p:NetMed,f:40
+2cbe:00820000:170c:fbff:1:0
+Matchmusic
+p:SkyItalia,f:40
+34be:00820000:3c28:013e:1:0
+BFM TV
+p:GlobeCast,f:40
+36be:00820000:206c:013e:1:0
+SEX VIEW HQ
+p:,f:40
+0bbf:00820000:20d0:013e:1:0
+Telepace
+p:GlobeCast,f:40
+1bbf:00820000:17d4:013e:1:0
+The History Channel
+p:NetMed,f:40
+1fbf:00820000:189c:fbff:1:0
+Sky News
+p:SkyItalia,f:40
+20bf:00820000:2328:013e:1:0
+Ishtar TV
+p:OiV Zagreb,f:40
+2cbf:00820000:170c:fbff:1:0
+Juventus Channel
+p:SkyItalia,f:40
+34bf:00820000:3c28:013e:1:0
+E'TV Emilia Romagna
+p:GlobeCast,f:40
+36bf:00820000:206c:013e:1:0
+MONDO ARTE
+p:OVERON,f:40
+00c0:00820000:00c9:0006:1:0
+Guide/AFN Kaiserslautern Eagle
+p:,C:0e00,f:40
+0bc0:00820000:20d0:013e:1:0
+Living God
+p:GLOBECAST,f:40
+0dc0:00820000:15e0:fbff:1:0
+Caccia e Pesca
+p:SkyItalia,f:40
+1bc0:00820000:17d4:013e:1:0
+Private Spice
+p:NetMed,f:40
+2cc0:00820000:170c:fbff:1:0
+Inter Channel
+p:SkyItalia,f:40
+34c0:00820000:3c28:013e:1:0
+MAHARISHI
+p:GLOBECAST,f:40
+36c0:00820000:206c:013e:1:0
+NAPOLI NOVA
+p:OVERON,f:40
+00c1:00820000:00c9:0006:1:0
+Guide/AFN Kaiserslautern PowerNet
+p:,C:0e00,f:40
+02c1:00820000:1b58:013e:1:0
+AlJazeera Documentary
+p:Telespazio,f:40
+0bc1:00820000:20d0:013e:1:0
+ZAHRAA TV
+p:GLOBECAST,f:40
+12c1:00820000:2e7c:013e:1:0
+CANAL+
+p:CYFRA +,f:40
+1bc1:00820000:17d4:013e:1:0
+Motors TV
+p:NetMed,f:40
+1fc1:00820000:189c:fbff:1:0
+Cartoon Network
+p:SkyItalia,f:40
+27c1:00820000:23f0:013f:1:0
+T. R. Padre Pio
+p:SKYGATE,f:40
+2bc1:00820000:1a90:fbff:1:0
+Prima Fila 3
+p:SkyItalia,f:40
+2cc1:00820000:170c:fbff:1:0
+RaisatExtra
+p:SkyItalia,f:40
+34c1:00820000:3c28:013e:1:0
+ISLAM TV
+p:GlobeCast,f:40
+36c1:00820000:206c:013e:1:0
+GALAXY
+p:OVERON,f:40
+38c1:00820000:0320:fbff:1:0
+Fox Life +1
+p:SkyItalia,f:40
+00c2:00820000:1e14:013e:1:0
+Virgin 17
+p:GC,C:0500,f:40
+01c2:00820000:1964:013e:1:0
+NILE DRAMA - ARABESQUE
+p:ART,f:40
+02c2:00820000:1b58:013e:1:0
+AlJazeera Mubasher
+p:Telespazio,f:40
+0bc2:00820000:20d0:013e:1:0
+Saudi arabia TV2
+p:GlobeCast,f:40
+12c2:00820000:2e7c:013e:1:0
+CANAL+ FILM
+p:CYFRA +,f:40
+1bc2:00820000:17d4:013e:1:0
+NOVACINEMA3
+p:NetMed,f:40
+2cc2:00820000:170c:fbff:1:0
+Raisat Premium
+p:SkyItalia,f:40
+34c2:00820000:3c28:013e:1:0
+Ariana TV
+p:GlobeCast,f:40
+36c2:00820000:206c:013e:1:0
+!ALLOVE
+p:GlobeCast,f:40
+02c3:00820000:1b58:013e:1:0
+ACM Channel
+p:Telespazio,f:40
+0dc3:00820000:14b4:013e:1:0
+GAY.TV
+p:TSA,f:40
+12c3:00820000:2e7c:013e:1:0
+JETIX
+p:CYFRA +,f:40
+1bc3:00820000:17d4:013e:1:0
+NOVASPORTS4
+p:NetMed,f:40
+1fc3:00820000:189c:fbff:1:0
+Jetix
+p:SkyItalia,f:40
+2bc3:00820000:1a90:fbff:1:0
+Prima Fila 5
+p:SkyItalia,f:40
+36c3:00820000:206c:013e:1:0
+SEXWORLD
+p:GlobeCast,f:40
+02c4:00820000:1b58:013e:1:0
+AL JAZEERA
+p:Telespazio,f:40
+0dc4:00820000:14b4:013e:1:0
+VIP.TV
+p:Harmonic,f:40
+12c4:00820000:2e7c:013e:1:0
+KUCHNIA.TV
+p:CYFRA +,f:40
+1bc4:00820000:17d4:013e:1:0
+novasports5
+p:NetMed,f:40
+36c4:00820000:206c:013e:1:0
+HOUSE CHANNEL
+p:Scopus Network Technologies,f:40
+02c5:00820000:1b58:013e:1:0
+Sicilia Channel
+p:Telespazio,f:40
+0dc5:00820000:14b4:013e:1:0
+Cardmania Shopping
+p:Harmonic,f:40
+12c5:00820000:2e7c:013e:1:0
+ALE KINO!
+p:CYFRA +,f:40
+1bc5:00820000:17d4:013e:1:0
+novasports6
+p:NetMed,f:40
+1fc5:00820000:189c:fbff:1:0
+Fox Life
+p:SkyItalia,f:40
+2bc5:00820000:1a90:fbff:1:0
+Prima Fila 11
+p:SkyItalia,f:40
+0dc6:00820000:14b4:013e:1:0
+Ictimai TV
+p:Harmonic,f:40
+12c6:00820000:2e7c:013e:1:0
+ZigZap
+p:CYFRA +,f:40
+1bc6:00820000:17d4:013e:1:0
+Nova Promo
+p:NetMed,f:40
+0dc7:00820000:14b4:013e:1:0
+Exotica
+p:Harmonic,f:40
+12c7:00820000:2e7c:013e:1:0
+TVP 1
+p:CYFRA +,f:40
+1bc7:00820000:17d4:013e:1:0
+Chasse & Peche
+p:NetMed,f:40
+1fc7:00820000:2454:013e:1:0
+ARM_1
+p:GlobeCast,f:40
+2bc7:00820000:1a90:fbff:1:0
+Prima Fila 13
+p:SkyItalia,f:40
+00c8:00820000:3e1c:013f:1:0
+RTL9
+p:AB SAT,f:40
+0dc8:00820000:14b4:013e:1:0
+IPN
+p:Harmonic,f:40
+12c8:00820000:2e7c:013e:1:0
+TVP 2
+p:CYFRA +,f:40
+1bc8:00820000:17d4:013e:1:0
+Playboy TV
+p:NetMed,f:40
+00c9:00820000:3e1c:013f:1:0
+AB1
+p:AB SAT,f:40
+02c9:00820000:1b58:013e:1:0
+UNOSAT
+p:Telespazio,f:40
+12c9:00820000:2e7c:013e:1:0
+CANAL+ SPORT
+p:CYFRA +,f:40
+1bc9:00820000:17d4:013e:1:0
+novasports4 Cy
+p:NetMed,f:40
+1fc9:00820000:2454:013e:1:0
+Show room
+p:GlobeCast,f:40
+1fc9:00820000:189c:fbff:1:0
+Cult
+p:SkyItalia,f:40
+2bc9:00820000:1a90:fbff:1:0
+Prima Fila 22
+p:SkyItalia,f:40
+00ca:00820000:3e1c:013f:1:0
+AB MOTEURS
+p:AB SAT,f:40
+00ca:00820000:012d:0006:1:0
+The Eagle - Sigonella
+p:,C:0e00,f:40
+02ca:00820000:1b58:013e:1:0
+OUT IP DATA TS1
+p:Telespazio,f:40
+0dca:00820000:15e0:fbff:1:0
+Jimmy
+p:SkyItalia,f:40
+1bca:00820000:17d4:013e:1:0
+novacinema3 Cy
+p:NetMed,f:40
+1cca:00820000:1ce8:0071:1:0
+Cinemax2
+p:Cyfrowy Polsat,f:40
+2dca:00820000:2198:fbff:1:0
+SKYCinema 2
+p:SkyItalia,f:40
+34ca:00820000:3c28:013e:1:0
+EWTN UK
+p:,f:40
+34ca:00820000:14b4:013e:1:0
+MARE TV
+p:Harmonic,f:40
+00cb:00820000:3e1c:013f:1:0
+ANIMAUX
+p:AB SAT,f:40
+00cb:00820000:012d:0006:1:0
+Power - Sigonella
+p:,C:0e00,f:40
+1bcb:00820000:17d4:013e:1:0
+Playboy TV Cy
+p:NetMed,f:40
+1ccb:00820000:1ce8:0071:1:0
+TVP1
+p:Cyfrowy Polsat,f:40
+1fcb:00820000:2454:013e:1:0
+Liberty_TV_NL
+p:GlobeCast,f:40
+1fcb:00820000:189c:fbff:1:0
+Fox Crime
+p:SkyItalia,f:40
+2bcb:00820000:1a90:fbff:1:0
+Prima Fila 28
+p:SkyItalia,f:40
+2dcb:00820000:2198:fbff:1:0
+SKY Classics
+p:SkyItalia,f:40
+34cb:00820000:3c28:013e:1:0
+Bio TV
+p:Scopus Network Technologies,f:40
+34cb:00820000:14b4:013e:1:0
+SAT EROTICA
+p:Harmonic,f:40
+35cb:00820000:1388:013e:1:0
+Trav + Leisure
+p:TVN,f:40
+00cc:00820000:3e1c:013f:1:0
+CHASSE & PECHE
+p:AB SAT,f:40
+01cc:00820000:1964:013e:1:0
+LBC EUROPE - ARABESQUE
+p:ART,f:40
+02cc:00820000:1b58:013e:1:0
+Telemarket 2
+p:Telespazio,f:40
+1bcc:00820000:17d4:013e:1:0
+novasports6 Cy
+p:NetMed,f:40
+1ccc:00820000:1ce8:0071:1:0
+Test_P
+p:Cyfrowy Polsat,f:40
+2dcc:00820000:2198:fbff:1:0
+SKY Cinema Hits
+p:SkyItalia,f:40
+34cc:00820000:3c28:013e:1:0
+.Viva L'Italia Channel
+p:GlobeCast,f:40
+34cc:00820000:14b4:013e:1:0
+IGHRA
+p:Harmonic,f:40
+35cc:00820000:1388:013e:1:0
+Disc Science
+p:TVN,f:40
+38cc:00820000:0320:fbff:1:0
+Radio on SKY
+p:SkyItalia,f:40
+00cd:00820000:3e1c:013f:1:0
+XXL
+p:AB SAT,f:40
+02cd:00820000:1b58:013e:1:0
+Radio Radio Tv
+p:Telespazio,f:40
+1ccd:00820000:1ce8:0071:1:0
+TVP2
+p:Cyfrowy Polsat,f:40
+1fcd:00820000:2454:013e:1:0
+CONTO TV
+p:CONTO TV,f:40
+1fcd:00820000:189c:fbff:1:0
+Fox News
+p:SkyItalia,f:40
+29cd:00820000:3cf0:013e:1:0
+PIANETA
+p:GlobeCast,f:40
+2bcd:00820000:1a90:fbff:1:0
+Prima Fila 30
+p:SkyItalia,f:40
+34cd:00820000:14b4:013e:1:0
+ERO PULSE
+p:Harmonic,f:40
+35cd:00820000:1388:013e:1:0
+An Planet
+p:TVN,f:40
+00ce:00820000:3e1c:013f:1:0
+TF1
+p:AB SAT,f:40
+02ce:00820000:1b58:013e:1:0
+MediterraneoSat
+p:Telespazio,f:40
+1bce:00820000:17d4:013e:1:0
+Private Spice Cy
+p:NetMed,f:40
+1fce:00820000:2454:013e:1:0
+CONTO TV 1
+p:CONTO TV,f:40
+29ce:00820000:3cf0:013e:1:0
+Cartomanzia_LOTTO
+p:GlobeCast,f:40
+34ce:00820000:3c28:013e:1:0
+SPIRIT CHANNEL
+p:GlobeCast,f:40
+34ce:00820000:14b4:013e:1:0
+ERO LIVE 1
+p:Harmonic,f:40
+35ce:00820000:1388:013e:1:0
+Disc Civ
+p:TVN,f:40
+00cf:00820000:3e1c:013f:1:0
+ESCALES
+p:AB SAT,f:40
+1ccf:00820000:1ce8:0071:1:0
+FoxLife
+p:Cyfrowy Polsat,f:40
+1fcf:00820000:2454:013e:1:0
+CONTO TV 2
+p:CONTO TV,f:40
+1fcf:00820000:189c:fbff:1:0
+Cooltoon
+p:SkyItalia,f:40
+29cf:00820000:3cf0:013e:1:0
+ARTE
+p:GlobeCast,f:40
+2bcf:00820000:1a90:fbff:1:0
+SKY Calcio 2
+p:SkyItalia,f:40
+34cf:00820000:3c28:013e:1:0
+NRJ 12
+p:globeCast,f:40
+34cf:00820000:14b4:013e:1:0
+Arablive
+p:Harmonic,f:40
+35cf:00820000:1388:013e:1:0
+Disc Chnl
+p:TVN,f:40
+36cf:00820000:206c:013e:1:0
+SEXYSAT2
+p:Scopus Network Technologies,f:40
+00d0:00820000:3e1c:013f:1:0
+Fit/Toute l'Histoire
+p:AB SAT,f:40
+02d0:00820000:1b58:013e:1:0
+Telefoggia
+p:Telespazio,f:40
+1bd0:00820000:17d4:013e:1:0
+ALFA
+p:NetMed,f:40
+1fd0:00820000:2454:013e:1:0
+CONTO TV 3
+p:CONTO TV,f:40
+21d0:00822a65:2db4:0000:1:0
+Tenfore
+p:T-Systems,f:40
+29d0:00820000:3cf0:013e:1:0
+RTL_102.5_TV
+p:GlobeCast_Italia,f:40
+34d0:00820000:3c28:013e:1:0
+NRJ 12 HQ
+p:GlobeCast,f:40
+36d0:00820000:206c:013e:1:0
+SEXYSAT3
+p:Scopus Network Technologies,f:40
+00d1:00820000:3e1c:013f:1:0
+NT1
+p:AB SAT,f:40
+02d1:00820000:1b58:013e:1:0
+TV della Liberta'
+p:Telespazio,f:40
+1bd1:00820000:17d4:013e:1:0
+LTV
+p:NetMed,f:40
+20d1:00820000:01f4:013e:1:0
+ALL TV
+p:Telespazio,f:40
+29d1:00820000:3cf0:013e:1:0
+Best_of_Shopping
+p:GlobeCast,f:40
+2bd1:00820000:1a90:fbff:1:0
+SKY Calcio 3
+p:SkyItalia,f:40
+36d1:00820000:206c:013e:1:0
+SEXYSAT4
+p:Scopus Network Technologies,f:40
+39d1:00820000:1fa4:013e:1:0
+TRACE-TV
+p:EUTELSAT ,f:40
+00d2:00820000:3e1c:013f:1:0
+ACTION
+p:AB SAT,f:40
+20d2:00820000:01f4:013e:1:0
+S2K
+p:Telespazio,C:9728,f:40
+29d2:00820000:3cf0:013e:1:0
+ITALIA_CHANNEL
+p:GlobeCast,f:40
+2dd2:00820000:2198:fbff:1:0
+Milan Channel
+p:SkyItalia,f:40
+39d2:00820000:1fa4:013e:1:0
+RTVi Europe
+p:EUTELSAT ,f:40
+00d3:00820000:3e1c:013f:1:0
+MANGAS
+p:AB SAT,f:40
+20d3:00820000:01f4:013e:1:0
+Denaro Tv
+p:Telespazio,f:40
+29d3:00820000:3cf0:013e:1:0
+TV_ROMANIA
+p:,f:40
+2bd3:00820000:1a90:fbff:1:0
+SKY Calcio 4
+p:SkyItalia,f:40
+2dd3:00820000:2198:fbff:1:0
+Classica
+p:SkyItalia,f:40
+39d3:00820000:1fa4:013e:1:0
+RTVi Detskii Mir - Teleclub
+p:EUTELSAT ,f:40
+00d4:00820000:3e1c:013f:1:0
+ENCYCLOPEDIA
+p:AB SAT,f:40
+00d4:00820000:00c9:0006:1:0
+Guide/AFN Benelux Eagle
+p:,C:0e00,f:40
+20d4:00820000:01f4:013e:1:0
+IMC
+p:Telespazio,f:40
+29d4:00820000:3cf0:013e:1:0
+Carisma_TV
+p:GlobeCast,f:40
+2dd4:00820000:2198:fbff:1:0
+Discovery Travel
+p:SkyItalia,f:40
+39d4:00820000:1fa4:013e:1:0
+RTVi Nashe Kino
+p:EUTELSAT ,f:40
+3bd4:00820000:2260:fbff:1:0
+Deejay TV
+p:SkyItalia,f:40
+00d5:00820000:3e1c:013f:1:0
+XXL
+p:AB SAT,f:40
+00d5:00820000:00c9:0006:1:0
+Guide/AFN Benelux PowerNet
+p:,C:0e00,f:40
+29d5:00820000:3cf0:013e:1:0
+KBS_WORLD
+p:GlobeCast,f:40
+2bd5:00820000:1a90:fbff:1:0
+SKY Calcio 5
+p:SkyItalia,f:40
+2dd5:00820000:2198:fbff:1:0
+La7
+p:SkyItalia,f:40
+3bd5:00820000:2260:fbff:1:0
+SKY Assist
+p:SkyItalia,f:40
+00d6:00820000:3e1c:013f:1:0
+XXL
+p:AB SAT,f:40
+20d6:00820000:01f4:013e:1:0
+Lazio Ch
+p:Telespazio,f:40
+29d6:00820000:3cf0:013e:1:0
+123_SAT
+p:GlobeCast,f:40
+2dd6:00820000:2198:fbff:1:0
+Discovery Civil.
+p:SkyItalia,f:40
+34d6:00820000:3c28:013e:1:0
+TV GLOBO
+p:GlobeCast,C:0500,C:1801,f:40
+00d7:00820000:3e1c:013f:1:0
+XXL PL
+p:AB SAT,f:40
+10d7:00820000:03e8:013e:1:0
+TVN
+p:TVN Grupa ITI,f:40
+20d7:00820000:01f4:013e:1:0
+Napoli Mia
+p:Telespazio,f:40
+2bd7:00820000:1a90:fbff:1:0
+SKY Calcio 6
+p:SkyItalia,f:40
+2dd7:00820000:2198:fbff:1:0
+CNN Intl.
+p:SkyItalia,f:40
+39d7:00820000:1fa4:013e:1:0
+RTVi ME
+p:EUTELSAT ,f:40
+00d8:00820000:3e1c:013f:1:0
+NT1
+p:AB SAT,f:40
+01d8:00820000:1964:013e:1:0
+ART SPORT 1 - ARABESQUE
+p:ART,f:40
+10d8:00820000:03e8:013e:1:0
+TVN 24
+p:TVN Grupa ITI,f:40
+20d8:00820000:01f4:013e:1:0
+Mediterraneo Sat 2
+p:Telespazio ,f:40
+00d9:00820000:3e1c:013f:1:0
+France 5
+p:AB SAT,f:40
+10d9:00820000:03e8:013e:1:0
+TVN Siedem
+p:TVN,f:40
+20d9:00820000:01f4:013e:1:0
+Challenger Tv
+p:Telespazio,f:40
+29d9:00820000:3cf0:013e:1:0
+K+
+p:GlobeCast,f:40
+2bd9:00820000:1a90:fbff:1:0
+SKY Calcio 7
+p:SkyItalia,f:40
+00da:00820000:3e1c:013f:1:0
+France ô
+p:AB SAT,f:40
+01da:00820000:1964:013e:1:0
+IQRAA - ARABESQUE
+p:ART,f:40
+10da:00820000:03e8:013e:1:0
+FILMBOX EXTRA
+p:TVN grupa ITI,f:40
+20da:00820000:01f4:013e:1:0
+Laurenti Ch
+p:Telespazio,f:40
+00db:00820000:3e1c:013f:1:0
+LCP
+p:AB SAT,f:40
+10db:00820000:03e8:013e:1:0
+FILMBOX
+p:TVN Grupa ITI,f:40
+20db:00820000:01f4:013e:1:0
+Radio Italia TV
+p:Telespazio,f:40
+29db:00820000:3cf0:013e:1:0
+Arte_&_Arte_Channel
+p:GlobeCast,f:40
+2bdb:00820000:1a90:fbff:1:0
+SKY Calcio 8
+p:SkyItalia,f:40
+34db:00820000:3c28:013e:1:0
+NRJ 12
+p:GlobeCast,f:40
+01dc:00820000:1964:013e:1:0
+ART CINEMA - ARABESQUE
+p:ART,f:40
+10dc:00820000:03e8:013e:1:0
+Mango 24
+p:,f:40
+34dc:00820000:3c28:013e:1:0
+BFM TV
+p:GlobeCast,f:40
+39dc:00820000:1fa4:013e:1:0
+World Fashion
+p:EUTELSAT ,f:40
+05dd:00820000:2e18:00b0:1:0
+M6 Music Rock
+p:,f:40
+1edd:00820000:21fc:013e:1:0
+IRIB1 PER
+p:IRIB,f:40
+20dd:00820000:01f4:013e:1:0
+Gold shop
+p:Telespazio,f:40
+3bdd:00820000:2260:fbff:1:0
+MTV Brand New
+p:SkyItalia,f:40
+00de:00820000:012d:0006:1:0
+The Eagle - Livorno
+p:,C:0e00,f:40
+01de:00820000:1964:013e:1:0
+ART- ARABESQUE
+p:ART,f:40
+10de:00820000:03e8:013e:1:0
+TVN METEO
+p:TVN Grupa ITI,f:40
+12de:00820000:2e7c:013e:1:0
+H test 1
+p:CYFRA +,f:40
+1ede:00820000:21fc:013e:1:0
+IRIB1 ENG
+p:,f:40
+20de:00820000:01f4:013e:1:0
+Punto Sat
+p:Telespazio,f:40
+34de:00820000:3c28:013e:1:0
+Walf TV
+p:GlobeCast,C:0500,f:40
+35de:00820000:1388:013e:1:0
+Sicilia Int
+p:BT,f:40
+3bde:00820000:2260:fbff:1:0
+MTV Hits
+p:SkyItalia,f:40
+00df:00820000:012d:0006:1:0
+Power - Livorno
+p:,C:0e00,f:40
+05df:00820000:2e18:00b0:1:0
+Equidia
+p:,f:40
+10df:00820000:03e8:013e:1:0
+TVN TURBO
+p:TVN GRUPA ITI,f:40
+12df:00820000:2e7c:013e:1:0
+H test 2
+p:CYFRA +,f:40
+1edf:00820000:21fc:013e:1:0
+IRIB2 PER
+p:IRIB,f:40
+20df:00820000:01f4:013e:1:0
+MilanoTV Sat
+p:Telespazio,f:40
+22df:00820000:238c:013e:1:0
+BLUTV
+p:Scopus Network Technologies,f:40
+01e0:00820000:1964:013e:1:0
+ART HEKAYAT ZAMANE- ARABESQUE
+p:ART,f:40
+05e0:00820000:2e18:00b0:1:0
+Sci Fi
+p:TPS,C:0500,f:40
+10e0:00820000:03e8:013e:1:0
+TVN Style
+p:TVN,f:40
+12e0:00820000:2e7c:013e:1:0
+H test 3
+p:CYFRA +,f:40
+1ee0:00820000:21fc:013e:1:0
+IRIB2 ENG
+p:,f:40
+20e0:00820000:01f4:013e:1:0
+julie
+p:Telespazio,f:40
+29e0:00820000:3cf0:013e:1:0
+Nostradamus
+p:Scopus Network Technologies,f:40
+38e0:00820000:0320:fbff:1:0
+SKY Test
+p:SkyItalia,f:40
+01e1:00820000:1964:013e:1:0
+ART SPORT 2 - ARABESQUE
+p:ART,f:40
+05e1:00820000:2e18:00b0:1:0
+France 4
+p:,C:0100,C:0500,f:40
+10e1:00820000:2710:fbff:1:0
+SKY Meteo24
+p:SkyItalia,f:40
+10e1:00820000:03e8:013e:1:0
+TVN Gra
+p:TVN Grupa ITI,f:40
+1ee1:00820000:21fc:013e:1:0
+IRINN
+p:IRIB,f:40
+05e2:00820000:2e18:00b0:1:0
+Ushuaia TV
+p:,f:40
+10e2:00820000:2710:fbff:1:0
+Test 6
+p:SkyItalia,f:40
+10e2:00820000:03e8:013e:1:0
+TVN CNBC Biznes
+p:TVN Grupa ITI,f:40
+20e2:00820000:01f4:013e:1:0
+ONE
+p:Telespazio,f:40
+01e3:00820000:1964:013e:1:0
+ART SPORT 3 - ARABESQUE
+p:ART,f:40
+05e3:00820000:2e18:00b0:1:0
+TV Breizh
+p:,f:40
+10e3:00820000:2710:fbff:1:0
+SNAI Sat
+p:SkyItalia,f:40
+12e3:00820000:2e7c:013e:1:0
+DTV CABLE
+p:CYFRA +,f:40
+1ee3:00820000:21fc:013e:1:0
+IRIB QURAN
+p:IRIB,f:40
+20e3:00820000:01f4:013e:1:0
+Ulisse
+p:Telespazio,f:40
+29e3:00820000:3cf0:013e:1:0
+ARTE
+p:,f:40
+05e4:00820000:2e18:00b0:1:0
+France 5
+p:,f:40
+12e4:00820000:2e7c:013e:1:0
+DTV CABLE 2
+p:CYFRA +,f:40
+20e4:00820000:01f4:013e:1:0
+LIBERA
+p:TELESPAZIO,f:40
+01e5:00820000:1964:013e:1:0
+ART SPORT 4 - ARABESQUE
+p:ART,f:40
+05e5:00820000:2e18:00b0:1:0
+France Ô
+p:,f:40
+0ce5:00820000:1518:013e:1:0
+RaiNotizie24
+p:RAI,f:40
+12e5:00820000:2e7c:013e:1:0
+DTV CABLE 3
+p:CYFRA +,f:40
+20e5:00820000:01f4:013e:1:0
+AB Channel
+p:TELESPAZIO,f:40
+38e5:00820000:0320:fbff:1:0
+SKY Sport HD
+p:SkyItalia,f:40
+05e6:00820000:2e18:00b0:1:0
+La Chaîne Parlementaire
+p:,f:40
+0ce6:00820000:1518:013e:1:0
+Camera Deputati
+p:RAI,f:40
+20e6:00820000:01f4:013e:1:0
+S24
+p:Telespazio,f:40
+3be6:00820000:2260:fbff:1:0
+Music on SKY
+p:SkyItalia,f:40
+01e7:00820000:1964:013e:1:0
+ART HEKAYAT - ARABESQUE
+p:ART,f:40
+0fe7:00820000:2580:fbff:1:0
+Prima Fila 19
+p:SkyItalia,f:40
+10e7:00820000:2710:fbff:1:0
+Test 5
+p:SkyItalia,f:40
+1ee7:00820000:21fc:013e:1:0
+SAHAR
+p:IRIB,f:40
+20e7:00820000:01f4:013e:1:0
+Puntosat3
+p:Telespazio,f:40
+38e7:00820000:0320:fbff:1:0
+SKY Cinema HD
+p:SkyItalia,f:40
+01e8:00820000:1964:013e:1:0
+FUTURE NEWS - ARABESQUE
+p:ART,f:40
+0ce8:00820000:1518:013e:1:0
+RaiTest
+p:Rai,f:40
+0fe8:00820000:2580:fbff:1:0
+Prima Fila 21
+p:SkyItalia,f:40
+10e8:00820000:2710:fbff:1:0
+Anc1003
+p:SkyItalia,f:40
+20e8:00820000:01f4:013e:1:0
+Poker Tv
+p:Telespazio,f:40
+0ce9:00820000:1518:013e:1:0
+RAI Sport più
+p:RAI,f:40
+0fe9:00820000:2580:fbff:1:0
+Prima Fila 23
+p:SkyItalia,f:40
+10e9:00820000:2710:fbff:1:0
+Anc1004
+p:SkyItalia,f:40
+20e9:00820000:01f4:013e:1:0
+S.Neu Jerusalem
+p:Telespazio,f:40
+35e9:00820000:00c8:013e:1:0
+ESP2 Int'l
+p:Eutelsat,f:40
+38e9:00820000:0320:fbff:1:0
+NationalGeo HD
+p:SkyItalia,f:40
+0cea:00820000:1518:013e:1:0
+RaiNettunoSat2
+p:RAI,f:40
+0fea:00820000:2580:fbff:1:0
+Prima Fila 25
+p:SkyItalia,f:40
+10ea:00820000:2710:fbff:1:0
+Anc1005
+p:SkyItalia,f:40
+1cea:00820000:2fa8:013e:1:0
+Noursat
+p:Globecast UK,f:40
+20ea:00820000:01f4:013e:1:0
+ROLSAT
+p:Telespazio,f:40
+35ea:00820000:00c8:013e:1:0
+EUSP2 PL
+p:Eutelsat,f:40
+38ea:00820000:0320:fbff:1:0
+Next HD
+p:SkyItalia,f:40
+05eb:00820000:2e18:00b0:1:0
+M6 Music Black
+p:,f:40
+0beb:00820000:20d0:013e:1:0
+EQUIDIA PRO
+p:PMU,f:40
+0ceb:00820000:1518:013e:1:0
+Rai Edu1
+p:RAI,f:40
+0feb:00820000:2580:fbff:1:0
+Prima Fila 14
+p:SkyItalia,f:40
+10eb:00820000:2710:fbff:1:0
+SKY Focus
+p:SkyItalia,f:40
+1ceb:00820000:2fa8:013e:1:0
+Rete Capri
+p:Globecast UK,f:40
+1eeb:00820000:21fc:013e:1:0
+AL-ALAM
+p:IRIB,f:40
+35eb:00820000:00c8:013e:1:0
+Prod ESP2
+p:Eutelsat,f:40
+0bec:00820000:20d0:013e:1:0
+EQUIDIA PRO P1
+p:PMU,f:40
+0cec:00820000:1518:013e:1:0
+RaiNettunoSat1
+p:RAI,f:40
+0fec:00820000:2580:fbff:1:0
+Prima Fila 15
+p:SkyItalia,f:40
+10ec:00820000:2710:fbff:1:0
+Anc1006
+p:SkyItalia,f:40
+35ec:00820000:00c8:013e:1:0
+ESP2 Test
+p:Eutelsat,f:40
+0ced:00820000:1518:013e:1:0
+SAT2000
+p:RAI,f:40
+0fed:00820000:2580:fbff:1:0
+Prima Fila 27
+p:SkyItalia,f:40
+10ed:00820000:2710:fbff:1:0
+Test 24
+p:SkyItalia,f:40
+13ed:00820000:05dc:013e:1:0
+TV POLONIA
+p:CYFRA +,f:40
+35ed:00820000:00c8:013e:1:0
+ESP2 Greek
+p:Eutelsat,f:40
+3bed:00820000:2260:fbff:1:0
+Music on SKY
+p:SkyItalia,f:40
+0cee:00820000:1518:013e:1:0
+Rai Gulp
+p:RAI,f:40
+0fee:00820000:2580:fbff:1:0
+Prima Fila 17
+p:SkyItalia,f:40
+1eee:00820000:21fc:013e:1:0
+RADIO QURAN
+p:,f:40
+2cee:00820000:1a2c:fbff:1:0
+Sportitalia
+p:SkyItalia,f:40
+01ef:00820000:33f4:013e:1:0
+Sisal TV
+p:Telespazio,f:40
+0fef:00820000:2580:fbff:1:0
+Prima Fila 18
+p:SkyItalia,f:40
+1eef:00820000:21fc:013e:1:0
+SEDAYE ASHNA
+p:,f:40
+00f0:0082afc1:0065:0001:1:0
+VOA TV 240 (HB1-8)
+p:,f:40
+01f0:00820000:33f4:013e:1:0
+SA OS download
+p:Telespazio,f:40
+13f0:00820000:05dc:013e:1:0
+KINO POLSKA
+p:CYFRA +,f:40
+2cf0:00820000:1a2c:fbff:1:0
+Eurosport
+p:SkyItalia,f:40
+00f1:00820000:2648:013e:1:0
+Arriadia 2
+p:PRVDR,f:40
+00f1:0082afc1:0065:0001:1:0
+VOA TV 241 (HB1-2, HB5-6)
+p:,f:40
+05f1:00820000:2e18:00b0:1:0
+France 5
+p:,f:40
+00f2:0082afc1:0065:0001:1:0
+VOA TV 242 (HB1-2, HB7-8)
+p:,f:40
+05f2:00820000:2e18:00b0:1:0
+La Chaine Parlementaire
+p:,f:40
+2cf2:00820000:1a2c:fbff:1:0
+Eurosport 2
+p:SkyItalia,f:40
+00f3:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 243
+p:,f:40
+05f3:00820000:2e18:00b0:1:0
+France 4
+p:,f:40
+0df3:00820000:15e0:fbff:1:0
+SKY Inside
+p:SkyItalia,f:40
+38f3:00820000:0320:fbff:1:0
+Music Box
+p:SkyItalia,f:40
+00f4:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 244
+p:,f:40
+0df4:00820000:15e0:fbff:1:0
+SKY Inside
+p:SkyItalia,f:40
+2cf4:00820000:1a2c:fbff:1:0
+EurosportNews
+p:SkyItalia,f:40
+39f4:00820000:1fa4:013e:1:0
+France 24 (in Arabic)
+p:EUTELSAT ,f:40
+00f5:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 245
+p:,f:40
+0df5:00820000:15e0:fbff:1:0
+SKY Inside
+p:SkyItalia,f:40
+13f5:00820000:05dc:013e:1:0
+ITV
+p:CYFRA +,f:40
+1ef5:00820000:21fc:013e:1:0
+RADIO IRAN
+p:,f:40
+2cf5:00820000:1a2c:fbff:1:0
+SKY Sport 3
+p:SkyItalia,f:40
+35f5:00820000:00c8:013e:1:0
+ESP2 Rus
+p:Eutelsat,f:40
+0df6:00820000:15e0:fbff:1:0
+SKY Inside
+p:SkyItalia,f:40
+13f6:00820000:05dc:013e:1:0
+TVP INFO
+p:CYFRA +,f:40
+01f7:00820000:26ac:013f:1:0
+France 2
+p:AB SAT,f:40
+0df7:00820000:15e0:fbff:1:0
+SKY Inside
+p:SkyItalia,f:40
+13f7:00820000:05dc:013e:1:0
+CINEMAX
+p:CYFRA +,f:40
+1ef7:00820000:21fc:013e:1:0
+RADIO MAAREF(ENG)
+p:,f:40
+2cf7:00820000:1a2c:fbff:1:0
+ESPN Classic
+p:SkyItalia,f:40
+0df8:00820000:15e0:fbff:1:0
+SKY Inside
+p:SkyItalia,f:40
+13f8:00820000:05dc:013e:1:0
+PULS
+p:CYFRA +,f:40
+01f9:00820000:26ac:013f:1:0
+TMC
+p:AB SAT,f:40
+11f9:00820000:2b5c:013e:1:0
+ANT1 EUROPE
+p:H,f:40
+13f9:00820000:05dc:013e:1:0
+TVP Kultura
+p:CYFRA +,f:40
+2cf9:00820000:1a2c:fbff:1:0
+SKY Vivo
+p:SkyItalia,f:40
+38f9:00820000:0320:fbff:1:0
+Prima Fila 34
+p:SkyItalia,f:40
+00fa:00820000:3e1c:013f:1:0
+TISHK
+p:AB SAT,f:40
+00fa:0082afc1:0065:0001:1:0
+VOA TV 250 (HB1-8)
+p:,f:40
+01fa:00820000:26ac:013f:1:0
+CINE POLAR
+p:AB SAT,f:40
+0dfa:00820000:15e0:fbff:1:0
+Yacht & Sail
+p:SkyItalia,f:40
+0ffa:00820000:2580:fbff:1:0
+Prima Fila 40
+p:SkyItalia,f:40
+11fa:00820000:2b5c:013e:1:0
+AL JAZEERA SP+1
+p:H,f:40
+13fa:00820000:05dc:013e:1:0
+ESPN Classic Sport
+p:CYFRA +,f:40
+1efa:00820000:21fc:013e:1:0
+IRIB1/IRIB2
+p:,f:40
+2cfa:00820000:1a2c:fbff:1:0
+Discovery Sci
+p:SkyItalia,f:40
+38fa:00820000:0320:fbff:1:0
+Prima Fila 29
+p:SkyItalia,f:40
+39fa:00820000:1fa4:013e:1:0
+Italy&Italy
+p:EUTELSAT,f:40
+00fb:0082afc1:0065:0001:1:0
+VOA TV 251 (HB1-2, HB5-6)
+p:,f:40
+01fb:00820000:26ac:013f:1:0
+CINE FX
+p:AB SAT,f:40
+0ffb:00820000:2580:fbff:1:0
+Prima Fila 40
+p:SkyItalia,f:40
+11fb:00820000:2b5c:013e:1:0
+RTPi
+p:H,f:40
+1efb:00820000:21fc:013e:1:0
+IRIB5/IRIB4
+p:,f:40
+00fc:0082afc1:0065:0001:1:0
+VOA TV 252 (HB1-2, HB7-8)
+p:,f:40
+01fc:00820000:26ac:013f:1:0
+VIDEOCLICK
+p:AB SAT,f:40
+0dfc:00820000:15e0:fbff:1:0
+SKY Play IT
+p:SkyItalia,f:40
+11fc:00820000:2b5c:013e:1:0
+MTA INTL
+p:H,f:40
+1efc:00820000:21fc:013e:1:0
+IRIB3/IRIB6
+p:,f:40
+3afc:00820000:0514:013e:1:0
+Initial
+p:ITI,f:40
+00fd:0082afc1:0065:0001:1:0
+IBB VOA RFERL Radio 253
+p:,f:40
+01fd:00820000:26ac:013f:1:0
+TEST
+p:AB SAT,f:40
+11fd:00820000:2b5c:013e:1:0
+10.722 H
+p:H,f:40
+2cfd:00820000:1a2c:fbff:1:0
+BBC Prime
+p:SkyItalia,f:40
+35fd:00820000:00c8:013e:1:0
+ESP2 Romanian
+p:Eutelsat,f:40
+3afd:00820000:0578:013e:1:0
+TVP 1
+p:ITI,f:40
+01fe:00820000:26ac:013f:1:0
+BIS TV PROMO
+p:AB Sat,f:40
+11fe:00820000:2b5c:013e:1:0
+Deepam TV
+p:H,f:40
+21fe:00820000:1af4:013e:1:0
+Redlight Mixx
+p:TSA,f:40
+24fe:00820000:2774:fbff:1:0
+NationalGeo
+p:SkyItalia,f:40
+3afe:00820000:0578:013e:1:0
+TVP 2
+p:ITI,f:40
+01ff:00820000:26ac:013f:1:0
+AB3
+p:AB Sat,f:40
+21ff:00820000:1af4:013e:1:0
+Redlight German
+p:Harmonic,f:40
+24ff:00820000:2774:fbff:1:0
+History
+p:SkyItalia,f:40
+3aff:00820000:0578:013e:1:0
+TVP 3
+p:ITI,f:40
+0e00:00820000:14b4:013e:2:0
+Radio 5
+p:RTVE,f:40
+2a00:00820000:3cf0:013e:2:0
+Radio_Romania_International
+p:GlobeCast,f:40
+3c00:00820000:2260:fbff:2:0
+Soulsista
+p:SkyItalia,f:40
+0e01:00820000:14b4:013e:2:0
+Radio Exterior
+p:RTVE,f:40
+2a01:00820000:3cf0:013e:2:0
+RadioClassica
+p:GlobeCast,f:40
+0e02:00820000:14b4:013e:2:0
+Radio 4
+p:RTVE,f:40
+2a02:00820000:3cf0:013e:2:0
+RTL_102.5_HC
+p:GlobeCast_Italia,f:40
+0e03:00820000:14b4:013e:2:0
+RNE Contribucion
+p:RTVE,f:40
+2a03:00820000:3cf0:013e:2:0
+RTL_102.5_ROCK
+p:GlobeCast_Italia,f:40
+2a04:00820000:3cf0:013e:2:0
+Guardia_Costeria
+p:GlobeCast_Italia,f:40
+2a05:00820000:3cf0:013e:2:0
+RTL_102.5_CLASSIC
+p:GlobeCast_Italia,f:40
+0e06:00820000:3c8c:013e:2:0
+DW09
+p:T-Systems,f:40
+1206:00820000:2b5c:013e:2:0
+NPR
+p:H,f:40
+3c06:00820000:2260:fbff:2:0
+New Rock
+p:SkyItalia,f:40
+2907:00820000:1edc:0071:2:0
+Radiostacja
+p:Cyfrowy Polsat,f:40
+3a08:00820000:1fa4:013e:2:0
+RADIO IZVOR
+p:NTH ,f:40
+2209:00820000:1af4:013e:2:0
+Musicam 1
+p:TSA,f:40
+3a09:00820000:1fa4:013e:2:0
+Glas Drine BiH
+p:NTH,f:40
+0c0a:00820000:20d0:013e:2:0
+Voice of Youth
+p:GlobeCast,f:40
+220a:00820000:1af4:013e:2:0
+Musicam 2
+p:TSA,f:40
+3a0a:00820000:1fa4:013e:2:0
+MegaRadio
+p:NTH ,f:40
+3c0a:00820000:2260:fbff:2:0
+Heart n' song
+p:SkyItalia,f:40
+000b:00820000:2648:013e:2:0
+Radio national
+p:PRVDR,f:40
+000b:00820000:1770:0110:2:0
+Radio Mater
+p:,f:40
+000b:00820000:25e4:02be:2:0
+SHARJAH R1
+p:ARABSAT,f:40
+0c0b:00820000:20d0:013e:2:0
+Emirates FM
+p:GLOBECAST,f:40
+220b:00820000:1af4:013e:2:0
+Musicam 3
+p:TSA,f:40
+000c:00820000:2648:013e:2:0
+Radio Dakhla
+p:PRVDR,f:40
+000c:00820000:25e4:02be:2:0
+QATAR R1
+p:ARABSAT,f:40
+0c0c:00820000:20d0:013e:2:0
+Radio MARIA
+p:GLOBECAST,f:40
+220c:00820000:1af4:013e:2:0
+Musicam 4
+p:TSA,f:40
+3c0c:00820000:2260:fbff:2:0
+Out Of Mind
+p:SkyItalia,f:40
+000d:00820000:25e4:02be:2:0
+SAUDI1 R1
+p:ARABSAT,f:40
+220d:00820000:1af4:013e:2:0
+Musicam 5
+p:TSA,f:40
+3c0d:00820000:2260:fbff:2:0
+Onda Latina
+p:SkyItalia,f:40
+000e:00820000:2648:013e:2:0
+Chaine inter
+p:PRVDR,f:40
+000e:00820000:25e4:02be:2:0
+KUWAIT R1
+p:ARABSAT,f:40
+0c0e:00820000:20d0:013e:2:0
+Voice Of People
+p:GLOBECAST,f:40
+220e:00820000:1af4:013e:2:0
+Musicam 6
+p:TSA,f:40
+3c0e:00820000:2260:fbff:2:0
+Livetime
+p:SkyItalia,f:40
+000f:00820000:2648:013e:2:0
+Amazigh
+p:PRVDR,f:40
+3c0f:00820000:2260:fbff:2:0
+Rock Classic
+p:SkyItalia,f:40
+0010:00820000:2648:013e:2:0
+Radio Mohamed VI
+p:PRVDR,f:40
+0010:00820000:25e4:02be:2:0
+SUDAN R1
+p:ARABSAT,f:40
+0c10:00820000:20d0:013e:2:0
+Radio Montenegro
+p:GLOBECAST,f:40
+3c10:00820000:2260:fbff:2:0
+Rock Shock
+p:SkyItalia,f:40
+0011:00820000:300c:013e:2:0
+VOT West
+p:RRSat,f:40
+0011:00820000:25e4:02be:2:0
+OMAN R1
+p:ARABSAT,f:40
+0c11:00820000:20d0:013e:2:0
+Main General Program
+p:GLOBECAST,f:40
+3c11:00820000:2260:fbff:2:0
+B-Side
+p:SkyItalia,f:40
+0012:00820000:300c:013e:2:0
+Turizm Radyosu
+p:RRSat,f:40
+0012:00820000:25e4:02be:2:0
+ESC R1
+p:ARABSAT,f:40
+3c12:00820000:2260:fbff:2:0
+Jazz & Fusion
+p:SkyItalia,f:40
+0013:00820000:300c:013e:2:0
+VOT World
+p:RRSat,f:40
+0013:00820000:25e4:02be:2:0
+RADIO BAGHDAD
+p:ARABSAT,f:40
+0c13:00820000:20d0:013e:2:0
+Sana'a radio
+p:GlobeCast,f:40
+3c13:00820000:2260:fbff:2:0
+Jazz Gold
+p:SkyItalia,f:40
+0014:00820000:300c:013e:2:0
+TSR Turkce
+p:RRSat,f:40
+0c14:00820000:20d0:013e:2:0
+Aden Radio
+p:GlobeCast,f:40
+3c14:00820000:2260:fbff:2:0
+Soul Train
+p:SkyItalia,f:40
+0015:00822faf:0001:0001:2:0
+Rang A Rang radio
+p:RRSat,f:40
+0015:00820000:300c:013e:2:0
+Radyo-2 (TRT FM)
+p:RRSat,f:40
+3c15:00820000:2260:fbff:2:0
+Extrabeat
+p:SkyItalia,f:40
+1216:00820000:2b5c:013e:2:0
+RDPi Radio
+p:H,f:40
+3c16:00820000:2260:fbff:2:0
+Sinfonia
+p:SkyItalia,f:40
+0017:00820000:25e4:02be:2:0
+SAUDI1 R2
+p:ARABSAT,f:40
+2017:00820000:24b8:013e:2:0
+WRN Russkij
+p:Globecast,f:40
+3c17:00820000:2260:fbff:2:0
+Opera
+p:SkyItalia,f:40
+0018:00820000:25e4:02be:2:0
+KUWAIT R2
+p:ARABSAT,f:40
+0c18:00820000:20d0:013e:2:0
+RADIO SAN
+p:GLOBECAST,f:40
+1d18:00820000:2fa8:013e:2:0
+Suryan Radio
+p:Globecast UK,f:40
+2018:00820000:24b8:013e:2:0
+WRN English
+p:Globecast,f:40
+2318:00820000:238c:013e:2:0
+El Shark El Awsat
+p:ERTU,f:40
+3918:00820000:32c8:013e:2:0
+BBC WS Persian Radio
+p:Globecast UK,f:40
+3c18:00820000:2260:fbff:2:0
+Stardust
+p:SkyItalia,f:40
+0019:00820000:300c:013e:2:0
+ILO Romano Radio
+p:RRSat,f:40
+0019:00820000:00c9:0006:2:0
+Voice
+p:,C:0e00,f:40
+1d19:00820000:2fa8:013e:2:0
+IRN
+p:Globecast NE,f:40
+2019:00820000:24b8:013e:2:0
+WRN Deutsch
+p:Globecast,f:40
+2319:00820000:238c:013e:2:0
+Al moagehat
+p:ERTU,f:40
+3c19:00820000:2260:fbff:2:0
+Baby Mix
+p:SkyItalia,f:40
+001a:00820000:300c:013e:2:0
+Radio Tondar
+p:RRSat,f:40
+001a:00820000:25e4:02be:2:0
+SUDAN R2
+p:ARABSAT,f:40
+0e1a:00820000:3c8c:013e:2:0
+DW-FM01
+p:T-Systems,f:40
+201a:00820000:24b8:013e:2:0
+WRN Francais
+p:Globecast,f:40
+3c1a:00820000:2260:fbff:2:0
+Disc Joker
+p:SkyItalia,f:40
+001b:00820000:25e4:02be:2:0
+OMAN R2
+p:ARABSAT,f:40
+121b:00820000:2b5c:013e:2:0
+Radio A1
+p:BT,f:40
+201b:00820000:24b8:013e:2:0
+GBTS2
+p:Globecast,f:40
+291b:00820000:1edc:0071:2:0
+RMF FM
+p:Cyfrowy Polsat,f:40
+3b1b:00820000:0578:013e:2:0
+R1
+p:ITI,f:40
+001c:00820000:25e4:02be:2:0
+ESC R2
+p:ARABSAT,f:40
+201c:00820000:24b8:013e:2:0
+RCI 3
+p:Globecast,f:40
+3b1c:00820000:0578:013e:2:0
+R2
+p:ITI,f:40
+001d:00820000:25e4:02be:2:0
+AL-IRAQIA QURAN
+p:ARABSAT,f:40
+0c1d:00820000:2e18:00b0:2:0
+Europe1
+p:,f:40
+201d:00820000:24b8:013e:2:0
+Family Europe
+p:Globecast,f:40
+291d:00820000:1edc:0071:2:0
+RADIO PLUS
+p:Cyfrowy Polsat,f:40
+001e:00820000:1250:0064:2:0
+New Life Radio Russia
+p:,f:40
+0c1e:00820000:2e18:00b0:2:0
+Virgin Radio
+p:,f:40
+201e:00820000:24b8:013e:2:0
+RCI 2
+p:Globecast,f:40
+291e:00820000:1edc:0071:2:0
+RMF Classic
+p:Cyfrowy Polsat,f:40
+001f:00820000:300c:013e:2:0
+Nawa Kurd Radio
+p:RRSat,f:40
+0c1f:00820000:2e18:00b0:2:0
+RFM
+p:,f:40
+201f:00820000:24b8:013e:2:0
+RCI 1
+p:Globecast,f:40
+291f:00820000:1edc:0071:2:0
+Radio Polonia
+p:Cyfrowy Polsat,f:40
+2020:00820000:24b8:013e:2:0
+RTE
+p:Globecast,f:40
+2920:00820000:1edc:0071:2:0
+Jedynka - PR
+p:Cyfrowy Polsat,f:40
+0021:00820000:00c9:0006:2:0
+UI Split/Voice
+p:,C:0e00,f:40
+0c21:00820000:2e18:00b0:2:0
+RTL
+p:,f:40
+2021:00820000:24b8:013e:2:0
+IBC TAMIL RADIO
+p:Globecast,f:40
+2921:00820000:1edc:0071:2:0
+Trójka - PR
+p:Cyfrowy Polsat,f:40
+0022:00820000:00c9:0006:2:0
+SMPTE Time Code
+p:,C:0e00,f:40
+2022:00820000:24b8:013e:2:0
+Sedayelran
+p:Globecast,f:40
+2922:00820000:1edc:0071:2:0
+Radio ZET
+p:Cyfrowy Polsat,f:40
+0023:00820000:1250:0064:2:0
+London Tamil Radio
+p:,f:40
+0c23:00820000:2e18:00b0:2:0
+Radio Classique
+p:,f:40
+2023:00820000:24b8:013e:2:0
+PRA Radio
+p:Globecast,f:40
+0024:00820000:1250:0064:2:0
+European Radio for Belarus
+p:,f:40
+0e24:00820000:3c8c:013e:2:0
+DW-FM02
+p:T-Systems,f:40
+2024:00820000:24b8:013e:2:0
+The Voice
+p:Globecast,f:40
+0025:00820000:1250:0064:2:0
+Tamil ITR France
+p:,f:40
+0025:00820000:25e4:02be:2:0
+OMAN R3
+p:ARABSAT,f:40
+0c25:00820000:2e18:00b0:2:0
+Fun Radio
+p:,f:40
+2025:00820000:24b8:013e:2:0
+GBTS1
+p:Globecast,f:40
+0026:00820000:300c:013e:2:0
+Glas Drin BiH
+p:RRSat,f:40
+0026:00820000:1250:0064:2:0
+TAMIL RADIO TIR
+p:,f:40
+0026:00820000:25e4:02be:2:0
+ESC R3
+p:ARABSAT,f:40
+0c26:00820000:2e18:00b0:2:0
+RTL2
+p:,f:40
+2026:00820000:24b8:013e:2:0
+WRN Eng AAP
+p:Globecast,f:40
+0027:00820000:300c:013e:2:0
+R.jamawar_KSDP
+p:RRSat,f:40
+2027:00820000:24b8:013e:2:0
+Radio New Hope
+p:Globecast,f:40
+0028:00820000:300c:013e:2:0
+Thuthi FM-Tamil
+p:,f:40
+0a28:00820000:3d54:013e:2:0
+Era 1
+p:,f:40
+2028:00820000:24b8:013e:2:0
+PEC 3 RRI 3
+p:Globecast,f:40
+2029:00820000:24b8:013e:2:0
+Family Int 1
+p:Globecast,f:40
+202a:00820000:24b8:013e:2:0
+Family Int 2
+p:Globecast,f:40
+002b:00820000:1250:0064:2:0
+Tamil Radio EU
+p:,f:40
+1c2b:00820000:1c20:013e:2:0
+MR1-Kossuth
+p:AH-EDP,f:40
+202b:00820000:24b8:013e:2:0
+VTCSW1
+p:Globecast,f:40
+1c2c:00820000:1c20:013e:2:0
+MR2-Petofi
+p:AH-EDP,f:40
+202c:00820000:24b8:013e:2:0
+AWR Radio 128Kbit
+p:Globecast,f:40
+1c2d:00820000:1c20:013e:2:0
+R.Citta Futura
+p:AH-EDP,f:40
+202d:00820000:24b8:013e:2:0
+YLESAT 1
+p:Globecast,f:40
+0e2e:00820000:3c8c:013e:2:0
+DW-FM03
+p:T-Systems,f:40
+1c2e:00820000:1c20:013e:2:0
+ReteSport
+p:AH-EDP,f:40
+202e:00820000:24b8:013e:2:0
+YLESAT 2
+p:Globecast,f:40
+1c2f:00820000:1c20:013e:2:0
+Radio 6
+p:AH-EDP,f:40
+202f:00820000:24b8:013e:2:0
+GBTS3
+p:Globecast,f:40
+292f:00820000:1edc:0071:2:0
+RMF MAXXX
+p:Cyfrowy Polsat,f:40
+0030:00820000:1250:0064:2:0
+R.Kurdistan
+p:,f:40
+1c30:00820000:1c20:013e:2:0
+Ecoradio
+p:AH-EDP,f:40
+2030:00820000:24b8:013e:2:0
+WRN Sawt Al Alam
+p:Globecast,f:40
+0031:00820000:1250:0064:2:0
+RDK DUHOK
+p:,f:40
+0e31:00820000:0708:00c8:2:0
+VIRGIN RADIO
+p:M-Three satcom,f:40
+2031:00820000:24b8:013e:2:0
+WRN Events
+p:Globecast,f:40
+0032:00820000:1250:0064:2:0
+London TBC
+p:,f:40
+0032:00820000:25e4:02be:2:0
+JORDAN R1
+p:ARABSAT,f:40
+0e32:00820000:0708:00c8:2:0
+Global-Mir
+p:M-Three satcom,f:40
+1c32:00820000:1c20:013e:2:0
+R.Tunisie Culture
+p:AH-EDP,f:40
+0e33:00820000:0708:00c8:2:0
+RADIO CUORE
+p:M-Three satcom,f:40
+1c33:00820000:1c20:013e:2:0
+MR4/MR5
+p:AH-EDP,f:40
+2533:00820000:13ef:013e:2:0
+EDTV RADIO 1
+p:DU,f:40
+0e34:00820000:0708:00c8:2:0
+R.BuonConsiglio
+p:M-Three satcom,f:40
+2534:00820000:13ef:013e:2:0
+EDTV RADIO 2
+p:DU,f:40
+0035:00822faf:0001:0001:2:0
+VOV Radio
+p:,f:40
+0135:00820000:157c:013e:2:0
+Love Radio
+p:NetMed,f:40
+0e35:00820000:0708:00c8:2:0
+RADIO CUORE DUE
+p:M-Three satcom,f:40
+0036:00822faf:0001:0001:2:0
+neo zwei
+p:RRSat,f:40
+0136:0082afc1:0065:0001:2:0
+VOA Urdu Radio 310
+p:,f:40
+0136:00820000:157c:013e:2:0
+Greek Church
+p:NetMed,f:40
+0e36:00820000:0708:00c8:2:0
+KISS KISS RADIO
+p:M-Three satcom,f:40
+0137:00820000:157c:013e:2:0
+Skai Radio
+p:NetMed,f:40
+0e37:00820000:0708:00c8:2:0
+Millennium Radio
+p:M-Three satcom,f:40
+0138:00820000:157c:013e:2:0
+Melodi Radio
+p:NetMed,f:40
+0e38:00820000:0708:00c8:2:0
+R.S.F. inBlu
+p:M-Three satcom,f:40
+0e38:00820000:3c8c:013e:2:0
+DW-FM04
+p:T-Systems,f:40
+0139:00820000:157c:013e:2:0
+RR3
+p:NetMed,f:40
+0e39:00820000:0708:00c8:2:0
+LifeGate
+p:M-Three satcom,f:40
+013a:00820000:157c:013e:2:0
+RR1
+p:NetMed,f:40
+0e3a:00820000:0708:00c8:2:0
+Radio Padre Pio
+p:M-Three satcom,f:40
+0e3b:00820000:0708:00c8:2:0
+Radio Torino Intl.
+p:M-Three satcom,f:40
+0e3c:00820000:0708:00c8:2:0
+Radio 24
+p:M-Three satcom,f:40
+0e3d:00820000:0708:00c8:2:0
+RADIO RELAX
+p:M-Three satcom,f:40
+0e3e:00820000:0708:00c8:2:0
+R101
+p:M-Three satcom,f:40
+0e3f:00820000:0708:00c8:2:0
+ROCK FM
+p:M-Three satcom,f:40
+0e40:00820000:0708:00c8:2:0
+RADIO KOLBE
+p:M-Three satcom,f:40
+0e41:00820000:0708:00c8:2:0
+RADIO GYE NYAME
+p:M-Three satcom,f:40
+0042:00822faf:0001:0001:2:0
+Overcomer Radio
+p:RRSat,f:40
+0e42:00820000:0708:00c8:2:0
+DISCORADIO
+p:M-Three satcom,f:40
+0e42:00820000:3c8c:013e:2:0
+DW-M
+p:T-Systems,f:40
+2143:00820000:3070:013e:2:0
+FD Leggera
+p:Rai,f:40
+3c43:00820000:0578:013e:2:0
+MusicC. Klasyka
+p:Harmonic,f:40
+3c44:00820000:0578:013e:2:0
+Music Choice Pop
+p:Harmonic,f:40
+3c45:00820000:0578:013e:2:0
+Music Ch. Dance
+p:Harmonic,f:40
+0e46:00820000:3c8c:013e:2:0
+DW-FM06
+p:T-Systems,f:40
+3c46:00820000:0578:013e:2:0
+Music Ch. Urban
+p:Harmonic,f:40
+0047:00822faf:0001:0001:2:0
+Christian Voice
+p:RRSat,f:40
+3c47:00820000:0578:013e:2:0
+Music Ch. Swiat
+p:Harmonic,f:40
+0048:00822faf:0001:0001:2:0
+Hornafrik Somalia
+p:RRSat,f:40
+3c48:00820000:0578:013e:2:0
+Music Ch. Rock
+p:Harmonic,f:40
+3c49:00820000:0578:013e:2:0
+Music Ch. Oldies
+p:Harmonic,f:40
+0e4a:00820000:3c8c:013e:2:0
+DW-FM07
+p:T-Systems,f:40
+3c4a:00820000:0578:013e:2:0
+Music Choice 1
+p:Harmonic,f:40
+004b:00822faf:0001:0001:2:0
+Music Box Radio
+p:RRSat,f:40
+3c4b:00820000:0578:013e:2:0
+Music Choice 2
+p:Harmonic,f:40
+3c4c:00820000:0578:013e:2:0
+Music Choice 3
+p:Harmonic,f:40
+3c4d:00820000:0578:013e:2:0
+Music Choice 4
+p:Harmonic,f:40
+0e4e:00820000:3c8c:013e:2:0
+DW-FEED1
+p:T-Systems,f:40
+3c4e:00820000:0578:013e:2:0
+Music Choice 5
+p:Harmonic,f:40
+3c4f:00820000:0578:013e:2:0
+Music Choice 6
+p:Harmonic,f:40
+0050:00822faf:0001:0001:2:0
+3ABN Radio
+p:RRSat,f:40
+3c50:00820000:0578:013e:2:0
+Music Choice 7
+p:Harmonic,f:40
+3c51:00820000:0578:013e:2:0
+CYFRA+ GRY
+p:Harmonic,f:40
+0052:00822faf:0001:0001:2:0
+TGN Radio
+p:RRSat,f:40
+1c52:00820000:1c20:013e:2:0
+R.Tunisie Nationale
+p:AH-EDP,f:40
+3c52:00820000:0578:013e:2:0
+CYFRA+ GRY2
+p:Harmonic,f:40
+1c53:00820000:1c20:013e:2:0
+R.Tunisie Internationale
+p:AH-EDP,f:40
+3653:00820000:1388:013e:2:0
+BBC English (Europe)
+p:BBC World Service,f:40
+3c53:00820000:0578:013e:2:0
+INFO+
+p:Harmonic,f:40
+1154:00820000:2af8:013e:2:0
+tech 3
+p:CYFRA +,f:40
+1c54:00820000:1c20:013e:2:0
+Radio Spazio Aperto
+p:AH-EDP,f:40
+3654:00820000:1388:013e:2:0
+BBC English Mid-East
+p:BBC World Service,f:40
+0e56:00820000:3c8c:013e:2:0
+RNW-4
+p:Deutsche Welle,f:40
+1c56:00820000:1c20:013e:2:0
+Radio Azzurra
+p:AH-EDP,f:40
+3656:00820000:1388:013e:2:0
+BBC English News
+p:BBC World Service,f:40
+1d59:00820000:2f44:013e:2:0
+CY Feed
+p:NetMed,f:40
+365c:00820000:1388:013e:2:0
+BBC Arabic
+p:BBC World Service,f:40
+0960:00820000:3d54:013e:2:0
+Era Sport
+p:,f:40
+0061:00820000:2648:013e:2:0
+RADIO MOHAMMED VI
+p:PRVDR,f:40
+3661:00820000:1388:013e:2:0
+BBC Albanian
+p:BBC World Service,f:40
+3663:00820000:1388:013e:2:0
+BBC Azeri
+p:BBC World Service,f:40
+0065:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 101
+p:,f:40
+0065:00820000:0578:013e:2:0
+Makedonsko Radio
+p:Harmonic,f:40
+0066:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 102
+p:,f:40
+0066:00820000:0578:013e:2:0
+Bahai Radio
+p:Harmonic,f:40
+0067:00820000:1250:0064:2:0
+RUSSIAN RADIO
+p:,f:40
+0067:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 103
+p:,f:40
+0067:00820000:0578:013e:2:0
+Radio Mojdeh
+p:Harmonic,f:40
+2167:00820000:3070:013e:2:0
+Multilingue 1
+p:RAI,f:40
+0068:0082afc1:0065:0001:2:0
+VOA Music Mix 104
+p:,f:40
+0068:00820000:0578:013e:2:0
+TOP 3 radio belgrad
+p:Harmonic,f:40
+1268:00820000:3458:013e:2:0
+R.ONDA D'URTO
+p:T-Systems/MTI,f:40
+2168:00820000:3070:013e:2:0
+Multilingue 2
+p:RAI,f:40
+0069:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 105
+p:,f:40
+2169:00820000:3070:013e:2:0
+SatelRadio
+p:RAI,f:40
+006a:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 106
+p:,f:40
+216a:00820000:3070:013e:2:0
+Radio OM unica
+p:RAI,f:40
+006b:0082afc1:0065:0001:2:0
+IBB VOA Radio 107
+p:,f:40
+216b:00820000:3070:013e:2:0
+Radio2 mono
+p:RAI,f:40
+006c:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 108
+p:,f:40
+016c:00820000:1c84:013e:2:0
+ERA1
+p:NetMed,f:40
+216c:00820000:3070:013e:2:0
+Radio3 mono
+p:RAI,f:40
+226c:00820000:238c:013e:2:0
+Chaine 1
+p:TDA,f:40
+006d:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 109
+p:,f:40
+016d:00820000:1c84:013e:2:0
+ERA2
+p:NetMed,f:40
+226d:00820000:238c:013e:2:0
+Chaine 2
+p:TDA,f:40
+006e:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 110
+p:,f:40
+016e:00820000:1c84:013e:2:0
+ERA SPORT
+p:NetMed,f:40
+226e:00820000:238c:013e:2:0
+Chaine 3
+p:SkyGate,f:40
+296e:00820000:22c4:013e:2:0
+DENGE RADIO
+p:Belgacom,f:40
+006f:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 111
+p:,f:40
+2070:00820000:2328:013e:2:0
+VOICE OF CRO
+p:OIV Zagreb,f:40
+2970:00820000:22c4:013e:2:0
+RADIO 2M MAROC
+p:BELGACOM,f:40
+0071:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 113
+p:,f:40
+2071:00820000:2328:013e:2:0
+HRT-HR1
+p:OIV Zagreb,f:40
+0072:0082afc1:0065:0001:2:0
+Sawa Levant Radio 114
+p:,f:40
+2072:00820000:2328:013e:2:0
+HRT-HR2
+p:OIV Zagreb,f:40
+2972:00820000:22c4:013e:2:0
+RVi 1 (VRT)
+p:BELGACOM,f:40
+0073:0082afc1:0065:0001:2:0
+Sawa Iraq Radio 115
+p:,f:40
+2073:00820000:2328:013e:2:0
+HRT-HR3
+p:OIV Zagreb,f:40
+2973:00820000:22c4:013e:2:0
+RVi 2 (VRT)
+p:BELGACOM,f:40
+0074:0082afc1:0065:0001:2:0
+Sawa Egypt Radio 116
+p:,f:40
+2974:00820000:22c4:013e:2:0
+RADIO 74
+p:BELGACOM,f:40
+0075:0082afc1:0065:0001:2:0
+Sawa Gulf Radio 117
+p:,f:40
+0076:0082afc1:0065:0001:2:0
+Sawa N. Africa Radio 118
+p:,f:40
+0077:0082afc1:0065:0001:2:0
+Farda Radio 119
+p:,f:40
+3677:00820000:1388:013e:2:0
+BBC Persian
+p:BBC World Service,f:40
+0079:0082afc1:0065:0001:2:0
+IBB VOA RFERL Radio 121
+p:,f:40
+2979:00820000:22c4:013e:2:0
+ROUGE FM
+p:BSS_LDK,f:40
+007a:0082afc1:0065:0001:2:0
+Sawa Sudan Radio 122
+p:,f:40
+297a:00820000:22c4:013e:2:0
+ALMAHABA
+p:BSS_LDK,f:40
+007b:0082afc1:0065:0001:2:0
+Sawa Lebanon Radio 123
+p:,f:40
+017b:00820000:1c84:013e:2:0
+ERA3
+p:NetMed,f:40
+297b:00820000:22c4:013e:2:0
+TOP TWO
+p:BSS_LDK,f:40
+367c:00820000:1388:013e:2:0
+BBC Russian
+p:BBC World Service,f:40
+367e:00820000:1388:013e:2:0
+BBC Romanian
+p:BBC World Service,f:40
+127f:00820000:3458:013e:2:0
+Radio Standa
+p:T-Systems/MTI,f:40
+207f:00820000:2328:013e:2:0
+OTVORENI
+p:OIV Zagreb,f:40
+227f:00820000:238c:013e:2:0
+RADIO GENIUS
+p:MultiProgram,f:40
+1280:00820000:3458:013e:2:0
+R.Di per Di
+p:T-Systems/MTI,f:40
+2080:00820000:2328:013e:2:0
+MEDIASERVIS
+p:OIV Zagreb,f:40
+0081:00822faf:0001:0001:2:0
+SWISS MUSIC RADIO
+p:RRSat,f:40
+1281:00820000:3458:013e:2:0
+McDonalds
+p:T-Systems/MTI,f:40
+3681:00820000:1388:013e:2:0
+BBC Balkans
+p:BBC World Service,f:40
+1282:00820000:3458:013e:2:0
+Radio Expert
+p:T-Systems/MTI,f:40
+1283:00820000:3458:013e:2:0
+Radio Billa
+p:T-Systems/MTI,f:40
+1d83:00820000:2f44:013e:2:0
+Radio Gold
+p:NetMed,f:40
+0c84:00820000:1f40:013e:2:0
+SLO-RA1-INF
+p:RTV Slovenija,f:40
+0c84:00820000:2bc0:00b0:2:0
+Sud Radio
+p:,f:40
+1284:00820000:3458:013e:2:0
+RADIO ZAINET
+p:T-Systems/MTI,f:40
+1d84:00820000:2f44:013e:2:0
+REAL FM
+p:NetMed,f:40
+0c85:00820000:1f40:013e:2:0
+SLO-RA2
+p:RTV Slovenija,f:40
+3585:00820000:1388:013e:2:0
+Zagros Radio
+p:BT,f:40
+0c86:00820000:1f40:013e:2:0
+SLO-RA3
+p:RTV Slovenija,f:40
+1286:00820000:3458:013e:2:0
+Radio Intesa
+p:T-Systems/MTI,f:40
+0c88:00820000:2e18:00b0:2:0
+Alouette
+p:,f:40
+0c88:00820000:1f40:013e:2:0
+RADIO SI
+p:RTV Slovenija,f:40
+1d88:00820000:1fa4:013e:2:0
+Radio Dijla
+p:EUTELSAT,f:40
+0c89:00820000:2ee0:00b0:2:0
+Skyrock
+p:,C:0500,f:40
+208a:00820000:2328:013e:2:0
+Narodni radio
+p:OIV Zagreb,f:40
+208b:00820000:2328:013e:2:0
+RKC
+p:OIV Zagreb,f:40
+368b:00820000:1388:013e:2:0
+BBC Turkish
+p:BBC World Service,f:40
+368e:00820000:1388:013e:2:0
+BBC Ukrainian
+p:BBC World Service,f:40
+0c8f:00820000:1f40:013e:2:0
+CAPODISTRIA
+p:RTVS,f:40
+0c91:00820000:1f40:013e:2:0
+RA.OGNJISCE SI
+p:RTVS,f:40
+1291:00820000:3458:013e:2:0
+RadioSpazioAperto
+p:T-Systems/MTI,f:40
+2091:00820000:2328:013e:2:0
+HKR
+p:OiV Zagreb,f:40
+1d92:00820000:1fa4:013e:2:0
+Radio Azadegan
+p:EUTELSAT,f:40
+3693:00820000:1388:013e:2:0
+BBC Feed 1
+p:BBC WS,f:40
+1294:00820000:3458:013e:2:0
+AfgSalamWatandar
+p:T-Systems/MTI,f:40
+1d94:00820000:2f44:013e:2:0
+SS FM
+p:NetMed,f:40
+2094:00820000:2328:013e:2:0
+R MIR M
+p:OIV Zagreb,f:40
+3694:00820000:1388:013e:2:0
+BBC Feed 2
+p:BBC WS,f:40
+1295:00820000:3458:013e:2:0
+Radio Metro
+p:T-Systems/MTI,f:40
+2095:00820000:2328:013e:2:0
+DALMATIA
+p:OIV Zagreb,f:40
+3695:00820000:1388:013e:2:0
+BBC Feed 3
+p:BBC WS,f:40
+3696:00820000:1388:013e:2:0
+BBC Feed 4
+p:BBC WS,f:40
+3697:00820000:1388:013e:2:0
+BBC Feed 5
+p:BBC WS,f:40
+0898:00820000:3d54:013e:2:0
+Era 2
+p:,f:40
+0c98:00820000:1f40:013e:2:0
+RNW-1
+p:RTV Slovenija,f:40
+3698:00820000:1388:013e:2:0
+BBC Feed 6
+p:BBC WS,f:40
+0399:00820000:2134:013e:2:0
+SRG-DRS 1
+p:Schweizer Radio DRS,f:40
+0c99:00820000:1f40:013e:2:0
+RNW-2
+p:RTV Slovenija,f:40
+039a:00820000:2134:013e:2:0
+SRG-DRS 2
+p:Schweizer Radio DRS,f:40
+039b:00820000:2134:013e:2:0
+SRG-DRS 3
+p:Schweizer Radio DRS,f:40
+039c:00820000:2134:013e:2:0
+SRG-DRS Virus
+p:Schweizer Radio DRS,f:40
+299c:00820000:22c4:013e:2:0
+Eviva Radio
+p:BSS_LDK,f:40
+039d:00820000:2134:013e:2:0
+SRG-DRS Musikwelle
+p:Schweizer Radio DRS,f:40
+299d:00820000:22c4:013e:2:0
+TASVIR IRAN
+p:Belgacom,f:40
+039e:00820000:2134:013e:2:0
+SRG-Rumantsch
+p:Radio Rumantsch,f:40
+209e:00820000:2328:013e:2:0
+PEVEC RADIO
+p:OiV Zagreb,f:40
+29a1:00820000:22c4:013e:2:0
+Radio Zamaneh
+p:Belgacom,f:40
+03a6:00820000:2134:013e:2:0
+SRG-Swiss Classic
+p:Swiss Satellite Radio,f:40
+03a7:00820000:2134:013e:2:0
+SRG-Swiss Pop
+p:Swiss Satellite Radio,f:40
+03a8:00820000:2134:013e:2:0
+SRG-Swiss Jazz
+p:Swiss Satellite Radio,f:40
+03a9:00820000:2134:013e:2:0
+SRG-DRS 4 News
+p:Schweizer Radio DRS,f:40
+37aa:00820000:044c:013e:2:0
+TAMILFMRADIO
+p: ,f:40
+0dad:00820000:2ee0:00b0:2:0
+France Musique
+p:,f:40
+0dae:00820000:2bc0:00b0:2:0
+France Vivace
+p:,f:40
+0daf:00820000:2ee0:00b0:2:0
+FIP
+p:,f:40
+0db0:00820000:2c88:00b0:2:0
+France Inter
+p:,f:40
+00b1:00820000:2648:013e:2:0
+Radio FES
+p:PRVDR,f:40
+0db1:00820000:2c88:00b0:2:0
+France Info
+p:,f:40
+0db2:00820000:2ee0:00b0:2:0
+France Culture
+p:,f:40
+0db3:00820000:2bc0:00b0:2:0
+France Bleu
+p:,f:40
+0db4:00820000:2ee0:00b0:2:0
+Le Mouv
+p:,f:40
+0db6:00820000:3c8c:013e:2:0
+DW01
+p:T-Systems,f:40
+00b7:00820000:1e14:013e:2:0
+Israel 2000
+p:GlobeCast,f:40
+00b8:00820000:1e14:013e:2:0
+RCF
+p:GlobeCast,f:40
+00b9:00820000:1e14:013e:2:0
+Dan TAMIL ALAI Radio
+p:GlobeCast,f:40
+00ba:00820000:1e14:013e:2:0
+FRANCE MAGHREB
+p:Globecast,f:40
+00bb:00820000:1e14:013e:2:0
+RADIO ORIENT
+p:GlobeCast,f:40
+20bb:00820000:2328:013e:2:0
+RADIO MARIJA
+p:OIV Zagreb,f:40
+20bc:00820000:2328:013e:2:0
+Radio Banovina
+p:OIV Zagreb,f:40
+0dc0:00820000:3c8c:013e:2:0
+DW02
+p:T-Systems,f:40
+06c3:00820000:3138:013e:2:0
+Radio Berbere
+p:Globecast,f:40
+09c4:00820000:3d54:013e:2:0
+Era 5
+p:,f:40
+1fc8:00820000:2454:013e:2:0
+RD1_Radio_ARMENIA
+p:GlobeCast,f:40
+36cb:00820000:06a4:013e:2:0
+SSR-La 1ere
+p:Radio Suisse Romande,f:40
+36cc:00820000:06a4:013e:2:0
+SSR-Espace 2
+p:Radio Suisse Romande,f:40
+1bcd:00820000:17d4:013e:2:0
+Mad Radio
+p:NetMed,f:40
+36cd:00820000:06a4:013e:2:0
+SSR-Couleur3
+p:Radio Suisse Romande,f:40
+36ce:00820000:06a4:013e:2:0
+SSR-Option Musique
+p:Radio Suisse Romande,f:40
+36cf:00820000:06a4:013e:2:0
+SSR-Rete Uno
+p:Radio svizzera di lingua italiana,f:40
+36d0:00820000:06a4:013e:2:0
+SSR-Rete Due
+p:Radio svizzera di lingua italiana,f:40
+34d1:00820000:3c28:013e:2:0
+NRJ
+p:CSAT,f:40
+36d1:00820000:06a4:013e:2:0
+SSR-Rete Tre
+p:Radio svizzera di lingua italiana,f:40
+38d1:00820000:0320:fbff:2:0
+Radio DeeJay
+p:SkyItalia,f:40
+34d2:00820000:3c28:013e:2:0
+Rire & Chansons
+p:CSAT,f:40
+38d2:00820000:0320:fbff:2:0
+M2O
+p:SkyItalia,f:40
+34d3:00820000:3c28:013e:2:0
+Nostalgie
+p:CSAT,f:40
+38d3:00820000:0320:fbff:2:0
+Radio 105
+p:SkyItalia,f:40
+0dd4:00820000:3c8c:013e:2:0
+DW04
+p:T-Systems,f:40
+34d4:00820000:3c28:013e:2:0
+Cherie FM
+p:CSAT,f:40
+38d4:00820000:0320:fbff:2:0
+Virgin Radio
+p:SkyItalia,f:40
+34d5:00820000:3c28:013e:2:0
+radio Walfadjri
+p:GlobeCast,C:0500,f:40
+38d5:00820000:0320:fbff:2:0
+Radio Capital
+p:SkyItalia,f:40
+36d6:00820000:06a4:013e:2:0
+SSR-WRS
+p:Radio Suisse Romande,f:40
+38d6:00820000:0320:fbff:2:0
+Kiss Kiss
+p:SkyItalia,f:40
+38d7:00820000:0320:fbff:2:0
+RTL 102.5
+p:SkyItalia,f:40
+38d8:00820000:0320:fbff:2:0
+R 101
+p:SkyItalia,f:40
+38d9:00820000:0320:fbff:2:0
+Radio Italia
+p:SkyItalia,f:40
+29da:00820000:3cf0:013e:2:0
+ARTE_Radio.com
+p:GlobeCast,f:40
+38da:00820000:0320:fbff:2:0
+Radio 24
+p:SkyItalia,f:40
+38db:00820000:0320:fbff:2:0
+RDS
+p:SkyItalia,f:40
+02dc:00820000:1b58:013e:2:0
+R.Maria
+p:Telespazio,f:40
+38dc:00820000:0320:fbff:2:0
+Radio Montecarlo
+p:SkyItalia,f:40
+02dd:00820000:1b58:013e:2:0
+Vietnamese PR
+p:Telespazio,f:40
+02de:00820000:1b58:013e:2:0
+Radio Padania IP
+p:Telespazio,f:40
+0dde:00820000:3c8c:013e:2:0
+DW05
+p:T-Systems,f:40
+39de:00820000:1fa4:013e:2:0
+GRAND
+p:NTH ,f:40
+02e0:00820000:1b58:013e:2:0
+RDS
+p:Telespazio,f:40
+34e0:00820000:3c28:013e:2:0
+Test Radio Globo
+p:CSAT,C:1800,f:40
+02e1:00820000:1b58:013e:2:0
+DimSuono Roma
+p:Telespazio,f:40
+02e2:00820000:1b58:013e:2:0
+ANNI 60
+p:Telespazio,f:40
+39e2:00820000:1fa4:013e:2:0
+RAM RAJ RADIO
+p:NTH ,f:40
+39e3:00820000:1fa4:013e:2:0
+Lijepa nasa (LINA)
+p:NTH ,f:40
+02e4:00820000:1b58:013e:2:0
+R.Italia S.m.i.
+p:Telespazio,f:40
+39e4:00820000:1fa4:013e:2:0
+MB MITIC BILJANA
+p:NTH ,f:40
+39e5:00820000:1fa4:013e:2:0
+VULKAN radio
+p:NTH ,f:40
+39e6:00820000:1fa4:013e:2:0
+RADIO FLES
+p:NTH ,f:40
+02e7:00820000:1b58:013e:2:0
+Popolare
+p:Telespazio,f:40
+39e7:00820000:1fa4:013e:2:0
+Radio SRNA-BOSANKA
+p:NTH ,f:40
+0de8:00820000:3c8c:013e:2:0
+DW06
+p:T-Systems,f:40
+12e8:00820000:2e7c:013e:2:0
+CYFRA+ RADIO
+p:CYFRA +,f:40
+39e8:00820000:1fa4:013e:2:0
+Radio SvetPLUS
+p:NTH ,f:40
+3be8:00820000:2260:fbff:2:0
+50 songs
+p:SkyItalia,f:40
+0ce9:00820000:2ee0:00b0:2:0
+Radio Courtoisie
+p:,f:40
+3be9:00820000:2260:fbff:2:0
+Yesterjay '80
+p:SkyItalia,f:40
+0cea:00820000:2c88:00b0:2:0
+Radio FG
+p:,f:40
+12ea:00820000:2e7c:013e:2:0
+CYFRA+ RMF
+p:CYFRA +,f:40
+39ea:00820000:1fa4:013e:2:0
+TREF Radio
+p:NTH ,f:40
+3bea:00820000:2260:fbff:2:0
+Yesterjay '90
+p:SkyItalia,f:40
+02eb:00820000:1b58:013e:2:0
+R-Radio
+p:Telespazio,f:40
+39eb:00820000:1fa4:013e:2:0
+YU PLANET BEC
+p:NTH ,f:40
+3beb:00820000:2260:fbff:2:0
+Hit Italia
+p:SkyItalia,f:40
+12ec:00820000:2e7c:013e:2:0
+CYFRA+ PR
+p:CYFRA +,f:40
+1cec:00820000:2fa8:013e:2:0
+Radio Capri
+p:Globecast UK,f:40
+3bec:00820000:2260:fbff:2:0
+ItalianVintage
+p:SkyItalia,f:40
+02ed:00820000:1b58:013e:2:0
+Radio Eurospin
+p:Telespazio,f:40
+10ed:00820000:03e8:013e:2:0
+test_radio
+p:TVN Grupa ITI,f:40
+39ed:00820000:1fa4:013e:2:0
+PEIRAIKI EKKLISIA
+p:OTE,f:40
+02ee:00820000:1b58:013e:2:0
+R.Speranza
+p:Telespazio,f:40
+0cef:00820000:1518:013e:2:0
+RADIOUNO
+p:RAI,f:40
+0cf0:00820000:1518:013e:2:0
+RADIODUE
+p:RAI,f:40
+0cf1:00820000:1518:013e:2:0
+RADIOTRE
+p:RAI,f:40
+02f2:00820000:1b58:013e:2:0
+R.KOLBE-SAT
+p:Telespazio,f:40
+0cf2:00820000:1450:013e:2:0
+FD leggera
+p:RAI,f:40
+0cf3:00820000:1518:013e:2:0
+FD auditorium
+p:RAI,f:40
+02f4:00820000:1b58:013e:2:0
+Radio ZETA
+p:Telespazio,f:40
+0cf4:00820000:1518:013e:2:0
+BLUSAT2000
+p:RAI,f:40
+0cf5:00820000:1518:013e:2:0
+GR Parlam.
+p:RAI,f:40
+0cf6:00820000:1518:013e:2:0
+Isoradio
+p:RAI,f:40
+0cf7:00820000:1450:013e:2:0
+Notturno italiano
+p:RAI,f:40
+02f8:00820000:1b58:013e:2:0
+RADIO PADANIA
+p:Telespazio,f:40
+0cf8:00820000:1518:013e:2:0
+Radio Vaticana
+p:RAI,f:40
+02f9:00820000:1b58:013e:2:0
+Radio Radicale
+p:Telespazio,f:40
+08fc:00820000:3d54:013e:2:0
+Era 3
+p:,f:40
+0dfc:00820000:3c8c:013e:2:0
+DW08
+p:T-Systems,f:40
+0cfd:00820000:1518:013e:2:0
+DAB
+p:Rai,f:40
+0dfd:00820000:14b4:013e:2:0
+Radio 1
+p:RTVE,f:40
+0dfe:00820000:14b4:013e:2:0
+Radio Clasica
+p:RTVE,f:40
+29fe:00820000:3cf0:013e:2:0
+RTL_102.5
+p:GlobeCast_Italia,f:40
+3bfe:00820000:2260:fbff:2:0
+Capital '70
+p:SkyItalia,f:40
+0dff:00820000:14b4:013e:2:0
+Radio 3
+p:RTVE,f:40
+12ff:00820000:2e7c:013e:2:0
+tech 2
+p:CYFRA +,f:40
+29ff:00820000:3cf0:013e:2:0
+Romania_In_direct
+p:GlobeCast,f:40
+3bff:00820000:2260:fbff:2:0
+Vintage '60
+p:SkyItalia,f:40
+2002:00820000:2454:013e:12:0
+worldsat-o
+p:OpenMux IP Gateway,f:40
+2004:00820000:2454:013e:12:0
+WorldSat
+p:OpenMux IP Gateway,f:40
+0007:00820000:2648:013e:12:0
+MAP SAT
+p:PRVDR,f:40
+281f:00820000:23f0:013f:12:0
+AleniaSpazio
+p:Alenia,f:40
+1c24:00820000:1c20:013e:12:0
+AH-EMP4-DATA
+p:AH-EDP,f:40
+292b:00820000:1edc:0071:12:0
+CP_Download
+p:,f:40
+0e2f:00820000:0708:00c8:12:0
+ENVIATEL
+p:M-Three satcom,f:40
+3b38:00820000:0514:013e:12:0
+pVOD
+p:ITI,f:40
+243d:00820000:23f0:013f:12:0
+WebTv Ch1
+p:OpenMux IP Gateway,f:40
+243e:00820000:23f0:013f:12:0
+WebTv Ch1
+p:OpenMux IP Gateway,f:40
+243f:00820000:23f0:013f:12:0
+WebTv Ch2
+p:OpenMux IP Gateway,f:40
+2744:00820000:23f0:013f:12:0
+CRF-Perugia
+p:CRF-Perugia,f:40
+044e:00820000:20d0:013e:12:0
+POLYCOM
+p:GLOBECAST,f:40
+275d:00820000:23f0:013f:12:0
+CID09000200
+p:Alenia,f:40
+2064:00820000:24b8:013e:12:0
+Quadriga
+p:Globecast,f:40
+126d:00820000:3458:013e:12:0
+NIS_Intesa1
+p:T-Systems/MTI,f:40
+1d77:00820000:2f44:013e:12:0
+IPE 3
+p:???,f:40
+1f7b:00820000:319c:013e:12:0
+Akubis Daten
+p:T-Systems,C:0b00,f:40
+118a:00820000:2af8:013e:12:0
+ST
+p:CYFRA +,f:40
+278f:00820000:23f0:013f:12:0
+skn-92-8
+p:NCS-BBA-Lario-2,f:40
+2898:00820000:23f0:013f:12:0
+CID09004700
+p:PCP-ARPA-TO,f:40
+2bbf:00820000:2454:013e:12:0
+IEPG Data
+p:Skyitalia,f:40
+22c8:00820000:238c:013e:12:0
+HitCast Data 1
+p:OpenMux IP Gateway,f:40
+22ca:00820000:238c:013e:12:0
+Data_01
+p:OpenMux IP Gateway,f:40
+3aca:00820000:0514:013e:12:0
+Upload
+p:test,f:40
+22cb:00820000:238c:013e:12:0
+Data_02
+p:OpenMux IP Gateway,f:40
+21cd:00822a65:2db4:0000:12:0
+EUMETCAST
+p:T-Systems,f:40
+21ce:00822a65:2db4:0000:12:0
+GlobalK-Sat
+p:T-Systems,f:40
+21cf:00822a65:2db4:0000:12:0
+Acentic
+p:T-Systems,f:40
+27e1:00820000:23f0:013f:12:0
+CSF-Viminale
+p:VVF,f:40
+12f7:00820000:2e7c:013e:12:0
+REUTERS RSP
+p:CYFRA +,f:40
+2b0c:00820000:1900:fbff:25:0
+SKY Sport HD 1
+p:SkyItalia,f:40
+2b16:00820000:1900:fbff:25:0
+Next HD
+p:SkyItalia,f:40
+2b17:00820000:1900:fbff:25:0
+SKY Cinema HD
+p:SkyItalia,f:40
+2b18:00820000:1900:fbff:25:0
+NationalGeo HD
+p:SkyItalia,f:40
+2b19:00820000:1900:fbff:25:0
+SKY Sport HD 2
+p:SkyItalia,f:40
+03de:00820000:2134:013e:25:0
+HD suisse
+p:SRG SSR idee suisse,f:40
+240a:00820000:23f0:013f:128:0
+SIMS Signaling
+p:PCP-Campochiaro,f:40
+2315:00820000:238c:013e:128:0
+SKYGATE ERTU
+p:SkyMux,f:40
+231a:00820000:238c:013e:128:0
+SKY MEDIO
+p:SkyMux,f:40
+281a:00820000:23f0:013f:128:0
+SIMS Signaling
+p:Alenia,f:40
+243c:00820000:23f0:013f:128:0
+skygate25
+p:SkyMux,f:40
+2743:00820000:23f0:013f:128:0
+SIMS Signaling
+p:CRF-Perugia,f:40
+2455:00820000:23f0:013f:128:0
+skygate24
+p:SkyMux,f:40
+275c:00820000:23f0:013f:128:0
+SIMS Signaling
+p:Alenia,f:40
+2261:00820000:238c:013e:128:0
+SKYPLEX TXP91
+p:EUTELSAT,f:40
+1162:00820000:2af8:013e:128:0
+EPG
+p:CYFRA +,f:40
+2269:00820000:238c:013e:128:0
+skygateTDA
+p:SkyMux,f:40
+2379:00820000:238c:013e:128:0
+Skygate RTORO
+p:Eutelsat,f:40
+227a:00820000:238c:013e:128:0
+SkygateTDA
+p:Skylogic,f:40
+248a:00820000:23f0:013f:128:0
+SkyPlex CHID 4
+p:Eutelsat,f:40
+238d:00820000:23f0:013f:128:0
+SKYPLEX TXP92
+p:EUTELSAT,f:40
+278e:00820000:23f0:013f:128:0
+SIMS Signaling
+p:NCS-BBA-Lario-2,f:40
+2491:00820000:23f0:013f:128:0
+QAT-DOH-008
+p:Al Jazeera,f:40
+299a:00820000:22c4:013e:128:0
+MOVIEPEAK
+p:Twin Peak,f:40
+249b:00820000:23f0:013f:128:0
+ITA-FOC-17(SKY2)
+p:SkyMux,f:40
+22ac:00820000:238c:013e:128:0
+Skyplex RMB
+p:Eutelsat,f:40
+27b0:00820000:23f0:013f:128:0
+SIMS Signaling
+p:ITA-ROM-043,f:40
+29b5:00820000:22c4:013e:128:0
+StrongDigitalTV
+p:OpenMux,f:40
+29b7:00820000:22c4:013e:128:0
+Allsatcom4
+p:OpenMux,f:40
+29be:00820000:22c4:013e:128:0
+Opentech
+p:OpenMux,f:40
+27c0:00820000:23f0:013f:128:0
+Skyplex Internal
+p:SkyMux,f:40
+29c1:00820000:22c4:013e:128:0
+AllSat.Com
+p:OpenMux,f:40
+22c5:00820000:238c:013e:128:0
+Skyplex 10.1
+p:SkyMux,f:40
+22de:00820000:238c:013e:128:0
+SkygateBLUTV
+p:SkyMux,f:40
+27e0:00820000:23f0:013f:128:0
+SIMS Signaling
+p:Alenia,f:40
+12fe:00820000:2e7c:013e:128:0
+tech
+p:CYFRA +,f:40
+0016:00820000:1edc:0071:129:0
+SCM Download
+p:,f:40
+144f:00820000:05dc:013e:129:0
+5199
+p:CYFRA +,f:40
+00e1:00820000:2e7c:013e:129:0
+PHILIPS DOWNLOAD 1.1
+p:WIZJA 1,f:40
+0e00:00820000:15e0:fbff:130:0
+SKY Sound
+p:SkyItalia,f:40
+3900:00820000:0320:fbff:130:0
+GF Feed3
+p:SkyItalia,f:40
+0e32:00820000:16a8:fbff:130:0
+Prima Fila
+p:SkyItalia,f:40
+0e55:00820000:16a8:fbff:130:0
+Gestione Collegam. Telefonico
+p:SkyItalia,f:40
+38a5:00820000:0320:fbff:130:0
+Modalita' d'Acquisto
+p:SkyItalia,f:40
+2ab6:00820000:1838:fbff:130:0
+iadv appli4
+p:SkyItalia,f:40
+2ab8:00820000:1838:fbff:130:0
+iadv Video
+p:SkyItalia,f:40
+2ab9:00820000:1838:fbff:130:0
+i-Spot Puntoshop
+p:SkyItalia,f:40
+2aba:00820000:1838:fbff:130:0
+i-Spot Nokia Nseries
+p:SkyItalia,f:40
+2abb:00820000:1838:fbff:130:0
+iadv appli3
+p:SkyItalia,f:40
+29bd:00820000:22c4:013e:130:0
+HUMAX DOWNLOAD SVC
+p:HUMAX,f:40
+38be:00820000:0320:fbff:130:0
+GF Feed1
+p:SkyItalia,f:40
+38bf:00820000:0320:fbff:130:0
+SKY Assist active
+p:SkyItalia,f:40
+38c0:00820000:0320:fbff:130:0
+GF Feed2
+p:SkyItalia,f:40
+0dc4:00820000:15e0:fbff:130:0
+Zona Giochi
+p:SkyItalia,f:40
+0dc5:00820000:15e0:fbff:130:0
+Playjam
+p:SkyItalia,f:40
+38cd:00820000:0320:fbff:130:0
+Radio on Sky
+p:SkyItalia,f:40
+1fd1:00820000:189c:fbff:130:0
+SKY PASS
+p:SkyItalia,f:40
+38e2:00820000:0320:fbff:130:0
+BET ON SKY
+p:SkyItalia,f:40
+38e6:00820000:0320:fbff:130:0
+Better
+p:SkyItalia,f:40
+3be7:00820000:2260:fbff:130:0
+Music On SKY
+p:SkyItalia,f:40
+38e8:00820000:0320:fbff:130:0
+SNAI
+p:SkyItalia,f:40
+0ff2:00820000:2580:fbff:130:0
+Zona Bet Test
+p:SkyItalia,f:40
+0dfd:00820000:15e0:fbff:130:0
+SKY Play IT
+p:SkyItalia,f:40
+1003:00820000:2580:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+2006:00820000:189c:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+0e0e:00820000:15e0:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+2e17:00820000:2198:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+251a:00820000:2774:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+0e1c:00820000:0708:00c8:131:0
+XSI
+p:SKY,f:40
+3c1d:00820000:2260:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+2c23:00820000:1a90:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+112e:00820000:2710:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+2d4f:00820000:1a2c:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+3451:00820000:0064:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+2b57:00820000:1900:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+0e70:00820000:16a8:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+2c87:00820000:1644:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+0f89:00820000:251c:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+0dab:00820000:1450:013e:131:0
+download
+p:Rai,f:40
+2db3:00820000:2008:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+2bbf:00820000:19c8:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+2ceb:00820000:170c:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+2af7:00820000:1838:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+38ff:00820000:0320:fbff:131:0
+IEPG Data
+p:SkyItalia,f:40
+1001:00820000:2580:fbff:132:0
+Dl961
+p:SkyItalia,f:40
+1002:00820000:2580:fbff:132:0
+Dl962
+p:SkyItalia,f:40
+0e0c:00820000:15e0:fbff:132:0
+Dl561
+p:SkyItalia,f:40
+0e0d:00820000:15e0:fbff:132:0
+Dl562
+p:SkyItalia,f:40
+2e15:00820000:2198:fbff:132:0
+Dl861
+p:SkyItalia,f:40
+2e16:00820000:2198:fbff:132:0
+Dl862
+p:SkyItalia,f:40
+2518:00820000:2774:fbff:132:0
+Dl1011
+p:SkyItalia,f:40
+2519:00820000:2774:fbff:132:0
+Dl1012
+p:SkyItalia,f:40
+2c21:00820000:1a90:fbff:132:0
+Dl681
+p:SkyItalia,f:40
+2c22:00820000:1a90:fbff:132:0
+Dl682
+p:SkyItalia,f:40
+112c:00820000:2710:fbff:132:0
+Dl1001
+p:SkyItalia,f:40
+112d:00820000:2710:fbff:132:0
+Dl1002
+p:SkyItalia,f:40
+292d:00820000:1edc:0071:132:0
+01 34 01 16
+p:Cyfrowy Polsat,f:40
+062e:00820000:2e18:00b0:132:0
+01 06 04 50
+p:OpenMux,f:40
+062f:00820000:2e18:00b0:132:0
+01 06 01 48
+p:,f:40
+0630:00820000:2e18:00b0:132:0
+01 07 04 50
+p:OpenMux,f:40
+0631:00820000:2e18:00b0:132:0
+01 07 01 48
+p:OpenMux,f:40
+0632:00820000:2e18:00b0:132:0
+01 08 04 50
+p:OpenMux,f:40
+0633:00820000:2e18:00b0:132:0
+01 08 01 48
+p:OpenMux,f:40
+0634:00820000:2e18:00b0:132:0
+01 60 04 65
+p:OpenMux,f:40
+0635:00820000:2e18:00b0:132:0
+01 60 01 65
+p:OpenMux,f:40
+0638:00820000:2e18:00b0:132:0
+01 46 04 65
+p:OpenMux,f:40
+0639:00820000:2e18:00b0:132:0
+01 46 01 65
+p:,f:40
+063a:00820000:2e18:00b0:132:0
+01 03 04 50
+p:OpenMux,f:40
+063b:00820000:2e18:00b0:132:0
+01 03 01 48
+p:,f:40
+063c:00820000:2e18:00b0:132:0
+01 03 06 23
+p:,f:40
+063d:00820000:2e18:00b0:132:0
+01 04 01 48
+p:,f:40
+063e:00820000:2e18:00b0:132:0
+01 04 04 50
+p:OpenMux,f:40
+2d49:00820000:1a2c:fbff:132:0
+Dl671
+p:SkyItalia,f:40
+2d4a:00820000:1a2c:fbff:132:0
+Dl672
+p:SkyItalia,f:40
+344e:00820000:0064:fbff:132:0
+DI11
+p:SkyItalia,f:40
+344f:00820000:0064:fbff:132:0
+Dl11
+p:SkyItalia,f:40
+3450:00820000:0064:fbff:132:0
+Dl12
+p:SkyItalia,f:40
+2b55:00820000:1900:fbff:132:0
+Dl641
+p:SkyItalia,f:40
+2b56:00820000:1900:fbff:132:0
+Dl642
+p:SkyItalia,f:40
+0e57:00820000:16a8:fbff:132:0
+Dl583
+p:SkyItalia,f:40
+0e59:00820000:16a8:fbff:132:0
+Dl581
+p:SkyItalia,f:40
+0e5a:00820000:16a8:fbff:132:0
+Dl582
+p:SkyItalia,f:40
+295f:00820000:1edc:0071:132:0
+SAMSUNG370
+p:Cyfrowy Polsat,f:40
+2c82:00820000:1644:fbff:132:0
+Dl571
+p:SkyItalia,f:40
+2c83:00820000:1644:fbff:132:0
+Dl572
+p:SkyItalia,f:40
+0f87:00820000:251c:fbff:132:0
+Dl951
+p:SkyItalia,f:40
+0f88:00820000:251c:fbff:132:0
+Dl952
+p:SkyItalia,f:40
+0f8a:00820000:251c:fbff:132:0
+Dl583
+p:SkyItalia,f:40
+2dae:00820000:2008:fbff:132:0
+Dl821
+p:SkyItalia,f:40
+2daf:00820000:2008:fbff:132:0
+Dl822
+p:SkyItalia,f:40
+2bbc:00820000:19c8:fbff:132:0
+Dl661
+p:SkyItalia,f:40
+2bbd:00820000:19c8:fbff:132:0
+Dl662
+p:SkyItalia,f:40
+1cd3:00820000:1ce8:0071:132:0
+Samsung2
+p:Cyfrowy Polsat,f:40
+1cd9:00820000:1ce8:0071:132:0
+01 41 01 06
+p:FLASH4285,f:40
+2ce6:00820000:170c:fbff:132:0
+Dl591
+p:SkyItalia,f:40
+2ce7:00820000:170c:fbff:132:0
+Dl592
+p:SkyItalia,f:40
+1fec:00820000:189c:fbff:132:0
+Dl631
+p:SkyItalia,f:40
+1fed:00820000:189c:fbff:132:0
+Dl632
+p:SkyItalia,f:40
+2af5:00820000:1838:fbff:132:0
+Dl621
+p:SkyItalia,f:40
+2af6:00820000:1838:fbff:132:0
+Dl622
+p:SkyItalia,f:40
+38fd:00820000:0320:fbff:132:0
+Dl81
+p:SkyItalia,f:40
+38fe:00820000:0320:fbff:132:0
+Dl82
+p:SkyItalia,f:40
+1004:00820000:2e18:00b0:135:0
+Guide
+p:,f:40
+170c:00820000:2bc0:00b0:135:0
+RADIO2000
+p:OpenMux,f:40
+1715:00820000:2e18:00b0:135:0
+Notification Débits
+p:OpenMux,f:40
+1e16:00820000:3db8:00b0:135:0
+quizz_Satisfaction
+p:OpenMux,f:40
+1d4c:00820000:2bc0:00b0:135:0
+Playin TV Outlist
+p:OpenMux,f:40
+294f:00820000:1edc:0071:135:0
+Test
+p:Cyfrowy Polsat,f:40
+1b5f:00820000:2d50:00b0:135:0
+Debits de jetons
+p:OpenMux,C:0500,f:40
+1969:00820000:2e18:00b0:135:0
+UPSELLING
+p:OpenMux,f:40
+1775:00820000:2c88:00b0:135:0
+Quizz_TF1
+p:OpenMux,f:40
+1c8c:00820000:2bc0:00b0:135:0
+Tests terminaux
+p:OpenMux,f:40
+189c:00820000:2e18:00b0:135:0
+Boutique Votre Abonnement
+p:OpenMux,f:40
+16a9:00820000:2ee0:00b0:135:0
+Météo Express
+p:OpenMux,f:40
+12c0:00820000:2e18:00b0:135:0
+test-96-0
+p:OpenMux,f:40
+12c5:00820000:2e18:00b0:135:0
+opentst
+p:OpenMux,f:40
+17d4:00820000:2e18:00b0:135:0
+Votre_Contrat
+p:OpenMux,f:40
+05f0:00820000:2e18:00b0:135:0
+Equidia Outlist
+p:,f:40
+17d9:00820000:3db8:00b0:136:0
+CANAL+
+p:OpenMux,f:40
+17da:00820000:3db8:00b0:136:0
+CANAL+ DECALE
+p:OpenMux,f:40
+17db:00820000:3db8:00b0:136:0
+CANAL+ SPORT
+p:OpenMux,f:40
+17dc:00820000:3db8:00b0:136:0
+CANAL+ CINEMA
+p:OpenMux,f:40
+17dd:00820000:3db8:00b0:136:0
+CANAL+ HI-TECH
+p:OpenMux,f:40
+1518:00820000:2bc0:00b0:138:0
+X X L
+p:OpenMux,C:0500,f:40
+1521:00820000:2bc0:00b0:138:0
+PRIVATE SPICE
+p:OpenMux,C:0500,f:40
+0fa0:00820000:2ee0:00b0:138:0
+BANDIAGARA
+p:OpenMux,f:40
+18a1:00820000:2bc0:00b0:138:0
+Canal+
+p:OpenMux,f:40
+14b9:00820000:2bc0:00b0:138:0
+Playin TV
+p:OpenMux,f:40
+1af4:00820000:2bc0:00b0:138:0
+TPS & Vous
+p:,f:40
+11f8:00820000:3db8:00b0:138:0
+Mathilda
+p:OpenMux,f:40
+0a1f:00820000:2e18:00b0:139:0
+02 01 04 86
+p:OpenMux,f:40
+0a20:00820000:2e18:00b0:139:0
+02 01 01 84
+p:,f:40
+0a21:00820000:2e18:00b0:139:0
+02 02 04 86
+p:OpenMux,f:40
+0a22:00820000:2e18:00b0:139:0
+02 02 01 84
+p:,f:40
+0a25:00820000:2e18:00b0:139:0
+02 04 04 86
+p:OpenMux,f:40
+0a26:00820000:2e18:00b0:139:0
+02 04 01 84
+p:OpenMux,f:40
+0a27:00820000:2e18:00b0:139:0
+02 05 01 84
+p:OpenMux,f:40
+0a28:00820000:2e18:00b0:139:0
+02 05 04 86
+p:OpenMux,f:40
+0a29:00820000:2e18:00b0:139:0
+02 06 01 84
+p:OpenMux,f:40
+0a2a:00820000:2e18:00b0:139:0
+02 06 04 86
+p:OpenMux,f:40
+0a2b:00820000:2d50:00b0:139:0
+0208010a0F
+p:OpenMux,f:40
+0a2c:00820000:2d50:00b0:139:0
+0208041a0F
+p:OpenMux,f:40
+0e66:00820000:1ce8:0071:141:0
+EpgOpenTV
+p:Nagra,f:40
+8fff:00820000:1edc:0071:143:0
+EDCPS
+p:,f:40
+1cad:00820000:1ce8:0071:144:0
+0202000E
+p:Cyfrowy Polsat,f:40
+1cd6:00820000:1ce8:0071:144:0
+02010016
+p:Cyfrowy Polsat,f:40
+1d98:00820000:2f44:013e:145:0
+Eepg
+p:NetMed,f:40
+end
+Have a lot of bugs!
--- /dev/null
+eDVB services /3/
+transponders
+00c00000:03f0:0001
+ s 11317500:22000000:1:4:192:2
+/
+00c00000:03f3:0001
+ s 11362000:22000000:0:2:192:0:1:2:0:1
+/
+00c00000:03f8:0001
+ s 11435000:22000000:1:4:192:2
+/
+00c00000:03fa:0001
+ s 11479000:22000000:1:4:192:2
+/
+00c00000:03fc:0001
+ s 11508500:22000000:1:4:192:2
+/
+00c00000:03fe:0001
+ s 11538000:22000000:1:4:192:2
+/
+00c00000:0400:0001
+ s 11567500:22000000:1:4:192:2
+/
+00c00000:0402:0001
+ s 11597000:22000000:1:4:192:2
+/
+00c00000:0407:0001
+ s 11670750:22000000:0:4:192:2
+/
+00c00000:0408:0001
+ s 11685500:22000000:1:4:192:2
+/
+00c00000:040a:0001
+ s 10979000:22000000:1:4:192:2
+/
+00c00000:040e:0001
+ s 11038000:22000000:1:4:192:2
+/
+00c00000:0412:0001
+ s 11097000:22000000:1:4:192:2
+/
+00c00000:0416:0001
+ s 11156000:22000000:1:4:192:2
+/
+00c00000:041b:0001
+ s 10743750:22000000:0:4:192:2
+/
+00c00000:041d:0001
+ s 10773250:22000000:0:4:192:2
+/
+00c00000:041e:0001
+ s 10788000:22000000:1:4:192:2
+/
+00c00000:0420:0001
+ s 10817500:22000000:1:4:192:2
+/
+00c00000:0421:0001
+ s 10832000:22000000:0:4:192:2
+/
+00c00000:0422:0001
+ s 10847000:22000000:1:4:192:2
+/
+00c00000:0423:0001
+ s 10861750:22000000:0:4:192:2
+/
+00c00000:0424:0001
+ s 10876000:22000000:1:4:192:2
+/
+00c00000:0427:0001
+ s 10920750:22000000:0:4:192:2
+/
+00c00000:042a:0001
+ s 11739000:27500000:1:3:192:2
+/
+00c00000:042c:0001
+ s 11778000:27500000:1:3:192:2
+/
+00c00000:042e:0001
+ s 11817000:27500000:1:3:192:2
+/
+00c00000:0430:0001
+ s 11856000:27500000:1:3:192:2
+/
+00c00000:0431:0001
+ s 12109500:27500000:0:3:192:2
+/
+00c00000:0432:0001
+ s 11895000:27500000:1:3:192:2
+/
+00c00000:0434:0001
+ s 11934000:27500000:1:3:192:2
+/
+00c00000:0436:0001
+ s 11973000:27500000:1:3:192:2
+/
+00c00000:0437:0001
+ s 11953500:27500000:0:3:192:2
+/
+00c00000:0438:0001
+ s 12012000:27500000:1:3:192:2
+/
+00c00000:043a:0001
+ s 12051000:27500000:1:3:192:2
+/
+00c00000:043c:0001
+ s 12090000:27500000:1:3:192:2
+/
+00c00000:043e:0001
+ s 12129000:27500000:1:3:192:2
+/
+00c00000:0440:0001
+ s 12168000:27500000:1:3:192:2
+/
+00c00000:0441:0001
+ s 12187500:27500000:0:3:192:2
+/
+00c00000:0442:0001
+ s 12207000:27500000:1:3:192:2
+/
+00c00000:0443:0001
+ s 12226500:27500000:0:3:192:2
+/
+00c00000:0444:0001
+ s 12246000:27500000:1:3:192:2
+/
+00c00000:0445:0001
+ s 12265500:27500000:0:3:192:2
+/
+00c00000:0446:0001
+ s 12285000:27500000:1:3:192:2
+/
+00c00000:0447:0001
+ s 12304500:27500000:0:3:192:2
+/
+00c00000:0448:0001
+ s 12324000:27500000:1:3:192:2
+/
+00c00000:044a:0001
+ s 11758000:27500000:1:3:192:2
+/
+00c00000:044b:0001
+ s 12382500:27500000:0:3:192:2
+/
+00c00000:044c:0001
+ s 12402000:27500000:1:3:192:2
+/
+00c00000:044d:0001
+ s 11836500:27500000:0:3:192:2
+/
+00c00000:044e:0001
+ s 12441000:27500000:1:3:192:2
+/
+00c00000:0453:0001
+ s 12544750:22000000:0:4:192:2
+/
+00c00000:0454:0001
+ s 12551500:22000000:1:4:192:2
+/
+00c00000:0457:0001
+ s 12603750:22000000:0:4:192:2
+/
+00c00000:0458:0001
+ s 12610500:22000000:1:4:192:2
+/
+00c00000:0459:0001
+ s 12633250:22000000:0:4:192:2
+/
+00c00000:045a:0001
+ s 12640000:22000000:1:4:192:2
+/
+00c00000:045b:0001
+ s 12662750:22000000:0:4:192:2
+/
+00c00000:045d:0001
+ s 12692250:22000000:0:4:192:2
+/
+00c00000:045e:0001
+ s 12699000:22000000:1:4:192:2
+/
+00c00000:0460:0001
+ s 12728500:22000000:1:4:192:2
+/
+00c00000:04b1:0001
+ s 12421500:27500000:0:3:192:2
+/
+00c00000:04ff:0001
+ s 11992500:27500000:0:3:192:2
+/
+00c00000:0449:0035
+ s 12343500:27500000:0:3:192:2
+/
+00c00000:0451:0035
+ s 12515000:22000000:0:4:192:2
+/
+00c00000:0455:0035
+ s 12574000:22000000:0:4:192:2
+/
+00c00000:045c:0035
+ s 12669500:22000000:1:4:192:2
+/
+00c00000:045f:0035
+ s 12721750:22000000:0:4:192:2
+/
+00c00000:0001:0085
+ s 12070500:27500000:0:3:192:2
+/
+00c00000:0002:0085
+ s 11797500:27500000:0:3:192:2
+/
+00c00000:0003:0085
+ s 11719500:27500000:0:3:192:2
+/
+00c00000:0004:0085
+ s 12031500:27500000:0:3:192:2
+/
+00c00000:0005:0085
+ s 12460500:27500000:0:3:192:2
+/
+00c00000:0006:0085
+ s 11914500:27500000:0:9:192:2:1:1:0
+/
+00c00000:0007:0085
+ s 12148500:27500000:0:3:192:2
+/
+00c00000:0009:0085
+ s 11875500:27500000:0:3:192:2
+/
+00c00000:0011:0085
+ s 11758500:27500000:0:3:192:2
+/
+00c00000:0021:0085
+ s 12480000:27500000:1:3:192:2
+/
+end
+services
+75e8:00c00000:0422:0001:0:0
+
+p:,f:40
+75e9:00c00000:0422:0001:0:0
+
+p:,f:40
+75ea:00c00000:0422:0001:0:0
+
+p:,f:40
+75eb:00c00000:0422:0001:0:0
+
+p:,f:40
+75ec:00c00000:0422:0001:0:0
+
+p:,f:40
+0300:00c00000:0007:0085:1:0
+RNF
+p:BetaDigital,f:40
+0700:00c00000:0005:0085:1:0
+\86BLUCOM\87 DEMOKANAL
+p:BetaDigital,f:40
+1b00:00c00000:03fe:0001:1:0
+TELESUR
+p:GlobeCast Spain,f:40
+2200:00c00000:044c:0001:1:0
+REAL TIME
+p:CSAT,f:40
+7000:00c00000:0436:0001:1:0
+MTV Euro
+p:MTV Networks Europe,f:40
+7500:00c00000:0420:0001:1:0
+DCINE ESPAÑOL
+p:DCESP,f:40
+0201:00c00000:0004:0085:1:0
+EROTIK - \86AB 18!\87
+p:PREMIERE,C:1833,C:1831,C:1830,C:1810,f:40
+0301:00c00000:0007:0085:1:0
+\86Voyages\87 Television
+p:BetaDigital,f:40
+0701:00c00000:0005:0085:1:0
+\86D\87AS\86 VIERTE\87
+p:BetaDigital,f:40
+1901:00c00000:03fa:0001:1:0
+CANAL EVENEMENT
+p:CSAT,f:40
+2201:00c00000:044c:0001:1:0
+JETIX
+p:CSAT,f:40
+7001:00c00000:0436:0001:1:0
+MTV Germany
+p:MTV Networks Europe,f:40
+7501:00c00000:0420:0001:1:0
+CANAL COCINA
+p:CACOC,f:40
+0202:00c00000:0007:0085:1:0
+TIER.TV
+p:BetaDigital,f:40
+0302:00c00000:0007:0085:1:0
+.
+p:BetaDigital,f:40
+0702:00c00000:0005:0085:1:0
+\86JAMBA!\87 TV
+p:BetaDigital,f:40
+1902:00c00000:03fa:0001:1:0
+VIVOLTA
+p:CSAT,f:40
+2202:00c00000:044c:0001:1:0
+L'EQUIPE TV
+p:CSAT,f:40
+7002:00c00000:0436:0001:1:0
+MTV Pulse
+p:MTV Networks Europe,f:40
+7502:00c00000:0420:0001:1:0
+TVV INT.
+p:CCV,f:40
+7602:00c00000:0408:0001:1:0
+CNN+
+p:CNN+,f:40
+0203:00c00000:0004:0085:1:0
+MGM
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0303:00c00000:0007:0085:1:0
+.
+p:BetaDigital,f:40
+1903:00c00000:03fa:0001:1:0
+TELEREALITE
+p:CSAT,f:40
+2203:00c00000:044c:0001:1:0
+PLANETE NO LIMIT
+p:CSAT,f:40
+7003:00c00000:0436:0001:1:0
+MTV Idol
+p:MTV Networks Europe,f:40
+7503:00c00000:0420:0001:1:0
+FOX
+p:FOXGE,f:40
+7603:00c00000:0408:0001:1:0
+PRO TV INT
+p:DIGITAL+,f:40
+0204:00c00000:0003:0085:1:0
+PREMIERE \86NOSTALGIE\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0304:00c00000:0005:0085:1:0
+imusic TV
+p:BetaDigital,f:40
+1904:00c00000:03fa:0001:1:0
+BABY FIRST
+p:CSAT,f:40
+2204:00c00000:044c:0001:1:0
+NATIONAL GEO
+p:CSAT,f:40
+7004:00c00000:0436:0001:1:0
+VIVA Germany
+p:MTV Networks Europe,f:40
+7504:00c00000:0420:0001:1:0
+AXN
+p:AXN,f:40
+7604:00c00000:0408:0001:1:0
+RAD. ROMANIA
+p:DIGITAL+,f:40
+0305:00c00000:0007:0085:1:0
+BD 4
+p:BetaDigital,C:1833,f:40
+1905:00c00000:03fa:0001:1:0
+PLANETE JUSTICE
+p:CSAT,f:40
+2205:00c00000:044c:0001:1:0
+C CINEMA CLASSIC
+p:CSAT,f:40
+7005:00c00000:0436:0001:1:0
+COMEDY CENTRAL Germany
+p:MTV Networks Europe,f:40
+7505:00c00000:0420:0001:1:0
+TVE 1
+p:TVE 1,f:40
+0206:00c00000:0001:0085:1:0
+\86GOLDSTAR\87 TV
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0306:00c00000:0007:0085:1:0
+\86GOD \87Channel
+p:BetaDigital,f:40
+2206:00c00000:044c:0001:1:0
+NRJ 12
+p:CSAT,f:40
+7506:00c00000:0420:0001:1:0
+SCI FI
+p:DIGITAL +,f:40
+0307:00c00000:0007:0085:1:0
+Der \86Schmuck\87kanal
+p:BetaDigital,f:40
+2207:00c00000:044c:0001:1:0
+C CINEMA FAMIZ
+p:CSAT,f:40
+7007:00c00000:0436:0001:1:0
+MTV NL
+p:MTV Networks Europe,f:40
+7607:00c00000:0408:0001:1:0
+S.MODELO 08
+p:DIGITAL+,f:40
+0008:00c00000:0001:0085:1:0
+PREMIERE \86START\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0308:00c00000:0005:0085:1:0
+GIGA
+p:BetaDigital,f:40
+2f08:00c00000:0441:0001:1:0
+\86S\87uper\86 RTL\87
+p:RTL World,f:40
+7008:00c00000:0436:0001:1:0
+NICK Germany
+p:MTV Networks Europe,f:40
+0009:00c00000:0002:0085:1:0
+\86PREM\87IERE\86 4\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+2009:00c00000:0430:0001:1:0
+CANAL+
+p:CSAT,f:40
+2f09:00c00000:0441:0001:1:0
+Super RTL CH
+p:RTL,f:40
+7009:00c00000:0436:0001:1:0
+MTV ENTERTAINMENT (P)
+p:MTV Networks Europe,f:40
+7509:00c00000:0420:0001:1:0
+ECUAVISA INT
+p:Digital+,f:40
+000a:00c00000:0002:0085:1:0
+\86PREM\87IERE\86 1\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+200a:00c00000:0430:0001:1:0
+CANAL+ DECALE
+p:CSAT,f:40
+700a:00c00000:0436:0001:1:0
+NICK PREMIUM (P)
+p:MTV Networks Europe,f:40
+750a:00c00000:0420:0001:1:0
+CARACOL TV
+p:digital TV,f:40
+000b:00c00000:0002:0085:1:0
+\86PREM\87IERE\86 2\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+200b:00c00000:0430:0001:1:0
+CANAL+ CINEMA
+p:CSAT,f:40
+000c:00c00000:0011:0085:1:0
+\86ANIMAL\87 PLANET
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+200c:00c00000:0430:0001:1:0
+CANAL+ HI-TECH
+p:CSAT,f:40
+760c:00c00000:0408:0001:1:0
+TCM CLÁSICO
+p:CMACLS,f:40
+000d:00c00000:0011:0085:1:0
+DISCOVERY \86GESCHICHTE\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+000e:00c00000:0011:0085:1:0
+\86DISCOVERY\87 CHANNEL
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+200e:00c00000:0430:0001:1:0
+C CINEMA PREMIER
+p:CSAT,f:40
+500e:00c00000:0447:0001:1:0
+UPC Direct Radio
+p:UPC Direct,f:40
+760e:00c00000:0408:0001:1:0
+TV GALICIA
+p:DIGITAL+,f:40
+000f:00c00000:0011:0085:1:0
+FOCUS \86GESUND\87HEIT
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+200f:00c00000:0430:0001:1:0
+DISNEY CHANNEL
+p:CSAT,f:40
+500f:00c00000:0447:0001:1:0
+Game 3
+p:chellomedia IS,f:40
+0010:00c00000:0002:0085:1:0
+PREMIERE \86SERIE\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+2010:00c00000:0430:0001:1:0
+CANAL+ SPORT
+p:CSAT,f:40
+5010:00c00000:0447:0001:1:0
+Game 2
+p:chellomedia IS,f:40
+0011:00c00000:0003:0085:1:0
+PREMIERE \86SPORT PORTAL\87
+p:PREMIERE,C:1833,C:1830,f:40
+2011:00c00000:0430:0001:1:0
+EQUIDIA
+p:CSAT,f:40
+2211:00c00000:044c:0001:1:0
+NRJ 12
+p:CSAT,f:40
+5011:00c00000:0447:0001:1:0
+Game 1
+p:chellomedia IS,f:40
+0012:00c00000:0004:0085:1:0
+PREMIERE \86DIREKT\87
+p:PREMIERE,f:40
+5012:00c00000:0447:0001:1:0
+Games Portal
+p:UPC Direct,f:40
+0013:00c00000:0011:0085:1:0
+\86JUNIOR\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+5013:00c00000:0447:0001:1:0
+UPC_EPG
+p:UPC Direct,f:40
+0014:00c00000:0003:0085:1:0
+PREMIERE \86FILMFEST\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+5014:00c00000:0447:0001:1:0
+Guide
+p:UPC Direct,f:40
+0015:00c00000:0011:0085:1:0
+\86B\87EATE\86-UHSE\87.TV
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+2015:00c00000:0430:0001:1:0
+CANAL+ HI-TECH.
+p:CSAT,f:40
+0016:00c00000:0001:0085:1:0
+\86HEIMAT\87KANAL
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0017:00c00000:0002:0085:1:0
+PREMIERE \86KRIMI\87
+p:PREMIERE,C:1833,C:1830,f:40
+2017:00c00000:0430:0001:1:0
+SCI FI
+p:CSAT,f:40
+0018:00c00000:0011:0085:1:0
+CLASSICA
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+001b:00c00000:0001:0085:1:0
+RTL CRIME
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+001c:00c00000:0011:0085:1:0
+JETIX
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+2f1c:00c00000:0441:0001:1:0
+VOX
+p:RTL World,f:40
+001d:00c00000:0001:0085:1:0
+PASSION
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+201d:00c00000:0430:0001:1:0
+CANAL+
+p:CSAT,f:40
+251d:00c00000:0440:0001:1:0
+TF6
+p:CSAT,f:40
+2f1d:00c00000:0441:0001:1:0
+VOX CH
+p:RTL,f:40
+251e:00c00000:0440:0001:1:0
+USHUAIA TV
+p:CSAT,f:40
+191f:00c00000:03fa:0001:1:0
+PLAYIN'Tvi
+p:CSAT,f:40
+1c1f:00c00000:0451:0035:1:0
+EPG
+p:CANALDIGITAAL,f:40
+251f:00c00000:0440:0001:1:0
+EUROSPORT 2
+p:CSAT,f:40
+0020:00c00000:0021:0085:1:0
+\86Sonnen\87klar \86TV\87
+p:PREMIERE,f:40
+0021:00c00000:0007:0085:1:0
+PFH
+p:,C:1810,f:40
+2521:00c00000:0440:0001:1:0
+C CINEMA 16/9
+p:CSAT,f:40
+4e21:00c00000:043a:0001:1:0
+ProSieben Schweiz
+p:ProSiebenSat.1,f:40
+0022:00c00000:0011:0085:1:0
+\86DISNEY\87 CHANNEL
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+4e22:00c00000:043a:0001:1:0
+ProSieben Austria
+p:ProSiebenSat.1,f:40
+2523:00c00000:0440:0001:1:0
+PIWI
+p:CSAT,f:40
+4e23:00c00000:043a:0001:1:0
+Kabel 1 Schweiz
+p:ProSiebenSat.1,f:40
+7023:00c00000:0402:0001:1:0
+Sky News
+p:BT,f:40
+0024:00c00000:0004:0085:1:0
+SCI FI
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+2524:00c00000:0440:0001:1:0
+EXTREME SPORTS
+p:CSAT,f:40
+2724:00c00000:0402:0001:1:0
+DW-TV
+p:Deutsche Telekom AG,f:40
+4e24:00c00000:043a:0001:1:0
+Kabel 1 Austria
+p:ProSiebenSat.1,f:40
+2525:00c00000:0440:0001:1:0
+FRANCE 4
+p:CSAT,f:40
+4e25:00c00000:043a:0001:1:0
+SAT.1 A
+p:ProSiebenSat.1,f:40
+2526:00c00000:0440:0001:1:0
+
+p:CSAT,f:40
+4e26:00c00000:043a:0001:1:0
+SAT.1 CH
+p:ProSiebenSat.1,f:40
+2527:00c00000:0440:0001:1:0
+ENCYCLOPEDIA
+p:CSAT,f:40
+4e27:00c00000:043a:0001:1:0
+PULS 4 Austria
+p:ProSiebenSat.1,f:40
+0028:00c00000:0021:0085:1:0
+\86HSE24\87
+p:BetaDigital,f:40
+7728:00c00000:0416:0001:1:0
+PEOPLE+ARTS
+p:P&A,f:40
+0029:00c00000:0003:0085:1:0
+PREMIERE \86FILMCLASSICS\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+6e29:00c00000:0431:0001:1:0
+EinsExtra-alt
+p:ARD,f:40
+7729:00c00000:0416:0001:1:0
+VIAJAR
+p:VJR,f:40
+002a:00c00000:0004:0085:1:0
+\8613 TH\87 STREET
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+6e2a:00c00000:0431:0001:1:0
+EinsFestival-alt
+p:ARD,f:40
+772a:00c00000:0416:0001:1:0
+PAR. COMEDY
+p:NC,f:40
+002b:00c00000:0002:0085:1:0
+\86PREM\87IERE\86 3\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+6e2b:00c00000:0431:0001:1:0
+EinsPlus-alt
+p:ARD,f:40
+772b:00c00000:0416:0001:1:0
+CAZA Y PESCA
+p:CAZPES,f:40
+6e2c:00c00000:0431:0001:1:0
+alt (MDR FERNSEHEN)
+p:ARD,f:40
+332d:00c00000:045b:0001:1:0
+TW1
+p:ORF,f:40
+6e2d:00c00000:0431:0001:1:0
+rbb Brandenburg
+p:ARD,f:40
+772d:00c00000:0416:0001:1:0
+LA 2
+p:La2,f:40
+002e:00c00000:0021:0085:1:0
+glück TV
+p:BetaDigital,f:40
+272e:00c00000:0402:0001:1:0
+CNBC Europe
+p:CNBC,f:40
+332e:00c00000:045b:0001:1:0
+GoTV
+p:GoTV,f:40
+6e2e:00c00000:0431:0001:1:0
+rbb Berlin
+p:ARD,f:40
+772e:00c00000:0416:0001:1:0
+CALLE 13
+p:CL13,f:40
+f22e:00c00000:0421:0001:1:0
+RTBF SAT
+p:RTBF,f:40
+002f:00c00000:0021:0085:1:0
+\86DAF\87-AnlegerTV
+p:BetaDigital,f:40
+332f:00c00000:045b:0001:1:0
+ALL FUN TV
+p:-,f:40
+772f:00c00000:0416:0001:1:0
+BLOOMBERG
+p:BL,f:40
+0030:00c00000:0005:0085:1:0
+ERF
+p:BetaDigital,f:40
+2f30:00c00000:0441:0001:1:0
+RTL Shop
+p:RTL World,f:40
+3330:00c00000:045b:0001:1:0
+INNSAT.TV
+p:Innsat,f:40
+7730:00c00000:0416:0001:1:0
+COSMOPOLITAN
+p:COSMO,f:40
+3331:00c00000:045b:0001:1:0
+NASN (P)
+p:PREMIERE,f:40
+7031:00c00000:041b:0001:1:0
+EinsExtra
+p:ARD,f:40
+7731:00c00000:0416:0001:1:0
+R. MADRID TV
+p:Digital+,f:40
+0032:00c00000:0001:0085:1:0
+1-2-3.tv
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+3332:00c00000:045b:0001:1:0
+AUSTRIA 9 TV
+p:AUSTRIA 9 TV,f:40
+7032:00c00000:041b:0001:1:0
+EinsFestival
+p:ARD,f:40
+7732:00c00000:0416:0001:1:0
+MÉTEO
+p:MET,f:40
+0033:00c00000:0021:0085:1:0
+TELE 5
+p:BetaDigital,f:40
+2333:00c00000:0400:0001:1:0
+CANAL ALGERIE
+p:CANALSATELLITE,f:40
+3333:00c00000:045b:0001:1:0
+Visit-X.TV
+p:-,f:40
+7033:00c00000:041b:0001:1:0
+EinsPlus
+p:ARD,f:40
+0034:00c00000:0009:0085:1:0
+\86STAR XL\87 LIVE
+p:PREMIERE,C:1831,C:1830,C:1801,C:1722,C:1702,f:40
+2334:00c00000:0400:0001:1:0
+TV5MONDE
+p:CANALSATELLITE,f:40
+3334:00c00000:045b:0001:1:0
+Spass im TV
+p:-,f:40
+7034:00c00000:041b:0001:1:0
+arte
+p:ARD,f:40
+7734:00c00000:0416:0001:1:0
+VIAJAR
+p:VJR,f:40
+0035:00c00000:0007:0085:1:0
+\86PREM\87IERE\86 A\87ustria
+p:PREMIERE,C:1833,f:40
+2135:00c00000:0442:0001:1:0
+FRANCE 5
+p:CSAT,f:40
+3335:00c00000:045b:0001:1:0
+NASN
+p:arena,f:40
+7035:00c00000:041b:0001:1:0
+Phoenix
+p:ARD,f:40
+7735:00c00000:0416:0001:1:0
+EHS
+p:Digital+,f:40
+0036:00c00000:0007:0085:1:0
+Q TV SHOP
+p:BetaDigital,f:40
+2136:00c00000:0442:0001:1:0
+TV BREIZH
+p:CSAT,f:40
+2336:00c00000:0400:0001:1:0
+Al Masriya
+p:CANALSATELLITE,f:40
+3336:00c00000:045b:0001:1:0
+Bundesliga 9
+p:arena,f:40
+2337:00c00000:0400:0001:1:0
+RAI 1
+p:CANALSATELLITE,f:40
+2138:00c00000:0442:0001:1:0
+PLANETE THALASSA
+p:CSAT,f:40
+3138:00c00000:0459:0001:1:0
+Bahn TV
+p:T-Systems,f:40
+3338:00c00000:045b:0001:1:0
+AKTIV DIREKT TV
+p:-,f:40
+2339:00c00000:0400:0001:1:0
+RTPI
+p:CANALSATELLITE,f:40
+2539:00c00000:0440:0001:1:0
+FRANCE 4
+p:CSAT,f:40
+3139:00c00000:0459:0001:1:0
+K-TV
+p:T-Systems,f:40
+3339:00c00000:045b:0001:1:0
+Kuren und Wellness
+p:-,f:40
+213a:00c00000:0442:0001:1:0
+PLAYBOY TV
+p:CSAT,f:40
+233a:00c00000:0400:0001:1:0
+TV7
+p:CANALSATELLITE,f:40
+2f3a:00c00000:0441:0001:1:0
+n-tv
+p:RTL World,f:40
+333a:00c00000:045b:0001:1:0
+Uschi TV
+p:StarSat,f:40
+6e3a:00c00000:0431:0001:1:0
+ARD-Online-Kanal
+p:ARD,f:40
+233b:00c00000:0400:0001:1:0
+ARTE
+p:CANALSATELLITE,f:40
+333b:00c00000:045b:0001:1:0
+Uschi´s Schwestern
+p:StarSat,f:40
+003c:00c00000:0009:0085:1:0
+\86KINOWELT\87 TV\86 (P)\87
+p:PREMIERE,C:1830,C:1801,C:1702,f:40
+213c:00c00000:0442:0001:1:0
+FRANCE Ô
+p:CSAT,f:40
+313c:00c00000:0459:0001:1:0
+dhd24.tv
+p:Media Broadcast,f:40
+333c:00c00000:045b:0001:1:0
+Liebeskanal
+p:StarSat,f:40
+003d:00c00000:0009:0085:1:0
+TCM (a/P)
+p:arena/Premiere,C:1830,C:1801,C:1702,f:40
+233d:00c00000:0400:0001:1:0
+Al Jazeera
+p:CANALSATELLITE,f:40
+333d:00c00000:045b:0001:1:0
+Weiber TV
+p:StarSat,f:40
+6e3d:00c00000:0431:0001:1:0
+ARD-TEST-1
+p:ARD,f:40
+003e:00c00000:0009:0085:1:0
+AXN (a/P)
+p:arena/Premiere,C:1830,C:1801,C:1702,f:40
+233e:00c00000:0400:0001:1:0
+TVEi
+p:CANALSATELLITE,f:40
+313e:00c00000:0459:0001:1:0
+Lustkanal.TV
+p:Media Broadcast,f:40
+333e:00c00000:045b:0001:1:0
+Liebesrundfunk
+p:StarSat,f:40
+6e3e:00c00000:0431:0001:1:0
+ARD-TEST-2
+p:ARD,f:40
+003f:00c00000:0009:0085:1:0
+\86ROMANCE\87 TV
+p:PREMIERE,C:1830,C:1801,C:1702,f:40
+233f:00c00000:0400:0001:1:0
+ARTE
+p:,f:40
+2f3f:00c00000:0441:0001:1:0
+RTL SHOP
+p:RTL World,f:40
+333f:00c00000:045b:0001:1:0
+Kurven-Reich
+p:StarSat,f:40
+0040:00c00000:0009:0085:1:0
+\86DISNEY P\87LAYHOUSE\86 (P)\87
+p:PREMIERE,C:1830,C:1801,C:1702,f:40
+2340:00c00000:0400:0001:1:0
+TRT International
+p:,f:40
+3340:00c00000:045b:0001:1:0
+Heiße Nummer
+p:StarSat,f:40
+6e40:00c00000:0431:0001:1:0
+NDR FS MV
+p:ARD,f:40
+0041:00c00000:0009:0085:1:0
+\86DISNEY T\87OON\86 (P)\87
+p:PREMIERE,C:1830,C:1801,C:1702,f:40
+1f41:00c00000:042e:0001:1:0
+SEASONS
+p:CSAT,f:40
+6e41:00c00000:0431:0001:1:0
+NDR FS HH
+p:ARD,f:40
+0042:00c00000:0009:0085:1:0
+\86BOOM\87ERANG\86 (a/P)\87
+p:arena/Premiere,C:1830,C:1801,C:1702,f:40
+1f42:00c00000:042e:0001:1:0
+C CINEMA EMOTION
+p:CSAT,f:40
+2742:00c00000:0402:0001:1:0
+BBC World
+p:BBC,f:40
+6e42:00c00000:0431:0001:1:0
+NDR FS NDS
+p:ARD,f:40
+0043:00c00000:0009:0085:1:0
+\86E.CLIPS\87 (P)
+p:PREMIERE,C:1830,C:1801,C:1702,f:40
+1f43:00c00000:042e:0001:1:0
+C CINEMA FRISSON
+p:CSAT,f:40
+2143:00c00000:0442:0001:1:0
+A LA CARTE 12
+p:CSAT,f:40
+6e43:00c00000:0431:0001:1:0
+NDR FS SH
+p:ARD,f:40
+0044:00c00000:0009:0085:1:0
+.
+p:BetaDigital,C:1830,C:1801,C:1702,f:40
+1f44:00c00000:042e:0001:1:0
+EURONEWS
+p:CSAT,f:40
+2144:00c00000:0442:0001:1:0
+OM'TV
+p:CSAT,f:40
+2f44:00c00000:0454:0001:1:0
+QVC Deutschland
+p:QVC,f:40
+3144:00c00000:0459:0001:1:0
+Erotik 24
+p:T-Systems,f:40
+6e44:00c00000:0431:0001:1:0
+MDR Sachsen
+p:ARD,f:40
+0045:00c00000:0009:0085:1:0
+\86s\87port\86d\87igital\86.tv\87
+p:BetaDigital,C:1830,f:40
+1f45:00c00000:042e:0001:1:0
+PARIS PREMIERE
+p:CSAT,f:40
+2145:00c00000:0442:0001:1:0
+OLTV
+p:CSAT,f:40
+6e45:00c00000:0431:0001:1:0
+MDR S-Anhalt
+p:ARD,f:40
+6f45:00c00000:0445:0001:1:0
+Radio Bremen TV-alt
+p:ARD,f:40
+0046:00c00000:0007:0085:1:0
+\86Alpen\87glühen \86TVX\87
+p:BetaDigital,C:1830,C:1801,C:1702,f:40
+1f46:00c00000:042e:0001:1:0
+JIMMY
+p:CSAT,f:40
+2346:00c00000:0400:0001:1:0
+2M Maroc
+p:CANALSATELLITE,f:40
+3146:00c00000:0459:0001:1:0
+rhein main tv
+p:T-Systems,f:40
+6e46:00c00000:0431:0001:1:0
+MDR Thüringen
+p:ARD,f:40
+6f46:00c00000:0445:0001:1:0
+SR Fernsehen
+p:ARD,f:40
+0047:00c00000:0007:0085:1:0
+Service 12
+p:BetaDigital,f:40
+1f47:00c00000:042e:0001:1:0
+MEZZO
+p:CSAT,f:40
+3147:00c00000:0459:0001:1:0
+Deutsche Girls 2
+p:T-Systems,f:40
+6e47:00c00000:0431:0001:1:0
+SWR Fernsehen RP
+p:ARD,f:40
+6f47:00c00000:0445:0001:1:0
+BR-alpha
+p:ARD,f:40
+0048:00c00000:0005:0085:1:0
+.
+p:BetaDigital,f:40
+1f48:00c00000:042e:0001:1:0
+LA CHAINE METEO
+p:CSAT,f:40
+3148:00c00000:0459:0001:1:0
+Gems TV
+p:T-Systems,f:40
+0049:00c00000:0005:0085:1:0
+.
+p:BetaDigital,f:40
+1f49:00c00000:042e:0001:1:0
+SPORT+
+p:CSAT,f:40
+2649:00c00000:0460:0001:1:0
+FR3 CAEN
+p:CSAT,f:40
+004a:00c00000:0005:0085:1:0
+.
+p:BetaDigital,f:40
+1f4a:00c00000:042e:0001:1:0
+I>TELE
+p:CSAT,f:40
+264a:00c00000:0460:0001:1:0
+FR3 NANTES
+p:CSAT,f:40
+314a:00c00000:0459:0001:1:0
+Dreamgirls.TV
+p:T-Systems,f:40
+004b:00c00000:0005:0085:1:0
+3A TV
+p:BetaDigital,f:40
+1f4b:00c00000:042e:0001:1:0
+HISTOIRE
+p:CSAT,f:40
+264b:00c00000:0460:0001:1:0
+FR3 NICE
+p:CSAT,f:40
+314b:00c00000:0459:0001:1:0
+Erotik Sat
+p:T-Systems,f:40
+004c:00c00000:0021:0085:1:0
+\86e\87qui\868\87
+p:BetaDigital,f:40
+1f4c:00c00000:042e:0001:1:0
+MEZZO.
+p:CSAT,f:40
+264c:00c00000:0460:0001:1:0
+FR3 ORLEANS
+p:CSAT,f:40
+274c:00c00000:0402:0001:1:0
+TV5MONDE EUROPE
+p:TV5MONDE,f:40
+314c:00c00000:0459:0001:1:0
+123Damenwahl
+p:T-Systems,f:40
+004d:00c00000:0021:0085:1:0
+.
+p:BetaDigital,f:40
+1c4d:00c00000:0457:0001:1:0
+IP4_slides
+p:SES ASTRA,f:40
+1f4d:00c00000:042e:0001:1:0
+NCMESS
+p:CSAT,f:40
+264d:00c00000:0460:0001:1:0
+FR3 DIJON
+p:CSAT,f:40
+314d:00c00000:0459:0001:1:0
+SexySat
+p:T-Systems,f:40
+4f4d:00c00000:0447:0001:1:0
+\86Gal\87axie \86Sport\87
+p:UPC Direct,f:40
+264e:00c00000:0460:0001:1:0
+FR3 POITIERS
+p:CSAT,f:40
+274e:00c00000:0402:0001:1:0
+Best of shopping
+p:GlobeCast,f:40
+314e:00c00000:0459:0001:1:0
+paradise
+p:T-Systems,f:40
+4f4e:00c00000:0447:0001:1:0
+\86Animal\87 \86Pl\87anet
+p:UPC Direct,f:40
+264f:00c00000:0460:0001:1:0
+FR3 REIMS
+p:CSAT,f:40
+274f:00c00000:0402:0001:1:0
+M6 BOUTIQUE LA CHAINE
+p:Globecast,f:40
+314f:00c00000:0459:0001:1:0
+Date Line
+p:T-Systems,f:40
+4f4f:00c00000:0447:0001:1:0
+\86Disc\87overy CE
+p:UPC Direct,f:40
+2650:00c00000:0460:0001:1:0
+FR3 GRENOBLE
+p:CSAT,f:40
+3150:00c00000:0459:0001:1:0
+Fotohandy
+p:T-Systems,f:40
+4f50:00c00000:0447:0001:1:0
+\86JimJam\87
+p:UPC Direct,f:40
+2651:00c00000:0460:0001:1:0
+FR3 LILLE
+p:CSAT,f:40
+3151:00c00000:0459:0001:1:0
+Mobile Sex
+p:T-Systems,f:40
+4f51:00c00000:0447:0001:1:0
+\86Jetix/Jetix Max\87
+p:UPC Direct,f:40
+2652:00c00000:0460:0001:1:0
+FR3 STRASBOURG
+p:CSAT,f:40
+3152:00c00000:0459:0001:1:0
+jeden Tag x
+p:T-Systems,f:40
+4f52:00c00000:0447:0001:1:0
+\86Nat\87 \86Geo\87
+p:UPC Direct,f:40
+2653:00c00000:0460:0001:1:0
+FR3 MONTPELLIER
+p:CSAT,f:40
+3153:00c00000:0459:0001:1:0
+Seitensprung.TV
+p:T-Systems,f:40
+4f53:00c00000:0447:0001:1:0
+\86HBO Comedy\87
+p:UPC Direct,f:40
+2654:00c00000:0460:0001:1:0
+FR3 VIA STELLA
+p:CSAT,f:40
+3154:00c00000:0459:0001:1:0
+Rundum Sex TV
+p:T-Systems,f:40
+4f54:00c00000:0447:0001:1:0
+\86Hall\87mark
+p:UPC Direct,f:40
+1f55:00c00000:042e:0001:1:0
+I>TELE
+p:CSAT,f:40
+3155:00c00000:0459:0001:1:0
+Traumgirls.TV
+p:T-Systems,f:40
+4f55:00c00000:0447:0001:1:0
+\86Hustler TV\87
+p:UPC Direct,f:40
+3156:00c00000:0459:0001:1:0
+Das Erotische TV
+p:T-Systems,f:40
+4f56:00c00000:0447:0001:1:0
+\86Zone\87Reality\87
+p:UPC Direct,f:40
+4f57:00c00000:0447:0001:1:0
+\86Ex\87treme \86Sports\87
+p:UPC Direct,f:40
+2f58:00c00000:0454:0001:1:0
+LibertyTV FR
+p:LibertyTV.com,f:40
+3158:00c00000:0459:0001:1:0
+Peep TV
+p:T-Systems,f:40
+2f59:00c00000:0454:0001:1:0
+Medi1SAT
+p:PRVDR,f:40
+3159:00c00000:0459:0001:1:0
+Manneskraft TV NEU
+p:Media Broadcast,f:40
+2f5a:00c00000:0454:0001:1:0
+[tru:] young tv
+p:Bibel TV,f:40
+315a:00c00000:0459:0001:1:0
+Supreme Master TV
+p:T-Systems,f:40
+2f5b:00c00000:0454:0001:1:0
+eUrotic NEU
+p:Neterra,f:40
+315b:00c00000:0459:0001:1:0
+phab 16
+p:T-Systems,f:40
+4f5b:00c00000:044b:0001:1:0
+\86CT1\87
+p:UPC Direct,f:40
+1b5c:00c00000:03fc:0001:1:0
+DEMAIN TV
+p:GlobeCast,f:40
+315c:00c00000:0459:0001:1:0
+dhd24 plus
+p:Media Broadcast,f:40
+445c:00c00000:0453:0001:1:0
+SAT.1
+p:ProSiebenSat.1,f:40
+4f5c:00c00000:044b:0001:1:0
+\86CT24\87
+p:UPC Direct,f:40
+1b5d:00c00000:03fc:0001:1:0
+NRJ Paris
+p:GCE,f:40
+315d:00c00000:0459:0001:1:0
+Top Girl Sex TV NEU
+p:Media Broadcast,f:40
+445d:00c00000:0453:0001:1:0
+ProSieben
+p:ProSiebenSat.1,f:40
+4f5d:00c00000:044b:0001:1:0
+\86NOVA Cinema\87
+p:UPC Direct,f:40
+315e:00c00000:0459:0001:1:0
+Gratis Hot TV NEU
+p:Media Broadcast,f:40
+335e:00c00000:045b:0001:1:0
+Telesünde
+p:StarSat,f:40
+445e:00c00000:0453:0001:1:0
+kabel eins
+p:ProSiebenSat.1,f:40
+4f5e:00c00000:044b:0001:1:0
+\86CT2\87
+p:UPC Direct,f:40
+1b5f:00c00000:03fc:0001:1:0
+POPULAR TV
+p:OVERON,f:40
+335f:00c00000:045b:0001:1:0
+Piep Show
+p:StarSat,f:40
+445f:00c00000:0453:0001:1:0
+N24
+p:ProSiebenSat.1,f:40
+4f5f:00c00000:044b:0001:1:0
+\86TV Markiza\86
+p:UPC Direct,f:40
+1b60:00c00000:03fc:0001:1:0
+CUBAVISION
+p:GCE,f:40
+3360:00c00000:045b:0001:1:0
+Flirtrepublik
+p:StarSat,f:40
+4460:00c00000:0453:0001:1:0
+9Live
+p:ProSiebenSat.1,f:40
+4f60:00c00000:044b:0001:1:0
+\86TV JOJ\86
+p:UPC Direct,f:40
+1b61:00c00000:03fc:0001:1:0
+BFM TV
+p:GLOBECAST,f:40
+2261:00c00000:0438:0001:1:0
+FRANCE 2
+p:CSAT,f:40
+4461:00c00000:0453:0001:1:0
+Sat.1 Comedy
+p:ProSiebenSat.1,C:1830,C:1801,C:1702,f:40
+4f61:00c00000:044b:0001:1:0
+\86TV Nova\87
+p:UPC Direct,f:40
+1b62:00c00000:03fc:0001:1:0
+REDERECORD
+p:GCE,f:40
+1c62:00c00000:0457:0001:1:0
+STB Comag
+p:SES ASTRA,f:40
+2262:00c00000:0438:0001:1:0
+FRANCE 3
+p:CSAT,f:40
+4462:00c00000:0453:0001:1:0
+kabel eins classics
+p:ProSiebenSat.1,C:1830,C:1801,C:1702,f:40
+4f62:00c00000:044b:0001:1:0
+\86XXX\87
+p:UPC Direct,f:40
+1b63:00c00000:03fc:0001:1:0
+ARIRANG TV
+p:GlobeCast,f:40
+4f63:00c00000:044b:0001:1:0
+\86Prima TV\87
+p:UPC Direct,f:40
+1b64:00c00000:03fc:0001:1:0
+AL JAZEERA ENG
+p:GCE,f:40
+2264:00c00000:0438:0001:1:0
+A LA CARTE 11
+p:CSAT,f:40
+4f64:00c00000:044b:0001:1:0
+DOQ
+p:UPC Direct,f:40
+7564:00c00000:0412:0001:1:0
+BARÇA TV
+p:BARNA,f:40
+1b65:00c00000:03fc:0001:1:0
+EXTREMADURA TV
+p:OVERON,f:40
+4f65:00c00000:044b:0001:1:0
+\86Filmmuzeum\86
+p:UPC Direct,f:40
+7565:00c00000:0412:0001:1:0
+TAQUILLA 5
+p:TQ5,f:40
+4f66:00c00000:044b:0001:1:0
+\86CT4 Sport\87
+p:UPC Direct,f:40
+6d66:00c00000:0437:0001:1:0
+ZDF
+p:ZDFvision,f:40
+7566:00c00000:0412:0001:1:0
+TAQUILLA 6
+p:TQ6,f:40
+2267:00c00000:0438:0001:1:0
+TRACE TV
+p:CSAT,f:40
+4f67:00c00000:04ff:0001:1:0
+\86Echo TV\87
+p:UPC Direct,f:40
+6d67:00c00000:0437:0001:1:0
+3sat
+p:ZDFvision,f:40
+7567:00c00000:0412:0001:1:0
+TAQUILLA 7
+p:TQ7,f:40
+2268:00c00000:0438:0001:1:0
+TELE MELODY
+p:CSAT,f:40
+4f68:00c00000:04ff:0001:1:0
+\86HBO2\87
+p:UPC Direct,f:40
+6d68:00c00000:0437:0001:1:0
+KiKa
+p:ZDFvision,f:40
+6f68:00c00000:042c:0001:1:0
+Spare 2
+p:TBS,f:40
+7468:00c00000:03f0:0001:1:0
+CANAL ODISEA
+p:Digital+,f:40
+7568:00c00000:0412:0001:1:0
+TAQUILLA X
+p:TQ10,f:40
+2069:00c00000:0430:0001:1:0
+DOWNLOAD TNTSAT STRONG
+p:IMEDIA,f:40
+2269:00c00000:0438:0001:1:0
+CINE+
+p:CSAT,f:40
+4f69:00c00000:04ff:0001:1:0
+\86HBO\87
+p:UPC Direct,f:40
+6f69:00c00000:042c:0001:1:0
+Cartoon Network
+p:TBS,f:40
+7469:00c00000:03f0:0001:1:0
+JETIX
+p:FK,f:40
+7569:00c00000:0412:0001:1:0
+TAQUILLA XX
+p:TQX,f:40
+226a:00c00000:0438:0001:1:0
+CINE+
+p:CSAT,f:40
+4f6a:00c00000:04ff:0001:1:0
+\86HBO\87
+p:UPC Direct,f:40
+6f6a:00c00000:042c:0001:1:0
+CNN Int.
+p:CNN,f:40
+746a:00c00000:03f0:0001:1:0
+DISNEY CH. +1
+p:DCH1,f:40
+756a:00c00000:0412:0001:1:0
+TAQUILLA XX
+p:TQXX,f:40
+1b6b:00c00000:03fc:0001:1:0
+BFM TV
+p:OVERON,f:40
+226b:00c00000:0438:0001:1:0
+A LA CARTE 10
+p:CSAT,f:40
+4f6b:00c00000:04ff:0001:1:0
+\86Duna TV\87
+p:UPC Direct,f:40
+6d6b:00c00000:0437:0001:1:0
+ZDFinfokanal
+p:ZDFvision,f:40
+746b:00c00000:03f0:0001:1:0
+PLAYHOUSE
+p:PLAYDC,f:40
+756b:00c00000:0412:0001:1:0
+C+ EVENTOS
+p:CPD3,f:40
+226c:00c00000:0438:0001:1:0
+A LA CARTE
+p:CSAT,f:40
+4f6c:00c00000:04ff:0001:1:0
+\86TV Paprika\87
+p:UPC Direct,f:40
+746c:00c00000:03f0:0001:1:0
+C+ ACCIÓN
+p:CPC1,f:40
+756c:00c00000:0412:0001:1:0
+TAQUILLA 9
+p:TQ9,f:40
+226d:00c00000:0438:0001:1:0
+ESPN CLASSIC
+p:CSAT,f:40
+4f6d:00c00000:04ff:0001:1:0
+\86Magyar ATV\87
+p:UPC Direct,f:40
+6f6d:00c00000:042c:0001:1:0
+TCM
+p:TBS,f:40
+746d:00c00000:03f0:0001:1:0
+C+ COMEDIA
+p:CPC2,f:40
+4f6e:00c00000:04ff:0001:1:0
+\86Cool\87
+p:UPC Direct,f:40
+6d6e:00c00000:0437:0001:1:0
+ZDFdokukanal
+p:ZDFvision,f:40
+6f6e:00c00000:042c:0001:1:0
+Spare 28526
+p:Arqiva,f:40
+746e:00c00000:03f0:0001:1:0
+C+ DCINE
+p:CPC3,f:40
+756e:00c00000:0412:0001:1:0
+C+ EVENTOS
+p:CPD3,f:40
+4f6f:00c00000:04ff:0001:1:0
+\86TV Deko\87
+p:UPC Direct,f:40
+6f6f:00c00000:042c:0001:1:0
+Boomerang
+p:TBS,f:40
+746f:00c00000:03f0:0001:1:0
+TOON DISNEY
+p:TOONDC,f:40
+756f:00c00000:0412:0001:1:0
+TAQUILLA 8
+p:TQ8,f:40
+2270:00c00000:0438:0001:1:0
+MOTORS TV
+p:CSAT,f:40
+2b70:00c00000:03f3:0001:1:0
+arte HD
+p:ZDFvision,f:40
+4f70:00c00000:04ff:0001:1:0
+\86Sport 1\87
+p:UPC Direct,f:40
+6d70:00c00000:0437:0001:1:0
+ZDFtheaterkanal
+p:ZDFvision,f:40
+7470:00c00000:03f0:0001:1:0
+OP. TRIUNFO
+p:DIGITAL+,f:40
+7570:00c00000:0412:0001:1:0
+
+p:Digital+,f:40
+4f71:00c00000:04ff:0001:1:0
+\86m2\87
+p:UPC Direct,f:40
+7471:00c00000:03f0:0001:1:0
+SONY TV
+p:DIGITAL+,f:40
+4f72:00c00000:04ff:0001:1:0
+\86Minimax / Animax\87
+p:UPC Direct,f:40
+7472:00c00000:03f0:0001:1:0
+C+ ACCIÓN
+p:CPC1,f:40
+4f73:00c00000:04ff:0001:1:0
+\86Sport 2\86
+p:UPC Direct,f:40
+7473:00c00000:03f0:0001:1:0
+C+ COMEDIA
+p:CPC2,f:40
+2774:00c00000:0444:0001:1:0
+\86DELUXE\87 MUSIC
+p:BetaDigital,f:40
+4f74:00c00000:04ff:0001:1:0
+\86Film+\86
+p:UPC Direct,f:40
+7474:00c00000:03f0:0001:1:0
+C+ DCINE
+p:CPC3,f:40
+2275:00c00000:0438:0001:1:0
+FRANCE 2
+p:CSAT,f:40
+2775:00c00000:0444:0001:1:0
+DMAX
+p:BetaDigital,f:40
+4f75:00c00000:0427:0001:1:0
+\86Cartoon Network/TCM\87
+p:UPC Direct,f:40
+7475:00c00000:03f0:0001:1:0
+INTERECON TV
+p:DIGITAL,f:40
+2276:00c00000:0438:0001:1:0
+FRANCE 3
+p:CSAT,f:40
+2776:00c00000:0444:0001:1:0
+! Primetime
+p:BetaDigital,f:40
+4f76:00c00000:0427:0001:1:0
+\86Viasat 3\87
+p:UPC Direct,f:40
+6f76:00c00000:0457:0001:1:0
+WDR Aachen
+p:ARD,f:40
+2777:00c00000:0444:0001:1:0
+\86ONTV\87 Regional
+p:BetaDigital,f:40
+4f77:00c00000:0427:0001:1:0
+\86Boomerang\87
+p:UPC Direct,f:40
+6f77:00c00000:0457:0001:1:0
+WDR Wuppertal
+p:ARD,f:40
+2778:00c00000:0444:0001:1:0
+\86F\87ranken \86SAT\87
+p:BetaDigital,f:40
+4f78:00c00000:0427:0001:1:0
+\86Viasat Explorer\87
+p:UPC Direct,f:40
+6f78:00c00000:0457:0001:1:0
+WDR Bonn
+p:ARD,f:40
+2779:00c00000:0444:0001:1:0
+LokalSAT
+p:BetaDigital,f:40
+4f79:00c00000:0427:0001:1:0
+\86Viasat History\87
+p:UPC Direct,f:40
+6f79:00c00000:0457:0001:1:0
+WDR Duisburg
+p:ARD,f:40
+277a:00c00000:0444:0001:1:0
+\86mü\87nchen.\86tv/RFO\87
+p:BetaDigital,f:40
+4f7a:00c00000:0427:0001:1:0
+\86STV1\87
+p:UPC Direct,f:40
+277b:00c00000:0444:0001:1:0
+DrDish Television
+p:BetaDigital,f:40
+4f7b:00c00000:0427:0001:1:0
+\86TA3\87
+p:UPC Direct,f:40
+277c:00c00000:0444:0001:1:0
+TVM/WWTV
+p:BetaDigital,f:40
+427c:00c00000:0446:0001:1:0
+AB MOTEURS
+p:ABSAT,C:0500,C:0100,f:40
+4f7c:00c00000:0427:0001:1:0
+\86Travel\87
+p:UPC Direct,f:40
+277d:00c00000:0444:0001:1:0
+tirol tv
+p:BetaDigital,f:40
+427d:00c00000:0446:0001:1:0
+AB1
+p:ABSAT,C:0500,C:0100,f:40
+4f7d:00c00000:0427:0001:1:0
+\86MGM\87
+p:UPC Direct,f:40
+277e:00c00000:0444:0001:1:0
+.
+p:BetaDigital,C:1830,C:1801,C:1702,f:40
+427e:00c00000:0446:0001:1:0
+ANIMAUX
+p:ABSAT,C:0100,f:40
+4f7e:00c00000:0427:0001:1:0
+\86bebe tv\87
+p:UPC Direct,f:40
+277f:00c00000:0444:0001:1:0
+entavio Home
+p:BetaDigital,f:40
+427f:00c00000:0446:0001:1:0
+ENCYCLOPEDIA
+p:ABSAT,C:0100,f:40
+2f80:00c00000:0454:0001:1:0
+Bloomberg TV Germany
+p:Bloomberg,f:40
+4280:00c00000:0446:0001:1:0
+ XXL
+p:ABSAT,C:0500,C:0100,f:40
+4f80:00c00000:0427:0001:1:0
+\86AXN\87
+p:UPC Direct,f:40
+7080:00c00000:0443:0001:1:0
+RTL Austria
+p:RTL,f:40
+0381:00c00000:0021:0085:1:0
+\86SpiritON\87.TV
+p:BetaDigital,f:40
+2581:00c00000:0458:0001:1:0
+RTL9
+p:CSAT,f:40
+4281:00c00000:0446:0001:1:0
+ESCALES
+p:ABSAT,C:0500,C:0100,f:40
+4f81:00c00000:0427:0001:1:0
+\86Blue Hustler\87
+p:UPC Direct,f:40
+0382:00c00000:0021:0085:1:0
+XXHOME
+p:BetaDigital,f:40
+1782:00c00000:0457:0001:1:0
+TechniTipp-TV
+p:TechniSat,f:40
+2582:00c00000:0458:0001:1:0
+AB1
+p:CSAT,f:40
+4282:00c00000:0446:0001:1:0
+toute L'HISTOIRE
+p:ABSAT,C:0100,f:40
+4f82:00c00000:0407:0001:1:0
+\86HirTV\87
+p:UPC Direct,f:40
+0383:00c00000:0021:0085:1:0
+meinTVshop
+p:BetaDigital,f:40
+2583:00c00000:0458:0001:1:0
+AB MOTEURS
+p:CSAT,f:40
+2783:00c00000:0444:0001:1:0
+Top Girl Sex TV
+p:BetaDigital,f:40
+4283:00c00000:0446:0001:1:0
+LCP
+p:ABSAT,f:40
+4f83:00c00000:0407:0001:1:0
+\86M1 \87
+p:UPC Direct,f:40
+0384:00c00000:0021:0085:1:0
+DSF
+p:BetaDigital,f:40
+2584:00c00000:0458:0001:1:0
+CINE FX
+p:CSAT,f:40
+2784:00c00000:0444:0001:1:0
+Hot Girls TV
+p:BetaDigital,f:40
+4284:00c00000:0446:0001:1:0
+NT1
+p:ABSAT,f:40
+4f84:00c00000:0407:0001:1:0
+\86MTV Hungary\87
+p:UPC Direct,f:40
+2585:00c00000:0458:0001:1:0
+MANGAS
+p:CSAT,f:40
+2785:00c00000:0444:0001:1:0
+Zack Erotik TV
+p:BetaDigital,f:40
+4f85:00c00000:0407:0001:1:0
+\86Cinemax\87
+p:UPC Direct,f:40
+7085:00c00000:0443:0001:1:0
+VOX Austria
+p:RTL,f:40
+2586:00c00000:0458:0001:1:0
+XXL
+p:CSAT,f:40
+2786:00c00000:0444:0001:1:0
+Blitzkontakt.TV
+p:BetaDigital,f:40
+4286:00c00000:0446:0001:1:0
+ACTION
+p:ABSAT,C:0100,f:40
+4f86:00c00000:0407:0001:1:0
+\86TV Budapest\87
+p:UPC Direct,f:40
+2587:00c00000:0458:0001:1:0
+ANIMAUX
+p:CSAT,f:40
+2787:00c00000:0444:0001:1:0
+.6live
+p:BetaDigital,f:40
+4287:00c00000:0446:0001:1:0
+MANGAS
+p:ABSAT,C:0100,f:40
+4f87:00c00000:0407:0001:1:0
+\86RTL Klub\87
+p:UPC Direct,f:40
+2588:00c00000:0458:0001:1:0
+ESCALES
+p:CSAT,f:40
+2788:00c00000:0444:0001:1:0
+Amore TV
+p:BetaDigital,f:40
+4f88:00c00000:0407:0001:1:0
+\86Spektrum Int \87
+p:UPC Direct,f:40
+7788:00c00000:0424:0001:1:0
+40 LATINO
+p:40LAT,f:40
+2589:00c00000:0458:0001:1:0
+ACTION
+p:CSAT,f:40
+2789:00c00000:0444:0001:1:0
+Herzschlag69
+p:BetaDigital,f:40
+4289:00c00000:0446:0001:1:0
+CINE POLAR
+p:ABSAT,C:0100,f:40
+4f89:00c00000:0407:0001:1:0
+\86Sport Klub\87
+p:UPC Direct,f:40
+7789:00c00000:0424:0001:1:0
+GOLF+
+p:GOLF+,f:40
+258a:00c00000:0458:0001:1:0
+TOUTE L'HISTOIRE
+p:CSAT,f:40
+278a:00c00000:0444:0001:1:0
+tele6.tv
+p:BetaDigital,f:40
+428a:00c00000:0446:0001:1:0
+CINE FX
+p:ABSAT,C:0100,f:40
+4f8a:00c00000:0407:0001:1:0
+\86Film+ \87
+p:UPC Direct,f:40
+708a:00c00000:0443:0001:1:0
+RTL2 Austria
+p:RTL,f:40
+778a:00c00000:0424:0001:1:0
+CANAL+...30
+p:CP30,f:40
+278b:00c00000:0444:0001:1:0
+maennerwelt.tv
+p:BetaDigital,f:40
+428b:00c00000:0446:0001:1:0
+RTL9
+p:ABsat,C:0100,f:40
+4f8b:00c00000:0407:0001:1:0
+\86TV2 \87
+p:UPC Direct,f:40
+778b:00c00000:0424:0001:1:0
+PLAYBOY TV
+p:Playboy TV,f:40
+138c:00c00000:0455:0035:1:0
+NET5
+p:CANALDIGITAAL,f:40
+278c:00c00000:0444:0001:1:0
+Gebrauchtwagen TV
+p:BetaDigital,f:40
+4f8c:00c00000:0407:0001:1:0
+\86Sport 1 CZE \87
+p:UPC Direct,f:40
+778c:00c00000:0424:0001:1:0
+40 LATINO
+p:40LAT,f:40
+138d:00c00000:0455:0035:1:0
+SBS6
+p:CANALDIGITAAL,f:40
+238d:00c00000:044a:0001:1:0
+GUIDE TV
+p:CSAT,f:40
+278d:00c00000:0444:0001:1:0
+Traumkontakt.tv
+p:BetaDigital,f:40
+4f8d:00c00000:0407:0001:1:0
+\86Viva Hungary\87
+p:UPC Direct,f:40
+778d:00c00000:0424:0001:1:0
+NAT GEOGRAPH
+p:NATGEO,f:40
+238e:00c00000:044a:0001:1:0
+CANAL+ HI-TECH HD
+p:IMEDIA,f:40
+278e:00c00000:0444:0001:1:0
+Po6
+p:BetaDigital,f:40
+4f8e:00c00000:044b:0001:1:0
+\86Eurosport 2\87
+p:UPC Direct,f:40
+768e:00c00000:041e:0001:1:0
+TAQUILLA 1
+p:TQ1,f:40
+778e:00c00000:0424:0001:1:0
+C+ FÚTBOL
+p:CPD1,f:40
+218f:00c00000:0442:0001:1:0
+FRANCE 5
+p:CSAT,f:40
+238f:00c00000:044a:0001:1:0
+NATIONAL GEO HD
+p:CSAT,f:40
+278f:00c00000:0444:0001:1:0
+2255live
+p:BetaDigital,f:40
+708f:00c00000:0443:0001:1:0
+Super RTL A
+p:RTL,f:40
+768f:00c00000:041e:0001:1:0
+TAQUILLA 2
+p:TQ2,f:40
+778f:00c00000:0424:0001:1:0
+C+ DEPORTES
+p:CPD2,f:40
+2390:00c00000:044a:0001:1:0
+MON CSAT
+p:CSAT,f:40
+2790:00c00000:0444:0001:1:0
+.
+p:BetaDigital,f:40
+4290:00c00000:0446:0001:1:0
+NT1
+p:ABSAT,f:40
+7690:00c00000:041e:0001:1:0
+TAQUILLA 3
+p:TQ3,f:40
+2791:00c00000:0444:0001:1:0
+AllesfürsHandy
+p:BetaDigital,f:40
+3391:00c00000:044e:0001:1:0
+History Channel
+p:arena,f:40
+4291:00c00000:0446:0001:1:0
+LCP
+p:ABSAT,f:40
+7691:00c00000:041e:0001:1:0
+TAQUILLA 4
+p:TQ4,f:40
+0292:00c00000:0005:0085:1:0
+\86Daystar Television\87 Network
+p:BetaDigital,f:40
+2792:00c00000:0444:0001:1:0
+A1 Teleshop
+p:BetaDigital,f:40
+3392:00c00000:044e:0001:1:0
+National Geographic Channel
+p:arena,f:40
+6e92:00c00000:04b1:0001:1:0
+WDR Bielefeld
+p:ARD,f:40
+7792:00c00000:0424:0001:1:0
+
+p:DIGITAL+,f:40
+0293:00c00000:0005:0085:1:0
+tv.gusto
+p:BetaDigital,f:40
+1393:00c00000:0455:0035:1:0
+Hallmark
+p:CANALDIGITAAL,f:40
+2393:00c00000:044a:0001:1:0
+
+p:CSAT,f:40
+2793:00c00000:0444:0001:1:0
+.
+p:BetaDigital,f:40
+3393:00c00000:044e:0001:1:0
+ANIMAX (a/P)
+p:arena/Premiere,f:40
+6e93:00c00000:04b1:0001:1:0
+WDR Dortmund
+p:ARD,f:40
+7793:00c00000:0424:0001:1:0
+FOX NEWS
+p:FOXNWS,f:40
+2394:00c00000:044a:0001:1:0
+
+p:CSAT,f:40
+2f94:00c00000:0454:0001:1:0
+Chamber TV
+p:Chambre des Députées,f:40
+3394:00c00000:044e:0001:1:0
+Cartoon Network (a/P)
+p:arena/Premiere,f:40
+6e94:00c00000:04b1:0001:1:0
+WDR Düsseldorf
+p:ARD,f:40
+7594:00c00000:0422:0001:1:0
+MÚSICA DIGITAL
+p:DIGITAL+,f:40
+7694:00c00000:041e:0001:1:0
+ANIMAX
+p:DIGITAL+,f:40
+0295:00c00000:0021:0085:1:0
+AstroTV
+p:BetaDigital,f:40
+2395:00c00000:044a:0001:1:0
+ADIBOU TV
+p:CSAT,f:40
+3395:00c00000:044e:0001:1:0
+EuroSport 2 (a/P)
+p:arena/Premiere,f:40
+6e95:00c00000:04b1:0001:1:0
+WDR Essen
+p:ARD,f:40
+7695:00c00000:041e:0001:1:0
+TAQUILLA XY
+p:TXY,f:40
+0296:00c00000:0005:0085:1:0
+1-2-3.tv
+p:BetaDigital,f:40
+2396:00c00000:044a:0001:1:0
+ESPACE CLIENT
+p:CSAT,f:40
+3396:00c00000:044e:0001:1:0
+Kinowelt
+p:arena,f:40
+6e96:00c00000:04b1:0001:1:0
+WDR Münster
+p:ARD,f:40
+7596:00c00000:0422:0001:1:0
+RADIOS
+p:DIGITAL+,f:40
+7696:00c00000:041e:0001:1:0
+CARTOON NET.
+p:CTN,f:40
+0297:00c00000:0005:0085:1:0
+Deutsches Gesundheitsfernsehen
+p:BetaDigital,f:40
+1397:00c00000:0455:0035:1:0
+TMF
+p:CANALDIGITAAL,f:40
+3397:00c00000:044e:0001:1:0
+RTL Living
+p:arena,f:40
+6e97:00c00000:04b1:0001:1:0
+WDR Siegen
+p:ARD,f:40
+0298:00c00000:0004:0085:1:0
+\86BIG B\87ROTHER
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0f98:00c00000:0454:0001:1:0
+LUXE.TV SD
+p:DVL.TV,f:40
+3398:00c00000:044e:0001:1:0
+Biography Channel
+p:arena,f:40
+2199:00c00000:0448:0001:1:0
+
+p:CSAT,f:40
+2399:00c00000:044a:0001:1:0
+TF1 HD
+p:CSAT,f:40
+3399:00c00000:044e:0001:1:0
+FOX
+p:arena,f:40
+7699:00c00000:041e:0001:1:0
+BOOMERANG
+p:BOOM,f:40
+0f9a:00c00000:0454:0001:1:0
+RTL Tele Letzebuerg
+p:,f:40
+219a:00c00000:0448:0001:1:0
+ONZEO
+p:CSAT,f:40
+239a:00c00000:044a:0001:1:0
+M6 HD
+p:CSAT,f:40
+769a:00c00000:041e:0001:1:0
+TAQUILLA 10
+p:TQ10,f:40
+0f9b:00c00000:0454:0001:1:0
+!Kanal Telemedial
+p:SES ASTRA,f:40
+219b:00c00000:0448:0001:1:0
+MOSAIQUE
+p:CSAT,f:40
+239b:00c00000:044a:0001:1:0
+CINE PREMIER HD
+p:CSAT,f:40
+339b:00c00000:044e:0001:1:0
+Bundesliga HOME
+p:arena,f:40
+769b:00c00000:041e:0001:1:0
+SAN FERMÍN
+p:DIGITAL+,f:40
+139c:00c00000:0455:0035:1:0
+Veronica/JETIX
+p:CANALDIGITAAL,f:40
+239c:00c00000:044a:0001:1:0
+13EME RUE HD
+p:CSAT,f:40
+339c:00c00000:044e:0001:1:0
+Bundesliga INFO
+p:arena,f:40
+779c:00c00000:0424:0001:1:0
+C+ FÚTBOL
+p:CPD1,f:40
+0f9d:00c00000:0454:0001:1:0
+Astra Vision
+p:SES ASTRA,f:40
+339d:00c00000:044e:0001:1:0
+Bundesliga 1
+p:arena,f:40
+779d:00c00000:0424:0001:1:0
+C+ DEPORTES
+p:CPD2,f:40
+339e:00c00000:044e:0001:1:0
+Bundesliga 2
+p:arena,f:40
+209f:00c00000:0432:0001:1:0
+C CINEMA CULTE
+p:CSAT,f:40
+219f:00c00000:0448:0001:1:0
+SAILING CHANNEL
+p:CSAT,f:40
+339f:00c00000:044e:0001:1:0
+Bundesliga 3
+p:arena,f:40
+20a0:00c00000:0432:0001:1:0
+MCM
+p:CSAT,f:40
+21a0:00c00000:0448:0001:1:0
+MOSAIQUE
+p:CSAT,f:40
+23a0:00c00000:044a:0001:1:0
+CE SOIR
+p:CSAT,f:40
+33a0:00c00000:044e:0001:1:0
+Bundesliga 4
+p:arena,f:40
+13a1:00c00000:0455:0035:1:0
+BVN
+p:CANALDIGITAAL,f:40
+21a1:00c00000:0448:0001:1:0
+MMD
+p:CSAT,f:40
+33a1:00c00000:044e:0001:1:0
+Bundesliga 7
+p:arena,f:40
+20a2:00c00000:0432:0001:1:0
+MCM POP
+p:CSAT,f:40
+23a2:00c00000:044a:0001:1:0
+
+p:CSAT,f:40
+33a2:00c00000:044e:0001:1:0
+Bundesliga 8
+p:arena,f:40
+20a3:00c00000:0432:0001:1:0
+CHEZ VOUS TV
+p:CSAT,f:40
+21a3:00c00000:0448:0001:1:0
+CASH TV
+p:CSAT,f:40
+13a4:00c00000:0455:0035:1:0
+Film1.3
+p:CANALDIGITAAL,f:40
+23a4:00c00000:044a:0001:1:0
+
+p:CSAT,f:40
+0fa5:00c00000:0451:0035:1:0
+Film1.1
+p:CANALDIGITAAL,f:40
+13a5:00c00000:0455:0035:1:0
+BiB
+p:CANALDIGITAAL,f:40
+21a5:00c00000:0448:0001:1:0
+PRIVATE SPICE
+p:CSAT,f:40
+6ea5:00c00000:04b1:0001:1:0
+NDR FS HH+
+p:ARD,f:40
+0fa6:00c00000:0451:0035:1:0
+Sport1
+p:CANALDIGITAAL,f:40
+13a6:00c00000:0455:0035:1:0
+Tele2 / Het Gesprek
+p:CANALDIGITAAL,f:40
+20a6:00c00000:0432:0001:1:0
+VIRGIN 17
+p:CSAT,f:40
+23a6:00c00000:044a:0001:1:0
+
+p:CSAT,f:40
+27a6:00c00000:0444:0001:1:0
+Liebesglück.TV
+p:BetaDigital,f:40
+6ea6:00c00000:04b1:0001:1:0
+NDR FS MV+
+p:ARD,f:40
+0fa7:00c00000:0451:0035:1:0
+Film1.2
+p:CANALDIGITAAL,f:40
+20a7:00c00000:0432:0001:1:0
+FOXLIFE
+p:CSAT,f:40
+21a7:00c00000:0448:0001:1:0
+
+p:CSAT,f:40
+27a7:00c00000:0444:0001:1:0
+Partnersuche.TV
+p:BetaDigital,f:40
+6ea7:00c00000:04b1:0001:1:0
+NDR FS SH+
+p:ARD,f:40
+00a8:00c00000:0001:0085:1:0
+HIT24
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+20a8:00c00000:0432:0001:1:0
+TEST CDN 8
+p:CSAT,f:40
+21a8:00c00000:0448:0001:1:0
+CDN12
+p:CSAT,f:40
+27a8:00c00000:0444:0001:1:0
+ReiseSchnäppchen.TV
+p:BetaDigital,f:40
+6ea8:00c00000:04b1:0001:1:0
+alt (MDR SACHSEN+)
+p:ARD,f:40
+20a9:00c00000:0432:0001:1:0
+
+p:CSAT,f:40
+21a9:00c00000:0448:0001:1:0
+
+p:CSAT,f:40
+27a9:00c00000:0444:0001:1:0
+Venusclub.TV
+p:BetaDigital,f:40
+6ea9:00c00000:04b1:0001:1:0
+alt (MDR S-ANHALT+)
+p:ARD,f:40
+75a9:00c00000:0422:0001:1:0
+GUÍA DIGITAL+
+p:DIGITAL+,f:40
+21aa:00c00000:0448:0001:1:0
+DISNEY MAGIC HD
+p:CSAT,f:40
+27aa:00c00000:0444:0001:1:0
+Ringtone TV
+p:BetaDigital,f:40
+6eaa:00c00000:04b1:0001:1:0
+alt (MDR THÜRINGEN+)
+p:ARD,f:40
+75aa:00c00000:0422:0001:1:0
+
+p:Digital +,f:40
+0fab:00c00000:0451:0035:1:0
+NED1
+p:CANALDIGITAAL,f:40
+20ab:00c00000:0432:0001:1:0
+
+p:CSAT,f:40
+27ab:00c00000:0444:0001:1:0
+.Club1.TV
+p:BetaDigital,f:40
+75ab:00c00000:0422:0001:1:0
+Cambio Tarj.
+p:DIGITAL+,f:40
+0fac:00c00000:0451:0035:1:0
+NED2
+p:CANALDIGITAAL,f:40
+27ac:00c00000:0444:0001:1:0
+AbsolutSexy.TV
+p:BetaDigital,f:40
+75ac:00c00000:0422:0001:1:0
+RAD. LATINAS
+p:Digital+,f:40
+0fad:00c00000:0451:0035:1:0
+NED3
+p:CANALDIGITAAL,f:40
+20ad:00c00000:0432:0001:1:0
+MCM TOP
+p:CSAT,f:40
+27ad:00c00000:0444:0001:1:0
+ACHTUNG Singles.TV
+p:BetaDigital,f:40
+75ad:00c00000:0422:0001:1:0
+COMPRA SMS
+p:DIGITAL+,f:40
+0fae:00c00000:0451:0035:1:0
+Nickelodeon/Comedy Central
+p:CANALDIGITAAL,f:40
+20ae:00c00000:0432:0001:1:0
+TF1
+p:CSAT,f:40
+27ae:00c00000:0444:0001:1:0
+SexyGirls.TV
+p:BetaDigital,f:40
+75ae:00c00000:0422:0001:1:0
+
+p:Digital +,f:40
+0faf:00c00000:0451:0035:1:0
+NGC
+p:CANALDIGITAAL,f:40
+20af:00c00000:0432:0001:1:0
+M6
+p:IMEDIA,f:40
+27af:00c00000:0444:0001:1:0
+Liebestraum.TV
+p:BetaDigital,f:40
+75af:00c00000:0422:0001:1:0
+
+p:DIGITAL+,f:40
+0fb0:00c00000:0451:0035:1:0
+Tele2 2e kanaal
+p:CANALDIGITAAL,f:40
+27b0:00c00000:0444:0001:1:0
+ACHTUNG Erotik.TV
+p:BetaDigital,f:40
+75b0:00c00000:0422:0001:1:0
+TAQUILLA
+p:DIGITAL+,f:40
+27b1:00c00000:0444:0001:1:0
+Pro Erotik TV
+p:BetaDigital,f:40
+75b1:00c00000:0422:0001:1:0
+GUÍA DIGITAL+
+p:Digital+,f:40
+0fb2:00c00000:0451:0035:1:0
+Man-X
+p:CANALDIGITAAL,f:40
+21b2:00c00000:0448:0001:1:0
+
+p:CSAT,f:40
+27b2:00c00000:0444:0001:1:0
+EroticDome
+p:BetaDigital,f:40
+75b2:00c00000:0422:0001:1:0
+TAQUILLA
+p:Digital+,f:40
+20b3:00c00000:0432:0001:1:0
+TF1
+p:CSAT,f:40
+27b3:00c00000:0444:0001:1:0
+666 Girls.TV
+p:BetaDigital,f:40
+20b4:00c00000:0432:0001:1:0
+M6
+p:CSAT,f:40
+27b4:00c00000:0444:0001:1:0
+Gratis Hot TV
+p:BetaDigital,f:40
+27b5:00c00000:0444:0001:1:0
+XXXKanal.TV
+p:BetaDigital,f:40
+20b6:00c00000:0432:0001:1:0
+VIRGIN 17
+p:CSAT,f:40
+27b6:00c00000:0444:0001:1:0
+SAT Erotiktreff.TV
+p:BetaDigital,f:40
+27b7:00c00000:0444:0001:1:0
+Friends TV
+p:BetaDigital,f:40
+27b8:00c00000:0444:0001:1:0
+.
+p:BetaDigital,f:40
+24b9:00c00000:043c:0001:1:0
+TPS STAR
+p:CSAT,f:40
+27b9:00c00000:0444:0001:1:0
+Mallorca.TV
+p:BetaDigital,f:40
+24ba:00c00000:043c:0001:1:0
+SERIE CLUB
+p:CSAT,f:40
+27ba:00c00000:0444:0001:1:0
+.
+p:BetaDigital,f:40
+24bb:00c00000:043c:0001:1:0
+W9
+p:CSAT,f:40
+27bb:00c00000:0444:0001:1:0
+.
+p:BetaDigital,f:40
+77bb:00c00000:040a:0001:1:0
+CLÁSICO
+p:CLASIC,f:40
+24bc:00c00000:043c:0001:1:0
+INFOSPORT
+p:CSAT,f:40
+27bc:00c00000:0444:0001:1:0
+.
+p:BetaDigital,f:40
+77bc:00c00000:040a:0001:1:0
+24 HORAS
+p:24H,f:40
+24bd:00c00000:043c:0001:1:0
+C CINEMA STAR
+p:CSAT,f:40
+6fbd:00c00000:042c:0001:1:0
+1.068 Spare
+p:Arqiva,f:40
+77bd:00c00000:040a:0001:1:0
+TNT
+p:CMA30,f:40
+1bbe:00c00000:0423:0001:1:0
+TVP1
+p:TVP,f:40
+23be:00c00000:044a:0001:1:0
+DT1
+p:CSAT,f:40
+24be:00c00000:043c:0001:1:0
+TELETOON
+p:CSAT,f:40
+77be:00c00000:040a:0001:1:0
+CLAN TVE
+p:Digital+,f:40
+1bbf:00c00000:0423:0001:1:0
+TVP2
+p:TVP,f:40
+23bf:00c00000:044a:0001:1:0
+DT2
+p:CSAT,f:40
+24bf:00c00000:043c:0001:1:0
+M6 MUSIC HITS
+p:CSAT,f:40
+77bf:00c00000:040a:0001:1:0
+24 HORAS
+p:24H,f:40
+1bc0:00c00000:0423:0001:1:0
+TVP Info
+p:TVP,f:40
+24c0:00c00000:043c:0001:1:0
+DISCOVERY
+p:CSAT,f:40
+76c0:00c00000:040e:0001:1:0
+CANAL+
+p:CP,f:40
+77c0:00c00000:040a:0001:1:0
+TELENOVELAS
+p:TLNV,f:40
+1bc1:00c00000:0423:0001:1:0
+TVP Sport
+p:Telewizja Polska SA,f:40
+21c1:00c00000:0448:0001:1:0
+MOSAIQUE
+p:CSAT,f:40
+23c1:00c00000:044a:0001:1:0
+DT4
+p:CSAT,f:40
+24c1:00c00000:043c:0001:1:0
+PINK TV/PINK X
+p:CSAT,f:40
+76c1:00c00000:040e:0001:1:0
+DOCU TVE
+p:Docu TVE,f:40
+77c1:00c00000:040a:0001:1:0
+HOLLYWOOD
+p:HOLLYW,f:40
+1bc2:00c00000:0423:0001:1:0
+INT6
+p:Telewizja Polska SA,f:40
+23c2:00c00000:044a:0001:1:0
+DT5
+p:CSAT,f:40
+24c2:00c00000:043c:0001:1:0
+TELETOON+1
+p:CSAT,f:40
+77c2:00c00000:040a:0001:1:0
+HISTORIA
+p:HIST,f:40
+23c3:00c00000:044a:0001:1:0
+DT6
+p:CSAT,f:40
+76c3:00c00000:040e:0001:1:0
+DISNEY CH.
+p:DCH,f:40
+77c3:00c00000:040a:0001:1:0
+TELENOVELAS
+p:TLNV,f:40
+23c4:00c00000:044a:0001:1:0
+DT7
+p:CSAT,f:40
+76c4:00c00000:040e:0001:1:0
+SPORTMANÍA
+p:SPM,f:40
+23c5:00c00000:044a:0001:1:0
+DT8
+p:CSAT,f:40
+76c5:00c00000:040e:0001:1:0
+40 TV
+p:+MUS,f:40
+77c5:00c00000:040a:0001:1:0
+TV CANARIA
+p:CANAR,f:40
+22c6:00c00000:045a:0001:1:0
+CINE POLAR
+p:CSAT,f:40
+23c6:00c00000:044a:0001:1:0
+DT9
+p:CSAT,f:40
+76c6:00c00000:040e:0001:1:0
+DISCOVERY
+p:DCR,f:40
+77c6:00c00000:040a:0001:1:0
+CUATRO
+p:Digital+,f:40
+22c7:00c00000:045a:0001:1:0
+GULLI
+p:CSAT,f:40
+23c7:00c00000:044a:0001:1:0
+DT10
+p:CSAT,f:40
+75c7:00c00000:0422:0001:1:0
+
+p:DIGITAL+,f:40
+77c7:00c00000:040a:0001:1:0
+CUATRO
+p:Digital+,f:40
+22c8:00c00000:045a:0001:1:0
+BLOOMBERG TV
+p:CSAT,f:40
+23c8:00c00000:044a:0001:1:0
+DT11
+p:CSAT,f:40
+22c9:00c00000:045a:0001:1:0
+TEVA
+p:CSAT,f:40
+23c9:00c00000:044a:0001:1:0
+DT12
+p:CSAT,f:40
+32c9:00c00000:045d:0001:1:0
+ORF1
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+77c9:00c00000:040a:0001:1:0
+TNT
+p:CMA30,f:40
+22ca:00c00000:045a:0001:1:0
+DISNEY CHANNEL+1
+p:CSAT,f:40
+23ca:00c00000:044a:0001:1:0
+DT13
+p:CSAT,f:40
+32ca:00c00000:045d:0001:1:0
+ORF2
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+6dca:00c00000:044d:0001:1:0
+Das Erste
+p:ARD,f:40
+75ca:00c00000:0422:0001:1:0
+
+p:DIGITAL+,f:40
+76ca:00c00000:040e:0001:1:0
+CANAL+ 2
+p:CP2,f:40
+22cb:00c00000:045a:0001:1:0
+PLAYHOUSE DISNEY
+p:CSAT,f:40
+23cb:00c00000:044a:0001:1:0
+DT14
+p:CSAT,f:40
+32cb:00c00000:045d:0001:1:0
+ORF2 W
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+6dcb:00c00000:044d:0001:1:0
+Bayerisches FS Süd
+p:ARD,f:40
+22cc:00c00000:045a:0001:1:0
+DISNEY CINEMAGIC
+p:CSAT,f:40
+23cc:00c00000:044a:0001:1:0
+DT15
+p:CSAT,f:40
+32cc:00c00000:045d:0001:1:0
+ORF2 N
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+42cc:00c00000:041d:0001:1:0
+Belsat TV
+p:TVP,f:40
+6dcc:00c00000:044d:0001:1:0
+hr-fernsehen
+p:ARD,f:40
+75cc:00c00000:0422:0001:1:0
+
+p:DIGITAL+,f:40
+76cc:00c00000:040e:0001:1:0
+TELEDEPORTE
+p:TDEP,f:40
+f1cc:00c00000:0421:0001:1:0
+Bibel TV
+p:Bibel TV,f:40
+22cd:00c00000:045a:0001:1:0
+DISNEY MAGIC+1
+p:CSAT,f:40
+23cd:00c00000:044a:0001:1:0
+DT16
+p:CSAT,f:40
+32cd:00c00000:045d:0001:1:0
+ORF2 B
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+42cd:00c00000:041d:0001:1:0
+TV TRWAM
+p:TVP,f:40
+74cd:00c00000:03f8:0001:1:0
+TELEFE INT
+p:DIGITAL+,f:40
+23ce:00c00000:044a:0001:1:0
+DT17
+p:CSAT,f:40
+32ce:00c00000:045d:0001:1:0
+ORF2 O
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+42ce:00c00000:041d:0001:1:0
+TV Polonia
+p:TVP,f:40
+6dce:00c00000:044d:0001:1:0
+Bayerisches FS Nord
+p:ARD,f:40
+74ce:00c00000:03f8:0001:1:0
+PORTADA
+p:ESCAP,f:40
+75ce:00c00000:0422:0001:1:0
+IBERDROLA
+p:DIGITAL+,f:40
+22cf:00c00000:045a:0001:1:0
+E! ENTERTAINMENT
+p:CSAT,f:40
+23cf:00c00000:044a:0001:1:0
+DT18
+p:CSAT,f:40
+24cf:00c00000:043c:0001:1:0
+W9
+p:CSAT,f:40
+32cf:00c00000:045d:0001:1:0
+ORF2 S
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+42cf:00c00000:041d:0001:1:0
+TVP Historia
+p:TVP,f:40
+6dcf:00c00000:044d:0001:1:0
+WDR Köln
+p:ARD,f:40
+74cf:00c00000:03f8:0001:1:0
+TCM MODERNO
+p:TCM,f:40
+75cf:00c00000:0422:0001:1:0
+
+p:Digital +,f:40
+23d0:00c00000:044a:0001:1:0
+DT19
+p:CSAT,f:40
+32d0:00c00000:045d:0001:1:0
+ORF2 T
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+42d0:00c00000:041d:0001:1:0
+TVP Kultura
+p:TVP,f:40
+6dd0:00c00000:044d:0001:1:0
+BR-alpha*
+p:ARD,f:40
+20d1:00c00000:043e:0001:1:0
+
+p:CSAT,f:40
+23d1:00c00000:044a:0001:1:0
+DT20
+p:CSAT,f:40
+32d1:00c00000:045d:0001:1:0
+ORF2 V
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+6dd1:00c00000:044d:0001:1:0
+SWR Fernsehen BW
+p:ARD,f:40
+20d2:00c00000:043e:0001:1:0
+A LA CARTE 1
+p:CSAT,f:40
+32d2:00c00000:045d:0001:1:0
+ORF2 St
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+75d2:00c00000:0422:0001:1:0
+CANAL+ HD
+p:DIGITAL+,f:40
+20d3:00c00000:043e:0001:1:0
+A LA CARTE 2
+p:CSAT,f:40
+32d3:00c00000:045d:0001:1:0
+ORF2 K
+p:ORF,C:1801,C:1702,C:0d05,C:1762,f:40
+07d4:00c00000:0449:0035:1:0
+RTL4
+p:CANALDIGITAAL,f:40
+20d4:00c00000:043e:0001:1:0
+A LA CARTE 3
+p:CSAT,f:40
+32d4:00c00000:045d:0001:1:0
+ATV+
+p:ATV+,C:1801,C:1702,C:0d05,C:1762,f:40
+07d5:00c00000:0449:0035:1:0
+RTL5
+p:CANALDIGITAAL,f:40
+20d5:00c00000:043e:0001:1:0
+A LA CARTE 4
+p:CSAT,f:40
+32d5:00c00000:045d:0001:1:0
+HITRADIO OE3
+p:ORF,f:40
+07d6:00c00000:0449:0035:1:0
+RTL7
+p:CANALDIGITAAL,f:40
+20d6:00c00000:043e:0001:1:0
+A LA CARTE 5
+p:CSAT,f:40
+32d6:00c00000:045d:0001:1:0
+ORF2E
+p:ORF,f:40
+75d6:00c00000:0422:0001:1:0
+SAN FERMÍN
+p:DIGITAL+,f:40
+1fd7:00c00000:0434:0001:1:0
+EUROSPORT
+p:CSAT,f:40
+20d7:00c00000:043e:0001:1:0
+A LA CARTE 6
+p:CSAT,f:40
+1fd8:00c00000:0434:0001:1:0
+TMC
+p:CSAT,f:40
+20d8:00c00000:043e:0001:1:0
+A LA CARTE 7
+p:CSAT,f:40
+6fd8:00c00000:042c:0001:1:0
+TVBS
+p:Chinese Channel LTD.,f:40
+77d8:00c00000:040a:0001:1:0
+EUROSPORT
+p:ESP,f:40
+1fd9:00c00000:0434:0001:1:0
+PLANETE
+p:CSAT,f:40
+20d9:00c00000:043e:0001:1:0
+A LA CARTE 8
+p:CSAT,f:40
+22d9:00c00000:045a:0001:1:0
+GULLI
+p:CSAT,f:40
+32d9:00c00000:045d:0001:1:0
+Bundesliga 5
+p:arena,f:40
+75d9:00c00000:0422:0001:1:0
+
+p:Digital +,f:40
+07da:00c00000:0449:0035:1:0
+TV Oranje
+p:CANALDIGITAAL,f:40
+20da:00c00000:043e:0001:1:0
+A LA CARTE 9
+p:CSAT,f:40
+32da:00c00000:045d:0001:1:0
+Bundesliga 6
+p:arena,f:40
+1fdb:00c00000:0434:0001:1:0
+VOYAGE
+p:CSAT,f:40
+20db:00c00000:043e:0001:1:0
+A LA CARTE 13
+p:CSAT,f:40
+1fdc:00c00000:0434:0001:1:0
+LCI
+p:CSAT,f:40
+20dc:00c00000:043e:0001:1:0
+A LA CARTE 14
+p:CSAT,f:40
+75dc:00c00000:0422:0001:1:0
+COMPRA SMS
+p:DIGITAL+,f:40
+1fdd:00c00000:0434:0001:1:0
+CANAL J
+p:CSAT,f:40
+75dd:00c00000:0422:0001:1:0
+TEST TÉCNICO
+p:DIGITAL+,f:40
+20de:00c00000:043e:0001:1:0
+KIOSQUE
+p:CSAT,f:40
+75de:00c00000:0422:0001:1:0
+TEST_CSD1
+p:DIGITAL+,f:40
+07df:00c00000:0449:0035:1:0
+Discovery
+p:CANALDIGITAAL,f:40
+1fdf:00c00000:0434:0001:1:0
+PLANETE JUNIORS
+p:CSAT,f:40
+75df:00c00000:0422:0001:1:0
+TEST_CSD2
+p:DIGITAL+,f:40
+1fe0:00c00000:0434:0001:1:0
+CUISINE TV
+p:CSAT,f:40
+6fe0:00c00000:0443:0001:1:0
+NICK AUSTRIA
+p:MTV Networks,f:40
+75e0:00c00000:0422:0001:1:0
+TEST_CSD3
+p:DIGITAL+,f:40
+79e0:00c00000:0443:0001:1:0
+Eurosport
+p:SES Astra,f:40
+1fe1:00c00000:0434:0001:1:0
+FILLES TV
+p:CSAT,f:40
+6ee1:00c00000:04b1:0001:1:0
+Radio Bremen TV
+p:ARD,f:40
+6fe1:00c00000:0443:0001:1:0
+MTV AUSTRIA
+p:MTV Networks,f:40
+75e1:00c00000:0422:0001:1:0
+TEST_CSD4
+p:DIGITAL+,f:40
+1fe2:00c00000:0434:0001:1:0
+TIJI
+p:CSAT,f:40
+75e2:00c00000:0422:0001:1:0
+TEST_CSD5
+p:DIGITAL+,f:40
+1fe3:00c00000:0434:0001:1:0
+CANAL+ FAMILY
+p:CSAT,f:40
+2ee3:00c00000:0441:0001:1:0
+\86RTL\87 Television
+p:RTL World,f:40
+31e3:00c00000:045c:0035:1:0
+VTM OLD
+p:TV Vlaanderen,f:40
+31e3:00c00000:045f:0035:1:0
+VTM
+p:TV Vlaanderen,f:40
+75e3:00c00000:0422:0001:1:0
+TEST_CSD6
+p:DIGITAL+,f:40
+07e4:00c00000:0449:0035:1:0
+Animal Planet
+p:CANALDIGITAAL,f:40
+2ee4:00c00000:0441:0001:1:0
+RTL HH SH
+p:RTL World,f:40
+31e4:00c00000:045c:0035:1:0
+2BE OLD
+p:TV Vlaanderen,f:40
+31e4:00c00000:045f:0035:1:0
+2BE
+p:TV Vlaanderen,f:40
+75e4:00c00000:0422:0001:1:0
+TEST_CSD7
+p:DIGITAL+,f:40
+25e5:00c00000:045e:0001:1:0
+FR3 AMIENS
+p:CSAT,f:40
+2ee5:00c00000:0441:0001:1:0
+RTL HB NDS
+p:RTL World,f:40
+31e5:00c00000:045c:0035:1:0
+VT4 OLD
+p:TV Vlaanderen,f:40
+31e5:00c00000:045f:0035:1:0
+VT4
+p:TV Vlaanderen,f:40
+75e5:00c00000:0422:0001:1:0
+TEST_CSD8
+p:DIGITAL+,f:40
+25e6:00c00000:045e:0001:1:0
+FR3 BESANCON
+p:CSAT,f:40
+31e6:00c00000:045c:0035:1:0
+ActionNow OLD
+p:TV Vlaanderen,f:40
+31e6:00c00000:045f:0035:1:0
+ActionNow
+p:TV Vlaanderen,f:40
+75e6:00c00000:0422:0001:1:0
+TEST_CSD9
+p:DIGITAL+,f:40
+25e7:00c00000:045e:0001:1:0
+FR3 BORDEAUX
+p:CSAT,f:40
+31e7:00c00000:045c:0035:1:0
+één OLD
+p:TV Vlaanderen,f:40
+31e7:00c00000:045f:0035:1:0
+één
+p:TV Vlaanderen,f:40
+75e7:00c00000:0422:0001:1:0
+TEST_CSD10
+p:DIGITAL+,f:40
+23e8:00c00000:044a:0001:1:0
+DOWNLOAD TNTSAT GENERIQUE
+p:CSAT,f:40
+25e8:00c00000:045e:0001:1:0
+FR3 NANCY
+p:CSAT,f:40
+31e8:00c00000:045c:0035:1:0
+Ketnet/Canvas OLD
+p:TV Vlaanderen,f:40
+31e8:00c00000:045f:0035:1:0
+Ketnet/Canvas
+p:TV Vlaanderen,f:40
+07e9:00c00000:0449:0035:1:0
+EUROSPORT
+p:CANALDIGITAAL,f:40
+23e9:00c00000:044a:0001:1:0
+DOWNLOAD TNTSAT STRONG
+p:CSAT,f:40
+25e9:00c00000:045e:0001:1:0
+FR3 CLERMONT FD
+p:CSAT,f:40
+31e9:00c00000:045c:0035:1:0
+Vitaya OLD
+p:TV Vlaanderen,f:40
+31e9:00c00000:045f:0035:1:0
+Vitaya
+p:TV Vlaanderen,f:40
+23ea:00c00000:044a:0001:1:0
+DOWNLOAD TNTSAT SAGEM
+p:CSAT,f:40
+25ea:00c00000:045e:0001:1:0
+FR3 PARIS
+p:CSAT,f:40
+79ea:00c00000:0443:0001:1:0
+HSE24 Digital
+p:SES Astra,f:40
+1feb:00c00000:0434:0001:1:0
+TMC
+p:CSAT,f:40
+23eb:00c00000:044a:0001:1:0
+CDN2
+p:CSAT,f:40
+25eb:00c00000:045e:0001:1:0
+FR3 RENNES
+p:CSAT,f:40
+6eeb:00c00000:04b1:0001:1:0
+WDR Test A
+p:ARD,f:40
+6feb:00c00000:042a:0001:1:0
+MTV ESP
+p:MTV Networks Europe,f:40
+23ec:00c00000:044a:0001:1:0
+CDN6
+p:CSAT,f:40
+25ec:00c00000:045e:0001:1:0
+FR3 ROUEN
+p:CSAT,f:40
+6fec:00c00000:042a:0001:1:0
+MTV France
+p:MTV Networks Europe,f:40
+23ed:00c00000:044a:0001:1:0
+CDN7
+p:CSAT,f:40
+25ed:00c00000:045e:0001:1:0
+FR3 LIMOGES
+p:CSAT,f:40
+75ed:00c00000:0422:0001:1:0
+
+p:Digital+,f:40
+07ee:00c00000:0449:0035:1:0
+Cartoon/TCM
+p:CANALDIGITAAL,f:40
+23ee:00c00000:044a:0001:1:0
+CDN5
+p:CSAT,f:40
+25ee:00c00000:045e:0001:1:0
+FR3 LYON
+p:CSAT,f:40
+6fee:00c00000:042a:0001:1:0
+MTV Hits
+p:MTV Networks Europe,f:40
+75ee:00c00000:0422:0001:1:0
+
+p:Digital +,f:40
+25ef:00c00000:045e:0001:1:0
+FR3 MARSEILLE
+p:CSAT,f:40
+31ef:00c00000:045c:0035:1:0
+JIM OLD
+p:TV Vlaanderen,f:40
+31ef:00c00000:045f:0035:1:0
+JIM
+p:TV Vlaanderen,f:40
+6fef:00c00000:042a:0001:1:0
+MTV Dance
+p:MTV Networks Europe,f:40
+75ef:00c00000:0422:0001:1:0
+
+p:DIGITAL+,f:40
+25f0:00c00000:045e:0001:1:0
+FR3 TOULOUSE
+p:CSAT,f:40
+31f0:00c00000:045c:0035:1:0
+VIJFtv OLD
+p:TV Vlaanderen,f:40
+31f0:00c00000:045f:0035:1:0
+VIJFtv
+p:TV Vlaanderen,f:40
+6ff0:00c00000:042a:0001:1:0
+VH1
+p:MTV Networks Europe,f:40
+31f1:00c00000:045c:0035:1:0
+KANAAL Z OLD
+p:TV Vlaanderen,f:40
+31f1:00c00000:045f:0035:1:0
+KANAAL Z
+p:TV Vlaanderen,f:40
+6ff1:00c00000:042a:0001:1:0
+VH1 Classic
+p:MTV Networks Europe,f:40
+75f1:00c00000:0422:0001:1:0
+
+p:Digital+,f:40
+75f2:00c00000:0422:0001:1:0
+
+p:Digital+,f:40
+07f3:00c00000:0449:0035:1:0
+RTL8
+p:CANALDIGITAAL,f:40
+6ff3:00c00000:042a:0001:1:0
+MTV TWO
+p:MTV Networks Europe,f:40
+75f3:00c00000:0422:0001:1:0
+
+p:Contactanos,f:40
+2ef4:00c00000:0441:0001:1:0
+RTL2
+p:RTL World,f:40
+6ff4:00c00000:042a:0001:1:0
+Nick ESP
+p:MTV Networks Europe,f:40
+75f4:00c00000:0422:0001:1:0
+ABONO FÚTBOL+
+p:Digital+,f:40
+79f4:00c00000:0443:0001:1:0
+EuroNews
+p:Globecast,f:40
+1af5:00c00000:03fe:0001:1:0
+DIRECT 8
+p:GlobeCast,f:40
+6ff5:00c00000:042a:0001:1:0
+MTV Base France
+p:MTV Networks Europe,f:40
+1af6:00c00000:03fe:0001:1:0
+KTO
+p:OVERON,f:40
+6ff7:00c00000:042a:0001:1:0
+GAME ONE
+p:MTV Networks Europe,f:40
+07f8:00c00000:0449:0035:1:0
+PRIVATE SPICE
+p:CANALDIGITAAL,f:40
+1af8:00c00000:03fe:0001:1:0
+Russia Today
+p:OVERON,f:40
+6ff8:00c00000:042a:0001:1:0
+MTV Hits.
+p:MTV Networks Europe,f:40
+1af9:00c00000:03fe:0001:1:0
+France 24 (en Francais)
+p:FRANCE 24,f:40
+75f9:00c00000:0408:0001:1:0
+TVC INT.
+p:TVC,f:40
+1afa:00c00000:03fe:0001:1:0
+France 24 (in English)
+p:FRANCE 24,f:40
+6ffa:00c00000:042a:0001:1:0
+VH1.
+p:MTV Networks Europe,f:40
+75fa:00c00000:0408:0001:1:0
+ANDALUCÍA TV
+p:ANTV,f:40
+1afb:00c00000:03fe:0001:1:0
+EWTN Europe
+p:OVERON,f:40
+6ffb:00c00000:042a:0001:1:0
+VH1 Classic.
+p:MTV Networks Europe,f:40
+75fb:00c00000:0408:0001:1:0
+EUSKADI TV
+p:DIGITAL+,f:40
+02fc:00c00000:0005:0085:1:0
+ANIXE SD
+p:BetaDigital,f:40
+1afc:00c00000:03fe:0001:1:0
+NRJ Hits
+p:GlobeCast,f:40
+6ffc:00c00000:042a:0001:1:0
+NICKELODEON France
+p:MTV Networks Europe,f:40
+75fc:00c00000:0408:0001:1:0
+TM SAT/LAOTRA
+p:DIGITAL+,f:40
+02fd:00c00000:0007:0085:1:0
+\86Y\87AVIDO\86 CLIPS\87
+p:BetaDigital,f:40
+07fd:00c00000:0449:0035:1:0
+DORCEL TV
+p:CANALDIGITAAL,f:40
+1afd:00c00000:03fe:0001:1:0
+ARAGON TV
+p:OVERON,f:40
+21fd:00c00000:044c:0001:1:0
+EQUIDIA INFO
+p:CSAT,f:40
+6ffd:00c00000:042a:0001:1:0
+MTV TWO.
+p:MTV Networks Europe,f:40
+75fd:00c00000:0408:0001:1:0
+CANAL CLUB
+p:DIGITAL+,f:40
+02fe:00c00000:0005:0085:1:0
+UProm.TV
+p:BetaDigital,f:40
+21fe:00c00000:044c:0001:1:0
+COMEDIE !
+p:CSAT,f:40
+74fe:00c00000:0420:0001:1:0
+C+ ACCIÓN...30
+p:CMA,f:40
+75fe:00c00000:0408:0001:1:0
+C. ESTRELLAS
+p:GALAV,f:40
+02ff:00c00000:0007:0085:1:0
+\86rtn\87 myestate
+p:BetaDigital,f:40
+1aff:00c00000:03fe:0001:1:0
+DIRECT 8
+p:OVERON,f:40
+21ff:00c00000:044c:0001:1:0
+13EME RUE
+p:CSAT,f:40
+6fff:00c00000:0436:0001:1:0
+MTV Music
+p:MTV Networks Europe,f:40
+74ff:00c00000:0420:0001:1:0
+C+ COMEDIA...30
+p:CMADOS,f:40
+75ff:00c00000:0408:0001:1:0
+CNN+
+p:CNN+,f:40
+6f00:00c00000:0445:0001:2:0
+DW 1
+p:ARD DW,f:40
+6f01:00c00000:0445:0001:2:0
+DW 4
+p:ARD DW,f:40
+0803:00c00000:0449:0035:2:0
+RTL RADIO
+p:CANALDIGITAAL,f:40
+6f03:00c00000:0445:0001:2:0
+hr1
+p:ARD HR,f:40
+6f04:00c00000:0445:0001:2:0
+hr2
+p:ARD HR,f:40
+6f05:00c00000:0445:0001:2:0
+hr3
+p:ARD HR,f:40
+6f06:00c00000:0445:0001:2:0
+hr4
+p:ARD HR,f:40
+6f07:00c00000:0445:0001:2:0
+YOU FM
+p:ARD HR,f:40
+6f08:00c00000:0445:0001:2:0
+hr iNFO
+p:ARD HR,f:40
+f208:00c00000:0421:0001:2:0
+Radio Horeb
+p:Eurociel,f:40
+6f09:00c00000:0445:0001:2:0
+hr iNFO +
+p:ARD HR,f:40
+f20a:00c00000:0421:0001:2:0
+RDC
+p:Polskie Radio-Regionalna,f:40
+6f0c:00c00000:0445:0001:2:0
+MDR1 SACHSEN
+p:ARD MDR,f:40
+6f0d:00c00000:0445:0001:2:0
+MDR1 S-ANHALT
+p:ARD MDR,f:40
+6f0e:00c00000:0445:0001:2:0
+MDR1 THÜRINGEN
+p:ARD MDR,f:40
+6f0f:00c00000:0445:0001:2:0
+MDR FIGARO
+p:ARD MDR,f:40
+6f10:00c00000:0445:0001:2:0
+MDR JUMP
+p:ARD MDR,f:40
+6f11:00c00000:0445:0001:2:0
+MDR SPUTNIK
+p:ARD MDR,f:40
+6f12:00c00000:0445:0001:2:0
+MDR INFO
+p:ARD MDR,f:40
+6f15:00c00000:0445:0001:2:0
+NDR 2
+p:ARD NDR,f:40
+0816:00c00000:0449:0035:2:0
+RVi1 (VRT)
+p:CANALDIGITAAL,f:40
+6f16:00c00000:0445:0001:2:0
+NDR Kultur
+p:ARD NDR,f:40
+6f17:00c00000:0445:0001:2:0
+NDR Info
+p:ARD NDR,f:40
+6f18:00c00000:0445:0001:2:0
+N-JOY
+p:ARD NDR,f:40
+6f19:00c00000:0445:0001:2:0
+NDR 90,3
+p:ARD NDR,f:40
+6f1a:00c00000:0445:0001:2:0
+NDR 1 Welle Nord
+p:ARD NDR,f:40
+081b:00c00000:0449:0035:2:0
+RVi2 (VRT)
+p:CANALDIGITAAL,f:40
+6f1b:00c00000:0445:0001:2:0
+NDR 1 Radio MV
+p:ARD NDR,f:40
+6f1c:00c00000:0445:0001:2:0
+NDR 1 Niedersachsen
+p:ARD NDR,f:40
+6f1d:00c00000:0445:0001:2:0
+NDR Info Spezial
+p:ARD NDR,f:40
+6f20:00c00000:0445:0001:2:0
+Bremen Eins
+p:ARD RB,f:40
+6f21:00c00000:0445:0001:2:0
+Nordwestradio
+p:ARD RB,f:40
+6f22:00c00000:0445:0001:2:0
+Bremen Vier
+p:ARD RB,f:40
+6f24:00c00000:0445:0001:2:0
+InfoRadio
+p:ARD rbb,f:40
+6f25:00c00000:0445:0001:2:0
+kulturradio
+p:ARD rbb,f:40
+6f26:00c00000:0445:0001:2:0
+Antenne Brandenburg
+p:ARD rbb,f:40
+6f27:00c00000:0445:0001:2:0
+radioBERLIN 88,8
+p:ARD rbb,f:40
+6f28:00c00000:0445:0001:2:0
+radioeins
+p:ARD rbb,f:40
+6f29:00c00000:0445:0001:2:0
+Fritz
+p:ARD rbb,f:40
+6f2a:00c00000:0445:0001:2:0
+radiomultikulti
+p:ARD rbb,f:40
+f22a:00c00000:0421:0001:2:0
+CFN/RFC
+p:Canadian Forces Europe,f:40
+f22b:00c00000:0421:0001:2:0
+Radio neue Hoffnung
+p:RADIO Neue Hoffnung,f:40
+6f2d:00c00000:0445:0001:2:0
+SR1
+p:ARD SR,f:40
+6f2e:00c00000:0445:0001:2:0
+SR2
+p:ARD SR,f:40
+6f2f:00c00000:0445:0001:2:0
+SR3
+p:ARD SR,f:40
+f22f:00c00000:0421:0001:2:0
+RTBF International
+p:RTBF,f:40
+4331:00c00000:041d:0001:2:0
+Radio Maryja test
+p:TVP,f:40
+6f31:00c00000:0445:0001:2:0
+SWR1 BW
+p:ARD SWR,f:40
+6f32:00c00000:0445:0001:2:0
+SWR1 RP
+p:ARD SWR,f:40
+6f33:00c00000:0445:0001:2:0
+SWR2
+p:ARD SWR,f:40
+6f34:00c00000:0445:0001:2:0
+SWR3
+p:ARD SWR,f:40
+6f35:00c00000:0445:0001:2:0
+SWR4 BW
+p:ARD SWR,f:40
+6f36:00c00000:0445:0001:2:0
+SWR4 RP
+p:ARD SWR,f:40
+6f37:00c00000:0445:0001:2:0
+DASDING
+p:ARD SWR,f:40
+6f38:00c00000:0445:0001:2:0
+cont.ra
+p:ARD SWR,f:40
+213b:00c00000:0442:0001:2:0
+CANALSAT RADIOS
+p:CSAT,f:40
+6f3b:00c00000:0445:0001:2:0
+1LIVE
+p:ARD WDR,f:40
+6f3c:00c00000:0445:0001:2:0
+WDR 2
+p:ARD WDR,f:40
+6f3d:00c00000:0445:0001:2:0
+WDR 3
+p:ARD WDR,f:40
+6f3e:00c00000:0445:0001:2:0
+WDR 4
+p:ARD WDR,f:40
+6f3f:00c00000:0445:0001:2:0
+WDR 5
+p:ARD WDR,f:40
+2140:00c00000:0442:0001:2:0
+RADIO INT 2
+p:CSAT,f:40
+6f40:00c00000:0445:0001:2:0
+WDR Funkhaus Europa
+p:ARD WDR,f:40
+2141:00c00000:0442:0001:2:0
+RADIO INT
+p:CSAT,f:40
+3341:00c00000:045b:0001:2:0
+OE1
+p:ORF,f:40
+6f41:00c00000:0445:0001:2:0
+1LIVE diggi
+p:ARD WDR,f:40
+3342:00c00000:045b:0001:2:0
+OE1 DD
+p:ORF,f:40
+6f42:00c00000:0445:0001:2:0
+WDR 2 Klassik
+p:ARD WDR,f:40
+3343:00c00000:045b:0001:2:0
+OE2 W
+p:ORF,f:40
+6f43:00c00000:0445:0001:2:0
+WDR Event
+p:ARD WDR,f:40
+3344:00c00000:045b:0001:2:0
+OE2 N
+p:ORF,f:40
+3345:00c00000:045b:0001:2:0
+OE2 B
+p:ORF,f:40
+3346:00c00000:045b:0001:2:0
+OE2 O
+p:ORF,f:40
+2147:00c00000:0442:0001:2:0
+FRANCE MUSIQUE
+p:CSAT,f:40
+3347:00c00000:045b:0001:2:0
+OE2 S
+p:ORF,f:40
+2148:00c00000:0442:0001:2:0
+FIP
+p:CSAT,f:40
+3348:00c00000:045b:0001:2:0
+OE2 T
+p:ORF,f:40
+2149:00c00000:0442:0001:2:0
+France INFO
+p:CSAT,f:40
+3349:00c00000:045b:0001:2:0
+OE2 V
+p:ORF,f:40
+214a:00c00000:0442:0001:2:0
+France INTER
+p:CSAT,f:40
+334a:00c00000:045b:0001:2:0
+OE2 St
+p:ORF,f:40
+214b:00c00000:0442:0001:2:0
+FRANCE BLEU IDF
+p:CSAT,f:40
+334b:00c00000:045b:0001:2:0
+OE2 K
+p:ORF,f:40
+214c:00c00000:0442:0001:2:0
+RFI INT
+p:CSAT,f:40
+214d:00c00000:0442:0001:2:0
+RADIO CLASSIQUE
+p:CSAT,f:40
+334d:00c00000:045b:0001:2:0
+OE3
+p:ORF,f:40
+214e:00c00000:0442:0001:2:0
+EUROPE 1
+p:CSAT,f:40
+334e:00c00000:045b:0001:2:0
+FM4
+p:ORF,f:40
+214f:00c00000:0442:0001:2:0
+RMC
+p:CSAT,f:40
+334f:00c00000:045b:0001:2:0
+Ö1 International
+p:ORF,f:40
+2150:00c00000:0442:0001:2:0
+RTL
+p:CSAT,f:40
+2151:00c00000:0442:0001:2:0
+RIRE & CHANSONS
+p:CSAT,f:40
+2152:00c00000:0442:0001:2:0
+SUD RADIO
+p:CSAT,f:40
+2153:00c00000:0442:0001:2:0
+MC DOUALIYA
+p:CSAT,f:40
+2154:00c00000:0442:0001:2:0
+TSF
+p:CSAT,f:40
+3354:00c00000:045b:0001:2:0
+RADIO MARIA
+p:Radio Maria Österreich,f:40
+2155:00c00000:0442:0001:2:0
+NOSTALGIE
+p:CSAT,f:40
+2156:00c00000:0442:0001:2:0
+BFM
+p:CSAT,f:40
+2157:00c00000:0442:0001:2:0
+JAZZ RADIO
+p:CSAT,f:40
+2158:00c00000:0442:0001:2:0
+NRJ
+p:CSAT,f:40
+2159:00c00000:0442:0001:2:0
+VIRGIN RADIO
+p:CSAT,f:40
+215a:00c00000:0442:0001:2:0
+RTL 2
+p:CSAT,f:40
+215b:00c00000:0442:0001:2:0
+SKYROCK
+p:CSAT,f:40
+215c:00c00000:0442:0001:2:0
+FUN RADIO
+p:CSAT,f:40
+215d:00c00000:0442:0001:2:0
+LE MOUV
+p:CSAT,f:40
+215e:00c00000:0442:0001:2:0
+RADIO NOVA
+p:CSAT,f:40
+215f:00c00000:0442:0001:2:0
+RADIO FG
+p:CSAT,f:40
+2160:00c00000:0442:0001:2:0
+VIBRATION
+p:CSAT,f:40
+2161:00c00000:0442:0001:2:0
+CONTACT FM
+p:CSAT,f:40
+2162:00c00000:0442:0001:2:0
+RADIO LATINA
+p:CSAT,f:40
+2163:00c00000:0442:0001:2:0
+RFM
+p:CSAT,f:40
+2164:00c00000:0442:0001:2:0
+CHERIE FM
+p:CSAT,f:40
+2165:00c00000:0442:0001:2:0
+ALOUETTE
+p:CSAT,f:40
+2166:00c00000:0442:0001:2:0
+VOLTAGE
+p:CSAT,f:40
+2167:00c00000:0442:0001:2:0
+OUI FM
+p:CSAT,f:40
+2168:00c00000:0442:0001:2:0
+ADO
+p:CSAT,f:40
+2169:00c00000:0442:0001:2:0
+COULEUR 3
+p:CSAT,f:40
+216a:00c00000:0442:0001:2:0
+PARENTHESE RADIO
+p:CSAT,f:40
+216b:00c00000:0442:0001:2:0
+RADIO NOTRE-DAME
+p:CSAT,f:40
+316b:00c00000:0459:0001:2:0
+Inselradio
+p:T-Systems,f:40
+6f6b:00c00000:042c:0001:2:0
+CNN Radio
+p:CNN,f:40
+216c:00c00000:0442:0001:2:0
+RADIO ALPHA
+p:CSAT,f:40
+6d6c:00c00000:0437:0001:2:0
+DKULTUR
+p:ZDFvision,f:40
+216d:00c00000:0442:0001:2:0
+RCJ / SHALOM
+p:CSAT,f:40
+316d:00c00000:0459:0001:2:0
+radio top40
+p:T-Systems,f:40
+6d6d:00c00000:0437:0001:2:0
+DLF
+p:ZDFvision,f:40
+216e:00c00000:0442:0001:2:0
+BEUR FM
+p:CSAT,f:40
+316e:00c00000:0459:0001:2:0
+ffn digital
+p:T-Systems,f:40
+216f:00c00000:0442:0001:2:0
+BBC ARABIC
+p:CSAT,f:40
+316f:00c00000:0459:0001:2:0
+DefJay 100% R&B
+p:T-Systems,f:40
+2170:00c00000:0442:0001:2:0
+RFI MULTILINGUE
+p:CSAT,f:40
+3170:00c00000:0459:0001:2:0
+WRN Deutsch
+p:T-Systems,f:40
+1771:00c00000:0457:0001:2:0
+Radio Swiss Jazz
+p:TechniSat,f:40
+2171:00c00000:0442:0001:2:0
+RCI SAT
+p:CSAT,f:40
+3171:00c00000:0459:0001:2:0
+PEPPERMINT fm
+p:T-Systems,f:40
+6d71:00c00000:0437:0001:2:0
+Dok&Deb
+p:ZDFvision,f:40
+1772:00c00000:0457:0001:2:0
+RADIOROPA-Hörbuch 2
+p:TechniSat,f:40
+2172:00c00000:0442:0001:2:0
+MEDI 1
+p:CSAT,f:40
+3172:00c00000:0459:0001:2:0
+ffn Comedy
+p:T-Systems,f:40
+1773:00c00000:0457:0001:2:0
+Radio Swiss Pop
+p:TechniSat,f:40
+2173:00c00000:0442:0001:2:0
+France CULTURE
+p:CSAT,f:40
+3173:00c00000:0459:0001:2:0
+Radio Gloria
+p:Media Broadcast,f:40
+1774:00c00000:0457:0001:2:0
+Euroklassik 1
+p:TechniSat,f:40
+2174:00c00000:0442:0001:2:0
+WRN
+p:CSAT,f:40
+3174:00c00000:0459:0001:2:0
+HIT RADIO FFH
+p:T-Systems,f:40
+1775:00c00000:0457:0001:2:0
+Radio Viola
+p:TechniSat,f:40
+2175:00c00000:0442:0001:2:0
+BBCW SERVICE
+p:CSAT,f:40
+3175:00c00000:0459:0001:2:0
+planet radio
+p:T-Systems,f:40
+1776:00c00000:0457:0001:2:0
+Star*Sat Gold
+p:TechniSat,f:40
+2176:00c00000:0442:0001:2:0
+RADIO COURTOISIE
+p:CSAT,f:40
+3176:00c00000:0459:0001:2:0
+harmony.fm
+p:T-Systems,f:40
+1777:00c00000:0457:0001:2:0
+Star*Sat Country
+p:TechniSat,f:40
+1778:00c00000:0457:0001:2:0
+Star*Sat Hit-Express
+p:TechniSat,f:40
+1779:00c00000:0457:0001:2:0
+Radio Swiss Classic
+p:TechniSat,f:40
+177a:00c00000:0457:0001:2:0
+Star*Sat EASYTI
+p:TechniSat,f:40
+177b:00c00000:0457:0001:2:0
+Kinderradio 1/ Konzertsaal 1
+p:TechniSat,f:40
+177c:00c00000:0457:0001:2:0
+RADIOROPA-Hörbuch 1
+p:TechniSat,f:40
+177d:00c00000:0457:0001:2:0
+RADIOROPA-Hörbuch 3
+p:TechniSat,f:40
+177e:00c00000:0457:0001:2:0
+Star*Sat Melodie
+p:TechniSat,f:40
+177f:00c00000:0457:0001:2:0
+RADIOROPA-BERLIN
+p:TechniSat,f:40
+1780:00c00000:0457:0001:2:0
+Jazz Time
+p:TechniSat,f:40
+1781:00c00000:0457:0001:2:0
+Star*Sat Klassik
+p:TechniSat,f:40
+1783:00c00000:0457:0001:2:0
+RADIOROPA-Hörbuch 4
+p:TechniSat,f:40
+0096:00c00000:0001:0085:2:0
+\86P-D\87EUTSCHE\86 CHARTS\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0097:00c00000:0001:0085:2:0
+\86P-ROCK\87 HYMNEN
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0098:00c00000:0001:0085:2:0
+\86P-LOVE\87 SONGS
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+7598:00c00000:0422:0001:2:0
+RADIOS ESP
+p:DIGITAL+,f:40
+0099:00c00000:0001:0085:2:0
+P-60ER/70ER
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+009a:00c00000:0001:0085:2:0
+P-80ER/90ER
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+009b:00c00000:0001:0085:2:0
+\86P-RnB\87/HIP HOP
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+009c:00c00000:0001:0085:2:0
+\86P-COUNT\87RY
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+279c:00c00000:0444:0001:2:0
+DELUXE RADIO
+p:BetaDigital,f:40
+279d:00c00000:0444:0001:2:0
+DELUXE LOUNGE
+p:BetaDigital,f:40
+279e:00c00000:0444:0001:2:0
+TEDDY
+p:BetaDigital,f:40
+279f:00c00000:0444:0001:2:0
+APS.R12
+p:BetaDigital,f:40
+00a0:00c00000:0007:0085:2:0
+\86ROCK ANT\87ENNE
+p:BetaDigital,f:40
+27a0:00c00000:0444:0001:2:0
+APS.R13
+p:BetaDigital,f:40
+00a1:00c00000:0007:0085:2:0
+\86ERF\87 Radio
+p:BetaDigital,f:40
+27a1:00c00000:0444:0001:2:0
+APS.R14
+p:BetaDigital,f:40
+27a2:00c00000:0444:0001:2:0
+APS.R15
+p:BetaDigital,f:40
+13a7:00c00000:0455:0035:2:0
+NL-Radio 1
+p:CANALDIGITAAL,f:40
+13a8:00c00000:0455:0035:2:0
+NL-Radio 2
+p:CANALDIGITAAL,f:40
+00a9:00c00000:0007:0085:2:0
+\86sunshine\87 live
+p:BetaDigital,f:40
+13a9:00c00000:0455:0035:2:0
+NL-3FM
+p:CANALDIGITAAL,f:40
+00aa:00c00000:0007:0085:2:0
+\86ANTENNE\87 BAYERN
+p:BetaDigital,f:40
+13aa:00c00000:0455:0035:2:0
+NL-Radio 4
+p:CANALDIGITAAL,f:40
+00ab:00c00000:0005:0085:2:0
+domradio
+p:BetaDigital,f:40
+13ab:00c00000:0455:0035:2:0
+NL-Radio 5
+p:CANALDIGITAAL,f:40
+00ac:00c00000:0005:0085:2:0
+.
+p:BetaDigital,f:40
+00ad:00c00000:0005:0085:2:0
+\86Klassik\87 Radio
+p:BetaDigital,f:40
+00ae:00c00000:0005:0085:2:0
+\86OldieStar\87 Radio
+p:BetaDigital,f:40
+00b0:00c00000:0007:0085:2:0
+2255 Gewinnradio
+p:BetaDigital,f:40
+13ba:00c00000:0455:0035:2:0
+CAZ!
+p:CANALDIGITAAL,f:40
+0fbe:00c00000:0451:0035:2:0
+R538 Dance Department
+p:CANALDIGITAAL,f:40
+13bf:00c00000:0455:0035:2:0
+KINK FM
+p:CANALDIGITAAL,f:40
+0fc3:00c00000:0451:0035:2:0
+FunX
+p:CANALDIGITAAL,f:40
+13c4:00c00000:0455:0035:2:0
+RNW1
+p:CANALDIGITAAL,f:40
+13c5:00c00000:0455:0035:2:0
+RNW2
+p:CANALDIGITAAL,f:40
+13c6:00c00000:0455:0035:2:0
+RNW3
+p:CANALDIGITAAL,f:40
+0fc8:00c00000:0451:0035:2:0
+Classic FM
+p:CANALDIGITAAL,f:40
+0fcd:00c00000:0451:0035:2:0
+Q-Music
+p:CANALDIGITAAL,f:40
+13ce:00c00000:0455:0035:2:0
+Sky Radio
+p:CANALDIGITAAL,f:40
+13cf:00c00000:0455:0035:2:0
+Juize.FM
+p:CANALDIGITAAL,f:40
+13d0:00c00000:0455:0035:2:0
+Radio538
+p:CANALDIGITAAL,f:40
+13d8:00c00000:0455:0035:2:0
+NL-Radio 6
+p:CANALDIGITAAL,f:40
+13dd:00c00000:0455:0035:2:0
+Radio10Gold
+p:CANALDIGITAAL,f:40
+4fe2:00c00000:0407:0001:2:0
+\86Bartok Radio\87
+p:UPC Direct,f:40
+4fe3:00c00000:0407:0001:2:0
+\86Petofi Radio\87
+p:UPC Direct,f:40
+4fe4:00c00000:0407:0001:2:0
+\86Kossuth Radio\87
+p:UPC Direct,f:40
+13e7:00c00000:0455:0035:2:0
+Radio Veronica
+p:CANALDIGITAAL,f:40
+31ea:00c00000:045c:0035:2:0
+Radio 1 OLD
+p:TV Vlaanderen,f:40
+31ea:00c00000:045f:0035:2:0
+Radio 1
+p:TV Vlaanderen,f:40
+31eb:00c00000:045c:0035:2:0
+Radio 2 OLD
+p:TV Vlaanderen,f:40
+31eb:00c00000:045f:0035:2:0
+Radio 2
+p:TV Vlaanderen,f:40
+31ec:00c00000:045c:0035:2:0
+Donna OLD
+p:TV Vlaanderen,f:40
+31ec:00c00000:045f:0035:2:0
+Donna
+p:TV Vlaanderen,f:40
+31ed:00c00000:045c:0035:2:0
+Studio Brussel OLD
+p:TV Vlaanderen,f:40
+31ed:00c00000:045f:0035:2:0
+Studio Brussel
+p:TV Vlaanderen,f:40
+6eed:00c00000:04b1:0001:2:0
+MEHRKANALTEST
+p:ARD,f:40
+31ee:00c00000:045c:0035:2:0
+Klara OLD
+p:TV Vlaanderen,f:40
+31ee:00c00000:045f:0035:2:0
+Klara
+p:TV Vlaanderen,f:40
+6ef0:00c00000:0445:0001:2:0
+Bayern 1
+p:ARD BR,f:40
+6ef1:00c00000:0445:0001:2:0
+Bayern 2
+p:ARD BR,f:40
+31f2:00c00000:045c:0035:2:0
+Q-music
+p:TV Vlaanderen,f:40
+31f2:00c00000:045f:0035:2:0
+Q-music
+p:TV Vlaanderen,f:40
+6ef2:00c00000:0445:0001:2:0
+Bayern 3
+p:ARD BR,f:40
+31f3:00c00000:045c:0035:2:0
+4FM OLD
+p:TV Vlaanderen,f:40
+31f3:00c00000:045f:0035:2:0
+4FM
+p:TV Vlaanderen,f:40
+6ef3:00c00000:0445:0001:2:0
+Bayern 4 Klassik
+p:ARD BR,f:40
+6ef4:00c00000:0445:0001:2:0
+B5 aktuell
+p:ARD BR,f:40
+6ef5:00c00000:0445:0001:2:0
+Bayern Mobil
+p:ARD BR,f:40
+6ef6:00c00000:0445:0001:2:0
+on3radio
+p:ARD BR,f:40
+6ef7:00c00000:0445:0001:2:0
+BR Verkehr
+p:ARD BR,f:40
+6ef8:00c00000:0445:0001:2:0
+B5 plus
+p:ARD BR,f:40
+1afe:00c00000:03fe:0001:2:0
+Radio Aragon
+p:OVERON,f:40
+0c13:00c00000:0457:0001:12:0
+MMS02C
+p:SES ASTRA,f:40
+1c20:00c00000:0457:0001:12:0
+Proxy GAC 1.111
+p:SES ASTRA,f:40
+1c24:00c00000:0457:0001:12:0
+Icomera
+p:SES ASTRA,f:40
+1c27:00c00000:0457:0001:12:0
+MFTS Services
+p:SES ASTRA,f:40
+1c29:00c00000:0457:0001:12:0
+AN PTU
+p:SES ASTRA,f:40
+1c2c:00c00000:0457:0001:12:0
+tvtv premium
+p:SES ASTRA,f:40
+1c2e:00c00000:0457:0001:12:0
+STB Globalteq
+p:SES ASTRA,f:40
+1c35:00c00000:0457:0001:12:0
+STB Arion
+p:SES ASTRA,f:40
+1c36:00c00000:0457:0001:12:0
+Orbit Movies FP
+p:SES ASTRA,f:40
+1c39:00c00000:0457:0001:12:0
+STB Technisat
+p:,f:40
+1c3d:00c00000:0457:0001:12:0
+ASTON DOWNLOAD
+p:ASTON,f:40
+1c42:00c00000:0457:0001:12:0
+STB Loewe
+p:SES ASTRA,f:40
+3145:00c00000:0459:0001:12:0
+RAPS
+p:T-Systems,f:40
+1c47:00c00000:0457:0001:12:0
+ProArzt
+p:SES ASTRA,f:40
+1c50:00c00000:0457:0001:12:0
+tvtv Digital
+p:SES ASTRA,f:40
+1c51:00c00000:0457:0001:12:0
+STB Bang-Olufsen
+p:SES ASTRA,f:40
+1c53:00c00000:0457:0001:12:0
+STB Pesi
+p:SES ASTRA,f:40
+1c54:00c00000:0457:0001:12:0
+FP URMET
+p:SES ASTRA,f:40
+1c56:00c00000:0457:0001:12:0
+STB Siemens
+p:SES ASTRA,f:40
+6e5a:00c00000:0431:0001:12:0
+ARD-MHP-Data
+p:ARD,f:40
+185c:00c00000:0457:0001:12:0
+Proxy_txp2
+p:ses astra,f:40
+185d:00c00000:0457:0001:12:0
+VPN TXP-2
+p:ses astra,f:40
+1c60:00c00000:0457:0001:12:0
+STB Comag1
+p:SES ASTRA,f:40
+1c63:00c00000:0457:0001:12:0
+STB Panasonic
+p:SES ASTRA,f:40
+1c66:00c00000:0457:0001:12:0
+Datendienst T1M
+p:,f:40
+1c67:00c00000:0457:0001:12:0
+STB2 Globalteq
+p:SES ASTRA,f:40
+1c69:00c00000:0457:0001:12:0
+tvtv RP
+p:SES ASTRA,f:40
+1c6f:00c00000:0457:0001:12:0
+tvtv DIGITAL
+p:SES ASTRA,f:40
+1c70:00c00000:0457:0001:12:0
+KaCTFL
+p:,f:40
+1c73:00c00000:0457:0001:12:0
+VS Unique Promo
+p:SES ASTRA,f:40
+2773:00c00000:0402:0001:12:0
+Data System
+p:ASTRA,f:40
+0f77:00c00000:0005:0085:12:0
+BData6
+p:BetaDigital,f:40
+0f79:00c00000:0005:0085:12:0
+moreTV
+p:BetaDigital,f:40
+0f80:00c00000:0002:0085:12:0
+
+p:betaresearch,f:40
+0f82:00c00000:0021:0085:12:0
+BData1
+p:BetaDigital,f:40
+0f83:00c00000:0021:0085:12:0
+BData2
+p:BetaDigital,f:40
+0f86:00c00000:0001:0085:12:0
+BData3
+p:BetaDigital,f:40
+0f87:00c00000:0007:0085:12:0
+BData4
+p:BetaDigital,f:40
+3390:00c00000:045d:0001:12:0
+AlphaCrypt
+p:ORF,f:40
+2fa4:00c00000:0454:0001:12:0
+PVR service
+p:GIST,f:40
+0fa5:00c00000:0011:0085:12:0
+Samsung CAB IPDL
+p:,f:40
+0fa6:00c00000:0011:0085:12:0
+Philips dic 2221 IPDL
+p:,f:40
+0fa7:00c00000:0011:0085:12:0
+Thomson SAT IPDL
+p:,f:40
+0dac:00c00000:0002:0085:12:0
+CPT_TP69
+p:PREMIERE,f:40
+0dad:00c00000:0001:0085:12:0
+CPT_TP83
+p:PREMIERE,f:40
+0dae:00c00000:0003:0085:12:0
+CPT_TP65
+p:PREMIERE,f:40
+0daf:00c00000:0004:0085:12:0
+CPT_TP81
+p:PREMIERE,f:40
+0db0:00c00000:0011:0085:12:0
+CPT_TP67
+p:PREMIERE,f:40
+0fb5:00c00000:0004:0085:12:0
+Thomson CAB IPDL
+p:,f:40
+0fb6:00c00000:0004:0085:12:0
+Philips DIS2221 IPDL
+p:,f:40
+33b8:00c00000:045b:0001:12:0
+KAONMEDIA DOWNLOAD
+p:KAON,f:40
+33c2:00c00000:045b:0001:12:0
+OnL OTA
+p:ORF,f:40
+27c4:00c00000:0444:0001:12:0
+moreTV
+p:BetaDigital,f:40
+27c5:00c00000:0444:0001:12:0
+more TV 01
+p:,f:40
+27c6:00c00000:0444:0001:12:0
+more TV 02
+p:,f:40
+27c7:00c00000:0444:0001:12:0
+more TV 03
+p:,f:40
+27c8:00c00000:0444:0001:12:0
+more TV 04
+p:,f:40
+27cb:00c00000:0444:0001:12:0
+more TV 07
+p:,f:40
+79e1:00c00000:0443:0001:12:0
+Guide Plus+
+p:Gemstar-TV Guide Europe,f:40
+1ee6:00c00000:0457:0001:12:0
+SGI_1111
+p:SES ASTRA,f:40
+0ffa:00c00000:0451:0035:12:0
+Downl Philips
+p:CANALDIGITAAL,f:40
+0081:00c00000:0006:0085:25:0
+\86PREM\87IERE\86 HD\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0082:00c00000:0006:0085:25:0
+\86DISC\87OVERY\86 HD\87
+p:PREMIERE,C:1833,C:1831,C:1830,f:40
+0083:00c00000:0006:0085:25:0
+ASTRA HD+
+p:BetaDigital,f:40
+0084:00c00000:0006:0085:25:0
+ANIXE HD
+p:BetaDigital,f:40
+258c:00c00000:0458:0001:25:0
+
+p:CSAT,f:40
+74cc:00c00000:03f8:0001:25:0
+CANAL+ HD
+p:DIGITAL+,f:40
+f1e0:00c00000:0421:0001:25:0
+ORF 1 HD
+p:ORF,f:40
+1c23:00c00000:0457:0001:128:0
+STB Setone
+p:SES ASTRA,f:40
+1c2a:00c00000:0457:0001:128:0
+STB Handan
+p:SES ASTRA,f:40
+1c2b:00c00000:0457:0001:128:0
+STB Hyundai
+p:SES ASTRA,f:40
+1c38:00c00000:0457:0001:128:0
+STB Skardin
+p:SES ASTRA,f:40
+1c3a:00c00000:0457:0001:128:0
+STB Philips
+p:SES ASTRA,f:40
+1c3b:00c00000:0457:0001:128:0
+STB Opentech
+p:SES ASTRA,f:40
+1c49:00c00000:0457:0001:128:0
+STB GSS
+p:SES ASTRA,f:40
+1c4b:00c00000:0457:0001:128:0
+STB Inverto
+p:SES ASTRA,f:40
+1c4f:00c00000:0457:0001:128:0
+Topfield
+p:SES ASTRA,f:40
+1c57:00c00000:0457:0001:128:0
+STB Adimo
+p:SES ASTRA,f:40
+1c58:00c00000:0457:0001:128:0
+GRUNDIG DVB
+p:SES ASTRA,f:40
+1c59:00c00000:0457:0001:128:0
+Nokia SW Update2
+p:SES ASTRA,f:40
+1c5b:00c00000:0457:0001:128:0
+Opentech
+p:SES ASTRA,f:40
+1c5c:00c00000:0457:0001:128:0
+SKYMASTER1
+p:SES ASTRA,f:40
+1c5d:00c00000:0457:0001:128:0
+STB DMT
+p:SES ASTRA,f:40
+1c5f:00c00000:0457:0001:128:0
+SKYMASTER2
+p:SES ASTRA,f:40
+1c65:00c00000:0457:0001:128:0
+STB Homecast
+p:SES ASTRA,f:40
+1c6d:00c00000:0457:0001:128:0
+STB Sandmartin
+p:SES ASTRA,f:40
+0bba:00c00000:0457:0001:128:0
+MMS1111A
+p:SES ASTRA,f:40
+000c:00c00000:0454:0001:129:0
+ASTRA SDT
+p:SES ASTRA,f:40
+000d:00c00000:0457:0001:129:0
+ASTRA SDT
+p:SES ASTRA,f:40
+1c34:00c00000:0457:0001:129:0
+Samsung2
+p:SES ASTRA,f:40
+33a4:00c00000:045d:0001:129:0
+VESTEL OAD2
+p:ORF,f:40
+33ae:00c00000:045d:0001:129:0
+VESTEL DOWNLOAD
+p:ORF,f:40
+74d3:00c00000:03f8:0001:129:0
+
+p:DIGITAL+,f:40
+00e1:00c00000:0447:0001:129:0
+PHILIPS DOWNLOAD 1.1
+p:WIZJA 1,f:40
+00e2:00c00000:0447:0001:129:0
+PHILIPS DOWNLOAD 1.2
+p:UPC DIRECT,f:40
+00e3:00c00000:0447:0001:129:0
+NAGRA DOWNLOAD
+p:UPC Direct,f:40
+00e4:00c00000:0447:0001:129:0
+HUMAX DOWNLOAD
+p:UPC Direct,f:40
+13eb:00c00000:0455:0035:129:0
+Downl
+p:CANALDIGITAAL,f:40
+1c30:00c00000:0457:0001:130:0
+HUMAX DOWNLOAD SVC
+p:SES ASTRA,f:40
+0066:00c00000:045c:0035:130:0
+HUMAX DOWNLOAD SVC
+p:,f:40
+0066:00c00000:045f:0035:130:0
+HUMAX DOWNLOAD SVC
+p:,f:40
+1932:00c00000:03fa:0001:132:0
+01 03 01 47
+p:CSAT,f:40
+193c:00c00000:03fa:0001:132:0
+01 03 04 51
+p:CSAT,f:40
+2067:00c00000:0430:0001:132:0
+01 04 04 51
+p:CSAT,f:40
+2068:00c00000:0430:0001:132:0
+01 04 01 47
+p:CSAT,f:40
+21cc:00c00000:0448:0001:132:0
+01 06 01 47
+p:CSAT,f:40
+21cd:00c00000:0448:0001:132:0
+01 07 01 47
+p:CSAT,f:40
+21ce:00c00000:0448:0001:132:0
+01 08 01 47
+p:CSAT,f:40
+21d6:00c00000:0448:0001:132:0
+01 06 04 51
+p:CSAT,f:40
+21d7:00c00000:0448:0001:132:0
+01 07 04 51
+p:CSAT,f:40
+21d8:00c00000:0448:0001:132:0
+01 08 04 51
+p:CSAT,f:40
+206a:00c00000:0430:0001:135:0
+CDSA
+p:CSAT,f:40
+2185:00c00000:0442:0001:135:0
+RADIO 1
+p:CSAT,f:40
+2186:00c00000:0442:0001:135:0
+RADIO 2
+p:CSAT,f:40
+2187:00c00000:0442:0001:135:0
+RADIO 3
+p:CSAT,f:40
+2188:00c00000:0442:0001:135:0
+RADIO FRANCE
+p:CSAT,f:40
+239d:00c00000:044a:0001:135:0
+BIENVENUE SUR ASTRA
+p:CSAT,f:40
+239f:00c00000:044a:0001:135:0
+EPG
+p:CSAT,f:40
+21c2:00c00000:0448:0001:135:0
+MOSA 2
+p:CSAT,f:40
+21c3:00c00000:0448:0001:135:0
+MOSA 3
+p:CSAT,f:40
+21c4:00c00000:0448:0001:135:0
+MOSA 4
+p:CSAT,f:40
+21c5:00c00000:0448:0001:135:0
+MOSA 5
+p:CSAT,f:40
+21c6:00c00000:0448:0001:135:0
+BIENVENUE SUR ASTRA
+p:CSAT,f:40
+2142:00c00000:0442:0001:138:0
+CANALSAT RADIOS
+p:CSAT,f:40
+2274:00c00000:0438:0001:138:0
+A LA CARTE
+p:CSAT,f:40
+239e:00c00000:044a:0001:138:0
+ESPACE CLIENT
+p:CSAT,f:40
+23a7:00c00000:044a:0001:138:0
+SITE 16/9
+p:IMEDIA,f:40
+21cf:00c00000:0448:0001:139:0
+02 01 01 83
+p:CSAT,f:40
+21d0:00c00000:0448:0001:139:0
+02 02 01 83
+p:CSAT,f:40
+21d1:00c00000:0448:0001:139:0
+02 04 01 83
+p:CSAT,f:40
+21d2:00c00000:0448:0001:139:0
+02 05 01 83
+p:IMEDIA,f:40
+21d3:00c00000:0448:0001:139:0
+02 06 01 83
+p:CSAT,f:40
+21d9:00c00000:0448:0001:139:0
+02 01 04 87
+p:CSAT,f:40
+21da:00c00000:0448:0001:139:0
+02 02 04 87
+p:CSAT,f:40
+21db:00c00000:0448:0001:139:0
+02 04 04 87
+p:CSAT,f:40
+21dc:00c00000:0448:0001:139:0
+02 05 04 87
+p:CSAT,f:40
+21dd:00c00000:0448:0001:139:0
+02 06 04 87
+p:CSAT,f:40
+1c83:00c00000:0457:0001:170:0
+Kathrein Download
+p:SES ASTRA,f:40
+1c33:00c00000:0457:0001:171:0
+SEMCO Download
+p:SES ASTRA,f:40
+1c3c:00c00000:0457:0001:171:0
+STB Radix
+p:RADIXdownload,f:40
+1c40:00c00000:0457:0001:171:0
+STB SMEL
+p:SES ASTRA,f:40
+1c4e:00c00000:0457:0001:171:0
+STB Aston2
+p:ASTON,f:40
+1c5a:00c00000:0457:0001:171:0
+STB Radix 128kbps
+p:RADIXdownload,f:40
+1c6c:00c00000:0457:0001:171:0
+HDS Europe
+p:SES ASTRA,f:40
+1c6e:00c00000:0457:0001:171:0
+STB Strong
+p:SES ASTRA,f:40
+0070:00c00000:045c:0035:171:0
+STB Technisat
+p:SES ASTRA,f:40
+0070:00c00000:045f:0035:171:0
+STB Technisat
+p:SES ASTRA,f:40
+1c76:00c00000:0457:0001:171:0
+STB SRADIX
+p:SES ASTRA,f:40
+0a82:00c00000:0004:0085:178:0
+Videotext
+p:BetaResearch,f:40
+0a94:00c00000:0011:0085:178:0
+TM V1.0
+p:Premiere World,f:40
+23b5:00c00000:044a:0001:192:0
+CODE DOWN
+p:CSAT,f:40
+23b6:00c00000:044a:0001:192:0
+DOWNLOAD MMAX SAGEM
+p:CSAT,f:40
+23b7:00c00000:044a:0001:192:0
+DOWNLOAD MMAX PHILIPS
+p:CSAT,f:40
+23b8:00c00000:044a:0001:192:0
+DOWNLOAD DUALS PHILIPS
+p:CSAT,f:40
+2007:00c00000:0434:0001:193:0
+DATA SYSTEM\8676\87
+p:CSAT,f:40
+251b:00c00000:043c:0001:193:0
+DATASYSTEM 84
+p:CSAT,f:40
+2327:00c00000:045a:0001:193:0
+DATASYSTEM \86114\87
+p:CSAT,f:40
+2133:00c00000:043e:0001:193:0
+DATA SYSTEM[86]
+p:CSAT,f:40
+233c:00c00000:0400:0001:193:0
+DATASYSTEMS TR 24
+p:CANALSATELLITE,f:40
+2647:00c00000:045e:0001:193:0
+DATA SYSTEM \86118\87
+p:CSAT,f:40
+1b58:00c00000:03fc:0001:193:0
+DATA SYSTEM
+p:CSAT,f:40
+1b58:00c00000:03fe:0001:193:0
+DATA SYSTEM
+p:CSAT,f:40
+225f:00c00000:044c:0001:193:0
+DATA SYSTEM[100]
+p:CSAT,f:40
+1963:00c00000:03fa:0001:193:0
+DATA SYSTEM \8618\87
+p:CSAT,f:40
+206b:00c00000:0430:0001:193:0
+DATA SYSTEM[72]
+p:CSAT,f:40
+6f71:00c00000:042c:0001:193:0
+DATA_SYS_68
+p:DT CSAT,f:40
+257f:00c00000:0440:0001:193:0
+DATASYSTEM 88
+p:CSAT,f:40
+0a83:00c00000:0004:0085:193:0
+NDS Applikation
+p:PREMIERE,f:40
+2197:00c00000:0442:0001:193:0
+DATA SYSTEM[90]
+p:CSAT,f:40
+1fa3:00c00000:042e:0001:193:0
+DATA SYSTEM[70]
+p:CSAT,f:40
+26ab:00c00000:0460:0001:193:0
+DATA SYSTEM \86120\87
+p:CSAT,f:40
+22c3:00c00000:0438:0001:193:0
+DATA SYSTEM\8680\87
+p:CSAT,f:40
+42cb:00c00000:0446:0001:193:0
+DATA SYSTEM TR94
+p:ABSAT,f:40
+20cf:00c00000:0432:0001:193:0
+DATA SYSTEM\8674\87
+p:CSAT,f:40
+25e3:00c00000:0458:0001:193:0
+DATA SYSTEM \86112\87
+p:CSAT,f:40
+6fea:00c00000:042a:0001:193:0
+Data_System_TR_66
+p:MTV Networks Europe,f:40
+23ef:00c00000:044a:0001:193:0
+DATA SYSTEM[98]
+p:CSAT,f:40
+21fb:00c00000:0448:0001:193:0
+DATA SYSTEM[96]
+p:CSAT,f:40
+6ffe:00c00000:0436:0001:193:0
+DATA SYSTEM TR 78
+p:MTV Networks Europe,f:40
+2012:00c00000:0430:0001:197:0
+PMU sur Canal+
+p:CSAT,f:40
+219c:00c00000:0448:0001:197:0
+MOSA 2
+p:CSAT,f:40
+219d:00c00000:0448:0001:197:0
+MOSA 3
+p:CSAT,f:40
+21a2:00c00000:0448:0001:197:0
+MOSA 5
+p:CSAT,f:40
+21a6:00c00000:0448:0001:197:0
+MOSA 4
+p:CSAT,f:40
+23c0:00c00000:044a:0001:197:0
+DT3
+p:CSAT,f:40
+213d:00c00000:0442:0001:198:0
+CANALSAT RADIOS
+p:CSAT,f:40
+213e:00c00000:0442:0001:198:0
+RADIOS 2
+p:CSAT,f:40
+213f:00c00000:0442:0001:198:0
+RADIOS 3
+p:CSAT,f:40
+2146:00c00000:0442:0001:198:0
+RF
+p:CSAT,f:40
+end
+Have a lot of bugs!
--- /dev/null
+<default>
+ <prerequisites>
+ <tag type="services" />
+ <bcastsystem type="DVB-S" />
+ <satellite type="130" />
+ </prerequisites>
+
+ <info>
+ <author>tmbinc@elitedvb.net</author>
+ <name>Hotbird (13.0E)</name>
+ </info>
+
+ <files type="directories">
+ <file type="services" name="lamedb.130">
+ </file>
+ </files>
+</default>
--- /dev/null
+<default>
+ <prerequisites>
+ <tag type="services" />
+ <bcastsystem type="DVB-S" />
+ <satellite type="192" />
+ </prerequisites>
+
+ <info>
+ <author>tmbinc@elitedvb.net</author>
+ <name>Astra (19.2E)</name>
+ </info>
+
+ <files type="directories">
+ <file type="services" name="lamedb.192">
+ </file>
+ </files>
+</default>
--- /dev/null
+DESCRIPTION = "Additional plugins for Enigma2"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+SRCDATE = "20081023"
+
+PACKAGES_DYNAMIC = "enigma2-plugin-*"
+
+REL_MAJOR="2"
+REL_MINOR="5"
+TAG = ""
+
+PV = "${REL_MAJOR}.${REL_MINOR}cvs${SRCDATE}"
+
+SRC_URI = "cvs://anonymous@cvs.schwerkraft.elitedvb.net/cvsroot/enigma2-plugins;module=enigma2-plugins;method=pserver${TAG};date=${SRCDATE}"
+FILES_${PN} += " /usr/share/enigma2 /usr/share/fonts "
+
+inherit autotools
+
+S = "${WORKDIR}/enigma2-plugins"
+
+DEPENDS = "${@get_version_depends(bb, d)}"
+DEPENDS += "enigma2"
+
+def get_version_depends(bb, d):
+ if bb.data.getVar('REL_MINOR', d, 1) > '4':
+ return "python-pyopenssl"
+ return ""
+
+python populate_packages_prepend () {
+ enigma2_plugindir = bb.data.expand('${libdir}/enigma2/python/Plugins', d)
+
+ do_split_packages(d, enigma2_plugindir, '(.*?/.*?)/.*', 'enigma2-plugin-%s', 'Enigma2 Plugin: %s', recursive=True, match_path=True, prepend=True)
+
+ def getControlLines(mydir, d, package):
+ import os
+ try:
+ src = open(mydir + package + "/CONTROL/control").read()
+ except IOError:
+ return
+ for line in src.split("\n"):
+ if line.startswith('Package: '):
+ full_package = line[9:]
+ if line.startswith('Depends: '):
+ bb.data.setVar('RDEPENDS_' + full_package, ' '.join(line[9:].split(', ')), d)
+ if line.startswith('Description: '):
+ bb.data.setVar('DESCRIPTION_' + full_package, line[13:], d)
+
+ mydir = bb.data.getVar('D', d, 1) + "/../enigma2-plugins/"
+ for package in bb.data.getVar('PACKAGES', d, 1).split():
+ getControlLines(mydir, d, package.split('-')[-1])
+}
--- /dev/null
+DESCRIPTION = "Skins for Enigma2"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+SRCDATE = "20080912"
+
+# if you want experimental, use:
+#REL_MAJOR="2"
+#REL_MINOR="5"
+#TAG = ""
+
+# if you want a 2.4-based release, use
+REL_MAJOR="2"
+REL_MINOR="4"
+TAG = ";tag=${PN}_rel${REL_MAJOR}${REL_MINOR}"
+
+REL_MINOR_dm8000="5"
+TAG_dm8000=""
+
+PV = "${REL_MAJOR}.${REL_MINOR}cvs${SRCDATE}"
+
+SRC_URI = "cvs://anonymous@cvs.schwerkraft.elitedvb.net/cvsroot/enigma2-skins;module=enigma2-skins;method=pserver${TAG};date=${SRCDATE}"
+FILES_${PN} += " /usr/share/enigma2 /usr/share/fonts "
+
+inherit autotools
+
+S = "${WORKDIR}/enigma2-skins"
+
+python populate_packages_prepend () {
+ if bb.data.expand('${REL_MINOR}', d) != "4":
+ enigma2_skindir = bb.data.expand('${datadir}/enigma2', d)
+ do_split_packages(d, enigma2_skindir, '(.*?)/.*', 'enigma2-skin-%s', 'Enigma2 Skin: %s', recursive=True, match_path=True, prepend=True)
+}
--- /dev/null
+DESCRIPTION = "streamproxy manages streaming data to a PC using enigma2"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+SRCDATE = "20080728"
+PV = "1.0cvs${SRCDATE}"
+
+SRC_URI = "cvs://anonymous@cvs.schwerkraft.elitedvb.net/cvsroot/streamproxy;module=enigma2-streamproxy;method=pserver"
+
+inherit autotools
+
+S = "${WORKDIR}/enigma2-streamproxy"
--- /dev/null
+DESCRIPTION = "Enigma2 is an experimental, but useful framebuffer-based frontend for DVB functions"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+DEPENDS = "jpeg libungif libmad libpng libsigc++-1.2 gettext-native \
+ dreambox-dvbincludes freetype libdvbsi++ python swig-native \
+ gstreamer gst-plugins-good gst-plugins-bad gst-plugins-ugly \
+ libfribidi libxmlccwrap libdreamdvd tuxbox-tuxtxt-32bpp"
+RDEPENDS = "python-codecs python-core python-lang python-re python-threading \
+ python-xml python-fcntl python-elementtree gst-plugin-decodebin python-stringold \
+ gst-plugin-id3demux gst-plugin-mad gst-plugin-ogg gst-plugin-playbin \
+ gst-plugin-typefindfunctions gst-plugin-ivorbis gst-plugin-audioconvert \
+ gst-plugin-wavparse python-netclient gst-plugin-mpegstream gst-plugin-selector \
+ gst-plugin-flac"
+
+RDEPENDS_append_dm7020 = " gst-plugin-ossaudio"
+RDEPENDS_append_dm7025 = " gst-plugin-alsa alsa-conf"
+RDEPENDS_append_dm8000 = " gst-plugin-alsa alsa-conf gst-plugin-avi gst-plugin-matroska \
+ gst-plugin-subparse eglibc-gconv-iso8859-15 gst-plugin-cdxaparse"
+RDEPENDS_append_dm800 = " gst-plugin-alsa alsa-conf"
+
+DESCRIPTION_append_enigma2-plugin-extensions-cutlisteditor = "enables you to cut your movies."
+DESCRIPTION_append_enigma2-plugin-extensions-graphmultiepg = "shows a graphical timeline EPG."
+DESCRIPTION_append_enigma2-plugin-extensions-pictureplayer = "displays photos on the TV."
+DESCRIPTION_append_enigma2-plugin-systemplugins-configurationbackup = "backs up your configuration and restores them optionally."
+DESCRIPTION_append_enigma2-plugin-systemplugins-frontprocessorupdate = "keeps your frontprocessor up to date."
+DESCRIPTION_append_enigma2-plugin-systemplugins-positionersetup = "helps you installing a motorized dish."
+DESCRIPTION_append_enigma2-plugin-systemplugins-satelliteequipmentcontrol = "allows you to fine-tune DiSEqC-settings."
+DESCRIPTION_append_enigma2-plugin-systemplugins-satfinder = "helps you to align your dish."
+DESCRIPTION_append_enigma2-plugin-systemplugins-skinselector = "shows a menu with selectable skins."
+DESCRIPTION_append_enigma2-plugin-systemplugins-videomode = "selects advanced video modes"
+RDEPENDS_enigma2-plugin-extensions-dvdplayer = "libdreamdvd0"
+
+export LD="${CXX}"
+
+PN = "enigma2"
+PR = "r0"
+SRCDATE = "20081030"
+SRCREV = "da3cacbbf835122eaa1b5e3810a23e9264561eec"
+
+# if you want experimental, use:
+REL_MAJOR="2"
+REL_MINOR="5"
+TAG = ""
+
+PV = "${REL_MAJOR}.${REL_MINOR}git${SRCDATE}"
+
+SRC_URI = "git://git.opendreambox.org/git/enigma2.git;proto=git \
+ file://enigma2.sh"
+
+SRC_URI_append_dm7025 = " file://enigma2-disable-iframesearch.patch;patch=1;pnum=1"
+
+S = "${WORKDIR}/git"
+
+FILES_${PN} += "${datadir}/fonts"
+
+inherit autotools pkgconfig
+
+bindir = "/usr/bin"
+sbindir = "/usr/sbin"
+
+EXTRA_OECONF = "--enable-maintainer-mode --with-target=native --with-libsdl=no"
+
+do_install_append() {
+ install -m 0755 ${WORKDIR}/enigma2.sh ${D}/usr/bin/
+}
+
+python populate_packages_prepend () {
+ enigma2_plugindir = bb.data.expand('${libdir}/enigma2/python/Plugins', d)
+
+ do_split_packages(d, enigma2_plugindir, '(.*?/.*?)/.*', 'enigma2-plugin-%s', '%s ', recursive=True, match_path=True, prepend=True)
+}
+
+do_stage_append() {
+ install -d ${STAGING_INCDIR}/enigma2
+ install -m 0644 ${S}/include/*.h ${STAGING_INCDIR}/enigma2
+ for dir in actions base components driver dvb dvb/lowlevel dvb_ci gdi gui mmi nav python service; do
+ install -d ${STAGING_INCDIR}/enigma2/lib/$dir;
+ install -m 0644 ${S}/lib/$dir/*.h ${STAGING_INCDIR}/enigma2/lib/$dir;
+ done
+}
--- /dev/null
+Index: enigma2/lib/dvb/dvb.cpp
+===================================================================
+--- enigma2.orig/lib/dvb/dvb.cpp 2008-04-11 19:01:56.000000000 +0200
++++ enigma2/lib/dvb/dvb.cpp 2008-04-11 19:02:15.000000000 +0200
+@@ -845,7 +845,7 @@
+ }
+ #endif
+
+-#if 1 /* not yet */
++#if 0 /* not yet */
+ if (!m_iframe_search)
+ return len;
+
--- /dev/null
+#!/bin/sh
+
+/usr/bin/showiframe /boot/backdrop.mvi
+
+cd /home/root
+LD_PRELOAD=/usr/lib/libopen.so.0.0 /usr/bin/enigma2
+
+# enigma2 exit codes:
+#
+# 0 - restart enigma
+# 1 - halt
+# 2 - reboot
+#
+# >128 signal
+
+ret=$?
+case $ret in
+ 1)
+ /sbin/halt
+ ;;
+ 2)
+ /sbin/reboot
+ ;;
+ 4)
+ /sbin/rmmod lcd
+ /usr/sbin/fpupgrade --upgrade 2>&1 | tee /home/root/fpupgrade.log
+ sleep 1;
+ /sbin/rmmod fp
+ /sbin/modprobe fp
+ /sbin/reboot
+ ;;
+ *)
+ ;;
+esac
--- /dev/null
+Index: enigma2/lib/python/Components/UsageConfig.py
+===================================================================
+--- enigma2/lib/python/Components/UsageConfig.py (revision 5639)
++++ enigma2/lib/python/Components/UsageConfig.py (working copy)
+@@ -1,6 +1,6 @@
+ from Components.Harddisk import harddiskmanager
+ from config import ConfigSubsection, ConfigYesNo, config, ConfigSelection, ConfigText, ConfigNumber, ConfigSet
+-from enigma import Misc_Options, setTunerTypePriorityOrder;
++from enigma import Misc_Options, setTunerTypePriorityOrder, setEnableTtCachingOnOff;
+ from SystemInfo import SystemInfo
+ import os
+
+@@ -17,6 +17,7 @@
+ config.usage.show_infobar_on_zap = ConfigYesNo(default = True)
+ config.usage.show_infobar_on_skip = ConfigYesNo(default = True)
+ config.usage.show_infobar_on_event_change = ConfigYesNo(default = True)
++ config.usage.enable_tt_caching = ConfigYesNo(default = True)
+ config.usage.hdd_standby = ConfigSelection(default = "120", choices = [
+ ("0", _("no standby")), ("2", "10 " + _("seconds")), ("6", "30 " + _("seconds")),
+ ("12", "1 " + _("minute")), ("24", "2 " + _("minutes")),
+@@ -56,7 +56,11 @@
+
+ config.usage.blinking_display_clock_during_recording = ConfigYesNo(default = False)
+ config.usage.load_length_of_movies_in_moviellist = ConfigYesNo(default = True)
+-
++
++ def EnableTtCachingChanged(configElement):
++ setEnableTtCachingOnOff(int(configElement.value))
++ config.usage.enable_tt_caching.addNotifier(EnableTtCachingChanged)
++
+ def TunerTypePriorityOrderChanged(configElement):
+ setTunerTypePriorityOrder(int(configElement.value))
+ config.usage.alternatives_priority.addNotifier(TunerTypePriorityOrderChanged)
+Index: enigma2/lib/python/enigma_python.i
+===================================================================
+--- enigma2/lib/python/enigma_python.i (revision 5639)
++++ enigma2/lib/python/enigma_python.i (working copy)
+@@ -87,6 +87,7 @@
+ #include <lib/dvb/pmt.h>
+ #include <lib/components/scan.h>
+ #include <lib/components/file_eraser.h>
++#include <lib/components/tuxtxtapp.h>
+ #include <lib/driver/avswitch.h>
+ #include <lib/driver/rfmod.h>
+ #include <lib/driver/misc_options.h>
+@@ -160,6 +161,9 @@
+ %immutable eAVSwitch::vcr_sb_notifier;
+ %immutable ePythonMessagePump::recv_msg;
+ %immutable eDVBLocalTimeHandler::m_timeUpdated;
++%immutable eTuxtxtApp::appClosed;
++%immutable eTuxtxtApp::dataAvail;
++%immutable eTuxtxtApp::dataSent;
+ %include <lib/base/message.h>
+ %include <lib/base/console.h>
+ %include <lib/base/nconfig.h>
+@@ -205,6 +209,7 @@
+ %include <lib/dvb/pmt.h>
+ %include <lib/components/scan.h>
+ %include <lib/components/file_eraser.h>
++%include <lib/components/tuxtxtapp.h>
+ %include <lib/driver/avswitch.h>
+ %include <lib/driver/rfmod.h>
+ %include <lib/driver/misc_options.h>
+@@ -309,6 +314,15 @@
+ }
+ %}
+
++void setEnableTtCachingOnOff(int);
++%{
++void setEnableTtCachingOnOff(int onoff)
++{
++ eTuxtxtApp *tt = eTuxtxtApp::getInstance();
++ if (tt) tt->setEnableTtCachingOnOff(onoff);
++}
++%}
++
+ /************** temp *****************/
+
+ /* need a better place for this, i agree. */
+Index: enigma2/lib/components/Makefile.am
+===================================================================
+--- enigma2/lib/components/Makefile.am (revision 5639)
++++ enigma2/lib/components/Makefile.am (working copy)
+@@ -3,4 +3,4 @@
+
+ noinst_LIBRARIES = libenigma_components.a
+
+-libenigma_components_a_SOURCES = scan.cpp file_eraser.cpp
++libenigma_components_a_SOURCES = scan.cpp file_eraser.cpp tuxtxtapp.cpp
+Index: enigma2/lib/dvb/decoder.cpp
+===================================================================
+--- enigma2/lib/dvb/decoder.cpp (revision 5639)
++++ enigma2/lib/dvb/decoder.cpp (working copy)
+@@ -1,6 +1,7 @@
+ #include <lib/base/ebase.h>
+ #include <lib/base/eerror.h>
+ #include <lib/dvb/decoder.h>
++#include <lib/components/tuxtxtapp.h>
+ #if HAVE_DVB_API_VERSION < 3
+ #define audioStatus audio_status
+ #define videoStatus video_status
+@@ -880,14 +881,24 @@
+ if (m_changed & changeText)
+ {
+ if (m_text)
++ {
+ m_text->stop();
++ if ( m_decoder == 0 ) // Tuxtxt caching actions only on primary decoder
++ eTuxtxtApp::getInstance()->stopCaching();
++ }
+ m_text = 0;
+ if ((m_textpid >= 0) && (m_textpid < 0x1FFF) && !nott)
+ {
+ m_text = new eDVBTText(m_demux);
+ if (m_text->startPid(m_textpid))
+ res = -1;
++
++ if ( m_decoder == 0 ) // Tuxtxt caching actions only on primary decoder
++ eTuxtxtApp::getInstance()->startCaching(m_textpid);
+ }
++ else if ( m_decoder == 0 ) // Tuxtxt caching actions only on primary decoder
++ eTuxtxtApp::getInstance()->resetPid();
++
+ m_changed &= ~changeText;
+ }
+ #endif
+@@ -938,10 +949,16 @@
+ demux->connectEvent(slot(*this, &eTSMPEGDecoder::demux_event), m_demux_event_conn);
+ CONNECT(m_showSinglePicTimer.timeout, eTSMPEGDecoder::finishShowSinglePic);
+ m_is_ff = m_is_sm = m_is_trickmode = 0;
++
++ if ( m_decoder == 0 ) // Tuxtxt caching actions only on primary decoder
++ eTuxtxtApp::getInstance()->initCache();
+ }
+
+ eTSMPEGDecoder::~eTSMPEGDecoder()
+ {
++ if ( m_decoder == 0 ) // Tuxtxt caching actions only on primary decoder
++ eTuxtxtApp::getInstance()->freeCache();
++
+ finishShowSinglePic();
+ m_vpid = m_apid = m_pcrpid = m_textpid = pidNone;
+ m_changed = -1;
+Index: data/setup.xml
+===================================================================
+RCS file: /cvs/enigma2/data/setup.xml,v
+retrieving revision 1.48
+diff -u -r1.48 setup.xml
+--- enigma2/data/setup.xml 5 Oct 2008 22:37:19 -0000 1.48
++++ enigma2/data/setup.xml 21 Oct 2008 22:54:10 -0000
+@@ -23,6 +23,7 @@
+ <item level="0" text="Margin after record">config.recording.margin_after</item>
+ <item level="0" text="Show blinking clock in display during recording">config.usage.blinking_display_clock_during_recording</item>
+ <item level="2" text="Load Length of Movies in Movielist">config.usage.load_length_of_movies_in_moviellist</item>
++ <item level="1" text="Enable teletext caching">config.usage.enable_tt_caching</item>
+ <item level="1" text="Show positioner movement">config.usage.showdish</item>
+ <item level="1" text="Enable multiple bouquets">config.usage.multibouquet</item>
+ <item level="1" text="Change bouquets in quickzap">config.usage.quickzap_bouquet_change</item>
+Index: enigma2/main/Makefile.am
+===================================================================
+--- enigma2/main/Makefile.am (revision 5639)
++++ enigma2/main/Makefile.am (working copy)
+@@ -52,7 +52,7 @@
+ @LIBUNGIF_LIBS@ \
+ @XML2_LIBS@ \
+ @XMLCCWRAP_LIBS@ \
+- -ldl -lpthread -lcrypt -lresolv -lrt
++ -ldl -lpthread -lcrypt -lresolv -lrt -ltuxtxt32bpp
+
+ enigma2$(EXEEXT): $(enigma2_OBJECTS) $(enigma2_DEPENDENCIES) $(enigma2_LDADD_WHOLE)
+ # @rm -f enigma2$(EXEEXT)
+--- enigma2_orig/lib/components/tuxtxtapp.cpp 1970-01-01 00:00:00.000000000 +0000
++++ enigma2/lib/components/tuxtxtapp.cpp 2008-10-04 18:26:04.000000000 +0200
+@@ -0,0 +1,112 @@
++#include <lib/components/tuxtxtapp.h>
++#include <lib/base/init.h>
++#include <lib/base/init_num.h>
++#include <lib/driver/rc.h>
++#include <lib/gdi/lcd.h>
++#include <lib/gdi/fb.h>
++
++extern "C" int tuxtxt_run_ui(int pid);
++extern "C" int tuxtxt_init();
++extern "C" void tuxtxt_start(int tpid);
++extern "C" int tuxtxt_stop();
++extern "C" void tuxtxt_close();
++
++eAutoInitP0<eTuxtxtApp> init_eTuxtxtApp(eAutoInitNumbers::lowlevel, "Tuxtxt");
++eTuxtxtApp *eTuxtxtApp::instance;
++
++eTuxtxtApp::eTuxtxtApp() : pid(0), enableTtCaching(false), uiRunning(false)
++{
++ pthread_mutex_init( &cacheChangeLock, 0 );
++ if (!instance)
++ instance=this;
++}
++
++eTuxtxtApp::~eTuxtxtApp()
++{
++ if (instance==this)
++ instance=0;
++ kill();
++ pthread_mutex_destroy( &cacheChangeLock );
++}
++
++int eTuxtxtApp::startUi()
++{
++ if (pid)
++ {
++ pthread_mutex_lock( &cacheChangeLock );
++ uiRunning = true;
++ pthread_mutex_unlock( &cacheChangeLock );
++ eDBoxLCD::getInstance()->lock();
++ eRCInput::getInstance()->lock();
++ fbClass::getInstance()->lock();
++ run();
++ }
++ return 0;
++}
++
++void eTuxtxtApp::thread()
++{
++ hasStarted();
++ tuxtxt_run_ui(pid);
++}
++
++void eTuxtxtApp::thread_finished()
++{
++ uiRunning = false;
++ fbClass::getInstance()->unlock();
++ eRCInput::getInstance()->unlock();
++ eDBoxLCD::getInstance()->unlock();
++}
++
++void eTuxtxtApp::initCache()
++{
++ if (enableTtCaching)
++ tuxtxt_init();
++}
++
++void eTuxtxtApp::freeCache()
++{
++ pthread_mutex_lock( &cacheChangeLock );
++ if ( !uiRunning )
++ {
++ tuxtxt_close();
++ pid = 0;
++ }
++ pthread_mutex_unlock( &cacheChangeLock );
++}
++
++void eTuxtxtApp::startCaching( int tpid )
++{
++ pid = tpid;
++ if (enableTtCaching)
++ tuxtxt_start(tpid);
++}
++
++void eTuxtxtApp::stopCaching()
++{
++ pthread_mutex_lock( &cacheChangeLock );
++ if ( !uiRunning )
++ tuxtxt_stop();
++
++ pthread_mutex_unlock( &cacheChangeLock );
++}
++
++void eTuxtxtApp::setEnableTtCachingOnOff( int onoff )
++{
++ if (onoff && !enableTtCaching) // Switch caching on
++ {
++ enableTtCaching = true;
++ if (pid)
++ {
++ initCache();
++ startCaching(pid);
++ }
++ }
++ else if (!onoff && enableTtCaching) // Switch caching off
++ {
++ enableTtCaching = false;
++ int savePid = pid;
++ freeCache();
++ pid = savePid;
++ }
++}
+--- enigma2_orig/lib/components/tuxtxtapp.h 1970-01-01 00:00:00.000000000 +0000
++++ enigma2/lib/components/tuxtxtapp.h 2008-10-04 18:26:04.000000000 +0200
+@@ -0,0 +1,32 @@
++#ifndef __LIB_COMPONENTS_TUXTXTAPP_H__
++#define __LIB_COMPONENTS_TUXTXTAPP_H__
++
++#include <string>
++#include <lib/base/ebase.h>
++#include <lib/base/thread.h>
++
++class eTuxtxtApp: private eThread, public Object
++{
++#ifndef SWIG
++ int pid;
++ bool enableTtCaching, uiRunning;
++ static eTuxtxtApp *instance;
++ pthread_mutex_t cacheChangeLock;
++
++ void thread();
++ void thread_finished();
++#endif
++public:
++ eTuxtxtApp();
++ ~eTuxtxtApp();
++ static eTuxtxtApp *getInstance() { return instance; }
++ int startUi();
++ void initCache();
++ void freeCache();
++ void startCaching( int tpid );
++ void stopCaching();
++ void resetPid() { pid = 0; }
++ void setEnableTtCachingOnOff( int onoff );
++};
++
++#endif // __LIB_COMPONENTS_TUXTXTAPP_H__
--- /dev/null
+DESCRIPTION = "Fake locale support"
+SECTION = "base"
+PRIORITY = "required"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+PR = "r1"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/opendreambox/fakelocale.tar.gz file://locale.alias"
+
+S = "${WORKDIR}/fakelocale"
+
+LOCALEDIR = "${libdir}/locale"
+LOCALEDIR2 = "/usr/share/locale"
+
+LANGUAGES = "ar_AE cs_CZ da_DK de_DE el_GR es_ES et_EE fi_FI fr_FR hr_HR \
+ hu_HU is_IS it_IT lt_LT nl_NL no_NO pl_PL pt_PT ro_RO ru_RU sk_SK sl_SI \
+ sr_YU sv_SE tr_TR ur_IN"
+
+RPROVIDES = "virtual-locale-ar virtual-locale-cs virtual-locale-da \
+ virtual-locale-de virtual-locale-el virtual-locale-es virtual-locale-et \
+ virtual-locale-fi virtual-locale-fr virtual-locale-hr virtual-locale-hu \
+ virtual-locale-is virtual-locale-it virtual-locale-lt virtual-locale-nl \
+ virtual-locale-no virtual-locale-pl virtual-locale-pt virtual-locale-ro \
+ virtual-locale-ru virtual-locale-sk virtual-locale-sl virtual-locale-sr \
+ virtual-locale-sv virtual-locale-tr virtual-locale-ur"
+
+LOCALE_FILES = " LC_TIME LC_TELEPHONE LC_PAPER LC_NUMERIC LC_NAME LC_MONETARY LC_MESSAGES/SYS_LC_MESSAGES LC_MEASUREMENT \
+ LC_IDENTIFICATION LC_CTYPE LC_COLLATE LC_ADDRESS"
+
+do_install() {
+ install -d ${D}${LOCALEDIR}/fake/LC_MESSAGES
+ install -d ${D}${LOCALEDIR2}
+
+ for x in ${LOCALE_FILES}; do
+ install ${S}/$x ${D}${LOCALEDIR}/fake/$x
+ done
+
+ for lang in ${LANGUAGES}; do
+ ln -s fake ${D}${LOCALEDIR}/${lang}
+ done
+
+ install ${WORKDIR}/locale.alias ${D}${LOCALEDIR2}
+}
+
+FILES_${PN} = "${LOCALEDIR} ${LOCALEDIR2}"
--- /dev/null
+English C
+Arabic ar_AE
+Czech cs_CZ
+Danish da_DK
+Deutsch de_DE
+Ellinika el_GR
+Spanish es_ES
+Estonian et_EE
+Suomi fi_FI
+French fr_FR
+Croatia hr_HR
+Hungarian hu_HU
+Icelandic is_IS
+Italian it_IT
+Lithuanian lt_LT
+Dutch nl_NL
+Norwegian no_NO
+Polish pl_PL
+Portugues pt_PT
+Romania ro_RO
+Russian ru_RU
+Slovakian sk_SK
+Slovenian sl_SI
+Serbian sr_YU
+Svenska sv_SE
+Turkish tr_TR
+Urdu ur_IN
\ No newline at end of file
--- /dev/null
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- freetype-2.0.9/builds/unix/install.mk 2004-11-11 20:18:08.000000000 +0100
++++ freetype-2.0.9/builds/unix/install.mk 2004-11-11 20:17:32.000000000 +0100
+@@ -17,42 +17,42 @@
+
+ # Unix installation and deinstallation targets.
+ install: $(PROJECT_LIBRARY)
+- $(MKINSTALLDIRS) $(libdir) \
+- $(includedir)/freetype2/freetype/config \
+- $(includedir)/freetype2/freetype/internal \
+- $(includedir)/freetype2/freetype/cache \
+- $(bindir)
+- $(LIBTOOL) --mode=install $(INSTALL) $(PROJECT_LIBRARY) $(libdir)
++ $(MKINSTALLDIRS) $(DESTDIR)$(libdir) \
++ $(DESTDIR)$(includedir)/freetype2/freetype/config \
++ $(DESTDIR)$(includedir)/freetype2/freetype/internal \
++ $(DESTDIR)$(includedir)/freetype2/freetype/cache \
++ $(DESTDIR)$(bindir)
++ $(LIBTOOL) --mode=install $(INSTALL) $(PROJECT_LIBRARY) $(DESTDIR)$(libdir)
+ -for P in $(PUBLIC_H) ; do \
+- $(INSTALL_DATA) $$P $(includedir)/freetype2/freetype ; \
++ $(INSTALL_DATA) $$P $(DESTDIR)$(includedir)/freetype2/freetype ; \
+ done
+ -for P in $(BASE_H) ; do \
+- $(INSTALL_DATA) $$P $(includedir)/freetype2/freetype/internal ; \
++ $(INSTALL_DATA) $$P $(DESTDIR)$(includedir)/freetype2/freetype/internal ; \
+ done
+ -for P in $(CONFIG_H) ; do \
+- $(INSTALL_DATA) $$P $(includedir)/freetype2/freetype/config ; \
++ $(INSTALL_DATA) $$P $(DESTDIR)$(includedir)/freetype2/freetype/config ; \
+ done
+ -for P in $(CACHE_H) ; do \
+- $(INSTALL_DATA) $$P $(includedir)/freetype2/freetype/cache ; \
++ $(INSTALL_DATA) $$P $(DESTDIR)$(includedir)/freetype2/freetype/cache ; \
+ done
+- $(INSTALL_DATA) $(BUILD)/ft2unix.h $(includedir)/ft2build.h
++ $(INSTALL_DATA) $(BUILD)/ft2unix.h $(DESTDIR)$(includedir)/ft2build.h
+ $(INSTALL_SCRIPT) -m 755 $(BUILD)/freetype-config \
+- $(bindir)/freetype-config
++ $(DESTDIR)$(bindir)/freetype-config
+
+
+ uninstall:
+- -$(LIBTOOL) --mode=uninstall $(RM) $(libdir)/$(LIBRARY).$A
+- -$(DELETE) $(includedir)/freetype2/freetype/cache/*
+- -$(DELDIR) $(includedir)/freetype2/freetype/cache
+- -$(DELETE) $(includedir)/freetype2/freetype/config/*
+- -$(DELDIR) $(includedir)/freetype2/freetype/config
+- -$(DELETE) $(includedir)/freetype2/freetype/internal/*
+- -$(DELDIR) $(includedir)/freetype2/freetype/internal
+- -$(DELETE) $(includedir)/freetype2/freetype/*
+- -$(DELDIR) $(includedir)/freetype2/freetype
+- -$(DELDIR) $(includedir)/freetype2
+- -$(DELETE) $(includedir)/ft2build.h
+- -$(DELETE) $(bindir)/freetype-config
++ -$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(libdir)/$(LIBRARY).$A
++ -$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/cache/*
++ -$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype/cache
++ -$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/config/*
++ -$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype/config
++ -$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/internal/*
++ -$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype/internal
++ -$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/*
++ -$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype
++ -$(DELDIR) $(DESTDIR)$(includedir)/freetype2
++ -$(DELETE) $(DESTDIR)$(includedir)/ft2build.h
++ -$(DELETE) $(DESTDIR)$(bindir)/freetype-config
+
+
+ .PHONY: clean_project_unix distclean_project_unix
--- /dev/null
+SECTION = "libs"
+LICENSE = "freetype"
+DESCRIPTION = "Freetype font rendering library"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/freetype/freetype-${PV}.tar.bz2 \
+ file://install.mk.patch;patch=1"
+
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev += " ${bindir}"
+
+inherit autotools pkgconfig
+
+LIBTOOL = "${S}/builds/unix/${HOST_SYS}-libtool"
+EXTRA_OEMAKE = "'LIBTOOL=${LIBTOOL}'"
+
+do_configure () {
+ cd builds/unix
+ libtoolize --force
+ gnu-configize
+ aclocal -I .
+ autoconf
+ cd ${S}
+ oe_runconf
+}
+
+do_stage () {
+ oe_libinstall -so -a -C objs libfreetype ${STAGING_LIBDIR}
+
+ cp -a ${S}/include/*.h ${STAGING_INCDIR}
+ install -d ${STAGING_INCDIR}/freetype2
+ cp -a ${S}/include/freetype ${STAGING_INCDIR}/freetype2/
+
+ sed -e 's,${prefix},${STAGING_LIBDIR}/..,' < builds/unix/freetype-config > ${STAGING_BINDIR}/freetype-config
+ chmod u+x ${STAGING_BINDIR}/freetype-config
+}
--- /dev/null
+DESCRIPTION = "Plugin for gstreamer: dvbmediasink"
+SECTION = "multimedia"
+PRIORITY = "optional"
+MAINTAINER = "Felix Domke <tmbinc@openembedded.org>"
+DEPENDS = "gstreamer"
+PV = "0.10+${SRCDATE}"
+PR = "r0"
+
+inherit autotools pkgconfig
+
+SRCDATE = "20081005"
+
+SRC_URI = "cvs://anonymous@cvs.schwerkraft.elitedvb.net/cvsroot/dvbmediasink;module=dvbmediasink;method=pserver"
+
+S = "${WORKDIR}/dvbmediasink"
+
+FILES_${PN} = "${libdir}/gstreamer-0.10/*.so*"
+
+do_stage() {
+ autotools_stage_all
+}
--- /dev/null
+DESCRIPTION = "Plugin for gstreamer: fluendo-mpegdemux"
+SECTION = "multimedia"
+PRIORITY = "optional"
+MAINTAINER = "Felix Domke <tmbinc@openembedded.org>"
+DEPENDS = "gstreamer"
+PR = "r0"
+
+inherit autotools pkgconfig
+
+SRC_URI = "http://core.fluendo.com/gstreamer/src/gst-fluendo-mpegdemux/gst-fluendo-mpegdemux-${PV}.tar.gz"
+S = "${WORKDIR}/gst-fluendo-mpegdemux-${PV}"
+
+FILES_${PN} = "${libdir}/gstreamer-0.10/*.so*"
+
+acpaths = "-I ${S}/common/m4 -I ${S}/m4"
+
+do_stage() {
+ autotools_stage_all
+}
SRC_URI += "file://vorbisenc.h file://vorbisdec.h \
file://gst-plugins-directfb-fix.patch;patch=1;pnum=2 \
file://ivorbis-thumb.patch;patch=1"
-DEPENDS += "gst-plugins-base directfb"
+DEPENDS += "gst-plugins-base"
do_compile_prepend() {
# work around missing files in upstream tarball (upstream bug #454078)
--- /dev/null
+require gst-plugins.inc
+
+SRC_URI += "file://gst-plugins-directfb-fix.patch;patch=1;pnum=2"
+DEPENDS += "gst-plugins-base"
# if alsa has been built and is present. You will
# not get an error if this is not present, just
# a missing alsa plugin
-DEPENDS += "alsa-lib libsm virtual/libx11 freetype gnome-vfs libxv"
+DEPENDS += "alsa-lib freetype"
PR = "r4"
--- /dev/null
+require gst-plugins.inc
+
+PROVIDES += "gst-plugins"
+
+# gst-plugins-base only builds the alsa plugin
+# if alsa has been built and is present. You will
+# not get an error if this is not present, just
+# a missing alsa plugin
+DEPENDS += "alsa-lib"
+
+PR = "r0"
+
--- /dev/null
+require gst-plugins.inc
+PR = "r0"
+
+EXTRA_OECONF += "--with-check=no"
+DEPENDS += "gst-plugins-base"
require gst-plugins.inc
PR = "r2"
-inherit gconf
+#inherit gconf
EXTRA_OECONF += "--with-check=no"
-DEPENDS += "gst-plugins-base esound"
+DEPENDS += "gst-plugins-base"
-PACKAGES =+ "gst-plugin-gconfelements"
-FILES_gst-plugin-gconfelements += "${sysconfdir}/gconf"
+#PACKAGES =+ "gst-plugin-gconfelements"
+#FILES_gst-plugin-gconfelements += "${sysconfdir}/gconf"
require gst-plugins.inc
PR = "r0"
+DEPENDS += "gst-plugins-base libsidplay"
EXTRA_OECONF_append_openmoko = "--disable-mad"
-DEPENDS += "gst-plugins-base mpeg2dec libsidplay"
-
SRC_URI += "\
# file://cross-compile.patch;patch=1 \
file://gstmad_16bit.patch;patch=1 \
--- /dev/null
+require gst-plugins.inc
+PR = "r0"
+
+DEPENDS += "gst-plugins-base ${@get_depends(bb, d)}"
+SRC_URI += "${@get_src_uri(bb, d)}"
+
+def get_src_uri(bb, d):
+ if bb.data.getVar('DISTRO', d, 1) in [ 'opendreambox' ]:
+ return ""
+ return "file://gstmad_16bit.patch;patch=1 " \
+ "file://gstsid_autofoo_HACK.patch;patch=1"
+
+def get_depends(bb, d):
+ if bb.data.getVar('DISTRO', d, 1) in [ 'opendreambox' ]:
+ return ""
+ return "libsidplay"
--- /dev/null
+DEPENDS = "gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad"
+PACKAGES_DYNAMIC = "gst-plugin-*"
DESCRIPTION = "Plugins for GStreamer"
DEPENDS = "gstreamer libmikmod liboil libogg tremor libvorbis libid3tag"
DEPENDS += "${@base_conditional('DISTRO', 'openmoko', '', 'libmad', d)}"
+DEPENDS += "${@base_conditional('DISTRO', 'openmoko', '', 'libmad neon flac libmatroska"
PACKAGES_DYNAMIC = "gst-plugin-*"
SRC_URI = "http://gstreamer.freedesktop.org/src/${PN}/${PN}-${PV}.tar.bz2"
EXTRA_OECONF = "--disable-aalib --disable-shout2 --disable-sdl --disable-cdaudio --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR} "
+EXTRA_OECONF_opendreambox = "--disable-x --disable-aalib --disable-esd --disable-shout2 --disable-sdl --with-check=no --enable-neon"
acpaths = "-I ${S}/common/m4 -I ${S}/m4"
--- /dev/null
+require gstreamer.inc
+
+PR = "r0"
+
+SRC_URI += "file://po-makefile-fix.patch;patch=1"
+
--- /dev/null
+SECTION = "console/utils"
+DESCRIPTION = "hddtemp is a small utility that gives you the temperature of your hard drive by reading S.M.A.R.T. informations"
+LICENSE = "GPL"
+
+SRC_URI = "http://www.guzu.net/files/hddtemp-${PV}.tar.bz2 \
+ http://www.guzu.net/linux/hddtemp.db"
+
+S = "${WORKDIR}/hddtemp-${PV}"
+
+FILES_${PN} += "/usr/share/misc/hddtemp.db"
+
+inherit autotools
+
+do_install_append() {
+ install -d ${D}/usr/share/misc
+ install -m 0644 ${WORKDIR}/hddtemp.db ${D}/usr/share/misc
+}
--- /dev/null
+DESCRIPTION = "This collection of code replaces the existing linux-hotplug \
+package with very tiny, compiled executable programs, instead of the \
+existing bash scripts."
+LICENSE = "GPL"
+RPROVIDES_${PN} = "hotplug"
+RCONFLICTS_${PN} = "hotplug"
+RREPLACES_${PN} = "hotplug"
+
+SRC_URI = "svn://svn.schwerkraft.elitedvb.net/svnroot;module=hotplug-ng"
+SRCDATE = "20080527"
+PV = "2.0cvs${SRCDATE}"
+
+S = "${WORKDIR}/hotplug-ng/trunk"
+
+LD = "${CC}"
+export HOSTCC = "${BUILD_CC}"
+CFLAGS = " -I${S}/libsysfs/sysfs"
+# Stripping should be done when _packaging_, not building
+EXTRA_OEMAKE += "'STRIP=/bin/true'"
+
+export etcdir = "${sysconfdir}"
+export sbindir = "${base_sbindir}"
+export bindir = "${base_bindir}"
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
--- /dev/null
+export IMAGE_BASENAME = "dreambox-image"
+
+OPENDREAMBOX_COMMON = "task-boot \
+ ipkg opkg-nogpg dropbear \
+ ncurses joe mc vsftpd timezones-alternative \
+ netkit-base fakelocale less dreambox-bootlogo \
+ dreambox-dccamd dreambox-keymaps tuxbox-image-info dvbsnoop \
+ dreambox-compat tuxbox-common mrouted smartmontools hddtemp \
+ hotplug-ng autofs gdbserver dreambox-feed-configs"
+
+OPENDREAMBOX_COMMON_D = "util-linux e2fsprogs \
+ ppp module-init-tools"
+
+OPENDREAMBOX_COMMON_R = "util-linux-sfdisk util-linux-fdisk e2fsprogs-mke2fs \
+ e2fsprogs-e2fsck ppp module-init-tools-depmod \
+ base-files-doc"
+
+# experimental packages
+OPENDREAMBOX_EXPERIMENTAL = "python-twisted enigma2"
+OPENDREAMBOX_EXPERIMENTAL_R = "enigma2-plugin-systemplugins-frontprocessorupgrade \
+ enigma2-plugin-systemplugins-softwareupdate \
+ enigma2-plugin-systemplugins-positionersetup \
+ enigma2-plugin-extensions-cutlisteditor \
+ enigma2-plugin-systemplugins-configurationbackup \
+ enigma2-plugin-systemplugins-satfinder \
+ enigma2-plugin-systemplugins-videotune \
+ enigma2-plugin-extensions-mediascanner \
+ enigma2-plugin-extensions-graphmultiepg \
+ enigma2-plugin-systemplugins-skinselector \
+ enigma2-plugin-extensions-pictureplayer \
+ enigma2-plugin-extensions-mediaplayer \
+ enigma2-plugin-systemplugins-hotplug \
+ enigma2-streamproxy \
+ python-twisted-web python-twisted python-crypt python-pycrypto \
+ python-netserver python-pickle dreambox-blindscan-utils"
+
+# enigma2-plugin-extensions-webinterface is disabled until we fixed it to use twisted-web instead of twisted-web2
+
+#this packages dont exist with enigma2, enigma2-plugins 2.4
+OPENDREAMBOX_EXPERIMENTAL_R_append_dm8000 = " \
+ enigma2-plugin-systemplugins-defaultservicesscanner \
+ enigma2-defaultservices \
+ enigma2-plugin-systemplugins-networkwizard"
+
+# legacy tuxbox stuff (enigma, plugins, ...)
+OPENDREAMBOX_TUXBOX = "enigma ipkgpl"
+OPENDREAMBOX_TUXBOX_D = "tuxbox-plugins tuxbox-plugins-enigma links-dream"
+OPENDREAMBOX_TUXBOX_R = " \
+ tuxbox-plugin-snake tuxbox-plugin-tuxmail \
+ tuxbox-plugin-lcdcirc tuxbox-plugin-soko tuxbox-plugin-tuxtxt \
+ tuxbox-plugin-sol tuxbox-plugin-vierg tuxbox-plugin-master \
+ tuxbox-plugin-solitair tuxbox-plugin-yahtzee tuxbox-plugin-mines \
+ tuxbox-plugin-tank tuxbox-plugin-pacman tuxbox-plugin-tetris \
+ tuxbox-plugin-satfind tuxbox-plugin-tuxcom links-dream-plugin \
+ links-dream-plugin enigma-plugin-dreamdata"
+
+OPENDREAMBOX_TUXBOX_R_dm600pvr = " \
+ tuxbox-plugin-snake tuxbox-plugin-tuxmail \
+ tuxbox-plugin-soko tuxbox-plugin-tuxtxt \
+ tuxbox-plugin-sol tuxbox-plugin-vierg tuxbox-plugin-master \
+ tuxbox-plugin-solitair tuxbox-plugin-yahtzee tuxbox-plugin-mines \
+ tuxbox-plugin-tank tuxbox-plugin-pacman tuxbox-plugin-tetris \
+ tuxbox-plugin-tuxcom links-dream-plugin enigma-blindscan"
+
+OPENDREAMBOX_TUXBOX_R_dm500plus = " \
+ tuxbox-plugin-snake tuxbox-plugin-tuxmail \
+ tuxbox-plugin-soko tuxbox-plugin-tuxtxt \
+ tuxbox-plugin-sol tuxbox-plugin-vierg tuxbox-plugin-master \
+ tuxbox-plugin-solitair tuxbox-plugin-yahtzee tuxbox-plugin-mines \
+ tuxbox-plugin-tank tuxbox-plugin-pacman tuxbox-plugin-tetris \
+ tuxbox-plugin-tuxcom links-dream-plugin enigma-blindscan"
+
+# dvb api specific stuff
+OPENDREAMBOX_V2_ONLY = "dreambox-dvb-tools tuxbox-stream"
+OPENDREAMBOX_V3_ONLY = "dreambox-dvb-tools-v3 sctzap dvbtraffic"
+
+# enigma languages
+# disabled: enigma-locale-ar enigma-locale-sr enigma-locale-ur
+ENIGMA_LANGUAGE = "enigma-locale-cs enigma-locale-da \
+ enigma-locale-de enigma-locale-el enigma-locale-es enigma-locale-et \
+ enigma-locale-fi enigma-locale-fr enigma-locale-hr enigma-locale-hu \
+ enigma-locale-is enigma-locale-it enigma-locale-lt enigma-locale-nl \
+ enigma-locale-no enigma-locale-pl enigma-locale-pt enigma-locale-ro \
+ enigma-locale-ru enigma-locale-sk enigma-locale-sl \
+ enigma-locale-sv enigma-locale-tr"
+
+OPENDREAMBOX_TUXBOX_R += " ${ENIGMA_LANGUAGE}"
+OPENDREAMBOX_TUXBOX_R_dm600pvr += " ${ENIGMA_LANGUAGE}"
+OPENDREAMBOX_TUXBOX_R_dm500plus += " ${ENIGMA_LANGUAGE}"
+
+MODEM_SUPPORT = "enigma-modem"
+MODEM_SUPPORT_R = "kernel-module-crc-ccitt kernel-module-ppp-async \
+ kernel-module-ppp-generic \
+ kernel-module-slhc update-modules"
+
+WLAN_SUPPORT = "wireless-tools wlan-rt73 zd1211b wpa-supplicant"
+WLAN_SUPPORT_R = "enigma2-plugin-systemplugins-wirelesslan"
+
+WLAN_MADWIFI = "madwifi-ng"
+WLAN_MADWIFI_R = "madwifi-ng-modules madwifi-ng-tools"
+
+DVDPLAYER_SUPPORT_R = "enigma2-plugin-extensions-dvdplayer"
+
+# now machine specific:
+OPENDREAMBOX_COMMON_MACHINE_dm600pvr += "${OPENDREAMBOX_V2_ONLY} ${OPENDREAMBOX_TUXBOX} ${MODEM_SUPPORT}"
+OPENDREAMBOX_COMMON_MACHINE_R_dm600pvr += "${OPENDREAMBOX_TUXBOX_R} ${MODEM_SUPPORT_R} dreambox-blindscan-utils"
+OPENDREAMBOX_COMMON_MACHINE_D_dm600pvr += "${OPENDREAMBOX_TUXBOX_D}"
+
+OPENDREAMBOX_COMMON_MACHINE_dm500plus += "${OPENDREAMBOX_V2_ONLY} ${OPENDREAMBOX_TUXBOX} ${MODEM_SUPPORT}"
+OPENDREAMBOX_COMMON_MACHINE_R_dm500plus += "${OPENDREAMBOX_TUXBOX_R} ${MODEM_SUPPORT_R} dreambox-blindscan-utils"
+OPENDREAMBOX_COMMON_MACHINE_D_dm500plus += "${OPENDREAMBOX_TUXBOX_D}"
+
+OPENDREAMBOX_COMMON_MACHINE_dm7020 += "${OPENDREAMBOX_V2_ONLY} ${OPENDREAMBOX_TUXBOX} ${MODEM_SUPPORT}"
+OPENDREAMBOX_COMMON_MACHINE_R_dm7020 += "${OPENDREAMBOX_TUXBOX_R} ${MODEM_SUPPORT_R}"
+OPENDREAMBOX_COMMON_MACHINE_D_dm7020 += "${OPENDREAMBOX_TUXBOX_D}"
+
+OPENDREAMBOX_COMMON_MACHINE_dm7025 += "${OPENDREAMBOX_V3_ONLY} ${OPENDREAMBOX_EXPERIMENTAL} ${WLAN_SUPPORT}"
+OPENDREAMBOX_COMMON_MACHINE_R_dm7025 += "${OPENDREAMBOX_EXPERIMENTAL_R} ${WLAN_SUPPORT_R}"
+OPENDREAMBOX_COMMON_MACHINE_D_dm7025 += ""
+
+OPENDREAMBOX_COMMON_MACHINE_dm800 += "${OPENDREAMBOX_V3_ONLY} ${OPENDREAMBOX_EXPERIMENTAL} ${WLAN_SUPPORT}"
+OPENDREAMBOX_COMMON_MACHINE_R_dm800 += "${OPENDREAMBOX_EXPERIMENTAL_R} ${WLAN_SUPPORT_R} enigma2-plugin-systemplugins-videomode"
+OPENDREAMBOX_COMMON_MACHINE_D_dm800 += ""
+
+OPENDREAMBOX_COMMON_MACHINE_dm8000 += "${OPENDREAMBOX_V3_ONLY} ${OPENDREAMBOX_EXPERIMENTAL} ${WLAN_SUPPORT} ${WLAN_MADWIFI}"
+OPENDREAMBOX_COMMON_MACHINE_R_dm8000 += "${OPENDREAMBOX_EXPERIMENTAL_R} ${WLAN_SUPPORT_R} ${DVDPLAYER_SUPPORT_R} ${WLAN_MADWIFI_R} enigma2-plugin-systemplugins-videomode"
+OPENDREAMBOX_COMMON_MACHINE_D_dm8000 += ""
+
+# collect the stuff into OPENDREAMBOX_COMMON
+OPENDREAMBOX_COMMON += " ${OPENDREAMBOX_COMMON_MACHINE}"
+OPENDREAMBOX_COMMON_R += " ${OPENDREAMBOX_COMMON_MACHINE_R}"
+OPENDREAMBOX_COMMON_D += " ${OPENDREAMBOX_COMMON_MACHINE_D}"
+
+# add bootstrap stuff
+DEPENDS = "${OPENDREAMBOX_COMMON} ${OPENDREAMBOX_COMMON_D}"
+IMAGE_INSTALL = "${OPENDREAMBOX_COMMON} ${OPENDREAMBOX_COMMON_R}"
+
+# we don't want any locales, at least not in the common way.
+IMAGE_LINGUAS = " "
+
+inherit image
--- /dev/null
+modprobe lcd
+mount -t proc proc /proc
+mount -t sysfs sysfs /sys
+depmod -Ae
+swapon -a
+mount -at nonfs,nosmbfs,noncpfs 2>/dev/null
+tar xzf /etc/var.tar.gz -C /
+modprobe head
+modprobe dreambox_keyboard
+[ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe /boot/bootlogo.mvi || /usr/bin/showiframe /boot/bootlogo_wait.mvi
+hostname -F /etc/hostname
+/usr/bin/wdog /usr/bin/dccamd -
+ifup -a
+mount -at nfs,smbfs,cpfs 2>/dev/null
+[ -e "/etc/sysctl.conf" ] && /sbin/sysctl -p "/etc/sysctl.conf"
+ldconfig
+ln -s demux0 /dev/dvb/card0/demux1
+ln -s dvr0 /dev/dvb/card0/dvr1
+ln -s fb/0 /dev/fb0
--- /dev/null
+modprobe lcd
+mount -t proc proc /proc
+mount -t sysfs sysfs /sys
+depmod -Ae
+swapon -a
+mount -at nonfs,nosmbfs,noncpfs 2>/dev/null
+tar xzf /etc/var.tar.gz -C /
+# sleep after 10min
+hdparm -S120 /dev/ide/host0/bus0/target0/lun0/disc
+# CHECKME: mode to set, no UDMA on vulcan!
+# hdparm -X66 /dev/ide/host0/bus0/target0/lun0/disc
+# accustic management
+hdparm -M128 /dev/ide/host0/bus0/target0/lun0/disc
+modprobe head
+modprobe dreambox_keyboard
+[ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe /boot/bootlogo.mvi || /usr/bin/showiframe /boot/bootlogo_wait.mvi
+hostname -F /etc/hostname
+/usr/bin/wdog /usr/bin/dccamd -
+ifup -a
+mount -at nfs,smbfs,cpfs 2>/dev/null
+[ -e "/etc/sysctl.conf" ] && /sbin/sysctl -p "/etc/sysctl.conf"
+ldconfig
+ln -s demux0 /dev/dvb/card0/demux1
+ln -s dvr0 /dev/dvb/card0/dvr1
+ln -s fb/0 /dev/fb0
--- /dev/null
+modprobe lcd
+echo 4 > /proc/progress
+
+mount -t proc proc /proc
+echo 8 > /proc/progress
+
+mount -t sysfs sysfs /sys
+echo 12 > /proc/progress
+
+depmod -Ae
+echo 16 > /proc/progress
+
+swapon -a
+echo 20 > /proc/progress
+
+mount -at nonfs,nosmbfs,noncpfs 2>/dev/null
+echo 24 > /proc/progress
+
+tar xzf /etc/var.tar.gz -C /
+echo 28 > /proc/progress
+
+# sleep after 10min
+hdparm -S120 /dev/ide/host0/bus0/target0/lun0/disc
+echo 32 > /proc/progress
+# set UDMA66
+hdparm -X66 /dev/ide/host0/bus0/target0/lun0/disc
+echo 34 > /proc/progress
+# accustic management
+hdparm -M128 /dev/ide/host0/bus0/target0/lun0/disc
+
+echo 38 > /proc/progress
+modprobe head
+
+echo 42 > /proc/progress
+modprobe dreambox_keyboard
+
+echo 46 > /proc/progress
+modprobe fp
+
+echo 50 > /proc/progress
+modprobe rfmod
+
+echo 54 > /proc/progress
+[ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe
+
+echo 58 > /proc/progress
+/boot/bootlogo.mvi || /usr/bin/showiframe /boot/bootlogo_wait.mvi
+
+echo 62 > /proc/progress
+hostname -F /etc/hostname
+
+echo 66 > /proc/progress
+/usr/bin/wdog /usr/bin/dccamd -
+
+echo 70 > /proc/progress
+ifup -a
+
+echo 78 > /proc/progress
+mount -at nfs,smbfs,cpfs 2>/dev/null
+
+echo 82 > /proc/progress
+[ -e "/etc/sysctl.conf" ] && /sbin/sysctl -p "/etc/sysctl.conf"
+
+echo 86 > /proc/progress
+ldconfig
+
+echo 90 > /proc/progress
+
+echo 94 > /proc/progress
--- /dev/null
+modprobe lcd
+echo 4 > /proc/progress
+[ -e /dev/dbox/oled0 ] && ln -s /dev/dbox/oled0 /dev/dbox/lcd0
+
+mount -t proc proc /proc
+echo 8 > /proc/progress
+
+mount -t sysfs sysfs /sys
+echo 12 > /proc/progress
+
+depmod -Ae
+echo 16 > /proc/progress
+
+swapon -a
+echo 18 > /proc/progress
+
+for mod in cifs nfsd usb-storage sd autofs4 vfat; do
+ modprobe $mod 2> /dev/null ;
+done
+echo 22 > /proc/progress
+
+mount -at nonfs,nosmbfs,noncpfs 2>/dev/null
+echo 44 > /proc/progress
+
+tar xzf /etc/var.tar.gz -C /
+echo 28 > /proc/progress
+
+# sleep after 10min
+hdparm -S120 /dev/ide/host0/bus0/target0/lun0/disc
+echo 32 > /proc/progress
+# set UDMA66
+hdparm -X66 /dev/ide/host0/bus0/target0/lun0/disc
+echo 34 > /proc/progress
+# accustic management
+hdparm -M128 /dev/ide/host0/bus0/target0/lun0/disc
+
+echo 38 > /proc/progress
+modprobe xilleon
+
+echo 44 > /proc/progress
+for mod in dreambox_keyboard fp rt73 zd1211b rfmod info; do
+ modprobe $mod 2> /dev/null ;
+done
+
+echo 50 > /proc/progress
+automount --ghost --timeout=1 /autofs file /etc/auto.hotplug
+
+echo 54 > /proc/progress
+[ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe /boot/bootlogo.mvi || /usr/bin/showiframe /boot/bootlogo_wait.mvi
+
+echo 62 > /proc/progress
+hostname -F /etc/hostname
+
+echo 66 > /proc/progress
+/usr/bin/wdog /usr/bin/dccamd -
+
+echo 70 > /proc/progress
+ifup -a
+
+echo 78 > /proc/progress
+# network mounts should be done here.
+mount -at nfs,smbfs,cpfs 2>/dev/null
+
+echo 82 > /proc/progress
+[ -e "/etc/sysctl.conf" ] && /sbin/sysctl -p "/etc/sysctl.conf"
+
+echo 86 > /proc/progress
+ldconfig
+
+echo 90 > /proc/progress
+
+echo 94 > /proc/progress
--- /dev/null
+modprobe lcd
+echo 10 > /proc/progress
+[ -e /dev/dbox/oled0 ] && ln -s /dev/dbox/oled0 /dev/dbox/lcd0
+
+mount -t proc proc /proc
+echo 11 > /proc/progress
+
+mount -t sysfs sysfs /sys
+echo 12 > /proc/progress
+
+depmod -Ae
+echo 13 > /proc/progress
+
+swapon -a
+echo 14 > /proc/progress
+
+for mod in isofs cifs nfsd usb-storage sd autofs4 vfat ide-cd; do
+ modprobe $mod 2> /dev/null ;
+done
+
+mount -at nonfs,nosmbfs,noncpfs 2>/dev/null
+echo 15 > /proc/progress
+
+tar xzf /etc/var.tar.gz -C /
+echo 16 > /proc/progress
+
+# sleep after 10min
+hdparm -S 120 /dev/ide/host0/bus0/target0/lun0/disc || /bin/true;
+
+echo 17 > /proc/progress
+
+# set UDMA66, enable dma
+hdparm -d 1 /dev/ide/host0/bus0/target0/lun0/disc || /bin/true;
+hdparm -X66 /dev/ide/host0/bus0/target0/lun0/disc || /bin/true;
+
+# accustic management
+hdparm -M 128 /dev/ide/host0/bus0/target0/lun0/disc || /bin/true;
+
+echo 18 > /proc/progress
+for i in dreambox_keyboard fp info; do
+ modprobe $i;
+done
+
+echo 19 > /proc/progress
+
+cat /etc/videomode > /proc/stb/video/videomode
+
+echo 20 > /proc/progress
+
+for mod in rt73 zd1211b; do
+ modprobe $mod 2> /dev/null ;
+done
+
+echo 21 > /proc/progress
+
+automount --ghost --timeout=1 /autofs file /etc/auto.hotplug
+
+[ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe /boot/bootlogo.mvi || /usr/bin/showiframe /boot/bootlogo_wait.mvi
+
+hostname -F /etc/hostname
+
+echo 22 > /proc/progress
+/usr/bin/wdog /usr/bin/dccamd -
+
+echo 23 > /proc/progress
+ifup -a
+
+echo 24 > /proc/progress
+mount -at nfs,smbfs,cpfs 2>/dev/null
+
+[ -e "/etc/sysctl.conf" ] && /sbin/sysctl -p "/etc/sysctl.conf"
+
+echo 25 > /proc/progress
+
+ldconfig
+
+ipkg-cl configure
--- /dev/null
+#! /bin/sh
+#
+# halt Execute the halt command.
+#
+# Version: @(#)halt 2.84-2 07-Jan-2002 miquels@cistron.nl
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+# See if we need to cut the power.
+if test -x /etc/init.d/ups-monitor
+then
+ /etc/init.d/ups-monitor poweroff
+fi
+
+# Don't shut down drives if we're using RAID.
+hddown="-h"
+if grep -qs '^md.*active' /proc/mdstat
+then
+ hddown=""
+fi
+
+showiframe /usr/share/switchoff.mvi
+
+halt -d -f -i -p $hddown
+
+: exit 0
--- /dev/null
+echo 10 > /proc/progress
+[ -e /dev/dbox/oled0 ] && ln -s /dev/dbox/oled0 /dev/dbox/lcd0
+
+mount -t proc proc /proc
+echo 11 > /proc/progress
+
+mount -t sysfs sysfs /sys
+echo 12 > /proc/progress
+
+depmod -Ae
+echo 13 > /proc/progress
+
+swapon -a
+echo 14 > /proc/progress
+
+for mod in nfsd sd; do
+ modprobe $mod 2> /dev/null ;
+done
+
+mount -at nonfs,nosmbfs,noncpfs 2>/dev/null
+echo 15 > /proc/progress
+
+tar xzf /etc/var.tar.gz -C /
+echo 16 > /proc/progress
+
+# sleep after 10min
+for i in 0 1; do
+ hdparm -S 120 /dev/ide/host0/bus$i/target0/lun0/disc || /bin/true;
+done
+
+echo 17 > /proc/progress
+
+# set UDMA66, enable dma
+for i in 0 1; do
+ hdparm -d 1 /dev/ide/host0/bus$i/target0/lun0/disc || /bin/true;
+ hdparm -X66 /dev/ide/host0/bus$i/target0/lun0/disc || /bin/true;
+done
+
+# accustic management
+for i in 0 1; do
+ hdparm -M 128 /dev/ide/host0/bus$i/target0/lun0/disc || /bin/true;
+done
+
+# disable dma for cd drive ...
+# we remove this when the dma timeout problem is fixed!
+for i in 0 1; do
+ hdparm -d 0 /dev/ide/host0/bus$i/target0/lun0/cd || /bin/true;
+done
+
+echo 18 > /proc/progress
+for i in dreambox_keyboard fp bcm7400; do
+ modprobe $i;
+done
+
+echo 19 > /proc/progress
+
+cat /etc/videomode > /proc/stb/video/videomode
+
+echo 20 > /proc/progress
+
+for mod in rt73 zd1211b; do
+ modprobe $mod 2> /dev/null ;
+done
+
+echo "loading madwifi modules"
+for x in wlan ath_rate; do
+ for mod in `ls /lib/modules/$(uname -r)/net | grep $x | cut -d . -f 0`; do
+ modprobe $mod 2> /dev/null ;
+ done
+done
+modprobe ath_pci 2> /dev/null
+
+echo 21 > /proc/progress
+
+automount --ghost --timeout=1 /autofs file /etc/auto.hotplug
+
+[ -e /etc/dropbear/dropbear_rsa_host_key ] && /usr/bin/showiframe /usr/share/bootlogos/bootlogo.mvi || /usr/bin/showiframe /usr/share/bootlogos/bootlogo_wait.mvi
+
+hostname -F /etc/hostname
+
+echo 22 > /proc/progress
+/usr/bin/wdog /usr/bin/dccamd -
+
+echo 23 > /proc/progress
+ifup -a
+
+echo 24 > /proc/progress
+mount -at nfs,smbfs,cpfs 2>/dev/null
+
+[ -e "/etc/sysctl.conf" ] && /sbin/sysctl -p "/etc/sysctl.conf"
+
+echo 25 > /proc/progress
+
+ldconfig
+
+ipkg-cl configure
#
while read device mountpt fstype options
do
- if test "$fstype" = nfs || test "$fstype" = smbfs || test "$fstype" = ncpfs
+ if test "$fstype" = nfs || test "$fstype" = smbfs || test "$fstype" = ncpfs || test "$fstype" = cifs
then
umount -f $mountpt
fi
--- /dev/null
+DESCRIPTION = "SysV init scripts (stripped) for opendreambox"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+SECTION = "base"
+PRIORITY = "required"
+DEPENDS = "makedevs"
+RDEPENDS = "makedevs"
+LICENSE = "GPL"
+PR = "r11"
+PR_dm7025 = "r12"
+PR_dm8000 = "r14"
+PR_dm800 = "r12"
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/${P}', '${FILE_DIRNAME}/initscripts-${PV}', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+
+
+SRC_URI = "file://halt \
+ file://umountfs \
+ file://reboot \
+ file://single \
+ file://sendsigs \
+ file://rmnologin \
+ file://umountnfs.sh \
+ file://var.tar.gz.default \
+ file://bootup"
+
+do_install () {
+#
+# Create directories and install device independent scripts
+#
+ install -d ${D}${sysconfdir}/init.d \
+ ${D}${sysconfdir}/rcS.d \
+ ${D}${sysconfdir}/rc0.d \
+ ${D}${sysconfdir}/rc1.d \
+ ${D}${sysconfdir}/rc2.d \
+ ${D}${sysconfdir}/rc3.d \
+ ${D}${sysconfdir}/rc4.d \
+ ${D}${sysconfdir}/rc5.d \
+ ${D}${sysconfdir}/rc6.d \
+ ${D}${sysconfdir}/default
+
+ install -m 0755 ${WORKDIR}/halt ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/reboot ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/rmnologin ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/sendsigs ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/single ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/umountnfs.sh ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/bootup ${D}${sysconfdir}/init.d
+
+ install -m 0755 ${WORKDIR}/var.tar.gz.default ${D}${sysconfdir}/var.tar.gz
+
+#
+# Install device dependent scripts
+#
+ if [ "${MACHINE}" = "dm600pvr" -o "${MACHINE}" = "dm500plus" ]; then
+ head -n 4 ${WORKDIR}/umountfs > ${D}${sysconfdir}/init.d/umountfs
+ echo "cd /tmp" >> ${D}${sysconfdir}/init.d/umountfs
+ tail -n 14 ${WORKDIR}/umountfs >> ${D}${sysconfdir}/init.d/umountfs
+ chmod 0755 ${D}${sysconfdir}/init.d/umountfs
+ ln -sf /usr/bin/showshutdownpic ${D}${sysconfdir}/rc0.d/S89showshutdownpic
+ else
+ install -m 0755 ${WORKDIR}/umountfs ${D}${sysconfdir}/init.d/umountfs
+ fi
+
+ ln -sf ../init.d/rmnologin ${D}${sysconfdir}/rc2.d/S99rmnologin
+ ln -sf ../init.d/rmnologin ${D}${sysconfdir}/rc3.d/S99rmnologin
+ ln -sf ../init.d/rmnologin ${D}${sysconfdir}/rc4.d/S99rmnologin
+ ln -sf ../init.d/rmnologin ${D}${sysconfdir}/rc5.d/S99rmnologin
+ ln -sf ../init.d/sendsigs ${D}${sysconfdir}/rc6.d/S20sendsigs
+ ln -sf ../init.d/umountnfs.sh ${D}${sysconfdir}/rc6.d/S31umountnfs.sh
+ ln -sf ../init.d/umountfs ${D}${sysconfdir}/rc6.d/S40umountfs
+ ln -sf ../init.d/reboot ${D}${sysconfdir}/rc6.d/S90reboot
+ ln -sf ../init.d/sendsigs ${D}${sysconfdir}/rc0.d/S20sendsigs
+ ln -sf ../init.d/umountnfs.sh ${D}${sysconfdir}/rc0.d/S31umountnfs.sh
+ ln -sf ../init.d/umountfs ${D}${sysconfdir}/rc0.d/S40umountfs
+ ln -sf ../init.d/halt ${D}${sysconfdir}/rc0.d/S90halt
+ ln -sf ../init.d/bootup ${D}${sysconfdir}/rcS.d/S00bootup
+}
--- /dev/null
+dest root /
+dest cf /media/cf/
+dest ram /media/ram/
--- /dev/null
+dest root /
+dest cf /media/cf/
+dest ram /media/ram/
+dest hdd /media/hdd/
+dest usb /media/usb/
--- /dev/null
+dest root /
+dest cf /media/cf/
+dest ram /media/ram/
+dest hdd /media/hdd/
+dest usb /media/usb/
--- /dev/null
+dest root /
+dest cf /media/cf/
+dest ram /media/ram/
+dest hdd /media/hdd/
+dest usb /media/usb/
--- /dev/null
+dest root /
+dest ram /media/ram/
+dest hdd /media/hdd/
+dest usb /media/usb/
--- /dev/null
+dest root /
+dest cf /media/cf/
+dest ram /media/ram/
+dest hdd /media/hdd/
+dest usb /media/usb/
--- /dev/null
+LICENSE = "GPL"
+
+DESCRIPTION = "Library for reading some sort of media format."
+SECTION = "libs"
+PRIORITY = "optional"
+DEPENDS = ""
+
+inherit autotools
+
+SRC_URI = "http://liba52.sourceforge.net/files/a52dec-snapshot.tar.gz"
+S="${WORKDIR}/a52dec-${PV}"
+
+EXTRA_OECONF = " --enable-shared --enable-fixed"
+
+PACKAGES = "${PN} ${PN}-dev a52dec a52dec-doc"
+
+FILES_${PN} = " ${libdir}/liba52.so.0 ${libdir}/liba52.so.0.0.0 "
+FILES_${PN}-dev = " ${includedir}/a52dec/*.h ${libdir}/liba52.so ${libdir}/liba52.la ${libdir}/liba52.a "
+FILES_a52dec = " ${bindir}/* "
+FILES_a52dec-doc = " ${mandir}/man1/* "
+
+do_stage() {
+ oe_libinstall -a -so -C liba52 liba52 ${STAGING_LIBDIR}
+
+ install -d ${STAGING_INCDIR}/a52dec
+ install -m 0644 ${S}/include/a52.h ${STAGING_INCDIR}/a52dec/a52.h
+ install -m 0644 ${S}/include/attributes.h ${STAGING_INCDIR}/a52dec/attributes.h
+ install -m 0644 ${S}/include/audio_out.h ${STAGING_INCDIR}/a52dec/audio_out.h
+ install -m 0644 ${S}/include/mm_accel.h ${STAGING_INCDIR}/a52dec/mm_accel.h
+}
--- /dev/null
+--- libcddb-1.3.0/lib/Makefile.am.old 2007-11-13 08:09:20 +0000
++++ libcddb-1.3.0/lib/Makefile.am 2007-11-13 08:09:41 +0000
+@@ -5,4 +5,5 @@
+ libcddb_la_SOURCES = cddb_track.c cddb_disc.c cddb_regex.c cddb_error.c \
+ cddb_conn.c cddb_cmd.c cddb_net.c cddb_log.c cddb_util.c \
+ cddb.c cddb_site.c ll.c
+-libcddb_la_LDFLAGS = -no-undefined -version-info 4:3:2 $(LIBICONV)
++libcddb_la_LDFLAGS = -no-undefined -version-info 4:3:2
++libcddb_la_LIBADD = $(LIBICONV)
--- /dev/null
+Index: libcddb-1.3.0/configure.ac
+===================================================================
+--- libcddb-1.3.0/configure.ac 2006-10-15 09:04:53.000000000 +0000
++++ libcddb-1.3.0/configure.ac 2008-07-26 00:01:38.000000000 +0000
+@@ -100,11 +100,10 @@
+
+ dnl Checks for library functions.
+ AC_FUNC_MALLOC
+-AC_FUNC_REALLOC
+ AC_FUNC_STAT
+ AC_FUNC_VPRINTF
+ AC_FUNC_SELECT_ARGTYPES
+-AC_CHECK_FUNCS([mkdir regcomp socket strdup strtol strchr memset alarm select realloc])
++AC_CHECK_FUNCS([mkdir regcomp socket strdup strtol strchr memset alarm select])
+ AC_CHECK_FUNC([gethostbyname], , AC_CHECK_LIB([nsl], [gethostbyname]))
+
+ dnl Check for libcdio
--- /dev/null
+DESCRIPTION = "A library for accessing a CDDB server"
+HOMEPAGE = "http://libcddb.sourceforge.net"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "LGPL-2"
+MAINTAINER = "Andreas Frisch <andreas.frisch@multimedia-labs.de>"
+
+SRC_URI = "http://downloads.sourceforge.net/${PN}/${PN}-${PV}.tar.bz2\
+ file://${P}-asneeded-nonglibc.patch;patch=1"
+
+inherit autotools
+
+DEPEND="doc? ( app-doc/doxygen )"
--- /dev/null
+DESCRIPTION = "A library for accessing a CDDB server"
+HOMEPAGE = "http://libcddb.sourceforge.net"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "LGPL-2"
+MAINTAINER = "Andreas Frisch <andreas.frisch@multimedia-labs.de>"
+
+SRC_URI = "http://downloads.sourceforge.net/${PN}/${PN}-${PV}.tar.bz2\
+ file://${P}-configure-realloc.patch;patch=1\
+ file://${P}-asneeded-nonglibc.patch;patch=1"
+
+#EXTRA_OECONF = "--without-cdio --without-iconv"
+
+inherit autotools pkgconfig
+
+DEPEND="doc? ( app-doc/doxygen )"
+
+do_stage () {
+ oe_libinstall -so -C lib libcddb ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/cddb
+ install -m 0644 ${S}/include/cddb/*.h ${STAGING_INCDIR}/cddb
+}
\ No newline at end of file
--- /dev/null
+Index: libcdio-0.80/src/cdtextinfo.c
+===================================================================
+--- libcdio-0.80/src/cdtextinfo.c
++++ libcdio-0.80/src/cdtextinfo.c
+@@ -0,0 +1,372 @@
++/*
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 2 of the License, or
++ (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++
++ cdtextinfo, 2008-07-25 by fraxinas <andreas.frisch@multimedia-labs.de>
++*/
++
++#include "config.h"
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <cddb/cddb.h>
++#include <cdio/cdio.h>
++#include <cdio/cdtext.h>
++#include "cddb.h"
++#include "getopt.h"
++
++struct opts_s
++{
++ bool album;
++ bool listing;
++ bool cddb;
++ bool cdtext;
++ bool xml;
++} options;
++
++/* Configuration option codes */
++enum {
++ OP_HANDLED = 0,
++
++ OP_CDDB_SERVER,
++ OP_CDDB_CACHE,
++ OP_CDDB_EMAIL,
++ OP_CDDB_NOCACHE,
++ OP_CDDB_TIMEOUT,
++
++ OP_USAGE,
++
++ /* These are the remaining configuration options */
++ OP_VERSION,
++
++};
++
++static bool parse_options (int argc, char *argv[])
++{
++ int opt; /* used for argument parsing */
++
++ const char* helpText =
++ "Usage: %s [OPTION...]\n"
++ " -a, --album Print audio CD album info\n"
++ " -l, --listing Print title info for all tracks\n"
++ " -T, --cdtext Use CD-Text\n"
++ " -D, --cddb Use CDDB\n"
++ " -x, --xml XML output\n"
++ "\n"
++ "CDDB options:\n"
++ " -P, --cddb-port=INT CDDB port number to use (default 8880)\n"
++ " --cddb-server=STRING CDDB server to contact for information\n"
++ " (default: freedb.freedb.org)\n"
++ " --cddb-cache=STRING Location of CDDB cache directory\n"
++ " (default ~/.cddbclient)\n"
++ " --cddb-email=STRING Email address to give CDDB server\n"
++ " (default me@dreambox)\n"
++ " --no-cddb-cache Disable caching of CDDB entries\n"
++ " locally (default caches)\n"
++ " --cddb-timeout=INT CDDB timeout value in seconds\n"
++ " (default 10 seconds)\n"
++ "\n"
++ "Help options:\n"
++ " -?, --help Show this help message\n"
++ " --usage Display brief usage message\n"
++ "\n"
++ "Example: %s -xalDT\n"
++ " Will query album info and track listing from both CD-Text and CDDB and display as XML\n";
++
++ const char* usageText =
++ "Usage: %s [-a|--album] [-l|--listing]\n"
++ " [-T|--cdtext] [-D|--cddb] [-x|--xml]\n"
++ " [-P|--cddb-port INT] [--cddb-server=STRING]\n"
++ " [--cddb-cache=STRING] [--cddb-email=STRING]\n"
++ " [--no-cddb-cache] [--cddb-timeout=INT]\n"
++ " [-?|--help] [--usage]\n";
++
++ const char* optionsString = "alTDP:x?";
++ struct option optionsTable[] = {
++ {"album", no_argument, NULL, 'a' },
++ {"listing", no_argument, NULL, 'l' },
++ {"cdtext", no_argument, NULL, 'T' },
++ {"cddb", no_argument, NULL, 'D' },
++ {"cddb-port", required_argument, NULL, 'P' },
++ {"cddb-server", required_argument, NULL, OP_CDDB_SERVER },
++ {"cddb-cache", required_argument, NULL, OP_CDDB_CACHE },
++ {"cddb-email", required_argument, NULL, OP_CDDB_EMAIL },
++ {"no-cddb-cache", no_argument, NULL, OP_CDDB_NOCACHE },
++ {"cddb-timeout", required_argument, NULL, OP_CDDB_TIMEOUT },
++ {"help", no_argument, NULL, '?' },
++ {"usage", no_argument, NULL, OP_USAGE },
++ { NULL, 0, NULL, 0 }
++ };
++
++ while ((opt = getopt_long(argc, argv, optionsString, optionsTable, NULL)) >= 0) {
++ switch (opt) {
++ case 'a': options.album = true; break;
++ case 'l': options.listing = true; break;
++ case 'T': options.cdtext = true; break;
++ case 'D': options.cddb = true; break;
++ case 'x': options.xml = true; break;
++ case 'P': cddb_opts.port = atoi(optarg); break;
++ case OP_CDDB_SERVER: cddb_opts.server = strdup(optarg); break;
++ case OP_CDDB_CACHE: cddb_opts.cachedir = strdup(optarg); break;
++ case OP_CDDB_EMAIL: cddb_opts.email = strdup(optarg); break;
++ case OP_CDDB_NOCACHE: cddb_opts.disable_cache = 1; break;
++ case OP_CDDB_TIMEOUT: cddb_opts.timeout = atoi(optarg); break;
++ case '?':
++ fprintf(stdout, helpText, argv[0], argv[0]);
++ exit(0);
++ break;
++ case OP_USAGE:
++ fprintf(stderr, usageText, argv[0]);
++ exit(1);
++ break;
++ case 0:
++ break;
++ }
++ }
++ return true;
++}
++
++static void cddb_errmsg(const char *msg)
++{
++ if ( options.xml )
++ printf("<error msg=\"%s\" />\n", msg);
++ else
++ printf("%s\n", msg);
++}
++
++int print_cddb_info(CdIo_t *p_cdio, track_t i_tracks, track_t i_first_track)
++{
++ int i_cddb_matches = 0, i_cddb_currentmatch = 1;
++
++ cddb_conn_t *p_conn = NULL;
++ cddb_disc_t *p_cddb_disc = NULL;
++
++ if ( init_cddb(p_cdio, &p_conn, &p_cddb_disc, cddb_errmsg, i_first_track, i_tracks, &i_cddb_matches) )
++ {
++ while ( i_cddb_currentmatch <= i_cddb_matches )
++ {
++ cddb_read(p_conn, p_cddb_disc);
++
++ if ( options.xml )
++ printf("\t<query source=\"CDDB\" match=\"%i\" num_matches=\"%i\">\n",i_cddb_currentmatch,i_cddb_matches);
++
++ if (options.album)
++ {
++ if ( options.xml )
++ printf("\t\t<albuminfo>\n");
++
++ if ( cddb_disc_get_title(p_cddb_disc) )
++ {
++ if ( options.xml )
++ printf("\t\t\t\t<title>%s</title>\n",cddb_disc_get_title(p_cddb_disc));
++ else
++ printf("TITLE:%s\n",cddb_disc_get_title(p_cddb_disc));
++ }
++ if ( cddb_disc_get_artist(p_cddb_disc) )
++ {
++ if ( options.xml )
++ printf("\t\t\t\t<artist>%s</artist>\n",cddb_disc_get_artist(p_cddb_disc));
++ else
++ printf("ARTIST:%s\n",cddb_disc_get_artist(p_cddb_disc));
++ }
++ if ( cddb_disc_get_genre(p_cddb_disc) )
++ {
++ if ( options.xml )
++ printf("\t\t\t\t<genre>%s</genre>\n",cddb_disc_get_genre(p_cddb_disc));
++ else
++ printf("GENRE:%s\n",cddb_disc_get_genre(p_cddb_disc));
++ }
++ if ( cddb_disc_get_category_str(p_cddb_disc) )
++ {
++ if ( options.xml )
++ printf("\t\t\t\t<category>%s</category>\n",cddb_disc_get_category_str(p_cddb_disc));
++ else
++ printf("CATEGORY:%s\n",cddb_disc_get_category_str(p_cddb_disc));
++ }
++ if ( cddb_disc_get_year(p_cddb_disc) )
++ {
++ if ( options.xml )
++ printf("\t\t\t\t<year>%i</year>\n",cddb_disc_get_year(p_cddb_disc));
++ else
++ printf("YEAR:%i\n",cddb_disc_get_year(p_cddb_disc));
++ }
++ if ( cddb_disc_get_ext_data(p_cddb_disc) )
++ {
++ if ( options.xml )
++ printf("\t\t\t\t<extra_data>%s</extra_data>\n",cddb_disc_get_ext_data(p_cddb_disc));
++ else
++ printf("EXTDATA:%s\n",cddb_disc_get_ext_data(p_cddb_disc));
++ }
++ if ( options.xml )
++ printf("\t\t</albuminfo>\n");
++ }
++ if (options.listing)
++ {
++ if ( options.xml )
++ printf("\t\t<tracklisting>\n");
++
++ cddb_track_t *p_cddb_track = cddb_disc_get_track_first(p_cddb_disc);
++ while ( p_cddb_track != NULL )
++ {
++ if ( options.xml )
++ {
++ printf("\t\t\t\t<track number=\"%i\">\n",cddb_track_get_number(p_cddb_track));
++ if (cddb_track_get_length(p_cddb_track))
++ printf("\t\t\t\t\t\t<length>%i</length>\n",cddb_track_get_length(p_cddb_track));
++ if (cddb_track_get_title(p_cddb_track))
++ printf("\t\t\t\t\t\t<title>%s</title>\n",cddb_track_get_title(p_cddb_track));
++ if (cddb_track_get_artist(p_cddb_track))
++ printf("\t\t\t\t\t\t<artist>%s</artist>\n",cddb_track_get_artist(p_cddb_track));
++ if (cddb_track_get_ext_data(p_cddb_track))
++ printf("\t\t\t\t\t\t<extra_data>%s</extra_data>\n",cddb_track_get_ext_data(p_cddb_track));
++ printf("\t\t\t\t</track>\n");
++ }
++ else
++ printf("%i:%s\n",cddb_track_get_number(p_cddb_track),cddb_track_get_title(p_cddb_track));
++
++ p_cddb_track = cddb_disc_get_track_next(p_cddb_disc);
++ }
++
++ if ( options.xml )
++ printf("\t\t</tracklisting>\n");
++ }
++ if ( options.xml )
++ printf("\t</query>\n");
++
++ cddb_query_next(p_conn, p_cddb_disc);
++ i_cddb_currentmatch++;
++ }
++ if ( i_cddb_currentmatch < 1 && options.xml )
++ printf("\t<query source=\"CDDB\" num_matches=\"%i\" />\n",i_cddb_matches);
++ }
++ cddb_disc_destroy(p_cddb_disc);
++ cddb_destroy(p_conn);
++ libcddb_shutdown();
++ return 0;
++}
++
++int print_cdtext_info(CdIo_t *p_cdio, track_t i_tracks, track_t i_track)
++{
++ const cdtext_t *cdtext = cdio_get_cdtext(p_cdio, 0);
++
++ if ( cdtext == NULL || cdtext && !cdtext->field[9] )
++ {
++ if ( options.xml )
++ printf("\t<query source=\"CD-TEXT\" num_matches=\"0\" />\n");
++ return -1;
++ }
++
++ if ( options.xml )
++ printf("\t<query source=\"CD-TEXT\" match=\"1\" num_matches=\"1\">\n");
++
++ if ( options.album )
++ {
++ if ( options.xml )
++ printf("\t\t<albuminfo>\n");
++ cdtext_field_t i;
++ for (i=0; i < MAX_CDTEXT_FIELDS; i++)
++ {
++ if (cdtext->field[i])
++ {
++ if ( options.xml )
++ printf("\t\t\t\t<%s>%s</%s>\n",cdtext_field2str(i),cdtext->field[i],cdtext_field2str(i));
++ else
++ printf("%s:%s\n", cdtext_field2str(i), cdtext->field[i]);
++ }
++ }
++ if ( options.xml )
++ printf("\t\t</albuminfo>\n");
++ }
++
++ if ( options.listing )
++ {
++ if ( options.xml )
++ printf("\t\t<tracklisting>\n");
++
++ for ( ; i_track < i_tracks; i_track++ )
++ {
++ const cdtext_t *cdtext = cdio_get_cdtext(p_cdio, i_track);
++ if (!cdtext)
++ continue;
++
++ if ( options.xml )
++ {
++ printf("\t\t\t\t<track number=\"%i\">\n",i_track);
++
++ cdtext_field_t i;
++ for (i=0; i < MAX_CDTEXT_FIELDS; i++)
++ {
++ if (cdtext->field[i])
++ {
++ if ( options.xml )
++ printf("\t\t\t\t\t\t<%s>%s</%s>\n",cdtext_field2str(i),cdtext->field[i],cdtext_field2str(i));
++ }
++ }
++ printf("\t\t\t\t</track>\n");
++ }
++
++ else if (cdtext->field[9])
++ printf("%d:%s\n", i_track, cdtext->field[9]);
++ }
++
++ if ( options.xml )
++ printf("\t\t</tracklisting>\n");
++ }
++
++ if ( options.xml )
++ printf("\t</query>\n");
++
++ return 0;
++}
++
++int main(int argc, char *argv[])
++{
++ cddb_opts.port = 8880;
++ cddb_opts.server = NULL;
++ cddb_opts.timeout = 10;
++ cddb_opts.disable_cache = false;
++ cddb_opts.cachedir = NULL;
++ cddb_opts.email = strdup("me@dreambox");
++
++ parse_options(argc, argv);
++
++ track_t i_track;
++ track_t i_tracks;
++ CdIo_t *p_cdio = cdio_open (NULL, DRIVER_DEVICE);
++ i_tracks = cdio_get_num_tracks(p_cdio);
++
++ if ( options.xml )
++ {
++ printf("<?xml version=\"1.0\" ?>\n");
++ printf("<cdinfo>\n");
++ }
++
++ if (NULL == p_cdio)
++ return -1;
++
++ i_track = cdio_get_first_track_num(p_cdio);
++ if ( options.cdtext )
++ print_cdtext_info(p_cdio, i_tracks, i_track);
++
++ i_track = cdio_get_first_track_num(p_cdio);
++ if ( options.cddb )
++ print_cddb_info(p_cdio, i_tracks, i_track);
++
++ cdio_destroy(p_cdio);
++
++ if ( options.xml )
++ printf("</cdinfo>\n");
++
++ return 0;
++}
+Index: libcdio-0.80/src/Makefile.am
+===================================================================
+--- libcdio-0.80/src/Makefile.am
++++ libcdio-0.80/src/Makefile.am 2008-07-29 09:56:06.000000000 +0000
+@@ -85,7 +85,12 @@
+ #mmc_tool_LDADD = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LIBICONV)
+ #bin_mmc_tool = mmc-tool
+
+-bin_PROGRAMS = $(bin_cd_drive) $(bin_cd_info) $(bin_cdinfo_linux) $(bin_cd_read) $(bin_iso_info) $(bin_iso_read) $(bin_cdda_player) $(bin_mmc_tool)
++bin_cdtextinfo = cdtextinfo
++cdtextinfo_SOURCES = cdtextinfo.c cddb.c cddb.h $(GETOPT_C)
++cdtextinfo_LDADD = $(LIBCDIO_LIBS) $(LIBICONV) $(CDDB_LIBS)
++cdtextinfo_DEPENDENCIES = $(LIBCDIO_DEPS)
++
++bin_PROGRAMS = $(bin_cd_drive) $(bin_cd_info) $(bin_cdinfo_linux) $(bin_cd_read) $(bin_iso_info) $(bin_iso_read) $(bin_cdda_player) $(bin_mmc_tool) $(bin_cdtextinfo)
+
+ INCLUDES = -I$(top_srcdir) $(LIBCDIO_CFLAGS) $(VCDINFO_CFLAGS) $(CDDB_CFLAGS)
--- /dev/null
+Index: libcdio-0.80/configure.ac
+===================================================================
+--- libcdio-0.80.orig/configure.ac 2008-03-15 17:45:17.000000000 +0000
++++ libcdio-0.80/configure.ac 2008-07-16 09:21:06.000000000 +0000
+@@ -271,33 +271,9 @@
+
+ dnl bitfield order
+ AC_MSG_CHECKING(bitfield ordering in structs)
+-AC_TRY_RUN([
+-int
+- main() {
+- struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; }
+-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
+- __attribute__((packed))
+-#endif
+- bf = { 1,1,1,1 };
+- if (sizeof (bf) != 1) return 1;
+- return *((unsigned char*) &bf) != 0x4b; }
+-], bf_lsbf=1, AC_TRY_RUN([
+-int
+-main() {
+- struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; }
+-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
+- __attribute__((packed))
+-#endif
+- bf = { 1,1,1,1 };
+- if (sizeof (bf) != 1) return 1;
+- return *((unsigned char*) &bf) != 0xa5; }
+-], bf_lsbf=0, AC_MSG_ERROR([unsupported bitfield ordering])))
+-if test "x$bf_lsbf" = "x1"; then
+- AC_MSG_RESULT(LSBF)
+- AC_DEFINE(BITFIELD_LSBF, [], [compiler does least-significant bit first in struct bitfields])
+-else
+- AC_MSG_RESULT(MSBF)
+-fi
++bf_lsbf=1
++AC_MSG_RESULT(LSBF)
++AC_DEFINE(BITFIELD_LSBF, [], [compiler does least-significant bit first in struct bitfields])
+ dnl
+
+ dnl AM_PROG_LIBTOOL tests whether we have GNU ld
+@@ -466,24 +442,6 @@
+ ;;
+ esac
+
+-AC_MSG_CHECKING(extern long timezone variable)
+-AC_TRY_RUN([
+-#ifdef NEED_TIMEZONEVAR
+-#define timezonevar 1
+-#endif
+-
+-#include <time.h>
+-extern long timezone;
+-int main(int argc, char **argv) {
+- long test_timezone = timezone;
+- return 0;
+-}
+-], [AC_MSG_RESULT(yes);
+- AC_DEFINE([HAVE_TIMEZONE_VAR], 1,
+- [Define if you have an extern long timenzone variable.])],
+- [AC_MSG_RESULT(no)])
+-dnl
+-
+ AC_SUBST(LINUX_CDROM_TIMEOUT)
+ AC_SUBST(DARWIN_PKG_LIB_HACK)
+ AC_SUBST(HAVE_BSDI_CDROM)
+@@ -508,43 +466,6 @@
+ ,
+ [#include <time.h>])
+
+-if test $ac_cv_member_struct_tm_tm_gmtoff = yes ; then
+- AC_MSG_CHECKING([whether time.h defines daylight and timezone variables])
+- AC_TRY_RUN([
+-#include <time.h>
+-
+-
+- extern char *tzname[2];
+- extern long timezone;
+- extern int daylight;
+-
+-int
+- main() {
+- return (timezone != 0) + daylight;
+-}
+- ],[AC_DEFINE(HAVE_DAYLIGHT, 1,
+- [Define if time.h defines extern long timezone and int daylight vars.])
+- has_daylight=yes
+- ],[has_daylight=no])
+- AC_MSG_RESULT($has_daylight)
+- AC_MSG_CHECKING([whether time.h defines tzname variable])
+- AC_TRY_RUN([
+-#include <time.h>
+-
+-
+- extern char *tzname[2];
+-
+-int
+- main() {
+- return (tzname != NULL);
+-}
+- ],[AC_DEFINE(HAVE_TZNAME, 1,
+- [Define if time.h defines extern extern char *tzname[2] variable])
+- has_tzname=yes
+- ],[has_tzname=no])
+- AC_MSG_RESULT($has_tzname)
+-fi
+-
+ AC_ARG_ENABLE(joliet,
+ AS_HELP_STRING([--disable-joliet], [don't include Joliet extension support (default enabled)]),
+ [enable_joliet=$enableval],
--- /dev/null
+Index: libcdio-0.80/Makefile.am
+===================================================================
+--- libcdio-0.80.orig/Makefile.am
++++ libcdio-0.80/Makefile.am
+@@ -45,12 +45,15 @@ endif
+ # pkg-config(1) related rules
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = libcdio.pc \
+- libcdio++.pc \
+ libiso9660.pc \
+- libiso9660++.pc \
+- libudf.pc
++ libudf.pc \
+ $(paranoiapcs)
+
++#if ENABLE_CPP
++#pkgconfig_DATA += \
++# libcdio++.pc \
++# libiso9660++.pc
++#endif
+
+ $(pkgconfig_DATA): config.status
+
--- /dev/null
+Index: libcdio-0.80/cdtextinfo/Makefile.am
+===================================================================
+--- libcdio-0.80/src/Makefile.am 2008-03-15 16:21:28.000000000 +0000
++++ libcdio-0.80/src/Makefile.am 2008-07-25 17:16:18.000000000 +0000
+@@ -21,11 +21,6 @@
+
+ GETOPT_C = getopt.c getopt1.c
+
+-man_MANS = cd-drive.1 cd-info.1 cd-read.1 iso-read.1 iso-info.1
+-EXTRA_DIST = cd-drive.help2man cd-info.help2man cd-read.help2man \
+- iso-info.help2man iso-read.help2man $(GETOPT_C) getopt.h \
+- $(man_MANS)
+-
+ noinst_HEADERS = cddb.h getopt.h util.h
+
+ ####################################################
+@@ -39,10 +34,6 @@
+ CDDB_LIBS=@CDDB_LIBS@
+ CDDA_PLAYER_LIBS=@CDDA_PLAYER_LIBS@
+
+-$(man_MANS): %.1: % %.help2man
+- -$(HELP2MAN) --opt-include=$<.help2man --no-info --output=$@ ./$<
+-MOSTLYCLEANFILES = $(man_MANS)
+-
+ if BUILD_CDDA_PLAYER
+ cdda_player_SOURCES = cdda-player.c cddb.c cddb.h $(GETOPT_C)
+ cdda_player_LDADD = $(LIBCDIO_LIBS) $(CDDB_LIBS) $(CDDA_PLAYER_LIBS)
+@@ -53,12 +44,14 @@
+ cd_drive_SOURCES = cd-drive.c util.c util.h $(GETOPT_C)
+ cd_drive_LDADD = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LIBICONV)
+ bin_cd_drive = cd-drive
++man_cd_drive = cd-drive.1
+ endif
+
+ if BUILD_CDINFO
+ cd_info_SOURCES = cd-info.c cddb.c cddb.h util.c util.h $(GETOPT_C)
+ cd_info_LDADD = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(CDDB_LIBS) $(VCDINFO_LIBS) $(LIBICONV)
+ bin_cd_info = cd-info
++man_cd_info = cd-info.1
+ endif
+
+ if BUILD_CDINFO_LINUX
+@@ -71,24 +64,36 @@
+ cd_read_SOURCES = cd-read.c util.c util.h $(GETOPT_C)
+ cd_read_LDADD = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LIBICONV)
+ bin_cd_read = cd-read
++man_cd_read = cd-read.1
+ endif
+
+ if BUILD_ISO_INFO
+ iso_info_SOURCES = iso-info.c util.c util.h $(GETOPT_C)
+ iso_info_LDADD = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LIBICONV)
+ bin_iso_info = iso-info
++man_iso_info = iso-info.1
+ endif
+
+ if BUILD_ISO_READ
+ iso_read_SOURCES = iso-read.c util.c util.h $(GETOPT_C)
+ iso_read_LDADD = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LIBICONV)
+ bin_iso_read = iso-read
++man_iso_read = iso-read.1
+ endif
+
+-mmc_tool_SOURCES = mmc-tool.c util.c util.h $(GETOPT_C)
+-mmc_tool_LDADD = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LIBICONV)
+-bin_mmc_tool = mmc-tool
++#mmc_tool_SOURCES = mmc-tool.c util.c util.h $(GETOPT_C)
++#mmc_tool_LDADD = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LIBICONV)
++#bin_mmc_tool = mmc-tool
+
+ bin_PROGRAMS = $(bin_cd_drive) $(bin_cd_info) $(bin_cdinfo_linux) $(bin_cd_read) $(bin_iso_info) $(bin_iso_read) $(bin_cdda_player) $(bin_mmc_tool)
+
+ INCLUDES = -I$(top_srcdir) $(LIBCDIO_CFLAGS) $(VCDINFO_CFLAGS) $(CDDB_CFLAGS)
++
++man_MANS = $(man_cd_drive) $(man_cd_info) $(man_cd_read) $(man_iso_read) $(man_iso_info)
++EXTRA_DIST = cd-drive.help2man cd-info.help2man cd-read.help2man \
++ iso-info.help2man iso-read.help2man $(GETOPT_C) getopt.h \
++ $(man_MANS)
++
++$(man_MANS): %.1: % %.help2man
++ -$(HELP2MAN) --opt-include=$<.help2man --no-info --output=$@ ./$<
++MOSTLYCLEANFILES = $(man_MANS)
--- /dev/null
+DESCRIPTION = "A library to encapsulate CD-ROM reading and control"
+HOMEPAGE = "http://www.gnu.org/software/libcdio/"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPL"
+MAINTAINER = "Andreas Frisch <andreas.frisch@multimedia-labs.de>"
+PR="r1"
+
+SRC_URI = "http://ftp.gnu.org/pub/gnu/libcdio/${PN}-${PV}.tar.gz\
+ file://${PN}-${PV}-configure-crosscompile.patch;patch=1\
+ file://${PN}-${PV}-minimal-new.patch;patch=1\
+ file://${PN}-${PV}-fix-pkgconfig.patch;patch=1\
+ file://${PN}-${PV}-add-cdtextinfo.patch;patch=1"
+
+inherit pkgconfig autotools
+
+EXTRA_OECONF="--enable-cddb --disable-cpp-progs --disable-vcd-info --disable-maintainer-mode --without-cd-paranoia --without-cdda-player --disable-cxx --disable-example-progs --disable-joliet --without-cd-drive --without-cd-read --without-iso-info --without-iso-read --without-cd-info"
+
+RDEPEND = "cddb? ( >=media-libs/libcddb-1.0.1 ) virtual/libintl"
+DEPEND = "sys-devel/gettext dev-util/pkgconfig"
+
+do_compile_append () {
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/src/.libs/cdtextinfo ${D}${bindir}
+}
+
+do_stage () {
+ oe_libinstall -so -C lib libcdio ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/cdio
+ install -m 0644 ${S}/include/cdio/*.h ${STAGING_INCDIR}/cdio
+}
--- /dev/null
+# libdreamdvd.bb build file
+DESCRIPTION="libdvdnav wrapper for dream multimedia stbs"
+LICENSE = "GPL"
+DEPENDS = "libdvdnav"
+RDEPENDS = "libdvdnav"
+
+PR = "r0"
+PV = "1.0cvs${SRCDATE}"
+SRCDATE = "20080908"
+SRC_URI="cvs://anonymous@cvs.schwerkraft.elitedvb.net/cvsroot/libdreamdvd;module=libdreamdvd;method=pserver"
+
+S = "${WORKDIR}/libdreamdvd"
+
+inherit autotools pkgconfig
+
+do_stage_append() {
+ oe_runmake install prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR}
+}
--- /dev/null
+--- libdvdnav-0.1.10-org/src/vm.c 2004-05-21 21:32:25.000000000 +0200
++++ libdvdnav-0.1.10/src/vm/vm.c 2008-04-15 13:25:33.000000000 +0200
+@@ -43,6 +43,10 @@
+
+ #include "dvdnav_internal.h"
+
++#if defined(__linux__)
++#include <mntent.h>
++#endif
++
+ #ifdef _MSC_VER
+ #include <io.h> /* read() */
+ #endif /* _MSC_VER */
+@@ -131,7 +135,7 @@
+ * all off_t are 64bit.
+ */
+ off_t off;
+- int fd, i;
++ int fd = 0, i;
+ uint8_t data[DVD_VIDEO_LB_LEN];
+
+ /* Read DVD name */
+@@ -141,6 +145,29 @@
+ if( off == ( 32 * (off_t) DVD_VIDEO_LB_LEN ) ) {
+ off = read( fd, data, DVD_VIDEO_LB_LEN );
+ close(fd);
++#if defined(__linux__)
++ if (off != ( (off_t) DVD_VIDEO_LB_LEN )) {
++ FILE *mntfile;
++ mntfile = fopen( MOUNTED, "r" );
++ if ( mntfile ) {
++ struct mntent *me;
++ while( ( me = getmntent( mntfile ) ) ) {
++ if( strstr( device, me->mnt_dir ) ) {
++ fprintf( stderr, "libdvdnav: Attempting to read dvd label from device %s mounted on %s \n", me->mnt_fsname, me->mnt_dir );
++ fd = open(me->mnt_fsname, O_RDONLY);
++ }
++ }
++ fclose( mntfile );
++ }
++ if (fd > 0) {
++ off = lseek( fd, 32 * (off_t) DVD_VIDEO_LB_LEN, SEEK_SET );
++ if( off == ( 32 * (off_t) DVD_VIDEO_LB_LEN ) ) {
++ off = read( fd, data, DVD_VIDEO_LB_LEN );
++ close(fd);
++ }
++ }
++ }
++#endif
+ if (off == ( (off_t) DVD_VIDEO_LB_LEN )) {
+ fprintf(MSG_OUT, "libdvdnav: DVD Title: ");
+ for(i=25; i < 73; i++ ) {
--- /dev/null
+diff -Naur libdvdnav-0.1.10-org/src/dvdnav.c libdvdnav-0.1.10/src/dvdnav.c
+--- libdvdnav-0.1.10-org/src/dvdnav.c 2004-01-31 18:12:58.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdnav.c 2008-03-28 15:24:50.000000000 +0100
+@@ -16,9 +16,6 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: dvdnav.c,v 1.63 2004/01/31 17:12:58 jcdutton Exp $
+- *
+ */
+
+ #ifdef HAVE_CONFIG_H
+@@ -67,7 +64,7 @@
+ struct timeval time;
+
+ /* Create a new structure */
+- fprintf(MSG_OUT, "libdvdnav: Using dvdnav version %s from http://dvd.sf.net\n", VERSION);
++ fprintf(MSG_OUT, "libdvdnav: Using dvdnav version %s from http://xine.sf.net\n", VERSION);
+
+ (*dest) = NULL;
+ this = (dvdnav_t*)malloc(sizeof(dvdnav_t));
+@@ -203,7 +200,7 @@
+ }
+
+ /* converts a dvd_time_t to PTS ticks */
+-static int64_t dvdnav_convert_time(dvd_time_t *time) {
++int64_t dvdnav_convert_time(dvd_time_t *time) {
+ int64_t result;
+ int64_t frames;
+
+@@ -403,7 +400,10 @@
+
+ if(!this->started) {
+ /* Start the VM */
+- vm_start(this->vm);
++ if (!vm_start(this->vm)) {
++ printerr("Encrypted or faulty DVD");
++ return DVDNAV_STATUS_ERR;
++ }
+ this->started = 1;
+ }
+
+@@ -665,16 +665,10 @@
+ fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE stream_id_wide=%d\n",stream_change->physical_wide);
+ fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE stream_id_letterbox=%d\n",stream_change->physical_letterbox);
+ fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE stream_id_pan_scan=%d\n",stream_change->physical_pan_scan);
++ fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE returning DVDNAV_STATUS_OK\n");
+ #endif
+- if (stream_change->physical_wide != -1 &&
+- stream_change->physical_letterbox != -1 &&
+- stream_change->physical_pan_scan != -1) {
+-#ifdef LOG_DEBUG
+- fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE returning DVDNAV_STATUS_OK\n");
+-#endif
+- pthread_mutex_unlock(&this->vm_lock);
+- return DVDNAV_STATUS_OK;
+- }
++ pthread_mutex_unlock(&this->vm_lock);
++ return DVDNAV_STATUS_OK;
+ }
+
+ /* has the audio channel changed? */
+diff -Naur libdvdnav-0.1.10-org/src/dvdnav_events.h libdvdnav-0.1.10/src/dvdnav_events.h
+--- libdvdnav-0.1.10-org/src/dvdnav_events.h 2003-04-27 03:26:18.000000000 +0200
++++ libdvdnav-0.1.10/src/dvdnav_events.h 2008-01-23 06:11:52.000000000 +0100
+@@ -16,9 +16,6 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: dvdnav_events.h,v 1.12 2003/04/27 01:26:18 jcdutton Exp $
+- *
+ */
+
+ /*
+diff -Naur libdvdnav-0.1.10-org/src/dvdnav.h libdvdnav-0.1.10/src/dvdnav.h
+--- libdvdnav-0.1.10-org/src/dvdnav.h 2003-06-09 17:17:44.000000000 +0200
++++ libdvdnav-0.1.10/src/dvdnav.h 2008-01-23 06:11:52.000000000 +0100
+@@ -16,9 +16,6 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: dvdnav.h,v 1.31 2003/06/09 15:17:44 mroi Exp $
+- *
+ */
+
+ /*
+@@ -114,6 +111,8 @@
+ */
+ const char* dvdnav_err_to_string(dvdnav_t *self);
+
++/* converts a dvd_time_t to PTS ticks */
++int64_t dvdnav_convert_time(dvd_time_t *time);
+
+ /*********************************************************************
+ * changing and reading DVD player characteristics *
+diff -Naur libdvdnav-0.1.10-org/src/dvdnav_internal.h libdvdnav-0.1.10/src/dvdnav_internal.h
+--- libdvdnav-0.1.10-org/src/dvdnav_internal.h 2004-02-13 20:16:17.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdnav_internal.h 2008-03-28 15:24:50.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2001 Rich Wareham <richwareham@users.sourceforge.net>
++ * Copyright (C) 2001-2004 Rich Wareham <richwareham@users.sourceforge.net>
+ *
+ * This file is part of libdvdnav, a DVD navigation library.
+ *
+@@ -16,9 +16,6 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: dvdnav_internal.h,v 1.12 2004/02/13 19:16:17 mroi Exp $
+- *
+ */
+
+ #ifndef DVDNAV_INTERNAL_H_INCLUDED
+@@ -34,6 +31,34 @@
+ #include <limits.h>
+ #include <string.h>
+
++#ifndef HAVE_GETTIMEOFDAY
++# ifdef WIN32
++# include <winsock.h>
++struct timezone;
++# else
++# include <sys/time.h>
++# endif
++/* replacement gettimeofday implementation */
++#include <sys/timeb.h>
++static inline int dvdnav_private_gettimeofday( struct timeval *tv, void *tz )
++{
++ struct timeb t;
++ ftime( &t );
++ tv->tv_sec = t.time;
++ tv->tv_usec = t.millitm * 1000;
++ return 0;
++}
++#define gettimeofday(TV, TZ) dvdnav_private_gettimeofday((TV), (TZ))
++#define HAVE_GETTIMEOFDAY 1
++#endif
++
++#ifndef HAVE_SNPRINTF
++# ifdef HAVE__SNPRINTF
++# define snprintf _snprintf
++# define HAVE_SNPRINTF 1
++# endif
++#endif
++
+ #ifdef WIN32
+
+ /* pthread_mutex_* wrapper for win32 */
+@@ -45,16 +70,6 @@
+ #define pthread_mutex_unlock(a) LeaveCriticalSection(a)
+ #define pthread_mutex_destroy(a)
+
+-/* replacement gettimeofday implementation */
+-#include <sys/timeb.h>
+-static inline int gettimeofday( struct timeval *tv, void *tz )
+-{
+- struct timeb t;
+- ftime( &t );
+- tv->tv_sec = t.time;
+- tv->tv_usec = t.millitm * 1000;
+- return 0;
+-}
+ #include <io.h> /* read() */
+ #define lseek64 _lseeki64
+
+@@ -184,15 +199,38 @@
+
+ /** USEFUL MACROS **/
+
++/* printerr*() are often called when this is NULL. Avoid segfaults by replacing these with
++ * more common prints
++ */
+ #ifdef __GNUC__
+-#define printerrf(format, args...) snprintf(this->err_str, MAX_ERR_LEN, format, ## args);
++#define printerrf(format, args...) \
++ do { \
++ if ( ! this ) fprintf(stderr, "Missing 'this' pointer while erroring:" format "\n", ## args); \
++ else snprintf(this->err_str, MAX_ERR_LEN, format, ## args); \
++ } while(0);
+ #else
+ #ifdef _MSC_VER
+ #define printerrf(str) snprintf(this->err_str, MAX_ERR_LEN, str);
+ #else
+-#define printerrf(...) snprintf(this->err_str, MAX_ERR_LEN, __VA_ARGS__);
++#define printerrf(...) \
++ do { \
++ if ( ! this ) { \
++ fprintf(stderr, "Missing 'this' pointer while erroring:"); \
++ fprintf(stderr, __VA_ARGS__); \
++ fprintf(stderr, "\n"); \
++ } else { \
++ snprintf(this->err_str, MAX_ERR_LEN, __VA_ARGS__); \
++ } \
++ } while(0);
+ #endif /* WIN32 */
+ #endif
+-#define printerr(str) strncpy(this->err_str, str, MAX_ERR_LEN);
++#define printerr(str) \
++ do { \
++ if ( ! this ) { \
++ fprintf(stderr, "Missing 'this' pointer while erroring: %s\n", str); \
++ } else { \
++ strncpy(this->err_str, str, MAX_ERR_LEN); \
++ } \
++ } while(0);
+
+ #endif /* DVDNAV_INTERNAL_H_INCLUDED */
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/bswap.h libdvdnav-0.1.10/src/dvdread/bswap.h
+--- libdvdnav-0.1.10-org/src/dvdread/bswap.h 2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/bswap.h 2008-01-23 06:11:52.000000000 +0100
+@@ -3,7 +3,7 @@
+
+ /*
+ * Copyright (C) 2000, 2001 Billy Biggs <vektor@dumbterm.net>,
+- * Håkan Hjort <d95hjort@dtek.chalmers.se>
++ * Håkan Hjort <d95hjort@dtek.chalmers.se>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+@@ -35,12 +35,24 @@
+ #include <sys/param.h>
+ #endif
+
+-#if defined(__linux__)
++#if defined(__linux__) || defined(__GLIBC__)
+ #include <byteswap.h>
+ #define B2N_16(x) x = bswap_16(x)
+ #define B2N_32(x) x = bswap_32(x)
+ #define B2N_64(x) x = bswap_64(x)
+
++#elif defined(__SVR4) && defined(__sun)
++#include <sys/byteorder.h>
++#define B2N_16(x) x = BSWAP_16(x)
++#define B2N_32(x) x = BSWAP_32(x)
++#define B2N_64(x) x = BSWAP_64(x)
++
++#elif defined(__APPLE__)
++#include <libkern/OSByteOrder.h>
++#define B2N_16(x) x = OSSwapBigToHostInt16(x)
++#define B2N_32(x) x = OSSwapBigToHostInt32(x)
++#define B2N_64(x) x = OSSwapBigToHostInt64(x)
++
+ #elif defined(__NetBSD__)
+ #include <sys/endian.h>
+ #define B2N_16(x) BE16TOH(x)
+@@ -61,11 +73,11 @@
+
+ /* This is a slow but portable implementation, it has multiple evaluation
+ * problems so beware.
+- * Old FreeBSD's and Solaris don't have <byteswap.h> or any other such
++ * Old FreeBSD and Windows don't have <byteswap.h> or any other such
+ * functionality!
+ */
+
+-#elif defined(__FreeBSD__) || defined(__sun) || defined(__bsdi__) || defined(WIN32) || defined(__CYGWIN__)
++#elif defined(__FreeBSD__) || defined(__bsdi__) || defined(WIN32) || defined(__CYGWIN__)
+ #define B2N_16(x) \
+ x = ((((x) & 0xff00) >> 8) | \
+ (((x) & 0x00ff) << 8))
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/dvd_input.c libdvdnav-0.1.10/src/dvdread/dvd_input.c
+--- libdvdnav-0.1.10-org/src/dvdread/dvd_input.c 2004-04-09 14:15:26.000000000 +0200
++++ libdvdnav-0.1.10/src/dvdread/dvd_input.c 2008-01-23 06:11:52.000000000 +0100
+@@ -1,6 +1,6 @@
+ /*
+ * Copyright (C) 2002 Samuel Hocevar <sam@zoy.org>,
+- * Håkan Hjort <d95hjort@dtek.chalmers.se>
++ * Håkan Hjort <d95hjort@dtek.chalmers.se>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+@@ -35,6 +35,7 @@
+ int (*dvdinput_title) (dvd_input_t, int);
+ int (*dvdinput_read) (dvd_input_t, void *, int, int);
+ char * (*dvdinput_error) (dvd_input_t);
++int (*dvdinput_is_encrypted) (dvd_input_t);
+
+ #ifdef HAVE_DVDCSS_DVDCSS_H
+ /* linking to libdvdcss */
+@@ -55,6 +56,73 @@
+ #include "../../msvc/contrib/dlfcn.c"
+ #endif
+
++/* Copied from css.h */
++#define KEY_SIZE 5
++
++typedef uint8_t dvd_key_t[KEY_SIZE];
++
++typedef struct dvd_title_s
++{
++ int i_startlb;
++ dvd_key_t p_key;
++ struct dvd_title_s *p_next;
++} dvd_title_t;
++
++typedef struct css_s
++{
++ int i_agid; /* Current Authenication Grant ID. */
++ dvd_key_t p_bus_key; /* Current session key. */
++ dvd_key_t p_disc_key; /* This DVD disc's key. */
++ dvd_key_t p_title_key; /* Current title key. */
++} css_t;
++
++/* Copied from libdvdcss.h */
++
++#ifndef PATH_MAX
++#define PATH_MAX 4096
++#endif
++
++struct dvdcss_s
++{
++ /* File descriptor */
++ char * psz_device;
++ int i_fd;
++ int i_read_fd;
++ int i_pos;
++
++ /* File handling */
++ void *pf_seek;
++ void *pf_read;
++ void *pf_readv;
++
++ /* Decryption stuff */
++ int i_method;
++ css_t css;
++ int b_ioctls;
++ int b_scrambled;
++ dvd_title_t *p_titles;
++
++ /* Key cache directory and pointer to the filename */
++ char psz_cachefile[PATH_MAX];
++ char * psz_block;
++
++ /* Error management */
++ char * psz_error;
++ int b_errors;
++ int b_debug;
++
++#ifdef WIN32
++ int b_file;
++ char * p_readv_buffer;
++ int i_readv_buf_size;
++#endif
++
++#ifndef WIN32
++ int i_raw_fd;
++#endif
++};
++
++
+ typedef struct dvdcss_s *dvdcss_handle;
+ static dvdcss_handle (*DVDcss_open) (const char *);
+ static int (*DVDcss_close) (dvdcss_handle);
+@@ -149,8 +217,13 @@
+ return 0;
+ }
+
+-
+-
++static int css_is_encrypted (dvd_input_t dev)
++{
++ if (dev->dvdcss == NULL) {
++ return 0;
++ }
++ return dev->dvdcss->b_scrambled;
++}
+
+
+
+@@ -269,6 +342,10 @@
+ return 0;
+ }
+
++static int file_is_encrypted (dvd_input_t dev)
++{
++ return 0;
++}
+
+ /**
+ * Setup read functions with either libdvdcss or minimal DVD access.
+@@ -287,10 +364,12 @@
+ #else
+ /* dlopening libdvdcss */
+
+-#ifndef WIN32
+- dvdcss_library = dlopen("libdvdcss.so.2", RTLD_LAZY);
+-#else
++#ifdef HOST_OS_DARWIN
++ dvdcss_library = dlopen("libdvdcss.2.dylib", RTLD_LAZY);
++#elif defined(WIN32)
+ dvdcss_library = dlopen("libdvdcss.dll", RTLD_LAZY);
++#else
++ dvdcss_library = dlopen("libdvdcss.so.2", RTLD_LAZY);
+ #endif
+
+ if(dvdcss_library != NULL) {
+@@ -323,7 +402,7 @@
+ dvdcss_library = NULL;
+ } else if(!DVDcss_open || !DVDcss_close || !DVDcss_title || !DVDcss_seek
+ || !DVDcss_read || !DVDcss_error || !dvdcss_version) {
+- fprintf(stderr, "libdvdread: Missing symbols in libdvdcss.so.2, "
++ fprintf(stderr, "libdvdread: Missing symbols in libdvdcss, "
+ "this shouldn't happen !\n");
+ dlclose(dvdcss_library);
+ }
+@@ -347,6 +426,7 @@
+ dvdinput_title = css_title;
+ dvdinput_read = css_read;
+ dvdinput_error = css_error;
++ dvdinput_is_encrypted = css_is_encrypted;
+ return 1;
+
+ } else {
+@@ -359,6 +439,7 @@
+ dvdinput_title = file_title;
+ dvdinput_read = file_read;
+ dvdinput_error = file_error;
++ dvdinput_is_encrypted = file_is_encrypted;
+ return 0;
+ }
+ }
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/dvd_input.h libdvdnav-0.1.10/src/dvdread/dvd_input.h
+--- libdvdnav-0.1.10-org/src/dvdread/dvd_input.h 2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/dvd_input.h 2008-01-23 06:11:52.000000000 +0100
+@@ -3,7 +3,7 @@
+
+ /*
+ * Copyright (C) 2001, 2002 Samuel Hocevar <sam@zoy.org>,
+- * Håkan Hjort <d95hjort@dtek.chalmers.se>
++ * Håkan Hjort <d95hjort@dtek.chalmers.se>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+@@ -38,6 +38,7 @@
+ extern int (*dvdinput_title) (dvd_input_t, int);
+ extern int (*dvdinput_read) (dvd_input_t, void *, int, int);
+ extern char * (*dvdinput_error) (dvd_input_t);
++extern int (*dvdinput_is_encrypted) (dvd_input_t);
+
+ /**
+ * Setup function accessed by dvd_reader.c. Returns 1 if there is CSS support.
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/dvd_reader.c libdvdnav-0.1.10/src/dvdread/dvd_reader.c
+--- libdvdnav-0.1.10-org/src/dvdread/dvd_reader.c 2004-03-03 17:48:36.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/dvd_reader.c 2008-03-17 17:18:01.000000000 +0100
+@@ -1,7 +1,7 @@
+ /*
+- * Copyright (C) 2001, 2002, 2003 Billy Biggs <vektor@dumbterm.net>,
+- * Håkan Hjort <d95hjort@dtek.chalmers.se>,
+- * Björn Englund <d4bjorn@dtek.chalmers.se>
++ * Copyright (C) 2001-2004 Billy Biggs <vektor@dumbterm.net>,
++ * Håkan Hjort <d95hjort@dtek.chalmers.se>,
++ * Björn Englund <d4bjorn@dtek.chalmers.se>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+@@ -32,11 +32,16 @@
+ #include <limits.h>
+ #include <dirent.h>
+
+-/* misc win32 helpers */
+-#ifdef WIN32
++#ifndef HAVE_GETTIMEOFDAY
++# ifdef WIN32
++# include <winsock.h>
++struct timezone;
++# else
++# include <sys/time.h>
++# endif
+ /* replacement gettimeofday implementation */
+ #include <sys/timeb.h>
+-static inline int gettimeofday( struct timeval *tv, void *tz )
++static inline int _private_gettimeofday( struct timeval *tv, void *tz )
+ {
+ struct timeb t;
+ ftime( &t );
+@@ -44,11 +49,16 @@
+ tv->tv_usec = t.millitm * 1000;
+ return 0;
+ }
++#define gettimeofday(TV, TZ) _private_gettimeofday((TV), (TZ))
++#endif
++
++/* misc win32 helpers */
++#ifdef WIN32
+ #include <io.h> /* read() */
+ #define lseek64 _lseeki64
+ #endif
+
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__bsdi__)|| defined(__DARWIN__)
++#if defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__bsdi__)|| defined(__DARWIN__)
+ #define SYS_BSD 1
+ #endif
+
+@@ -478,6 +489,13 @@
+ me->mnt_fsname,
+ me->mnt_dir );
+ auth_drive = DVDOpenImageFile( me->mnt_fsname, have_css );
++ /* If the device is not encrypted, don't access the device
++ * directly as it would fail for non-UDF DVDs */
++ if ( auth_drive && dvdinput_is_encrypted( auth_drive->dev ) == 0) {
++ DVDClose( auth_drive );
++ auth_drive = NULL;
++ break;
++ }
+ dev_name = strdup(me->mnt_fsname);
+ break;
+ }
+@@ -585,10 +603,12 @@
+ sprintf( filename, "%s%s%s", path,
+ ( ( path[ strlen( path ) - 1 ] == '/' ) ? "" : "/" ),
+ ent->d_name );
++ closedir (dir);
+ return 0;
+ }
+ }
+
++ closedir (dir);
+ return -1;
+ }
+
+@@ -1017,6 +1037,28 @@
+ return offset;
+ }
+
++int32_t DVDFileSeekForce( dvd_file_t *dvd_file, int offset, int force_size )
++{
++ /* Check arguments. */
++ if( dvd_file == NULL || offset < 0 )
++ return -1;
++
++ if( dvd_file->dvd->isImageFile ) {
++ if( force_size < 0 )
++ force_size = (offset - 1) / DVD_VIDEO_LB_LEN + 1;
++ if( dvd_file->filesize < force_size) {
++ dvd_file->filesize = force_size;
++ fprintf(stderr, "libdvdread: Ignored UDF provided size of file.\n");
++ }
++ }
++
++ if( offset > dvd_file->filesize * DVD_VIDEO_LB_LEN ) {
++ return -1;
++ }
++ dvd_file->seek_pos = (uint32_t) offset;
++ return offset;
++}
++
+ ssize_t DVDReadBytes( dvd_file_t *dvd_file, void *data, size_t byte_size )
+ {
+ unsigned char *secbuf_base, *secbuf;
+@@ -1057,7 +1099,7 @@
+ memcpy( data, &(secbuf[ seek_byte ]), byte_size );
+ free( secbuf_base );
+
+- dvd_file->seek_pos += byte_size;
++ DVDFileSeekForce(dvd_file, dvd_file->seek_pos + byte_size, -1);
+ return byte_size;
+ }
+
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/dvd_reader.h libdvdnav-0.1.10/src/dvdread/dvd_reader.h
+--- libdvdnav-0.1.10-org/src/dvdread/dvd_reader.h 2004-02-01 18:55:19.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/dvd_reader.h 2008-03-28 15:24:50.000000000 +0100
+@@ -3,8 +3,8 @@
+
+ /*
+ * Copyright (C) 2001, 2002 Billy Biggs <vektor@dumbterm.net>,
+- * Håkan Hjort <d95hjort@dtek.chalmers.se>,
+- * Björn Englund <d4bjorn@dtek.chalmers.se>
++ * Håkan Hjort <d95hjort@dtek.chalmers.se>,
++ * Björn Englund <d4bjorn@dtek.chalmers.se>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+@@ -21,9 +21,11 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+-#ifdef _MSC_VER
++#ifdef HAVE_CONFIG_H
+ #include <config.h>
++#endif
+
++#ifdef _MSC_VER
+ #include <stdio.h>
+ #include <stdlib.h>
+ #endif
+@@ -169,6 +171,8 @@
+ */
+ int32_t DVDFileSeek( dvd_file_t *, int32_t );
+
++int32_t DVDFileSeekForce( dvd_file_t *, int, int );
++
+ /**
+ * Reads the given number of bytes from the file. This call can only be used
+ * on the information files, and may not be used for reading from a VOB. This
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/dvd_udf.c libdvdnav-0.1.10/src/dvdread/dvd_udf.c
+--- libdvdnav-0.1.10-org/src/dvdread/dvd_udf.c 2004-03-03 17:48:36.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/dvd_udf.c 2008-03-07 15:19:43.000000000 +0100
+@@ -4,7 +4,7 @@
+ *
+ * Modifications by:
+ * Billy Biggs <vektor@dumbterm.net>.
+- * Björn Englund <d4bjorn@dtek.chalmers.se>.
++ * Björn Englund <d4bjorn@dtek.chalmers.se>.
+ *
+ * dvdudf: parse and read the UDF volume information of a DVD Video
+ * Copyright (C) 1999 Christian Wolff for convergence integrated media
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/dvd_udf.h libdvdnav-0.1.10/src/dvdread/dvd_udf.h
+--- libdvdnav-0.1.10-org/src/dvdread/dvd_udf.h 2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/dvd_udf.h 2008-01-23 06:11:52.000000000 +0100
+@@ -7,7 +7,7 @@
+ *
+ * Modifications by:
+ * Billy Biggs <vektor@dumbterm.net>.
+- * Björn Englund <d4bjorn@dtek.chalmers.se>.
++ * Björn Englund <d4bjorn@dtek.chalmers.se>.
+ *
+ * dvdudf: parse and read the UDF volume information of a DVD Video
+ * Copyright (C) 1999 Christian Wolff for convergence integrated media
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/ifo_read.c libdvdnav-0.1.10/src/dvdread/ifo_read.c
+--- libdvdnav-0.1.10-org/src/dvdread/ifo_read.c 2004-02-23 19:14:42.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/ifo_read.c 2008-03-17 17:18:01.000000000 +0100
+@@ -1,7 +1,7 @@
+ /*
+ * Copyright (C) 2000, 2001, 2002, 2003
+- * Björn Englund <d4bjorn@dtek.chalmers.se>,
+- * Håkan Hjort <d95hjort@dtek.chalmers.se>
++ * Björn Englund <d4bjorn@dtek.chalmers.se>,
++ * Håkan Hjort <d95hjort@dtek.chalmers.se>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+@@ -93,6 +93,10 @@
+ return (DVDFileSeek(dvd_file, (int)offset) == (int)offset);
+ }
+
++static inline int32_t DVDFileSeekForce_( dvd_file_t *dvd_file, uint32_t offset, int force_size ) {
++ return (DVDFileSeekForce(dvd_file, (int)offset, force_size) == (int)offset);
++}
++
+
+ ifo_handle_t *ifoOpen(dvd_reader_t *dvd, int title) {
+ ifo_handle_t *ifofile;
+@@ -683,7 +687,7 @@
+ pgc->command_tbl = NULL;
+ }
+
+- if(pgc->program_map_offset != 0) {
++ if(pgc->program_map_offset != 0 && pgc->nr_of_programs>0) {
+ pgc->program_map = malloc(pgc->nr_of_programs * sizeof(pgc_program_map_t));
+ if(!pgc->program_map) {
+ ifoFree_PGC_COMMAND_TBL(pgc->command_tbl);
+@@ -699,7 +703,7 @@
+ pgc->program_map = NULL;
+ }
+
+- if(pgc->cell_playback_offset != 0) {
++ if(pgc->cell_playback_offset != 0 && pgc->nr_of_cells>0) {
+ pgc->cell_playback = malloc(pgc->nr_of_cells * sizeof(cell_playback_t));
+ if(!pgc->cell_playback) {
+ ifoFree_PGC_COMMAND_TBL(pgc->command_tbl);
+@@ -720,7 +724,7 @@
+ pgc->cell_playback = NULL;
+ }
+
+- if(pgc->cell_position_offset != 0) {
++ if(pgc->cell_position_offset != 0 && pgc->nr_of_cells>0) {
+ pgc->cell_position = malloc(pgc->nr_of_cells * sizeof(cell_position_t));
+ if(!pgc->cell_position) {
+ ifoFree_PGC(pgc);
+@@ -1507,7 +1511,7 @@
+ unsigned int i;
+ int info_length;
+
+- if(!DVDFileSeek_(ifofile->file, sector * DVD_BLOCK_LEN))
++ if(!DVDFileSeekForce_(ifofile->file, sector * DVD_BLOCK_LEN, sector))
+ return 0;
+
+ if(!(DVDReadBytes(ifofile->file, vobu_admap, VOBU_ADMAP_SIZE)))
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/ifo_read.h libdvdnav-0.1.10/src/dvdread/ifo_read.h
+--- libdvdnav-0.1.10-org/src/dvdread/ifo_read.h 2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/ifo_read.h 2008-01-23 06:11:52.000000000 +0100
+@@ -2,8 +2,8 @@
+ #define IFO_READ_H_INCLUDED
+
+ /*
+- * Copyright (C) 2000, 2001, 2002 Björn Englund <d4bjorn@dtek.chalmers.se>,
+- * Håkan Hjort <d95hjort@dtek.chalmers.se>
++ * Copyright (C) 2000, 2001, 2002 Björn Englund <d4bjorn@dtek.chalmers.se>,
++ * Håkan Hjort <d95hjort@dtek.chalmers.se>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/ifo_types.h libdvdnav-0.1.10/src/dvdread/ifo_types.h
+--- libdvdnav-0.1.10-org/src/dvdread/ifo_types.h 2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/ifo_types.h 2008-01-23 06:11:52.000000000 +0100
+@@ -2,8 +2,8 @@
+ #define IFO_TYPES_H_INCLUDED
+
+ /*
+- * Copyright (C) 2000, 2001 Björn Englund <d4bjorn@dtek.chalmers.se>,
+- * Håkan Hjort <d95hjort@dtek.chalmers.se>
++ * Copyright (C) 2000, 2001 Björn Englund <d4bjorn@dtek.chalmers.se>,
++ * Håkan Hjort <d95hjort@dtek.chalmers.se>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/md5.c libdvdnav-0.1.10/src/dvdread/md5.c
+--- libdvdnav-0.1.10-org/src/dvdread/md5.c 2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/md5.c 2008-03-28 15:24:50.000000000 +0100
+@@ -26,14 +26,8 @@
+
+ #include <sys/types.h>
+
+-#if STDC_HEADERS || defined _LIBC
+-# include <stdlib.h>
+-# include <string.h>
+-#else
+-# ifndef HAVE_MEMCPY
+-# define memcpy(d, s, n) bcopy ((s), (d), (n))
+-# endif
+-#endif
++#include <stdlib.h>
++#include <string.h>
+
+ #include "md5.h"
+ /* #include "unlocked-io.h" */
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/nav_print.c libdvdnav-0.1.10/src/dvdread/nav_print.c
+--- libdvdnav-0.1.10-org/src/dvdread/nav_print.c 2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/nav_print.c 2008-01-23 06:11:52.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000, 2001, 2002, 2003 Håkan Hjort <d95hjort@dtek.chalmers.se>
++ * Copyright (C) 2000, 2001, 2002, 2003 Håkan Hjort <d95hjort@dtek.chalmers.se>
+ *
+ * Much of the contents in this file is based on VOBDUMP.
+ *
+@@ -65,7 +65,8 @@
+ printf("pci_gi:\n");
+ printf("nv_pck_lbn 0x%08x\n", pci_gi->nv_pck_lbn);
+ printf("vobu_cat 0x%04x\n", pci_gi->vobu_cat);
+- printf("vobu_uop_ctl 0x%08x\n", *(uint32_t*)&pci_gi->vobu_uop_ctl);
++/* This will break strict aliasing, better avoid as this seems to be useless
++ printf("vobu_uop_ctl 0x%08x\n", *(uint32_t*)&pci_gi->vobu_uop_ctl); */
+ printf("vobu_s_ptm 0x%08x\n", pci_gi->vobu_s_ptm);
+ printf("vobu_e_ptm 0x%08x\n", pci_gi->vobu_e_ptm);
+ printf("vobu_se_e_ptm 0x%08x\n", pci_gi->vobu_se_e_ptm);
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/nav_print.h libdvdnav-0.1.10/src/dvdread/nav_print.h
+--- libdvdnav-0.1.10-org/src/dvdread/nav_print.h 2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/nav_print.h 2008-01-23 06:11:52.000000000 +0100
+@@ -3,7 +3,7 @@
+
+ /*
+ * Copyright (C) 2001, 2002 Billy Biggs <vektor@dumbterm.net>,
+- * Håkan Hjort <d95hjort@dtek.chalmers.se>
++ * Håkan Hjort <d95hjort@dtek.chalmers.se>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/nav_read.c libdvdnav-0.1.10/src/dvdread/nav_read.c
+--- libdvdnav-0.1.10-org/src/dvdread/nav_read.c 2004-03-03 17:50:41.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/nav_read.c 2008-01-23 06:11:52.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000, 2001, 2002, 2003 Håkan Hjort <d95hjort@dtek.chalmers.se>
++ * Copyright (C) 2000, 2001, 2002, 2003 Håkan Hjort <d95hjort@dtek.chalmers.se>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/nav_read.h libdvdnav-0.1.10/src/dvdread/nav_read.h
+--- libdvdnav-0.1.10-org/src/dvdread/nav_read.h 2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/nav_read.h 2008-01-23 06:11:52.000000000 +0100
+@@ -2,7 +2,7 @@
+ #define NAV_READ_H_INCLUDED
+
+ /*
+- * Copyright (C) 2000, 2001, 2002 Håkan Hjort <d95hjort@dtek.chalmers.se>.
++ * Copyright (C) 2000, 2001, 2002 Håkan Hjort <d95hjort@dtek.chalmers.se>.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+diff -Naur libdvdnav-0.1.10-org/src/dvdread/nav_types.h libdvdnav-0.1.10/src/dvdread/nav_types.h
+--- libdvdnav-0.1.10-org/src/dvdread/nav_types.h 2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/dvdread/nav_types.h 2008-01-23 06:11:52.000000000 +0100
+@@ -2,7 +2,7 @@
+ #define NAV_TYPES_H_INCLUDED
+
+ /*
+- * Copyright (C) 2000, 2001, 2002 Håkan Hjort <d95hjort@dtek.chalmers.se>
++ * Copyright (C) 2000, 2001, 2002 Håkan Hjort <d95hjort@dtek.chalmers.se>
+ *
+ * The data structures in this file should represent the layout of the
+ * pci and dsi packets as they are stored in the stream. Information
+diff -Naur libdvdnav-0.1.10-org/src/dvd_types.h libdvdnav-0.1.10/src/dvd_types.h
+--- libdvdnav-0.1.10-org/src/dvd_types.h 2003-04-21 15:18:06.000000000 +0200
++++ libdvdnav-0.1.10/src/dvd_types.h 2008-01-23 06:11:52.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000, 2001 Björn Englund, Håkan Hjort
++ * Copyright (C) 2000, 2001 Björn Englund, Håkan Hjort
+ *
+ * This file is part of libdvdnav, a DVD navigation library. It is a modified
+ * file originally part of the Ogle DVD player project.
+@@ -17,9 +17,6 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: dvd_types.h,v 1.7 2003/04/21 13:18:06 mroi Exp $
+- *
+ */
+
+ /*
+diff -Naur libdvdnav-0.1.10-org/src/highlight.c libdvdnav-0.1.10/src/highlight.c
+--- libdvdnav-0.1.10-org/src/highlight.c 2004-01-20 02:22:24.000000000 +0100
++++ libdvdnav-0.1.10/src/highlight.c 2008-03-28 15:24:50.000000000 +0100
+@@ -16,9 +16,6 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: highlight.c,v 1.32 2004/01/20 01:22:24 jcdutton Exp $
+- *
+ */
+
+ #ifdef HAVE_CONFIG_H
+diff -Naur libdvdnav-0.1.10-org/src/navigation.c libdvdnav-0.1.10/src/navigation.c
+--- libdvdnav-0.1.10-org/src/navigation.c 2004-01-07 20:34:28.000000000 +0100
++++ libdvdnav-0.1.10/src/navigation.c 2008-03-28 15:24:50.000000000 +0100
+@@ -16,9 +16,6 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: navigation.c,v 1.21 2004/01/07 19:34:28 mroi Exp $
+- *
+ */
+
+ #ifdef HAVE_CONFIG_H
+@@ -60,8 +57,8 @@
+ printerr("Passed a NULL pointer.");
+ return DVDNAV_STATUS_ERR;
+ }
+- if(!this->started) {
+- printerr("Virtual DVD machine not started.");
++ if (!this->vm->vmgi) {
++ printerr("Bad VM state.");
+ return DVDNAV_STATUS_ERR;
+ }
+
+@@ -75,8 +72,8 @@
+ printerr("Passed a NULL pointer.");
+ return DVDNAV_STATUS_ERR;
+ }
+- if(!this->started) {
+- printerr("Virtual DVD machine not started.");
++ if (!this->vm->vmgi) {
++ printerr("Bad VM state.");
+ return DVDNAV_STATUS_ERR;
+ }
+ if ((title < 1) || (title > vm_get_vmgi(this->vm)->tt_srpt->nr_of_srpts) ) {
+@@ -103,6 +100,11 @@
+ pthread_mutex_unlock(&this->vm_lock);
+ return DVDNAV_STATUS_ERR;
+ }
++ if (!this->started) {
++ printerr("Virtual DVD machine not started.");
++ pthread_mutex_unlock(&this->vm_lock);
++ return DVDNAV_STATUS_ERR;
++ }
+ if (!this->vm->state.pgc) {
+ printerr("No current PGC.");
+ pthread_mutex_unlock(&this->vm_lock);
+@@ -150,6 +152,11 @@
+ pthread_mutex_unlock(&this->vm_lock);
+ return DVDNAV_STATUS_ERR;
+ }
++ if (!this->started) {
++ /* don't report an error but be nice */
++ vm_start(this->vm);
++ this->started = 1;
++ }
+ if (!this->vm->state.pgc) {
+ printerr("No current PGC.");
+ pthread_mutex_unlock(&this->vm_lock);
+diff -Naur libdvdnav-0.1.10-org/src/read_cache.c libdvdnav-0.1.10/src/read_cache.c
+--- libdvdnav-0.1.10-org/src/read_cache.c 2004-03-03 17:48:36.000000000 +0100
++++ libdvdnav-0.1.10/src/read_cache.c 2008-03-28 15:24:50.000000000 +0100
+@@ -17,9 +17,6 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: read_cache.c,v 1.30 2004/03/03 16:48:36 mroi Exp $
+- *
+ */
+ /*
+ * There was a multithreaded read ahead cache in here for some time, but
+diff -Naur libdvdnav-0.1.10-org/src/read_cache.h libdvdnav-0.1.10/src/read_cache.h
+--- libdvdnav-0.1.10-org/src/read_cache.h 2002-07-12 17:46:44.000000000 +0200
++++ libdvdnav-0.1.10/src/read_cache.h 2008-01-23 06:11:52.000000000 +0100
+@@ -16,9 +16,6 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: read_cache.h,v 1.4 2002/07/12 15:46:44 mroi Exp $
+- *
+ */
+
+ #ifndef __DVDNAV_READ_CACHE_H
+diff -Naur libdvdnav-0.1.10-org/src/remap.c libdvdnav-0.1.10/src/remap.c
+--- libdvdnav-0.1.10-org/src/remap.c 2003-08-27 15:54:19.000000000 +0200
++++ libdvdnav-0.1.10/src/remap.c 2008-03-07 15:19:43.000000000 +0100
+@@ -14,22 +14,23 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: remap.c,v 1.4 2003/08/27 13:54:19 mroi Exp $
+ */
+
+ #include <stdlib.h>
+ #include <string.h>
+ #include <stdio.h>
+
+-#ifndef _MSC_VER
++#ifdef HAVE_SYS_PARAM_H
+ #include <sys/param.h>
++#endif
++
++#ifdef HAVE_SYS_FCNTL_H
+ #include <sys/fcntl.h>
+ #else
+ #ifndef MAXPATHLEN
+ #define MAXPATHLEN 255
+ #endif
+-#endif /* _MSC_VER */
++#endif /* HAVE fcntl.h */
+
+ #include <assert.h>
+ #include "remap.h"
+@@ -190,10 +191,7 @@
+
+ /* Build the map filename */
+ home = getenv("HOME"); assert(home);
+- strncpy(fname, home, sizeof(fname));
+- strncat(fname, "/.dvdnav/", sizeof(fname));
+- strncat(fname, title, sizeof(fname));
+- strncat(fname, ".map", sizeof(fname));
++ snprintf (fname, sizeof(fname), "%s/.dvdnav/%s.map", home, title);
+
+ /* Open the map file */
+ fp = fopen( fname, "r");
+diff -Naur libdvdnav-0.1.10-org/src/remap.h libdvdnav-0.1.10/src/remap.h
+--- libdvdnav-0.1.10-org/src/remap.h 2003-02-20 16:32:19.000000000 +0100
++++ libdvdnav-0.1.10/src/remap.h 2008-01-23 06:11:52.000000000 +0100
+@@ -14,8 +14,6 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: remap.h,v 1.2 2003/02/20 15:32:19 mroi Exp $
+ */
+
+ #ifndef __REMAP__H
+diff -Naur libdvdnav-0.1.10-org/src/searching.c libdvdnav-0.1.10/src/searching.c
+--- libdvdnav-0.1.10-org/src/searching.c 2004-01-07 20:35:12.000000000 +0100
++++ libdvdnav-0.1.10/src/searching.c 2008-03-28 15:24:50.000000000 +0100
+@@ -16,9 +16,6 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: searching.c,v 1.35 2004/01/07 19:35:12 mroi Exp $
+- *
+ */
+
+ #ifdef HAVE_CONFIG_H
+@@ -27,6 +24,7 @@
+
+ #include <assert.h>
+ #include "dvdnav_internal.h"
++#include "dvdnav.h"
+
+ /*
+ #define LOG_DEBUG
+@@ -34,12 +32,6 @@
+
+ /* Searching API calls */
+
+-dvdnav_status_t dvdnav_time_search(dvdnav_t *this,
+- uint64_t time) {
+- /* FIXME: Time search the current PGC based on the xxx table */
+- return DVDNAV_STATUS_OK;
+-}
+-
+ /* Scan the ADMAP for a particular block number. */
+ /* Return placed in vobu. */
+ /* Returns error status */
+@@ -101,6 +93,86 @@
+ return DVDNAV_STATUS_ERR;
+ }
+
++dvdnav_status_t dvdnav_time_search(dvdnav_t *this,
++ uint64_t time) {
++
++ uint64_t target = time;
++ uint64_t length = 0;
++ uint32_t first_cell_nr, last_cell_nr, cell_nr;
++ int32_t found;
++ cell_playback_t *cell;
++ dvd_state_t *state;
++
++ if(this->position_current.still != 0) {
++ printerr("Cannot seek in a still frame.");
++ return DVDNAV_STATUS_ERR;
++ }
++
++ pthread_mutex_lock(&this->vm_lock);
++ state = &(this->vm->state);
++ if(!state->pgc) {
++ printerr("No current PGC.");
++ pthread_mutex_unlock(&this->vm_lock);
++ return DVDNAV_STATUS_ERR;
++ }
++
++
++ if (this->pgc_based) {
++ first_cell_nr = 1;
++ last_cell_nr = state->pgc->nr_of_cells;
++ } else {
++ /* Find start cell of program. */
++ first_cell_nr = state->pgc->program_map[state->pgN-1];
++ /* Find end cell of program */
++ if(state->pgN < state->pgc->nr_of_programs)
++ last_cell_nr = state->pgc->program_map[state->pgN] - 1;
++ else
++ last_cell_nr = state->pgc->nr_of_cells;
++ }
++
++ found = 0;
++ for(cell_nr = first_cell_nr; (cell_nr <= last_cell_nr) && !found; cell_nr ++) {
++ cell = &(state->pgc->cell_playback[cell_nr-1]);
++ length = dvdnav_convert_time(&cell->playback_time);
++ if (target >= length) {
++ target -= length;
++ } else {
++ /* FIXME: there must be a better way than interpolation */
++ target = target * (cell->last_sector - cell->first_sector + 1) / length;
++ target += cell->first_sector;
++
++ found = 1;
++ break;
++ }
++ }
++
++ if(found) {
++ int32_t vobu;
++#ifdef LOG_DEBUG
++ fprintf(MSG_OUT, "libdvdnav: Seeking to cell %i from choice of %i to %i\n",
++ cell_nr, first_cell_nr, last_cell_nr);
++#endif
++ if (dvdnav_scan_admap(this, state->domain, target, &vobu) == DVDNAV_STATUS_OK) {
++ int32_t start = state->pgc->cell_playback[cell_nr-1].first_sector;
++
++ if (vm_jump_cell_block(this->vm, cell_nr, vobu - start)) {
++#ifdef LOG_DEBUG
++ fprintf(MSG_OUT, "libdvdnav: After cellN=%u blockN=%u target=%x vobu=%x start=%x\n" ,
++ state->cellN, state->blockN, target, vobu, start);
++#endif
++ this->vm->hop_channel += HOP_SEEK;
++ pthread_mutex_unlock(&this->vm_lock);
++ return DVDNAV_STATUS_OK;
++ }
++ }
++ }
++
++ fprintf(MSG_OUT, "libdvdnav: Error when seeking\n");
++ printerr("Error when seeking.");
++ pthread_mutex_unlock(&this->vm_lock);
++ return DVDNAV_STATUS_ERR;
++}
++
+ dvdnav_status_t dvdnav_sector_search(dvdnav_t *this,
+ uint64_t offset, int32_t origin) {
+ uint32_t target = 0;
+diff -Naur libdvdnav-0.1.10-org/src/settings.c libdvdnav-0.1.10/src/settings.c
+--- libdvdnav-0.1.10-org/src/settings.c 2003-12-31 22:37:16.000000000 +0100
++++ libdvdnav-0.1.10/src/settings.c 2008-03-28 15:24:50.000000000 +0100
+@@ -16,9 +16,6 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: settings.c,v 1.9 2003/12/31 21:37:16 jcdutton Exp $
+- *
+ */
+
+ #ifdef HAVE_CONFIG_H
+diff -Naur libdvdnav-0.1.10-org/src/vm/decoder.c libdvdnav-0.1.10/src/vm/decoder.c
+--- libdvdnav-0.1.10-org/src/vm/decoder.c 2004-03-03 17:50:42.000000000 +0100
++++ libdvdnav-0.1.10/src/vm/decoder.c 2008-03-28 15:24:50.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000, 2001 Martin Norbäck, Håkan Hjort
++ * Copyright (C) 2000, 2001 Martin Norbäck, Håkan Hjort
+ * 2002-2004 the dvdnav project
+ *
+ * This file is part of libdvdnav, a DVD navigation library. It is modified
+@@ -18,9 +18,6 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: decoder.c,v 1.2 2004/03/03 16:50:42 mroi Exp $
+- *
+ */
+
+ #ifdef HAVE_CONFIG_H
+diff -Naur libdvdnav-0.1.10-org/src/vm/decoder.h libdvdnav-0.1.10/src/vm/decoder.h
+--- libdvdnav-0.1.10-org/src/vm/decoder.h 2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/vm/decoder.h 2008-01-23 06:11:52.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000, 2001 Martin Norbäck, Håkan Hjort
++ * Copyright (C) 2000, 2001 Martin Norbäck, Håkan Hjort
+ *
+ * This file is part of libdvdnav, a DVD navigation library. It is modified
+ * from a file originally part of the Ogle DVD player.
+@@ -17,9 +17,6 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: decoder.h,v 1.1 2004/01/11 21:43:13 mroi Exp $
+- *
+ */
+
+ #ifndef DECODER_H_INCLUDED
+diff -Naur libdvdnav-0.1.10-org/src/vm/vm.c libdvdnav-0.1.10/src/vm/vm.c
+--- libdvdnav-0.1.10-org/src/vm/vm.c 2004-05-21 21:32:25.000000000 +0200
++++ libdvdnav-0.1.10/src/vm/vm.c 2008-03-28 15:24:50.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000, 2001 Håkan Hjort
++ * Copyright (C) 2000, 2001 Håkan Hjort
+ * Copyright (C) 2001 Rich Wareham <richwareham@users.sourceforge.net>
+ * 2002-2004 the dvdnav project
+ *
+@@ -19,9 +19,6 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: vm.c,v 1.6 2004/05/21 19:32:25 mroi Exp $
+- *
+ */
+
+ #ifdef HAVE_CONFIG_H
+@@ -184,9 +181,9 @@
+ }
+ }
+
+-static void ifoOpenNewVTSI(vm_t *vm, dvd_reader_t *dvd, int vtsN) {
++static int ifoOpenNewVTSI(vm_t *vm, dvd_reader_t *dvd, int vtsN) {
+ if((vm->state).vtsN == vtsN) {
+- return; /* We alread have it */
++ return 1; /* We alread have it */
+ }
+
+ if(vm->vtsi != NULL)
+@@ -194,30 +191,32 @@
+
+ vm->vtsi = ifoOpenVTSI(dvd, vtsN);
+ if(vm->vtsi == NULL) {
+- fprintf(MSG_OUT, "libdvdnav: ifoOpenVTSI failed - CRASHING!!!\n");
+- assert(0);
++ fprintf(MSG_OUT, "libdvdnav: ifoOpenVTSI failed\n");
++ return 0;
+ }
+ if(!ifoRead_VTS_PTT_SRPT(vm->vtsi)) {
+- fprintf(MSG_OUT, "libdvdnav: ifoRead_VTS_PTT_SRPT failed - CRASHING!!!\n");
+- assert(0);
++ fprintf(MSG_OUT, "libdvdnav: ifoRead_VTS_PTT_SRPT failed\n");
++ return 0;
+ }
+ if(!ifoRead_PGCIT(vm->vtsi)) {
+- fprintf(MSG_OUT, "libdvdnav: ifoRead_PGCIT failed - CRASHING!!!\n");
+- assert(0);
++ fprintf(MSG_OUT, "libdvdnav: ifoRead_PGCIT failed\n");
++ return 0;
+ }
+ if(!ifoRead_PGCI_UT(vm->vtsi)) {
+- fprintf(MSG_OUT, "libdvdnav: ifoRead_PGCI_UT failed - CRASHING!!!\n");
+- assert(0);
++ fprintf(MSG_OUT, "libdvdnav: ifoRead_PGCI_UT failed\n");
++ return 0;
+ }
+ if(!ifoRead_VOBU_ADMAP(vm->vtsi)) {
+- fprintf(MSG_OUT, "libdvdnav: ifoRead_VOBU_ADMAP vtsi failed - CRASHING\n");
+- assert(0);
++ fprintf(MSG_OUT, "libdvdnav: ifoRead_VOBU_ADMAP vtsi failed\n");
++ return 0;
+ }
+ if(!ifoRead_TITLE_VOBU_ADMAP(vm->vtsi)) {
+- fprintf(MSG_OUT, "libdvdnav: ifoRead_TITLE_VOBU_ADMAP vtsi failed - CRASHING\n");
+- assert(0);
++ fprintf(MSG_OUT, "libdvdnav: ifoRead_TITLE_VOBU_ADMAP vtsi failed\n");
++ return 0;
+ }
+ (vm->state).vtsN = vtsN;
++
++ return 1;
+ }
+
+
+@@ -253,10 +252,11 @@
+
+ /* Basic Handling */
+
+-void vm_start(vm_t *vm) {
++int vm_start(vm_t *vm) {
+ /* Set pgc to FP (First Play) pgc */
+ set_FP_PGC(vm);
+ process_command(vm, play_PGC(vm));
++ return !vm->stopped;
+ }
+
+ void vm_stop(vm_t *vm) {
+@@ -382,7 +382,8 @@
+ vtsN = (target->state).vtsN;
+ if (vtsN > 0) {
+ (target->state).vtsN = 0;
+- ifoOpenNewVTSI(target, target->dvd, vtsN);
++ if (!ifoOpenNewVTSI(target, target->dvd, vtsN))
++ assert(0);
+
+ /* restore pgc pointer into the new vtsi */
+ if (!set_PGCN(target, pgcN))
+@@ -712,8 +713,8 @@
+ }
+ }
+
+- if((vm->state).domain != VTS_DOMAIN && streamN == -1)
+- streamN = 0;
++ if((vm->state).domain != VTS_DOMAIN && streamN == -1)
++ streamN = 0;
+
+ /* FIXME: Should also check in vtsi/vmgi status what kind of stream it is. */
+ return streamN;
+@@ -1280,9 +1281,10 @@
+ if(link_values.data1 != 0)
+ (vm->state).HL_BTNN_REG = link_values.data1 << 10;
+ assert((vm->state).pgc->next_pgc_nr != 0);
+- if(!set_PGCN(vm, (vm->state).pgc->next_pgc_nr))
+- assert(0);
+- link_values = play_PGC(vm);
++ if(set_PGCN(vm, (vm->state).pgc->next_pgc_nr))
++ link_values = play_PGC(vm);
++ else
++ link_values.command = Exit;
+ break;
+ case LinkPrevPGC:
+ /* Link to Previous Program Chain */
+@@ -1290,9 +1292,10 @@
+ if(link_values.data1 != 0)
+ (vm->state).HL_BTNN_REG = link_values.data1 << 10;
+ assert((vm->state).pgc->prev_pgc_nr != 0);
+- if(!set_PGCN(vm, (vm->state).pgc->prev_pgc_nr))
+- assert(0);
+- link_values = play_PGC(vm);
++ if(set_PGCN(vm, (vm->state).pgc->prev_pgc_nr))
++ link_values = play_PGC(vm);
++ else
++ link_values.command = Exit;
+ break;
+ case LinkGoUpPGC:
+ /* Link to GoUp Program Chain */
+@@ -1300,9 +1303,10 @@
+ if(link_values.data1 != 0)
+ (vm->state).HL_BTNN_REG = link_values.data1 << 10;
+ assert((vm->state).pgc->goup_pgc_nr != 0);
+- if(!set_PGCN(vm, (vm->state).pgc->goup_pgc_nr))
+- assert(0);
+- link_values = play_PGC(vm);
++ if(set_PGCN(vm, (vm->state).pgc->goup_pgc_nr))
++ link_values = play_PGC(vm);
++ else
++ link_values.command = Exit;
+ break;
+ case LinkTailPGC:
+ /* Link to Tail of Program Chain */
+@@ -1325,7 +1329,8 @@
+ }
+
+ (vm->state).domain = VTS_DOMAIN;
+- ifoOpenNewVTSI(vm, vm->dvd, (vm->state).rsm_vtsN);
++ if (!ifoOpenNewVTSI(vm, vm->dvd, (vm->state).rsm_vtsN))
++ assert(0);
+ set_PGCN(vm, (vm->state).rsm_pgcN);
+
+ /* These should never be set in SystemSpace and/or MenuSpace */
+@@ -1343,10 +1348,11 @@
+ (vm->state).pgN = 1;
+ link_values = play_PG(vm);
+ } else {
+- /* (vm->state).pgN = ?? this gets the righ value in set_PGN() below */
++ /* (vm->state).pgN = ?? this gets the right value in set_PGN() below */
+ (vm->state).cellN = (vm->state).rsm_cellN;
+ link_values.command = PlayThis;
+- link_values.data1 = (vm->state).rsm_blockN;
++ link_values.data1 = (vm->state).rsm_blockN & 0xffff;
++ link_values.data2 = (vm->state).rsm_blockN >> 16;
+ if(!set_PGN(vm)) {
+ /* Were at the end of the PGC, should not happen for a RSM */
+ assert(0);
+@@ -1403,9 +1409,10 @@
+ /* Stop SPRM9 Timer */
+ /* Set SPRM1 and SPRM2 */
+ assert((vm->state).domain == VMGM_DOMAIN || (vm->state).domain == FP_DOMAIN); /* ?? */
+- if(!set_TT(vm, link_values.data1))
+- assert(0);
+- link_values = play_PGC(vm);
++ if(set_TT(vm, link_values.data1))
++ link_values = play_PGC(vm);
++ else
++ link_values.command = Exit;
+ break;
+ case JumpVTS_TT:
+ /* Jump to Title:data1 in same VTS Title Domain */
+@@ -1462,7 +1469,8 @@
+ /* the normal case */
+ assert((vm->state).domain == VMGM_DOMAIN || (vm->state).domain == FP_DOMAIN); /* ?? */
+ (vm->state).domain = VTSM_DOMAIN;
+- ifoOpenNewVTSI(vm, vm->dvd, link_values.data1); /* Also sets (vm->state).vtsN */
++ if (!ifoOpenNewVTSI(vm, vm->dvd, link_values.data1)) /* Also sets (vm->state).vtsN */
++ assert(0);
+ } else {
+ /* This happens on some discs like "Captain Scarlet & the Mysterons" or
+ * the German RC2 of "Anatomie" in VTSM. */
+@@ -1549,7 +1557,7 @@
+ #endif
+
+ }
+- (vm->state).blockN = link_values.data1;
++ (vm->state).blockN = link_values.data1 | (link_values.data2 << 16);
+ return 1;
+ }
+
+@@ -1575,8 +1583,9 @@
+
+ (vm->state).domain = VTS_DOMAIN;
+
+- if(vtsN != (vm->state).vtsN)
+- ifoOpenNewVTSI(vm, vm->dvd, vtsN); /* Also sets (vm->state).vtsN */
++ if (vtsN != (vm->state).vtsN)
++ if (!ifoOpenNewVTSI(vm, vm->dvd, vtsN)) /* Also sets (vm->state).vtsN */
++ return 0;
+
+ if ((vts_ttn < 1) || (vts_ttn > vm->vtsi->vts_ptt_srpt->nr_of_srpts) ||
+ (part < 1) || (part > vm->vtsi->vts_ptt_srpt->title[vts_ttn - 1].nr_of_ptts) ) {
+@@ -1601,6 +1610,9 @@
+
+ static int set_FP_PGC(vm_t *vm) {
+ (vm->state).domain = FP_DOMAIN;
++ if (!vm->vmgi->first_play_pgc) {
++ return set_PGCN(vm, 1);
++ }
+ (vm->state).pgc = vm->vmgi->first_play_pgc;
+ (vm->state).pgcN = vm->vmgi->vmgi_mat->first_play_pgc;
+ return 1;
+diff -Naur libdvdnav-0.1.10-org/src/vm/vmcmd.c libdvdnav-0.1.10/src/vm/vmcmd.c
+--- libdvdnav-0.1.10-org/src/vm/vmcmd.c 2004-03-03 17:50:42.000000000 +0100
++++ libdvdnav-0.1.10/src/vm/vmcmd.c 2008-03-28 15:24:50.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000, 2001 Martin Norbäck, Håkan Hjort
++ * Copyright (C) 2000, 2001 Martin Norbäck, Håkan Hjort
+ * 2002-2004 the dvdnav project
+ *
+ * This file is part of libdvdnav, a DVD navigation library. It is modified
+@@ -18,9 +18,6 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: vmcmd.c,v 1.2 2004/03/03 16:50:42 mroi Exp $
+- *
+ */
+
+ #ifdef HAVE_CONFIG_H
+diff -Naur libdvdnav-0.1.10-org/src/vm/vmcmd.h libdvdnav-0.1.10/src/vm/vmcmd.h
+--- libdvdnav-0.1.10-org/src/vm/vmcmd.h 2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/vm/vmcmd.h 2008-01-23 06:11:52.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000, 2001 Martin Norbäck, Håkan Hjort
++ * Copyright (C) 2000, 2001 Martin Norbäck, Håkan Hjort
+ *
+ * This file is part of libdvdnav, a DVD navigation library. It is modified
+ * from a file originally part of the Ogle DVD player.
+@@ -17,9 +17,6 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: vmcmd.h,v 1.1 2004/01/11 21:43:13 mroi Exp $
+- *
+ */
+
+ #ifndef VMCMD_H_INCLUDED
+diff -Naur libdvdnav-0.1.10-org/src/vm/vm.h libdvdnav-0.1.10/src/vm/vm.h
+--- libdvdnav-0.1.10-org/src/vm/vm.h 2004-01-11 22:43:13.000000000 +0100
++++ libdvdnav-0.1.10/src/vm/vm.h 2008-01-23 06:11:52.000000000 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000, 2001 Håkan Hjort
++ * Copyright (C) 2000, 2001 Håkan Hjort
+ * Copyright (C) 2001 Rich Wareham <richwareham@users.sourceforge.net>
+ *
+ * This file is part of libdvdnav, a DVD navigation library. It is modified
+@@ -18,9 +18,6 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+- *
+- * $Id: vm.h,v 1.1 2004/01/11 21:43:13 mroi Exp $
+- *
+ */
+
+ #ifndef VM_H_INCLUDED
+@@ -127,7 +124,7 @@
+ dvd_reader_t *vm_get_dvd_reader(vm_t *vm);
+
+ /* Basic Handling */
+-void vm_start(vm_t *vm);
++int vm_start(vm_t *vm);
+ void vm_stop(vm_t *vm);
+ int vm_reset(vm_t *vm, const char *dvdroot);
+
+diff -Naur libdvdnav-0.1.10-org/configure.ac libdvdnav-0.1.10/configure.ac
+--- libdvdnav-0.1.10-org/configure.ac 2004-06-10 23:13:02.000000000 +0200
++++ libdvdnav-0.1.10/configure.ac 2008-04-19 21:29:04.000000000 +0200
+@@ -13,9 +13,9 @@
+ dnl --------------------------------------------------------------
+ dnl Making releases: DVDNAV_SUB += 1; change LT_* accordingly
+ dnl --------------------------------------------------------------
+-DVDNAV_MAJOR=0
++DVDNAV_MAJOR=1
+ DVDNAV_MINOR=1
+-DVDNAV_SUB=10
++DVDNAV_SUB=12
+ DVDNAV_PRE=""
+
+ AC_SUBST(DVDNAV_MAJOR)
--- /dev/null
+# libdvdnav .bb build file
+# Copyright (C) 2006, Advanced Micro Devices, Inc. All Rights Reserved
+# Released under the MIT license (see /COPYING)
+
+HOMEPAGE="http://xinehq.de/"
+DESCRIPTION="DVD navigation multimeda library"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+LICENSE = "GPL"
+
+S = "${WORKDIR}/libdvdnav-0.1.10"
+
+SRC_URI="${SOURCEFORGE_MIRROR}/dvd/libdvdnav-0.1.10.tar.gz \
+ file://dvdnav-xine-lib-1.1.12.patch;patch=1;pnum=1 \
+ file://dvdnav-fix-read-dvdlabel.patch;patch=1;pnum=1"
+
+inherit autotools
+
+do_stage() {
+ autotools_stage_all
+}
--- /dev/null
+DESCRIPTION = "Extensible binary format library (kinda like XML)"
+HOMEPAGE = "http://www.matroska.org/"
+SECTION = "libs"
+PRIORITY = "optional"
+
+LICENSE="LGPL-2.1"
+
+inherit pkgconfig
+
+SRC_URI = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${PN}-${PV}.tar.bz2"
+
+#S="${S}/make/linux"
+
+do_compile() {
+ cd ${S}/make/linux
+ oe_runmake CC="${CC}" CXX="${CXX}" AR="${AR} rcvu"
+}
+
+do_stage () {
+ oe_libinstall -a -so -C make/linux libebml ${STAGING_LIBDIR}
+}
+
+do_install() {
+ install -m 0644 ebml/*.h ${STAGING_INCDIR}
+ install -d ${STAGING_INCDIR}/ebml
+ (cd ${S}/ebml; cp *.h ${STAGING_INCDIR}/ebml/; mkdir -p ${STAGING_INCDIR}/ebml/c; cp c/libebml_t.h ${STAGING_INCDIR}/ebml/c;)
+}
--- /dev/null
+# libmatroska core Makefile (used in cygwin)
+# $Id: Makefile 1254 2006-06-02 14:32:52Z mosu $
+# Author: Steve Lhomme <robux4 @ users.sf.net>
+# Author: Moritz Bunkus <moritz @ bunkus.org>
+
+#
+# The library is built without debug information. If you want
+# debug information to be included then compile with
+# 'make DEBUG=yes'.
+#
+
+# Paths
+libdir=$(LIBDIR)
+includedir=$(INCDIR)/matroska
+
+# Programs
+CXX=g++
+LD=$(CXX)
+AR = ar rcvu
+RANLIB = ranlib
+INSTALL = install
+INSTALL_OPTS = -m 644
+INSTALL_OPTS_LIB = -m 644
+INSTALL_DIR_OPTS = -m 755
+
+ifneq (,$(shell $(CXX) -v 2>&1 | tail -n 1 | grep -i mingw))
+$(error Please use the Makefile in ../mingw32)
+endif
+
+CWD=$(shell pwd)
+
+# Options
+LIBEBML_INCLUDE_DIR=$(INCDIR)/ebml
+LIBEBML_LIB_DIR=$(LIBDIR)
+EXTENSION=.cpp
+
+
+ifeq (yes,$(DEBUG))
+DEBUGFLAGS=-g -DDEBUG
+endif
+
+SRC_DIR=$(CWD)/src/
+INCLUDE_DIR=$(CWD)/matroska
+MUX_SRC_DIR=$(CWD)/test/mux/
+TAG_SRC_DIR=$(CWD)/test/tags/
+
+# Librarires
+INCLUDE=-I$(CWD)/. -I$(LIBEBML_INCLUDE_DIR)
+LIBS=
+MUX_LIBS=-lmatroska -lebml $(LIBICONV)
+
+# Names
+LIBRARY=libmatroska.a
+LIBRARY_SO=libmatroska.so
+LIBRARY_SO_VER=libmatroska.so.0
+
+# source-files
+sources:=$(wildcard ${SRC_DIR}*$(EXTENSION))
+
+# header files; replace .cxx extension with .h
+headers:=$(patsubst %$(EXTENSION),%.h,$(sources))
+
+# object files; replace .cxx extension with .o
+objects:=$(patsubst %$(EXTENSION),%.o,$(sources))
+
+objects_so:=$(patsubst %$(EXTENSION),%.lo,$(sources))
+
+WARNINGFLAGS=-Wall -Wno-unknown-pragmas -ansi -fno-gnu-keywords -D_GNU_SOURCE \
+ -Wshadow
+COMPILEFLAGS=$(DEBUGFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(WARNINGFLAGS) $(INCLUDE)
+LINKFLAGS=-L. -L$(LIBEBML_LIB_DIR) $(LDFLAGS)
+DEPENDFLAGS = $(CXXFLAGS) $(INCLUDE)
+
+ifeq (Darwin,$(shell uname -s))
+all: staticlib
+else
+all: staticlib sharedlib
+endif
+
+staticlib: $(LIBRARY)
+
+sharedlib: $(LIBRARY_SO)
+
+lib:
+ @echo "Use the 'staticlib', 'sharedlib' or 'all' targets."
+ @false
+
+# Build rules
+%.o: %$(EXTENSION)
+ $(CXX) -c $(COMPILEFLAGS) -o $@ $<
+
+%.lo: %$(EXTENSION)
+ $(CXX) -c $(COMPILEFLAGS) -fPIC -o $@ $<
+
+$(LIBRARY): $(objects)
+ $(AR) $@ $(objects)
+ $(RANLIB) $@
+
+$(LIBRARY_SO): $(objects_so)
+ $(CXX) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so) -L$(LIBEBML_LIB_DIR) -lebml
+ rm -f $(LIBRARY_SO)
+ ln -s $(LIBRARY_SO_VER) $(LIBRARY_SO)
+
+clean: cleantest
+ rm -f $(objects) $(objects_so)
+ rm -f $(LIBRARY)
+ rm -f $(LIBRARY_SO)
+ rm -f $(LIBRARY_SO_VER)
+ rm -f CORE
+
+cleantest:
+ rm -f test6 test8 test9 test6.o test8.o test9.o
+
+distclean dist-clean: clean
+ rm -f .depend
+
+depend:
+ @echo Calculating dependecies:
+ @rm -f .depend
+ @touch .depend
+ @for i in $(sources); do \
+ o="`echo $$i | sed -e 's/\.c$$/.o/' -e 's/\.cpp$$/.o/'`" ; \
+ echo ' ' $$i: $$o ; \
+ $(CXX) $(DEPENDFLAGS) -MM -MT $$o $$i >> .depend ; \
+ done
+
+test: test6 test9
+
+test6: test6.o $(LIBRARY) $(LIBRARY_SO)
+ $(LD) -o $@ $(LINKFLAGS) $< $(MUX_LIBS)
+
+test6.o: $(MUX_SRC_DIR)test6.cpp
+ $(CXX) -c $(COMPILEFLAGS) -o $@ $<
+
+test8: test8.o $(LIBRARY) $(LIBRARY_SO)
+ $(LD) -o $@ $(LINKFLAGS) $< $(MUX_LIBS)
+
+test8.o: $(MUX_SRC_DIR)test8.cpp
+ $(CXX) -c $(COMPILEFLAGS) -o $@ $<
+
+test9: test9.o $(LIBRARY) $(LIBRARY_SO)
+ $(LD) -o $@ $(LINKFLAGS) $< $(MUX_LIBS)
+
+test9.o: $(TAG_SRC_DIR)test9.cpp
+ $(CXX) -c $(COMPILEFLAGS) -o $@ $<
+
+ifeq (Darwin,$(shell uname -s))
+install: install_staticlib install_headers
+else
+install: install_staticlib install_sharedlib install_headers
+endif
+
+install_headers:
+ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(includedir)
+ for i in $(INCLUDE_DIR)/*.h; do \
+ $(INSTALL) $(INSTALL_OPTS) $$i $(includedir) ; \
+ done
+ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(includedir)/c
+ for i in $(INCLUDE_DIR)/c/*.h; do \
+ $(INSTALL) $(INSTALL_OPTS) $$i $(includedir)/c ; \
+ done
+
+install_staticlib: $(LIBRARY)
+ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(libdir)
+ $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY) $(libdir)
+
+install_sharedlib: $(LIBRARY_SO)
+ $(INSTALL) $(INSTALL_DIR_OPTS) -d $(libdir)
+ $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY_SO_VER) $(libdir)
+ ln -fs $(LIBRARY_SO_VER) $(libdir)/$(LIBRARY_SO)
+
+ifneq ($(wildcard .depend),)
+include .depend
+endif
+
+# DO NOT DELETE
--- /dev/null
+DESCRIPTION = "Extensible multimedia container format based on EBML"
+HOMEPAGE = "http://www.matroska.org/"
+SECTION = "libs"
+PRIORITY = "optional"
+MAINTAINER = "Andreas Frisch <andreas.frisch@multimedia-labs.de>"
+
+LICENSE = "GPL-2"
+
+DEPENDS = "libebml"
+
+inherit pkgconfig autotools module-base
+
+#EXTRA_OEMAKE += "CFLAGS='${CFLAGS} -I${STAGING_INCDIR}' LDFLAGS='${LDFLAGS} -L${STAGING_LIBDIR}"
+#LDFLAGS += " -L${STAGING_LIBDIR}"
+#EXTRA_OEMAKE += " LDFLAGS='${LDFLAGS}"
+
+EXTRA_OECONF = " --enable-shared "
+
+SRC_URI = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${PN}-${PV}.tar.bz2\
+ file://Makefile"
+
+do_compile() {
+ cp ${WORKDIR}/Makefile ${WORKDIR}/${PN}-${PV}
+ oe_runmake CC="${CC}" CXX="${CXX}" AR="${AR} rcvu" INCDIR="${STAGING_INCDIR}" LIBDIR="${STAGING_LIBDIR}"
+}
+
+do_stage() {
+ oe_libinstall -a -so -C ./ libmatroska ${STAGING_LIBDIR}
+# cd make/linux
+# oe_libinstall -so ${STAGING_LIBDIR}
+}
+
+do_install() {
+ oe_runmake install_headers CC="${CC}" CXX="${CXX}" AR="${AR} rcvu" INCDIR="${STAGING_INCDIR}" LIBDIR="${STAGING_LIBDIR}"
+}
--- /dev/null
+HOMEPAGE="http://puzzle.dl.sourceforge.net/sourceforge/libmms/"
+DESCRIPTION="libmms"
+MAINTAINER = "Raymond Danks <info-linux@geode.amd.com>"
+LICENSE = "GPL"
+
+SRC_URI="${SOURCEFORGE_MIRROR}/libmms/libmms-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
DEPENDS = "glib-2.0"
SRC_URI = "http://liboil.freedesktop.org/download/${P}.tar.gz \
+ file://no_ppc_altivec.diff;patch=1;pnum=1 \
+ file://no_ppc_fpu.diff;patch=1;pnum=1 \
+ file://fix_ppc_build_with_old_kernel.diff;patch=1;pnum=1 \
"
inherit autotools pkgconfig
PR = "r1"
-SRC_URI = "http://www.geocities.com/SiliconValley/Lakes/5147/sidplay/packages/libsidplay-${PV}.tgz \
+SRC_URI = "http://critical.ch/distfiles/libsidplay-${PV}.tgz \
http://ftp.debian.org/debian/pool/main/libs/libsidplay/libsidplay_1.36.59-5.diff.gz;patch=1 \
"
inherit autotools
+EXTRA_OECONF = " --without-x"
+
do_stage() {
oe_libinstall -so -C lib/.libs libungif ${STAGING_LIBDIR}
install -m 0644 lib/gif_lib.h ${STAGING_INCDIR}/
-
}
--- /dev/null
+diff -Naur libxmlccwrap-0.0.12_org/configure.ac libxmlccwrap-0.0.12/configure.ac
+--- libxmlccwrap-0.0.12_org/configure.ac 2005-07-28 21:27:58.000000000 +0200
++++ libxmlccwrap-0.0.12/configure.ac 2007-10-29 15:36:49.000000000 +0100
+@@ -15,7 +15,7 @@
+ AM_PROG_LIBTOOL
+
+ AC_CHECK_LIB(xml2,main)
+-AC_CHECK_LIB(xslt,main)
++#AC_CHECK_LIB(xslt,main)
+
+ AC_OUTPUT([Makefile \
+ xmlccwrap/Makefile \
+diff -Naur libxmlccwrap-0.0.12_org/xmlccwrap/xmlccwrap.cc libxmlccwrap-0.0.12/xmlccwrap/xmlccwrap.cc
+--- libxmlccwrap-0.0.12_org/xmlccwrap/xmlccwrap.cc 2003-12-18 23:48:08.000000000 +0100
++++ libxmlccwrap-0.0.12/xmlccwrap/xmlccwrap.cc 2007-10-24 22:54:15.000000000 +0200
+@@ -23,8 +23,10 @@
+ #include <libxml/tree.h>
+ #include <libxml/HTMLparser.h>
+ #include <libxml/encoding.h>
++/*
+ #include <libxslt/xsltutils.h>
+ #include <libxslt/transform.h>
++*/
+ #include "xmlccwrap.h"
+ #include "libxmlexport.h"
+
+@@ -47,7 +49,7 @@
+ Element *readnode(xmlNodePtr);
+ void writenode(xmlDocPtr, Element *, xmlNodePtr, int = 0);
+
+-
++/*
+ XSLTTree::XSLTTree()
+ {
+ xsltP = 0;
+@@ -83,7 +85,7 @@
+ {
+ return xsltP;
+ }
+-
++*/
+
+ XMLTree::XMLTree() : _filename(), _root(), _compression(0)
+ { }
+@@ -380,7 +382,7 @@
+ return retval;
+ }
+
+-
++/*
+ bool XMLTree::xslt(const XSLTTree & xsltTree, const std::string & outputfile, ParameterMap & parameterMap)
+ {
+ bool ret = false;
+@@ -425,7 +427,7 @@
+ ParameterMap parameterMap;
+ return xslt(xsltTree, outputfile, parameterMap);
+ }
+-
++*/
+
+ const std::string & XMLTree::getErrorString()
+ {
+diff -Naur libxmlccwrap-0.0.12_org/xmlccwrap/xmlccwrap.h libxmlccwrap-0.0.12/xmlccwrap/xmlccwrap.h
+--- libxmlccwrap-0.0.12_org/xmlccwrap/xmlccwrap.h 2003-12-18 23:42:37.000000000 +0100
++++ libxmlccwrap-0.0.12/xmlccwrap/xmlccwrap.h 2007-10-24 22:54:15.000000000 +0200
+@@ -43,7 +41,7 @@
+ typedef std::multimap<std::string, std::string> ParameterMap;
+ typedef ParameterMap::value_type ValuePair;
+
+-
++/*
+ class XSLTTree
+ {
+ private:
+@@ -60,7 +58,7 @@
+ bool read(const std::string &fn);
+ const void * exportxsltStylesheetPtr() const;
+ };
+-
++*/
+
+ class XMLTree
+ {
+@@ -102,10 +100,10 @@
+ bool write(const std::string &fn);
+ const std::string & writeBuffer() const;
+
+-
++/*
+ bool xslt(const XSLTTree & xsltTree, const std::string & outputfile, ParameterMap & parameterMap);
+ bool xslt(const XSLTTree & xsltTree, const std::string & outputfile);
+-
++*/
+ const std::string & getErrorString();
+ };
+
--- /dev/null
+diff -Naur libxmlccwrap-0.0.12_org/Makefile.am libxmlccwrap-0.0.12/Makefile.am
+--- libxmlccwrap-0.0.12_org/Makefile.am 2002-12-11 23:18:41.000000000 +0100
++++ libxmlccwrap-0.0.12/Makefile.am 2007-10-29 15:35:11.000000000 +0100
+@@ -1 +1 @@
+-SUBDIRS = xmlccwrap html testlib
++SUBDIRS = xmlccwrap
--- /dev/null
+--- libxmlccwrap-0.0.12_org/xmlccwrap/xmlccwrap.cc 2003-12-18 23:48:08.000000000 +0100
++++ libxmlccwrap-0.0.12/xmlccwrap/xmlccwrap.cc 2007-10-24 22:54:15.000000000 +0200
+@@ -498,6 +500,7 @@
+ for (ElementIterator curnode = nodes.begin(); curnode != nodes.end(); curnode++)
+ add
+ (**curnode);
++ return *this;
+ }
+
+
--- /dev/null
+DESCRIPTION = "A small libxml2 c++ wrapper"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "LGPL"
+PR = "r0"
+DEPENDS = "libxml2"
+RDEPENDS = "libxml2"
+
+SRC_URI = "http://www.ant.uni-bremen.de/whomes/rinas/libxmlccwrap/download/libxmlccwrap-${PV}.tar.gz \
+ file://dont_build_unneeded.patch;patch=1;pnum=1 \
+ file://disable_libxslt.patch;patch=1;pnum=1 \
+ file://fix_assignment_operator.patch;patch=1;pnum=1"
+
+inherit autotools
+
+FILES_${PN} = "/usr/lib/*.so*"
+FILES_${PN}-dev = "/usr/include/*.h"
+
+do_stage () {
+ install -d ${STAGING_INCDIR}/xmlccwrap
+ install ${S}/xmlccwrap/*.h ${STAGING_INCDIR}/xmlccwrap
+ install ${S}/xmlccwrap/.libs/libxmlccwrap-${PV}.so ${STAGING_LIBDIR}
+ ln -sf ${STAGING_LIBDIR}/libxmlccwrap-${PV}.so ${STAGING_LIBDIR}/libxmlccwrap.so
+}
--- /dev/null
+LICENSE = GPL
+SECTION = "console/network"
+DEPENDS = "jpeg libpng zlib tuxbox-plugins"
+DESCRIPTION = "Dreambox plugin version of Links: Links is graphics and text mode WWW \
+browser, similar to Lynx."
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+SRC_URI = "http://dreamboxupdate.com/sources-mirror/links-2.1pre15.tar.bz2 \
+ http://sources.dreamboxupdate.com/download/opendreambox/links-dream-2.1pre15/links-dream-plugin.diff;patch=1"
+
+PACKAGES = "links-dream-plugin"
+
+FILES_links-dream-plugin = "/usr/lib/tuxbox/plugins/links.* /etc/links/screen.config /etc/links/tables.tar.gz"
+
+S = "${WORKDIR}/links-2.1pre15"
+
+inherit autotools pkgconfig
+
+bindir = "/usr/bin"
+sbindir = "/usr/sbin"
--- /dev/null
+Submitted By: Jim Gifford (patches at jg555 dot com)
+Date: 2005-10-01
+Initial Package Version: 2.6.12.0
+Origin: Jim Gifford
+Upstream Status: Sent
+Description: Fixes Compile Issue with Sysklogd
+
+diff -Naur linux-libc-headers-2.6.12.0.orig/include/asm-mips/atomic.h linux-libc-headers-2.6.12.0/include/asm-mips/atomic.h
+--- linux-libc-headers-2.6.12.0.orig/include/asm-mips/atomic.h 2005-07-06 00:17:30.000000000 +0000
++++ linux-libc-headers-2.6.12.0/include/asm-mips/atomic.h 2005-10-01 22:04:26.000000000 +0000
+@@ -18,7 +18,7 @@
+ typedef struct { volatile int counter; } atomic_t;
+
+ #ifdef __mips64
+-typedef struct { volatile __s64 counter; } atomic64_t;
++typedef struct { volatile long counter; } atomic64_t;
+ #endif
+
+ #endif /* _ASM_ATOMIC_H */
--- /dev/null
+Submitted By: Jim Gifford (patches at jg555 dot com)
+Date: 2005-09-12
+Initial Package Version: 2.6.12.0
+Origin: http://www.uclibc.org/cgi-bin/viewcvs.cgi/trunk/buildroot/toolchain/kernel-headers/linux-libc-headers-2.6.12.0-mips-nptl.patch?rev=11104&view=auto
+Upstream Status: Unknown
+Description: Adds TLS Support to Kernel Headers for MIPS
+
+diff -Naur linux-libc-headers-2.6.12.0.orig/include/asm-mips/inst.h linux-libc-headers-2.6.12.0/include/asm-mips/inst.h
+--- linux-libc-headers-2.6.12.0.orig/include/asm-mips/inst.h 2004-10-31 19:54:20.000000000 +0000
++++ linux-libc-headers-2.6.12.0/include/asm-mips/inst.h 2005-09-12 23:57:11.000000000 +0000
+@@ -28,7 +28,7 @@
+ sdl_op, sdr_op, swr_op, cache_op,
+ ll_op, lwc1_op, lwc2_op, pref_op,
+ lld_op, ldc1_op, ldc2_op, ld_op,
+- sc_op, swc1_op, swc2_op, major_3b_op, /* Opcode 0x3b is unused */
++ sc_op, swc1_op, swc2_op, rdhwr_op,
+ scd_op, sdc1_op, sdc2_op, sd_op
+ };
+
+@@ -62,10 +62,10 @@
+ spimi_op, unused_rt_op_0x05, unused_rt_op_0x06, unused_rt_op_0x07,
+ tgei_op, tgeiu_op, tlti_op, tltiu_op,
+ teqi_op, unused_0x0d_rt_op, tnei_op, unused_0x0f_rt_op,
+- bltzal_op, bgezal_op, bltzall_op, bgezall_op
+- /*
+- * The others (0x14 - 0x1f) are unused.
+- */
++ bltzal_op, bgezal_op, bltzall_op, bgezall_op,
++ rt_op_0x14, rt_op_0x15, rt_op_0x16, rt_op_0x17,
++ rt_op_0x18, rt_op_0x19, rt_op_0x1a, rt_op_0x1b,
++ bposge32_op, rt_op_0x1d, rt_op_0x1e, rt_op_0x1f
+ };
+
+ /*
+diff -Naur linux-libc-headers-2.6.12.0.orig/include/asm-mips/unistd.h linux-libc-headers-2.6.12.0/include/asm-mips/unistd.h
+--- linux-libc-headers-2.6.12.0.orig/include/asm-mips/unistd.h 2005-07-06 00:17:29.000000000 +0000
++++ linux-libc-headers-2.6.12.0/include/asm-mips/unistd.h 2005-09-12 23:57:11.000000000 +0000
+@@ -303,16 +303,17 @@
+ #define __NR_add_key (__NR_Linux + 280)
+ #define __NR_request_key (__NR_Linux + 281)
+ #define __NR_keyctl (__NR_Linux + 282)
++#define __NR_set_thread_area (__NR_Linux + 283)
+
+ /*
+ * Offset of the last Linux o32 flavoured syscall
+ */
+-#define __NR_Linux_syscalls 282
++#define __NR_Linux_syscalls 283
+
+ #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
+
+ #define __NR_O32_Linux 4000
+-#define __NR_O32_Linux_syscalls 282
++#define __NR_O32_Linux_syscalls 283
+
+ #if _MIPS_SIM == _MIPS_SIM_ABI64
+
+@@ -562,16 +563,17 @@
+ #define __NR_add_key (__NR_Linux + 239)
+ #define __NR_request_key (__NR_Linux + 240)
+ #define __NR_keyctl (__NR_Linux + 241)
++#define __NR_set_thread_area (__NR_Linux + 242)
+
+ /*
+ * Offset of the last Linux 64-bit flavoured syscall
+ */
+-#define __NR_Linux_syscalls 241
++#define __NR_Linux_syscalls 242
+
+ #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
+
+ #define __NR_64_Linux 5000
+-#define __NR_64_Linux_syscalls 241
++#define __NR_64_Linux_syscalls 242
+
+ #if _MIPS_SIM == _MIPS_SIM_NABI32
+
+@@ -825,16 +827,17 @@
+ #define __NR_add_key (__NR_Linux + 243)
+ #define __NR_request_key (__NR_Linux + 244)
+ #define __NR_keyctl (__NR_Linux + 245)
++#define __NR_set_thread_area (__NR_Linux + 246)
+
+ /*
+ * Offset of the last N32 flavoured syscall
+ */
+-#define __NR_Linux_syscalls 245
++#define __NR_Linux_syscalls 246
+
+ #endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */
+
+ #define __NR_N32_Linux 6000
+-#define __NR_N32_Linux_syscalls 245
++#define __NR_N32_Linux_syscalls 246
+
+ #ifndef __ASSEMBLY__
+
--- /dev/null
+SECTION = "devel"
+DESCRIPTION = "Sanitized set of 2.6 kernel headers for the C library's use."
+HOMEPAGE = "http://ep09.pld-linux.org/~mmazur/linux-libc-headers/"
+# license note from the package:
+# Linux-libc-headers are derived from linux kernel headers. For license of a
+# particular header, check it's content, and if copyright notice isn't present,
+# standard linux kernel license applies.
+# since we assume GPL for linux i think we can also assume it here
+LICENSE = "GPL"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+INHIBIT_DEFAULT_DEPS = "1"
+PR = "r1"
+
+SRC_URI = "http://ep09.pld-linux.org/~mmazur/linux-libc-headers/linux-libc-headers-${PV}.tar.bz2 \
+ file://keyboard.patch;patch=1"
+
+def get_nptl_patches(bb, d):
+ if 'nptl' in bb.data.getVar('GLIBC_ADDONS', d, 1).split(','):
+ return "file://linux-libc-headers-2.6.12.0-mips_tls-1.patch;patch=1;pnum=1"
+ return ""
+
+SRC_URI_append_mipsel = " file://linux-libc-headers-2.6.12.0-mips_atomic_fix-1.patch;patch=1;pnum=1 \
+ ${@get_nptl_patches(bb, d)}"
+
+S = "${WORKDIR}/linux-libc-headers-${PV}"
+
+do_configure () {
+ case ${TARGET_ARCH} in
+ alpha*) ARCH=alpha ;;
+ arm*) ARCH=arm ;;
+ cris*) ARCH=cris ;;
+ hppa*) ARCH=parisc ;;
+ i*86*) ARCH=i386 ;;
+ ia64*) ARCH=ia64 ;;
+ mips*) ARCH=mips ;;
+ m68k*) ARCH=m68k ;;
+ powerpc*) ARCH=ppc ;;
+ s390*) ARCH=s390 ;;
+ sh*) ARCH=sh ;;
+ sparc64*) ARCH=sparc64 ;;
+ sparc*) ARCH=sparc ;;
+ x86_64*) ARCH=x86_64 ;;
+ esac
+ if test ! -e include/asm-$ARCH; then
+ oefatal unable to create asm symlink in kernel headers
+ fi
+ cp -pPR "include/asm-$ARCH" "include/asm"
+ if test "$ARCH" = "arm"; then
+ cp -pPR include/asm/arch-ebsa285 include/asm/arch
+ elif test "$ARCH" = "sh"; then
+ cp -pPR include/asm/cpu-${TARGET_ARCH} include/asm/cpu || die "unable to create include/asm/cpu"
+ fi
+}
+
+do_stage () {
+ install -d ${STAGING_INCDIR}
+ rm -rf ${STAGING_INCDIR}/linux ${STAGING_INCDIR}/asm
+ cp -pfLR include/linux ${STAGING_INCDIR}/
+ cp -pfLR include/asm ${STAGING_INCDIR}/
+ rm -rf ${CROSS_DIR}/${TARGET_SYS}/include/linux
+ rm -rf ${CROSS_DIR}/${TARGET_SYS}/include/asm
+ install -d ${CROSS_DIR}/${TARGET_SYS}/include
+ cp -pfLR include/linux ${CROSS_DIR}/${TARGET_SYS}/include/
+ cp -pfLR include/asm ${CROSS_DIR}/${TARGET_SYS}/include/
+}
+
+do_install() {
+ install -d ${D}${includedir}
+ cp -pfLR include/linux ${D}${includedir}/
+ cp -pfLR include/asm ${D}${includedir}/
+}
+
--- /dev/null
+DESCRIPTION = "Linux kernel for Dreambox DM500PLUS"
+LICENSE = "GPL"
+PN = "linux-dm500plus"
+PV = "2.6.12"
+PR = "r1"
+
+# -rX is the patch revision - it's not related to this package's PR
+SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.tar.bz2 \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dream-ppc-r5.patch.bz2;patch=1;pnum=1"
+
+S = "${WORKDIR}/linux-2.6.12"
+
+inherit kernel
+
+FILES_kernel-image = "/boot/zImage.elf /boot/autoexec.bat"
+
+export OS = "Linux"
+ARCH = "ppc"
+KERNEL_IMAGETYPE = "zImage"
+KERNEL_OUTPUT = "arch/ppc/boot/images/zImage.elf"
+
+do_configure_prepend() {
+ oe_machinstall -m 0644 ${S}/arch/ppc/configs/dm500plus_defconfig ${S}/.config || die "no default configuration for ${MACHINE} available."
+ oe_runmake oldconfig
+}
+
+do_install_append () {
+ install -d ${D}/boot
+ install -m 0755 arch/ppc/boot/images/zImage.elf ${D}/boot/zImage.elf
+ echo "/flash/bootlogo.elf" > ${D}/boot/autoexec.bat
+ echo "/flash/zImage.elf" >> ${D}/boot/autoexec.bat
+}
+
+pkg_postinst_kernel () {
+ true
+}
+
+pkg_postrm_kernel () {
+ true
+}
+
--- /dev/null
+DESCRIPTION = "Linux kernel for Dreambox DM7020"
+LICENSE = "GPL"
+PN = "linux-dm600pvr"
+PV = "2.6.12"
+PR = "r4"
+
+# -rX is the patch revision - it's not related to this package's PR
+SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.tar.bz2 \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dream-ppc-r5.patch.bz2;patch=1;pnum=1"
+
+S = "${WORKDIR}/linux-2.6.12"
+
+inherit kernel
+
+FILES_kernel-image = "/boot/zImage.elf /boot/autoexec.bat"
+
+export OS = "Linux"
+ARCH = "ppc"
+KERNEL_IMAGETYPE = "zImage"
+KERNEL_OUTPUT = "arch/ppc/boot/images/zImage.elf"
+
+do_configure_prepend() {
+ oe_machinstall -m 0644 ${S}/arch/ppc/configs/dm600pvr_defconfig ${S}/.config || die "no default configuration for ${MACHINE} available."
+ oe_runmake oldconfig
+}
+
+do_install_append () {
+ install -d ${D}/boot
+ install -m 0755 arch/ppc/boot/images/zImage.elf ${D}/boot/zImage.elf
+ echo "/flash/bootlogo.elf" > ${D}/boot/autoexec.bat
+ echo "/flash/zImage.elf" >> ${D}/boot/autoexec.bat
+}
+
+pkg_postinst_kernel () {
+ true
+}
+
+pkg_postrm_kernel () {
+ true
+}
+
--- /dev/null
+DESCRIPTION = "Linux kernel for Dreambox DM7020"
+LICENSE = "GPL"
+PN = "linux-dm7020"
+PV = "2.6.9"
+PR = "r4"
+
+# -r1 is the patch revision - it's not related to this package's PR
+SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2 \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linuxppc-2.6.9-r1.diff.bz2;patch=1;pnum=1 \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linuxppc-2.6.9-dream-s8.diff.bz2;patch=1;pnum=1"
+
+S = "${WORKDIR}/linux-2.6.9"
+
+inherit kernel
+
+FILES_kernel-image = "/boot/zImage.elf /boot/autoexec.bat"
+
+export OS = "Linux"
+ARCH = "ppc"
+KERNEL_IMAGETYPE = "zImage"
+KERNEL_OUTPUT = "arch/ppc/boot/images/zImage.elf"
+
+do_configure_prepend() {
+ oe_machinstall -m 0644 ${S}/arch/ppc/configs/dm7020_defconfig ${S}/.config || die "no default configuration for ${MACHINE} available."
+ oe_runmake oldconfig
+}
+
+do_install_append () {
+ install -d ${D}/boot
+ install -m 0755 arch/ppc/boot/images/zImage.elf ${D}/boot/zImage.elf
+ echo "/flash/bootlogo.elf" > ${D}/boot/autoexec.bat
+ echo "/flash/zImage.elf" >> ${D}/boot/autoexec.bat
+}
+
+pkg_postinst_kernel () {
+ true
+}
+
+pkg_postrm_kernel () {
+ true
+}
+
--- /dev/null
+DESCRIPTION = "Linux kernel for Dreambox DM7025"
+LICENSE = "GPL"
+PN = "linux-dm7025"
+KV = "2.6.12"
+PV = "2.6.12.6"
+PR = "s4"
+
+DEPENDS = "zlib-native"
+
+# note, the rX in the filename is *NOT* the packet revision - it's the patch revision.
+SRC_URI += "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
+ file://dm7025_defconfig \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linuxmips-${KV}-dream-r6.patch.bz2;patch=1;pnum=1 \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linux-${KV}-update_dvbapi-r1.patch.bz2;patch=1;pnum=1 \
+ http://dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvb-multipid-r4.patch.bz2;patch=1;pnum=1 \
+ http://dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvb-core-fix-several-locking-problems.patch.bz2;patch=1;pnum=1 \
+ http://dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvbapi-pilot-rolloff-extension-r0.patch.bz2;patch=1;pnum=1 \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-update-wireless.patch.bz2;patch=1;pnum=1 \
+#squashfs-lzma stuff
+ http://squashfs-lzma.org/dl/sqlzma3.2-r2b.tar.bz2 \
+ http://dreamboxupdate.com/download/kernel-patches/sqlzma2k-3.2-r2-2.6.12.6.patch.bz2 \
+ http://dreamboxupdate.com/download/patches/fix_lzma_squashfs_makefiles_for_oe-r2.patch.bz2 \
+ ${SOURCEFORGE_MIRROR}/squashfs/squashfs3.2-r2.tar.gz \
+ ${SOURCEFORGE_MIRROR}/sevenzip/lzma443.tar.bz2 \
+ file://${WORKDIR}/squashfs-lzma/kernel-patches/linux-2.6.12/squashfs3.2-patch;pnum=1;patch=1 "
+
+S = "${WORKDIR}/linux-${PV}"
+
+inherit kernel
+
+FILES_kernel-image = "/boot/vmlinux.gz /boot/autoexec.bat"
+
+export OS = "Linux"
+KERNEL_IMAGETYPE = "vmlinux"
+KERNEL_OUTPUT = "vmlinux"
+KERNEL_OBJECT_SUFFIX = "ko"
+
+addtask munge after do_unpack before do_patch
+
+do_munge () {
+ if [ -d ${WORKDIR}/squashfs3.2-r2 ]; then
+ mv ${WORKDIR}/squashfs3.2-r2/* ${WORKDIR}
+ rm -R ${WORKDIR}/squashfs3.2-r2
+ for i in sqlzma1-443.patch sqlzma2u-3.2-r2.patch fix_lzma_squashfs_makefiles_for_oe-r2.patch;
+ do
+ echo "Applying $i"
+ patch -d ${WORKDIR} -p1 < ${WORKDIR}/$i
+ done
+ fi
+ set CUR = `pwd`
+ cd ${WORKDIR}
+ install -d ${WORKDIR}/squashfs-lzma
+ for i in `find -maxdepth 1 | grep -v linux | xargs`;
+ do
+ case $i in
+ ".");;
+ "./squashfs-lzma");;
+ "./temp");;
+ "./image");;
+ "./install");;
+ "./dm7025_defconfig");;
+ *)mv $i ${WORKDIR}/squashfs-lzma;;
+ esac
+ done
+ cd $CUR
+}
+
+do_compile_prepend () {
+ if [ -f ${S}/.patched ];
+ then
+ patch -R -d ${S} -p1 < ${WORKDIR}/squashfs-lzma/sqlzma2k-3.2-r2-2.6.12.6.patch
+ rm ${S}/.patched
+ fi
+}
+
+do_compile_append () {
+ patch -d ${S} -p1 < ${WORKDIR}/squashfs-lzma/sqlzma2k-3.2-r2-2.6.12.6.patch
+ touch ${S}/.patched
+ oe_runmake -C ${WORKDIR}/squashfs-lzma KDir=${S} BUILD_CC="${CC}" BUILD_CXX="${CXX}" BUILD_LD="${LD}" BUILD_AR="${AR}" BUILD_LDFLAGS="${TARGET_LDFLAGS}" BUILD_CFLAGS="${TARGET_CFLAGS}" BUILD_CXXFLAGS="${TARGET_CXXFLAGS}"
+ for i in mksquashfs unsquashfs;
+ do
+ mv ${WORKDIR}/squashfs-lzma/squashfs-tools/$i ${WORKDIR}/squashfs-lzma/squashfs-tools/$i-${ARCH}
+ done
+ oe_runmake -C ${WORKDIR}/squashfs-lzma KDir=${S} clean
+ oe_runmake -C ${WORKDIR}/squashfs-lzma KDir=${S}
+ patch -R -d ${S} -p1 < ${WORKDIR}/squashfs-lzma/sqlzma2k-3.2-r2-2.6.12.6.patch
+ rm ${S}/.patched
+}
+
+do_configure_prepend () {
+ if [ "${@bb.data.getVar('DISTRO_VERSION', d, 1)}" == "1.4.0" ];
+ then
+ cat ${WORKDIR}/dm7025_defconfig | grep -v "CONFIG_CMDLINE" > ${S}/.config
+ echo "CONFIG_CMDLINE=\"console=null root=/dev/mtdblock3 rootfstype=jffs2 rw\"" >> ${S}/.config
+ else
+ oe_machinstall -m 0644 ${WORKDIR}/dm7025_defconfig ${S}/.config
+ fi;
+ oe_runmake oldconfig
+}
+
+do_install_append () {
+ install -d ${D}/boot
+ install -m 0755 vmlinux ${D}/boot/vmlinux
+ echo "/flash/bootlogo.elf" > ${D}/boot/autoexec.bat
+ gzip ${D}/boot/vmlinux
+ echo "/flash/vmlinux.gz" >> ${D}/boot/autoexec.bat
+ for i in sqlzma.ko unlzma.ko;
+ do
+ install -m 0644 ${WORKDIR}/squashfs-lzma/C/7zip/Compress/LZMA_C/kmod/$i ${D}/lib/modules/2.6.12.6/kernel/fs/squashfs
+ done;
+ install -d ${D}/usr/bin
+ for i in mksquashfs unsquashfs;
+ do
+ install ${WORKDIR}/squashfs-lzma/squashfs-tools/$i-${ARCH} ${D}/usr/bin/$i
+ done;
+}
+
+PACKAGES_append = " unsquashfs mksquashfs"
+FILES_mksquashfs = "/usr/bin/mksquashfs"
+FILES_unsquashfs = "/usr/bin/unsquashfs"
+
+do_stage_append() {
+ install ${WORKDIR}/squashfs-lzma/C/7zip/Compress/LZMA_Alone/lzma ${STAGING_BINDIR}
+ install ${WORKDIR}/squashfs-lzma/C/7zip/Compress/LZMA_C/lzmadec ${STAGING_BINDIR}
+ install ${WORKDIR}/squashfs-lzma/squashfs-tools/mksquashfs ${STAGING_BINDIR}
+ install ${WORKDIR}/squashfs-lzma/squashfs-tools/unsquashfs ${STAGING_BINDIR}
+}
+
+pkg_preinst_kernel-image () {
+ [ -d /proc/stb ] && mount -o rw,remount /boot
+}
+
+pkg_postinst_kernel-image () {
+ [ -d /proc/stb ] && mount -o ro,remount /boot
+}
+
+pkg_prerm_kernel-image () {
+ [ -d /proc/stb ] && mount -o rw,remount /boot
+}
+
+pkg_postrm_kernel-image () {
+ [ -d /proc/stb ] && mount -o ro,remount /boot
+}
--- /dev/null
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.12.6
+# Wed Jun 27 13:58:38 2007
+#
+CONFIG_MIPS=y
+# CONFIG_MIPS64 is not set
+# CONFIG_64BIT is not set
+CONFIG_MIPS32=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Machine selection
+#
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MIPS_EV64120 is not set
+# CONFIG_MIPS_EV96100 is not set
+# CONFIG_MIPS_IVR is not set
+# CONFIG_LASAT is not set
+# CONFIG_MIPS_ITE8172 is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MOMENCO_OCELOT is not set
+# CONFIG_MOMENCO_OCELOT_G is not set
+# CONFIG_MOMENCO_OCELOT_C is not set
+# CONFIG_MOMENCO_OCELOT_3 is not set
+# CONFIG_MOMENCO_JAGUAR_ATX is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_DDB5074 is not set
+# CONFIG_DDB5476 is not set
+# CONFIG_DDB5477 is not set
+# CONFIG_NEC_OSPREY is not set
+# CONFIG_SGI_IP22 is not set
+CONFIG_ATI_XILLEON=y
+CONFIG_STW5X226=y
+# CONFIG_SOC_AU1X00 is not set
+# CONFIG_SIBYTE_SB1xxx_SOC is not set
+# CONFIG_SNI_RM200_PCI is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_HAVE_DEC_LOCK=y
+CONFIG_DMA_NONCOHERENT=y
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_SWAP_IO_SPACE=y
+CONFIG_MIPS_L1_CACHE_SHIFT=5
+CONFIG_FB=y
+
+#
+# CPU selection
+#
+CONFIG_CPU_MIPS32=y
+# CONFIG_CPU_MIPS64 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+# CONFIG_CPU_SB1 is not set
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+CONFIG_CPU_HAS_PREFETCH=y
+# CONFIG_VTAG_ICACHE is not set
+# CONFIG_64BIT_PHYS_ADDR is not set
+CONFIG_CPU_ADVANCED=y
+CONFIG_CPU_HAS_LLSC=y
+# CONFIG_CPU_HAS_LLDSCD is not set
+CONFIG_CPU_HAS_WB=y
+CONFIG_CPU_HAS_SYNC=y
+# CONFIG_PREEMPT is not set
+
+#
+# Bus options (PCI, PCMCIA, EISA, ISA, TC)
+#
+CONFIG_HW_HAS_PCI=y
+CONFIG_PCI=y
+# CONFIG_PCI_LEGACY_PROC is not set
+CONFIG_PCI_NAMES=y
+CONFIG_MMU=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# PCI Hotplug Support
+#
+# CONFIG_HOTPLUG_PCI is not set
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=m
+CONFIG_TRAD_SIGNALS=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+CONFIG_FW_LOADER=y
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+CONFIG_MTD_NAND_DM7025=y
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=m
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=4096
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_LBD is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_AS is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECD=m
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+CONFIG_BLK_DEV_IDESCSI=m
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+CONFIG_BLK_DEV_IDEPCI=y
+# CONFIG_IDEPCI_SHARE_IRQ is not set
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=y
+# CONFIG_BLK_DEV_OPTI621 is not set
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
+CONFIG_IDEDMA_PCI_AUTO=y
+# CONFIG_IDEDMA_ONLYDISK is not set
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+# CONFIG_BLK_DEV_CMD64X is not set
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+# CONFIG_BLK_DEV_HPT34X is not set
+# CONFIG_BLK_DEV_HPT366 is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+# CONFIG_BLK_DEV_PIIX is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+# CONFIG_BLK_DEV_PDC202XX_OLD is not set
+# CONFIG_BLK_DEV_PDC202XX_NEW is not set
+# CONFIG_BLK_DEV_SVWKS is not set
+# CONFIG_BLK_DEV_SIIMAGE is not set
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+# CONFIG_BLK_DEV_VIA82CXXX is not set
+CONFIG_BLK_DEV_XILLEON=y
+# CONFIG_IDE_ARM is not set
+CONFIG_BLK_DEV_IDEDMA=y
+# CONFIG_IDEDMA_IVB is not set
+CONFIG_IDEDMA_AUTO=y
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_EATA is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_FC is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+CONFIG_SCSI_QLA2XXX=m
+# CONFIG_SCSI_QLA21XX is not set
+# CONFIG_SCSI_QLA22XX is not set
+# CONFIG_SCSI_QLA2300 is not set
+# CONFIG_SCSI_QLA2322 is not set
+# CONFIG_SCSI_QLA6312 is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID5=m
+CONFIG_MD_RAID6=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_EMC=m
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# Networking support
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+CONFIG_ARPD=y
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_TUNNEL=m
+CONFIG_IP_TCPDIAG=y
+# CONFIG_IP_TCPDIAG_IPV6 is not set
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+CONFIG_IP_NF_CONNTRACK_MARK=y
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_LIMIT=m
+CONFIG_IP_NF_MATCH_IPRANGE=m
+CONFIG_IP_NF_MATCH_MAC=m
+CONFIG_IP_NF_MATCH_PKTTYPE=m
+CONFIG_IP_NF_MATCH_MARK=m
+CONFIG_IP_NF_MATCH_MULTIPORT=m
+CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_DSCP=m
+CONFIG_IP_NF_MATCH_AH_ESP=m
+CONFIG_IP_NF_MATCH_LENGTH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_TCPMSS=m
+CONFIG_IP_NF_MATCH_HELPER=m
+CONFIG_IP_NF_MATCH_STATE=m
+CONFIG_IP_NF_MATCH_CONNTRACK=m
+CONFIG_IP_NF_MATCH_OWNER=m
+# CONFIG_IP_NF_MATCH_PHYSDEV is not set
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_REALM=m
+CONFIG_IP_NF_MATCH_SCTP=m
+CONFIG_IP_NF_MATCH_COMMENT=m
+CONFIG_IP_NF_MATCH_CONNMARK=m
+CONFIG_IP_NF_MATCH_HASHLIMIT=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_IP_NF_TARGET_TCPMSS=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_SAME=m
+CONFIG_IP_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_NAT_IRC=m
+CONFIG_IP_NF_NAT_FTP=m
+CONFIG_IP_NF_NAT_TFTP=m
+CONFIG_IP_NF_NAT_AMANDA=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_DSCP=m
+CONFIG_IP_NF_TARGET_MARK=m
+CONFIG_IP_NF_TARGET_CLASSIFY=m
+CONFIG_IP_NF_TARGET_CONNMARK=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_TARGET_NOTRACK=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_LIMIT=m
+CONFIG_IP6_NF_MATCH_MAC=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_MULTIPORT=m
+CONFIG_IP6_NF_MATCH_OWNER=m
+CONFIG_IP6_NF_MATCH_MARK=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_AHESP=m
+CONFIG_IP6_NF_MATCH_LENGTH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+# CONFIG_IP6_NF_MATCH_PHYSDEV is not set
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_TARGET_MARK=m
+CONFIG_IP6_NF_RAW=m
+
+#
+# Bridge: Netfilter Configuration
+#
+# CONFIG_BRIDGE_NF_EBTABLES is not set
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_CLK_JIFFIES=y
+# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
+# CONFIG_NET_SCH_CLK_CPU is not set
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_QOS=y
+CONFIG_NET_ESTIMATOR=y
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_PERF=y
+CONFIG_NET_CLS_IND=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+CONFIG_NETPOLL=y
+CONFIG_NETPOLL_RX=y
+CONFIG_NETPOLL_TRAP=y
+CONFIG_NET_POLL_CONTROLLER=y
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+# CONFIG_BT_HCIVHCI is not set
+CONFIG_NETDEVICES=y
+CONFIG_NETIF_DMA=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_NET_VENDOR_3COM is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_B44 is not set
+# CONFIG_FORCEDETH is not set
+# CONFIG_DGRS is not set
+# CONFIG_EEPRO100 is not set
+# CONFIG_E100 is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NATSEMI is not set
+# CONFIG_NE2K_PCI is not set
+# CONFIG_8139CP is not set
+CONFIG_8139TOO=y
+CONFIG_8139TOO_PIO=y
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+# CONFIG_8139TOO_8129 is not set
+# CONFIG_8139_OLD_RX_RESET is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_TLAN is not set
+# CONFIG_VIA_RHINE is not set
+# CONFIG_LAN_SAA9730 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
+#
+# CONFIG_PRISM54 is not set
+CONFIG_NET_WIRELESS=y
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPPOE=m
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+CONFIG_SHAPER=m
+CONFIG_NETCONSOLE=m
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Telephony Support
+#
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=m
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_I8042 is not set
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_PCIPS2 is not set
+# CONFIG_SERIO_LIBPS2 is not set
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+CONFIG_RTC=m
+# CONFIG_GEN_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_ISA is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Hardware Sensors Chip support
+#
+# CONFIG_I2C_SENSOR is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+
+#
+# Other I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+CONFIG_DVB=y
+CONFIG_DVB_CORE=y
+
+#
+# Supported SAA7146 based PCI Adapters
+#
+# CONFIG_DVB_AV7110 is not set
+# CONFIG_DVB_BUDGET is not set
+# CONFIG_DVB_BUDGET_CI is not set
+# CONFIG_DVB_BUDGET_AV is not set
+
+#
+# Supported USB Adapters
+#
+# CONFIG_DVB_TTUSB_BUDGET is not set
+# CONFIG_DVB_TTUSB_DEC is not set
+# CONFIG_DVB_DIBUSB is not set
+# CONFIG_DVB_CINERGYT2 is not set
+
+#
+# Supported FlexCopII (B2C2) Adapters
+#
+# CONFIG_DVB_B2C2_FLEXCOP is not set
+# CONFIG_DVB_B2C2_SKYSTAR is not set
+
+#
+# Supported BT878 Adapters
+#
+
+#
+# Supported DVB Frontends
+#
+
+#
+# Customise DVB Frontends
+#
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_STV0299=m
+# CONFIG_DVB_CX24110 is not set
+CONFIG_DVB_TDA8083=m
+# CONFIG_DVB_TDA80XX is not set
+CONFIG_DVB_MT312=m
+CONFIG_DVB_VES1X93=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+# CONFIG_DVB_SP8870 is not set
+# CONFIG_DVB_SP887X is not set
+# CONFIG_DVB_CX22700 is not set
+# CONFIG_DVB_CX22702 is not set
+CONFIG_DVB_L64781=m
+# CONFIG_DVB_TDA1004X is not set
+# CONFIG_DVB_NXT6000 is not set
+# CONFIG_DVB_MT352 is not set
+# CONFIG_DVB_DIB3000MB is not set
+# CONFIG_DVB_DIB3000MC is not set
+
+#
+# DVB-C (cable) frontends
+#
+# CONFIG_DVB_ATMEL_AT76C651 is not set
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+# CONFIG_DVB_STV0297 is not set
+
+#
+# ATSC (North American/Korean Terresterial DTV) frontends
+#
+# CONFIG_DVB_NXT2002 is not set
+# CONFIG_DVB_OR51211 is not set
+# CONFIG_DVB_OR51132 is not set
+
+#
+# Graphics support
+#
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+CONFIG_FB_SOFT_CURSOR=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON_OLD is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_E1356 is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+CONFIG_SND_RTCTIMER=m
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# PCI devices
+#
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_YMFPCI is not set
+# CONFIG_SND_ALS4000 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_HDA_INTEL is not set
+
+#
+# ALSA MIPS devices
+#
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB=y
+CONFIG_USB_DEBUG=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_EHCI_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_AUDIO=m
+
+#
+# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
+#
+CONFIG_USB_MIDI=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+CONFIG_USB_HIDINPUT=y
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+CONFIG_USB_AIPTEK=m
+CONFIG_USB_WACOM=m
+CONFIG_USB_KBTAB=m
+CONFIG_USB_POWERMATE=m
+CONFIG_USB_MTOUCH=m
+CONFIG_USB_EGALAX=m
+CONFIG_USB_XPAD=m
+CONFIG_USB_ATI_REMOTE=m
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB Multimedia devices
+#
+CONFIG_USB_DABUSB=m
+
+#
+# Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_USB_ZD1201 is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+
+#
+# USB ATM/DSL drivers
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# InfiniBand support
+#
+# CONFIG_INFINIBAND is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+# CONFIG_REISERFS_FS_XATTR is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+
+#
+# XFS support
+#
+CONFIG_XFS_FS=m
+CONFIG_XFS_EXPORT=y
+# CONFIG_XFS_RT is not set
+# CONFIG_XFS_QUOTA is not set
+# CONFIG_XFS_SECURITY is not set
+# CONFIG_XFS_POSIX_ACL is not set
+CONFIG_MINIX_FS=m
+# CONFIG_ROMFS_FS is not set
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+CONFIG_AUTOFS_FS=m
+CONFIG_AUTOFS4_FS=m
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=y
+CONFIG_JOLIET=y
+# CONFIG_ZISOFS is not set
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+CONFIG_NTFS_DEBUG=y
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_SYSFS=y
+CONFIG_DEVFS_FS=y
+CONFIG_DEVFS_MOUNT=y
+# CONFIG_DEVFS_DEBUG is not set
+# CONFIG_DEVPTS_FS_XATTR is not set
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_XATTR is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_NAND=y
+# CONFIG_JFFS2_FS_NOR_ECC is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_TCP=y
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_CROSSCOMPILE=y
+CONFIG_CMDLINE="console=null root=/dev/mtdblock2 rootfstype=jffs2 ro"
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_ISA_DMA_API=y
+# CONFIG_SERIAL_CONSOLE is not set
--- /dev/null
+DESCRIPTION = "Linux kernel for Dreambox DM8000"
+LICENSE = "GPL"
+PN = "linux-dm800"
+KV = "2.6.12"
+PV = "2.6.12"
+PR = "r8"
+
+# note, the rX in the filename is *NOT* the packet revision - it's the patch revision.
+SRC_URI += "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${KV}.tar.bz2 \
+ file://dm800_defconfig \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-brcm-5.1.patch.bz2;patch=1;pnum=1 \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-update_dvbapi-r1.patch.bz2;patch=1;pnum=1 \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvb-multipid-r4.patch.bz2;patch=1;pnum=1 \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvb-core-fix-several-locking-problems.patch.bz2;patch=1;pnum=1 \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvbapi-pilot-rolloff-extension-r0.patch.bz2;patch=1;pnum=1\
+ http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-update-wireless.patch.bz2;patch=1;pnum=1\
+ http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-add-ioprio.patch.bz2;patch=1;pnum=1 \
+ file://linux-2.6.12-dream-misc.patch;patch=1;pnum=1 \
+ file://linux-2.6.12-fix-serial.patch;patch=1;pnum=1 \
+ file://linux-2.6.12-dm800-flash-layout.patch;patch=1;pnum=1 \
+ file://linux-2.6.12-dream-temp.patch;patch=1;pnum=1 \
+ file://linux-2.6.12-brcm-mtd-blkdevfs-fix.diff;patch=1;pnum=1 \
+ file://linux-2.6.12-set-custom-extraversion.patch;patch=1;pnum=1 \
+ file://linux-2.6.12-7401C0-enable-llsc.patch;patch=1;pnum=1 \
+ file://linux-2.6.12-fixup-prom-args.patch;patch=1;pnum=1 \
+ file://linux-2.6.12-fixup-memsize.patch;patch=1;pnum=1 \
+ file://linuxmips-2.6.12-fix-fadvise.patch;patch=1;pnum=1 \
+ file://linuxmips-2.6.12-fix-futex.patch;patch=1;pnum=1 \
+ file://linuxmips-2.6.12-gcc4-compile-fix.patch;patch=1;pnum=1 \
+ file://linuxmips-2.6.12-gdb-fix.patch;patch=1;pnum=1"
+
+S = "${WORKDIR}/stblinux-2.6.12"
+
+inherit kernel
+
+FILES_kernel-image = "/boot/vmlinux.gz /boot/autoexec.bat"
+
+export OS = "Linux"
+KERNEL_IMAGETYPE = "vmlinux"
+KERNEL_OUTPUT = "vmlinux"
+KERNEL_OBJECT_SUFFIX = "ko"
+
+do_munge() {
+ mv ${WORKDIR}/linux-2.6.12 ${WORKDIR}/stblinux-2.6.12
+ if [ -d ${S}/drivers/sound ]; then
+ rm -R ${S}/drivers/sound;
+ fi;
+}
+
+addtask munge before do_patch after do_unpack
+
+do_configure_prepend() {
+ oe_machinstall -m 0644 ${WORKDIR}/dm800_defconfig ${S}/.config
+ oe_runmake oldconfig
+}
+
+do_install_append () {
+ install -d ${D}/boot
+ install -m 0755 vmlinux ${D}/boot/vmlinux
+ echo "/flash/bootlogo.elf" > ${D}/boot/autoexec.bat
+ gzip ${D}/boot/vmlinux
+ echo "/flash/vmlinux.gz" >> ${D}/boot/autoexec.bat
+}
+
+pkg_preinst_kernel-image () {
+ [ -d /proc/stb ] && mount -o rw,remount /boot
+}
+
+pkg_postinst_kernel-image () {
+ [ -d /proc/stb ] && mount -o ro,remount /boot
+}
+
+pkg_prerm_kernel-image () {
+ [ -d /proc/stb ] && mount -o rw,remount /boot
+}
+
+pkg_postrm_kernel-image () {
+ [ -d /proc/stb ] && mount -o ro,remount /boot
+}
--- /dev/null
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.12-5.1-brcmstb-dm800
+# Thu Feb 28 19:09:49 2008
+#
+CONFIG_MIPS=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Machine selection
+#
+# CONFIG_MIPS_BCM3560A0 is not set
+# CONFIG_MIPS_BCM3560B0 is not set
+# CONFIG_MIPS_BCM3563 is not set
+# CONFIG_MIPS_BCM3563C0 is not set
+# CONFIG_MIPS_BCM7038B0 is not set
+# CONFIG_MIPS_BCM7038CX is not set
+# CONFIG_MIPS_BCM97398 is not set
+# CONFIG_MIPS_BCM7110 is not set
+# CONFIG_MIPS_BCM7111 is not set
+# CONFIG_MIPS_BCM7112 is not set
+# CONFIG_MIPS_BCM7115 is not set
+# CONFIG_MIPS_BCM7118AX is not set
+# CONFIG_MIPS_BCM7118A0_NAND is not set
+# CONFIG_MIPS_BCM7312 is not set
+# CONFIG_MIPS_BCM7315 is not set
+# CONFIG_MIPS_BCM7317 is not set
+# CONFIG_MIPS_BCM7318 is not set
+# CONFIG_MIPS_BCM7319 is not set
+# CONFIG_MIPS_BCM7320 is not set
+# CONFIG_MIPS_BCM7328 is not set
+# CONFIG_MIPS_BCM7329 is not set
+# CONFIG_MIPS_BCM97456 is not set
+# CONFIG_MIPS_BCM97456BX is not set
+# CONFIG_MIPS_BCM97456BX_NAND is not set
+# CONFIG_MIPS_BCM7400AX is not set
+# CONFIG_MIPS_BCM7400BX is not set
+# CONFIG_MIPS_BCM7400BX_NAND is not set
+# CONFIG_MIPS_BCM7400AX_NAND is not set
+# CONFIG_MIPS_BCM7405AX is not set
+# CONFIG_MIPS_BCM97455 is not set
+# CONFIG_MIPS_BCM7401AX is not set
+# CONFIG_MIPS_BCM7401BX is not set
+# CONFIG_MIPS_BCM7401BX_NAND is not set
+# CONFIG_MIPS_BCM97455B0 is not set
+CONFIG_MIPS_BCM7401CX=y
+# CONFIG_MIPS_BCM7401CX_NAND is not set
+# CONFIG_MIPS_BCM97455CX is not set
+# CONFIG_MIPS_BCM97455CX_NAND is not set
+# CONFIG_MIPS_BCM97458AX is not set
+# CONFIG_MIPS_BCM97458AX_NAND is not set
+# CONFIG_MIPS_BCM7402S is not set
+# CONFIG_MIPS_BCM7402B0S is not set
+# CONFIG_MIPS_BCM7402A0 is not set
+# CONFIG_MIPS_BCM7402CX is not set
+# CONFIG_MIPS_BCM7402CX_NAND is not set
+# CONFIG_MIPS_BCM7403AX is not set
+# CONFIG_MIPS_BCM7451AX_SMB is not set
+# CONFIG_MIPS_BCM7403AX_NAND is not set
+# CONFIG_MIPS_BCM7452AX is not set
+# CONFIG_MIPS_BCM7452AX_NAND is not set
+# CONFIG_MIPS_BCM7440AX is not set
+# CONFIG_MIPS_BCM7440BX is not set
+# CONFIG_MIPS_BCM7440BX_NAND is not set
+# CONFIG_MIPS_BCM93730 is not set
+# CONFIG_MIPS_MTX1 is not set
+# CONFIG_MIPS_BOSPORUS is not set
+# CONFIG_MIPS_PB1000 is not set
+# CONFIG_MIPS_PB1100 is not set
+# CONFIG_MIPS_PB1500 is not set
+# CONFIG_MIPS_PB1550 is not set
+# CONFIG_MIPS_PB1200 is not set
+# CONFIG_MIPS_DB1000 is not set
+# CONFIG_MIPS_DB1100 is not set
+# CONFIG_MIPS_DB1500 is not set
+# CONFIG_MIPS_DB1550 is not set
+# CONFIG_MIPS_DB1200 is not set
+# CONFIG_MIPS_MIRAGE is not set
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MIPS_EV64120 is not set
+# CONFIG_MIPS_EV96100 is not set
+# CONFIG_MIPS_IVR is not set
+# CONFIG_MIPS_ITE8172 is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MOMENCO_JAGUAR_ATX is not set
+# CONFIG_MOMENCO_OCELOT is not set
+# CONFIG_MOMENCO_OCELOT_3 is not set
+# CONFIG_MOMENCO_OCELOT_C is not set
+# CONFIG_MOMENCO_OCELOT_G is not set
+# CONFIG_MIPS_XXS1500 is not set
+# CONFIG_DDB5074 is not set
+# CONFIG_DDB5476 is not set
+# CONFIG_DDB5477 is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_QEMU is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_PTSWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SNI_RM200_PCI is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_HAVE_DEC_LOCK=y
+CONFIG_DMA_NONCOHERENT=y
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_SYS_SUPPORTS_CPUFREQ=y
+CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
+CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
+CONFIG_IRQ_CPU=y
+CONFIG_MIPS_BRCM97XXX=y
+CONFIG_MIPS_BCM7401C0=y
+CONFIG_MIPS_BCM7401=y
+CONFIG_MIPS_BRCM=y
+CONFIG_BRCM_7XXX_SERIAL=y
+# CONFIG_LONG_LONG_SUPPORT is not set
+CONFIG_SERIAL=y
+CONFIG_MIPS_L1_CACHE_SHIFT=5
+
+#
+# Power management
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+CONFIG_CPU_FREQ_BRCM=y
+
+#
+# CPU selection
+#
+# CONFIG_CPU_MIPS32_R2 is not set
+CONFIG_CPU_MIPS32_R1=y
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+# CONFIG_CPU_SB1 is not set
+CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
+
+#
+# Kernel type
+#
+CONFIG_MIPS32=y
+# CONFIG_MIPS64 is not set
+# CONFIG_64BIT is not set
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+CONFIG_CPU_HAS_PREFETCH=y
+# CONFIG_64BIT_PHYS_ADDR is not set
+# CONFIG_CPU_ADVANCED is not set
+CONFIG_CPU_HAS_LLSC=y
+CONFIG_CPU_HAS_SYNC=y
+# CONFIG_PREEMPT is not set
+
+#
+# Bus options (PCI, PCMCIA, EISA, ISA, TC)
+#
+CONFIG_HW_HAS_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_LEGACY_PROC=y
+# CONFIG_PCI_NAMES is not set
+CONFIG_MMU=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# PCI Hotplug Support
+#
+# CONFIG_HOTPLUG_PCI is not set
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+CONFIG_TRAD_SIGNALS=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+CONFIG_FW_LOADER=y
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_MTD_BLOCK_ROMBLOCK is not set
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+CONFIG_MTD_CFI_AMDSTD=y
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_BCM7XXX=y
+# CONFIG_MTD_MULTI_PHYSMAP is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_RAMTD is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Broadcom NAND Flash Device Drivers
+#
+CONFIG_MTD_BRCMNAND=y
+CONFIG_MTD_BRCMNAND_VERIFY_WRITE=y
+CONFIG_MTD_BRCMNAND_VERSION=1
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_LBD is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_AS is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_ATA_OVER_ETH=m
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+CONFIG_BLK_DEV_IDE_SATA=y
+CONFIG_BLK_DEV_IDEDISK=y
+CONFIG_IDEDISK_MULTI_MODE=y
+CONFIG_BLK_DEV_IDECD=y
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+CONFIG_BLK_DEV_IDEPCI=y
+# CONFIG_IDEPCI_SHARE_IRQ is not set
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=y
+# CONFIG_BLK_DEV_OPTI621 is not set
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
+CONFIG_IDEDMA_PCI_AUTO=y
+# CONFIG_IDEDMA_ONLYDISK is not set
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+# CONFIG_BLK_DEV_CMD64X is not set
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+# CONFIG_BLK_DEV_HPT34X is not set
+# CONFIG_BLK_DEV_HPT366 is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+# CONFIG_BLK_DEV_PIIX is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+# CONFIG_BLK_DEV_PDC202XX_OLD is not set
+# CONFIG_BLK_DEV_PDC202XX_NEW is not set
+CONFIG_BLK_DEV_SVWKS=y
+# CONFIG_BLK_DEV_SIIMAGE is not set
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_IDE_ARM is not set
+CONFIG_BLK_DEV_IDEDMA=y
+# CONFIG_IDEDMA_IVB is not set
+CONFIG_IDEDMA_AUTO=y
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_FC is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+CONFIG_SCSI_QLA2XXX=m
+# CONFIG_SCSI_QLA21XX is not set
+# CONFIG_SCSI_QLA22XX is not set
+# CONFIG_SCSI_QLA2300 is not set
+# CONFIG_SCSI_QLA2322 is not set
+# CONFIG_SCSI_QLA6312 is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+CONFIG_SCSI_DEBUG=m
+
+#
+# Multi-device support (RAID and LVM)
+#
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID5=m
+CONFIG_MD_RAID6=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_EMC=m
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# Networking support
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+CONFIG_ARPD=y
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_TUNNEL=m
+CONFIG_IP_TCPDIAG=y
+# CONFIG_IP_TCPDIAG_IPV6 is not set
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+CONFIG_IP_NF_CONNTRACK_MARK=y
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_LIMIT=m
+CONFIG_IP_NF_MATCH_IPRANGE=m
+CONFIG_IP_NF_MATCH_MAC=m
+CONFIG_IP_NF_MATCH_PKTTYPE=m
+CONFIG_IP_NF_MATCH_MARK=m
+CONFIG_IP_NF_MATCH_MULTIPORT=m
+CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_DSCP=m
+CONFIG_IP_NF_MATCH_AH_ESP=m
+CONFIG_IP_NF_MATCH_LENGTH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_TCPMSS=m
+CONFIG_IP_NF_MATCH_HELPER=m
+CONFIG_IP_NF_MATCH_STATE=m
+CONFIG_IP_NF_MATCH_CONNTRACK=m
+CONFIG_IP_NF_MATCH_OWNER=m
+# CONFIG_IP_NF_MATCH_PHYSDEV is not set
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_REALM=m
+CONFIG_IP_NF_MATCH_SCTP=m
+CONFIG_IP_NF_MATCH_COMMENT=m
+CONFIG_IP_NF_MATCH_CONNMARK=m
+CONFIG_IP_NF_MATCH_HASHLIMIT=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_IP_NF_TARGET_TCPMSS=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_SAME=m
+CONFIG_IP_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_NAT_IRC=m
+CONFIG_IP_NF_NAT_FTP=m
+CONFIG_IP_NF_NAT_TFTP=m
+CONFIG_IP_NF_NAT_AMANDA=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_DSCP=m
+CONFIG_IP_NF_TARGET_MARK=m
+CONFIG_IP_NF_TARGET_CLASSIFY=m
+CONFIG_IP_NF_TARGET_CONNMARK=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_TARGET_NOTRACK=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_LIMIT=m
+CONFIG_IP6_NF_MATCH_MAC=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_MULTIPORT=m
+CONFIG_IP6_NF_MATCH_OWNER=m
+CONFIG_IP6_NF_MATCH_MARK=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_AHESP=m
+CONFIG_IP6_NF_MATCH_LENGTH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+# CONFIG_IP6_NF_MATCH_PHYSDEV is not set
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_TARGET_MARK=m
+CONFIG_IP6_NF_RAW=m
+
+#
+# Bridge: Netfilter Configuration
+#
+# CONFIG_BRIDGE_NF_EBTABLES is not set
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_HMAC_NONE is not set
+# CONFIG_SCTP_HMAC_SHA1 is not set
+CONFIG_SCTP_HMAC_MD5=y
+# CONFIG_ATM is not set
+CONFIG_BRIDGE=m
+CONFIG_VLAN_8021Q=m
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_CLK_JIFFIES=y
+# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
+# CONFIG_NET_SCH_CLK_CPU is not set
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_QOS=y
+CONFIG_NET_ESTIMATOR=y
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_PERF=y
+CONFIG_NET_CLS_IND=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+CONFIG_NETPOLL=y
+CONFIG_NETPOLL_RX=y
+CONFIG_NETPOLL_TRAP=y
+CONFIG_NET_POLL_CONTROLLER=y
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+# CONFIG_BT_HCIVHCI is not set
+CONFIG_NETDEVICES=y
+CONFIG_NETIF_DMA=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_BCMINTEMAC_7038=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_NET_VENDOR_3COM is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+# CONFIG_NET_PCI is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
+#
+# CONFIG_PRISM54 is not set
+CONFIG_NET_WIRELESS=y
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPPOE=m
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_SHAPER is not set
+CONFIG_NETCONSOLE=m
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Telephony Support
+#
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=m
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+CONFIG_INPUT_JOYSTICK=y
+# CONFIG_JOYSTICK_ANALOG is not set
+# CONFIG_JOYSTICK_A3D is not set
+# CONFIG_JOYSTICK_ADI is not set
+# CONFIG_JOYSTICK_COBRA is not set
+# CONFIG_JOYSTICK_GF2K is not set
+# CONFIG_JOYSTICK_GRIP is not set
+# CONFIG_JOYSTICK_GRIP_MP is not set
+# CONFIG_JOYSTICK_GUILLEMOT is not set
+# CONFIG_JOYSTICK_INTERACT is not set
+# CONFIG_JOYSTICK_SIDEWINDER is not set
+# CONFIG_JOYSTICK_TMDC is not set
+# CONFIG_JOYSTICK_IFORCE is not set
+# CONFIG_JOYSTICK_WARRIOR is not set
+# CONFIG_JOYSTICK_MAGELLAN is not set
+# CONFIG_JOYSTICK_SPACEORB is not set
+# CONFIG_JOYSTICK_SPACEBALL is not set
+# CONFIG_JOYSTICK_STINGER is not set
+# CONFIG_JOYSTICK_TWIDJOY is not set
+# CONFIG_JOYSTICK_JOYDUMP is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_PCSPKR is not set
+# CONFIG_INPUT_UINPUT is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_I8042 is not set
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_SERIAL_CONSOLE=y
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_RTC is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_ISA is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Hardware Sensors Chip support
+#
+# CONFIG_I2C_SENSOR is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+
+#
+# Other I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+CONFIG_DVB=y
+CONFIG_DVB_CORE=y
+
+#
+# Supported SAA7146 based PCI Adapters
+#
+# CONFIG_DVB_AV7110 is not set
+# CONFIG_DVB_BUDGET is not set
+# CONFIG_DVB_BUDGET_CI is not set
+# CONFIG_DVB_BUDGET_AV is not set
+
+#
+# Supported USB Adapters
+#
+# CONFIG_DVB_TTUSB_BUDGET is not set
+# CONFIG_DVB_TTUSB_DEC is not set
+# CONFIG_DVB_DIBUSB is not set
+# CONFIG_DVB_CINERGYT2 is not set
+
+#
+# Supported FlexCopII (B2C2) Adapters
+#
+# CONFIG_DVB_B2C2_FLEXCOP is not set
+# CONFIG_DVB_B2C2_SKYSTAR is not set
+
+#
+# Supported BT878 Adapters
+#
+
+#
+# Supported DVB Frontends
+#
+
+#
+# Customise DVB Frontends
+#
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_STV0299=m
+# CONFIG_DVB_CX24110 is not set
+CONFIG_DVB_TDA8083=m
+# CONFIG_DVB_TDA80XX is not set
+CONFIG_DVB_MT312=m
+CONFIG_DVB_VES1X93=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+# CONFIG_DVB_SP8870 is not set
+# CONFIG_DVB_SP887X is not set
+# CONFIG_DVB_CX22700 is not set
+# CONFIG_DVB_CX22702 is not set
+CONFIG_DVB_L64781=m
+# CONFIG_DVB_TDA1004X is not set
+# CONFIG_DVB_NXT6000 is not set
+# CONFIG_DVB_MT352 is not set
+# CONFIG_DVB_DIB3000MB is not set
+# CONFIG_DVB_DIB3000MC is not set
+
+#
+# DVB-C (cable) frontends
+#
+# CONFIG_DVB_ATMEL_AT76C651 is not set
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+# CONFIG_DVB_STV0297 is not set
+
+#
+# ATSC (North American/Korean Terresterial DTV) frontends
+#
+# CONFIG_DVB_NXT2002 is not set
+# CONFIG_DVB_OR51211 is not set
+# CONFIG_DVB_OR51132 is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+CONFIG_FB_SOFT_CURSOR=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON_OLD is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_SMIVGX is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_E1356 is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# PCI devices
+#
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_YMFPCI is not set
+# CONFIG_SND_ALS4000 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_HDA_INTEL is not set
+
+#
+# ALSA MIPS devices
+#
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB=y
+CONFIG_USB_DEBUG=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD=y
+# CONFIG_USB_EHCI_SPLIT_ISO is not set
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+CONFIG_USB_BRCM=y
+# CONFIG_USB_BRCM_PWR_CTL is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_AUDIO=m
+
+#
+# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
+#
+CONFIG_USB_MIDI=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT=y
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+CONFIG_USB_AIPTEK=m
+CONFIG_USB_WACOM=m
+CONFIG_USB_KBTAB=m
+CONFIG_USB_POWERMATE=m
+CONFIG_USB_MTOUCH=m
+CONFIG_USB_EGALAX=m
+CONFIG_USB_XPAD=m
+CONFIG_USB_ATI_REMOTE=m
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB Multimedia devices
+#
+CONFIG_USB_DABUSB=m
+
+#
+# Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_USB_ZD1201 is not set
+CONFIG_USB_MON=m
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_TEST is not set
+
+#
+# USB ATM/DSL drivers
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# InfiniBand support
+#
+# CONFIG_INFINIBAND is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+# CONFIG_EXT2_FS_XATTR is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+# CONFIG_REISERFS_FS_XATTR is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+
+#
+# XFS support
+#
+CONFIG_XFS_FS=m
+CONFIG_XFS_EXPORT=y
+# CONFIG_XFS_RT is not set
+# CONFIG_XFS_QUOTA is not set
+# CONFIG_XFS_SECURITY is not set
+# CONFIG_XFS_POSIX_ACL is not set
+CONFIG_MINIX_FS=m
+# CONFIG_ROMFS_FS is not set
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+CONFIG_AUTOFS_FS=m
+CONFIG_AUTOFS4_FS=m
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+# CONFIG_ZISOFS is not set
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+CONFIG_NTFS_DEBUG=y
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_SYSFS=y
+CONFIG_DEVFS_FS=y
+CONFIG_DEVFS_MOUNT=y
+# CONFIG_DEVFS_DEBUG is not set
+# CONFIG_DEVPTS_FS_XATTR is not set
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_XATTR is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_YAFFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=y
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+CONFIG_UFS_FS=m
+CONFIG_UFS_FS_WRITE=y
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_TCP=y
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_CROSSCOMPILE=y
+CONFIG_CMDLINE="root=/dev/mtdblock3 rootfstype=jffs2 rw mem=128M console=null"
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
--- /dev/null
+diff -Naur 2.6.12-5.0-org/arch/mips/Makefile 2.6.12-5.0-patched/arch/mips/Makefile
+--- 2.6.12-5.0-org/arch/mips/Makefile 2007-07-26 00:50:51.000000000 +0200
++++ 2.6.12-5.0-patched/arch/mips/Makefile 2007-12-11 15:27:14.000000000 +0100
+@@ -947,6 +947,7 @@
+ load-$(CONFIG_MIPS_BCM97455C0) := 0x80001000
+
+ else
++ cflags-$(CONFIG_MIPS_BCM7401C0) += -Iinclude/asm-mips/mach-brcmstb
+ # THT: Changed to 7401C0 from 7401CX to also pick up the NAND version
+ core-$(CONFIG_MIPS_BCM7401C0) += arch/mips/brcmstb/common/
+ core-$(CONFIG_MIPS_BCM7401C0) += arch/mips/brcmstb/brcm97401c0/
--- /dev/null
+Index: stblinux-2.6.12/drivers/mtd/mtd_blkdevs.c
+===================================================================
+--- stblinux-2.6.12.orig/drivers/mtd/mtd_blkdevs.c 2007-07-26 00:55:00.000000000 +0200
++++ stblinux-2.6.12/drivers/mtd/mtd_blkdevs.c 2008-01-16 23:58:30.000000000 +0100
+@@ -21,6 +21,7 @@
+ #include <linux/init.h>
+ #include <asm/semaphore.h>
+ #include <asm/uaccess.h>
++#include <linux/devfs_fs_kernel.h>
+
+ static LIST_HEAD(blktrans_majors);
+
+@@ -302,6 +303,9 @@
+ snprintf(gd->disk_name, sizeof(gd->disk_name),
+ "%s%d", tr->name, new->devnum);
+
++ snprintf(gd->devfs_name, sizeof(gd->devfs_name),
++ "%s/%c", tr->name, (tr->part_bits?'a':'0') + new->devnum);
++
+ /* 2.5 has capacity in units of 512 bytes while still
+ having BLOCK_SIZE_BITS set to 10. Just to keep us amused. */
+ set_capacity(gd, (new->size * new->blksize) >> 9);
+@@ -418,6 +422,8 @@
+ return ret;
+ }
+
++ devfs_mk_dir(tr->name);
++
+ INIT_LIST_HEAD(&tr->devs);
+ list_add(&tr->list, &blktrans_majors);
+
+@@ -450,6 +456,7 @@
+ tr->remove_dev(dev);
+ }
+
++ devfs_remove(tr->name);
+ blk_cleanup_queue(tr->blkcore_priv->rq);
+ unregister_blkdev(tr->major, tr->name);
+
+Index: stblinux-2.6.12/drivers/mtd/mtdchar.c
+===================================================================
+--- stblinux-2.6.12.orig/drivers/mtd/mtdchar.c 2008-01-21 01:37:38.000000000 +0100
++++ stblinux-2.6.12/drivers/mtd/mtdchar.c 2008-01-21 01:37:40.000000000 +0100
+@@ -26,6 +26,8 @@
+
+ static struct class *mtd_class;
+
++#include <linux/devfs_fs_kernel.h>
++
+ static void mtd_notify_add(struct mtd_info* mtd)
+ {
+ if (!mtd)
+@@ -50,6 +52,12 @@
+ MKDEV(MTD_CHAR_MAJOR, mtd->index*2+1),
+ NULL, "mtd%dro", mtd->index);
+ #endif
++
++ devfs_mk_cdev(MKDEV(MTD_CHAR_MAJOR, mtd->index*2),
++ S_IFCHR | S_IRUGO | S_IWUGO, "mtd/%d", mtd->index);
++
++ devfs_mk_cdev(MKDEV(MTD_CHAR_MAJOR, mtd->index*2+1),
++ S_IFCHR | S_IRUGO, "mtd/%dro", mtd->index);
+ }
+
+ static void mtd_notify_remove(struct mtd_info* mtd)
+@@ -59,6 +67,9 @@
+
+ class_device_destroy(mtd_class, MKDEV(MTD_CHAR_MAJOR, mtd->index*2));
+ class_device_destroy(mtd_class, MKDEV(MTD_CHAR_MAJOR, mtd->index*2+1));
++
++ devfs_remove("mtd/%d", mtd->index);
++ devfs_remove("mtd/%dro", mtd->index);
+ }
+
+ static struct mtd_notifier notifier = {
+@@ -66,6 +77,17 @@
+ .remove = mtd_notify_remove,
+ };
+
++static inline void mtdchar_devfs_init(void)
++{
++ devfs_mk_dir("mtd");
++}
++
++static inline void mtdchar_devfs_exit(void)
++{
++ devfs_remove("mtd");
++}
++
++
+ /*
+ * We use file->private_data to store a pointer to the MTDdevice.
+ * Since alighment is at least 32 bits, we have 2 bits free for OTP
+@@ -807,6 +829,7 @@
+ return PTR_ERR(mtd_class);
+ }
+
++ mtdchar_devfs_init();
+ register_mtd_user(¬ifier);
+ return 0;
+ }
+@@ -815,6 +838,7 @@
+ {
+ unregister_mtd_user(¬ifier);
+ class_destroy(mtd_class);
++ mtdchar_devfs_exit();
+ unregister_chrdev(MTD_CHAR_MAJOR, "mtd");
+ }
+
--- /dev/null
+diff -Naur stblinux-2.6.12-org/drivers/mtd/brcmnand/bcm7xxx-nand.c stblinux-2.6.12/drivers/mtd/brcmnand/bcm7xxx-nand.c
+--- stblinux-2.6.12-org/drivers/mtd/brcmnand/bcm7xxx-nand.c 2008-02-28 18:40:17.000000000 +0100
++++ stblinux-2.6.12/drivers/mtd/brcmnand/bcm7xxx-nand.c 2008-02-28 18:45:03.000000000 +0100
+@@ -78,19 +78,28 @@
+
+ static struct mtd_partition bcm7XXX_nand_parts[] =
+ {
+- { name: "rootfs", offset: 0, size: DEFAULT_ROOTFS_SIZE },
+-#ifdef CONFIG_MTD_ECM_PARTITION
+-#define AVAIL1_PART (1)
+-#define OCAP_PART (2)
+- { name: "avail1", offset: DEFAULT_ROOTFS_SIZE, size: DEFAULT_AVAIL1_SIZE },
+- { name: "ocap", offset: DEFAULT_ROOTFS_SIZE+DEFAULT_AVAIL1_SIZE, size: DEFAULT_OCAP_SIZE },
+-#endif
+- { name: "kernel", offset: 0x00800000, size: 4<<20 },
+- { name: "cfe", offset: 0x00C00000, size: 2<<20 },
+- { name: "nvm", offset: 0x00E00000, size: 1<<20 },
+- /* BBT 1MB not mountable by anyone */
+- { name: "data", offset: 0x400000000, size: 0 },
+-};
++ /* modified for Dreambox DM800 */
++ {
++ .name = "complete",
++ .offset = 0,
++ .size = 64*1024*1024
++ },
++ {
++ .name = "loader",
++ .offset = 0,
++ .size = 256*1024
++ },
++ {
++ .name = "boot partition",
++ .offset = 256*1024,
++ .size = (4*1024-256)*1024
++ },
++ {
++ .name = "root partition",
++ .offset = 4*1024*1024,
++ .size = 60*1024*1024
++ },
++ };
+
+ struct brcmnand_info {
+ struct mtd_info mtd;
+@@ -106,100 +115,6 @@
+ }
+ //EXPORT_SYMBOL(get_brcmnand_handle);
+
+-
+-/*
+- * Size and offset are variable, depending on the size of the chip, but
+- * cfe_kernel always starts at 1FC0_0000 and is 4MB size.
+- * The entire reserved area (kernel + CFE + BBT) occupies the last 8 MB of the flash.
+- */
+-static void __devinit
+-brcmnanddrv_setup_mtd_partitions(struct brcmnand_info* nandinfo, int* numParts)
+-{
+- struct mtd_info* mtd = &nandinfo->mtd;
+- unsigned long size;
+- int i = 0;
+- unsigned int ecm_size = DEFAULT_ECM_SIZE;
+- unsigned int ocap_size = DEFAULT_OCAP_SIZE;
+- unsigned int avail1_size = DEFAULT_AVAIL1_SIZE;
+-
+- if (mtd->size <= (512<<20)) {
+- size = mtd->size; // mtd->size may be different than nandinfo->size
+- // Relies on this being called after brcmnand_scan
+- *numParts = ARRAY_SIZE(bcm7XXX_nand_parts) - 1;
+- }
+- else {
+- size = 512 << 20;
+- *numParts = ARRAY_SIZE(bcm7XXX_nand_parts);
+- }
+-
+-#ifdef CONFIG_MTD_ECM_PARTITION
+- /* Do not generate AVAIL1 partition if usable flash size is less than 64MB */
+- if (size < (64<<20)) {
+- ecm_size = DEFAULT_OCAP_SIZE;
+- bcm7XXX_nand_parts[AVAIL1_PART].size = avail1_size = 0;
+- (*numParts)--;
+- }
+- else {
+- int factor = size / (64 << 20); // Remember size is capped at 512MB
+-
+- bcm7XXX_nand_parts[OCAP_PART].size = ocap_size = factor*DEFAULT_OCAP_SIZE;
+- bcm7XXX_nand_parts[AVAIL1_PART].size = avail1_size = factor*DEFAULT_AVAIL1_SIZE;
+- ecm_size = ocap_size + avail1_size;
+- }
+-
+-#endif
+- nandinfo->parts = bcm7XXX_nand_parts;
+- bcm7XXX_nand_parts[0].size = size - DEFAULT_RESERVED_SIZE - ecm_size;
+- bcm7XXX_nand_parts[0].oobsel = &mtd->oobinfo;
+-printk("Part[%d] name=%s, size=%x, offset=%x\n", i, bcm7XXX_nand_parts[0].name,
+-bcm7XXX_nand_parts[0].size, bcm7XXX_nand_parts[0].offset);
+-
+- for (i=1; i< ARRAY_SIZE(bcm7XXX_nand_parts) - 1; i++) {
+-#ifdef CONFIG_MTD_ECM_PARTITION
+- //if (0 == bcm7XXX_nand_parts[i].size)
+- // continue;
+- /* Skip avail1 if size is less than 64 MB) */
+- if (0 == avail1_size && AVAIL1_PART == i) {
+- bcm7XXX_nand_parts[i].offset = bcm7XXX_nand_parts[i-1].size + bcm7XXX_nand_parts[i-1].offset;
+- continue;
+- }
+-#endif
+- bcm7XXX_nand_parts[i].offset = bcm7XXX_nand_parts[i-1].size + bcm7XXX_nand_parts[i-1].offset;
+- // For now every partition uses the same oobinfo
+- bcm7XXX_nand_parts[i].oobsel = &mtd->oobinfo;
+-printk("Part[%d] name=%s, size=%x, offset=%x\n", i, bcm7XXX_nand_parts[i].name,
+-bcm7XXX_nand_parts[i].size, bcm7XXX_nand_parts[i].offset);
+- }
+-
+-
+- if (mtd->size > (512 << 20)) { // For total flash size > 512MB, we must split the rootfs into 2 partitions
+- i = *numParts - 1;
+- bcm7XXX_nand_parts[i].offset = 512 << 20;
+- bcm7XXX_nand_parts[i].size = mtd->size - (513 << 20);
+- bcm7XXX_nand_parts[i].oobsel = &mtd->oobinfo;
+-#ifdef CONFIG_MTD_ECM_PARTITION
+-printk("Part[%d] name=%s, size=%x, offset=%x\n", avail1_size? i: i-1, bcm7XXX_nand_parts[i].name,
+-bcm7XXX_nand_parts[i].size, bcm7XXX_nand_parts[i].offset);
+-#else
+-printk("Part[%d] name=%s, size=%x, offset=%x\n", i, bcm7XXX_nand_parts[i].name,
+-bcm7XXX_nand_parts[i].size, bcm7XXX_nand_parts[i].offset);
+-#endif
+-
+- }
+-
+-#ifdef CONFIG_MTD_ECM_PARTITION
+- /* Shift partitions 1 up if avail1_size is 0 */
+- if (0 == avail1_size) {
+- for (i=AVAIL1_PART; i < *numParts; i++) {
+- bcm7XXX_nand_parts[i].offset = bcm7XXX_nand_parts[i+1].offset;
+- bcm7XXX_nand_parts[i].size = bcm7XXX_nand_parts[i+1].size;
+- }
+- bcm7XXX_nand_parts[*numParts].offset = 0;
+- bcm7XXX_nand_parts[*numParts].size = 0;
+- }
+-#endif
+-}
+-
+ static int __devinit brcmnanddrv_probe(struct device *dev)
+ {
+ struct platform_device *pdev = to_platform_device(dev);
+@@ -234,14 +149,12 @@
+ if (brcmnand_scan(&info->mtd, MAX_NAND_CS)) {
+ err = -ENXIO;
+ goto out_free_info;
+- }
+-
+- printk(" numchips=%d, size=%08x\n", info->brcmnand.numchips, info->mtd.size);
+- brcmnanddrv_setup_mtd_partitions(info, &numParts);
+-//printk(" add_mtd_partitions\n");
+- add_mtd_partitions(&info->mtd, info->parts, numParts);
+-//printk(" dev_set_drvdata\n");
+- dev_set_drvdata(&pdev->dev, info);
++ }
++
++ printk(" numchips=%d, size=%08x\n", info->brcmnand.numchips, info->mtd.size);
++ add_mtd_partitions(&info->mtd, bcm7XXX_nand_parts, 4);
++//printk(" dev_set_drvdata\n");
++ dev_set_drvdata(&pdev->dev, info);
+ //printk("<-- brcmnanddrv_probe\n");
+ return 0;
+
+diff -Naur stblinux-2.6.12-org/drivers/mtd/brcmnand/brcmnand_base.c stblinux-2.6.12/drivers/mtd/brcmnand/brcmnand_base.c
+--- stblinux-2.6.12-org/drivers/mtd/brcmnand/brcmnand_base.c 2008-02-28 18:40:17.000000000 +0100
++++ stblinux-2.6.12/drivers/mtd/brcmnand/brcmnand_base.c 2008-02-28 18:46:02.000000000 +0100
+@@ -296,7 +296,15 @@
+ .options = NAND_USE_FLASH_BBT,
+ .timing1 = 0, .timing2 = 0,
+ },
+-
++
++ { /* 20 */
++ .chipId = HYNIX_HY27US08121A,
++ .mafId = FLASHTYPE_HYNIX,
++ .chipIdStr = "Hynix HY27US08121A (dream)",
++ .options = NAND_USE_FLASH_BBT,
++ .timing1 = 0, .timing2 = 0,
++ },
++
+ { /* LAST DUMMY ENTRY */
+ .chipId = 0,
+ .mafId = 0,
--- /dev/null
+diff -Naur 2.6.12-5.0-org/arch/mips/kernel/reset.c 2.6.12-5.0-patched/arch/mips/kernel/reset.c
+--- 2.6.12-5.0-org/arch/mips/kernel/reset.c 2007-07-26 00:51:08.000000000 +0200
++++ 2.6.12-5.0-patched/arch/mips/kernel/reset.c 2007-12-11 12:34:52.000000000 +0100
+@@ -27,6 +27,7 @@
+ }
+
+ EXPORT_SYMBOL(machine_restart);
++EXPORT_SYMBOL(_machine_restart);
+
+ void machine_halt(void)
+ {
+@@ -34,6 +35,7 @@
+ }
+
+ EXPORT_SYMBOL(machine_halt);
++EXPORT_SYMBOL(_machine_halt);
+
+ void machine_power_off(void)
+ {
+@@ -41,3 +43,4 @@
+ }
+
+ EXPORT_SYMBOL(machine_power_off);
++EXPORT_SYMBOL(_machine_power_off);
+diff -Naur 2.6.12-5.0-org/drivers/video/Kconfig 2.6.12-5.0-patched/drivers/video/Kconfig
+--- 2.6.12-5.0-org/drivers/video/Kconfig 2007-07-26 00:54:49.000000000 +0200
++++ 2.6.12-5.0-patched/drivers/video/Kconfig 2007-12-11 12:34:52.000000000 +0100
+@@ -39,7 +39,7 @@
+ device-aware may cause unexpected results. If unsure, say N.
+
+ config FB_CFB_FILLRECT
+- tristate
++ tristate "FB_CFB_FILLRECT"
+ depends on FB
+ default n
+ ---help---
+@@ -48,7 +48,7 @@
+ (accelerated) version.
+
+ config FB_CFB_COPYAREA
+- tristate
++ tristate "FB_CFB_COPYAREA"
+ depends on FB
+ default n
+ ---help---
+@@ -57,7 +57,7 @@
+ version.
+
+ config FB_CFB_IMAGEBLIT
+- tristate
++ tristate "FB_CFB_IMAGEBLIT"
+ depends on FB
+ default n
+ ---help---
+@@ -66,7 +66,7 @@
+ (accelerated) version.
+
+ config FB_SOFT_CURSOR
+- tristate
++ tristate "FB_SOFT_CURSOR"
+ depends on FB
+ default n
+ ---help---
+diff -Naur 2.6.12-5.0-org/drivers/char/keyboard.c 2.6.12-5.0-patched/drivers/char/keyboard.c
+--- 2.6.12-5.0-org/drivers/char/keyboard.c 2007-07-26 00:53:29.000000000 +0200
++++ 2.6.12-5.0-patched/drivers/char/keyboard.c 2007-12-11 12:34:52.000000000 +0100
+@@ -1186,6 +1186,9 @@
+ for (i = KEY_RESERVED; i < BTN_MISC; i++)
+ if (test_bit(i, dev->keybit)) break;
+
++ if ( test_bit(EV_NO_CONSOLE, dev->evbit) )
++ return NULL;
++
+ if ((i == BTN_MISC) && !test_bit(EV_SND, dev->evbit))
+ return NULL;
+
+diff -Naur 2.6.12-5.0-org/include/linux/input.h 2.6.12-5.0-patched/include/linux/input.h
+--- 2.6.12-5.0-org/include/linux/input.h 2007-07-26 00:56:59.000000000 +0200
++++ 2.6.12-5.0-patched/include/linux/input.h 2007-12-11 12:34:52.000000000 +0100
+@@ -92,6 +92,7 @@
+ #define EV_FF 0x15
+ #define EV_PWR 0x16
+ #define EV_FF_STATUS 0x17
++#define EV_NO_CONSOLE 0x1e
+ #define EV_MAX 0x1f
+
+ /*
--- /dev/null
+Index: stblinux-2.6.12/arch/mips/kernel/vmlinux.lds.S
+===================================================================
+--- stblinux-2.6.12.orig/arch/mips/kernel/vmlinux.lds.S 2008-01-16 23:52:20.000000000 +0100
++++ stblinux-2.6.12/arch/mips/kernel/vmlinux.lds.S 2008-01-16 23:52:22.000000000 +0100
+@@ -145,8 +145,8 @@
+ . = ALIGN(4096);
+ __initramfs_start = .;
+ .init.ramfs : { *(.init.ramfs) }
+- . = ALIGN(4096);
+ __initramfs_end = .;
++ . = ALIGN(4096);
+
+ __bss_start = .; /* BSS */
+ .sbss : {
+Index: stblinux-2.6.12/drivers/net/brcmint7038/bcmemac.c
+===================================================================
+--- stblinux-2.6.12.orig/drivers/net/brcmint7038/bcmemac.c 2008-01-16 23:52:20.000000000 +0100
++++ stblinux-2.6.12/drivers/net/brcmint7038/bcmemac.c 2008-01-16 23:52:13.000000000 +0100
+@@ -2978,99 +2978,10 @@
+
+ static void bcmemac_getMacAddr(struct net_device* dev)
+ {
+- uint8 flash_eaddr[ETH_ALEN];
+- void *virtAddr;
+- uint16 word;
+- int i;
+-
+-#if !defined( CONFIG_BRCM_PCI_SLAVE) && !defined( CONFIG_MTD_BRCMNAND )
+-#if 1
+- virtAddr = (void*)FLASH_MACADDR_ADDR;
+-#else
+- //virtAddr = (void*) 0xBDFFF824; /* BCM97110 in-flash Ethernet MAC address */
+- virtAddr = (void*) KSEG1ADDR(getPhysFlashBase() + FLASH_MACADDR_OFFSET);
+-#endif
+-
+- /* It is a common problem that the flash and/or Chip Select are
+- * not initialized properly, so leave this printk on
+- */
+- printk("%s: Reading MAC address from %08lX, FLASH_BASE=%08lx\n",
+- dev->name,(uint32) virtAddr, (unsigned long) 0xA0000000L|getPhysFlashBase());
+-
+- word=0;
+- word=readw(virtAddr);
+- flash_eaddr[0]=(uint8) (word & 0x00FF);
+- flash_eaddr[1]=(uint8) ((word & 0xFF00) >> 8);
+- word=readw(virtAddr+2);
+- flash_eaddr[2]=(uint8) (word & 0x00FF);
+- flash_eaddr[3]=(uint8) ((word & 0xFF00) >> 8);
+- word=readw(virtAddr+4);
+- flash_eaddr[4]=(uint8) (word & 0x00FF);
+- flash_eaddr[5]=(uint8) ((word & 0xFF00) >> 8);
+-
+- printk("%s: MAC address %02X:%02X:%02X:%02X:%02X:%02X fetched from addr %lX\n",
+- dev->name,
+- flash_eaddr[0],flash_eaddr[1],flash_eaddr[2],
+- flash_eaddr[3],flash_eaddr[4],flash_eaddr[5],
+- (uint32) virtAddr);
+-
+-#elif defined( CONFIG_MTD_BRCMNAND )
+-{
+- extern int gNumHwAddrs;
+- extern unsigned char* gHwAddrs[];
+-
+- if (gNumHwAddrs >= 1) {
+- for (i=0; i < 6; i++) {
+- flash_eaddr[i] = (uint8) gHwAddrs[0][i];
+- }
+-
+- printk("%s: MAC address %02X:%02X:%02X:%02X:%02X:%02X fetched from bootloader\n",
+- dev->name,
+- flash_eaddr[0],flash_eaddr[1],flash_eaddr[2],
+- flash_eaddr[3],flash_eaddr[4],flash_eaddr[5]
+- );
+- }
+- else {
+- printk(KERN_ERR "%s: No MAC addresses defined\n", __FUNCTION__);
+- }
+-}
++ /* we rip the address set by the bootloader */
++ unsigned long addr[2] = { be32_to_cpu(*(unsigned int*)0xB008005C), be32_to_cpu(*(unsigned int*)0xB0080058)};
+
+-#else
+-/* PCI slave cannot access the EBI bus,
+- * and for now, same for NAND flash, until CFE supports it
+- */
+-/* Use hard coded value if Flash not properly initialized */
+- //if ((*flash_eaddr & 0xff) == 0xff)
+- {
+-//#ifdef USE_HARDCODED_MACADDR
+- flash_eaddr[0] = 0x00;
+- flash_eaddr[1] = 0xc0;
+- flash_eaddr[2] = 0xa8;
+- flash_eaddr[3] = 0x74;
+- flash_eaddr[4] = 0x3b;
+- flash_eaddr[5] = 0x51;
+- printk("%s: Default MAC address %02X:%02X:%02X:%02X:%02X:%02X used\n",
+- dev->name,
+- flash_eaddr[0],flash_eaddr[1],flash_eaddr[2],
+- flash_eaddr[3],flash_eaddr[4],flash_eaddr[5]);
+-//#else
+-// printk("%s: Cannot read EMAC address from flash. Please run EVAL codes\n", CARDNAME);
+-// return -ENODEV;
+-//#endif
+- }
+-#endif
+-
+- /* fill in the MAC address */
+- for (i = 0; i < 6; i++) {
+- dev->dev_addr[i] = flash_eaddr[i];
+- }
+-
+- /* print the Ethenet address */
+- printk("%s: MAC Address: ", dev->name);
+- for (i = 0; i < 5; i++) {
+- printk("%2.2X:", dev->dev_addr[i]);
+- }
+- printk("%2.2X\n", dev->dev_addr[i]);
++ memcpy(dev->dev_addr, ((unsigned char*)addr)+2, 6);
+ }
+
+
+Index: stblinux-2.6.12/arch/mips/brcmstb/common/setup.c
+===================================================================
+--- stblinux-2.6.12.orig/arch/mips/brcmstb/common/setup.c 2008-01-16 23:53:24.000000000 +0100
++++ stblinux-2.6.12/arch/mips/brcmstb/common/setup.c 2008-01-16 23:54:06.000000000 +0100
+@@ -136,13 +136,13 @@
+
+ static void brcm_machine_halt(void)
+ {
+- printk("Broadcom eval board halted.\n");
++ printk("Halted.\n");
+ while (1);
+ }
+
+ static void brcm_machine_power_off(void)
+ {
+- printk("Broadcom eval board halted. Please turn off power.\n");
++ printk("Halted. Please turn off power.\n");
+ while (1);
+ }
+
--- /dev/null
+Index: stblinux-2.6.12/drivers/char/brcmserial.c
+===================================================================
+--- stblinux-2.6.12.orig/drivers/char/brcmserial.c 2007-12-16 22:49:40.000000000 +0100
++++ stblinux-2.6.12/drivers/char/brcmserial.c 2007-12-16 22:56:00.000000000 +0100
+@@ -1208,6 +1208,6 @@
+ 600, 1200, 1800, 2400, 4800, 9600, 19200,
+ 38400, 57600, 115200, 230400, 460800, 0 };
+
+-static int tty_get_baud_rate(struct tty_struct *tty)
++int tty_get_baud_rate(struct tty_struct *tty)
+ {
+ struct async_struct * info = (struct async_struct *)tty->driver_data;
+ unsigned int cflag, i;
+diff -Naur 2.6.12-5.0-org/drivers/char/tty_io.c 2.6.12-5.0-patched/drivers/char/tty_io.c
+--- 2.6.12-5.0-org/drivers/char/tty_io.c 2007-07-26 00:53:30.000000000 +0200
++++ 2.6.12-5.0-patched/drivers/char/tty_io.c 2007-12-11 12:34:52.000000000 +0100
+@@ -2592,6 +2592,7 @@
+ * flags may be updated.
+ */
+
++#if 0
+ int tty_get_baud_rate(struct tty_struct *tty)
+ {
+ int baud = tty_termios_baud_rate(tty->termios);
+@@ -2607,6 +2608,7 @@
+
+ return baud;
+ }
++#endif
+
+ EXPORT_SYMBOL(tty_get_baud_rate);
+
--- /dev/null
+Index: stblinux-2.6.12/arch/mips/kernel/setup.c
+===================================================================
+--- stblinux-2.6.12.orig/arch/mips/kernel/setup.c 2008-04-15 02:13:42.000000000 +0200
++++ stblinux-2.6.12/arch/mips/kernel/setup.c 2008-04-15 02:25:13.000000000 +0200
+@@ -472,11 +472,29 @@
+ */
+ unsigned long get_RAM_size(void);
+
++extern int *_prom_envp;
++#define prom_envp(index) ((char *)(long)_prom_envp[(index)])
++static char *prom_getenv(char *envname)
++{
++ int i, index=0;
++
++ i = strlen(envname);
++
++ while (prom_envp(index)) {
++ if ((strncmp(envname, prom_envp(index), i) == 0) && (prom_envp(index)[i] == '='))
++ return(prom_envp(index) + i + 1);
++ index++;
++ }
++
++ return NULL;
++}
++
+ static inline void brcm_default_boot_mem(void)
+ {
+ int ramSizeMB = get_RAM_size() >> 20;
+ int size;
+ char msg[40];
++ const char *memsize_str;
+
+ if (ramSizeMB <= 32)
+ {
+@@ -502,11 +520,20 @@
+ size = 32;
+ #endif
+ }
+- sprintf(msg, "Using %dMB for memory, overwrite by passing mem=xx\n",
+- size);
+- uart_puts(msg);
+- brcm_insert_ram_node(0, size<<20, BOOT_MEM_RAM, &brcm_bm);
+
++ memsize_str = prom_getenv("memsize");
++ if (memsize_str)
++ {
++ int memsize = simple_strtol(memsize_str, NULL, 0);
++ brcm_insert_ram_node(0, memsize<<20, BOOT_MEM_RAM, &brcm_bm);
++ printk("---> memsize from bootloader: %d\n", memsize);
++ } else
++ {
++ sprintf(msg, "Using %dMB for memory, overwrite by passing mem=xx\n",
++ size);
++ uart_puts(msg);
++ brcm_insert_ram_node(0, size<<20, BOOT_MEM_RAM, &brcm_bm);
++ }
+ }
+
+
--- /dev/null
+Index: stblinux-2.6.12/arch/mips/brcmstb/common/prom.c
+===================================================================
+--- stblinux-2.6.12.orig/arch/mips/brcmstb/common/prom.c 2008-01-16 00:14:31.000000000 +0100
++++ stblinux-2.6.12/arch/mips/brcmstb/common/prom.c 2008-01-16 00:23:08.000000000 +0100
+@@ -216,6 +216,29 @@
+ }
+
+
++int prom_argc;
++int *_prom_argv, *_prom_envp;
++
++void __init prom_init_cmdline(void)
++{
++ char *cp;
++ int actr;
++
++ actr = 1; /* Always ignore argv[0] */
++
++ cp = &(arcs_cmdline[0]);
++ while(actr < prom_argc) {
++ strcpy(cp, _prom_argv[actr]);
++ cp += strlen(_prom_argv[actr]);
++ *cp++ = ' ';
++ actr++;
++ }
++ if (cp != &(arcs_cmdline[0])) {
++ /* get rid of trailing space */
++ --cp;
++ *cp = '\0';
++ }
++}
+
+ void __init prom_init(void)
+ {
+@@ -731,23 +754,14 @@
+ uart_puts("Default command line = \n");
+ uart_puts(CONFIG_CMDLINE);
+ uart_puts("\n");
+- p = &arcs_cmdline[0];
+- while (p != NULL && *p != '\0') {
+- if (!isspace(*p))
+- break;
+- p++;
+- }
+- if (p == NULL || *p == '\0') {
+- uart_puts("Defaulting to boot from HD\n");
+- /* Default is to boot from HD */
+- strcpy(arcs_cmdline,
+- "root=/dev/hda1" DEFAULT_KARGS);
+- }
+- else if (appendConsoleNeeded) {
+- /* Make sure that the boot params specify a console */
+- appendConsoleArg(arcs_cmdline);
+- }
+
++ prom_argc = fw_arg0;
++ _prom_argv = (int *) fw_arg1;
++ _prom_envp = (int *) fw_arg2;
++ printk("%d %p %p\n", prom_argc, _prom_argv, _prom_envp);
++ prom_init_cmdline();
++
++
+ #else /* No CONFIG_CMDLINE, and not Initrd */
+ /* Default is to boot from HD */
+ strcpy(arcs_cmdline,
--- /dev/null
+Index: stblinux-2.6.12/Makefile
+===================================================================
+--- stblinux-2.6.12.orig/Makefile 2007-12-17 20:09:55.000000000 +0100
++++ stblinux-2.6.12/Makefile 2007-12-17 22:37:51.000000000 +0100
+@@ -2,7 +2,7 @@
+ PATCHLEVEL = 6
+ SUBLEVEL = 12
+ # STABLE_VERSION = .2
+-EXTRAVERSION =-5.1-brcmstb
++EXTRAVERSION =-5.1-brcmstb-dm800
+ NAME=Woozy Numbat
+
+ # *DOCUMENTATION*
--- /dev/null
+diff -Naur 2.6.12-5.0-org/arch/mips/kernel/syscall.c 2.6.12-5.0-patched/arch/mips/kernel/syscall.c
+--- 2.6.12-5.0-org/arch/mips/kernel/syscall.c 2007-07-26 00:51:09.000000000 +0200
++++ 2.6.12-5.0-patched/arch/mips/kernel/syscall.c 2007-12-11 12:34:52.000000000 +0100
+@@ -405,6 +405,13 @@
+ }
+ }
+
++asmlinkage long mips_fadvise64(int fd,
++ unsigned int low_off, unsigned int high_off,
++ unsigned int len, int advice, unsigned int dummy)
++{
++ return sys_fadvise64_64(fd, (((u64)high_off) << 32) | low_off, (u64)len, advice);
++}
++
+ /*
+ * No implemented yet ...
+ */
+diff -Naur 2.6.12-5.0-org/arch/mips/kernel/scall32-o32.S 2.6.12-5.0-patched/arch/mips/kernel/scall32-o32.S
+--- 2.6.12-5.0-org/arch/mips/kernel/scall32-o32.S 2007-07-26 00:51:08.000000000 +0200
++++ 2.6.12-5.0-patched/arch/mips/kernel/scall32-o32.S 2007-12-11 12:34:52.000000000 +0100
+@@ -594,7 +594,7 @@
+ sys sys_remap_file_pages 5
+ sys sys_set_tid_address 1
+ sys sys_restart_syscall 0
+- sys sys_fadvise64_64 7
++ sys mips_fadvise64 7
+ sys sys_statfs64 3 /* 4255 */
+ sys sys_fstatfs64 2
+ sys sys_timer_create 3
--- /dev/null
+diff -Naur 2.6.12-5.0-org/include/asm-mips/futex.h 2.6.12-5.0-patched/include/asm-mips/futex.h
+--- 2.6.12-5.0-org/include/asm-mips/futex.h 1970-01-01 01:00:00.000000000 +0100
++++ 2.6.12-5.0-patched/include/asm-mips/futex.h 2007-12-11 12:34:52.000000000 +0100
+@@ -0,0 +1,134 @@
++#ifndef _ASM_FUTEX_H
++#define _ASM_FUTEX_H
++
++#ifdef __KERNEL__
++
++#include <linux/config.h>
++#include <linux/futex.h>
++#include <asm/errno.h>
++#include <asm/uaccess.h>
++#include <asm/war.h>
++
++#ifdef CONFIG_SMP
++#define __FUTEX_SMP_SYNC " sync \n"
++#else
++#define __FUTEX_SMP_SYNC
++#endif
++
++#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \
++{ \
++ if (cpu_has_llsc && R10000_LLSC_WAR) { \
++ __asm__ __volatile__( \
++ " .set push \n" \
++ " .set noat \n" \
++ " .set mips3 \n" \
++ "1: ll %1, %4 # __futex_atomic_op \n" \
++ " .set mips0 \n" \
++ " " insn " \n" \
++ " .set mips3 \n" \
++ "2: sc $1, %2 \n" \
++ " beqzl $1, 1b \n" \
++ __FUTEX_SMP_SYNC \
++ "3: \n" \
++ " .set pop \n" \
++ " .set mips0 \n" \
++ " .section .fixup,\"ax\" \n" \
++ "4: li %0, %6 \n" \
++ " j 2b \n" \
++ " .previous \n" \
++ " .section __ex_table,\"a\" \n" \
++ " "__UA_ADDR "\t1b, 4b \n" \
++ " "__UA_ADDR "\t2b, 4b \n" \
++ " .previous \n" \
++ : "=r" (ret), "=&r" (oldval), "=R" (*uaddr) \
++ : "0" (0), "R" (*uaddr), "Jr" (oparg), "i" (-EFAULT) \
++ : "memory"); \
++ } else if (cpu_has_llsc) { \
++ __asm__ __volatile__( \
++ " .set push \n" \
++ " .set noat \n" \
++ " .set mips3 \n" \
++ "1: ll %1, %4 # __futex_atomic_op \n" \
++ " .set mips0 \n" \
++ " " insn " \n" \
++ " .set mips3 \n" \
++ "2: sc $1, %2 \n" \
++ " beqz $1, 1b \n" \
++ __FUTEX_SMP_SYNC \
++ "3: \n" \
++ " .set pop \n" \
++ " .set mips0 \n" \
++ " .section .fixup,\"ax\" \n" \
++ "4: li %0, %6 \n" \
++ " j 2b \n" \
++ " .previous \n" \
++ " .section __ex_table,\"a\" \n" \
++ " "__UA_ADDR "\t1b, 4b \n" \
++ " "__UA_ADDR "\t2b, 4b \n" \
++ " .previous \n" \
++ : "=r" (ret), "=&r" (oldval), "=R" (*uaddr) \
++ : "0" (0), "R" (*uaddr), "Jr" (oparg), "i" (-EFAULT) \
++ : "memory"); \
++ } else \
++ ret = -ENOSYS; \
++}
++
++static inline int
++futex_atomic_op_inuser (int encoded_op, int __user *uaddr)
++{
++ int op = (encoded_op >> 28) & 7;
++ int cmp = (encoded_op >> 24) & 15;
++ int oparg = (encoded_op << 8) >> 20;
++ int cmparg = (encoded_op << 20) >> 20;
++ int oldval = 0, ret;
++ if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28))
++ oparg = 1 << oparg;
++
++ if (! access_ok (VERIFY_WRITE, uaddr, sizeof(int)))
++ return -EFAULT;
++
++ inc_preempt_count();
++
++ switch (op) {
++ case FUTEX_OP_SET:
++ __futex_atomic_op("move $1, %z5", ret, oldval, uaddr, oparg);
++ break;
++
++ case FUTEX_OP_ADD:
++ __futex_atomic_op("addu $1, %1, %z5",
++ ret, oldval, uaddr, oparg);
++ break;
++ case FUTEX_OP_OR:
++ __futex_atomic_op("or $1, %1, %z5",
++ ret, oldval, uaddr, oparg);
++ break;
++ case FUTEX_OP_ANDN:
++ __futex_atomic_op("and $1, %1, %z5",
++ ret, oldval, uaddr, ~oparg);
++ break;
++ case FUTEX_OP_XOR:
++ __futex_atomic_op("xor $1, %1, %z5",
++ ret, oldval, uaddr, oparg);
++ break;
++ default:
++ ret = -ENOSYS;
++ }
++
++ dec_preempt_count();
++
++ if (!ret) {
++ switch (cmp) {
++ case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break;
++ case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break;
++ case FUTEX_OP_CMP_LT: ret = (oldval < cmparg); break;
++ case FUTEX_OP_CMP_GE: ret = (oldval >= cmparg); break;
++ case FUTEX_OP_CMP_LE: ret = (oldval <= cmparg); break;
++ case FUTEX_OP_CMP_GT: ret = (oldval > cmparg); break;
++ default: ret = -ENOSYS;
++ }
++ }
++ return ret;
++}
++
++#endif
++#endif
+diff -Naur 2.6.12-5.0-org/include/linux/futex.h 2.6.12-5.0-patched/include/linux/futex.h
+--- 2.6.12-5.0-org/include/linux/futex.h 2007-07-26 00:57:03.000000000 +0200
++++ 2.6.12-5.0-patched/include/linux/futex.h 2007-12-11 12:34:52.000000000 +0100
+@@ -4,14 +4,40 @@
+ /* Second argument to futex syscall */
+
+
+-#define FUTEX_WAIT (0)
+-#define FUTEX_WAKE (1)
+-#define FUTEX_FD (2)
+-#define FUTEX_REQUEUE (3)
+-#define FUTEX_CMP_REQUEUE (4)
++#define FUTEX_WAIT 0
++#define FUTEX_WAKE 1
++#define FUTEX_FD 2
++#define FUTEX_REQUEUE 3
++#define FUTEX_CMP_REQUEUE 4
++#define FUTEX_WAKE_OP 5
+
+ long do_futex(unsigned long uaddr, int op, int val,
+ unsigned long timeout, unsigned long uaddr2, int val2,
+ int val3);
+
++#define FUTEX_OP_SET 0 /* *(int *)UADDR2 = OPARG; */
++#define FUTEX_OP_ADD 1 /* *(int *)UADDR2 += OPARG; */
++#define FUTEX_OP_OR 2 /* *(int *)UADDR2 |= OPARG; */
++#define FUTEX_OP_ANDN 3 /* *(int *)UADDR2 &= ~OPARG; */
++#define FUTEX_OP_XOR 4 /* *(int *)UADDR2 ^= OPARG; */
++
++#define FUTEX_OP_OPARG_SHIFT 8 /* Use (1 << OPARG) instead of OPARG. */
++
++#define FUTEX_OP_CMP_EQ 0 /* if (oldval == CMPARG) wake */
++#define FUTEX_OP_CMP_NE 1 /* if (oldval != CMPARG) wake */
++#define FUTEX_OP_CMP_LT 2 /* if (oldval < CMPARG) wake */
++#define FUTEX_OP_CMP_LE 3 /* if (oldval <= CMPARG) wake */
++#define FUTEX_OP_CMP_GT 4 /* if (oldval > CMPARG) wake */
++#define FUTEX_OP_CMP_GE 5 /* if (oldval >= CMPARG) wake */
++
++/* FUTEX_WAKE_OP will perform atomically
++ int oldval = *(int *)UADDR2;
++ *(int *)UADDR2 = oldval OP OPARG;
++ if (oldval CMP CMPARG)
++ wake UADDR2; */
++
++#define FUTEX_OP(op, oparg, cmp, cmparg) \
++ (((op & 0xf) << 28) | ((cmp & 0xf) << 24) \
++ | ((oparg & 0xfff) << 12) | (cmparg & 0xfff))
++
+ #endif
+diff -Naur 2.6.12-5.0-org/kernel/futex.c 2.6.12-5.0-patched/kernel/futex.c
+--- 2.6.12-5.0-org/kernel/futex.c 2007-07-26 00:57:20.000000000 +0200
++++ 2.6.12-5.0-patched/kernel/futex.c 2007-12-11 12:34:52.000000000 +0100
+@@ -40,6 +40,7 @@
+ #include <linux/pagemap.h>
+ #include <linux/syscalls.h>
+ #include <linux/signal.h>
++#include <asm/futex.h>
+
+ #define FUTEX_HASHBITS (CONFIG_BASE_SMALL ? 4 : 8)
+
+@@ -201,22 +202,6 @@
+ * for a rare case, so we simply fetch the page.
+ */
+
+- /*
+- * Do a quick atomic lookup first - this is the fastpath.
+- */
+- spin_lock(¤t->mm->page_table_lock);
+- page = follow_page(mm, uaddr, 0);
+- if (likely(page != NULL)) {
+- key->shared.pgoff =
+- page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT);
+- spin_unlock(¤t->mm->page_table_lock);
+- return 0;
+- }
+- spin_unlock(¤t->mm->page_table_lock);
+-
+- /*
+- * Do it the general way.
+- */
+ err = get_user_pages(current, mm, uaddr, 1, 0, 0, &page, NULL);
+ if (err >= 0) {
+ key->shared.pgoff =
+@@ -327,6 +312,123 @@
+ }
+
+ /*
++ * Wake up all waiters hashed on the physical page that is mapped
++ * to this virtual address:
++ */
++static int futex_wake_op(unsigned long uaddr1, unsigned long uaddr2, int nr_wake, int nr_wake2, int op)
++{
++ union futex_key key1, key2;
++ struct futex_hash_bucket *bh1, *bh2;
++ struct list_head *head;
++ struct futex_q *this, *next;
++ int ret, op_ret, attempt = 0;
++
++retryfull:
++ down_read(¤t->mm->mmap_sem);
++
++ ret = get_futex_key(uaddr1, &key1);
++ if (unlikely(ret != 0))
++ goto out;
++ ret = get_futex_key(uaddr2, &key2);
++ if (unlikely(ret != 0))
++ goto out;
++
++ bh1 = hash_futex(&key1);
++ bh2 = hash_futex(&key2);
++
++retry:
++ if (bh1 < bh2)
++ spin_lock(&bh1->lock);
++ spin_lock(&bh2->lock);
++ if (bh1 > bh2)
++ spin_lock(&bh1->lock);
++
++ op_ret = futex_atomic_op_inuser(op, (int __user *)uaddr2);
++ if (unlikely(op_ret < 0)) {
++ int dummy;
++
++ spin_unlock(&bh1->lock);
++ if (bh1 != bh2)
++ spin_unlock(&bh2->lock);
++
++ if (unlikely(op_ret != -EFAULT)) {
++ ret = op_ret;
++ goto out;
++ }
++
++ /* futex_atomic_op_inuser needs to both read and write
++ * *(int __user *)uaddr2, but we can't modify it
++ * non-atomically. Therefore, if get_user below is not
++ * enough, we need to handle the fault ourselves, while
++ * still holding the mmap_sem. */
++ if (attempt++) {
++ struct vm_area_struct * vma;
++ struct mm_struct *mm = current->mm;
++
++ ret = -EFAULT;
++ if (attempt >= 2 ||
++ !(vma = find_vma(mm, uaddr2)) ||
++ vma->vm_start > uaddr2 ||
++ !(vma->vm_flags & VM_WRITE))
++ goto out;
++
++ switch (handle_mm_fault(mm, vma, uaddr2, 1)) {
++ case VM_FAULT_MINOR:
++ current->min_flt++;
++ break;
++ case VM_FAULT_MAJOR:
++ current->maj_flt++;
++ break;
++ default:
++ goto out;
++ }
++ goto retry;
++ }
++
++ /* If we would have faulted, release mmap_sem,
++ * fault it in and start all over again. */
++ up_read(¤t->mm->mmap_sem);
++
++ ret = get_user(dummy, (int __user *)uaddr2);
++ if (ret)
++ return ret;
++
++ goto retryfull;
++ }
++
++ head = &bh1->chain;
++
++ list_for_each_entry_safe(this, next, head, list) {
++ if (match_futex (&this->key, &key1)) {
++ wake_futex(this);
++ if (++ret >= nr_wake)
++ break;
++ }
++ }
++
++ if (op_ret > 0) {
++ head = &bh2->chain;
++
++ op_ret = 0;
++ list_for_each_entry_safe(this, next, head, list) {
++ if (match_futex (&this->key, &key2)) {
++ wake_futex(this);
++ if (++op_ret >= nr_wake2)
++ break;
++ }
++ }
++ ret += op_ret;
++ }
++
++ spin_unlock(&bh1->lock);
++ if (bh1 != bh2)
++ spin_unlock(&bh2->lock);
++out:
++ up_read(¤t->mm->mmap_sem);
++ return ret;
++}
++
++/*
+ * Requeue all waiters hashed on one physical page to another
+ * physical page.
+ */
+@@ -740,6 +842,9 @@
+ case FUTEX_CMP_REQUEUE:
+ ret = futex_requeue(uaddr, uaddr2, val, val2, &val3);
+ break;
++ case FUTEX_WAKE_OP:
++ ret = futex_wake_op(uaddr, uaddr2, val, val2, val3);
++ break;
+ default:
+ ret = -ENOSYS;
+ }
+@@ -755,9 +860,11 @@
+ unsigned long timeout = MAX_SCHEDULE_TIMEOUT;
+ int val2 = 0;
+
+- if ((op == FUTEX_WAIT) && utime) {
++ if (utime && (op == FUTEX_WAIT)) {
+ if (copy_from_user(&t, utime, sizeof(t)) != 0)
+ return -EFAULT;
++ if (!timespec_valid(&t))
++ return -EINVAL;
+ timeout = timespec_to_jiffies(&t) + 1;
+ }
+ /*
--- /dev/null
+diff -Naur 2.6.12-5.0-org/include/asm-mips/uaccess.h 2.6.12-5.0-patched/include/asm-mips/uaccess.h
+--- 2.6.12-5.0-org/include/asm-mips/uaccess.h 2007-07-26 00:56:08.000000000 +0200
++++ 2.6.12-5.0-patched/include/asm-mips/uaccess.h 2007-12-11 12:34:52.000000000 +0100
+@@ -234,39 +234,72 @@
+
+ #define __get_user_nocheck(x,ptr,size) \
+ ({ \
+- __typeof(*(ptr)) __gu_val = (__typeof(*(ptr))) 0; \
+ long __gu_err = 0; \
+- \
+ might_sleep(); \
+ switch (size) { \
+- case 1: __get_user_asm("lb", ptr); break; \
+- case 2: __get_user_asm("lh", ptr); break; \
+- case 4: __get_user_asm("lw", ptr); break; \
+- case 8: __GET_USER_DW(ptr); break; \
++ case 1: { \
++ s8 __gu_val = (s8) 0; \
++ __get_user_asm("lb", ptr); \
++ (x) = (__typeof__(*(ptr))) __gu_val; \
++ break; \
++ } \
++ case 2: { \
++ s16 __gu_val = (s16) 0; \
++ __get_user_asm("lh", ptr); \
++ (x) = (__typeof__(*(ptr))) __gu_val; \
++ break; \
++ } \
++ case 4: { \
++ s32 __gu_val = (s32) 0; \
++ __get_user_asm("lw", ptr); \
++ (x) = (__typeof__(*(ptr))) __gu_val; \
++ break; \
++ } \
++ case 8: { \
++ s64 __gu_val = (s64) 0; \
++ __GET_USER_DW(ptr); \
++ (x) = (__typeof__(*(ptr))) __gu_val; \
++ break; \
++ } \
+ default: __get_user_unknown(); break; \
+ } \
+- (x) = (__typeof__(*(ptr))) __gu_val; \
+ __gu_err; \
+ })
+
+ #define __get_user_check(x,ptr,size) \
+ ({ \
+ const __typeof__(*(ptr)) __user * __gu_addr = (ptr); \
+- __typeof__(*(ptr)) __gu_val = 0; \
+ long __gu_err = -EFAULT; \
+- \
+ might_sleep(); \
+- \
+ if (likely(access_ok(VERIFY_READ, __gu_addr, size))) { \
+ switch (size) { \
+- case 1: __get_user_asm("lb", __gu_addr); break; \
+- case 2: __get_user_asm("lh", __gu_addr); break; \
+- case 4: __get_user_asm("lw", __gu_addr); break; \
+- case 8: __GET_USER_DW(__gu_addr); break; \
++ case 1: { \
++ s8 __gu_val = (s8) 0; \
++ __get_user_asm("lb", ptr); \
++ (x) = (__typeof__(*(ptr))) __gu_val; \
++ break; \
++ } \
++ case 2: { \
++ s16 __gu_val = (s16) 0; \
++ __get_user_asm("lh", ptr); \
++ (x) = (__typeof__(*(ptr))) __gu_val; \
++ break; \
++ } \
++ case 4: { \
++ s32 __gu_val = (s32) 0; \
++ __get_user_asm("lw", ptr); \
++ (x) = (__typeof__(*(ptr))) __gu_val; \
++ break; \
++ } \
++ case 8: { \
++ s64 __gu_val = (s64) 0; \
++ __GET_USER_DW(ptr); \
++ (x) = (__typeof__(*(ptr))) __gu_val; \
++ break; \
++ } \
+ default: __get_user_unknown(); break; \
+ } \
+ } \
+- (x) = (__typeof__(*(ptr))) __gu_val; \
+ __gu_err; \
+ })
+
--- /dev/null
+diff -Naur 2.6.12-5.0-org/arch/mips/kernel/gdb-low.S 2.6.12-5.0-patched/arch/mips/kernel/gdb-low.S
+--- 2.6.12-5.0-org/arch/mips/kernel/gdb-low.S 2007-07-26 00:51:07.000000000 +0200
++++ 2.6.12-5.0-patched/arch/mips/kernel/gdb-low.S 2007-12-11 12:34:52.000000000 +0100
+@@ -52,12 +52,14 @@
+ /*
+ * Called from user mode, go somewhere else.
+ */
+- lui k1, %hi(saved_vectors)
+ mfc0 k0, CP0_CAUSE
+ andi k0, k0, 0x7c
+- add k1, k1, k0
+- lw k0, %lo(saved_vectors)(k1)
+- jr k0
++
++#ifdef CONFIG_MIPS64
++ dsll k0, k0, 1
++#endif
++ lw k1, %lo(saved_vectors)(k0)
++ jr k1
+ nop
+ 1:
+ move k0, sp
--- /dev/null
+DESCRIPTION = "Linux kernel for Dreambox DM8000"
+LICENSE = "GPL"
+PN = "linux-dm8000"
+KV = "2.6.12"
+PV = "2.6.12"
+PR = "r6"
+
+# note, the rX in the filename is *NOT* the packet revision - it's the patch revision.
+SRC_URI += "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${KV}.tar.bz2 \
+ file://dm8000_defconfig \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-brcm-5.1.patch.bz2;patch=1;pnum=1 \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-update_dvbapi-r1.patch.bz2;patch=1;pnum=1 \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvb-multipid-r4.patch.bz2;patch=1;pnum=1 \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvb-core-fix-several-locking-problems.patch.bz2;patch=1;pnum=1 \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvbapi-pilot-rolloff-extension-r0.patch.bz2;patch=1;pnum=1 \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-update-wireless.patch.bz2;patch=1;pnum=1 \
+ http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-add-ioprio.patch.bz2;patch=1;pnum=1 \
+ file://linux-2.6.12-dvbapi-support-more-demux.patch;patch=1;pnum=1 \
+ file://linux-2.6.12-dream-misc.patch;patch=1;pnum=1 \
+ file://linux-2.6.12-dm8000-nand.patch;patch=1;pnum=1 \
+ file://linux-2.6.12-dream-temp.patch;patch=1;pnum=1 \
+ file://linux-2.6.12-brcm-mtd-blkdevfs-fix.diff;patch=1;pnum=1 \
+ file://linux-2.6.12-brcm-fix-usb-for-revb0.diff;patch=1;pnum=1 \
+ file://linux-2.6.12-set-custom-extraversion.patch;patch=1;pnum=1 \
+ file://linux-2.6.12-fixup-prom-args.patch;patch=1;pnum=1 \
+ file://linux-2.6.12-7400AB-enable-llsc.patch;patch=1;pnum=1 \
+ file://linuxmips-2.6.12-fix-fadvise.patch;patch=1;pnum=1 \
+ file://linuxmips-2.6.12-fix-futex.patch;patch=1;pnum=1 \
+ file://linuxmips-2.6.12-gcc4-compile-fix.patch;patch=1;pnum=1 \
+ file://linuxmips-2.6.12-gdb-fix.patch;patch=1;pnum=1 \
+ file://linux-2.6.12-brcm-fix-minipci.patch;patch=1;pnum=1 \
+ file://linux-2.6.12-fixup-memsize.patch;patch=1;pnum=1 \
+ http://trappist.elis.ugent.be/~mronsse/cdfs/download/cdfs-2.6.12.tar.bz2"
+
+S = "${WORKDIR}/stblinux-2.6.12"
+
+inherit kernel
+
+FILES_kernel-image = "/boot/vmlinux.gz /boot/autoexec.bat"
+
+export OS = "Linux"
+KERNEL_IMAGETYPE = "vmlinux"
+KERNEL_OUTPUT = "vmlinux"
+KERNEL_OBJECT_SUFFIX = "ko"
+
+do_munge() {
+ mv ${WORKDIR}/linux-2.6.12 ${WORKDIR}/stblinux-2.6.12
+ if [ -d ${S}/drivers/sound ]; then
+ rm -R ${S}/drivers/sound;
+ fi;
+}
+
+addtask munge before do_patch after do_unpack
+
+do_configure_prepend() {
+ oe_machinstall -m 0644 ${WORKDIR}/dm8000_defconfig ${S}/.config
+ if [ -d ${WORKDIR}/cdfs-${PV} ]; then
+ mv ${WORKDIR}/cdfs-${PV} ${S}/fs/cdfs
+ cd ${S} & patch -p0 < ${S}/fs/cdfs/patch.cdfs
+ fi;
+ oe_runmake oldconfig
+}
+
+do_install_append () {
+ install -d ${D}/boot
+ install -m 0755 vmlinux ${D}/boot/vmlinux
+ echo "/flash/bootlogo.elf" > ${D}/boot/autoexec.bat
+ gzip ${D}/boot/vmlinux
+ echo "/flash/vmlinux.gz" >> ${D}/boot/autoexec.bat
+}
+
+pkg_preinst_kernel-image () {
+ [ -d /proc/stb ] && mount -o rw,remount /boot
+}
+
+pkg_postinst_kernel-image () {
+ [ -d /proc/stb ] && mount -o ro,remount /boot
+}
+
+pkg_prerm_kernel-image () {
+ [ -d /proc/stb ] && mount -o rw,remount /boot
+}
+
+pkg_postrm_kernel-image () {
+ [ -d /proc/stb ] && mount -o ro,remount /boot
+}
--- /dev/null
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.12-5.1-brcmstb-dm8000
+# Mon Oct 20 18:29:26 2008
+#
+CONFIG_MIPS=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Machine selection
+#
+# CONFIG_MIPS_BCM3560A0 is not set
+# CONFIG_MIPS_BCM3560B0 is not set
+# CONFIG_MIPS_BCM3563 is not set
+# CONFIG_MIPS_BCM3563C0 is not set
+# CONFIG_MIPS_BCM7038B0 is not set
+# CONFIG_MIPS_BCM7038CX is not set
+# CONFIG_MIPS_BCM97398 is not set
+# CONFIG_MIPS_BCM7110 is not set
+# CONFIG_MIPS_BCM7111 is not set
+# CONFIG_MIPS_BCM7112 is not set
+# CONFIG_MIPS_BCM7115 is not set
+# CONFIG_MIPS_BCM7118AX is not set
+# CONFIG_MIPS_BCM7118A0_NAND is not set
+# CONFIG_MIPS_BCM7312 is not set
+# CONFIG_MIPS_BCM7315 is not set
+# CONFIG_MIPS_BCM7317 is not set
+# CONFIG_MIPS_BCM7318 is not set
+# CONFIG_MIPS_BCM7319 is not set
+# CONFIG_MIPS_BCM7320 is not set
+# CONFIG_MIPS_BCM7328 is not set
+# CONFIG_MIPS_BCM7329 is not set
+# CONFIG_MIPS_BCM97456 is not set
+# CONFIG_MIPS_BCM97456BX is not set
+# CONFIG_MIPS_BCM97456BX_NAND is not set
+# CONFIG_MIPS_BCM7400AX is not set
+CONFIG_MIPS_BCM7400BX=y
+# CONFIG_MIPS_BCM7400BX_NAND is not set
+# CONFIG_MIPS_BCM7400AX_NAND is not set
+# CONFIG_MIPS_BCM7405AX is not set
+# CONFIG_MIPS_BCM97455 is not set
+# CONFIG_MIPS_BCM7401AX is not set
+# CONFIG_MIPS_BCM7401BX is not set
+# CONFIG_MIPS_BCM7401BX_NAND is not set
+# CONFIG_MIPS_BCM97455B0 is not set
+# CONFIG_MIPS_BCM7401CX is not set
+# CONFIG_MIPS_BCM7401CX_NAND is not set
+# CONFIG_MIPS_BCM97455CX is not set
+# CONFIG_MIPS_BCM97455CX_NAND is not set
+# CONFIG_MIPS_BCM97458AX is not set
+# CONFIG_MIPS_BCM97458AX_NAND is not set
+# CONFIG_MIPS_BCM7402S is not set
+# CONFIG_MIPS_BCM7402B0S is not set
+# CONFIG_MIPS_BCM7402A0 is not set
+# CONFIG_MIPS_BCM7402CX is not set
+# CONFIG_MIPS_BCM7402CX_NAND is not set
+# CONFIG_MIPS_BCM7403AX is not set
+# CONFIG_MIPS_BCM7451AX_SMB is not set
+# CONFIG_MIPS_BCM7403AX_NAND is not set
+# CONFIG_MIPS_BCM7452AX is not set
+# CONFIG_MIPS_BCM7452AX_NAND is not set
+# CONFIG_MIPS_BCM7440AX is not set
+# CONFIG_MIPS_BCM7440BX is not set
+# CONFIG_MIPS_BCM7440BX_NAND is not set
+# CONFIG_MIPS_BCM93730 is not set
+# CONFIG_MIPS_MTX1 is not set
+# CONFIG_MIPS_BOSPORUS is not set
+# CONFIG_MIPS_PB1000 is not set
+# CONFIG_MIPS_PB1100 is not set
+# CONFIG_MIPS_PB1500 is not set
+# CONFIG_MIPS_PB1550 is not set
+# CONFIG_MIPS_PB1200 is not set
+# CONFIG_MIPS_DB1000 is not set
+# CONFIG_MIPS_DB1100 is not set
+# CONFIG_MIPS_DB1500 is not set
+# CONFIG_MIPS_DB1550 is not set
+# CONFIG_MIPS_DB1200 is not set
+# CONFIG_MIPS_MIRAGE is not set
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MIPS_EV64120 is not set
+# CONFIG_MIPS_EV96100 is not set
+# CONFIG_MIPS_IVR is not set
+# CONFIG_MIPS_ITE8172 is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MOMENCO_JAGUAR_ATX is not set
+# CONFIG_MOMENCO_OCELOT is not set
+# CONFIG_MOMENCO_OCELOT_3 is not set
+# CONFIG_MOMENCO_OCELOT_C is not set
+# CONFIG_MOMENCO_OCELOT_G is not set
+# CONFIG_MIPS_XXS1500 is not set
+# CONFIG_DDB5074 is not set
+# CONFIG_DDB5476 is not set
+# CONFIG_DDB5477 is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_QEMU is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_PTSWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SNI_RM200_PCI is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_HAVE_DEC_LOCK=y
+CONFIG_DMA_NONCOHERENT=y
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_SYS_SUPPORTS_CPUFREQ=y
+CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
+CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
+CONFIG_IRQ_CPU=y
+CONFIG_MIPS_BRCM97XXX=y
+CONFIG_MIPS_BCM7400B0=y
+CONFIG_MIPS_BCM7400=y
+CONFIG_MIPS_BRCM=y
+# CONFIG_BRCM_7XXX_SERIAL is not set
+# CONFIG_LONG_LONG_SUPPORT is not set
+CONFIG_SERIAL=y
+CONFIG_MIPS_L1_CACHE_SHIFT=6
+
+#
+# Power management
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+CONFIG_CPU_FREQ_BRCM=y
+
+#
+# CPU selection
+#
+# CONFIG_CPU_MIPS32_R2 is not set
+CONFIG_CPU_MIPS32_R1=y
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+# CONFIG_CPU_SB1 is not set
+CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
+
+#
+# Kernel type
+#
+CONFIG_MIPS32=y
+# CONFIG_MIPS64 is not set
+# CONFIG_64BIT is not set
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+CONFIG_CPU_HAS_PREFETCH=y
+# CONFIG_64BIT_PHYS_ADDR is not set
+# CONFIG_CPU_ADVANCED is not set
+CONFIG_CPU_HAS_LLSC=y
+CONFIG_CPU_HAS_SYNC=y
+# CONFIG_SMP is not set
+# CONFIG_PREEMPT is not set
+
+#
+# Bus options (PCI, PCMCIA, EISA, ISA, TC)
+#
+CONFIG_HW_HAS_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_LEGACY_PROC=y
+# CONFIG_PCI_NAMES is not set
+CONFIG_MMU=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# PCI Hotplug Support
+#
+# CONFIG_HOTPLUG_PCI is not set
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+CONFIG_TRAD_SIGNALS=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+CONFIG_FW_LOADER=y
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_MTD_BLOCK_ROMBLOCK is not set
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+CONFIG_MTD_CFI_AMDSTD=y
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_BCM7XXX=y
+# CONFIG_MTD_MULTI_PHYSMAP is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_RAMTD is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+CONFIG_MTD_NAND_DM8000=y
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Broadcom NAND Flash Device Drivers
+#
+# CONFIG_MTD_BRCMNAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_LBD is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_AS is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_ATA_OVER_ETH=m
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+CONFIG_BLK_DEV_IDE_SATA=y
+CONFIG_BLK_DEV_IDEDISK=y
+CONFIG_IDEDISK_MULTI_MODE=y
+CONFIG_BLK_DEV_IDECD=y
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+CONFIG_BLK_DEV_IDEPCI=y
+# CONFIG_IDEPCI_SHARE_IRQ is not set
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=y
+# CONFIG_BLK_DEV_OPTI621 is not set
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
+CONFIG_IDEDMA_PCI_AUTO=y
+# CONFIG_IDEDMA_ONLYDISK is not set
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+# CONFIG_BLK_DEV_CMD64X is not set
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+# CONFIG_BLK_DEV_HPT34X is not set
+# CONFIG_BLK_DEV_HPT366 is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+# CONFIG_BLK_DEV_PIIX is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+# CONFIG_BLK_DEV_PDC202XX_OLD is not set
+# CONFIG_BLK_DEV_PDC202XX_NEW is not set
+CONFIG_BLK_DEV_SVWKS=y
+# CONFIG_BLK_DEV_SIIMAGE is not set
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_IDE_ARM is not set
+CONFIG_BLK_DEV_IDEDMA=y
+# CONFIG_IDEDMA_IVB is not set
+CONFIG_IDEDMA_AUTO=y
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_FC is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+CONFIG_SCSI_QLA2XXX=y
+# CONFIG_SCSI_QLA21XX is not set
+# CONFIG_SCSI_QLA22XX is not set
+# CONFIG_SCSI_QLA2300 is not set
+# CONFIG_SCSI_QLA2322 is not set
+# CONFIG_SCSI_QLA6312 is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+CONFIG_SCSI_DEBUG=m
+
+#
+# Multi-device support (RAID and LVM)
+#
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID5=m
+CONFIG_MD_RAID6=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_EMC=m
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# Networking support
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+CONFIG_ARPD=y
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_TUNNEL=m
+CONFIG_IP_TCPDIAG=y
+# CONFIG_IP_TCPDIAG_IPV6 is not set
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+CONFIG_IP_NF_CONNTRACK_MARK=y
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_LIMIT=m
+CONFIG_IP_NF_MATCH_IPRANGE=m
+CONFIG_IP_NF_MATCH_MAC=m
+CONFIG_IP_NF_MATCH_PKTTYPE=m
+CONFIG_IP_NF_MATCH_MARK=m
+CONFIG_IP_NF_MATCH_MULTIPORT=m
+CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_DSCP=m
+CONFIG_IP_NF_MATCH_AH_ESP=m
+CONFIG_IP_NF_MATCH_LENGTH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_TCPMSS=m
+CONFIG_IP_NF_MATCH_HELPER=m
+CONFIG_IP_NF_MATCH_STATE=m
+CONFIG_IP_NF_MATCH_CONNTRACK=m
+CONFIG_IP_NF_MATCH_OWNER=m
+# CONFIG_IP_NF_MATCH_PHYSDEV is not set
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_REALM=m
+CONFIG_IP_NF_MATCH_SCTP=m
+CONFIG_IP_NF_MATCH_COMMENT=m
+CONFIG_IP_NF_MATCH_CONNMARK=m
+CONFIG_IP_NF_MATCH_HASHLIMIT=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_IP_NF_TARGET_TCPMSS=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_SAME=m
+CONFIG_IP_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_NAT_IRC=m
+CONFIG_IP_NF_NAT_FTP=m
+CONFIG_IP_NF_NAT_TFTP=m
+CONFIG_IP_NF_NAT_AMANDA=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_DSCP=m
+CONFIG_IP_NF_TARGET_MARK=m
+CONFIG_IP_NF_TARGET_CLASSIFY=m
+CONFIG_IP_NF_TARGET_CONNMARK=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_TARGET_NOTRACK=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_LIMIT=m
+CONFIG_IP6_NF_MATCH_MAC=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_MULTIPORT=m
+CONFIG_IP6_NF_MATCH_OWNER=m
+CONFIG_IP6_NF_MATCH_MARK=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_AHESP=m
+CONFIG_IP6_NF_MATCH_LENGTH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+# CONFIG_IP6_NF_MATCH_PHYSDEV is not set
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_TARGET_MARK=m
+CONFIG_IP6_NF_RAW=m
+
+#
+# Bridge: Netfilter Configuration
+#
+# CONFIG_BRIDGE_NF_EBTABLES is not set
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_HMAC_NONE is not set
+# CONFIG_SCTP_HMAC_SHA1 is not set
+CONFIG_SCTP_HMAC_MD5=y
+# CONFIG_ATM is not set
+CONFIG_BRIDGE=m
+CONFIG_VLAN_8021Q=m
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_CLK_JIFFIES=y
+# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
+# CONFIG_NET_SCH_CLK_CPU is not set
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_QOS=y
+CONFIG_NET_ESTIMATOR=y
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_PERF=y
+CONFIG_NET_CLS_IND=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+CONFIG_NETPOLL=y
+CONFIG_NETPOLL_RX=y
+CONFIG_NETPOLL_TRAP=y
+CONFIG_NET_POLL_CONTROLLER=y
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+# CONFIG_BT_HCIVHCI is not set
+CONFIG_NETDEVICES=y
+CONFIG_NETIF_DMA=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_BCMINTEMAC_7038=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_NET_VENDOR_3COM is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+# CONFIG_NET_PCI is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
+#
+# CONFIG_PRISM54 is not set
+CONFIG_NET_WIRELESS=y
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPPOE=m
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_SHAPER is not set
+CONFIG_NETCONSOLE=m
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Telephony Support
+#
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=m
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+CONFIG_INPUT_JOYSTICK=y
+# CONFIG_JOYSTICK_ANALOG is not set
+# CONFIG_JOYSTICK_A3D is not set
+# CONFIG_JOYSTICK_ADI is not set
+# CONFIG_JOYSTICK_COBRA is not set
+# CONFIG_JOYSTICK_GF2K is not set
+# CONFIG_JOYSTICK_GRIP is not set
+# CONFIG_JOYSTICK_GRIP_MP is not set
+# CONFIG_JOYSTICK_GUILLEMOT is not set
+# CONFIG_JOYSTICK_INTERACT is not set
+# CONFIG_JOYSTICK_SIDEWINDER is not set
+# CONFIG_JOYSTICK_TMDC is not set
+# CONFIG_JOYSTICK_IFORCE is not set
+# CONFIG_JOYSTICK_WARRIOR is not set
+# CONFIG_JOYSTICK_MAGELLAN is not set
+# CONFIG_JOYSTICK_SPACEORB is not set
+# CONFIG_JOYSTICK_SPACEBALL is not set
+# CONFIG_JOYSTICK_STINGER is not set
+# CONFIG_JOYSTICK_TWIDJOY is not set
+# CONFIG_JOYSTICK_JOYDUMP is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_PCSPKR is not set
+# CONFIG_INPUT_UINPUT is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_I8042 is not set
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=0
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_RTC is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_ISA is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Hardware Sensors Chip support
+#
+# CONFIG_I2C_SENSOR is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+
+#
+# Other I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+CONFIG_DVB=y
+CONFIG_DVB_CORE=y
+
+#
+# Supported SAA7146 based PCI Adapters
+#
+# CONFIG_DVB_AV7110 is not set
+# CONFIG_DVB_BUDGET is not set
+# CONFIG_DVB_BUDGET_CI is not set
+# CONFIG_DVB_BUDGET_AV is not set
+
+#
+# Supported USB Adapters
+#
+# CONFIG_DVB_TTUSB_BUDGET is not set
+# CONFIG_DVB_TTUSB_DEC is not set
+# CONFIG_DVB_DIBUSB is not set
+# CONFIG_DVB_CINERGYT2 is not set
+
+#
+# Supported FlexCopII (B2C2) Adapters
+#
+# CONFIG_DVB_B2C2_FLEXCOP is not set
+# CONFIG_DVB_B2C2_SKYSTAR is not set
+
+#
+# Supported BT878 Adapters
+#
+
+#
+# Supported DVB Frontends
+#
+
+#
+# Customise DVB Frontends
+#
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_STV0299=y
+# CONFIG_DVB_CX24110 is not set
+CONFIG_DVB_TDA8083=m
+# CONFIG_DVB_TDA80XX is not set
+CONFIG_DVB_MT312=m
+CONFIG_DVB_VES1X93=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+# CONFIG_DVB_SP8870 is not set
+# CONFIG_DVB_SP887X is not set
+# CONFIG_DVB_CX22700 is not set
+# CONFIG_DVB_CX22702 is not set
+CONFIG_DVB_L64781=m
+# CONFIG_DVB_TDA1004X is not set
+# CONFIG_DVB_NXT6000 is not set
+# CONFIG_DVB_MT352 is not set
+# CONFIG_DVB_DIB3000MB is not set
+# CONFIG_DVB_DIB3000MC is not set
+
+#
+# DVB-C (cable) frontends
+#
+# CONFIG_DVB_ATMEL_AT76C651 is not set
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+# CONFIG_DVB_STV0297 is not set
+
+#
+# ATSC (North American/Korean Terresterial DTV) frontends
+#
+# CONFIG_DVB_NXT2002 is not set
+# CONFIG_DVB_OR51211 is not set
+# CONFIG_DVB_OR51132 is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+CONFIG_FB_SOFT_CURSOR=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON_OLD is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_SMIVGX is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_E1356 is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# PCI devices
+#
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_YMFPCI is not set
+# CONFIG_SND_ALS4000 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_HDA_INTEL is not set
+
+#
+# ALSA MIPS devices
+#
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB=y
+CONFIG_USB_DEBUG=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD=y
+# CONFIG_USB_EHCI_SPLIT_ISO is not set
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+CONFIG_USB_BRCM=y
+# CONFIG_USB_BRCM_PWR_CTL is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_AUDIO=m
+
+#
+# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
+#
+CONFIG_USB_MIDI=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT=y
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+CONFIG_USB_AIPTEK=m
+CONFIG_USB_WACOM=m
+CONFIG_USB_KBTAB=m
+CONFIG_USB_POWERMATE=m
+CONFIG_USB_MTOUCH=m
+CONFIG_USB_EGALAX=m
+CONFIG_USB_XPAD=m
+CONFIG_USB_ATI_REMOTE=m
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB Multimedia devices
+#
+CONFIG_USB_DABUSB=m
+
+#
+# Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_USB_ZD1201 is not set
+CONFIG_USB_MON=m
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_TEST is not set
+
+#
+# USB ATM/DSL drivers
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# InfiniBand support
+#
+# CONFIG_INFINIBAND is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+# CONFIG_EXT2_FS_XATTR is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+# CONFIG_REISERFS_FS_XATTR is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+
+#
+# XFS support
+#
+CONFIG_XFS_FS=m
+CONFIG_XFS_EXPORT=y
+# CONFIG_XFS_RT is not set
+# CONFIG_XFS_QUOTA is not set
+# CONFIG_XFS_SECURITY is not set
+# CONFIG_XFS_POSIX_ACL is not set
+CONFIG_MINIX_FS=m
+# CONFIG_ROMFS_FS is not set
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+CONFIG_AUTOFS_FS=m
+CONFIG_AUTOFS4_FS=y
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=y
+CONFIG_JOLIET=y
+# CONFIG_ZISOFS is not set
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+CONFIG_CDFS_FS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+CONFIG_NTFS_DEBUG=y
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_SYSFS=y
+CONFIG_DEVFS_FS=y
+CONFIG_DEVFS_MOUNT=y
+# CONFIG_DEVFS_DEBUG is not set
+# CONFIG_DEVPTS_FS_XATTR is not set
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_XATTR is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=y
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+CONFIG_UFS_FS=m
+CONFIG_UFS_FS_WRITE=y
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_TCP=y
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CIFS=y
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_CROSSCOMPILE=y
+CONFIG_CMDLINE="root=/dev/mtdblock3 rootfstype=jffs2 rw mem=128M console=null"
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
--- /dev/null
+--- 2.6.12-5.1-org/arch/mips/Makefile 2008-03-19 16:22:29.000000000 +0100
++++ 2.6.12-5.1-patched/arch/mips/Makefile 2008-03-24 14:06:32.000000000 +0100
+@@ -876,10 +876,9 @@
+ core-$(CONFIG_MIPS_BCM7400A0) += arch/mips/brcmstb/common/
+ core-$(CONFIG_MIPS_BCM7400B0) += arch/mips/brcmstb/common/
+
+-ifdef CONFIG_SMP
+ cflags-$(CONFIG_MIPS_BCM7400A0) += -Iinclude/asm-mips/mach-brcmstb
+ cflags-$(CONFIG_MIPS_BCM7400B0) += -Iinclude/asm-mips/mach-brcmstb
+-endif
++
+ load-$(CONFIG_MIPS_BCM7400A0) := 0x80001000
+ load-$(CONFIG_MIPS_BCM7400B0) := 0x80001000
+
--- /dev/null
+--- stblinux-2.6.12.org/include/asm-mips/brcmstb/brcm97400b0/boardmap.h 2008-07-03 23:48:25.000000000 +0200
++++ stblinux-2.6.12/include/asm-mips/brcmstb/brcm97400b0/boardmap.h 2008-07-03 21:23:22.000000000 +0200
+@@ -69,7 +69,7 @@
+
+ #define PCI_1394_PHYS_MEM_WIN0_BASE 0xd0000000
+
+-#define PCI_DEVICE_ID_EXT 0x0d
++#define PCI_DEVICE_ID_EXT 1 /* 0x0d */
+ #define PCI_DEVICE_ID_1394 0x0e
+ #define PCI_DEVICE_ID_MINI 0x04
+ #define PCI_DEVICE_ID_SATA 0 /* On 2ndary PCI bus */
--- /dev/null
+--- stblinux-2.6.12/include/asm-mips/brcmstb/brcm97400b0/bcmintrnum.h 2008-07-25 13:55:08.000000000 +0200
++++ stblinux-2.6.12/include/asm-mips/brcmstb/brcm97400b0/bcmintrnum.h 2008-09-11 18:00:03.000000000 +0200
+@@ -106,7 +106,7 @@
+
+ #define BCM_LINUX_EXPANSION_SLOT (BCM_LINUX_EXT_PCI_IRQ)
+
+-#if 1
++#if 0
+ // IRQ lines for EHCI-1 and OHCI-0 are swapped on the 7400A0 chip.
+ #define BCM_LINUX_USB_EHCI_CPU_INTR (1+32+BCHP_HIF_CPU_INTR1_INTR_W1_STATUS_USB_EHCI_CPU_INTR_SHIFT)
+ #define BCM_LINUX_USB_EHCI_1_CPU_INTR (1+32+BCHP_HIF_CPU_INTR1_INTR_W1_STATUS_USB_OHCI_0_CPU_INTR_SHIFT)
--- /dev/null
+Index: stblinux-2.6.12/drivers/mtd/mtd_blkdevs.c
+===================================================================
+--- stblinux-2.6.12.orig/drivers/mtd/mtd_blkdevs.c 2007-07-26 00:55:00.000000000 +0200
++++ stblinux-2.6.12/drivers/mtd/mtd_blkdevs.c 2008-01-16 23:58:30.000000000 +0100
+@@ -21,6 +21,7 @@
+ #include <linux/init.h>
+ #include <asm/semaphore.h>
+ #include <asm/uaccess.h>
++#include <linux/devfs_fs_kernel.h>
+
+ static LIST_HEAD(blktrans_majors);
+
+@@ -302,6 +303,9 @@
+ snprintf(gd->disk_name, sizeof(gd->disk_name),
+ "%s%d", tr->name, new->devnum);
+
++ snprintf(gd->devfs_name, sizeof(gd->devfs_name),
++ "%s/%c", tr->name, (tr->part_bits?'a':'0') + new->devnum);
++
+ /* 2.5 has capacity in units of 512 bytes while still
+ having BLOCK_SIZE_BITS set to 10. Just to keep us amused. */
+ set_capacity(gd, (new->size * new->blksize) >> 9);
+@@ -418,6 +422,8 @@
+ return ret;
+ }
+
++ devfs_mk_dir(tr->name);
++
+ INIT_LIST_HEAD(&tr->devs);
+ list_add(&tr->list, &blktrans_majors);
+
+@@ -450,6 +456,7 @@
+ tr->remove_dev(dev);
+ }
+
++ devfs_remove(tr->name);
+ blk_cleanup_queue(tr->blkcore_priv->rq);
+ unregister_blkdev(tr->major, tr->name);
+
+Index: stblinux-2.6.12/drivers/mtd/mtdchar.c
+===================================================================
+--- stblinux-2.6.12.orig/drivers/mtd/mtdchar.c 2008-01-21 01:37:38.000000000 +0100
++++ stblinux-2.6.12/drivers/mtd/mtdchar.c 2008-01-21 01:37:40.000000000 +0100
+@@ -26,6 +26,8 @@
+
+ static struct class *mtd_class;
+
++#include <linux/devfs_fs_kernel.h>
++
+ static void mtd_notify_add(struct mtd_info* mtd)
+ {
+ if (!mtd)
+@@ -50,6 +52,12 @@
+ MKDEV(MTD_CHAR_MAJOR, mtd->index*2+1),
+ NULL, "mtd%dro", mtd->index);
+ #endif
++
++ devfs_mk_cdev(MKDEV(MTD_CHAR_MAJOR, mtd->index*2),
++ S_IFCHR | S_IRUGO | S_IWUGO, "mtd/%d", mtd->index);
++
++ devfs_mk_cdev(MKDEV(MTD_CHAR_MAJOR, mtd->index*2+1),
++ S_IFCHR | S_IRUGO, "mtd/%dro", mtd->index);
+ }
+
+ static void mtd_notify_remove(struct mtd_info* mtd)
+@@ -59,6 +67,9 @@
+
+ class_device_destroy(mtd_class, MKDEV(MTD_CHAR_MAJOR, mtd->index*2));
+ class_device_destroy(mtd_class, MKDEV(MTD_CHAR_MAJOR, mtd->index*2+1));
++
++ devfs_remove("mtd/%d", mtd->index);
++ devfs_remove("mtd/%dro", mtd->index);
+ }
+
+ static struct mtd_notifier notifier = {
+@@ -66,6 +77,17 @@
+ .remove = mtd_notify_remove,
+ };
+
++static inline void mtdchar_devfs_init(void)
++{
++ devfs_mk_dir("mtd");
++}
++
++static inline void mtdchar_devfs_exit(void)
++{
++ devfs_remove("mtd");
++}
++
++
+ /*
+ * We use file->private_data to store a pointer to the MTDdevice.
+ * Since alighment is at least 32 bits, we have 2 bits free for OTP
+@@ -807,6 +829,7 @@
+ return PTR_ERR(mtd_class);
+ }
+
++ mtdchar_devfs_init();
+ register_mtd_user(¬ifier);
+ return 0;
+ }
+@@ -815,6 +838,7 @@
+ {
+ unregister_mtd_user(¬ifier);
+ class_destroy(mtd_class);
++ mtdchar_devfs_exit();
+ unregister_chrdev(MTD_CHAR_MAJOR, "mtd");
+ }
+
--- /dev/null
+Index: stblinux-2.6.12/drivers/mtd/nand/Kconfig
+===================================================================
+--- stblinux-2.6.12.orig/drivers/mtd/nand/Kconfig 2006-10-10 20:27:00.000000000 +0200
++++ stblinux-2.6.12/drivers/mtd/nand/Kconfig 2007-04-25 02:36:25.000000000 +0200
+@@ -199,6 +199,10 @@
+ help
+ Enables access to the Smart Media card interface on the AT91RM9200.
+
++config MTD_NAND_DM8000
++ bool "DM8000 NAND support"
++ depends on MTD_NAND
++
+ config MTD_NAND_NANDSIM
+ tristate "Support for NAND Flash Simulator"
+ depends on m && MTD_NAND && MTD_PARTITIONS
+Index: stblinux-2.6.12/drivers/mtd/nand/Makefile
+===================================================================
+--- stblinux-2.6.12.orig/drivers/mtd/nand/Makefile 2006-10-10 20:27:00.000000000 +0200
++++ stblinux-2.6.12/drivers/mtd/nand/Makefile 2007-04-25 02:36:25.000000000 +0200
+@@ -16,6 +16,7 @@
+ obj-$(CONFIG_MTD_NAND_AU1550) += au1550nd.o
+ obj-$(CONFIG_MTD_NAND_PPCHAMELEONEVB) += ppchameleonevb.o
+ obj-$(CONFIG_MTD_NAND_S3C2410) += s3c2410.o
++obj-$(CONFIG_MTD_NAND_DM8000) += dm8000.o
+ obj-$(CONFIG_MTD_NAND_DISKONCHIP) += diskonchip.o
+ obj-$(CONFIG_MTD_NAND_H1900) += h1910.o
+ obj-$(CONFIG_MTD_NAND_RTC_FROM4) += rtc_from4.o
+Index: stblinux-2.6.12/drivers/mtd/nand/dm8000.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ stblinux-2.6.12/drivers/mtd/nand/dm8000.c 2007-04-25 16:09:12.000000000 +0200
+@@ -0,0 +1,217 @@
++/*
++ * drivers/mtd/nand/dm8000.c
++ *
++ * Copyright (C) 2000 Steven J. Hill (sjhill@realitydiluted.com)
++ *
++ * Modified for Dreambox DM8000 by Felix Domke <tmbinc@elitedvb.net>
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ * Overview:
++ * This is a device driver for the NAND flash device found on the
++ * DM8000 board.
++ *
++ */
++
++#include <linux/slab.h>
++#include <linux/module.h>
++#include <linux/mtd/mtd.h>
++#include <linux/mtd/nand.h>
++#include <linux/mtd/partitions.h>
++#include <asm/io.h>
++
++static struct mtd_info *dm8000_mtd = NULL;
++/*
++ * Define partitions for flash device
++ */
++const static struct mtd_partition partition_info[] = {
++ {
++ .name = "complete",
++ .offset = 0,
++ .size = 256*1024*1024
++ },
++ {
++ .name = "loader",
++ .offset = 0,
++ .size = 1024*1024
++ },
++ {
++ .name = "boot partition",
++ .offset = 1024*1024,
++ .size = 3*1024*1024
++ },
++ {
++ .name = "root partition",
++ .offset = 4*1024*1024,
++ .size = 60*1024*1024
++ },
++ {
++ .name = "home partition",
++ .offset = 64*1024*1024,
++ .size = 64*1024*1024
++ },
++ {
++ .name = "unused partition",
++ .offset = 128*1024*1024,
++ .size = 120*1024*1024
++ },
++ {
++ .name = "preset partition",
++ .offset = 248*1024*1024,
++ .size = 8*1024*1024
++ }
++};
++#define NUM_PARTITIONS 7
++
++/*
++ * hardware specific access to control-lines
++ * our hardware logic handles the line according to the addresses.
++ */
++static void dm8000_hwcontrol(struct mtd_info *mtd, int cmd)
++{
++ struct nand_chip *this = mtd->priv;
++
++ switch(cmd){
++
++ case NAND_CTL_SETCLE: this->IO_ADDR_W = (void*)0xBF030000; break; // COMMAND
++ case NAND_CTL_CLRCLE: this->IO_ADDR_W = (void*)0xBF030004; break; // DATA
++
++ case NAND_CTL_SETALE: this->IO_ADDR_W = (void*)0xBF030002; break; // ADDRESS
++ case NAND_CTL_CLRALE: this->IO_ADDR_W = (void*)0xBF030004; break; // DATA
++
++ case NAND_CTL_SETNCE: break; // CE will automatically set on command
++ case NAND_CTL_CLRNCE: *(volatile unsigned char*)0xBF030003 = 0; break; // TERM
++ default:
++ BUG();
++ }
++}
++
++static void dm8000_nand_read_buf(struct mtd_info *mtd, u_char *buf, int len)
++{
++// struct nand_chip *this = mtd->priv;
++
++ *(volatile unsigned char*)0xBF030002;
++
++ while (len > 16)
++ {
++ *(long*)buf = *(volatile long*)(0xBF030004);
++ *(long*)(buf+4) = *(volatile long*)(0xBF030004);
++ *(long*)(buf+8) = *(volatile long*)(0xBF030004);
++ *(long*)(buf+12) = *(volatile long*)(0xBF030004);
++ buf += 16;
++ len -= 16;
++ }
++
++ while (len--)
++ *buf++ = *(volatile unsigned char*)(0xBF030004);
++}
++
++static int dm8000_dev_ready(struct mtd_info *mtd)
++{
++ *(volatile unsigned char*)0xBF030002;
++ return 1;
++}
++
++/*
++ * Main initialization routine
++ */
++int __init dm8000_init (void)
++{
++ struct nand_chip *this;
++ unsigned char probe[4];
++ int i, j;
++
++ /* Allocate memory for MTD device structure and private data */
++ dm8000_mtd = kmalloc (sizeof(struct mtd_info) + sizeof (struct nand_chip),
++ GFP_KERNEL);
++ if (!dm8000_mtd) {
++ printk ("Unable to allocate DM8000 NAND MTD device structure.\n");
++ return -ENOMEM;
++ }
++
++ /* Get pointer to private data */
++ this = (struct nand_chip *) (&dm8000_mtd[1]);
++
++ *(volatile unsigned char*)(0xBF030000) = 0x90;
++ *(volatile unsigned char*)(0xBF030002) = 0;
++ probe[0] = *(volatile unsigned char*)(0xBF030004);
++ probe[1] = *(volatile unsigned char*)(0xBF030004);
++ probe[2] = *(volatile unsigned char*)(0xBF030004);
++ probe[3] = *(volatile unsigned char*)(0xBF030004);
++ *(volatile unsigned char*)(0xBF030003) = 0; // term
++
++ j = jiffies;
++ for (i=0; i<1000*1000/4; ++i)
++ *(volatile unsigned long*)(0xBF030004);
++ printk("%ld kb/s\n", 1000 * HZ / (jiffies-j));
++
++ printk(" - NAND PROBE: %02x %02x %02x %02x\n",
++ probe[0], probe[1], probe[2], probe[3]);
++
++ /* Initialize structures */
++ memset((char *) dm8000_mtd, 0, sizeof(struct mtd_info));
++ memset((char *) this, 0, sizeof(struct nand_chip));
++
++ /* Link the private data with the MTD structure */
++ dm8000_mtd->priv = this;
++
++ /* Set address of NAND IO lines */
++ this->IO_ADDR_R = (void*)0xBF030004;
++ this->IO_ADDR_W = (void*)0xBF030004;
++
++ /* Set address of hardware control function */
++ this->hwcontrol = dm8000_hwcontrol;
++ this->read_buf = dm8000_nand_read_buf;
++ this->dev_ready = 0; // don't use dm8000_dev_ready
++ /* 15 us command delay time */
++ this->chip_delay = 15;
++ this->eccmode = NAND_ECC_SOFT;
++
++ /* Scan to find existence of the device */
++ if (nand_scan (dm8000_mtd, 1)) {
++ kfree (dm8000_mtd);
++ return -ENXIO;
++ }
++
++ /* Allocate memory for internal data buffer */
++ this->data_buf = kmalloc (sizeof(u_char) * (dm8000_mtd->oobblock + dm8000_mtd->oobsize), GFP_KERNEL);
++ if (!this->data_buf) {
++ printk ("Unable to allocate NAND data buffer for Dreambox.\n");
++ kfree (dm8000_mtd);
++ return -ENOMEM;
++ }
++
++ /* Register the partitions */
++ add_mtd_partitions(dm8000_mtd, partition_info, NUM_PARTITIONS);
++
++ /* Return happy */
++ return 0;
++}
++module_init(dm8000_init);
++
++/*
++ * Clean up routine
++ */
++#ifdef MODULE
++static void __exit dm8000_cleanup (void)
++{
++ struct nand_chip *this = (struct nand_chip *) &dm8000_mtd[1];
++
++ /* Unregister the device */
++ del_mtd_device (dm8000_mtd);
++
++ /* Free internal data buffer */
++ kfree (this->data_buf);
++
++ /* Free the MTD device structure */
++ kfree (dm8000_mtd);
++}
++module_exit(dm8000_cleanup);
++#endif
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Felix Domke <tmbinc@elitedvb.net>");
++MODULE_DESCRIPTION("Dream-Multimedia DM8000 NAND flash board glue");
--- /dev/null
+diff -Naur 2.6.12-5.0-org/arch/mips/kernel/reset.c 2.6.12-5.0-patched/arch/mips/kernel/reset.c
+--- 2.6.12-5.0-org/arch/mips/kernel/reset.c 2007-07-26 00:51:08.000000000 +0200
++++ 2.6.12-5.0-patched/arch/mips/kernel/reset.c 2007-12-11 12:34:52.000000000 +0100
+@@ -27,6 +27,7 @@
+ }
+
+ EXPORT_SYMBOL(machine_restart);
++EXPORT_SYMBOL(_machine_restart);
+
+ void machine_halt(void)
+ {
+@@ -34,6 +35,7 @@
+ }
+
+ EXPORT_SYMBOL(machine_halt);
++EXPORT_SYMBOL(_machine_halt);
+
+ void machine_power_off(void)
+ {
+@@ -41,3 +43,4 @@
+ }
+
+ EXPORT_SYMBOL(machine_power_off);
++EXPORT_SYMBOL(_machine_power_off);
+diff -Naur 2.6.12-5.0-org/drivers/video/Kconfig 2.6.12-5.0-patched/drivers/video/Kconfig
+--- 2.6.12-5.0-org/drivers/video/Kconfig 2007-07-26 00:54:49.000000000 +0200
++++ 2.6.12-5.0-patched/drivers/video/Kconfig 2007-12-11 12:34:52.000000000 +0100
+@@ -39,7 +39,7 @@
+ device-aware may cause unexpected results. If unsure, say N.
+
+ config FB_CFB_FILLRECT
+- tristate
++ tristate "FB_CFB_FILLRECT"
+ depends on FB
+ default n
+ ---help---
+@@ -48,7 +48,7 @@
+ (accelerated) version.
+
+ config FB_CFB_COPYAREA
+- tristate
++ tristate "FB_CFB_COPYAREA"
+ depends on FB
+ default n
+ ---help---
+@@ -57,7 +57,7 @@
+ version.
+
+ config FB_CFB_IMAGEBLIT
+- tristate
++ tristate "FB_CFB_IMAGEBLIT"
+ depends on FB
+ default n
+ ---help---
+@@ -66,7 +66,7 @@
+ (accelerated) version.
+
+ config FB_SOFT_CURSOR
+- tristate
++ tristate "FB_SOFT_CURSOR"
+ depends on FB
+ default n
+ ---help---
+diff -Naur 2.6.12-5.0-org/drivers/char/keyboard.c 2.6.12-5.0-patched/drivers/char/keyboard.c
+--- 2.6.12-5.0-org/drivers/char/keyboard.c 2007-07-26 00:53:29.000000000 +0200
++++ 2.6.12-5.0-patched/drivers/char/keyboard.c 2007-12-11 12:34:52.000000000 +0100
+@@ -1186,6 +1186,9 @@
+ for (i = KEY_RESERVED; i < BTN_MISC; i++)
+ if (test_bit(i, dev->keybit)) break;
+
++ if ( test_bit(EV_NO_CONSOLE, dev->evbit) )
++ return NULL;
++
+ if ((i == BTN_MISC) && !test_bit(EV_SND, dev->evbit))
+ return NULL;
+
+diff -Naur 2.6.12-5.0-org/include/linux/input.h 2.6.12-5.0-patched/include/linux/input.h
+--- 2.6.12-5.0-org/include/linux/input.h 2007-07-26 00:56:59.000000000 +0200
++++ 2.6.12-5.0-patched/include/linux/input.h 2007-12-11 12:34:52.000000000 +0100
+@@ -92,6 +92,7 @@
+ #define EV_FF 0x15
+ #define EV_PWR 0x16
+ #define EV_FF_STATUS 0x17
++#define EV_NO_CONSOLE 0x1e
+ #define EV_MAX 0x1f
+
+ /*
--- /dev/null
+Index: stblinux-2.6.12/arch/mips/kernel/vmlinux.lds.S
+===================================================================
+--- stblinux-2.6.12.orig/arch/mips/kernel/vmlinux.lds.S 2008-01-16 23:52:20.000000000 +0100
++++ stblinux-2.6.12/arch/mips/kernel/vmlinux.lds.S 2008-01-16 23:52:22.000000000 +0100
+@@ -145,8 +145,8 @@
+ . = ALIGN(4096);
+ __initramfs_start = .;
+ .init.ramfs : { *(.init.ramfs) }
+- . = ALIGN(4096);
+ __initramfs_end = .;
++ . = ALIGN(4096);
+
+ __bss_start = .; /* BSS */
+ .sbss : {
+Index: stblinux-2.6.12/drivers/net/brcmint7038/bcmemac.c
+===================================================================
+--- stblinux-2.6.12.orig/drivers/net/brcmint7038/bcmemac.c 2008-01-16 23:52:20.000000000 +0100
++++ stblinux-2.6.12/drivers/net/brcmint7038/bcmemac.c 2008-01-16 23:52:13.000000000 +0100
+@@ -2978,99 +2978,10 @@
+
+ static void bcmemac_getMacAddr(struct net_device* dev)
+ {
+- uint8 flash_eaddr[ETH_ALEN];
+- void *virtAddr;
+- uint16 word;
+- int i;
+-
+-#if !defined( CONFIG_BRCM_PCI_SLAVE) && !defined( CONFIG_MTD_BRCMNAND )
+-#if 1
+- virtAddr = (void*)FLASH_MACADDR_ADDR;
+-#else
+- //virtAddr = (void*) 0xBDFFF824; /* BCM97110 in-flash Ethernet MAC address */
+- virtAddr = (void*) KSEG1ADDR(getPhysFlashBase() + FLASH_MACADDR_OFFSET);
+-#endif
+-
+- /* It is a common problem that the flash and/or Chip Select are
+- * not initialized properly, so leave this printk on
+- */
+- printk("%s: Reading MAC address from %08lX, FLASH_BASE=%08lx\n",
+- dev->name,(uint32) virtAddr, (unsigned long) 0xA0000000L|getPhysFlashBase());
+-
+- word=0;
+- word=readw(virtAddr);
+- flash_eaddr[0]=(uint8) (word & 0x00FF);
+- flash_eaddr[1]=(uint8) ((word & 0xFF00) >> 8);
+- word=readw(virtAddr+2);
+- flash_eaddr[2]=(uint8) (word & 0x00FF);
+- flash_eaddr[3]=(uint8) ((word & 0xFF00) >> 8);
+- word=readw(virtAddr+4);
+- flash_eaddr[4]=(uint8) (word & 0x00FF);
+- flash_eaddr[5]=(uint8) ((word & 0xFF00) >> 8);
+-
+- printk("%s: MAC address %02X:%02X:%02X:%02X:%02X:%02X fetched from addr %lX\n",
+- dev->name,
+- flash_eaddr[0],flash_eaddr[1],flash_eaddr[2],
+- flash_eaddr[3],flash_eaddr[4],flash_eaddr[5],
+- (uint32) virtAddr);
+-
+-#elif defined( CONFIG_MTD_BRCMNAND )
+-{
+- extern int gNumHwAddrs;
+- extern unsigned char* gHwAddrs[];
+-
+- if (gNumHwAddrs >= 1) {
+- for (i=0; i < 6; i++) {
+- flash_eaddr[i] = (uint8) gHwAddrs[0][i];
+- }
+-
+- printk("%s: MAC address %02X:%02X:%02X:%02X:%02X:%02X fetched from bootloader\n",
+- dev->name,
+- flash_eaddr[0],flash_eaddr[1],flash_eaddr[2],
+- flash_eaddr[3],flash_eaddr[4],flash_eaddr[5]
+- );
+- }
+- else {
+- printk(KERN_ERR "%s: No MAC addresses defined\n", __FUNCTION__);
+- }
+-}
++ /* we rip the address set by the bootloader */
++ unsigned long addr[2] = { be32_to_cpu(*(unsigned int*)0xB008005C), be32_to_cpu(*(unsigned int*)0xB0080058)};
+
+-#else
+-/* PCI slave cannot access the EBI bus,
+- * and for now, same for NAND flash, until CFE supports it
+- */
+-/* Use hard coded value if Flash not properly initialized */
+- //if ((*flash_eaddr & 0xff) == 0xff)
+- {
+-//#ifdef USE_HARDCODED_MACADDR
+- flash_eaddr[0] = 0x00;
+- flash_eaddr[1] = 0xc0;
+- flash_eaddr[2] = 0xa8;
+- flash_eaddr[3] = 0x74;
+- flash_eaddr[4] = 0x3b;
+- flash_eaddr[5] = 0x51;
+- printk("%s: Default MAC address %02X:%02X:%02X:%02X:%02X:%02X used\n",
+- dev->name,
+- flash_eaddr[0],flash_eaddr[1],flash_eaddr[2],
+- flash_eaddr[3],flash_eaddr[4],flash_eaddr[5]);
+-//#else
+-// printk("%s: Cannot read EMAC address from flash. Please run EVAL codes\n", CARDNAME);
+-// return -ENODEV;
+-//#endif
+- }
+-#endif
+-
+- /* fill in the MAC address */
+- for (i = 0; i < 6; i++) {
+- dev->dev_addr[i] = flash_eaddr[i];
+- }
+-
+- /* print the Ethenet address */
+- printk("%s: MAC Address: ", dev->name);
+- for (i = 0; i < 5; i++) {
+- printk("%2.2X:", dev->dev_addr[i]);
+- }
+- printk("%2.2X\n", dev->dev_addr[i]);
++ memcpy(dev->dev_addr, ((unsigned char*)addr)+2, 6);
+ }
+
+
+Index: stblinux-2.6.12/arch/mips/brcmstb/common/setup.c
+===================================================================
+--- stblinux-2.6.12.orig/arch/mips/brcmstb/common/setup.c 2008-01-16 23:53:24.000000000 +0100
++++ stblinux-2.6.12/arch/mips/brcmstb/common/setup.c 2008-01-16 23:54:06.000000000 +0100
+@@ -136,13 +136,13 @@
+
+ static void brcm_machine_halt(void)
+ {
+- printk("Broadcom eval board halted.\n");
++ printk("Halted.\n");
+ while (1);
+ }
+
+ static void brcm_machine_power_off(void)
+ {
+- printk("Broadcom eval board halted. Please turn off power.\n");
++ printk("Halted. Please turn off power.\n");
+ while (1);
+ }
+
--- /dev/null
+diff -Naur stblinux-2.6.12-org/drivers/media/dvb/dvb-core/dvbdev.c stblinux-2.6.12/drivers/media/dvb/dvb-core/dvbdev.c
+--- stblinux-2.6.12-org/drivers/media/dvb/dvb-core/dvbdev.c 2008-07-17 23:14:00.000000000 +0200
++++ stblinux-2.6.12/drivers/media/dvb/dvb-core/dvbdev.c 2008-07-17 22:34:33.000000000 +0200
+@@ -52,9 +52,9 @@
+ };
+
+ #define DVB_MAX_ADAPTERS 8
+-#define DVB_MAX_IDS 4
+-#define nums2minor(num,type,id) ((num << 6) | (id << 4) | type)
+-#define MAX_DVB_MINORS (DVB_MAX_ADAPTERS*64)
++#define DVB_MAX_IDS 8
++#define nums2minor(num,type,id) ((num << 7) | (id << 4) | type)
++#define MAX_DVB_MINORS (DVB_MAX_ADAPTERS*128)
+
+ static struct class *dvb_class;
+
--- /dev/null
+Index: stblinux-2.6.12/arch/mips/kernel/setup.c
+===================================================================
+--- stblinux-2.6.12.orig/arch/mips/kernel/setup.c 2008-04-15 02:13:42.000000000 +0200
++++ stblinux-2.6.12/arch/mips/kernel/setup.c 2008-04-15 02:25:13.000000000 +0200
+@@ -472,11 +472,29 @@
+ */
+ unsigned long get_RAM_size(void);
+
++extern int *_prom_envp;
++#define prom_envp(index) ((char *)(long)_prom_envp[(index)])
++static char *prom_getenv(char *envname)
++{
++ int i, index=0;
++
++ i = strlen(envname);
++
++ while (prom_envp(index)) {
++ if ((strncmp(envname, prom_envp(index), i) == 0) && (prom_envp(index)[i] == '='))
++ return(prom_envp(index) + i + 1);
++ index++;
++ }
++
++ return NULL;
++}
++
+ static inline void brcm_default_boot_mem(void)
+ {
+ int ramSizeMB = get_RAM_size() >> 20;
+ int size;
+ char msg[40];
++ const char *memsize_str;
+
+ if (ramSizeMB <= 32)
+ {
+@@ -502,11 +520,20 @@
+ size = 32;
+ #endif
+ }
+- sprintf(msg, "Using %dMB for memory, overwrite by passing mem=xx\n",
+- size);
+- uart_puts(msg);
+- brcm_insert_ram_node(0, size<<20, BOOT_MEM_RAM, &brcm_bm);
+
++ memsize_str = prom_getenv("memsize");
++ if (memsize_str)
++ {
++ int memsize = simple_strtol(memsize_str, NULL, 0);
++ brcm_insert_ram_node(0, memsize<<20, BOOT_MEM_RAM, &brcm_bm);
++ printk("---> memsize from bootloader: %d\n", memsize);
++ } else
++ {
++ sprintf(msg, "Using %dMB for memory, overwrite by passing mem=xx\n",
++ size);
++ uart_puts(msg);
++ brcm_insert_ram_node(0, size<<20, BOOT_MEM_RAM, &brcm_bm);
++ }
+ }
+
+
--- /dev/null
+Index: stblinux-2.6.12/arch/mips/brcmstb/common/prom.c
+===================================================================
+--- stblinux-2.6.12.orig/arch/mips/brcmstb/common/prom.c 2008-01-16 00:14:31.000000000 +0100
++++ stblinux-2.6.12/arch/mips/brcmstb/common/prom.c 2008-01-16 00:23:08.000000000 +0100
+@@ -216,6 +216,29 @@
+ }
+
+
++int prom_argc;
++int *_prom_argv, *_prom_envp;
++
++void __init prom_init_cmdline(void)
++{
++ char *cp;
++ int actr;
++
++ actr = 1; /* Always ignore argv[0] */
++
++ cp = &(arcs_cmdline[0]);
++ while(actr < prom_argc) {
++ strcpy(cp, _prom_argv[actr]);
++ cp += strlen(_prom_argv[actr]);
++ *cp++ = ' ';
++ actr++;
++ }
++ if (cp != &(arcs_cmdline[0])) {
++ /* get rid of trailing space */
++ --cp;
++ *cp = '\0';
++ }
++}
+
+ void __init prom_init(void)
+ {
+@@ -731,23 +754,14 @@
+ uart_puts("Default command line = \n");
+ uart_puts(CONFIG_CMDLINE);
+ uart_puts("\n");
+- p = &arcs_cmdline[0];
+- while (p != NULL && *p != '\0') {
+- if (!isspace(*p))
+- break;
+- p++;
+- }
+- if (p == NULL || *p == '\0') {
+- uart_puts("Defaulting to boot from HD\n");
+- /* Default is to boot from HD */
+- strcpy(arcs_cmdline,
+- "root=/dev/hda1" DEFAULT_KARGS);
+- }
+- else if (appendConsoleNeeded) {
+- /* Make sure that the boot params specify a console */
+- appendConsoleArg(arcs_cmdline);
+- }
+
++ prom_argc = fw_arg0;
++ _prom_argv = (int *) fw_arg1;
++ _prom_envp = (int *) fw_arg2;
++ printk("%d %p %p\n", prom_argc, _prom_argv, _prom_envp);
++ prom_init_cmdline();
++
++
+ #else /* No CONFIG_CMDLINE, and not Initrd */
+ /* Default is to boot from HD */
+ strcpy(arcs_cmdline,
--- /dev/null
+Index: stblinux-2.6.12/Makefile
+===================================================================
+--- stblinux-2.6.12.orig/Makefile 2007-12-17 20:09:55.000000000 +0100
++++ stblinux-2.6.12/Makefile 2007-12-17 22:37:51.000000000 +0100
+@@ -2,7 +2,7 @@
+ PATCHLEVEL = 6
+ SUBLEVEL = 12
+ # STABLE_VERSION = .2
+-EXTRAVERSION =-5.1-brcmstb
++EXTRAVERSION =-5.1-brcmstb-dm8000
+ NAME=Woozy Numbat
+
+ # *DOCUMENTATION*
--- /dev/null
+diff -Naur 2.6.12-5.0-org/arch/mips/kernel/syscall.c 2.6.12-5.0-patched/arch/mips/kernel/syscall.c
+--- 2.6.12-5.0-org/arch/mips/kernel/syscall.c 2007-07-26 00:51:09.000000000 +0200
++++ 2.6.12-5.0-patched/arch/mips/kernel/syscall.c 2007-12-11 12:34:52.000000000 +0100
+@@ -405,6 +405,13 @@
+ }
+ }
+
++asmlinkage long mips_fadvise64(int fd,
++ unsigned int low_off, unsigned int high_off,
++ unsigned int len, int advice, unsigned int dummy)
++{
++ return sys_fadvise64_64(fd, (((u64)high_off) << 32) | low_off, (u64)len, advice);
++}
++
+ /*
+ * No implemented yet ...
+ */
+diff -Naur 2.6.12-5.0-org/arch/mips/kernel/scall32-o32.S 2.6.12-5.0-patched/arch/mips/kernel/scall32-o32.S
+--- 2.6.12-5.0-org/arch/mips/kernel/scall32-o32.S 2007-07-26 00:51:08.000000000 +0200
++++ 2.6.12-5.0-patched/arch/mips/kernel/scall32-o32.S 2007-12-11 12:34:52.000000000 +0100
+@@ -594,7 +594,7 @@
+ sys sys_remap_file_pages 5
+ sys sys_set_tid_address 1
+ sys sys_restart_syscall 0
+- sys sys_fadvise64_64 7
++ sys mips_fadvise64 7
+ sys sys_statfs64 3 /* 4255 */
+ sys sys_fstatfs64 2
+ sys sys_timer_create 3
--- /dev/null
+diff -Naur 2.6.12-5.0-org/include/asm-mips/futex.h 2.6.12-5.0-patched/include/asm-mips/futex.h
+--- 2.6.12-5.0-org/include/asm-mips/futex.h 1970-01-01 01:00:00.000000000 +0100
++++ 2.6.12-5.0-patched/include/asm-mips/futex.h 2007-12-11 12:34:52.000000000 +0100
+@@ -0,0 +1,134 @@
++#ifndef _ASM_FUTEX_H
++#define _ASM_FUTEX_H
++
++#ifdef __KERNEL__
++
++#include <linux/config.h>
++#include <linux/futex.h>
++#include <asm/errno.h>
++#include <asm/uaccess.h>
++#include <asm/war.h>
++
++#ifdef CONFIG_SMP
++#define __FUTEX_SMP_SYNC " sync \n"
++#else
++#define __FUTEX_SMP_SYNC
++#endif
++
++#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \
++{ \
++ if (cpu_has_llsc && R10000_LLSC_WAR) { \
++ __asm__ __volatile__( \
++ " .set push \n" \
++ " .set noat \n" \
++ " .set mips3 \n" \
++ "1: ll %1, %4 # __futex_atomic_op \n" \
++ " .set mips0 \n" \
++ " " insn " \n" \
++ " .set mips3 \n" \
++ "2: sc $1, %2 \n" \
++ " beqzl $1, 1b \n" \
++ __FUTEX_SMP_SYNC \
++ "3: \n" \
++ " .set pop \n" \
++ " .set mips0 \n" \
++ " .section .fixup,\"ax\" \n" \
++ "4: li %0, %6 \n" \
++ " j 2b \n" \
++ " .previous \n" \
++ " .section __ex_table,\"a\" \n" \
++ " "__UA_ADDR "\t1b, 4b \n" \
++ " "__UA_ADDR "\t2b, 4b \n" \
++ " .previous \n" \
++ : "=r" (ret), "=&r" (oldval), "=R" (*uaddr) \
++ : "0" (0), "R" (*uaddr), "Jr" (oparg), "i" (-EFAULT) \
++ : "memory"); \
++ } else if (cpu_has_llsc) { \
++ __asm__ __volatile__( \
++ " .set push \n" \
++ " .set noat \n" \
++ " .set mips3 \n" \
++ "1: ll %1, %4 # __futex_atomic_op \n" \
++ " .set mips0 \n" \
++ " " insn " \n" \
++ " .set mips3 \n" \
++ "2: sc $1, %2 \n" \
++ " beqz $1, 1b \n" \
++ __FUTEX_SMP_SYNC \
++ "3: \n" \
++ " .set pop \n" \
++ " .set mips0 \n" \
++ " .section .fixup,\"ax\" \n" \
++ "4: li %0, %6 \n" \
++ " j 2b \n" \
++ " .previous \n" \
++ " .section __ex_table,\"a\" \n" \
++ " "__UA_ADDR "\t1b, 4b \n" \
++ " "__UA_ADDR "\t2b, 4b \n" \
++ " .previous \n" \
++ : "=r" (ret), "=&r" (oldval), "=R" (*uaddr) \
++ : "0" (0), "R" (*uaddr), "Jr" (oparg), "i" (-EFAULT) \
++ : "memory"); \
++ } else \
++ ret = -ENOSYS; \
++}
++
++static inline int
++futex_atomic_op_inuser (int encoded_op, int __user *uaddr)
++{
++ int op = (encoded_op >> 28) & 7;
++ int cmp = (encoded_op >> 24) & 15;
++ int oparg = (encoded_op << 8) >> 20;
++ int cmparg = (encoded_op << 20) >> 20;
++ int oldval = 0, ret;
++ if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28))
++ oparg = 1 << oparg;
++
++ if (! access_ok (VERIFY_WRITE, uaddr, sizeof(int)))
++ return -EFAULT;
++
++ inc_preempt_count();
++
++ switch (op) {
++ case FUTEX_OP_SET:
++ __futex_atomic_op("move $1, %z5", ret, oldval, uaddr, oparg);
++ break;
++
++ case FUTEX_OP_ADD:
++ __futex_atomic_op("addu $1, %1, %z5",
++ ret, oldval, uaddr, oparg);
++ break;
++ case FUTEX_OP_OR:
++ __futex_atomic_op("or $1, %1, %z5",
++ ret, oldval, uaddr, oparg);
++ break;
++ case FUTEX_OP_ANDN:
++ __futex_atomic_op("and $1, %1, %z5",
++ ret, oldval, uaddr, ~oparg);
++ break;
++ case FUTEX_OP_XOR:
++ __futex_atomic_op("xor $1, %1, %z5",
++ ret, oldval, uaddr, oparg);
++ break;
++ default:
++ ret = -ENOSYS;
++ }
++
++ dec_preempt_count();
++
++ if (!ret) {
++ switch (cmp) {
++ case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break;
++ case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break;
++ case FUTEX_OP_CMP_LT: ret = (oldval < cmparg); break;
++ case FUTEX_OP_CMP_GE: ret = (oldval >= cmparg); break;
++ case FUTEX_OP_CMP_LE: ret = (oldval <= cmparg); break;
++ case FUTEX_OP_CMP_GT: ret = (oldval > cmparg); break;
++ default: ret = -ENOSYS;
++ }
++ }
++ return ret;
++}
++
++#endif
++#endif
+diff -Naur 2.6.12-5.0-org/include/linux/futex.h 2.6.12-5.0-patched/include/linux/futex.h
+--- 2.6.12-5.0-org/include/linux/futex.h 2007-07-26 00:57:03.000000000 +0200
++++ 2.6.12-5.0-patched/include/linux/futex.h 2007-12-11 12:34:52.000000000 +0100
+@@ -4,14 +4,40 @@
+ /* Second argument to futex syscall */
+
+
+-#define FUTEX_WAIT (0)
+-#define FUTEX_WAKE (1)
+-#define FUTEX_FD (2)
+-#define FUTEX_REQUEUE (3)
+-#define FUTEX_CMP_REQUEUE (4)
++#define FUTEX_WAIT 0
++#define FUTEX_WAKE 1
++#define FUTEX_FD 2
++#define FUTEX_REQUEUE 3
++#define FUTEX_CMP_REQUEUE 4
++#define FUTEX_WAKE_OP 5
+
+ long do_futex(unsigned long uaddr, int op, int val,
+ unsigned long timeout, unsigned long uaddr2, int val2,
+ int val3);
+
++#define FUTEX_OP_SET 0 /* *(int *)UADDR2 = OPARG; */
++#define FUTEX_OP_ADD 1 /* *(int *)UADDR2 += OPARG; */
++#define FUTEX_OP_OR 2 /* *(int *)UADDR2 |= OPARG; */
++#define FUTEX_OP_ANDN 3 /* *(int *)UADDR2 &= ~OPARG; */
++#define FUTEX_OP_XOR 4 /* *(int *)UADDR2 ^= OPARG; */
++
++#define FUTEX_OP_OPARG_SHIFT 8 /* Use (1 << OPARG) instead of OPARG. */
++
++#define FUTEX_OP_CMP_EQ 0 /* if (oldval == CMPARG) wake */
++#define FUTEX_OP_CMP_NE 1 /* if (oldval != CMPARG) wake */
++#define FUTEX_OP_CMP_LT 2 /* if (oldval < CMPARG) wake */
++#define FUTEX_OP_CMP_LE 3 /* if (oldval <= CMPARG) wake */
++#define FUTEX_OP_CMP_GT 4 /* if (oldval > CMPARG) wake */
++#define FUTEX_OP_CMP_GE 5 /* if (oldval >= CMPARG) wake */
++
++/* FUTEX_WAKE_OP will perform atomically
++ int oldval = *(int *)UADDR2;
++ *(int *)UADDR2 = oldval OP OPARG;
++ if (oldval CMP CMPARG)
++ wake UADDR2; */
++
++#define FUTEX_OP(op, oparg, cmp, cmparg) \
++ (((op & 0xf) << 28) | ((cmp & 0xf) << 24) \
++ | ((oparg & 0xfff) << 12) | (cmparg & 0xfff))
++
+ #endif
+diff -Naur 2.6.12-5.0-org/kernel/futex.c 2.6.12-5.0-patched/kernel/futex.c
+--- 2.6.12-5.0-org/kernel/futex.c 2007-07-26 00:57:20.000000000 +0200
++++ 2.6.12-5.0-patched/kernel/futex.c 2007-12-11 12:34:52.000000000 +0100
+@@ -40,6 +40,7 @@
+ #include <linux/pagemap.h>
+ #include <linux/syscalls.h>
+ #include <linux/signal.h>
++#include <asm/futex.h>
+
+ #define FUTEX_HASHBITS (CONFIG_BASE_SMALL ? 4 : 8)
+
+@@ -201,22 +202,6 @@
+ * for a rare case, so we simply fetch the page.
+ */
+
+- /*
+- * Do a quick atomic lookup first - this is the fastpath.
+- */
+- spin_lock(¤t->mm->page_table_lock);
+- page = follow_page(mm, uaddr, 0);
+- if (likely(page != NULL)) {
+- key->shared.pgoff =
+- page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT);
+- spin_unlock(¤t->mm->page_table_lock);
+- return 0;
+- }
+- spin_unlock(¤t->mm->page_table_lock);
+-
+- /*
+- * Do it the general way.
+- */
+ err = get_user_pages(current, mm, uaddr, 1, 0, 0, &page, NULL);
+ if (err >= 0) {
+ key->shared.pgoff =
+@@ -327,6 +312,123 @@
+ }
+
+ /*
++ * Wake up all waiters hashed on the physical page that is mapped
++ * to this virtual address:
++ */
++static int futex_wake_op(unsigned long uaddr1, unsigned long uaddr2, int nr_wake, int nr_wake2, int op)
++{
++ union futex_key key1, key2;
++ struct futex_hash_bucket *bh1, *bh2;
++ struct list_head *head;
++ struct futex_q *this, *next;
++ int ret, op_ret, attempt = 0;
++
++retryfull:
++ down_read(¤t->mm->mmap_sem);
++
++ ret = get_futex_key(uaddr1, &key1);
++ if (unlikely(ret != 0))
++ goto out;
++ ret = get_futex_key(uaddr2, &key2);
++ if (unlikely(ret != 0))
++ goto out;
++
++ bh1 = hash_futex(&key1);
++ bh2 = hash_futex(&key2);
++
++retry:
++ if (bh1 < bh2)
++ spin_lock(&bh1->lock);
++ spin_lock(&bh2->lock);
++ if (bh1 > bh2)
++ spin_lock(&bh1->lock);
++
++ op_ret = futex_atomic_op_inuser(op, (int __user *)uaddr2);
++ if (unlikely(op_ret < 0)) {
++ int dummy;
++
++ spin_unlock(&bh1->lock);
++ if (bh1 != bh2)
++ spin_unlock(&bh2->lock);
++
++ if (unlikely(op_ret != -EFAULT)) {
++ ret = op_ret;
++ goto out;
++ }
++
++ /* futex_atomic_op_inuser needs to both read and write
++ * *(int __user *)uaddr2, but we can't modify it
++ * non-atomically. Therefore, if get_user below is not
++ * enough, we need to handle the fault ourselves, while
++ * still holding the mmap_sem. */
++ if (attempt++) {
++ struct vm_area_struct * vma;
++ struct mm_struct *mm = current->mm;
++
++ ret = -EFAULT;
++ if (attempt >= 2 ||
++ !(vma = find_vma(mm, uaddr2)) ||
++ vma->vm_start > uaddr2 ||
++ !(vma->vm_flags & VM_WRITE))
++ goto out;
++
++ switch (handle_mm_fault(mm, vma, uaddr2, 1)) {
++ case VM_FAULT_MINOR:
++ current->min_flt++;
++ break;
++ case VM_FAULT_MAJOR:
++ current->maj_flt++;
++ break;
++ default:
++ goto out;
++ }
++ goto retry;
++ }
++
++ /* If we would have faulted, release mmap_sem,
++ * fault it in and start all over again. */
++ up_read(¤t->mm->mmap_sem);
++
++ ret = get_user(dummy, (int __user *)uaddr2);
++ if (ret)
++ return ret;
++
++ goto retryfull;
++ }
++
++ head = &bh1->chain;
++
++ list_for_each_entry_safe(this, next, head, list) {
++ if (match_futex (&this->key, &key1)) {
++ wake_futex(this);
++ if (++ret >= nr_wake)
++ break;
++ }
++ }
++
++ if (op_ret > 0) {
++ head = &bh2->chain;
++
++ op_ret = 0;
++ list_for_each_entry_safe(this, next, head, list) {
++ if (match_futex (&this->key, &key2)) {
++ wake_futex(this);
++ if (++op_ret >= nr_wake2)
++ break;
++ }
++ }
++ ret += op_ret;
++ }
++
++ spin_unlock(&bh1->lock);
++ if (bh1 != bh2)
++ spin_unlock(&bh2->lock);
++out:
++ up_read(¤t->mm->mmap_sem);
++ return ret;
++}
++
++/*
+ * Requeue all waiters hashed on one physical page to another
+ * physical page.
+ */
+@@ -740,6 +842,9 @@
+ case FUTEX_CMP_REQUEUE:
+ ret = futex_requeue(uaddr, uaddr2, val, val2, &val3);
+ break;
++ case FUTEX_WAKE_OP:
++ ret = futex_wake_op(uaddr, uaddr2, val, val2, val3);
++ break;
+ default:
+ ret = -ENOSYS;
+ }
+@@ -755,9 +860,11 @@
+ unsigned long timeout = MAX_SCHEDULE_TIMEOUT;
+ int val2 = 0;
+
+- if ((op == FUTEX_WAIT) && utime) {
++ if (utime && (op == FUTEX_WAIT)) {
+ if (copy_from_user(&t, utime, sizeof(t)) != 0)
+ return -EFAULT;
++ if (!timespec_valid(&t))
++ return -EINVAL;
+ timeout = timespec_to_jiffies(&t) + 1;
+ }
+ /*
--- /dev/null
+diff -Naur 2.6.12-5.0-org/include/asm-mips/uaccess.h 2.6.12-5.0-patched/include/asm-mips/uaccess.h
+--- 2.6.12-5.0-org/include/asm-mips/uaccess.h 2007-07-26 00:56:08.000000000 +0200
++++ 2.6.12-5.0-patched/include/asm-mips/uaccess.h 2007-12-11 12:34:52.000000000 +0100
+@@ -234,39 +234,72 @@
+
+ #define __get_user_nocheck(x,ptr,size) \
+ ({ \
+- __typeof(*(ptr)) __gu_val = (__typeof(*(ptr))) 0; \
+ long __gu_err = 0; \
+- \
+ might_sleep(); \
+ switch (size) { \
+- case 1: __get_user_asm("lb", ptr); break; \
+- case 2: __get_user_asm("lh", ptr); break; \
+- case 4: __get_user_asm("lw", ptr); break; \
+- case 8: __GET_USER_DW(ptr); break; \
++ case 1: { \
++ s8 __gu_val = (s8) 0; \
++ __get_user_asm("lb", ptr); \
++ (x) = (__typeof__(*(ptr))) __gu_val; \
++ break; \
++ } \
++ case 2: { \
++ s16 __gu_val = (s16) 0; \
++ __get_user_asm("lh", ptr); \
++ (x) = (__typeof__(*(ptr))) __gu_val; \
++ break; \
++ } \
++ case 4: { \
++ s32 __gu_val = (s32) 0; \
++ __get_user_asm("lw", ptr); \
++ (x) = (__typeof__(*(ptr))) __gu_val; \
++ break; \
++ } \
++ case 8: { \
++ s64 __gu_val = (s64) 0; \
++ __GET_USER_DW(ptr); \
++ (x) = (__typeof__(*(ptr))) __gu_val; \
++ break; \
++ } \
+ default: __get_user_unknown(); break; \
+ } \
+- (x) = (__typeof__(*(ptr))) __gu_val; \
+ __gu_err; \
+ })
+
+ #define __get_user_check(x,ptr,size) \
+ ({ \
+ const __typeof__(*(ptr)) __user * __gu_addr = (ptr); \
+- __typeof__(*(ptr)) __gu_val = 0; \
+ long __gu_err = -EFAULT; \
+- \
+ might_sleep(); \
+- \
+ if (likely(access_ok(VERIFY_READ, __gu_addr, size))) { \
+ switch (size) { \
+- case 1: __get_user_asm("lb", __gu_addr); break; \
+- case 2: __get_user_asm("lh", __gu_addr); break; \
+- case 4: __get_user_asm("lw", __gu_addr); break; \
+- case 8: __GET_USER_DW(__gu_addr); break; \
++ case 1: { \
++ s8 __gu_val = (s8) 0; \
++ __get_user_asm("lb", ptr); \
++ (x) = (__typeof__(*(ptr))) __gu_val; \
++ break; \
++ } \
++ case 2: { \
++ s16 __gu_val = (s16) 0; \
++ __get_user_asm("lh", ptr); \
++ (x) = (__typeof__(*(ptr))) __gu_val; \
++ break; \
++ } \
++ case 4: { \
++ s32 __gu_val = (s32) 0; \
++ __get_user_asm("lw", ptr); \
++ (x) = (__typeof__(*(ptr))) __gu_val; \
++ break; \
++ } \
++ case 8: { \
++ s64 __gu_val = (s64) 0; \
++ __GET_USER_DW(ptr); \
++ (x) = (__typeof__(*(ptr))) __gu_val; \
++ break; \
++ } \
+ default: __get_user_unknown(); break; \
+ } \
+ } \
+- (x) = (__typeof__(*(ptr))) __gu_val; \
+ __gu_err; \
+ })
+
--- /dev/null
+diff -Naur 2.6.12-5.0-org/arch/mips/kernel/gdb-low.S 2.6.12-5.0-patched/arch/mips/kernel/gdb-low.S
+--- 2.6.12-5.0-org/arch/mips/kernel/gdb-low.S 2007-07-26 00:51:07.000000000 +0200
++++ 2.6.12-5.0-patched/arch/mips/kernel/gdb-low.S 2007-12-11 12:34:52.000000000 +0100
+@@ -52,12 +52,14 @@
+ /*
+ * Called from user mode, go somewhere else.
+ */
+- lui k1, %hi(saved_vectors)
+ mfc0 k0, CP0_CAUSE
+ andi k0, k0, 0x7c
+- add k1, k1, k0
+- lw k0, %lo(saved_vectors)(k1)
+- jr k0
++
++#ifdef CONFIG_MIPS64
++ dsll k0, k0, 1
++#endif
++ lw k1, %lo(saved_vectors)(k0)
++ jr k1
+ nop
+ 1:
+ move k0, sp
--- /dev/null
+Index: madwifi-ng-r3314-20080131/ath/if_athvar.h
+===================================================================
+--- madwifi-ng-r3314-20080131.orig/ath/if_athvar.h 2008-06-12 03:19:30.000000000 +0200
++++ madwifi-ng-r3314-20080131/ath/if_athvar.h 2008-06-12 03:19:41.000000000 +0200
+@@ -522,7 +522,7 @@
+ atomic_t av_beacon_alloc; /* set to 1 when the next beacon needs
+ to be recomputed */
+ #else
+- unsigned int av_beacon_alloc;
++ unsigned long av_beacon_alloc;
+ #endif
+ };
+ #define ATH_VAP(_v) ((struct ath_vap *)(_v))
WACKELF_SRC_URI_compulab-pxa270 = " file://20-xscale-VFP-wackelf.patch;patch=1"
SRCNAME = "${PN}"
-SRC_URI = "http://snapshots.madwifi.org/madwifi-trunk/${SRCNAME}-${PV}.tar.gz \
+SRC_URI = " \
+ http://www.angstrom-distribution.org/unstable/sources/${SRCNAME}-${PV}.tar.gz \
file://10-xscale-be-elf-copts.patch;patch=1 \
file://10-xscale-le-elf-copts.patch;patch=1 \
file://10-sh4-le-elf-copts.patch;patch=1 \
require madwifi-ng_r.inc
-SRC_URI += " \
- file://30-define-ioreadwrite32be-for-little-endian-too.patch;patch=1 \
- "
-
# PR set after the include, to override what's set in the included file.
-PR = "r6"
+PR = "r8"
+
+SRC_URI += "http://sources.dreamboxupdate.com/download/snapshots/openwrt_madwifi_patches_20080829.tar.bz2 \
+ http://sources.dreamboxupdate.com/download/snapshots/ath_hal-20080815.tgz \
+ file://40-fix-warnings.patch;patch=1;pnum=1"
+
+do_munge() {
+ rm -rf ${S}/hal || /bin/true
+ mv ${WORKDIR}/ath_hal-20080815 ${S}/hal
+ CUR=`pwd`
+ cd ${S}
+ for i in `ls ${WORKDIR}/openwrt_madwifi_patches | grep ".patch" | sort -n | xargs`; do
+ oenote "Applying openwrt madwifi patch '$i'";
+ patch -p1 < ${WORKDIR}/openwrt_madwifi_patches/$i;
+ done;
+ cd $CUR
+}
+
+addtask munge before do_compile after do_patch
require madwifi-ng_r.inc
+DEFAULT_PREFERENCE = "-1"
+
# Due to a minor Makefile restructuring, newer versions require an updated
# patch; this is really ugly and some alternate way to do this that's more
# generic should be figured out.
SECTION = "console/utils"
PRIORITY = "optional"
DEPENDS = "ncurses glib-2.0"
-RDEPENDS = "ncurses-terminfo"
SRC_URI = "http://www.ibiblio.org/pub/Linux/utils/file/managers/mc/mc-${PV}.tar.gz"
--- /dev/null
+Index: mjpegtools-1.9.0rc3/lavtools/Makefile.am
+===================================================================
+--- mjpegtools-1.9.0rc3.orig/lavtools/Makefile.am 2008-04-09 00:44:57.000000000 +0200
++++ mjpegtools-1.9.0rc3/lavtools/Makefile.am 2008-04-09 01:03:10.000000000 +0200
+@@ -2,7 +2,7 @@
+
+ MAINTAINERCLEANFILES = Makefile.in
+
+-AM_CPPFLAGS = -I$(top_srcdir) -I$(includedir) -I$(top_srcdir)/utils $(LIBQUICKTIME_CFLAGS)
++AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/utils $(LIBQUICKTIME_CFLAGS)
+
+ LIBMJPEGUTILS = $(top_builddir)/utils/libmjpegutils.la
+ if HAVE_ALTIVEC
+Index: mjpegtools-1.9.0rc3/yuvcorrect/Makefile.am
+===================================================================
+--- mjpegtools-1.9.0rc3.orig/yuvcorrect/Makefile.am 2008-04-09 01:01:15.000000000 +0200
++++ mjpegtools-1.9.0rc3/yuvcorrect/Makefile.am 2008-04-09 01:01:21.000000000 +0200
+@@ -2,7 +2,7 @@
+
+ MAINTAINERCLEANFILES = Makefile.in
+
+-AM_CPPFLAGS = -I$(top_srcdir) -I$(includedir) -I$(top_srcdir)/utils
++AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/utils
+
+ LIBMJPEGUTILS = $(top_builddir)/utils/libmjpegutils.la
+ if HAVE_ALTIVEC
+Index: mjpegtools-1.9.0rc3/yuvscaler/Makefile.am
+===================================================================
+--- mjpegtools-1.9.0rc3.orig/yuvscaler/Makefile.am 2008-04-09 01:01:43.000000000 +0200
++++ mjpegtools-1.9.0rc3/yuvscaler/Makefile.am 2008-04-09 01:01:50.000000000 +0200
+@@ -2,7 +2,7 @@
+
+ MAINTAINERCLEANFILES = Makefile.in
+
+-AM_CPPFLAGS = -I$(top_srcdir) -I$(includedir) -I$(top_srcdir)/utils
++AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/utils
+
+
+ LIBMJPEGUTILS = $(top_builddir)/utils/libmjpegutils.la
+Index: mjpegtools-1.9.0rc3/y4mdenoise/Makefile.am
+===================================================================
+--- mjpegtools-1.9.0rc3.orig/y4mdenoise/Makefile.am 2008-04-09 01:03:16.000000000 +0200
++++ mjpegtools-1.9.0rc3/y4mdenoise/Makefile.am 2008-04-09 01:03:25.000000000 +0200
+@@ -7,7 +7,7 @@
+ AM_CFLAGS = -DNDEBUG -finline-functions @PROGRAM_NOPIC@
+ AM_CXXFLAGS = -DNDEBUG -finline-functions @PROGRAM_NOPIC@
+
+-INCLUDES = -I$(top_srcdir) -I$(includedir) -I$(top_srcdir)/utils
++INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/utils
+
+ LIBMJPEGUTILS = $(top_builddir)/utils/libmjpegutils.la
+ if HAVE_ALTIVEC
+Index: mjpegtools-1.9.0rc3/y4mutils/Makefile.am
+===================================================================
+--- mjpegtools-1.9.0rc3.orig/y4mutils/Makefile.am 2008-04-09 01:03:43.000000000 +0200
++++ mjpegtools-1.9.0rc3/y4mutils/Makefile.am 2008-04-09 01:03:48.000000000 +0200
+@@ -3,7 +3,7 @@
+ MAINTAINERCLEANFILES = Makefile.in
+
+ AM_CFLAGS = @PROGRAM_NOPIC@
+-AM_CPPFLAGS = -I$(top_srcdir) -I$(includedir) -I$(top_srcdir)/utils
++AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/utils
+
+ LIBMJPEGUTILS = $(top_builddir)/utils/libmjpegutils.la
+ if HAVE_ALTIVEC
--- /dev/null
+Index: mjpegtools-1.9.0rc3/configure.ac
+===================================================================
+--- mjpegtools-1.9.0rc3.orig/configure.ac 2008-04-09 00:35:08.000000000 +0200
++++ mjpegtools-1.9.0rc3/configure.ac 2008-04-09 00:35:18.000000000 +0200
+@@ -275,10 +275,6 @@
+ dnl Check for the SDL library (for software playback)
+ dnl (defines SDL_CFLAGS and SDL_LIBS)
+ dnl ********************************************************************
+-AM_PATH_SDL(1.1.3,
+- [have_sdl=true
+- AC_DEFINE(HAVE_SDL, 1, [SDL library present]) ],
+- [have_sdl=false])
+ AM_CONDITIONAL(HAVE_SDL, test x$have_sdl = xtrue)
+
+ dnl ***
--- /dev/null
+Index: mjpegtools-1.9.0rc3/lavtools/Makefile.am
+===================================================================
+--- mjpegtools-1.9.0rc3.orig/lavtools/Makefile.am 2008-04-09 00:49:47.000000000 +0200
++++ mjpegtools-1.9.0rc3/lavtools/Makefile.am 2008-04-09 00:52:21.000000000 +0200
+@@ -59,9 +59,9 @@
+ liblavplay_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBDV_CFLAGS) $(X_CFLAGS)
+ liblavplay_la_LDFLAGS = $(LAV_ALL_LIB_OPTS)
+ liblavplay_la_LIBADD = liblavfile.la $(SDL_LIBS) liblavjpeg.la
+-if HAVE_V4L
+- liblavplay_la_LIBADD += ${X_LIBS} -lX11
+-endif
++#if !X_DISPLAY_MISSING
++# liblavplay_la_LIBADD += ${X_LIBS} -lX11
++#endif
+ liblavplay_la_DEPENDENCIES = liblavfile.la liblavjpeg.la
+
+ # *********************************************************************
--- /dev/null
+mjpegtools-remove-sdl-dependency.patch -p1
+mjpegtools-fix-include.patch
+mjpegtools-v4l-doesn-mean-x11.patch
--- /dev/null
+DESCRIPTION = "Mjpeg tools is a suite of programs which support video capture, editting, playback, and compression to MPEG of MJPEG video."
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>
+LICENSE = "GPL"
+SECTION = "optional"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/mjpeg/mjpegtools-${PV}.tar.gz \
+ file://mjpegtools-fix-include.patch;patch=1;pnum=1 \
+ file://mjpegtools-remove-sdl-dependency.patch;patch=1;pnum=1 \
+ file://mjpegtools-v4l-doesnt-mean-x11.patch;patch=1;pnum=1"
+
+inherit autotools
+
+EXTRA_OECONF = "--without-x"
--- /dev/null
+diff -Naur mrouted-3.9-beta3.orig/Makefile mrouted-3.9-beta3.neu/Makefile
+--- mrouted-3.9-beta3.orig/Makefile 1998-03-01 04:09:11.000000000 +0100
++++ mrouted-3.9-beta3.neu/Makefile 2005-04-09 12:49:39.000000000 +0200
+@@ -24,22 +24,22 @@
+ #
+ # Uncomment the following three lines if you want to use RSRR (Routing
+ # Support for Resource Reservations), currently used by RSVP.
+-#RSRRDEF= -DRSRR
+-#RSRRC= rsrr.c
+-#RSRRO= rsrr.o
++RSRRDEF= -DRSRR
++RSRRC= rsrr.c
++RSRRO= rsrr.o
+ #
+ LDFLAGS=
+-CFLAGS= -O ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} ## SunOS, OSF1, FreeBSD, IRIX
++#CFLAGS= -O ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} ## SunOS, OSF1, FreeBSD, IRIX
+ #CFLAGS= -O ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} -DSYSV -DSUNOS5 ## Solaris 2.x
+ #LIB2=-lsocket -lnsl ## Solaris 2.x
+-#CFLAGS= -O ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} -D__BSD_SOURCE -DRAW_INPUT_IS_RAW -DRAW_OUTPUT_IS_RAW -DIOCTL_OK_ON_RAW_SOCKET ## Linux
++CFLAGS= -O ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} -D__BSD_SOURCE -DRAW_INPUT_IS_RAW -DRAW_OUTPUT_IS_RAW -DIOCTL_OK_ON_RAW_SOCKET ## Linux
+ LIBS= ${SNMPLIBDIR} ${SNMPLIBS} ${LIB2}
+ LINTFLAGS= ${MCAST_INCLUDE}
+ IGMP_SRCS= igmp.c inet.c kern.c
+ IGMP_OBJS= igmp.o inet.o kern.o
+-ROUTER_SRCS= config.c cfparse.y main.c route.c vif.c prune.c callout.c \
++ROUTER_SRCS= config.c y.y main.c route.c vif.c prune.c callout.c \
+ icmp.c ipip.c ${SNMPC} ${RSRRC}
+-ROUTER_OBJS= config.o cfparse.o main.o route.o vif.o prune.o callout.o \
++ROUTER_OBJS= config.o y.o main.o route.o vif.o prune.o callout.o \
+ icmp.o ipip.o ${SNMPO} ${RSRRO}
+ MAPPER_SRCS= mapper.c
+ MAPPER_OBJS= mapper.o
+@@ -58,6 +58,8 @@
+
+ all: mrouted map-mbone mrinfo ${MSTAT}
+
++install:
++
+ mrouted: ${IGMP_OBJS} ${ROUTER_OBJS} vers.o ${CMULIBS}
+ rm -f $@
+ ${CC} ${LDFLAGS} -o $@ ${CFLAGS} ${IGMP_OBJS} ${ROUTER_OBJS} vers.o ${LIBS}
+@@ -79,7 +81,7 @@
+ ${CC} ${LDFLAGS} -o $@ ${CFLAGS} ${MSTAT_OBJS} -Lsnmplib -lsnmp
+
+ clean: FRC ${SNMPCLEAN}
+- rm -f ${OBJS} core mrouted map-mbone mrinfo mstat tags TAGS
++ rm -f ${OBJS} vers.o core mrouted map-mbone mrinfo mstat tags TAGS
+
+ snmpclean: FRC
+ -(cd snmpd; make clean)
+diff -Naur mrouted-3.9-beta3.orig/defs.h mrouted-3.9-beta3.neu/defs.h
+--- mrouted-3.9-beta3.orig/defs.h 1998-03-01 03:51:42.000000000 +0100
++++ mrouted-3.9-beta3.neu/defs.h 2005-04-09 11:52:46.000000000 +0200
+@@ -45,7 +45,7 @@
+ #undef rtentry
+ #endif
+ #endif
+-#include <netinet/ip_mroute.h>
++#include "netinet/ip_mroute.h"
+ #ifdef RSRR
+ #include <sys/un.h>
+ #endif /* RSRR */
+@@ -180,7 +180,7 @@
+ #if !(defined(BSD) && (BSD >= 199103))
+ extern int errno;
+ extern int sys_nerr;
+-extern char * sys_errlist[];
++/*extern char * sys_errlist[];*/
+ #endif
+
+ #ifdef OLD_KERNEL
+diff -Naur mrouted-3.9-beta3.orig/main.c mrouted-3.9-beta3.neu/main.c
+--- mrouted-3.9-beta3.orig/main.c 1998-03-01 02:49:00.000000000 +0100
++++ mrouted-3.9-beta3.neu/main.c 2005-04-09 11:52:46.000000000 +0200
+@@ -32,6 +32,8 @@
+ #include "snmp.h"
+ #endif
+
++#include <time.h>
++
+ #ifndef lint
+ static char rcsid[] = "@(#) $Id: \
+ main.c,v 3.8.4.29 1998/03/01 01:49:00 fenner Exp $";
+diff -Naur mrouted-3.9-beta3.orig/mrouted.conf mrouted-3.9-beta3.neu/mrouted.conf
+--- mrouted-3.9-beta3.orig/mrouted.conf 1995-11-29 23:40:47.000000000 +0100
++++ mrouted-3.9-beta3.neu/mrouted.conf 2005-04-09 11:52:46.000000000 +0200
+@@ -30,7 +30,7 @@
+ #
+ #
+ # Template tunnel for mcast_install
+-tunnel 128.4.0.77 128.4.0.8 metric 1 threshold 64 rate_limit 500 # <-- REPLACE
++#tunnel 128.4.0.77 128.4.0.8 metric 1 threshold 64 rate_limit 500 # <-- REPLACE
+ # boundary LOCAL
+ #
+ # You might want to specify a boundary on your tunnel to the outside world,
+diff -Naur mrouted-3.9-beta3.orig/netinet/ip_mroute.h mrouted-3.9-beta3.neu/netinet/ip_mroute.h
+--- mrouted-3.9-beta3.orig/netinet/ip_mroute.h 1970-01-01 01:00:00.000000000 +0100
++++ mrouted-3.9-beta3.neu/netinet/ip_mroute.h 2005-04-09 13:09:11.905210112 +0200
+@@ -0,0 +1,12 @@
++#ifndef __NETINET_IP_MROUTE_H
++#define __NETINET_IP_MROUTE_H
++
++#define _LINUX_IN_H
++
++#ifndef __u32
++#define __u32 unsigned long
++#endif
++
++#include <linux/mroute.h>
++
++#endif
+diff -Naur mrouted-3.9-beta3.orig/pathnames.h mrouted-3.9-beta3.neu/pathnames.h
+--- mrouted-3.9-beta3.orig/pathnames.h 1995-11-29 23:36:57.000000000 +0100
++++ mrouted-3.9-beta3.neu/pathnames.h 2005-04-09 11:52:46.000000000 +0200
+@@ -12,14 +12,14 @@
+
+ #define _PATH_MROUTED_CONF "/etc/mrouted.conf"
+
+-#if (defined(BSD) && (BSD >= 199103))
++/*#if (defined(BSD) && (BSD >= 199103))*/
+ #define _PATH_MROUTED_PID "/var/run/mrouted.pid"
+ #define _PATH_MROUTED_GENID "/var/run/mrouted.genid"
+ #define _PATH_MROUTED_DUMP "/var/tmp/mrouted.dump"
+ #define _PATH_MROUTED_CACHE "/var/tmp/mrouted.cache"
+-#else
++/*#else
+ #define _PATH_MROUTED_PID "/etc/mrouted.pid"
+ #define _PATH_MROUTED_GENID "/etc/mrouted.genid"
+ #define _PATH_MROUTED_DUMP "/usr/tmp/mrouted.dump"
+ #define _PATH_MROUTED_CACHE "/usr/tmp/mrouted.cache"
+-#endif
++#endif*/
+diff -Naur mrouted-3.9-beta3.orig/vers.c mrouted-3.9-beta3.neu/vers.c
+--- mrouted-3.9-beta3.orig/vers.c 1970-01-01 01:00:00.000000000 +0100
++++ mrouted-3.9-beta3.neu/vers.c 2005-04-09 11:52:46.000000000 +0200
+@@ -0,0 +1 @@
++char todaysversion[]="3.9-beta3";
--- /dev/null
+DESCRIPTION = "Mrouted daemon"
+PV = "3.9-beta3"
+PR = "r0"
+PN = "mrouted"
+PACKAGES = "mrouted"
+SRC_URI = "ftp://archive.debian.org/debian-archive/pool/non-free/m/mrouted/mrouted_${PV}.orig.tar.gz \
+ file://mrouted-3.9.diff;patch=1"
+
+S = "${WORKDIR}/mrouted-${PV}.orig"
+
+inherit autotools pkgconfig
+
+bindir = "/usr/bin"
+sbindir = "/usr/sbin"
+
+do_compile_prepend() {
+ if ! test -f ${S}/y.y; then \
+ mv ${S}/cfparse.y y.y; \
+ fi;
+}
+
+do_install_append() {
+ install -d ${D}/usr/bin
+ for i in mrinfo map-mbone mrouted; do \
+ install ${S}/$i ${D}/usr/bin; \
+ done;
+}
--- /dev/null
+DESCRIPTION = "neon is an HTTP and WebDAV client library, with a C interface."
+SECTION = "libs"
+LICENSE = "LGPL"
+DEPENDS = "zlib libxml2 expat time gnutls"
+PR = "r0"
+
+SRC_URI = "http://www.webdav.org/${PN}/${P}.tar.gz"
+
+inherit autotools binconfig lib_package pkgconfig
+
+EXTRA_OECONF = "--with-ssl=gnutls --with-libxml2 --with-expat --enable-shared"
+
+do_stage () {
+ autotools_stage_all
+}
--- /dev/null
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Ethernet
+auto eth0
+iface eth0 inet dhcp
+
--- /dev/null
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Ethernet
+auto eth0
+iface eth0 inet dhcp
+
--- /dev/null
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Ethernet
+auto eth0
+iface eth0 inet dhcp
+
--- /dev/null
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Ethernet
+auto eth0
+iface eth0 inet dhcp
+
--- /dev/null
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Ethernet
+auto eth0
+iface eth0 inet dhcp
+
--- /dev/null
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Ethernet
+auto eth0
+iface eth0 inet dhcp
+
fi
}
+wpa_supplicantcheck () {
+ if [ -e /var/run/wpa_supplicant ]; then
+ echo -n "disabling wpa_supplicant "
+ start-stop-daemon -K -x /usr/sbin/wpa_supplicant
+ # HACK: wpa_supplicant sometimes doesn't quit properly on SIGTERM.
+ if [ -e /var/run/wpa_supplicant ]; then
+ echo -n "wpa_supplicant still running, force kill now.. "
+ killall -9 /usr/sbin/wpa_supplicant
+ rm -rf /var/run/wpa_supplicant
+ echo "done."
+ fi
+ echo "done."
+ fi
+}
+
doopt () {
optname=$1
default=$2
doopt ip_forward no
echo -n "Configuring network interfaces... "
+ wpa_supplicantcheck
ifup -a
echo "done."
;;
else
echo -n "Deconfiguring network interfaces... "
ifdown -a
+ wpa_supplicantcheck
echo "done."
fi
;;
force-reload|restart)
echo -n "Reconfiguring network interfaces... "
ifdown -a
+ wpa_supplicantcheck
ifup -a
echo "done."
;;
--- /dev/null
+--- bla/inetd/servtab.c 2000-07-22 22:20:50.000000000 +0200
++++ bla/inetd/servtab.c 2006-03-01 15:26:46.000000000 +0100
+@@ -771,7 +771,7 @@
+ return;
+ }
+
+-#define SWAP(type, a, b) {type c=(type)a; (type)a=(type)b; (type)b=(type)c;}
++#define SWAP(type, a, b) {type c=(type)a; a=(type)b; b=(type)c;}
+
+ /*
+ * sep->se_wait may be holding the pid of a daemon
--- /dev/null
+# /etc/inetd.conf: see inetd(8) for further informations.
+#
+# Internet server configuration database
+#
+# If you want to disable an entry so it isn't touched during
+# package updates just comment it out with a single '#' character.
+#
+# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
+#
+#:INTERNAL: Internal services
+#echo stream tcp nowait root internal
+#echo dgram udp wait root internal
+#chargen stream tcp nowait root internal
+#chargen dgram udp wait root internal
+#discard stream tcp nowait root internal
+#discard dgram udp wait root internal
+#daytime stream tcp nowait root internal
+#daytime dgram udp wait root internal
+#time stream tcp nowait root internal
+#time dgram udp wait root internal
+ftp stream tcp nowait root /usr/sbin/vsftpd vsftpd
+telnet stream tcp nowait root /usr/sbin/telnetd telnetd
+31335 stream tcp nowait root /usr/sbin/streamsec streamsec
+31337 stream tcp nowait root /usr/sbin/streamts streamts -ps
+31338 stream tcp nowait root /usr/sbin/streampes streampes
+31339 stream tcp nowait root /usr/sbin/streamts streamts -ts
+31340 stream tcp nowait root /usr/sbin/udpstreampes udpstreampes
+31341 stream udp nowait root /usr/sbin/udpstreampes udpstreampes
+31342 stream tcp nowait root /usr/sbin/streamts streamts -tsfile
+31343 stream tcp nowait root /usr/sbin/streampes streames
+8001 stream tcp nowait root /usr/bin/streamproxy streamproxy
SRC_URI = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/netkit-base-${PV}.tar.gz \
file://configure.patch;patch=1 \
file://mconfig.patch;patch=1 \
+ file://gcc4_buildfix.patch;patch=1;pnum=1 \
file://init \
file://inetd.conf"
install -m 0755 ${WORKDIR}/08setupdns ${D}${sysconfdir}/ppp/ip-up.d/
install -m 0755 ${WORKDIR}/92removedns ${D}${sysconfdir}/ppp/ip-down.d/
rm -rf ${D}/${mandir}/man8/man8
+ if [ ${DISTRO} = "opendreambox" ]; then
+ for i in pap-secrets options; do
+ rm ${D}/etc/ppp/$i
+ done
+ fi
}
CONFFILES_${PN} = "${sysconfdir}/ppp/pap-secrets ${sysconfdir}/ppp/chap-secrets ${sysconfdir}/ppp/options"
+CONFFILES_${PN}_opendreambox = "${sysconfdir}/ppp/chap-secrets"
PACKAGES += "ppp-oa ppp-oe ppp-radius ppp-winbind ppp-minconn ppp-password ppp-tools"
FILES_${PN} = "/etc /usr/bin /usr/sbin/chat /usr/sbin/pppd"
FILES_${PN}_nylon = "/etc /usr/bin /usr/sbin/chat /usr/sbin/pppd /usr/sbin/tdbread"
DESCRIPTION_python-xml="Python basic XML support."
PR_python-xml="ml0"
RDEPENDS_python-xml="python-core python-re"
-FILES_python-xml="${libdir}/python2.5/lib-dynload/pyexpat.so ${libdir}/python2.5/xml ${libdir}/python2.5/xmllib.* "
+FILES_python-xml="${libdir}/python2.5/lib-dynload/pyexpat.so ${libdir}/python2.5/xml ${libdir}/python2.5/xmllib.* ${libdir}/python2.5/lib-dynload/_elementtree.so "
DESCRIPTION_python-mime="Python MIME Handling APIs"
PR_python-mime="ml0"
===================================================================
--- Python-2.5.2.orig/configure.in
+++ Python-2.5.2/configure.in
-@@ -3410,45 +3410,6 @@ esac
+@@ -3410,45 +3410,8 @@ esac
- AC_DEFINE(PY_FORMAT_SIZE_T, "z", [Define to printf format modifier for Py_ssize_t])],
- AC_MSG_RESULT(no))
-
++AC_DEFINE(PY_FORMAT_SIZE_T, "z", [Defune to print format modifier for Py_ssize_t])
++
AC_CHECK_TYPE(socklen_t,,
AC_DEFINE(socklen_t,int,
Define to `int' if <sys/socket.h> does not define.),[
--- /dev/null
+--- configure.in.org 2008-05-01 12:40:58.000000000 +0200
++++ configure.in 2008-05-01 12:39:39.000000000 +0200
+@@ -998,7 +999,7 @@
+ # so we need to run a program to see whether it really made the
+ # function available.
+ AC_MSG_CHECKING(whether $CC accepts -pthread)
+-AC_CACHE_VAL(ac_cv_thread,
++AC_CACHE_VAL(ac_cv_pthread,
+ [ac_save_cc="$CC"
+ CC="$CC -pthread"
+ AC_TRY_RUN([
+@@ -1023,11 +1024,11 @@
+
+ # If we have set a CC compiler flag for thread support then
+ # check if it works for CXX, too.
+-ac_cv_cxx_thread=no
+ if test ! -z "$CXX"
+ then
+ AC_MSG_CHECKING(whether $CXX also accepts flags for thread support)
+-ac_save_cxx="$CXX"
++AC_CACHE_VAL(ac_cv_cxx_thread,
++[ac_save_cxx="$CXX"
+
+ if test "$ac_cv_kpthread" = "yes"
+ then
+@@ -1056,9 +1057,11 @@
+ fi
+ rm -fr conftest*
+ fi
++CXX="$ac_save_cxx"])
+ AC_MSG_RESULT($ac_cv_cxx_thread)
++else
++ ac_cv_cxx_thread=no
+ fi
+-CXX="$ac_save_cxx"
+
+ dnl # check for ANSI or K&R ("traditional") preprocessor
+ dnl AC_MSG_CHECKING(for C preprocessor type)
--- /dev/null
+diff -Naur Python-2.5.1-org/configure Python-2.5.1/configure
+--- Python-2.5.1-org/configure 2007-03-12 11:50:51.000000000 +0100
++++ Python-2.5.1/configure 2007-07-14 01:30:20.000000000 +0200
+@@ -10569,7 +10569,7 @@
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ if test "$cross_compiling" = yes; then
+- ac_cv_sizeof_off_t=4
++ ac_cv_sizeof_off_t=8
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+diff -Naur Python-2.5.1-org/configure.in Python-2.5.1/configure.in
+--- Python-2.5.1-org/configure.in 2007-03-12 11:50:51.000000000 +0100
++++ Python-2.5.1/configure.in 2007-07-14 01:29:32.000000000 +0200
+@@ -1223,7 +1223,7 @@
+ }],
+ ac_cv_sizeof_off_t=`cat conftestval`,
+ ac_cv_sizeof_off_t=0,
+-ac_cv_sizeof_off_t=4)
++ac_cv_sizeof_off_t=8)
+ ])
+ AC_MSG_RESULT($ac_cv_sizeof_off_t)
+ AC_DEFINE_UNQUOTED(SIZEOF_OFF_T, $ac_cv_sizeof_off_t,
--- /dev/null
+--- configure.in 2008-02-13 20:17:17.000000000 +0100
++++ configure.in 2008-10-21 22:45:31.000000000 +0200
+@@ -3369,27 +3369,9 @@
+ AC_MSG_RESULT(no)
+ )
+
+-AC_MSG_CHECKING(for /dev/ptmx)
++AC_CHECK_FILE(/dev/ptmx, AC_DEFINE(HAVE_DEV_PTMX, 1, [Define if we have /dev/ptmx.]))
+
+-if test -r /dev/ptmx
+-then
+- AC_MSG_RESULT(yes)
+- AC_DEFINE(HAVE_DEV_PTMX, 1,
+- [Define if we have /dev/ptmx.])
+-else
+- AC_MSG_RESULT(no)
+-fi
+-
+-AC_MSG_CHECKING(for /dev/ptc)
+-
+-if test -r /dev/ptc
+-then
+- AC_MSG_RESULT(yes)
+- AC_DEFINE(HAVE_DEV_PTC, 1,
+- [Define if we have /dev/ptc.])
+-else
+- AC_MSG_RESULT(no)
+-fi
++AC_CHECK_FILE(/dev/ptc, AC_DEFINE(HAVE_DEV_PTC, 1, [Define if we have /dev/ptc.]))
+
+ case $MACHDEP in
+ darwin)
--- /dev/null
+--- configure.in.org 2008-05-01 12:40:58.000000000 +0200
++++ configure.in 2008-05-01 12:39:39.000000000 +0200
+@@ -796,13 +796,14 @@
+ # pointer types. GCC may generate bad code as a result of that,
+ # so use -fno-strict-aliasing if supported.
+ AC_MSG_CHECKING(whether $CC accepts -fno-strict-aliasing)
+- ac_save_cc="$CC"
++ AC_CACHE_VAL(ac_cv_no_strict_aliasing_ok,
++ [ac_save_cc="$CC"
+ CC="$CC -fno-strict-aliasing"
+ AC_TRY_RUN([int main() { return 0; }],
+ ac_cv_no_strict_aliasing_ok=yes,
+ ac_cv_no_strict_aliasing_ok=no,
+ ac_cv_no_strict_aliasing_ok=no)
+- CC="$ac_save_cc"
++ CC="$ac_save_cc"])
+ AC_MSG_RESULT($ac_cv_no_strict_aliasing_ok)
+ if test $ac_cv_no_strict_aliasing_ok = yes
+ then
--- /dev/null
+DESCRIPTION = "Google Data API"
+AUTHOR = "Jeffrey Scudder"
+HOMEPAGE = "http://code.google.com/p/gdata-python-client/"
+SECTION = "network"
+PRIORITY = "optional"
+LICENSE = "Apache 2.0"
+PROVIDES = "python-gdata"
+DEPENDS = "python-native"
+
+inherit package_ipk
+
+inherit distutils
+
+PR = "r0"
+
+SRC_URI = "http://gdata-python-client.googlecode.com/files/gdata.py-${PV}.tar.gz;md5sum=8addbac38dabdc7e00701d7b60685d4d"
+
+S = "${WORKDIR}/gdata.py-${PV}"
+
+PACKAGES = "python-gdata"
+
+do_stage() {
+ distutils_stage_all
+}
LICENSE = "PSF"
SECTION = "devel/python"
PRIORITY = "optional"
-DEPENDS = "python-native db gdbm openssl readline sqlite3 tcl tk zlib"
+DEPENDS = "python-native db gdbm openssl readline sqlite3 zlib"
DEPENDS_sharprom = "python-native db readline zlib gdbm openssl"
# bump this on every change in contrib/python/generate-manifest-2.5.py
PR = "ml14"
\
file://sitecustomize.py \
"
+
+SRC_URI_append_opendreambox = " \
+ file://some_configure_fixes.patch;patch=1;pnum=0 \
+ file://strict_aliasing_site.patch;patch=0;pnum=0 \
+ file://fix_pthread_site.patch;patch=0;pnum=0 \
+ file://forced_largefile_support.patch;patch=1;pnum=1"
+
S = "${WORKDIR}/Python-${PV}"
inherit autotools
PR = "r6"
-SRC_URI = "file://config-lfs.patch;patch=1 \
+SRC_URI += "file://config-lfs.patch;patch=1 \
file://init-essential \
file://quota.patch;patch=1;pnum=0 \
file://smb-essential.conf \
--- /dev/null
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:2:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+S:5:respawn:/sbin/getty tts/0 115200
--- /dev/null
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:2:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+S:5:respawn:/sbin/getty tts/0 115200
--- /dev/null
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:2:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+S:5:respawn:/sbin/getty tts/0 115200
--- /dev/null
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:3:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+S:5:respawn:/sbin/getty tts/0 115200
--- /dev/null
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:3:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+S:5:respawn:/sbin/getty tts/0 115200
--- /dev/null
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:3:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+S:5:respawn:/sbin/getty ttyS0 115200
+
--- /dev/null
+#!/bin/sh
+#
+# rcS Call all S??* scripts in /etc/rcS.d in
+# numerical/alphabetical order.
+#
+# Version: @(#)/etc/init.d/rcS 2.76 19-Apr-1999 miquels@cistron.nl
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+runlevel=S
+prevlevel=N
+umask 022
+export PATH runlevel prevlevel
+
+# Make sure proc is mounted
+#
+[ -d "/proc/1" ] || mount /proc
+
+#
+# See if system needs to be setup. This is ONLY meant to
+# be used for the initial setup after a fresh installation!
+#
+if [ -x /sbin/unconfigured.sh ]
+then
+ /sbin/unconfigured.sh
+fi
+
+#
+# Source defaults.
+#
+. /etc/default/rcS
+
+#
+# Trap CTRL-C &c only in this shell so we can interrupt subprocesses.
+#
+trap ":" INT QUIT TSTP
+
+#
+# Do we have /proc/progress and set VERBOSE to "no" ?
+# If so, calculate the number of scripts and the incremental step
+#
+
+# HACK: progress needs LCD to create /proc device entry
+modprobe lcd
+
+if [ "$VERBOSE" = no ]; then
+ if [ -e /proc/progress ]; then
+ set `ls -1 /etc/rc$runlevel.d/S* | wc`
+ numscripts=$1
+ # bootup, the first script, increments until 25.
+ # the userspace then picks up at 50
+ PROGRESS_incstep=`expr 25 / $1`
+ PROGRESS_value=25
+ PROGRESS=yes
+ export PROGRESS_value PROGRESS_incstep
+ fi
+fi
+export VERBOSE PROGRESS
+
+#
+# Call all parts in order.
+#
+for i in /etc/rcS.d/S??*
+do
+ # Ignore dangling symlinks for now.
+ [ ! -f "$i" ] && continue
+
+ # Handle verbosity
+ [ "$VERBOSE" = very ] && echo "INIT: Running $i..."
+ if [ "$PROGRESS" = yes ]; then
+ export PROGRESS_value=`expr $PROGRESS_value + $PROGRESS_incstep`
+ echo "$PROGRESS_value Starting $i..." >/proc/progress
+ fi
+
+ case "$i" in
+ *.sh)
+ # Source shell script for speed.
+ (
+ trap - INT QUIT TSTP
+ set start
+ . $i
+ )
+ ;;
+ *)
+ # No sh extension, so fork subprocess.
+ $i start
+ ;;
+ esac
+
+ #
+ # Report status based on result code
+ #
+ result=$?
+ if [ "$PROGRESS" = yes ]; then
+ if [ "$result" = 0 ]; then
+ echo "=s" >/proc/progress
+ else
+ echo "=f" >/proc/progress
+ fi
+ fi
+done
+
+#
+# For compatibility, run the files in /etc/rc.boot too.
+#
+[ -d /etc/rc.boot ] && run-parts /etc/rc.boot
+
+#
+# Finish setup if needed. The comment above about
+# /sbin/unconfigured.sh applies here as well!
+#
+if [ -x /sbin/setup.sh ]
+then
+ /sbin/setup.sh
+fi
+
ALTERNATIVE_PRIORITY = "50"
PACKAGES =+ "sysvinit-pidof sysvinit-sulogin"
-FILES_${PN} += "${base_sbindir}/* ${base_bindir}/*"
+FILES_${PN} += "${base_sbindir} ${base_bindir}"
FILES_sysvinit-pidof = "${base_bindir}/pidof.sysvinit"
FILES_sysvinit-sulogin = "${base_sbindir}/sulogin"
mv ${D}${bindir}/wall ${D}${bindir}/wall.${PN}
}
+do_install_append_opendreambox () {
+ cat <<EOF >>${D}/etc/inittab
+# enigma
+gui:2:respawn:/usr/bin/enigma.sh
+# enigma2
+e2:3:respawn:/usr/bin/enigma2.sh
+EOF
+}
+
pkg_postinst_${PN} () {
#!/bin/sh
update-alternatives --install ${base_sbindir}/halt halt halt.${PN} 200
DISTRO_LOGIN_MANAGER ?= "tinylogin"
#
+# allow a distro-specific set of initscripts, if required
+#
+DISTRO_INITSCRIPTS ?= "initscripts"
+
+#
# those ones can be set in machine config to supply packages needed to get machine booting
#
MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= ""
base-files \
base-passwd \
busybox \
- initscripts \
+ ${DISTRO_INITSCRIPTS} \
${@base_contains("MACHINE_FEATURES", "keyboard", "keymaps", "", d)} \
modutils-initscripts \
netbase \
--- /dev/null
+DESCRIPTION = "Timezone data, alternative"
+SECTION = "base"
+PRIORITY = "optional"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+LICENSE = "GPL"
+
+SRC_URI = "http://sources.dreamboxupdate.com/zoneinfo.tar.bz2"
+S = "${WORKDIR}/zoneinfo"
+
+FILES_${PN} = "usr/share/zoneinfo/[A-Z]*"
+
+do_install() {
+ install -d ${D}/usr/share/zoneinfo/
+
+ for file in ${S}/*
+ do
+ [ -f $file ] && install -m 644 "$file" ${D}/usr/share/zoneinfo/
+ done;
+ true;
+}
--- /dev/null
+DEPENDS = "dreambox-dvbincludes"
+DESCRIPTION = "DVBsnoop by rasc@users.sourceforge.net"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/dvb/dvbsnoop;method=ext \
+ file://acinclude.m4"
+
+SRCDATE = "20060405"
+PR = "r0"
+PV = "0.0+cvs${SRCDATE}"
+S = "${WORKDIR}/dvbsnoop"
+
+inherit autotools pkgconfig
+
+bindir = "/usr/bin"
+sbindir = "/usr/sbin"
+
+EXTRA_OECONF = "--with-target=cdk"
--- /dev/null
+AC_DEFUN(TUXBOX_APPS,[
+AM_CONFIG_HEADER(config.h)
+AM_MAINTAINER_MODE
+
+INSTALL="$INSTALL -p"
+
+AC_GNU_SOURCE
+AC_SYS_LARGEFILE
+
+AC_ARG_WITH(target,
+ [ --with-target=TARGET target for compilation [[native,cdk]]],
+ [TARGET="$withval"],[TARGET="native"])
+
+AC_ARG_WITH(targetprefix,
+ [ --with-targetprefix=PATH prefix relative to target root (only applicable in cdk mode)],
+ [targetprefix="$withval"],[targetprefix="NONE"])
+
+AC_ARG_WITH(debug,
+ [ --without-debug disable debugging code],
+ [DEBUG="$withval"],[DEBUG="yes"])
+
+if test "$DEBUG" = "yes"; then
+ DEBUG_CFLAGS="-g3 -ggdb"
+ AC_DEFINE(DEBUG,1,[Enable debug messages])
+fi
+
+AC_MSG_CHECKING(target)
+
+if test "$TARGET" = "native"; then
+ AC_MSG_RESULT(native)
+
+ if test "$CFLAGS" = "" -a "$CXXFLAGS" = ""; then
+ CFLAGS="-Wall -O2 -pipe $DEBUG_CFLAGS"
+ CXXFLAGS="-Wall -O2 -pipe $DEBUG_CFLAGS"
+ fi
+ if test "$prefix" = "NONE"; then
+ prefix=/usr/local
+ fi
+ targetprefix=$prefix
+elif test "$TARGET" = "cdk"; then
+ AC_MSG_RESULT(cdk)
+
+ if test "$CC" = "" -a "$CXX" = ""; then
+ CC=powerpc-tuxbox-linux-gnu-gcc CXX=powerpc-tuxbox-linux-gnu-g++
+ fi
+ if test "$CFLAGS" = "" -a "$CXXFLAGS" = ""; then
+ CFLAGS="-Wall -Os -mcpu=823 -pipe $DEBUG_CFLAGS"
+ CXXFLAGS="-Wall -Os -mcpu=823 -pipe $DEBUG_CFLAGS"
+ fi
+ if test "$prefix" = "NONE"; then
+ AC_MSG_ERROR(invalid prefix, you need to specify one in cdk mode)
+ fi
+ if test "$targetprefix" = "NONE"; then
+ targetprefix=""
+ fi
+ if test "$host_alias" = ""; then
+ cross_compiling=yes
+ host_alias=powerpc-tuxbox-linux-gnu
+ fi
+else
+ AC_MSG_RESULT(none)
+ AC_MSG_ERROR([invalid target $TARGET, choose on from native,cdk]);
+fi
+
+AC_CANONICAL_BUILD
+AC_CANONICAL_HOST
+
+check_path () {
+ return $(perl -e "if(\"$1\"=~m#^/usr/(local/)?bin#){print \"0\"}else{print \"1\";}")
+}
+
+])
+
+AC_DEFUN(TUXBOX_APPS_DIRECTORY_ONE,[
+AC_ARG_WITH($1,[ $6$7 [[PREFIX$4$5]]],[
+ _$2=$withval
+ if test "$TARGET" = "cdk"; then
+ $2=`eval echo "${targetprefix}$withval"`
+ else
+ $2=$withval
+ fi
+],[
+ $2="\${$3}$5"
+ if test "$TARGET" = "cdk"; then
+ _$2=`eval echo "${target$3}$5"`
+ else
+ _$2=`eval echo "${$3}$5"`
+ fi
+])
+
+dnl automake <= 1.6 don't support this
+dnl AC_SUBST($2)
+AC_DEFINE_UNQUOTED($2,"$_$2",$7)
+])
+
+AC_DEFUN(TUXBOX_APPS_DIRECTORY,[
+AC_REQUIRE([TUXBOX_APPS])
+
+if test "$TARGET" = "cdk"; then
+ datadir="\${prefix}/share"
+ sysconfdir="\${prefix}/etc"
+ localstatedir="\${prefix}/var"
+ libdir="\${prefix}/lib"
+ targetdatadir="\${targetprefix}/share"
+ targetsysconfdir="\${targetprefix}/etc"
+ targetlocalstatedir="\${targetprefix}/var"
+ targetlibdir="\${targetprefix}/lib"
+fi
+
+TUXBOX_APPS_DIRECTORY_ONE(configdir,CONFIGDIR,sysconfdir,/etc,/tuxbox,
+ [--with-configdir=PATH ],[where to find the config files])
+
+TUXBOX_APPS_DIRECTORY_ONE(datadir,DATADIR,datadir,/share,/tuxbox,
+ [--with-datadir=PATH ],[where to find data])
+
+TUXBOX_APPS_DIRECTORY_ONE(fontdir,FONTDIR,datadir,/share,/fonts,
+ [--with-fontdir=PATH ],[where to find the fonts])
+
+TUXBOX_APPS_DIRECTORY_ONE(gamesdir,GAMESDIR,localstatedir,/etc,/tuxbox/games,
+ [--with-gamesdir=PATH ],[where games data is stored])
+
+TUXBOX_APPS_DIRECTORY_ONE(libdir,LIBDIR,libdir,/lib,/tuxbox,
+ [--with-libdir=PATH ],[where to find the internal libs])
+
+TUXBOX_APPS_DIRECTORY_ONE(plugindir,PLUGINDIR,libdir,/lib,/tuxbox/plugins,
+ [--with-plugindir=PATH ],[where to find the plugins])
+
+TUXBOX_APPS_DIRECTORY_ONE(ucodedir,UCODEDIR,localstatedir,/var,/tuxbox/ucodes,
+ [--with-ucodedir=PATH ],[where to find the ucodes])
+])
+
+dnl automake <= 1.6 needs this specifications
+AC_SUBST(CONFIGDIR)
+AC_SUBST(DATADIR)
+AC_SUBST(FONTDIR)
+AC_SUBST(GAMESDIR)
+AC_SUBST(LIBDIR)
+AC_SUBST(PLUGINDIR)
+AC_SUBST(UCODEDIR)
+dnl end workaround
+
+AC_DEFUN(TUXBOX_APPS_ENDIAN,[
+AC_CHECK_HEADERS(endian.h)
+AC_C_BIGENDIAN
+])
+
+AC_DEFUN(TUXBOX_APPS_DRIVER,[
+AC_ARG_WITH(driver,
+ [ --with-driver=PATH path for driver sources [[NONE]]],
+ [DRIVER="$withval"],[DRIVER=""])
+
+if test -d "$DRIVER/include"; then
+ AC_DEFINE(HAVE_DBOX2_DRIVER,1,[Define to 1 if you have the dbox2 driver sources])
+#else
+# AC_MSG_ERROR([can't find driver sources])
+fi
+
+AC_SUBST(DRIVER)
+
+CPPFLAGS="$CPPFLAGS -I$DRIVER/include"
+])
+
+AC_DEFUN([TUXBOX_APPS_DVB],[
+AC_ARG_WITH(dvbincludes,
+ [ --with-dvbincludes=PATH path for dvb includes [[NONE]]],
+ [DVBINCLUDES="$withval"],[DVBINCLUDES=""])
+
+if test "$DVBINCLUDES"; then
+ CPPFLAGS="$CPPFLAGS -I$DVBINCLUDES"
+fi
+
+AC_CHECK_HEADERS(ost/dmx.h,[
+ DVB_API_VERSION=1
+ AC_MSG_NOTICE([found dvb version 1])
+])
+
+if test -z "$DVB_API_VERSION"; then
+AC_CHECK_HEADERS(linux/dvb/version.h,[
+ AC_LANG_PREPROC_REQUIRE()
+ AC_REQUIRE([AC_PROG_EGREP])
+ AC_LANG_CONFTEST([AC_LANG_SOURCE([[
+#include <linux/dvb/version.h>
+version DVB_API_VERSION
+ ]])])
+ DVB_API_VERSION=`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | $EGREP "^version" | sed "s,version\ ,,"`
+ rm -f conftest*
+
+ AC_MSG_NOTICE([found dvb version $DVB_API_VERSION])
+])
+fi
+
+if test "$DVB_API_VERSION"; then
+ AC_DEFINE(HAVE_DVB,1,[Define to 1 if you have the dvb includes])
+ AC_DEFINE_UNQUOTED(HAVE_DVB_API_VERSION,$DVB_API_VERSION,[Define to the version of the dvb api])
+else
+ AC_MSG_ERROR([can't find dvb headers])
+fi
+])
+
+AC_DEFUN(_TUXBOX_APPS_LIB_CONFIG,[
+AC_PATH_PROG($1_CONFIG,$2,no)
+if test "$$1_CONFIG" != "no"; then
+ if test "$TARGET" = "cdk" && check_path "$$1_CONFIG"; then
+ AC_MSG_$3([could not find a suitable version of $2]);
+ else
+ $1_CFLAGS=$($$1_CONFIG --cflags)
+ $1_LIBS=$($$1_CONFIG --libs)
+ fi
+fi
+
+AC_SUBST($1_CFLAGS)
+AC_SUBST($1_LIBS)
+])
+
+AC_DEFUN(TUXBOX_APPS_LIB_CONFIG,[
+_TUXBOX_APPS_LIB_CONFIG($1,$2,ERROR)
+if test "$$1_CONFIG" = "no"; then
+ AC_MSG_ERROR([could not find $2]);
+fi
+])
+
+AC_DEFUN(TUXBOX_APPS_LIB_CONFIG_CHECK,[
+_TUXBOX_APPS_LIB_CONFIG($1,$2,WARN)
+])
+
+AC_DEFUN(TUXBOX_APPS_PKGCONFIG,[
+AC_PATH_PROG(PKG_CONFIG, pkg-config,no)
+if test "$PKG_CONFIG" = "no" ; then
+ AC_MSG_ERROR([could not find pkg-config]);
+fi
+])
+
+AC_DEFUN(_TUXBOX_APPS_LIB_PKGCONFIG,[
+AC_REQUIRE([TUXBOX_APPS_PKGCONFIG])
+PKG_CHECK_MODULES($1,$2)
+AC_SUBST($1_CFLAGS)
+AC_SUBST($1_LIBS)
+])
+
+AC_DEFUN(TUXBOX_APPS_LIB_PKGCONFIG,[
+_TUXBOX_APPS_LIB_PKGCONFIG($1,$2)
+if test -z "$$1_CFLAGS" ; then
+ AC_MSG_ERROR([could not find package $2]);
+fi
+])
+
+AC_DEFUN(TUXBOX_APPS_LIB_PKGCONFIG_CHECK,[
+_TUXBOX_APPS_LIB_PKGCONFIG($1,$2)
+])
+
+AC_DEFUN(_TUXBOX_APPS_LIB_SYMBOL,[
+AC_CHECK_LIB($2,$3,HAVE_$1="yes",HAVE_$1="no")
+if test "$HAVE_$1" = "yes"; then
+ $1_LIBS=-l$2
+fi
+
+AC_SUBST($1_LIBS)
+])
+
+AC_DEFUN(TUXBOX_APPS_LIB_SYMBOL,[
+_TUXBOX_APPS_LIB_SYMBOL($1,$2,$3,ERROR)
+if test "$HAVE_$1" = "no"; then
+ AC_MSG_ERROR([could not find $2]);
+fi
+])
+
+AC_DEFUN(TUXBOX_APPS_LIB_CONFIG_SYMBOL,[
+_TUXBOX_APPS_LIB_SYMBOL($1,$2,$3,WARN)
+])
+
+AC_DEFUN(TUXBOX_APPS_GETTEXT,[
+AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+ [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
+ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+ :)
+AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+ [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
+ (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+ :)
+
+AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,[$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1],:)
+
+AC_MSG_CHECKING([whether NLS is requested])
+AC_ARG_ENABLE(nls,
+ [ --disable-nls do not use Native Language Support],
+ USE_NLS=$enableval, USE_NLS=yes)
+AC_MSG_RESULT($USE_NLS)
+AC_SUBST(USE_NLS)
+
+if test "$USE_NLS" = "yes"; then
+ AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,[
+ AC_TRY_LINK([
+ #include <libintl.h>
+ #ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+ #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+ #endif
+ extern int _nl_msg_cat_cntr;
+ extern int *_nl_domain_bindings;
+ ],[
+ bindtextdomain ("", "");
+ return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings;
+ ], gt_cv_func_gnugettext_libc=yes, gt_cv_func_gnugettext_libc=no
+ )]
+ )
+
+ if test "$gt_cv_func_gnugettext_libc" = "yes"; then
+ AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.])
+ gt_use_preinstalled_gnugettext=yes
+ else
+ USE_NLS=no
+ fi
+fi
+
+if test -f "$srcdir/po/LINGUAS"; then
+ ALL_LINGUAS=$(sed -e "/^#/d" "$srcdir/po/LINGUAS")
+fi
+
+POFILES=
+GMOFILES=
+UPDATEPOFILES=
+DUMMYPOFILES=
+for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+done
+INST_LINGUAS=
+if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test -n "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+fi
+CATALOGS=
+if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ done
+fi
+AC_SUBST(POFILES)
+AC_SUBST(GMOFILES)
+AC_SUBST(UPDATEPOFILES)
+AC_SUBST(DUMMYPOFILES)
+AC_SUBST(CATALOGS)
+])
+
+dnl backward compatiblity
+AC_DEFUN([AC_GNU_SOURCE],
+[AH_VERBATIM([_GNU_SOURCE],
+[/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif])dnl
+AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
+AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
+AC_DEFINE([_GNU_SOURCE])
+])
+
+AC_DEFUN([AC_PROG_EGREP],
+[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
+ [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+ then ac_cv_prog_egrep='grep -E'
+ else ac_cv_prog_egrep='egrep'
+ fi])
+ EGREP=$ac_cv_prog_egrep
+ AC_SUBST([EGREP])
+])
+
--- /dev/null
+Index: libs/Makefile.am
+===================================================================
+--- libs.orig/Makefile.am 2008-09-25 17:48:46.000000000 +0200
++++ libs/Makefile.am 2008-09-25 17:48:53.000000000 +0200
+@@ -1,8 +1,5 @@
+ AUTOMAKE_OPTIONS = gnu
+
+ SUBDIRS = \
+- libavs \
+- liblcddisplay \
+- liblircdclient \
+ libtuxtxt
+
--- /dev/null
+diff -ru libs.org/libtuxtxt/libtuxtxt.c libs/libtuxtxt/libtuxtxt.c
+--- libs.org/libtuxtxt/libtuxtxt.c 2008-05-21 09:25:30.000000000 +0200
++++ libs/libtuxtxt/libtuxtxt.c 2008-05-22 09:42:18.000000000 +0200
+@@ -7,6 +7,12 @@
+ * Info entnommen aus videotext-0.6.19991029, *
+ * Copyright (c) 1994-96 Martin Buck <martin-2.buck@student.uni-ulm.de> *
+ * *
++ * ported 2006 to Dreambox 7025 / 32Bit framebuffer *
++ * by Seddi <seddi@i-have-a-dreambox.com> *
++ * *
++ * ported 32Bit framebuffer to Tuxtxt v1.99 (2008) *
++ * by the PLi team (Sat-Turner) *
++ * *
+ ******************************************************************************/
+
+ #ifdef DEBUG
+diff -ru libs.org/libtuxtxt/tuxtxt_common.h libs/libtuxtxt/tuxtxt_common.h
+--- libs.org/libtuxtxt/tuxtxt_common.h 2008-08-13 19:53:47.000000000 +0200
++++ libs/libtuxtxt/tuxtxt_common.h 2008-05-31 13:44:57.000000000 +0200
+@@ -152,6 +152,19 @@
+ aG3_70, aG3_71, aG3_72, aG3_73, aG3_74, aG3_75, aG3_76, aG3_77, aG3_78, aG3_79, aG3_7a, aG3_7b, aG3_7c, aG3_7d, aG3_7e
+ };
+
++/* 32bit colortable */
++unsigned char bgra[][4] = {
++"\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF",
++"\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF",
++"\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF",
++"\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF",
++"\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF",
++"\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF",
++"\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF",
++"\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xFF",
++"\0\0\0\xFF", "\0\0\0\xFF", "\0\0\0\xC0", "\0\0\0\x00",
++"\0\0\0\x33" };
++
+ tuxtxt_cache_struct tuxtxt_cache;
+ static pthread_mutex_t tuxtxt_cache_lock = PTHREAD_MUTEX_INITIALIZER;
+ int tuxtxt_get_zipsize(int p,int sp)
+@@ -2782,12 +2795,16 @@
+ void tuxtxt_FillRect(unsigned char *lfb, int xres, int x, int y, int w, int h, int color)
+ {
+ if (!lfb) return;
+- unsigned char *p = lfb + x + y * xres;
++ unsigned char *p = lfb + x*4 + y * xres;
++ int xtmp;
+
+ if (w > 0)
+ for ( ; h > 0 ; h--)
+ {
+- memset(p, color, w);
++ for (xtmp=0; xtmp<w; xtmp++)
++ {
++ memcpy(p+xtmp*4,bgra[color],4);
++ }
+ p += xres;
+ }
+ }
+@@ -2799,7 +2816,7 @@
+ unsigned char fgcolor, unsigned char bgcolor)
+ {
+ if (d == NULL) return;
+- int bit, x, y;
++ int bit, x, y, ltmp;
+ unsigned char *ay = ax + 13; /* array[0..10] of y-offsets for each pixel */
+
+ for (y = 0; y < 10; y++) /* 10*2 bytes a 6 pixels per char definition */
+@@ -2823,9 +2840,21 @@
+ for (i = 0; i < h; i++)
+ {
+ if (ax[x+1] > ax[x])
+- memset(d + ax[x], f1, ax[x+1] - ax[x]);
++ {
++// memset(d + ax[x], f1, ax[x+1] - ax[x]);
++ for (ltmp=0 ; ltmp < (ax[x+1]-ax[x]); ltmp++)
++ {
++ memcpy(d + ax[x]*4 +ltmp*4,bgra[f1],4);
++ }
++ }
+ if (ax[x+7] > ax[x+6])
+- memset(d + ax[x+6], f2, ax[x+7] - ax[x+6]); /* 2nd byte 6 pixels to the right */
++ {
++// memset(d + ax[x+6], f2, ax[x+7] - ax[x+6]); /* 2nd byte 6 pixels to the right */
++ for (ltmp=0 ; ltmp < (ax[x+7]-ax[x+6]); ltmp++)
++ {
++ memcpy(d + ax[x+6]*4 +ltmp*4,bgra[f2],4);
++ }
++ }
+ d += xres;
+ }
+ d -= h * xres;
+@@ -2838,20 +2867,26 @@
+ void tuxtxt_DrawVLine(unsigned char *lfb, int xres, int x, int y, int l, int color)
+ {
+ if (!lfb) return;
+- unsigned char *p = lfb + x + y * xres;
++ unsigned char *p = lfb + 4*x + y * xres;
+
+ for ( ; l > 0 ; l--)
+ {
+- *p = color;
++ memcpy(p,bgra[color],4);
+ p += xres;
+ }
+ }
+
+ void tuxtxt_DrawHLine(unsigned char* lfb,int xres,int x, int y, int l, int color)
+ {
++ int ltmp;
+ if (!lfb) return;
+ if (l > 0)
+- memset(lfb + x + y * xres, color, l);
++ {
++ for (ltmp=0; ltmp < l; ltmp++)
++ {
++ memcpy(lfb + x*4 + ltmp*4 + y * xres, bgra[color], 4);
++ }
++ }
+ }
+
+ void tuxtxt_FillRectMosaicSeparated(unsigned char *lfb, int xres,int x, int y, int w, int h, int fgcolor, int bgcolor, int set)
+@@ -2866,48 +2901,54 @@
+
+ void tuxtxt_FillTrapez(unsigned char *lfb, int xres,int x0, int y0, int l0, int xoffset1, int h, int l1, int color)
+ {
+- unsigned char *p = lfb + x0 + y0 * xres;
++ unsigned char *p = lfb + x0*4 + y0 * xres;
+ int xoffset, l;
+ int yoffset;
++ int ltmp;
+
+ for (yoffset = 0; yoffset < h; yoffset++)
+ {
+ l = l0 + ((l1-l0) * yoffset + h/2) / h;
+ xoffset = (xoffset1 * yoffset + h/2) / h;
+ if (l > 0)
+- memset(p + xoffset, color, l);
++ {
++ for (ltmp=0; ltmp < l; ltmp++)
++ {
++ memcpy(p + xoffset*4 +ltmp*4, bgra[color], 4);
++ }
++ }
+ p += xres;
+ }
+ }
+ void tuxtxt_FlipHorz(unsigned char *lfb, int xres,int x, int y, int w, int h)
+ {
+- unsigned char buf[w];
+- unsigned char *p = lfb + x + y * xres;
++ unsigned char buf[w*4];
++ unsigned char *p = lfb + x*4 + y * xres;
+ int w1,h1;
+
+ for (h1 = 0 ; h1 < h ; h1++)
+ {
+- memcpy(buf,p,w);
++ memcpy(buf,p,w*4);
+ for (w1 = 0 ; w1 < w ; w1++)
+ {
+- *(p+w1) = buf[w-(w1+1)];
++ memcpy(p+w1*4,buf+((w-w1)*4)-4,4);
+ }
+ p += xres;
+ }
+ }
+ void tuxtxt_FlipVert(unsigned char *lfb, int xres,int x, int y, int w, int h)
+ {
+- unsigned char buf[w];
+- unsigned char *p = lfb + x + y * xres, *p1, *p2;
++ unsigned char buf[w*4];
++ unsigned char *p = lfb + x*4 + y * xres, *p1, *p2;
+ int h1;
+
+ for (h1 = 0 ; h1 < h/2 ; h1++)
+ {
+ p1 = (p+(h1*xres));
+ p2 = (p+(h-(h1+1))*xres);
+- memcpy(buf,p1,w);
+- memcpy(p1,p2,w);
+- memcpy(p2,buf,w);
++ memcpy(buf,p1,w*4);
++ memcpy(p1,p2,w*4);
++ memcpy(p2,buf,w*4);
+ }
+ }
+
+@@ -3163,7 +3204,7 @@
+ if (lfb)
+ {
+ int x,y,f,c;
+- unsigned char* p = lfb + *pPosX + PosY* xres;
++ unsigned char* p = lfb + (*pPosX)*4 + PosY* xres;
+ for (y=0; y<fontheight;y++)
+ {
+ for (f=0; f<factor; f++)
+@@ -3171,7 +3212,7 @@
+ for (x=0; x<curfontwidth*xfactor;x++)
+ {
+ c = (y&4 ? (x/3)&1 :((x+3)/3)&1);
+- *(p+x) = (c ? fgcolor : bgcolor);
++ memcpy((p+x*4),bgra[(c ? fgcolor : bgcolor)],4);
+ }
+ p += xres;
+ }
+@@ -3209,7 +3250,7 @@
+ }
+ axdrcs[12] = curfontwidth; /* adjust last x-offset according to position, FIXME: double width */
+ tuxtxt_RenderDRCS(xres,p,
+- lfb + *pPosX + PosY * xres,
++ lfb + (*pPosX)*4 + PosY * xres,
+ axdrcs, fgcolor, bgcolor);
+ }
+ else
--- /dev/null
+diff -Naur libs/libtuxtxt/tuxtxt_common.h libs_patched/libtuxtxt/tuxtxt_common.h
+--- libs_org/libtuxtxt/tuxtxt_common.h 2005-09-11 15:34:56.000000000 +0200
++++ libs/libtuxtxt/tuxtxt_common.h 2006-10-04 11:41:01.000000000 +0200
+@@ -888,6 +888,11 @@
+ p->subpage = d2 >> 2;
+ if ((p->page & 0xff) == 0xff)
+ p->page = 0;
++ else if (p->page > 0x899)
++ {
++ printf("[TuxTxt] page > 0x899 ... ignore!!!!!!\n");
++ continue;
++ }
+ else if (tuxtxt_cache.astCachetable[p->page][0]) /* link valid && linked page cached */
+ {
+ tstPageinfo *pageinfo_link = &(tuxtxt_cache.astCachetable[p->page][0]->pageinfo);
--- /dev/null
+DESCRIPTION = "libdvbsi++ by obi@saftware.de"
+DEPENDS = "dreambox-dvbincludes"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/dvb/libdvbsi++;method=ext"
+
+SRCDATE = "20060329"
+PR = "r0"
+PV = "0.0+cvs${SRCDATE}"
+
+S = "${WORKDIR}/libdvbsi++"
+
+inherit autotools pkgconfig
+
+do_stage_append() {
+ oe_runmake install prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR}
+}
+
+EXTRA_OECONF = "--with-target=native"
--- /dev/null
+DESCRIPTION = "Tuxbox common files"
+LICENSE = "GPL"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+
+PN = "tuxbox-common"
+PR = "r9"
+SRCDATE = "20080501"
+PV = "cvs${SRCDATE}"
+
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox/;module=cdk/root/share/tuxbox;method=ext;tag=dreambox;date=${SRCDATE} \
+ http://dreamboxupdate.com/download/opendreambox/tuxbox-common-r8.tar.gz"
+
+FILES_${PN} = "/"
+
+S = "${WORKDIR}/tuxbox-common-r8"
+
+TRANSPONDER_LISTS = "satellites.xml terrestrial.xml"
+
+#enigma1 need a cables.xml
+TRANSPONDER_LISTS_append_dm7020 = " cables.xml"
+TRANSPONDER_LISTS_append_dm500plus = " cables.xml"
+TRANSPONDER_LISTS_append_dm600pvr = " cables.xml"
+
+do_install() {
+ install -d ${D}/etc/init.d
+ install -d ${D}/etc/rcS.d
+ install -d ${D}/etc/tuxbox/
+ install -d ${D}/usr/share/tuxbox
+ install -m 0644 ${S}/scart.conf ${D}/etc/tuxbox/scart.conf
+
+ install -m 0644 ${S}/timezone.xml ${D}/etc/tuxbox/timezone.xml
+ ln -sf /etc/tuxbox/timezone.xml ${D}/etc/
+
+ ln -sf /usr/share ${D}/share
+
+ for i in ${TRANSPONDER_LISTS}; do
+ install -m 0644 ${WORKDIR}/tuxbox/$i ${D}/etc/tuxbox/$i
+ ln -sf /etc/tuxbox/$i ${D}/etc/;
+ ln -sf /etc/tuxbox/$i ${D}/usr/share/;
+ ln -sf /etc/tuxbox/$i ${D}/usr/share/tuxbox/;
+ done;
+}
--- /dev/null
+DESCRIPTION = "/etc/image-version image information for tuxbox images"
+SECTION = "base"
+PRIORITY = "required"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+PV = "0"
+PR = "r0"
+LICENSE = "GPL"
+
+FILES_${PN} = "/etc/image-version"
+
+do_install () {
+ IMAGE_VERSION=`echo ${DISTRO_VERSION} | sed 's/\(.\)\.\(.\).\(.\)/\1\2\3/' `
+ IMAGE_DATE="$(date +%Y%m%d%H%M)"
+ IMAGE_TYPE="0"
+ mkdir -p ${D}/etc/
+ echo "version=${IMAGE_TYPE}${IMAGE_VERSION}${IMAGE_DATE}" > ${D}/etc/image-version
+ echo "comment=${DISTRO_NAME}" >> ${D}/etc/image-version
+ echo "target=9" >> ${D}/etc/image-version
+ echo "creator=OpenEmbedded <oe@dreamboxupdate.com>" >> ${D}/etc/image-version
+ echo "url=http://www.dreamboxupdate.com/" >> ${D}/etc/image-version
+ echo "catalog=http://www.dreamboxupdate.com/" >> ${D}/etc/image-version
+}
--- /dev/null
+DESCRIPTION = "tuxbox libs"
+DEPENDS = "zlib dreambox-dvbincludes"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/misc/libs;method=ext \
+ file://acinclude.m4"
+SRCDATE = "20040928"
+
+PR = "r2"
+
+PACKAGES_DYNAMIC = "libtuxbox-*"
+
+S = "${WORKDIR}/libs"
+
+EXTRA_OECONF = "--with-target=native"
+
+inherit autotools pkgconfig
+
+ALLOW_EMPTY = 1
+FILES_${PN} = ""
+FILES_${PN}-dev = "/usr/include/tuxbox"
+
+do_configure_prepend() {
+ install ${WORKDIR}/acinclude.m4 ${S}/acinclude.m4
+}
+
+python populate_packages_prepend () {
+ tuxbox_libdir = bb.data.expand('${libdir}', d)
+
+ do_split_packages(d, tuxbox_libdir, '^libtuxbox-(.*)\.so.*$', 'libtuxbox-%s', 'libtuxbox-%s')
+# do_split_packages(d, tuxbox_libdir, '^libtuxbox-(.*)\.l?a$', 'libtuxbox-%s-dev', 'libtuxbox-%s (development files)')
+}
+
+do_stage() {
+ install -d ${STAGING_INCDIR}/tuxbox
+ install -d ${STAGING_INCDIR}/tuxbox/connection
+ install -d ${STAGING_INCDIR}/tuxbox/xmltree
+ install -d ${STAGING_INCDIR}/tuxbox/mpegtools
+ install -m 0644 ${S}/libconfigfile/configfile.h ${STAGING_INCDIR}/tuxbox/
+ install -m 0644 ${S}/libconnection/basicclient.h ${STAGING_INCDIR}/tuxbox/connection/
+ install -m 0644 ${S}/libconnection/basicmessage.h ${STAGING_INCDIR}/tuxbox/connection/
+ install -m 0644 ${S}/libconnection/basicserver.h ${STAGING_INCDIR}/tuxbox/connection/
+ install -m 0644 ${S}/libconnection/basicsocket.h ${STAGING_INCDIR}/tuxbox/connection/
+ install -m 0644 ${S}/libconnection/messagetools.h ${STAGING_INCDIR}/tuxbox/connection/
+ install -m 0644 ${S}/libcramfs/libcramfs.h ${STAGING_INCDIR}/tuxbox/
+ install -m 0644 ${S}/libeventserver/eventserver.h ${STAGING_INCDIR}/tuxbox/
+ install -m 0644 ${S}/libmd5sum/libmd5sum.h ${STAGING_INCDIR}/tuxbox/
+ install -m 0644 ${S}/libmpegtools/ctools.h ${STAGING_INCDIR}/tuxbox/mpegtools/
+ install -m 0644 ${S}/libmpegtools/remux.h ${STAGING_INCDIR}/tuxbox/mpegtools/
+ install -m 0644 ${S}/libmpegtools/ringbuffy.h ${STAGING_INCDIR}/tuxbox/mpegtools/
+ install -m 0644 ${S}/libmpegtools/transform.h ${STAGING_INCDIR}/tuxbox/mpegtools/
+ install -m 0644 ${S}/libnet/libnet.h ${STAGING_INCDIR}/tuxbox/
+ install -m 0644 ${S}/libnet/network_interfaces.h ${STAGING_INCDIR}/tuxbox/
+ install -m 0644 ${S}/libucodes/libucodes.h ${STAGING_INCDIR}/tuxbox/
+ install -m 0644 ${S}/libxmltree/hashtab.h ${STAGING_INCDIR}/tuxbox/xmltree/
+ install -m 0644 ${S}/libxmltree/xmlparse.h ${STAGING_INCDIR}/tuxbox/xmltree/
+ install -m 0644 ${S}/libxmltree/xmlrole.h ${STAGING_INCDIR}/tuxbox/xmltree/
+ install -m 0644 ${S}/libxmltree/xmltimpl.h ${STAGING_INCDIR}/tuxbox/xmltree/
+ install -m 0644 ${S}/libxmltree/xmltok.h ${STAGING_INCDIR}/tuxbox/xmltree/
+ install -m 0644 ${S}/libxmltree/xmltree.h ${STAGING_INCDIR}/tuxbox/xmltree/
+
+ for d in configfile connection cramfs eventserver md5sum mpegtools net ucodes xmltree; do
+ oe_libinstall -C lib$d -so libtuxbox-$d ${STAGING_LIBDIR}
+ done;
+}
+
--- /dev/null
+DESCRIPTION = "tuxbox libtuxbox"
+DEPENDS = "dreambox-dvbincludes"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/tuxbox/libtuxbox;method=ext \
+ file://acinclude.m4"
+
+SRCDATE = "20040928"
+PN = "libtuxbox"
+PR = "r1"
+S = "${WORKDIR}/libtuxbox"
+EXTRA_OECONF = "--with-target=native"
+
+inherit autotools pkgconfig
+
+FILES_libtuxbox_append = " /usr/lib/libtuxbox.so"
+
+FILES_${PN}-dev = "/usr/lib/libtuxbox.la /usr/lib/libtuxbox.a \
+ /usr/lib/pkgconfig/tuxbox.pc /usr/include/tuxbox.h"
+
+python populate_packages_prepend () {
+ tuxbox_libdir = bb.data.expand('${libdir}', d)
+}
+
+do_configure_prepend() {
+ install ${WORKDIR}/acinclude.m4 ${S}/acinclude.m4
+}
+
+do_stage() {
+ install -m 0644 ${S}/tuxbox.h ${STAGING_INCDIR}
+ oe_libinstall -so libtuxbox ${STAGING_LIBDIR}
+}
--- /dev/null
+DESCRIPTION = "tuxbox libtuxtxt"
+DEPENDS = "dreambox-dvbincludes libpng"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/tuxbox/libs;method=ext \
+ file://libtuxtxt-only-libtuxtxt.diff;patch=1 \
+ file://acinclude.m4"
+
+SRC_URI_append_dm7025 = " file://libtuxtxt_32bpp.diff;patch=1"
+SRC_URI_append_dm800 = " file://libtuxtxt_32bpp.diff;patch=1"
+SRC_URI_append_dm8000 = " file://libtuxtxt_32bpp.diff;patch=1"
+
+SRCDATE_dm600pvr = "20070307"
+SRCDATE_dm500plus = "20070307"
+SRCDATE_dm7025 = "20080814"
+SRCDATE_dm800 = "20080814"
+SRCDATE_dm8000 = "20080814"
+SRCDATE_dm7020 = "20070307"
+
+PN = "libtuxtxt"
+PR = "r2"
+
+PV = "0.0+cvs${SRCDATE}"
+S = "${WORKDIR}/libs"
+EXTRA_OECONF = "--with-target=native"
+
+inherit autotools pkgconfig
+
+FILES_libtuxtxt_append = " /usr/lib/libtuxtxt.so"
+
+FILES_${PN}-dev = "/usr/lib/libtuxtxt.la /usr/lib/pkgconfig/tuxbox-tuxtxt.pc"
+
+python populate_packages_prepend () {
+ tuxbox_libdir = bb.data.expand('${libdir}', d)
+}
+
+do_configure_prepend() {
+ install ${WORKDIR}/acinclude.m4 ${S}/acinclude.m4
+}
+
+do_stage() {
+ install -m 0644 ${S}/libtuxtxt/tuxtxt_*.h ${STAGING_INCDIR}
+ install -d ${STAGING_INCDIR}/tuxtxt
+ install -m 0644 ${S}/libtuxtxt/tuxtxt_*.h ${STAGING_INCDIR}/tuxtxt
+ cd libtuxtxt
+ oe_libinstall -so libtuxtxt ${STAGING_LIBDIR}
+ cd ..
+}
+
+do_install_prepend() {
+ cd libtuxtxt
+}
--- /dev/null
+DEPENDS = "enigma"
+DESCRIPTION = "tuxbox plugins (enigma)"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/tuxbox/plugins;method=ext \
+ file://disable_nonworking.diff;patch=1;pnum=1 \
+ file://fix_config_path.diff;patch=1;pnum=1 \
+ file://fix_install_weather_pics.diff;patch=1;pnum=1"
+
+SRCDATE = "20060112"
+PV = "0.0+cvs${SRCDATE}"
+PR = "r0"
+
+CFLAGS_append = " -I${STAGING_INCDIR}/enigma -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX"
+CXXFLAGS_append = " -I${STAGING_INCDIR}/enigma -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX"
+
+PACKAGES = "enigma-plugin-dreamdata enigma-plugin-dbswitch \
+ enigma-plugin-ngrabstart enigma-plugin-ngrabstop enigma-plugin-getset \
+ enigma-plugin-movieplayer enigma-plugin-script enigma-plugin-rss \
+ enigma-plugin-weather enigma-plugin-demo"
+
+FILES_enigma-plugin-dreamdata = "/usr/lib/tuxbox/plugins/dreamdata.so /usr/lib/tuxbox/plugins/dreamdata.cfg \
+ /etc/tuxbox/dreamdata.xml"
+FILES_enigma-plugin-dbswitch = "/usr/lib/tuxbox/plugins/dbswitch.so /usr/lib/tuxbox/plugins/dbswitch.cfg"
+FILES_enigma-plugin-ngrabstart = "/usr/lib/tuxbox/plugins/ngrabstart.so /usr/lib/tuxbox/plugins/ngrabstart.cfg"
+FILES_enigma-plugin-ngrabstop = "/usr/lib/tuxbox/plugins/ngrabstop.so /usr/lib/tuxbox/plugins/ngrabstop.cfg"
+FILES_enigma-plugin-getset = "/usr/lib/tuxbox/plugins/enigma_getset.so /usr/lib/tuxbox/plugins/enigma_getset.cfg"
+FILES_enigma-plugin-movieplayer = "/usr/lib/tuxbox/plugins/movieplayer.so /usr/lib/tuxbox/plugins/movieplayer.cfg"
+FILES_enigma-plugin-script = "/usr/lib/tuxbox/plugins/script.so /usr/lib/tuxbox/plugins/script.cfg"
+FILES_enigma-plugin-rss = "/usr/lib/tuxbox/plugins/rss.so /usr/lib/tuxbox/plugins/rss.cfg \
+ /etc/tuxbox/feeds.xml"
+FILES_enigma-plugin-weather = "/usr/lib/tuxbox/plugins/weather.so /usr/lib/tuxbox/plugins/weather.cfg \
+ /etc/tuxbox/weather.xml /usr/share/tuxbox/weather/*.png"
+FILES_enigma-plugin-demo = "/usr/lib/tuxbox/plugins/enigma_demo.so /usr/lib/tuxbox/plugins/enigma_demo.cfg"
+
+S = "${WORKDIR}/plugins"
+
+inherit autotools pkgconfig
+
+bindir = "/usr/bin"
+sbindir = "/usr/sbin"
+
+EXTRA_OECONF = "--with-target=native --with-boxtype=dm7020"
--- /dev/null
+diff -Naur plugins/configure.ac plugins_patched/configure.ac
+--- plugins/configure.ac 2005-06-28 15:20:19.000000000 +0200
++++ plugins_patched/configure.ac 2005-06-28 16:18:42.437757664 +0200
+@@ -23,7 +23,7 @@
+ TUXBOX_APPS_LIB_CONFIG(FREETYPE,freetype-config)
+ TUXBOX_APPS_LIB_PKGCONFIG(PNG,libpng)
+ TUXBOX_APPS_LIB_PKGCONFIG(SIGC,sigc++-1.2)
+-TUXBOX_APPS_LIB_PKGCONFIG(TUXBOX,tuxbox)
++#TUXBOX_APPS_LIB_PKGCONFIG(TUXBOX,tuxbox)
+ TUXBOX_APPS_LIB_PKGCONFIG(XMLTREE,tuxbox-xmltree)
+ TUXBOX_APPS_LIB_PKGCONFIG(CONFIGFILE,tuxbox-configfile)
+ #TUXBOX_APPS_LIB_PKGCONFIG(TUXTXT,tuxbox-tuxtxt)
--- /dev/null
+diff -Naur plugins_org/Makefile.am plugins/Makefile.am
+--- plugins_org/Makefile.am 2005-11-19 21:55:18.000000000 +0100
++++ plugins/Makefile.am 2006-01-12 01:26:06.000000000 +0100
+@@ -1,7 +1,7 @@
+ AUTOMAKE_OPTIONS = gnu
+
+ SUBDIRS = \
+- include tuxmail tuxtxt tuxcom fx2 vncviewer enigma
++ enigma
+
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = \
+diff -Naur plugins_org/enigma/Makefile.am plugins/enigma/Makefile.am
+--- plugins_org/enigma/Makefile.am 2005-11-19 19:31:51.000000000 +0100
++++ plugins/enigma/Makefile.am 2006-01-12 01:26:20.000000000 +0100
+@@ -1,2 +1,2 @@
+-SUBDIRS = demo dreamdata ngrabstart ngrabstop dslconnect dsldisconnect rss script weather dbswitch getset dreamflash movieplayer
++SUBDIRS = demo dreamdata ngrabstart ngrabstop dslconnect dsldisconnect rss script weather dbswitch getset movieplayer
+
--- /dev/null
+diff -Naur plugins_org/enigma/rss/rss.cpp plugins/enigma/rss/rss.cpp
+--- plugins/enigma/rss/rss.cpp 2006-01-11 16:59:35.000000000 +0100
++++ plugins/enigma/rss/rss.cpp 2006-01-11 17:00:55.000000000 +0100
+@@ -82,8 +82,7 @@
+
+ setFocus(theList);
+
+- if (!theConfigParser.parse("/var/tuxbox/config/feeds.xml"))
+- theConfigParser.parse(CONFIGDIR"/feeds.xml");
++ theConfigParser.parse(CONFIGDIR"/feeds.xml");
+
+ theRssFeed = new rssFeed();
+ theRssFeed->hide();
--- /dev/null
+diff -Naur plugins_org/enigma/weather/icons/Makefile.am plugins/enigma/weather/icons/Makefile.am
+--- plugins_org/enigma/weather/icons/Makefile.am 2005-09-21 08:30:19.000000000 +0200
++++ plugins/enigma/weather/icons/Makefile.am 2006-01-12 02:27:27.000000000 +0100
+@@ -1,6 +1,6 @@
+-installdir = $(DESTDIR)$(DATADIR)/weather
++install-exec-local:
++ install -d $(DESTDIR)$(DATADIR)/weather
++ install -m 0644 *.png $(DESTDIR)$(DATADIR)/weather
+
+-install_DATA = \
+- 1.png 4.png 5.png 7.png 8.png 10.png 11.png 12.png 13.png 14.png 15.png \
+- 16.png 18.png 19.png 20.png 21.png 23.png 25.png 26.png 28.png 30.png \
+- 32.png 36.png 37.png 38.png 39.png 43.png unknown.png
++uninstall-local:
++ -rm -R $(DESTDIR)$(DATADIR)/weather
--- /dev/null
+DEPENDS = "curl libpng freetype dreambox-dvbincludes libtuxtxt"
+DESCRIPTION = "tuxbox plugins"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/tuxbox/plugins;method=ext \
+ file://disable_nonworking.diff;patch=1;pnum=1 \
+ file://tuxtxt_include_fix.patch;patch=1;pnum=1 \
+ file://game_names.diff;patch=1;pnum=1"
+
+SRCDATE = "20061009"
+PV = "0.0+cvs${SRCDATE}"
+PR = "r0"
+
+CFLAGS_append = " -DOE"
+CFLAGS_append_dm7020 = " -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX"
+CFLAGS_append_dm600pvr = " -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX"
+CFLAGS_append_dm500plus = " -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX"
+CXXFLAGS_append = " -DOE"
+CXXFLAGS_append_dm7020 = " -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX"
+CXXFLAGS_append_dm600pvr = " -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX"
+CXXFLAGS_append_dm500plus = " -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX"
+
+PACKAGES = "tuxbox-plugins-dev tuxbox-plugin-tuxtxt tuxbox-plugin-tuxmail \
+ tuxbox-plugin-tuxcom tuxbox-plugin-mines tuxbox-plugin-pacman \
+ tuxbox-plugin-tetris tuxbox-plugin-snake tuxbox-plugin-yahtzee \
+ tuxbox-plugin-master tuxbox-plugin-tank tuxbox-plugin-lemmings \
+ tuxbox-plugin-lcdcirc tuxbox-plugin-satfind tuxbox-plugin-vierg \
+ tuxbox-plugin-soko tuxbox-plugin-solitair tuxbox-plugin-sol \
+ tuxbox-plugin-fx2 tuxbox-plugin-vnc"
+
+FILES_tuxbox-plugin-tuxtxt = "/usr/lib/tuxbox/plugins/tuxtxt.so /usr/lib/tuxbox/plugins/tuxtxt.cfg \
+ /usr/share/fonts/tuxtxt.ttf /usr/share/fonts/tuxtxt.otb /etc/tuxbox/tuxtxt"
+FILES_tuxbox-plugin-tuxmail = "/usr/lib/tuxbox/plugins/tuxmail.so /usr/lib/tuxbox/plugins/tuxmail.cfg \
+ /etc/tuxbox/tuxmail/tuxmail.conf /usr/bin/tuxmaild /etc/init.d/tuxmail"
+FILES_tuxbox-plugin-tuxcom = "/usr/lib/tuxbox/plugins/tuxcom.so /usr/lib/tuxbox/plugins/tuxcom.cfg"
+FILES_tuxbox-plugin-mines = "/usr/lib/tuxbox/plugins/mines.so /usr/lib/tuxbox/plugins/mines.cfg"
+FILES_tuxbox-plugin-pacman = "/usr/lib/tuxbox/plugins/pacman.so /usr/lib/tuxbox/plugins/pacman.cfg"
+FILES_tuxbox-plugin-tetris = "/usr/lib/tuxbox/plugins/tetris.so /usr/lib/tuxbox/plugins/tetris.cfg"
+FILES_tuxbox-plugin-snake = "/usr/lib/tuxbox/plugins/snake.so /usr/lib/tuxbox/plugins/snake.cfg"
+FILES_tuxbox-plugin-yahtzee = "/usr/lib/tuxbox/plugins/yahtzee.so /usr/lib/tuxbox/plugins/yahtzee.cfg"
+FILES_tuxbox-plugin-master = "/usr/lib/tuxbox/plugins/master.so /usr/lib/tuxbox/plugins/master.cfg"
+FILES_tuxbox-plugin-tank = "/usr/lib/tuxbox/plugins/tank.so /usr/lib/tuxbox/plugins/tank.cfg"
+FILES_tuxbox-plugin-lemmings = "/usr/lib/tuxbox/plugins/lemmings.so /usr/lib/tuxbox/plugins/lemmings.cfg"
+FILES_tuxbox-plugin-lcdcirc = "/usr/lib/tuxbox/plugins/lcdcirc.so /usr/lib/tuxbox/plugins/lcdcirc.cfg"
+FILES_tuxbox-plugin-satfind = "/usr/lib/tuxbox/plugins/satfind.so /usr/lib/tuxbox/plugins/satfind.cfg"
+FILES_tuxbox-plugin-vierg = "/usr/lib/tuxbox/plugins/vierg.so /usr/lib/tuxbox/plugins/vierg.cfg"
+FILES_tuxbox-plugin-soko = "/usr/lib/tuxbox/plugins/soko.so /usr/lib/tuxbox/plugins/soko.cfg \
+ /usr/share/tuxbox/sokoban/1.xsb /usr/share/tuxbox/sokoban/11.xsb /usr/share/tuxbox/sokoban/7.xsb \
+ /usr/share/tuxbox/sokoban/8.xsb /usr/share/tuxbox/sokoban/albe-01.xsb /usr/share/tuxbox/sokoban/albe-02.xsb \
+ /usr/share/tuxbox/sokoban/albe-03.xsb /usr/share/tuxbox/sokoban/albe-04.xsb /usr/share/tuxbox/sokoban/albe-05.xsb \
+ /usr/share/tuxbox/sokoban/albe-06.xsb /usr/share/tuxbox/sokoban/albe-07.xsb /usr/share/tuxbox/sokoban/albe-08.xsb \
+ /usr/share/tuxbox/sokoban/albe-09.xsb /usr/share/tuxbox/sokoban/albe-10.xsb /usr/share/tuxbox/sokoban/albe-12.xsb \
+ /usr/share/tuxbox/sokoban/albe-13.xsb"
+FILES_tuxbox-plugin-solitair = "/usr/lib/tuxbox/plugins/solitair.so /usr/lib/tuxbox/plugins/solitair.cfg"
+FILES_tuxbox-plugin-sol = "/usr/lib/tuxbox/plugins/sol.so /usr/lib/tuxbox/plugins/sol.cfg"
+FILES_tuxbox-plugin-fx2 = "/usr/lib/tuxbox/plugins/libfx2.so"
+FILES_tuxbox-plugin-vnc = "/usr/lib/tuxbox/plugins/vnc.so /usr/lib/tuxbox/plugins/vnc.cfg /etc/tuxbox/vnc.conf"
+
+S = "${WORKDIR}/plugins"
+
+inherit autotools pkgconfig
+
+bindir = "/usr/bin"
+sbindir = "/usr/sbin"
+
+EXTRA_OECONF = "--with-target=native"
+EXTRA_OECONF_append_dm7020 = " --with-boxtype=dm7020"
+# checkme!
+EXTRA_OECONF_append_dm600pvr = " --with-boxtype=dm7020"
+EXTRA_OECONF_append_dm500plus = " --with-boxtype=dm7020"
+
+do_install_append() {
+ install -d ${D}/etc/tuxbox/tuxtxt/
+ install -d ${D}/etc/init.d/
+ install ${S}/tuxmail/daemon/tuxmail ${D}/etc/init.d
+}
+
+do_stage() {
+ install -d ${STAGING_INCDIR}/tuxbox
+ install -m 0644 ${S}/include/plugin.h ${STAGING_INCDIR}/tuxbox/
+}
--- /dev/null
+diff -Naur plugins/configure.ac plugins_patched/configure.ac
+--- plugins/configure.ac 2005-06-28 15:20:19.000000000 +0200
++++ plugins_patched/configure.ac 2005-06-28 16:18:42.437757664 +0200
+@@ -23,7 +23,7 @@
+ TUXBOX_APPS_LIB_CONFIG(FREETYPE,freetype-config)
+ TUXBOX_APPS_LIB_PKGCONFIG(PNG,libpng)
+ TUXBOX_APPS_LIB_PKGCONFIG(SIGC,sigc++-1.2)
+-TUXBOX_APPS_LIB_PKGCONFIG(TUXBOX,tuxbox)
++#TUXBOX_APPS_LIB_PKGCONFIG(TUXBOX,tuxbox)
+ TUXBOX_APPS_LIB_PKGCONFIG(XMLTREE,tuxbox-xmltree)
+ TUXBOX_APPS_LIB_PKGCONFIG(CONFIGFILE,tuxbox-configfile)
+ #TUXBOX_APPS_LIB_PKGCONFIG(TUXTXT,tuxbox-tuxtxt)
--- /dev/null
+diff -Naur plugins_org/Makefile.am plugins/Makefile.am
+--- plugins_org/Makefile.am 2005-11-19 21:55:18.000000000 +0100
++++ plugins/Makefile.am 2006-01-12 01:24:26.000000000 +0100
+@@ -1,7 +1,7 @@
+ AUTOMAKE_OPTIONS = gnu
+
+ SUBDIRS = \
+- include tuxmail tuxtxt tuxcom tuxcal fx2 vncviewer enigma
++ include tuxmail tuxtxt tuxcom tuxcal fx2 vncviewer
+
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = \
--- /dev/null
+diff -Naur a/fx2/master/master.cfg b/fx2/master/master.cfg
+--- a/fx2/master/master.cfg 2004-07-11 12:23:21.000000000 +0200
++++ b/fx2/master/master.cfg 2005-01-17 13:08:39.000000000 +0100
+@@ -1,4 +1,4 @@
+-name=Mastermind
++name=Mindmaster
+ desc=food for brain
+ type=1
+ needfb=1
+diff -Naur a/fx2/mines/mines.cfg b/fx2/mines/mines.cfg
+--- a/fx2/mines/mines.cfg 2004-07-11 12:23:21.000000000 +0200
++++ b/fx2/mines/mines.cfg 2005-01-17 13:09:35.000000000 +0100
+@@ -1,5 +1,5 @@
+-name=Minesweeper
+-desc=classic minesweeper
++name=Sweepminer
++desc=classic Sweepminer
+ type=1
+ needfb=1
+ needrc=1
+diff -Naur a/fx2/pac/pacman.cfg b/fx2/pac/pacman.cfg
+--- a/fx2/pac/pacman.cfg 2001-11-08 15:47:45.000000000 +0100
++++ b/fx2/pac/pacman.cfg 2005-01-17 13:10:12.000000000 +0100
+@@ -1,6 +1,6 @@
+ pluginversion=1
+-name=Pacman
+-desc=The good old pacman in new dboxII generation
++name=Paccer
++desc=The good old paccer
+ depend=libfx2.so
+ type=1
+ needfb=1
+diff -Naur a/fx2/sokoban/soko.cfg b/fx2/sokoban/soko.cfg
+--- a/fx2/sokoban/soko.cfg 2005-01-17 13:19:02.000000000 +0100
++++ b/fx2/sokoban/soko.cfg 2005-01-17 13:19:16.000000000 +0100
+@@ -1,4 +1,4 @@
+-name=Sokoban
++name=Zokoban
+ desc=Push it, baby!
+ type=1
+ needfb=1
+diff -Naur a/fx2/solitair/solitair.cfg b/fx2/solitair/solitair.cfg
+--- a/fx2/solitair/solitair.cfg 2003-08-25 15:56:57.000000000 +0200
++++ b/fx2/solitair/solitair.cfg 2005-01-17 13:12:16.000000000 +0100
+@@ -1,5 +1,5 @@
+ pluginversion=1
+-name=Solitair
++name=Solitaer
+ desc=a card game
+ depend=libfx2.so
+ type=1
+diff -Naur a/fx2/tank/tank.cfg b/fx2/tank/tank.cfg
+--- a/fx2/tank/tank.cfg 2005-01-17 13:20:11.000000000 +0100
++++ b/fx2/tank/tank.cfg 2005-01-17 13:20:46.000000000 +0100
+@@ -1,4 +1,4 @@
+-name=TankWars
++name=WarTank
+ desc=stay cool
+ depend=libfx2.so
+ type=1
+diff -Naur a/fx2/tetris/tetris.cfg b/fx2/tetris/tetris.cfg
+--- a/fx2/tetris/tetris.cfg 2004-07-11 12:23:22.000000000 +0200
++++ b/fx2/tetris/tetris.cfg 2005-01-17 13:12:46.000000000 +0100
+@@ -1,6 +1,6 @@
+ pluginversion=1
+-name=Tetris
+-desc=i break together - tetris :)
++name=Blocktris
++desc=i break together - blocktris :)
+ type=1
+ needfb=1
+ needrc=1
+diff -Naur a/fx2/yahtzee/yahtzee.cfg b/fx2/yahtzee/yahtzee.cfg
+--- a/fx2/yahtzee/yahtzee.cfg 2005-01-17 13:20:20.000000000 +0100
++++ b/fx2/yahtzee/yahtzee.cfg 2005-01-17 13:20:37.000000000 +0100
+@@ -1,5 +1,5 @@
+ pluginversion=1
+-name=Yahtzee
++name=Yahtzea
+ desc=a game for 1-4 player
+ depend=libfx2.so
+ type=1
--- /dev/null
+diff -Naur tuxtxt/Makefile.am tuxtxt_patched/Makefile.am
+--- a/tuxtxt/Makefile.am 2006-10-05 13:17:15.000000000 +0200
++++ b/tuxtxt/Makefile.am 2007-02-07 22:59:43.000000000 +0100
+@@ -4,7 +4,7 @@
+ AM_CPPFLAGS = \
+ @FREETYPE_CFLAGS@ \
+ -I$(top_srcdir)/include \
+- -I$(includedir)/tuxbox/tuxtxt
++ -I$(prefix)/$(includedir)/tuxbox/tuxtxt
+
+ tuxtxt_la_LIBADD = \
+ @FREETYPE_LIBS@ \
--- /dev/null
+DEPENDS = "dreambox-dvbincludes tuxbox-libs"
+RDEPENDS = "libtuxbox-mpegtools0"
+DESCRIPTION = "tuxbox net streaming tools"
+MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
+
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/dvb/tools/stream;method=ext \
+ file://acinclude.m4 \
+ file://enable_transform.diff;patch=1;pnum=1 \
+ file://add_configfiles.diff;patch=1;pnum=1"
+
+SRCDATE = "20050802"
+S = "${WORKDIR}/stream"
+PV = "1.0+${SRCDATE}"
+PR = "r1"
+
+inherit autotools pkgconfig
+
+bindir = "/usr/bin"
+sbindir = "/usr/sbin"
+
+EXTRA_OECONF = "--with-target=native --with-boxtype=${MACHINE}"
+
+CFLAGS_append = " -DHAVE_DREAMBOX_HARDWARE"
+
+do_configure_prepend() {
+ install ${WORKDIR}/acinclude.m4 ${S}/acinclude.m4
+}
+
+do_install_append() {
+ ln -s streampes ${D}/usr/sbin/streames
+}
--- /dev/null
+diff -Naur stream/AUTHORS stream_configure/AUTHORS
+--- stream/AUTHORS 1970-01-01 01:00:00.000000000 +0100
++++ stream_configure/AUTHORS 2004-09-17 17:47:12.000000000 +0200
+@@ -0,0 +1,22 @@
++In order of appearance in cvs:
++------------------------------------------------
++Felix Domke <tmbinc@berlios.de>
++Andreas Oberritter <obi@berlios.de>
++Steffen Hehn <mcclean@berlios.de>
++Andreas Monzner <ghostrider@berlios.de>
++Florian Roks <trh@berlios.de>
++Ronny Strutz <tripledes@berlios.de>
++Bastian Blank <waldi@berlios.de>
++Henning Heinold <woglinde@berlios.de>
++Rainer Scherg <rasc@berlios.de>
++Steffen Buehl <shadow@berlios.de>
++Wolfram Joost <wjoost@berlios.de>
++Thomas Herold <dertom@berlios.de>
++Stefan Pluecken <thedoc@berlios.de>
++Florian Schirmer <jolt@berlios.de>
++Christoph Ketzler <chkdesign@berlios.de>
++Bernhard Roth <bernroth@berlios.de>
++
++Also many thanks to everyone who supported development
++without having cvs write access
++
+diff -Naur stream/configure.ac stream_configure/configure.ac
+--- stream/configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ stream_configure/configure.ac 2004-11-16 00:13:26.000000000 +0100
+@@ -0,0 +1,25 @@
++AC_INIT([tuxbox-stream],[1.0.0],[obi@tuxbox.org])
++AM_INIT_AUTOMAKE([dist-bzip2 no-define])
++
++TUXBOX_APPS
++TUXBOX_APPS_DIRECTORYY
++
++AC_PROG_CC
++AC_PROG_LIBTOOL
++AC_PROG_RANLIB
++
++TUXBOX_APPS_DVB
++TUXBOX_APPS_DRIVER
++
++TUXBOX_APPS_LIB_PKGCONFIG(MPEGTOOLS,tuxbox-mpegtools)
++
++AC_ARG_WITH(boxtype,
++ [ --with-boxtype=NAME dreambox/dbox2 [[dbox2,dreambox]]],
++ [BOXTYPE="$withval"],[BOXTYPE="dbox2"])
++AC_SUBST(BOXTYPE)
++AM_CONDITIONAL(BOXTYPE_DREAMBOX,test "$BOXTYPE" != "dbox2")
++AM_CONDITIONAL(BOXTYPE_DBOX2,test "$BOXTYPE" = "dbox2")
++
++AC_OUTPUT([
++Makefile
++])
--- /dev/null
+diff -Naur stream/Makefile.am stream_patched/Makefile.am
+--- stream/Makefile.am 2005-06-01 17:20:04.000000000 +0200
++++ stream_patched/Makefile.am 2005-08-08 14:03:02.000000000 +0200
+@@ -2,6 +2,8 @@
+ sbin_PROGRAMS = streampes streamts streamsec udpstreamts udpstreampes
+ udpstreampes_LDADD = -lpthread
+ udpstreampes_SOURCES = udpstreampes.cpp
++INCLUDES = @MPEGTOOLS_CFLAGS@
++streamts_LDADD = @MPEGTOOLS_LIBS@
+ else
+ sbin_PROGRAMS = streampes streamts streamsec udpstreamts streamfile fserver
+ INCLUDES = @MPEGTOOLS_CFLAGS@
+diff -Naur stream/streamts.c stream_patched/streamts.c
+--- stream/streamts.c 2005-08-02 23:32:31.000000000 +0200
++++ stream_patched/streamts.c 2005-08-08 17:02:14.000000000 +0200
+@@ -57,7 +57,7 @@
+ #ifdef HAVE_DREAMBOX_HARDWARE
+ #define DMXDEV "/dev/dvb/card0/demux1"
+ #define DVRDEV "/dev/dvb/card0/dvr1"
+- #undef TRANSFORM
++ #define TRANSFORM
+ #else
+ #define DMXDEV "/dev/dvb/card0/demux0"
+ #define DMXDEV "/dev/dvb/card0/dvr0"
--- /dev/null
+DEPENDS = "freetype dreambox-dvbincludes libtuxtxt"
+DESCRIPTION = "tuxbox tuxtxt for 32bit framebuffer"
+MAINTAINER = "Sven Karschewski <seddi@i-have-a-dreambox.com>"
+
+SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/tuxbox/plugins/tuxtxt;method=ext \
+ file://makefiles.diff;patch=1;pnum=1 \
+ file://32bpp.diff;patch=1;pnum=1 \
+ file://add_new_default_conf.diff;patch=1;pnum=1 \
+ file://makelib.diff;patch=1 \
+ file://plugin.py \
+ file://freetype2.patch;patch=1 \
+ file://hdres.patch;patch=1"
+
+FILES_${PN} = "/usr/lib/libtuxtxt32bpp.so* /usr/share/fonts /usr/lib/enigma2/python/Plugins/Extensions/Tuxtxt /etc/tuxtxt"
+
+SRCDATE = "20080814"
+PV = "0.0+cvs${SRCDATE}"
+PR = "r0"
+
+S = "${WORKDIR}/tuxtxt"
+
+CFLAGS_append = " -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX"
+
+inherit autotools pkgconfig
+
+bindir = "/usr/bin"
+sbindir = "/usr/sbin"
+
+EXTRA_OECONF = "--with-target=native"
+
+do_configure_prepend() {
+ touch ${S}/python/__init__.py
+ install -m 0644 ${WORKDIR}/plugin.py ${S}/python
+}
+
+do_stage() {
+ oe_libinstall -so -C .libs libtuxtxt32bpp ${STAGING_LIBDIR}
+ install -m 0644 tuxtxt.h ${STAGING_INCDIR}/
+}
--- /dev/null
+diff -ru tuxtxt.e1/tuxtxt.c tuxtxt/tuxtxt.c
+--- tuxtxt.e1/tuxtxt.c 2008-08-13 20:08:47.000000000 +0200
++++ tuxtxt/tuxtxt.c 2008-06-20 16:31:00.000000000 +0200
+@@ -6,21 +6,50 @@
+ * continued 2004-2005 by Roland Meier <RolandMeier@Siemens.com> *
+ * and DBLuelle <dbluelle@blau-weissoedingen.de> *
+ * *
++ * ported 2006 to Dreambox 7025 / 32Bit framebuffer *
++ * by Seddi <seddi@i-have-a-dreambox.com> *
++ * *
++ * ported 32Bit framebuffer to Tuxtxt v1.99 (2008) *
++ * by the PLi team (Sat-Turner) *
++ * *
+ ******************************************************************************/
+
+
+
+ #include "tuxtxt.h"
+
++static char saved_wss[32];
++static char saved_pin8[32];
++
++void readproc(const char* source, char *dest)
++{
++ FILE *f=fopen(source, "rt");
++ if(f)
++ {
++ fgets(dest, 255, f);
++ fclose(f);
++ }
++}
++
++void writeproc(const char* dest, const char *value)
++{
++ FILE *f=fopen(dest, "w");
++ if (f)
++ {
++ fwrite(value, strlen(value), 1, f);
++ fclose(f);
++ }
++}
++
+ void FillBorder(int color)
+ {
+ int ys = (var_screeninfo.yres-var_screeninfo.yoffset);
+- tuxtxt_FillRect(lfb,var_screeninfo.xres,0 , ys ,StartX ,var_screeninfo.yres ,color);
+- tuxtxt_FillRect(lfb,var_screeninfo.xres,StartX, ys ,displaywidth,StartY ,color);
+- tuxtxt_FillRect(lfb,var_screeninfo.xres,StartX, ys+StartY+25*fontheight,displaywidth,var_screeninfo.yres-(StartY+25*fontheight),color);
++ tuxtxt_FillRect(lfb,fix_screeninfo.line_length,0 , ys ,StartX ,var_screeninfo.yres ,color);
++ tuxtxt_FillRect(lfb,fix_screeninfo.line_length,StartX, ys ,displaywidth,StartY ,color);
++ tuxtxt_FillRect(lfb,fix_screeninfo.line_length,StartX, ys+StartY+25*fontheight,displaywidth,var_screeninfo.yres-(StartY+25*fontheight),color);
+
+ if (screenmode == 0 )
+- tuxtxt_FillRect(lfb,var_screeninfo.xres,StartX+displaywidth, ys,var_screeninfo.xres-(StartX+displaywidth),var_screeninfo.yres ,color);
++ tuxtxt_FillRect(lfb,fix_screeninfo.line_length,StartX+displaywidth, ys,fix_screeninfo.line_length-(StartX+displaywidth),var_screeninfo.yres ,color);
+ }
+
+ int getIndexOfPageInHotlist()
+@@ -177,17 +206,17 @@
+
+ void ClearBB(int color)
+ {
+- memset(lfb + (var_screeninfo.yres-var_screeninfo.yoffset)*var_screeninfo.xres, color, var_screeninfo.xres*var_screeninfo.yres);
++ tuxtxt_FillRect(lfb,fix_screeninfo.line_length,0, var_screeninfo.yres - var_screeninfo.yoffset, fix_screeninfo.line_length, var_screeninfo.yres, color);
+ }
+
+ void ClearFB(int color)
+ {
+- memset(lfb + var_screeninfo.xres*var_screeninfo.yoffset, color, var_screeninfo.xres*var_screeninfo.yres);
++ tuxtxt_FillRect(lfb,fix_screeninfo.line_length,0, var_screeninfo.yoffset, fix_screeninfo.line_length, var_screeninfo.yres, color);
+ }
+
+ void ClearB(int color)
+ {
+- memset(lfb, color, 2*var_screeninfo.xres*var_screeninfo.yres);
++ tuxtxt_FillRect(lfb,fix_screeninfo.line_length,0, 0, fix_screeninfo.line_length, var_screeninfo.yres*2, color);
+ }
+
+
+@@ -233,47 +262,29 @@
+
+ void setcolors(unsigned short *pcolormap, int offset, int number)
+ {
+- int i, changed=0;
++ int i,trans_tmp;
+ int j = offset; /* index in global color table */
+
+- unsigned short t = tr0[transp2];
+- tr0[transp2] = (trans_mode+7)<<11 | 0x7FF;
+-#ifndef HAVE_DREAMBOX_HARDWARE
+- /* "correct" semi-transparent for Nokia (GTX only allows 2(?) levels of transparency) */
+- if (tuxbox_get_vendor() == TUXBOX_VENDOR_NOKIA)
+- tr0[transp2] = 0xFFFF;
+-#endif
+- if (t != tr0[transp2]) changed = 1;
++ trans_tmp=25-trans_mode;
++
++ bgra[transp2][3]=((trans_tmp+7)<<11 | 0x7FF)>>8;
++
+ for (i = 0; i < number; i++)
+ {
+- int r = (pcolormap[i] << 12) & 0xf000;
+- int g = (pcolormap[i] << 8) & 0xf000;
+- int b = (pcolormap[i] << 4) & 0xf000;
+-
++ int r = (pcolormap[i] << 12 & 0xF000) >> 8;
++ int g = (pcolormap[i] << 8 & 0xF000) >> 8;
++ int b = (pcolormap[i] << 4 & 0xF000) >> 8;
+
+ r = (r * (0x3f+(color_mode<<3))) >> 8;
+ g = (g * (0x3f+(color_mode<<3))) >> 8;
+ b = (b * (0x3f+(color_mode<<3))) >> 8;
+- if (rd0[j] != r)
+- {
+- rd0[j] = r;
+- changed = 1;
+- }
+- if (gn0[j] != g)
+- {
+- gn0[j] = g;
+- changed = 1;
+- }
+- if (bl0[j] != b)
+- {
+- bl0[j] = b;
+- changed = 1;
+- }
++
++ bgra[j][2]=r;
++ bgra[j][1]=g;
++ bgra[j][0]=b;
++
+ j++;
+ }
+- if (changed)
+- if (ioctl(fb, FBIOPUTCMAP, &colormap_0) == -1)
+- perror("TuxTxt <FBIOPUTCMAP>");
+ }
+
+
+@@ -303,13 +314,14 @@
+
+
+ /******************************************************************************
+- * plugin_exec *
++ * main loop *
+ ******************************************************************************/
+
+-void plugin_exec(PluginParam *par)
++int main(int argc, char **argv)
+ {
+- char cvs_revision[] = "$Revision: 1.100 $";
++ char cvs_revision[] = "$Revision: 1.99 $";
+
++ int cnt=0;
+ #if !TUXTXT_CFG_STANDALONE
+ int initialized = tuxtxt_init();
+ if ( initialized )
+@@ -319,30 +331,71 @@
+ /* show versioninfo */
+ sscanf(cvs_revision, "%*s %s", versioninfo);
+ printf("TuxTxt %s\n", versioninfo);
++ printf("for 32bpp framebuffer\n");
+
+ /* get params */
+ tuxtxt_cache.vtxtpid = fb = lcd = rc = sx = ex = sy = ey = -1;
++ if (argc==1)
++ {
++ printf("\nUSAGE: tuxtxt vtpid\n");
++ printf("No PID given, so scanning for PIDs ...\n\n");
++ tuxtxt_cache.vtxtpid=0;
++ }
++ else
++ {
++ tuxtxt_cache.vtxtpid = atoi(argv[1]);
++ }
+
+- for (; par; par = par->next)
++ /* open Framebuffer */
++ if ((fb=open("/dev/fb/0", O_RDWR)) == -1)
+ {
+- if (!strcmp(par->id, P_ID_VTXTPID))
+- tuxtxt_cache.vtxtpid = atoi(par->val);
+- else if (!strcmp(par->id, P_ID_FBUFFER))
+- fb = atoi(par->val);
+- else if (!strcmp(par->id, P_ID_LCD))
+- lcd = atoi(par->val);
+- else if (!strcmp(par->id, P_ID_RCINPUT))
+- rc = atoi(par->val);
+- else if (!strcmp(par->id, P_ID_OFF_X))
+- sx = atoi(par->val);
+- else if (!strcmp(par->id, P_ID_END_X))
+- ex = atoi(par->val);
+- else if (!strcmp(par->id, P_ID_OFF_Y))
+- sy = atoi(par->val);
+- else if (!strcmp(par->id, P_ID_END_Y))
+- ey = atoi(par->val);
++ perror("TuxTxt <open /dev/fb/0>");
++ return 0;
+ }
+
++ rc=-1;
++ while(1)
++ {
++ struct stat s;
++ char tmp[128];
++ sprintf(tmp, "/dev/input/event%d", cnt);
++ if (stat(tmp, &s))
++ break;
++ /* open Remote Control */
++ if ((rc=open(tmp, O_RDONLY)) == -1)
++ {
++ perror("TuxTxt <open remote control>");
++ return 0;
++ }
++ if (ioctl(rc, EVIOCGNAME(128), tmp) < 0)
++ perror("EVIOCGNAME failed");
++ if (strstr(tmp, "remote control"))
++ break;
++ close(rc);
++ rc=-1;
++ ++cnt;
++ }
++
++ if (rc == -1)
++ {
++ printf("couldnt find correct input device!!!\n");
++ return -1;
++ }
++
++ fcntl(rc, F_SETFL, fcntl(rc, F_GETFL) | O_EXCL | O_NONBLOCK);
++
++ /* open LCD */
++ if ((lcd=open("/dev/dbox/lcd0", O_RDWR)) == -1)
++ {
++ perror("TuxTxt <open /dev/dbox/lcd0>");
++ return 0;
++ }
++
++ sx = 80;
++ ex = 620;
++ sy = 30;
++ ey = 555;
++
+ if (tuxtxt_cache.vtxtpid == -1 || fb == -1 || rc == -1 || sx == -1 || ex == -1 || sy == -1 || ey == -1)
+ {
+ printf("TuxTxt <Invalid Param(s)>\n");
+@@ -410,6 +463,7 @@
+ int vendor = 3; /* values unknown, rely on requested values */
+ #endif
+
++#if 0
+ if (vendor < 3) /* scart-parameters only known for 3 dboxes, FIXME: order must be like in info.h */
+ {
+ for (i = 0; i < 6; i++) /* FIXME: FBLK seems to cause troubles */
+@@ -442,6 +496,7 @@
+ perror("TuxTxt <ioctl(avs)>");
+ }
+ }
++#endif
+ continue; /* otherwise ignore exit key */
+ }
+ default:
+@@ -604,9 +659,10 @@
+ prev_10 = 0x100;
+ next_100 = 0x100;
+ next_10 = 0x100;
++ zoommode = 0;
+ tuxtxt_cache.subpage = tuxtxt_cache.subpagetable[tuxtxt_cache.page];
+ if (tuxtxt_cache.subpage == 0xff)
+- tuxtxt_cache.subpage = 0;
++ tuxtxt_cache.subpage = 0;
+
+ tuxtxt_cache.pageupdate = 0;
+
+@@ -701,6 +757,14 @@
+ dumpl25 = ival & 1;
+ else if (1 == sscanf(line, "UseTTF %i", &ival))
+ usettf = ival & 1;
++ else if (1 == sscanf(line, "StartX %i", &ival))
++ sx = ival;
++ else if (1 == sscanf(line, "EndX %i", &ival))
++ ex = ival;
++ else if (1 == sscanf(line, "StartY %i", &ival))
++ sy = ival;
++ else if (1 == sscanf(line, "EndY %i", &ival))
++ ey = ival;
+ }
+ fclose(conf);
+ }
+@@ -764,11 +828,8 @@
+ typettf.font.pix_height = (FT_UShort) 23;
+ }
+
+-#if HAVE_DVB_API_VERSION >= 3
+- typettf.flags = FT_LOAD_MONOCHROME;
+-#else
+ typettf.image_type = ftc_image_mono;
+-#endif
++
+ if ((error = FTC_Manager_Lookup_Face(manager, typettf.font.face_id, &face)))
+ {
+ typettf.font.face_id = (usettf ? (FTC_FaceID) TUXTXTTTF : TUXTXTOTB);
+@@ -896,46 +957,16 @@
+ tuxtxt_start(tuxtxt_cache.vtxtpid);
+ #endif
+
+- /* open avs */
+- if ((avs = open(AVS, O_RDWR)) == -1)
+- {
+- perror("TuxTxt <open AVS>");
+- FTC_Manager_Done(manager);
+- FT_Done_FreeType(library);
+- return 0;
+- }
+-
+- ioctl(avs, AVSIOGSCARTPIN8, &fnc_old);
+- ioctl(avs, AVSIOSSCARTPIN8, &fncmodes[screen_mode1]);
+-
+- /* open saa */
+- if ((saa = open(SAA, O_RDWR)) == -1)
+- {
+- perror("TuxTxt <open SAA>");
+- FTC_Manager_Done(manager);
+- FT_Done_FreeType(library);
+- return 0;
+- }
+-
+- ioctl(saa, SAAIOGWSS, &saa_old);
+- ioctl(saa, SAAIOSWSS, &saamodes[screen_mode1]);
+-
+- /* open pig */
+- if ((pig = open(PIG, O_RDWR)) == -1)
+- {
+- perror("TuxTxt <open PIG>");
+- FTC_Manager_Done(manager);
+- FT_Done_FreeType(library);
+- return 0;
+- }
+-
++ readproc("/proc/stb/denc/0/wss", saved_wss);
++ writeproc("/proc/stb/denc/0/wss", saamodes[screen_mode1]);
++
++ readproc("/proc/stb/avs/0/sb", saved_pin8);
++ writeproc("/proc/stb/avs/0/sb", fncmodes[screen_mode1]);
++
+ /* setup rc */
+ fcntl(rc, F_SETFL, O_NONBLOCK);
+ ioctl(rc, RC_IOCTL_BCODES, 1);
+
+-
+-
+-
+ gethotlist();
+ SwitchScreenMode(screenmode);
+ prevscreenmode = screenmode;
+@@ -957,7 +988,6 @@
+ /* hide and close pig */
+ if (screenmode)
+ SwitchScreenMode(0); /* turn off divided screen */
+- close(pig);
+
+ #if TUXTXT_CFG_STANDALONE
+ tuxtxt_stop_thread();
+@@ -965,12 +995,10 @@
+ if (tuxtxt_cache.dmx != -1)
+ close(tuxtxt_cache.dmx);
+ tuxtxt_cache.dmx = -1;
+-#else
+- tuxtxt_stop();
+ #endif
+ /* restore videoformat */
+- ioctl(avs, AVSIOSSCARTPIN8, &fnc_old);
+- ioctl(saa, SAAIOSWSS, &saa_old);
++ writeproc("/proc/stb/avs/0/sb", saved_pin8);
++ writeproc("/proc/stb/denc/0/wss", saved_wss);
+
+ if (restoreaudio)
+ {
+@@ -979,6 +1007,7 @@
+ #else
+ int vendor = 3; /* values unknown, rely on requested values */
+ #endif
++#if 0
+ if (vendor < 3) /* scart-parameters only known for 3 dboxes, FIXME: order must be like in info.h */
+ {
+ for (i = 1; i < 6; i += 2) /* restore dvb audio */
+@@ -988,6 +1017,7 @@
+ perror("TuxTxt <ioctl(avs)>");
+ }
+ }
++#endif
+ }
+ /* clear subtitlecache */
+ for (i = 0; i < SUBTITLE_CACHESIZE; i++)
+@@ -1003,12 +1033,8 @@
+ if (ioctl(fb, FBIOPAN_DISPLAY, &var_screeninfo) == -1)
+ perror("TuxTxt <FBIOPAN_DISPLAY>");
+ }
+- /* close avs */
+- close(avs);
+-
+- /* close saa */
+- close(saa);
+-
++ /* clear screen */
++ memset(lfb, 0, var_screeninfo.yres * fix_screeninfo.line_length);
+
+ /* close freetype */
+ FTC_Manager_Done(manager);
+@@ -1017,7 +1043,17 @@
+ /* unmap framebuffer */
+ munmap(lfb, fix_screeninfo.smem_len);
+
++ /* close lcd */
++ close(lcd);
++
++ /* close rc */
++ close(rc);
+
++ /* close framebuffer */
++ close(fb);
++
++ lcd = rc = fb = -1;
++
+ if (hotlistchanged)
+ savehotlist();
+
+@@ -1050,6 +1086,10 @@
+ fprintf(conf, "ShowLevel2p5 %d\n", showl25);
+ fprintf(conf, "DumpLevel2p5 %d\n", dumpl25);
+ fprintf(conf, "UseTTF %d\n", usettf);
++ fprintf(conf, "StartX %d\n", sx);
++ fprintf(conf, "EndX %d\n", ex);
++ fprintf(conf, "StartY %d\n", sy);
++ fprintf(conf, "EndY %d\n", ey);
+ fclose(conf);
+ }
+ }
+@@ -1714,6 +1754,7 @@
+ memset(&menu[Menu_Width*MenuLine[M_COL] + 3+color_mode ], 0x20,24-color_mode);
+ Menu_HighlightLine(menu, MenuLine[menuitem], 1);
+ setcolors((unsigned short *)tuxtxt_defaultcolors, 0, SIZECOLTABLE);
++ Menu_Init(menu, current_pid, menuitem, hotindex);
+ break;
+ case M_TRA:
+ saveconfig = 1;
+@@ -1725,6 +1766,7 @@
+ memset(&menu[Menu_Width*MenuLine[M_TRA] + 3+trans_mode ], 0x20,24-trans_mode);
+ Menu_HighlightLine(menu, MenuLine[menuitem], 1);
+ setcolors((unsigned short *)tuxtxt_defaultcolors, 0, SIZECOLTABLE);
++ Menu_Init(menu, current_pid, menuitem, hotindex);
+ break;
+ case M_PID:
+ {
+@@ -1834,6 +1876,7 @@
+ memset(&menu[Menu_Width*MenuLine[M_COL] + 3+color_mode ], 0x20,24-color_mode);
+ Menu_HighlightLine(menu, MenuLine[menuitem], 1);
+ setcolors((unsigned short *)tuxtxt_defaultcolors, 0, SIZECOLTABLE);
++ Menu_Init(menu, current_pid, menuitem, hotindex);
+ break;
+ case M_TRA:
+ saveconfig = 1;
+@@ -1845,6 +1888,7 @@
+ memset(&menu[Menu_Width*MenuLine[M_TRA] + 3+trans_mode ], 0x20,24-trans_mode);
+ Menu_HighlightLine(menu, MenuLine[menuitem], 1);
+ setcolors((unsigned short *)tuxtxt_defaultcolors, 0, SIZECOLTABLE);
++ Menu_Init(menu, current_pid, menuitem, hotindex);
+ break;
+ case M_PID:
+ if (!getpidsdone)
+@@ -2152,8 +2196,8 @@
+ memcpy(&menu[Menu_Width*MenuLine[M_SC1] + Menu_Width - 5], &configonoff[menulanguage][screen_mode1 ? 3 : 0], 3);
+ Menu_HighlightLine(menu, MenuLine[menuitem], 1);
+
+- ioctl(avs, AVSIOSSCARTPIN8, &fncmodes[screen_mode1]);
+- ioctl(saa, SAAIOSWSS, &saamodes[screen_mode1]);
++ writeproc("/proc/stb/avs/0/sb", fncmodes[screen_mode1]);
++ writeproc("/proc/stb/denc/0/wss", saamodes[screen_mode1]);
+
+ break;
+
+@@ -2280,7 +2324,8 @@
+ }
+
+ /* generate pagenumber */
+- temp_page |= Number << inputcounter*4;
++ if (inputcounter >= 0)
++ temp_page |= Number << inputcounter*4;
+
+ inputcounter--;
+
+@@ -2720,9 +2765,9 @@
+
+ void SwitchScreenMode(int newscreenmode)
+ {
+-#if HAVE_DVB_API_VERSION >= 3
++
+ struct v4l2_format format;
+-#endif
++
+ /* reset transparency mode */
+ if (transpmode)
+ transpmode = 0;
+@@ -2782,42 +2827,53 @@
+
+ setfontwidth(fw);
+
+-#if HAVE_DVB_API_VERSION < 3
+- avia_pig_hide(pig);
+- avia_pig_set_pos(pig, tx, ty);
+- avia_pig_set_size(pig, tw, th);
+- avia_pig_set_stack(pig, 2);
+- avia_pig_show(pig);
+-#else
+- int sm = 0;
+- ioctl(pig, VIDIOC_OVERLAY, &sm);
+- sm = 1;
+- ioctl(pig, VIDIOC_G_FMT, &format);
+- format.type = V4L2_BUF_TYPE_VIDEO_OVERLAY;
+- format.fmt.win.w.left = tx;
+- format.fmt.win.w.top = ty;
+- format.fmt.win.w.width = tw;
+- format.fmt.win.w.height = th;
+- ioctl(pig, VIDIOC_S_FMT, &format);
+- ioctl(pig, VIDIOC_OVERLAY, &sm);
+-#endif
+- ioctl(avs, AVSIOSSCARTPIN8, &fncmodes[screen_mode2]);
+- ioctl(saa, SAAIOSWSS, &saamodes[screen_mode2]);
++ // Video picture scale/pos for e2
++ int i;
++ for (i=0; i<4; ++i)
++ {
++ char *targets[]={"left", "top", "width", "height"};
++ char filename[128];
++ snprintf(filename, 128, "/proc/stb/vmpeg/%d/dst_%s", 0, targets[i]);
++ FILE *f = fopen(filename, "w");
++ if (!f)
++ break;
++ int val = 0;
++ switch (i)
++ {
++ case 0: val = tx; break;
++ case 1: val = ty; break;
++ case 2: val = tw; break;
++ case 3: val = th; break;
++ }
++ fprintf(f, "%08x\n", val);
++ fclose(f);
++ }
++
++ writeproc("/proc/stb/avs/0/sb", fncmodes[screen_mode2]);
++ writeproc("/proc/stb/denc/0/wss", saamodes[screen_mode2]);
+ }
+ else /* not split */
+ {
+-#if HAVE_DVB_API_VERSION < 3
+- avia_pig_hide(pig);
+-#else
+- ioctl(pig, VIDIOC_OVERLAY, &screenmode);
+-#endif
+-
++ // Video picture scale/pos for e2
++ int i;
++ for (i=0; i<4; ++i)
++ {
++ char *targets[]={"left", "top", "width", "height"};
++ char filename[128];
++ snprintf(filename, 128, "/proc/stb/vmpeg/%d/dst_%s", 0, targets[i]);
++ FILE *f = fopen(filename, "w");
++ if (!f)
++ break;
++ fprintf(f, "%08x\n", 0);
++ fclose(f);
++ }
++
+ setfontwidth(fontwidth_normal);
+ displaywidth= (ex-sx);
+ StartX = sx; //+ (ex-sx - 40*fontwidth) / 2; /* center screen */
+
+- ioctl(avs, AVSIOSSCARTPIN8, &fncmodes[screen_mode1]);
+- ioctl(saa, SAAIOSWSS, &saamodes[screen_mode1]);
++ writeproc("/proc/stb/avs/0/sb", fncmodes[screen_mode1]);
++ writeproc("/proc/stb/denc/0/wss", saamodes[screen_mode1]);
+ }
+ }
+
+@@ -2851,8 +2907,8 @@
+ else if (transpmode == 1) /* semi-transparent BG with FG text */
+ {
+ /* restore videoformat */
+- ioctl(avs, AVSIOSSCARTPIN8, &fnc_old);
+- ioctl(saa, SAAIOSWSS, &saa_old);
++ writeproc("/proc/stb/avs/0/sb", saved_pin8);
++ writeproc("/proc/stb/denc/0/wss", saved_wss);
+
+ ClearBB(transp);
+ tuxtxt_cache.pageupdate = 1;
+@@ -2860,8 +2916,8 @@
+ else /* TV mode */
+ {
+ /* restore videoformat */
+- ioctl(avs, AVSIOSSCARTPIN8, &fnc_old);
+- ioctl(saa, SAAIOSWSS, &saa_old);
++ writeproc("/proc/stb/avs/0/sb", saved_pin8);
++ writeproc("/proc/stb/denc/0/wss", saved_wss);
+
+ ClearFB(transp);
+ clearbbcolor = tuxtxt_cache.FullScrColor;
+@@ -2912,7 +2968,7 @@
+ PosX += t;
+ int curfontwidth2 = GetCurFontWidth();
+ PosX -= t;
+- int alphachar = tuxtxt_RenderChar(lfb+(yoffset+StartY)*var_screeninfo.xres, var_screeninfo.xres,Char, &PosX, PosY-StartY, Attribute, zoom, curfontwidth, curfontwidth2, fontheight, transpmode,axdrcs, ascender);
++ int alphachar = tuxtxt_RenderChar(lfb+(yoffset+StartY)*fix_screeninfo.line_length, fix_screeninfo.line_length, Char, &PosX, PosY-StartY, Attribute, zoom, curfontwidth, curfontwidth2, fontheight, transpmode,axdrcs, ascender);
+ if (alphachar <= 0) return;
+
+ if (zoom && Attribute->doubleh)
+@@ -2945,22 +3001,18 @@
+ #if TUXTXT_DEBUG
+ printf("TuxTxt <FT_Get_Char_Index for Char %x \"%c\" failed\n", alphachar, alphachar);
+ #endif
+- tuxtxt_FillRect(lfb,var_screeninfo.xres,PosX, PosY + yoffset, curfontwidth, factor*fontheight, bgcolor);
++ tuxtxt_FillRect(lfb,fix_screeninfo.line_length,PosX, PosY + yoffset, curfontwidth, factor*fontheight, bgcolor);
+ PosX += curfontwidth;
+ return;
+ }
+
+-#if HAVE_DVB_API_VERSION >= 3
+- if ((error = FTC_SBitCache_Lookup(cache, &typettf, glyph, &sbit, NULL)) != 0)
+-#else
+ if ((error = FTC_SBit_Cache_Lookup(cache, &typettf, glyph, &sbit)) != 0)
+-#endif
+ {
+ #if TUXTXT_DEBUG
+ printf("TuxTxt <FTC_SBitCache_Lookup: 0x%x> c%x a%x g%x w%d h%d x%d y%d\n",
+ error, alphachar, Attribute, glyph, curfontwidth, fontheight, PosX, PosY);
+ #endif
+- tuxtxt_FillRect(lfb,var_screeninfo.xres,PosX, PosY + yoffset, curfontwidth, fontheight, bgcolor);
++ tuxtxt_FillRect(lfb,fix_screeninfo.line_length,PosX, PosY + yoffset, curfontwidth, fontheight, bgcolor);
+ PosX += curfontwidth;
+ return;
+ }
+@@ -2981,11 +3033,7 @@
+ Char = G2table[0][0x20+ Attribute->diacrit];
+ if ((glyph = FT_Get_Char_Index(face, Char)))
+ {
+-#if HAVE_DVB_API_VERSION >= 3
+- if ((error = FTC_SBitCache_Lookup(cache, &typettf, glyph, &sbit_diacrit, NULL)) == 0)
+-#else
+ if ((error = FTC_SBit_Cache_Lookup(cache, &typettf, glyph, &sbit_diacrit)) == 0)
+-#endif
+ {
+ sbitbuffer = localbuffer;
+ memcpy(sbitbuffer,sbit->buffer,sbit->pitch*sbit->height);
+@@ -3013,13 +3061,13 @@
+ Row = 0;
+ }
+ else
+- tuxtxt_FillRect(lfb,var_screeninfo.xres,PosX, PosY + yoffset, curfontwidth, Row, bgcolor); /* fill upper margin */
++ tuxtxt_FillRect(lfb,fix_screeninfo.line_length,PosX, PosY + yoffset, curfontwidth, Row, bgcolor); /* fill upper margin */
+
+ if (ascender - sbit->top + TTFShiftY + he > fontheight)
+ he = fontheight - ascender + sbit->top - TTFShiftY; /* limit char height to defined/calculated fontheight */
+
+
+- p = lfb + PosX + (yoffset + PosY + Row) * var_screeninfo.xres; /* running pointer into framebuffer */
++ p = lfb + PosX*4 + (yoffset + PosY + Row) * fix_screeninfo.line_length; /* running pointer into framebuffer */
+ for (Row = he; Row; Row--) /* row counts up, but down may be a little faster :) */
+ {
+ int pixtodo = (usettf ? sbit->width : curfontwidth);
+@@ -3028,8 +3076,8 @@
+ for (Bit = xfactor * (sbit->left + TTFShiftX); Bit > 0; Bit--) /* fill left margin */
+ {
+ for (f = factor-1; f >= 0; f--)
+- *(p + f*var_screeninfo.xres) = bgcolor;
+- p++;
++ memcpy((p + f*fix_screeninfo.line_length),bgra[bgcolor],4);/*bgcolor*/
++ p+=4;
+ if (!usettf)
+ pixtodo--;
+ }
+@@ -3049,14 +3097,15 @@
+ color = bgcolor;
+
+ for (f = factor-1; f >= 0; f--)
+- *(p + f*var_screeninfo.xres) = color;
+- p++;
++ memcpy((p + f*fix_screeninfo.line_length),bgra[color],4);
++ p+=4;
+
+ if (xfactor > 1) /* double width */
+ {
+ for (f = factor-1; f >= 0; f--)
+- *(p + f*var_screeninfo.xres) = color;
+- p++;
++ memcpy((p + f*fix_screeninfo.line_length),bgra[color],4);
++ p+=4;
++
+ if (!usettf)
+ pixtodo--;
+ }
+@@ -3067,17 +3116,17 @@
+ Bit > 0; Bit--) /* fill rest of char width */
+ {
+ for (f = factor-1; f >= 0; f--)
+- *(p + f*var_screeninfo.xres) = bgcolor;
+- p++;
++ memcpy((p + f*fix_screeninfo.line_length),bgra[bgcolor],4);
++ p+=4;
+ }
+
+- p = pstart + factor*var_screeninfo.xres;
++ p = pstart + factor*fix_screeninfo.line_length;
+ }
+
+ Row = ascender - sbit->top + he + TTFShiftY;
+- tuxtxt_FillRect(lfb,var_screeninfo.xres,PosX, PosY + yoffset + Row*factor, curfontwidth, (fontheight - Row) * factor, bgcolor); /* fill lower margin */
++ tuxtxt_FillRect(lfb,fix_screeninfo.line_length,PosX, PosY + yoffset + Row*factor, curfontwidth, (fontheight - Row) * factor, bgcolor); /* fill lower margin */
+ if (Attribute->underline)
+- tuxtxt_FillRect(lfb,var_screeninfo.xres,PosX, PosY + yoffset + (fontheight-2)* factor, curfontwidth,2*factor, fgcolor); /* underline char */
++ tuxtxt_FillRect(lfb,fix_screeninfo.line_length,PosX, PosY + yoffset + (fontheight-2)* factor, curfontwidth,2*factor, fgcolor); /* underline char */
+
+ PosX += curfontwidth;
+ }
+@@ -3462,11 +3511,11 @@
+
+ for (row = 0; row < DRCSROWS; row++)
+ for (col = 0; col < DRCSCOLS; col++)
+- tuxtxt_RenderDRCS(var_screeninfo.xres,
++ tuxtxt_RenderDRCS(fix_screeninfo.line_length,
+ page_char + 20 * (DRCSCOLS * row + col + 2),
+ lfb
+- + (StartY + fontheight + DRCSYSPC * row + var_screeninfo.yres - var_screeninfo.yoffset) * var_screeninfo.xres
+- + StartX + DRCSXSPC * col,
++ + (StartY + fontheight + DRCSYSPC * row + var_screeninfo.yres - var_screeninfo.yoffset) * fix_screeninfo.line_length
++ + (StartX + DRCSXSPC * col)*4,
+ ax, white, black);
+
+ memset(page_char + 40, 0xff, 24*40); /* don't render any char below row 0 */
+@@ -3559,13 +3608,13 @@
+ pageinfo = p;
+ boxed = p->boxed;
+ }
++ if (tuxtxt_cache.colortable)
++ setcolors(tuxtxt_cache.colortable, 16, 16); /* set colors for CLUTs 2+3 */
+ if (boxed || transpmode)
+ // tuxtxt_cache.FullScrColor = transp;
+ FillBorder(transp);
+ else
+ FillBorder(tuxtxt_cache.FullScrColor);
+- if (tuxtxt_cache.colortable) /* as late as possible to shorten the time the old page is displayed with the new colors */
+- setcolors(tuxtxt_cache.colortable, 16, 16); /* set colors for CLUTs 2+3 */
+ }
+ else
+ startrow = 1;
+@@ -3698,7 +3747,7 @@
+ if (boxed)
+ {
+ PosX = StartX + column*width;
+- tuxtxt_FillRect(lfb,var_screeninfo.xres,PosX, PosY+yoffset, displaywidth, fontheight, transp);
++ tuxtxt_FillRect(lfb,fix_screeninfo.line_length,PosX, PosY+yoffset, displaywidth, fontheight, transp);
+ return;
+ }
+
+@@ -3709,7 +3758,7 @@
+
+ if (l > 9) /* smaller font, if no space for one half space at front and end */
+ setfontwidth(oldfontwidth * 10 / (l+1));
+- tuxtxt_FillRect(lfb,var_screeninfo.xres,PosX, PosY+yoffset, width+(displaywidth%4), fontheight, atrtable[ATR_L250 + column].bg);
++ tuxtxt_FillRect(lfb,fix_screeninfo.line_length,PosX, PosY+yoffset, width+(displaywidth%4), fontheight, atrtable[ATR_L250 + column].bg);
+ PosX += ((width) - (l*fontwidth+l*fontwidth/abx))/2; /* center */
+ for (p = tuxtxt_cache.adip[linkpage]; *p; p++)
+ RenderCharBB(*p, &atrtable[ATR_L250 + column]);
+@@ -3718,7 +3767,7 @@
+ else /* display number */
+ {
+ PosX = StartX + column*width;
+- tuxtxt_FillRect(lfb,var_screeninfo.xres,PosX, PosY+yoffset, displaywidth+sx-PosX, fontheight, atrtable[ATR_L250 + column].bg);
++ tuxtxt_FillRect(lfb,fix_screeninfo.line_length,PosX, PosY+yoffset, displaywidth+sx-PosX, fontheight, atrtable[ATR_L250 + column].bg);
+ if (linkpage < tuxtxt_cache.page)
+ {
+ line[6] = '<';
+@@ -3888,7 +3937,7 @@
+ void CopyBB2FB()
+ {
+ unsigned char *src, *dst, *topsrc;
+- int fillcolor, i, screenwidth;
++ int fillcolor, i, screenwidth, swtmp;
+
+ /* line 25 */
+ if (!pagecatching)
+@@ -3905,8 +3954,8 @@
+ if (ioctl(fb, FBIOPAN_DISPLAY, &var_screeninfo) == -1)
+ perror("TuxTxt <FBIOPAN_DISPLAY>");
+
+- if (StartX > 0 && *lfb != *(lfb + var_screeninfo.xres * var_screeninfo.yres)) /* adapt background of backbuffer if changed */
+- FillBorder(*(lfb + var_screeninfo.xres * var_screeninfo.yoffset));
++ if (StartX > 0 && *lfb != *(lfb + fix_screeninfo.line_length * var_screeninfo.yres)) /* adapt background of backbuffer if changed */
++ FillBorder(*(lfb + fix_screeninfo.line_length * var_screeninfo.yoffset));
+ // ClearBB(*(lfb + var_screeninfo.xres * var_screeninfo.yoffset));
+
+ if (clearbbcolor >= 0)
+@@ -3917,18 +3966,18 @@
+ return;
+ }
+
+- src = dst = topsrc = lfb + StartY*var_screeninfo.xres;
++ src = dst = topsrc = lfb + StartY*fix_screeninfo.line_length;
+
+
+ if (var_screeninfo.yoffset)
+- dst += var_screeninfo.xres * var_screeninfo.yres;
++ dst += fix_screeninfo.line_length * var_screeninfo.yres;
+ else
+ {
+- src += var_screeninfo.xres * var_screeninfo.yres;
+- topsrc += var_screeninfo.xres * var_screeninfo.yres;
++ src += fix_screeninfo.line_length * var_screeninfo.yres;
++ topsrc += fix_screeninfo.line_length * var_screeninfo.yres;
+ }
+ if (!pagecatching )
+- memcpy(dst+(24*fontheight)*var_screeninfo.xres, src + (24*fontheight)*var_screeninfo.xres, var_screeninfo.xres*fontheight); /* copy line25 in normal height */
++ memcpy(dst+(24*fontheight)*fix_screeninfo.line_length, src + (24*fontheight)*fix_screeninfo.line_length, fix_screeninfo.line_length*fontheight); /* copy line25 in normal height */
+
+ if (transpmode)
+ fillcolor = transp;
+@@ -3936,47 +3985,54 @@
+ fillcolor = tuxtxt_cache.FullScrColor;
+
+ if (zoommode == 2)
+- src += 12*fontheight*var_screeninfo.xres;
++ src += 12*fontheight*fix_screeninfo.line_length;
+
+ if (screenmode == 1) /* copy topmenu in normal height (since PIG also keeps dimensions) */
+ {
+ unsigned char *topdst = dst;
+
+- screenwidth = TV43STARTX;
++ screenwidth = ( TV43STARTX ) * 4;
+
+ topsrc += screenwidth;
+ topdst += screenwidth;
+ for (i=0; i < 24*fontheight; i++)
+ {
+ memcpy(topdst, topsrc,ex-screenwidth);
+- topdst += var_screeninfo.xres;
+- topsrc += var_screeninfo.xres;
++ topdst += fix_screeninfo.line_length;
++ topsrc += fix_screeninfo.line_length;
+ }
+ }
+ else if (screenmode == 2)
+- screenwidth = TV169FULLSTARTX;
++ screenwidth = ( TV169FULLSTARTX ) * 4;
+ else
+- screenwidth = var_screeninfo.xres;
++ screenwidth = fix_screeninfo.line_length;
+
+ for (i = StartY; i>0;i--)
+ {
+- memset(dst - i*var_screeninfo.xres, fillcolor, screenwidth);
++ for (swtmp=0; swtmp<screenwidth/4; swtmp++)
++ {
++ memcpy(dst - i*fix_screeninfo.line_length+swtmp*4, bgra[fillcolor], 4);
++ }
+ }
+
+ for (i = 12*fontheight; i; i--)
+ {
+ memcpy(dst, src, screenwidth);
+- dst += var_screeninfo.xres;
++ dst += fix_screeninfo.line_length;
+ memcpy(dst, src, screenwidth);
+- dst += var_screeninfo.xres;
+- src += var_screeninfo.xres;
++ dst += fix_screeninfo.line_length;
++ src += fix_screeninfo.line_length;
+ }
+
+ // if (!pagecatching )
+ // memcpy(dst, lfb + (StartY+24*fontheight)*var_screeninfo.xres, var_screeninfo.xres*fontheight); /* copy line25 in normal height */
+- for (i = var_screeninfo.yres - StartY - 25*fontheight; i >= 0;i--)
++ dst -= fix_screeninfo.line_length;
++ for (i = var_screeninfo.yres - StartY - 25 * fontheight; i >= 0;i--)
+ {
+- memset(dst + var_screeninfo.xres*(fontheight+i), fillcolor, screenwidth);
++ for (swtmp=0; swtmp < screenwidth/4;swtmp++)
++ {
++ memcpy(dst + fix_screeninfo.line_length*(fontheight+i)+swtmp*4, bgra[fillcolor], 4);
++ }
+ }
+ }
+
+@@ -4204,8 +4260,8 @@
+ case KEY_VOLUMEDOWN: RCCode = RC_MINUS; break;
+ case KEY_MUTE: RCCode = RC_MUTE; break;
+ case KEY_HELP: RCCode = RC_HELP; break;
+- case KEY_SETUP: RCCode = RC_DBOX; break;
+- case KEY_HOME: RCCode = RC_HOME; break;
++ case KEY_MENU: RCCode = RC_DBOX; break;
++ case KEY_EXIT: RCCode = RC_HOME; break;
+ case KEY_POWER: RCCode = RC_STANDBY; break;
+ }
+ return 1;
+@@ -4234,10 +4290,3 @@
+
+ return 0;
+ }
+-/* Local Variables: */
+-/* indent-tabs-mode:t */
+-/* tab-width:3 */
+-/* c-basic-offset:3 */
+-/* comment-column:0 */
+-/* fill-column:120 */
+-/* End: */
+Only in tuxtxt.e1: tuxtxt.c.orig
+diff -ru tuxtxt.e1/tuxtxt.h tuxtxt/tuxtxt.h
+--- tuxtxt.e1/tuxtxt.h 2008-05-21 09:21:06.000000000 +0200
++++ tuxtxt/tuxtxt.h 2008-05-27 09:44:33.000000000 +0200
+@@ -1,3 +1,6 @@
++#ifndef __tuxtxt_h__
++#define __tuxtxt_h__
++
+ /******************************************************************************
+ * <<< TuxTxt - Teletext Plugin >>> *
+ * *
+@@ -6,7 +9,13 @@
+ * continued 2004-2005 by Roland Meier <RolandMeier@Siemens.com> *
+ * and DBLuelle <dbluelle@blau-weissoedingen.de> *
+ * *
+- ******************************************************************************/
++ * ported 2006 to Dreambox 7025 / 32Bit framebuffer *
++ * by Seddi <seddi@i-have-a-dreambox.com> *
++ * *
++ * ported 32Bit framebuffer to Tuxtxt v1.99 (2008) *
++ * by the PLi team (Sat-Turner) *
++ * *
++******************************************************************************/
+
+ #define TUXTXT_CFG_STANDALONE 0 // 1:plugin only 0:use library
+ #define TUXTXT_DEBUG 0
+@@ -41,7 +50,6 @@
+ #include <dbox/avs_core.h>
+ #include <dbox/saa7126_core.h>
+ #include <dbox/fp.h>
+-#include <plugin.h>
+ #include <dbox/lcd-ks0713.h>
+
+
+@@ -66,6 +74,7 @@
+ #include "tuxtxt_common.h"
+ #else
+ /* variables and functions from libtuxtxt */
++extern unsigned char bgra[][4];
+ extern tuxtxt_cache_struct tuxtxt_cache;
+ extern int tuxtxt_init();
+ extern void tuxtxt_close();
+@@ -205,11 +214,7 @@
+ FTC_Manager manager;
+ FTC_SBitCache cache;
+ FTC_SBit sbit;
+-#if HAVE_DVB_API_VERSION < 3
+ #define FONTTYPE FTC_Image_Desc
+-#else
+-#define FONTTYPE FTC_ImageTypeRec
+-#endif
+
+ FT_Face face;
+ FONTTYPE typettf;
+@@ -247,7 +252,7 @@
+ int hotlist[10];
+ int maxhotlist;
+
+-int pig, avs, saa, rc, fb, lcd;
++int rc, fb, lcd;
+ int sx, ex, sy, ey;
+ int PosX, PosY, StartX, StartY;
+ int lastpage;
+@@ -256,7 +261,7 @@
+ char dumpl25;
+ int catch_row, catch_col, catched_page, pagecatching;
+ int prev_100, prev_10, next_10, next_100;
+-int fnc_old, saa_old, screen_mode1, screen_mode2, color_mode, trans_mode, auto_national, swapupdown, showhex, menulanguage;
++int screen_mode1, screen_mode2, color_mode, trans_mode, auto_national, swapupdown, showhex, menulanguage;
+ int pids_found, current_service, getpidsdone;
+ int SDT_ready;
+ int pc_old_row, pc_old_col; /* for page catching */
+@@ -267,8 +272,8 @@
+ unsigned char axdrcs[12+1+10+1];
+ #define aydrcs (axdrcs + 12+1)
+ tstPageinfo *pageinfo = 0;/* pointer to cached info of last decoded page */
+-const int fncmodes[] = {AVS_FNCOUT_EXT43, AVS_FNCOUT_EXT169};
+-const int saamodes[] = {SAA_WSS_43F, SAA_WSS_169F};
++const char * fncmodes[] = {"12", "6"};
++const char * saamodes[] = {"4:3_full_format", "16:9_full_format"};
+
+ struct timeval tv_delay;
+ int subtitledelay, delaystarted;
+@@ -847,7 +852,7 @@
+ //unsigned short page_atrb[40 * 25]; /* ?????:h:cc:bbbb:ffff -> ?=reserved, h=double height, c=charset (0:G0 / 1:G1c / 2:G1s), b=background, f=foreground */
+
+
+-/* colormaps */
++/* colormap */
+
+ unsigned short rd0[] = {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0x00<<8, 0x00<<8, 0x00<<8, 0, 0 };
+ unsigned short gn0[] = {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0x20<<8, 0x10<<8, 0x20<<8, 0, 0 };
+@@ -1227,3 +1232,5 @@
+ /* comment-column:0 */
+ /* fill-column:120 */
+ /* End: */
++
++#endif
--- /dev/null
+diff -Naur tuxtxt_org/tuxtxt2.conf tuxtxt_32bpp/tuxtxt2.conf
+--- tuxtxt/tuxtxt2.conf 1970-01-01 01:00:00.000000000 +0100
++++ tuxtxt/tuxtxt2.conf 2006-03-10 22:07:15.000000000 +0100
+@@ -0,0 +1,23 @@
++ScreenMode16x9Normal 1
++ScreenMode16x9Divided 1
++Brightness 10
++MenuLanguage 1
++AutoNational 1
++NationalSubset 5
++SwapUpDown 0
++ShowHexPages 0
++Transparency 0xA
++TTFWidthFactor16 28
++TTFHeightFactor16 16
++TTFShiftX 0
++TTFShiftY 0
++Screenmode 0
++ShowFLOF 1
++Show39 1
++ShowLevel2p5 1
++DumpLevel2p5 0
++UseTTF 0
++StartX 50
++EndX 670
++StartY 30
++EndY 555
+diff -Naur tuxtxt_org/tuxtxt.conf tuxtxt_32bpp/tuxtxt.conf
+--- tuxtxt/tuxtxt.conf 2006-03-10 22:13:26.000000000 +0100
++++ tuxtxt/tuxtxt.conf 1970-01-01 01:00:00.000000000 +0100
+@@ -1,5 +0,0 @@
+-ScreenMode16x9Normal 0
+-ScreenMode16x9Divided 0
+-ColorDimmed 1
+-AutoNational 1
+-NationalSubset 4
--- /dev/null
+--- ~/tuxtxt.c 2008-09-03 20:07:53.000000000 +0200
++++ ~/tuxtxt.c 2008-09-04 10:54:47.000000000 +0200
+@@ -243,7 +243,11 @@
+ int i;
+ fontwidth = newwidth;
+ if (usettf)
++#if ((defined(FREETYPE_MAJOR)) && (((FREETYPE_MAJOR == 2) && (((FREETYPE_MINOR == 1) && (FREETYPE_PATCH >= 9)) || (FREETYPE_MINOR > 1))) || (FREETYPE_MAJOR > 2)))
++ typettf.width = (FT_UShort) fontwidth * TTFWidthFactor16 / 16;
++#else
+ typettf.font.pix_width = (FT_UShort) fontwidth * TTFWidthFactor16 / 16;
++#endif
+ else
+ {
+ if (newwidth < 11)
+@@ -252,7 +256,11 @@
+ newwidth = 22;
+ else
+ newwidth = 23;
++#if ((defined(FREETYPE_MAJOR)) && (((FREETYPE_MAJOR == 2) && (((FREETYPE_MINOR == 1) && (FREETYPE_PATCH >= 9)) || (FREETYPE_MINOR > 1))) || (FREETYPE_MAJOR > 2)))
++ typettf.width = typettf.height = (FT_UShort) newwidth;
++#else
+ typettf.font.pix_width = typettf.font.pix_height = (FT_UShort) newwidth;
++#endif
+ }
+ for (i = 0; i <= 12; i++)
+ axdrcs[i] = (fontwidth * i + 6) / 12;
+@@ -808,22 +816,43 @@
+
+ if (usettf)
+ {
++#if ((defined(FREETYPE_MAJOR)) && (((FREETYPE_MAJOR == 2) && (((FREETYPE_MINOR == 1) && (FREETYPE_PATCH >= 9)) || (FREETYPE_MINOR > 1))) || (FREETYPE_MAJOR > 2)))
++ typettf.face_id = (FTC_FaceID) TUXTXTTTFVAR;
++ typettf.height = (FT_UShort) fontheight * TTFHeightFactor16 / 16;
++#else
+ typettf.font.face_id = (FTC_FaceID) TUXTXTTTFVAR;
+ typettf.font.pix_height = (FT_UShort) fontheight * TTFHeightFactor16 / 16;
++#endif
+ }
+ else
+ {
++#if ((defined(FREETYPE_MAJOR)) && (((FREETYPE_MAJOR == 2) && (((FREETYPE_MINOR == 1) && (FREETYPE_PATCH >= 9)) || (FREETYPE_MINOR > 1))) || (FREETYPE_MAJOR > 2)))
++ typettf.face_id = (FTC_FaceID) TUXTXTOTBVAR;
++ typettf.width = (FT_UShort) 23;
++ typettf.height = (FT_UShort) 23;
++#else
+ typettf.font.face_id = (FTC_FaceID) TUXTXTOTBVAR;
+ typettf.font.pix_width = (FT_UShort) 23;
+ typettf.font.pix_height = (FT_UShort) 23;
++#endif
+ }
+-
++#if ((defined(FREETYPE_MAJOR)) && (((FREETYPE_MAJOR == 2) && (((FREETYPE_MINOR == 1) && (FREETYPE_PATCH >= 9)) || (FREETYPE_MINOR > 1))) || (FREETYPE_MAJOR > 2)))
++ typettf.flags = FT_LOAD_MONOCHROME;
++#else
+ typettf.image_type = ftc_image_mono;
++#endif
+
++#if ((defined(FREETYPE_MAJOR)) && (((FREETYPE_MAJOR == 2) && (((FREETYPE_MINOR == 1) && (FREETYPE_PATCH >= 9)) || (FREETYPE_MINOR > 1))) || (FREETYPE_MAJOR > 2)))
++ if ((error = FTC_Manager_Lookup_Face(manager, typettf.face_id, &face)))
++ {
++ typettf.face_id = (usettf ? (FTC_FaceID) TUXTXTTTF : TUXTXTOTB);
++ if ((error = FTC_Manager_Lookup_Face(manager, typettf.face_id, &face)))
++#else
+ if ((error = FTC_Manager_Lookup_Face(manager, typettf.font.face_id, &face)))
+ {
+ typettf.font.face_id = (usettf ? (FTC_FaceID) TUXTXTTTF : TUXTXTOTB);
+ if ((error = FTC_Manager_Lookup_Face(manager, typettf.font.face_id, &face)))
++#endif
+ {
+ printf("TuxTxt <FTC_Manager_Lookup_Face failed with Errorcode 0x%.2X>\n", error);
+ FTC_Manager_Done(manager);
+--- ~/tuxtxt.h 2008-09-03 20:07:53.000000000 +0200
++++ ~/tuxtxt.h 2008-09-04 10:54:18.000000000 +0200
+@@ -210,6 +210,13 @@
+ struct fb_fix_screeninfo fix_screeninfo;
+
+ /* freetype stuff */
++#if ((defined(FREETYPE_MAJOR)) && (((FREETYPE_MAJOR == 2) && (((FREETYPE_MINOR == 1) && (FREETYPE_PATCH >= 9)) || (FREETYPE_MINOR > 1))) || (FREETYPE_MAJOR > 2)))
++typedef FTC_ImageTypeRec FTC_Image_Desc;
++typedef FTC_SBitCache FTC_SBit_Cache;
++#define FTC_SBit_Cache_New(a,b) FTC_SBitCache_New(a,b)
++#define FTC_SBit_Cache_Lookup(a,b,c,d) FTC_SBitCache_Lookup(a,b,c,d,NULL)
++#define FTC_Manager_Lookup_Face(a,b,c) FTC_Manager_LookupFace(a,b,c)
++#endif
+ FT_Library library;
+ FTC_Manager manager;
+ FTC_SBitCache cache;
--- /dev/null
+--- ~/tuxtxt.c 2008-09-09 22:34:39.000000000 +0200
++++ ~/tuxtxt.c 2008-09-10 19:03:07.000000000 +0200
+@@ -867,15 +867,6 @@
+ ymosaic[0], ymosaic[1], ymosaic[2], StartX, StartY, ascender);
+ #endif
+
+- /* get fixed screeninfo */
+- if (ioctl(fb, FBIOGET_FSCREENINFO, &fix_screeninfo) == -1)
+- {
+- perror("TuxTxt <FBIOGET_FSCREENINFO>");
+- FTC_Manager_Done(manager);
+- FT_Done_FreeType(library);
+- return 0;
+- }
+-
+ /* get variable screeninfo */
+ if (ioctl(fb, FBIOGET_VSCREENINFO, &var_screeninfo) == -1)
+ {
+@@ -885,6 +876,11 @@
+ return 0;
+ }
+
++ var_screeninfo_original = var_screeninfo;
++
++ var_screeninfo.xres = 720;
++ var_screeninfo.yres = 576;
++
+ /* set variable screeninfo for double buffering */
+ var_screeninfo.yres_virtual = 2*var_screeninfo.yres;
+ var_screeninfo.xres_virtual = var_screeninfo.xres;
+@@ -898,6 +894,15 @@
+ return 0;
+ }
+
++ /* get fixed screeninfo */
++ if (ioctl(fb, FBIOGET_FSCREENINFO, &fix_screeninfo) == -1)
++ {
++ perror("TuxTxt <FBIOGET_FSCREENINFO>");
++ FTC_Manager_Done(manager);
++ FT_Done_FreeType(library);
++ return 0;
++ }
++
+ #if TUXTXT_DEBUG
+ if (ioctl(fb, FBIOGET_VSCREENINFO, &var_screeninfo) == -1)
+ {
+@@ -1053,7 +1058,7 @@
+ perror("TuxTxt <FBIOPAN_DISPLAY>");
+ }
+ /* clear screen */
+- memset(lfb, 0, var_screeninfo.yres * fix_screeninfo.line_length);
++ memset(lfb, 0, fix_screeninfo.smem_len);
+
+ /* close freetype */
+ FTC_Manager_Done(manager);
+@@ -1062,6 +1067,11 @@
+ /* unmap framebuffer */
+ munmap(lfb, fix_screeninfo.smem_len);
+
++ if (ioctl(fb, FBIOPUT_VSCREENINFO, &var_screeninfo_original) == -1)
++ {
++ perror("TuxTxt <FBIOPUT_VSCREENINFO>");
++ }
++
+ /* close lcd */
+ close(lcd);
+
+--- ~/tuxtxt.h 2008-09-09 22:34:39.000000000 +0200
++++ ~/tuxtxt.h 2008-09-10 18:23:21.000000000 +0200
+@@ -207,6 +207,7 @@
+ /* framebuffer stuff */
+ unsigned char *lfb = 0;
+ struct fb_var_screeninfo var_screeninfo;
++struct fb_var_screeninfo var_screeninfo_original;
+ struct fb_fix_screeninfo fix_screeninfo;
+
+ /* freetype stuff */
--- /dev/null
+diff -Naur tuxtxt_org/AUTHORS tuxtxt/AUTHORS
+--- tuxtxt_org/AUTHORS 1970-01-01 01:00:00.000000000 +0100
++++ tuxtxt/AUTHORS 2006-12-28 12:08:57.000000000 +0100
+@@ -0,0 +1,25 @@
++In order of appearance in cvs:
++------------------------------------------------
++Felix Domke <tmbinc@berlios.de>
++Andreas Oberritter <obi@berlios.de>
++Steffen Hehn <mcclean@berlios.de>
++Andreas Monzner <ghostrider@berlios.de>
++Florian Roks <trh@berlios.de>
++Ronny Strutz <tripledes@berlios.de>
++Bastian Blank <waldi@berlios.de>
++Henning Heinold <woglinde@berlios.de>
++Rainer Scherg <rasc@berlios.de>
++Steffen Buehl <shadow@berlios.de>
++Wolfram Joost <wjoost@berlios.de>
++Thomas Herold <dertom@berlios.de>
++Stefan Pluecken <thedoc@berlios.de>
++Florian Schirmer <jolt@berlios.de>
++Christoph Ketzler <chkdesign@berlios.de>
++Bernhard Roth <bernroth@berlios.de>
++Roland Meier <RolandMeier@Siemens.com>
++DBLuelle <dbluelle@blau-weissoedingend.de>
++
++
++Also many thanks to everyone who supported development
++without having cvs write access
++
+diff -Naur tuxtxt_org/Makefile.am tuxtxt/Makefile.am
+--- tuxtxt_org/Makefile.am 2006-12-28 12:10:01.000000000 +0100
++++ tuxtxt/Makefile.am 2006-12-28 12:10:27.000000000 +0100
+@@ -1,37 +1,18 @@
+-SUBDIRS = font
++installdir = $(CONFIGDIR)/tuxtxt
+
+-if BOXTYPE_DREAMBOX
+-AM_CPPFLAGS = \
+- @FREETYPE_CFLAGS@ \
+- -I$(top_srcdir)/include \
+- -I$(includedir)/tuxbox/tuxtxt
++SUBDIRS = font python
+
+-tuxtxt_la_LIBADD = \
+- @FREETYPE_LIBS@ \
+- @TUXTXT_LIBS@
+-else
+ AM_CPPFLAGS = \
+- @TUXBOX_CFLAGS@ \
+ @FREETYPE_CFLAGS@ \
++ -funsigned-char \
+ -I$(top_srcdir)/include \
+- -I$(includedir)/tuxbox/tuxtxt
++ -I$(prefix)/$(includedir)/tuxbox/tuxtxt
+
+-tuxtxt_la_LIBADD = \
+- @TUXBOX_LIBS@ \
++bin_PROGRAMS = tuxtxt
++tuxtxt_LDADD = -lpthread -lz \
+ @FREETYPE_LIBS@ \
+- @TUXTXT_LIBS@
+-endif
+-
+-noinst_LTLIBRARIES = tuxtxt.la
+-
+-tuxtxt_la_SOURCES = tuxtxt.c
++ @TUXTXT_LIBS@
+
+-tuxtxt_la_LDFLAGS = -rpath $(PLUGINDIR) -module -avoid-version
++tuxtxt_SOURCES = tuxtxt.c
+
+-install-exec-local:
+- install -d $(DESTDIR)$(PLUGINDIR)
+- install -d $(DESTDIR)$(CONFIGDIR)
+- install -d $(DESTDIR)$(CONFIGDIR)/tuxtxt
+- $(LIBTOOL) install tuxtxt.la $(DESTDIR)$(PLUGINDIR)
+- install -m 0644 $(srcdir)/tuxtxt.cfg $(DESTDIR)$(PLUGINDIR)
+- install -m 0644 $(srcdir)/tuxtxt.conf $(DESTDIR)$(CONFIGDIR)/tuxtxt
++install_DATA = tuxtxt2.conf
+diff -Naur tuxtxt_org/acinclude.m4 tuxtxt/acinclude.m4
+--- tuxtxt_org/acinclude.m4 1970-01-01 01:00:00.000000000 +0100
++++ tuxtxt/acinclude.m4 2006-12-28 12:08:57.000000000 +0100
+@@ -0,0 +1,434 @@
++AC_DEFUN(TUXBOX_APPS,[
++AM_CONFIG_HEADER(config.h)
++AM_MAINTAINER_MODE
++
++INSTALL="$INSTALL -p"
++
++AC_GNU_SOURCE
++AC_SYS_LARGEFILE
++
++AC_ARG_WITH(target,
++ [ --with-target=TARGET target for compilation [[native,cdk]]],
++ [TARGET="$withval"],[TARGET="native"])
++
++AC_ARG_WITH(targetprefix,
++ [ --with-targetprefix=PATH prefix relative to target root (only applicable in cdk mode)],
++ [targetprefix="$withval"],[targetprefix="NONE"])
++
++AC_ARG_WITH(debug,
++ [ --without-debug disable debugging code],
++ [DEBUG="$withval"],[DEBUG="yes"])
++
++if test "$DEBUG" = "yes"; then
++ DEBUG_CFLAGS="-g3 -ggdb"
++ AC_DEFINE(DEBUG,1,[Enable debug messages])
++fi
++
++AC_MSG_CHECKING(target)
++
++if test "$TARGET" = "native"; then
++ AC_MSG_RESULT(native)
++
++ if test "$CFLAGS" = "" -a "$CXXFLAGS" = ""; then
++ CFLAGS="-Wall -O2 -pipe $DEBUG_CFLAGS"
++ CXXFLAGS="-Wall -O2 -pipe $DEBUG_CFLAGS"
++ fi
++ if test "$prefix" = "NONE"; then
++ prefix=/usr/local
++ fi
++ targetprefix=$prefix
++elif test "$TARGET" = "cdk"; then
++ AC_MSG_RESULT(cdk)
++
++ if test "$CC" = "" -a "$CXX" = ""; then
++ CC=powerpc-tuxbox-linux-gnu-gcc CXX=powerpc-tuxbox-linux-gnu-g++
++ fi
++ if test "$CFLAGS" = "" -a "$CXXFLAGS" = ""; then
++ CFLAGS="-Wall -Os -mcpu=823 -pipe $DEBUG_CFLAGS"
++ CXXFLAGS="-Wall -Os -mcpu=823 -pipe $DEBUG_CFLAGS"
++ fi
++ if test "$prefix" = "NONE"; then
++ AC_MSG_ERROR(invalid prefix, you need to specify one in cdk mode)
++ fi
++ if test "$targetprefix" = "NONE"; then
++ targetprefix=""
++ fi
++ if test "$host_alias" = ""; then
++ cross_compiling=yes
++ host_alias=powerpc-tuxbox-linux-gnu
++ fi
++else
++ AC_MSG_RESULT(none)
++ AC_MSG_ERROR([invalid target $TARGET, choose on from native,cdk]);
++fi
++
++AC_CANONICAL_BUILD
++AC_CANONICAL_HOST
++
++check_path () {
++ return $(perl -e "if(\"$1\"=~m#^/usr/(local/)?bin#){print \"0\"}else{print \"1\";}")
++}
++
++])
++
++AC_DEFUN(TUXBOX_APPS_DIRECTORY_ONE,[
++AC_ARG_WITH($1,[ $6$7 [[PREFIX$4$5]]],[
++ _$2=$withval
++ if test "$TARGET" = "cdk"; then
++ $2=`eval echo "${targetprefix}$withval"`
++ else
++ $2=$withval
++ fi
++],[
++ $2="\${$3}$5"
++ if test "$TARGET" = "cdk"; then
++ _$2=`eval echo "${target$3}$5"`
++ else
++ _$2=`eval echo "${$3}$5"`
++ fi
++])
++
++dnl automake <= 1.6 don't support this
++dnl AC_SUBST($2)
++AC_DEFINE_UNQUOTED($2,"$_$2",$7)
++])
++
++AC_DEFUN(TUXBOX_APPS_DIRECTORY,[
++AC_REQUIRE([TUXBOX_APPS])
++
++if test "$TARGET" = "cdk"; then
++ datadir="\${prefix}/share"
++ tuxboxdatadir="\${prefix}/share/tuxbox"
++ zoneinfodir="\${datadir}/zoneinfo"
++ sysconfdir="\${prefix}/etc"
++ localstatedir="\${prefix}/var"
++ localedir="\${prefix}/var"
++ libdir="\${prefix}/lib"
++ targetdatadir="\${targetprefix}/share"
++ targetsysconfdir="\${targetprefix}/etc"
++ targetlocalstatedir="\${targetprefix}/var"
++ targetlibdir="\${targetprefix}/lib"
++fi
++
++TUXBOX_APPS_DIRECTORY_ONE(configdir,CONFIGDIR,sysconfdir,/etc,,
++ [--with-configdir=PATH ],[where to find the config files])
++
++TUXBOX_APPS_DIRECTORY_ONE(datadir,DATADIR,datadir,/share,,
++ [--with-datadir=PATH ],[where to find data])
++
++TUXBOX_APPS_DIRECTORY_ONE(localedir,LOCALEDIR,datadir,/share,/locale,
++ [--with-localedir=PATH ],[where to find locales])
++
++TUXBOX_APPS_DIRECTORY_ONE(fontdir,FONTDIR,datadir,/share,/fonts,
++ [--with-fontdir=PATH ],[where to find the fonts])
++
++TUXBOX_APPS_DIRECTORY_ONE(gamesdir,GAMESDIR,localstatedir,/var,/tuxbox/games,
++ [--with-gamesdir=PATH ],[where games data is stored])
++
++TUXBOX_APPS_DIRECTORY_ONE(libdir,LIBDIR,libdir,/lib,,
++ [--with-libdir=PATH ],[where to find the internal libs])
++
++TUXBOX_APPS_DIRECTORY_ONE(plugindir,PLUGINDIR,libdir,/lib,/tuxbox/plugins,
++ [--with-plugindir=PATH ],[where to find the plugins])
++
++TUXBOX_APPS_DIRECTORY_ONE(tuxboxdatadir,TUXBOXDATADIR,datadir,/share,,
++ [--with-tuxboxdatadir=PATH],[where to find tuxbox data])
++
++TUXBOX_APPS_DIRECTORY_ONE(zoneinfodir,ZONEINFODIR,datadir,/share,/zoneinfo,
++ [--with-zoneinfodir=PATH ],[where to find zoneinfo db])
++])
++
++dnl automake <= 1.6 needs this specifications
++AC_SUBST(CONFIGDIR)
++AC_SUBST(DATADIR)
++AC_SUBST(ZONEINFODIR)
++AC_SUBST(FONTDIR)
++AC_SUBST(GAMESDIR)
++AC_SUBST(LIBDIR)
++AC_SUBST(LOCALEDIR)
++AC_SUBST(PLUGINDIR)
++AC_SUBST(TUXBOXDATADIR)
++dnl end workaround
++
++AC_DEFUN(TUXBOX_APPS_ENDIAN,[
++AC_CHECK_HEADERS(endian.h)
++AC_C_BIGENDIAN
++])
++
++AC_DEFUN(TUXBOX_APPS_DRIVER,[
++#AC_ARG_WITH(driver,
++# [ --with-driver=PATH path for driver sources [[NONE]]],
++# [DRIVER="$withval"],[DRIVER=""])
++#
++#if test -d "$DRIVER/include"; then
++# AC_DEFINE(HAVE_DBOX2_DRIVER,1,[Define to 1 if you have the dbox2 driver sources])
++#else
++# AC_MSG_ERROR([can't find driver sources])
++#fi
++
++#AC_SUBST(DRIVER)
++
++#CPPFLAGS="$CPPFLAGS -I$DRIVER/include"
++])
++
++AC_DEFUN([TUXBOX_APPS_DVB],[
++AC_ARG_WITH(dvbincludes,
++ [ --with-dvbincludes=PATH path for dvb includes [[NONE]]],
++ [DVBINCLUDES="$withval"],[DVBINCLUDES=""])
++
++if test "$DVBINCLUDES"; then
++ CPPFLAGS="$CPPFLAGS -I$DVBINCLUDES"
++fi
++
++AC_CHECK_HEADERS(ost/dmx.h,[
++ DVB_API_VERSION=1
++ AC_MSG_NOTICE([found dvb version 1])
++])
++
++if test -z "$DVB_API_VERSION"; then
++AC_CHECK_HEADERS(linux/dvb/version.h,[
++ AC_LANG_PREPROC_REQUIRE()
++ AC_REQUIRE([AC_PROG_EGREP])
++ AC_LANG_CONFTEST([AC_LANG_SOURCE([[
++#include <linux/dvb/version.h>
++version DVB_API_VERSION
++ ]])])
++ DVB_API_VERSION=`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | $EGREP "^version" | sed "s,version\ ,,"`
++ rm -f conftest*
++
++ AC_MSG_NOTICE([found dvb version $DVB_API_VERSION])
++])
++fi
++
++if test "$DVB_API_VERSION"; then
++ AC_DEFINE(HAVE_DVB,1,[Define to 1 if you have the dvb includes])
++ AC_DEFINE_UNQUOTED(HAVE_DVB_API_VERSION,$DVB_API_VERSION,[Define to the version of the dvb api])
++else
++ AC_MSG_ERROR([can't find dvb headers])
++fi
++])
++
++AC_DEFUN(_TUXBOX_APPS_LIB_CONFIG,[
++AC_PATH_PROG($1_CONFIG,$2,no)
++if test "$$1_CONFIG" != "no"; then
++ if test "$TARGET" = "cdk" && check_path "$$1_CONFIG"; then
++ AC_MSG_$3([could not find a suitable version of $2]);
++ else
++ $1_CFLAGS=$($$1_CONFIG --cflags)
++ $1_LIBS=$($$1_CONFIG --libs)
++ fi
++fi
++
++AC_SUBST($1_CFLAGS)
++AC_SUBST($1_LIBS)
++])
++
++AC_DEFUN(TUXBOX_APPS_LIB_CONFIG,[
++_TUXBOX_APPS_LIB_CONFIG($1,$2,ERROR)
++if test "$$1_CONFIG" = "no"; then
++ AC_MSG_ERROR([could not find $2]);
++fi
++])
++
++AC_DEFUN(TUXBOX_APPS_LIB_CONFIG_CHECK,[
++_TUXBOX_APPS_LIB_CONFIG($1,$2,WARN)
++])
++
++AC_DEFUN(TUXBOX_APPS_PKGCONFIG,[
++AC_PATH_PROG(PKG_CONFIG, pkg-config,no)
++if test "$PKG_CONFIG" = "no" ; then
++ AC_MSG_ERROR([could not find pkg-config]);
++fi
++])
++
++AC_DEFUN(_TUXBOX_APPS_LIB_PKGCONFIG,[
++PKG_CHECK_MODULES($1,$2)
++AC_SUBST($1_CFLAGS)
++AC_SUBST($1_LIBS)
++])
++
++AC_DEFUN(TUXBOX_APPS_LIB_PKGCONFIG,[
++_TUXBOX_APPS_LIB_PKGCONFIG($1,$2)
++if test -z "$$1_CFLAGS" ; then
++ AC_MSG_ERROR([could not find package $2]);
++fi
++])
++
++AC_DEFUN(TUXBOX_APPS_LIB_PKGCONFIG_CHECK,[
++_TUXBOX_APPS_LIB_PKGCONFIG($1,$2)
++])
++
++AC_DEFUN(_TUXBOX_APPS_LIB_SYMBOL,[
++AC_CHECK_LIB($2,$3,HAVE_$1="yes",HAVE_$1="no")
++if test "$HAVE_$1" = "yes"; then
++ $1_LIBS=-l$2
++fi
++
++AC_SUBST($1_LIBS)
++])
++
++AC_DEFUN(TUXBOX_APPS_LIB_SYMBOL,[
++_TUXBOX_APPS_LIB_SYMBOL($1,$2,$3,ERROR)
++if test "$HAVE_$1" = "no"; then
++ AC_MSG_ERROR([could not find $2]);
++fi
++])
++
++AC_DEFUN(TUXBOX_APPS_LIB_CONFIG_SYMBOL,[
++_TUXBOX_APPS_LIB_SYMBOL($1,$2,$3,WARN)
++])
++
++AC_DEFUN(TUXBOX_APPS_GETTEXT,[
++AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
++ [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
++ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
++ :)
++AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
++
++AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
++ [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
++ (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
++ :)
++
++AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,[$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1],:)
++
++AC_MSG_CHECKING([whether NLS is requested])
++AC_ARG_ENABLE(nls,
++ [ --disable-nls do not use Native Language Support],
++ USE_NLS=$enableval, USE_NLS=yes)
++AC_MSG_RESULT($USE_NLS)
++AC_SUBST(USE_NLS)
++
++if test "$USE_NLS" = "yes"; then
++ AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,[
++ AC_TRY_LINK([
++ #include <libintl.h>
++ #ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++ #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++ #endif
++ extern int _nl_msg_cat_cntr;
++ extern int *_nl_domain_bindings;
++ ],[
++ bindtextdomain ("", "");
++ return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings;
++ ], gt_cv_func_gnugettext_libc=yes, gt_cv_func_gnugettext_libc=no
++ )]
++ )
++
++ if test "$gt_cv_func_gnugettext_libc" = "yes"; then
++ AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.])
++ gt_use_preinstalled_gnugettext=yes
++ else
++ USE_NLS=no
++ fi
++fi
++
++if test -f "$srcdir/po/LINGUAS"; then
++ ALL_LINGUAS=$(sed -e "/^#/d" "$srcdir/po/LINGUAS")
++fi
++
++POFILES=
++GMOFILES=
++UPDATEPOFILES=
++DUMMYPOFILES=
++for lang in $ALL_LINGUAS; do
++ POFILES="$POFILES $srcdirpre$lang.po"
++ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
++ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
++ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
++done
++INST_LINGUAS=
++if test -n "$ALL_LINGUAS"; then
++ for presentlang in $ALL_LINGUAS; do
++ useit=no
++ if test -n "$LINGUAS"; then
++ desiredlanguages="$LINGUAS"
++ else
++ desiredlanguages="$ALL_LINGUAS"
++ fi
++ for desiredlang in $desiredlanguages; do
++ case "$desiredlang" in
++ "$presentlang"*) useit=yes;;
++ esac
++ done
++ if test $useit = yes; then
++ INST_LINGUAS="$INST_LINGUAS $presentlang"
++ fi
++ done
++fi
++CATALOGS=
++if test -n "$INST_LINGUAS"; then
++ for lang in $INST_LINGUAS; do
++ CATALOGS="$CATALOGS $lang.gmo"
++ done
++fi
++AC_SUBST(POFILES)
++AC_SUBST(GMOFILES)
++AC_SUBST(UPDATEPOFILES)
++AC_SUBST(DUMMYPOFILES)
++AC_SUBST(CATALOGS)
++])
++
++dnl backward compatiblity
++AC_DEFUN([AC_GNU_SOURCE],
++[AH_VERBATIM([_GNU_SOURCE],
++[/* Enable GNU extensions on systems that have them. */
++#ifndef _GNU_SOURCE
++# undef _GNU_SOURCE
++#endif])dnl
++AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
++AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
++AC_DEFINE([_GNU_SOURCE])
++])
++
++AC_DEFUN([AC_PROG_EGREP],
++[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
++ [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
++ then ac_cv_prog_egrep='grep -E'
++ else ac_cv_prog_egrep='egrep'
++ fi])
++ EGREP=$ac_cv_prog_egrep
++ AC_SUBST([EGREP])
++])
++
++AC_DEFUN([AC_PYTHON_DEVEL],[
++ #
++ # should allow for checking of python version here...
++ #
++ AC_REQUIRE([AM_PATH_PYTHON])
++
++ # Check for Python include path
++ AC_MSG_CHECKING([for Python include path])
++ python_path=`echo $PYTHON | sed "s,/bin.*$,,"`
++ for i in "$python_path/include/python$PYTHON_VERSION/" "$python_path/include/python/" "$python_path/" ; do
++ python_path=`find $i -type f -name Python.h -print | sed "1q"`
++ if test -n "$python_path" ; then
++ break
++ fi
++ done
++ python_path=`echo $python_path | sed "s,/Python.h$,,"`
++ AC_MSG_RESULT([$python_path])
++ if test -z "$python_path" ; then
++ AC_MSG_ERROR([cannot find Python include path])
++ fi
++ AC_SUBST([PYTHON_CPPFLAGS],[-I$python_path])
++
++ # Check for Python library path
++ AC_MSG_CHECKING([for Python library path])
++ python_path=`echo $PYTHON | sed "s,/bin.*$,,"`
++ for i in "$python_path/lib/python$PYTHON_VERSION/config/" "$python_path/lib/python$PYTHON_VERSION/" "$python_path/lib/python/config/" "$python_path/lib/python/" "$python_path/" ; do
++ python_path=`find $i -type f -name libpython$PYTHON_VERSION.* -print | sed "1q"`
++ if test -n "$python_path" ; then
++ break
++ fi
++ done
++ python_path=`echo $python_path | sed "s,/libpython.*$,,"`
++ AC_MSG_RESULT([$python_path])
++ if test -z "$python_path" ; then
++ AC_MSG_ERROR([cannot find Python library path])
++ fi
++ AC_SUBST([PYTHON_LDFLAGS],["-L$python_path -lpython$PYTHON_VERSION"])
++ #
++ python_site=`echo $python_path | sed "s/config/site-packages/"`
++ AC_SUBST([PYTHON_SITE_PKG],[$python_site])
++])
+diff -Naur tuxtxt_org/configure.ac tuxtxt/configure.ac
+--- tuxtxt_org/configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ tuxtxt/configure.ac 2006-12-28 12:08:58.000000000 +0100
+@@ -0,0 +1,17 @@
++AC_INIT(tuxbox-tuxtxt-32bpp,1.96)
++AM_INIT_AUTOMAKE(tuxbox-tuxtxt-32bpp,1.96)
++
++TUXBOX_APPS
++TUXBOX_APPS_DIRECTORY
++TUXBOX_APPS_DVB
++TUXBOX_APPS_DRIVER
++
++# Checks for programs.
++AC_PROG_CC
++
++TUXBOX_APPS_LIB_CONFIG(FREETYPE,freetype-config)
++TUXBOX_APPS_LIB_PKGCONFIG(TUXTXT,tuxbox-tuxtxt)
++
++AC_OUTPUT(Makefile)
++AC_OUTPUT(font/Makefile)
++AC_OUTPUT(python/Makefile)
+diff -Naur tuxtxt_32bpp/python/Makefile.am tuxtxt/python/Makefile.am
+--- tuxtxt/python/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ tuxtxt/python/Makefile.am 2006-03-10 21:43:45.000000000 +0100
+@@ -0,0 +1,5 @@
++installdir = $(LIBDIR)/enigma2/python/Plugins/Extensions/Tuxtxt
++
++install_DATA = \
++ plugin.py \
++ __init__.py
--- /dev/null
+diff -ru tuxtxt.org/configure.ac tuxtxt/configure.ac
+--- tuxtxt.org/configure.ac 2008-05-22 11:30:43.000000000 +0200
++++ tuxtxt/configure.ac 2008-05-22 11:37:20.000000000 +0200
+@@ -1,5 +1,9 @@
+-AC_INIT(tuxbox-tuxtxt-32bpp,1.96)
+-AM_INIT_AUTOMAKE(tuxbox-tuxtxt-32bpp,1.96)
++AC_INIT(libtuxtxt32bpp,1.96)
++AM_INIT_AUTOMAKE(libtuxtxt32bpp,1.96)
++
++AM_PROG_LIBTOOL
++
++AC_DISABLE_STATIC
+
+ TUXBOX_APPS
+ TUXBOX_APPS_DIRECTORY
+diff -ru tuxtxt.org/Makefile.am tuxtxt/Makefile.am
+--- tuxtxt.org/Makefile.am 2008-05-22 11:30:43.000000000 +0200
++++ tuxtxt/Makefile.am 2008-05-22 11:37:20.000000000 +0200
+@@ -6,13 +6,14 @@
+ @FREETYPE_CFLAGS@ \
+ -funsigned-char \
+ -I$(top_srcdir)/include \
+- -I$(prefix)/$(includedir)/tuxbox/tuxtxt
++ -I$(prefix)/$(includedir)/tuxbox/tuxtxt
+
+-bin_PROGRAMS = tuxtxt
+-tuxtxt_LDADD = -lpthread -lz \
++libtuxtxt32bpp_la_LIBADD = -lpthread -lz \
+ @FREETYPE_LIBS@ \
+ @TUXTXT_LIBS@
+
+-tuxtxt_SOURCES = tuxtxt.c
++lib_LTLIBRARIES = libtuxtxt32bpp.la
++
++libtuxtxt32bpp_la_SOURCES = tuxtxt.c
+
+ install_DATA = tuxtxt2.conf
+diff -ru tuxtxt.org/tuxtxt.c tuxtxt/tuxtxt.c
+--- tuxtxt.org/tuxtxt.c 2008-05-23 10:32:31.000000000 +0200
++++ tuxtxt/tuxtxt.c 2008-05-23 10:33:53.000000000 +0200
+@@ -317,7 +317,7 @@
+ * main loop *
+ ******************************************************************************/
+
+-int main(int argc, char **argv)
++int tuxtxt_run_ui(int pid)
+ {
+ char cvs_revision[] = "$Revision: 1.99 $";
+
+@@ -333,18 +333,8 @@
+ printf("TuxTxt %s\n", versioninfo);
+ printf("for 32bpp framebuffer\n");
+
+- /* get params */
+- tuxtxt_cache.vtxtpid = fb = lcd = rc = sx = ex = sy = ey = -1;
+- if (argc==1)
+- {
+- printf("\nUSAGE: tuxtxt vtpid\n");
+- printf("No PID given, so scanning for PIDs ...\n\n");
+- tuxtxt_cache.vtxtpid=0;
+- }
+- else
+- {
+- tuxtxt_cache.vtxtpid = atoi(argv[1]);
+- }
++ fb = lcd = rc = sx = ex = sy = ey = -1;
++ tuxtxt_cache.vtxtpid = pid;
+
+ /* open Framebuffer */
+ if ((fb=open("/dev/fb/0", O_RDWR)) == -1)
+Only in tuxtxt: tuxtxt.c.orig
--- /dev/null
+from enigma import eTuxtxtApp
+from Plugins.Plugin import PluginDescriptor
+
+def main(session, **kwargs):
+ eTuxtxtApp.getInstance().startUi()
+
+def Plugins(**kwargs):
+ return PluginDescriptor(name="TuxTXT", description="Videotext", where = PluginDescriptor.WHERE_TELETEXT, fnc=main)
--- /dev/null
+PR = "r1"
+PARALLEL_MAKE = ""
+
+require unionfs-modules.inc
+
+KERNEL_MAJMIN = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion')[:3]}"
+
+do_compile() {
+ unset LDFLAGS
+ oe_runmake unionfs.ko
+#${KERNEL_MAJMIN}
+}
--- /dev/null
+require unionfs-utils.inc
+
--- /dev/null
+# Opendreambox /etc/vsftpd.conf
+#
+# Please see vsftpd.conf.5 for all compiled in defaults.
+#
+# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
+# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
+# capabilities.
+#
+# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
+anonymous_enable=NO
+#
+# Uncomment this to allow local users to log in.
+local_enable=YES
+#
+# Uncomment this to enable any form of FTP write command.
+write_enable=YES
+#
+# Default umask for local users is 077. You may wish to change this to 022,
+# if your users expect that (022 is used by most other ftpd's)
+#local_umask=022
+#
+# Uncomment this to allow the anonymous FTP user to upload files. This only
+# has an effect if the above global write enable is activated. Also, you will
+# obviously need to create a directory writable by the FTP user.
+#anon_upload_enable=YES
+#
+# Uncomment this if you want the anonymous FTP user to be able to create
+# new directories.
+#anon_mkdir_write_enable=YES
+#
+# Activate directory messages - messages given to remote users when they
+# go into a certain directory.
+dirmessage_enable=YES
+#
+# Activate logging of uploads/downloads.
+xferlog_enable=YES
+#
+# Make sure PORT transfer connections originate from port 20 (ftp-data).
+connect_from_port_20=YES
+#
+# If you want, you can arrange for uploaded anonymous files to be owned by
+# a different user. Note! Using "root" for uploaded files is not
+# recommended!
+#chown_uploads=YES
+#chown_username=whoever
+#
+# You may override where the log file goes if you like. The default is shown
+# below.
+#xferlog_file=/var/log/vsftpd.log
+#
+# If you want, you can have your log file in standard ftpd xferlog format
+#xferlog_std_format=YES
+#
+# You may change the default value for timing out an idle session.
+#idle_session_timeout=600
+#
+# You may change the default value for timing out a data connection.
+#data_connection_timeout=120
+#
+# It is recommended that you define on your system a unique user which the
+# ftp server can use as a totally isolated and unprivileged user.
+#nopriv_user=ftpsecure
+#
+# Enable this and the server will recognise asynchronous ABOR requests. Not
+# recommended for security (the code is non-trivial). Not enabling it,
+# however, may confuse older FTP clients.
+async_abor_enable=YES
+#
+# By default the server will pretend to allow ASCII mode but in fact ignore
+# the request. Turn on the below options to have the server actually do ASCII
+# mangling on files when in ASCII mode.
+# Beware that turning on ascii_download_enable enables malicious remote parties
+# to consume your I/O resources, by issuing the command "SIZE /big/file" in
+# ASCII mode.
+# These ASCII options are split into upload and download because you may wish
+# to enable ASCII uploads (to prevent uploaded scripts etc. from breaking),
+# without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be
+# on the client anyway..
+#ascii_upload_enable=YES
+#ascii_download_enable=YES
+#
+# You may fully customise the login banner string:
+ftpd_banner=Welcome to the OpenDreambox FTP service.
+#
+# You may specify a file of disallowed anonymous e-mail addresses. Apparently
+# useful for combatting certain DoS attacks.
+#deny_email_enable=YES
+# (default follows)
+#banned_email_file=/etc/vsftpd.banned_emails
+#
+# You may specify an explicit list of local users to chroot() to their home
+# directory. If chroot_local_user is YES, then this list becomes a list of
+# users to NOT chroot().
+#chroot_list_enable=YES
+# (default follows)
+#chroot_list_file=/etc/vsftpd.chroot_list
+#
+# You may activate the "-R" option to the builtin ls. This is disabled by
+# default to avoid remote users being able to cause excessive I/O on large
+# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
+# the presence of the "-R" option, so there is a strong case for enabling it.
+ls_recurse_enable=YES
+#
+secure_chroot_dir=/dev/shm
+local_root=/
}
pkg_postinst() {
- addgroup ftp
- adduser --system --home /var/tmp/ftp --no-create-home --ingroup ftp --disabled-password -s /bin/false ftp
+ # can't do this offline
+ if [ "x$D" != "x" ]; then
+ exit 1
+ fi
+ addgroup ftp &&
+ adduser --system --home /var/tmp/ftp --no-create-home --ingroup ftp --disabled-password -s /bin/false ftp &&
mkdir -p ${localstatedir}/share/empty
}
--- /dev/null
+--- Module/rtmp_main.c_orig 2008-05-06 07:26:44.000000000 +0200
++++ Module/rtmp_main.c 2008-08-12 09:19:55.000000000 +0200
+@@ -987,7 +987,7 @@
+
+ for (i = 0; i < 8; i++)
+ {
+- sprintf(slot_name, "rausb%d", i);
++ sprintf(slot_name, "wlan%d", i);
+
+ read_lock_bh(&dev_base_lock); // avoid multiple init
+ //Benson modify -->
+@@ -1010,7 +1010,7 @@
+ return NULL;
+ }
+
+- sprintf(pAd->net_dev->name, "rausb%d", i);
++ sprintf(pAd->net_dev->name, "wlan%d", i);
+ DBGPRINT(RT_DEBUG_ERROR, "usb device name %s\n",pAd->net_dev->name);
+
+ /* get Max Packet Size from usb_dev endpoint */
+@@ -1191,7 +1191,7 @@
+
+ for (i = 0; i < 8; i++)
+ {
+- sprintf(slot_name, "rausb%d", i);
++ sprintf(slot_name, "wlan%d", i);
+
+ #if 1
+ //--> Benson add 20080505, for Linux_kernel > 2,6,24
+@@ -1231,7 +1231,7 @@
+ return res;
+ }
+
+- sprintf(pAd->net_dev->name, "rausb%d", i);
++ sprintf(pAd->net_dev->name, "wlan%d", i);
+ DBGPRINT(RT_DEBUG_ERROR, "usb device name %s\n", pAd->net_dev->name);
+
+
--- /dev/null
+--- Module/Makefile 2008-05-06 07:58:14.000000000 +0200
++++ Module/Makefile 2008-08-04 15:08:58.000000000 +0200
+@@ -14,6 +14,8 @@
+ #Support Block Net-If during TxSw queue full.
+ HAS_BLOCK_NET_IF=y
+
++VERSION := $(shell uname -r)
++MODPATH := /lib/modules/$(VERSION)
+
+ WFLAGS := -Wall -Wstrict-prototypes -Wno-trigraphs
+
+@@ -35,7 +37,7 @@
+ EXTRA_CFLAGS += $(WFLAGS)
+
+ ifeq ($(PLATFORM),PC)
+-LINUX_SRC =/lib/modules/$(shell uname -r)/build
++LINUX_SRC ?= $(MODPATH)/source
+ endif
+ ifeq ($(PLATFORM),CMPC)
+ LINUX_SRC = /home/fonchi/vendor/kernel-default-2.6.21/linux-2.6.21
--- /dev/null
+DESCRIPTION = "Driver for Ralink rt73 USB 802.11b/g WiFi sticks"
+HOMEPAGE = "http://www.ralinktech.com.tw"
+SECTION = "kernel/modules"
+LICENSE = "GPL"
+
+PR = "r3"
+
+SRC_URI = "http://www.ralinktech.com.tw/data/drivers/2008_0506_RT73_Linux_STA_Drv1.1.0.1.tar.bz2 \
+ file://make.patch;patch=1 \
+ file://changeiface.patch;patch=1"
+RDEPEND = "wireless-tools"
+
+inherit module
+
+FILES_${PN} += " /lib/firmware/rt73.bin"
+
+S = "${WORKDIR}/2008_0506_RT73_Linux_STA_Drv1.1.0.1/Module/"
+EXTRA_OEMAKE = "KERNDIR=${STAGING_KERNEL_DIR}"
+
+do_compile () {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP
+ oe_runmake 'MODPATH={D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net' \
+ 'KERNEL_SOURCE=${STAGING_KERNEL_DIR}' \
+ 'LINUX_SRC=${STAGING_KERNEL_DIR}' \
+ 'KDIR=${STAGING_KERNEL_DIR}' \
+ 'KERNDIR=${STAGING_KERNEL_DIR}' \
+ 'KERNEL_VERSION=${KERNEL_VERSION}' \
+ 'CC=${KERNEL_CC}' \
+ 'LD=${KERNEL_LD}'
+}
+
+do_install() {
+ install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
+ install -m 0644 rt73${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/
+ install -d ${D}/lib/firmware
+ install -m 0644 rt73.bin ${D}/lib/firmware/
+}
+
--- /dev/null
+diff -Naur org/Makefile patched/Makefile
+--- org/Makefile 2008-08-19 12:45:17.000000000 +0200
++++ patched/Makefile 2008-08-19 12:44:55.000000000 +0200
+@@ -4,9 +4,11 @@
+ #\r
+ #\r
+ \r
+-HOST=\r
+-CC=$(HOST)gcc\r
+-LD=$(HOST)ld\r
++#HOST=\r
++#CC=$(HOST)gcc\r
++#LD=$(HOST)ld\r
++VERSION := $(shell uname -r)\r
++MODPATH := /lib/modules/$(VERSION)\r
+ KERN_VER=$(shell uname -r | cut -b1-3;)\r
+ KDIR := /lib/modules/$(shell uname -r)/build\r
+ PWD := $(shell pwd)\r
+@@ -17,15 +19,17 @@
+ \r
+ ifeq ($(KERN_VER), 2.6) \r
+ KERN_26=y\r
+- KERNEL_SOURCE=/usr/src/linux-2.6.9\r
++ KERNEL_SOURCE ?= $(MODPATH)/source\r
+ else \r
+ KERN_24=y\r
+ KERNEL_SOURCE=/usr/src/linux-2.4\r
+ endif\r
+ \r
+ SRC_DIR=src\r
+-DEFINES=-D__KERNEL__ -DMODULE=1\r
++DEFINES ?= -D__KERNEL__ -DMODULE=1\r
+ \r
++# set to 1 for zd1211b\r
++ZD1211REV_B=1\r
+ \r
+ KERNRELEASE := $(shell uname -r;)\r
+ MODPATH := /lib/modules/$(KERNRELEASE)\r
+@@ -362,14 +366,14 @@
+ /bin/sh scripts/Menuconfig\r
+ \r
+ debug:\r
+- gcc -o apdbg apdbg.c\r
+- chmod +x apdbg\r
+- cp ./apdbg /sbin/apdbg \r
+- make -C Menudbg\r
+- mv Menudbg/menudbg .\r
+- chmod +x menudbg\r
+- cp ./menudbg /sbin\r
+- gcc -DPKT_SEND_FUNCTION -o winevl_iface Winevl_iface/pkt_send.c Winevl_iface/winevl_bridge.c\r
++ #gcc -o apdbg apdbg.c\r
++ #chmod +x apdbg\r
++ #cp ./apdbg /sbin/apdbg \r
++ #make -C Menudbg\r
++ #mv Menudbg/menudbg .\r
++ #chmod +x menudbg\r
++ #cp ./menudbg /sbin\r
++ #gcc -DPKT_SEND_FUNCTION -o winevl_iface Winevl_iface/pkt_send.c Winevl_iface/winevl_bridge.c\r
+ \r
+ clean:\r
+ rm -rf .tmp_versions .*.cmd *.ko *.mod.c *.mod.o *.o $(SRC_DIR)/*.o $(SRC_DIR)/.*.o.cmd menudbg apdbg winevl_iface\r
--- /dev/null
+diff -Naur org/src/zdusb.c patched/src/zdusb.c
+--- org/src/zdusb.c 2007-11-06 13:06:36.000000000 +0100
++++ patched/src/zdusb.c 2008-08-19 12:44:48.000000000 +0200
+@@ -371,6 +371,8 @@
+ g_dev = net; //save this for CBs use\r
+ //macp = net->priv; //kernel 2.4\r
+ net->priv = macp; //kernel 2.6\r
++ /* ath_desc: use /dev/wlanX as device node */\r
++ strcpy(net->name, "wlan%d"); \r
+ macp->device = net;\r
+ macp->usb = dev;\r
+ SET_MODULE_OWNER(net);\r
--- /dev/null
+--- zd1211-driver-r85/Makefile 2006-07-09 11:59:42.000000000 +0200
++++ zd1211-driver-r85/Makefile 2008-05-22 09:03:08.000000000 +0200
+@@ -4,10 +4,10 @@
+ #
+ #
+
+-CC=gcc
+-CPP=g++
+-LD=ld
+-rM=rm -f -r
++#CC=gcc
++#CPP=g++
++#LD=ld
++#rM=rm -f -r
+
+ VERSION := $(shell uname -r)
+ MODPATH := /lib/modules/$(VERSION)
+@@ -15,14 +15,14 @@
+ # if the kernel is 2.6.x, turn on this
+ KERN_26=y
+
+-KERNEL_SOURCE=$(MODPATH)/source
++KERNEL_SOURCE ?= $(MODPATH)/source
+ #KERNEL_SOURCE=/usr/src/linux
+
+ # set to 1 for zd1211b
+-ZD1211REV_B=0
++ZD1211REV_B=1
+
+ SRC_DIR=src
+-DEFINES=-D__KERNEL__ -DMODULE=1
++DEFINES ?= -D__KERNEL__ -DMODULE=1
+
+
+
+@@ -228,9 +228,9 @@
+ depmod -a $(VERSION)
+
+ #for apdbg
+- gcc -o apdbg apdbg.c
+- chmod +x apdbg
+- cp ./apdbg /sbin/apdbg
++# gcc -o apdbg apdbg.c
++# chmod +x apdbg
++# cp ./apdbg /sbin/apdbg
+
+ clean:
+ rm -rf .tmp_versions .*.cmd *.ko *.mod.c *.mod.o *.o $(SRC_DIR)/*.o $(SRC_DIR)/.*.o.cmd
--- /dev/null
+DESCRIPTION = "Driver for zd1211b family of wireless USB Dongles"
+HOMEPAGE = "http://zd1211.ath.cx/"
+SECTION = "kernel/modules"
+PRIORITY = "optional"
+MAINTAINER = "Oyvind Repvik <nail@nslu2-linux.org>"
+LICENSE = "GPL"
+RDEPENDS = "wireless-tools"
+PR = "r0"
+
+SRC_URI = "http://www.reactivated.net/software/zd1211-vendor/releases/ZD1211LnxDrv_2_22_0_0.tar.gz \
+ file://ZD1211LnxDrv_2_22_0_0.patch;patch=1 \
+ file://zdiface.patch;patch=1"
+
+S = "${WORKDIR}/ZD1211LnxDrv_2_22_0_0"
+
+inherit module
+
+do_compile () {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP
+ oe_runmake 'MODPATH={D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net' \
+ 'KERNEL_SOURCE=${STAGING_KERNEL_DIR}' \
+ 'KDIR=${STAGING_KERNEL_DIR}' \
+ 'KERNEL_VERSION=${KERNEL_VERSION}' \
+ 'CC=${KERNEL_CC}' \
+ 'LD=${KERNEL_LD}'
+}
+
+do_install() {
+ install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
+ install -m 0644 ${S}/zd1211*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
+}
--- /dev/null
+DESCRIPTION = "Driver for zd1211b family of wireless USB Dongles"
+HOMEPAGE = "http://zd1211.ath.cx/"
+SECTION = "kernel/modules"
+PRIORITY = "optional"
+MAINTAINER = "Oyvind Repvik <nail@nslu2-linux.org>"
+LICENSE = "GPL"
+RDEPENDS = "wireless-tools"
+PR = "r1"
+
+SRC_URI = "http://downloads.openwrt.org/sources/zd1211-driver-${PV}.tgz \
+ file://zd1211b.patch;patch=1"
+
+S = "${WORKDIR}/zd1211-driver-${PV}"
+
+inherit module
+
+do_compile () {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP
+ oe_runmake 'MODPATH={D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net' \
+ 'KERNEL_SOURCE=${STAGING_KERNEL_DIR}' \
+ 'KDIR=${STAGING_KERNEL_DIR}' \
+ 'KERNEL_VERSION=${KERNEL_VERSION}' \
+ 'CC=${KERNEL_CC}' \
+ 'LD=${KERNEL_LD}'
+}
+
+do_install() {
+ install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
+ install -m 0644 ${S}/zd1211*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
+}
--- /dev/null
+include python-zopeinterface_${PV}.bb
+inherit native
+DEPENDS = "python-native"
+
+do_stage() {
+ BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
+ ${STAGING_BINDIR}/python setup.py install --prefix=${STAGING_BINDIR}/.. --install-data=${STAGING_DATADIR}
+}
--- /dev/null
+DESCRIPTION = "zope.interface is provides Zope 3-styled interface definitions \
+for python"
+SECTION = "devel/python"
+PRIORITY = "optional"
+LICENSE = "ZPL"
+SRCNAME = "zope.interface"
+
+SRC_URI = "http://www.zope.org/Products/ZopeInterface/${PV}/${SRCNAME}-${PV}.tar.gz"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit distutils
+#used by many configure scripts (i.e. for strace)
+ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+ac_cv_have_little_endian_long_long=${ac_cv_have_little_endian_long_long=yes}
+ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void=yes}
ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
am_cv_func_working_getline=${am_cv_func_working_getline=yes}
# samba
+samba_cv_LINUX_LFS_SUPPORT=${samba_cv_LINUX_LFS_SUPPORT=yes}
+samba_cv_HAVE_OFF64_T=${samba_cv_HAVE_OFF64_T=yes}
+samba_cv_have_longlong=${samba_cv_have_longlong=yes}
+samba_cv_HAVE_UNSIGNED_CHAR=${samba_cv_HAVE_UNSIGNED_CHAR=yes}
samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+samba_cv_HAVE_C99_VSNPRINTF=${samba_cv_HAVE_C99_VSNPRINTF=yes}
+samba_cv_HAVE_BROKEN_READDIR=${samba_cv_HAVE_BROKEN_READDIR=no}
+samba_cv_HAVE_IFACE_IFCONF=${samba_cv_HAVE_IFACE_IFCONF=yes}
# vim
ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_double=${ac_cv_sizeof_double=8}
+ac_cv_sizeof_float=${ac_cv_sizeof_float=4}
+ac_cv_sizeof_fpos_t=${ac_cv_sizeof_fpos_t=12}
# sudo
sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10}
cv_mono_sizeof_sunpath=108
mono_cv_uscore=${mono_cv_uscore=no}
+#python2.5
+ac_cv_file__dev_ptmx=${ac_cv_file__dev_ptmx=yes}
+ac_cv_file__dev_ptc=${ac_cv_file__dev_ptc=no}
+ac_cv_no_strict_aliasing_ok=${ac_cv_no_strict_aliasing_ok=yes}
+ac_cv_pthread=${ac_cv_pthread=yes}
+ac_cv_cxx_thread=${ac_cv_cxx_thread=yes}
+
+# ipsec-tools
+ac_cv_va_copy=${ac_cv_va_copy=yes}
+ac_cv___va_copy=${ac_cv___va_copy=yes}
+ac_cv_va_val_copy=${ac_cv_va_val_copy=yes}
+racoon_cv_bug_getaddrinfo=${racoon_cv_bug_getaddrinfo=no}
# dpkg
dpkg_cv_va_copy=${ac_cv_va_copy=yes}
dpkg_cv___va_copy=${ac_cv___va_copy=yes}
+
+# rp_pppoe
+rpppoe_cv_pack_bitfields=${rpppoe_cv_pack_bitfields=rev}