Beiträge von jophi

    Hallo,


    ich bin etwas frustriert, denn meine neu erworbene dm820 (noch keine 2 Wochen alt) ist nicht gut zu bedienen. Von ca. 5 Tastendrücken muss ich im Mittel mindestens einen wiederholen. Folglich ist alles sehr mühsam, weil ich dauernd gegenprüfen muss, was sich am Bildschirm getan hat.
    Heute habe ich die Plastikfolie der Frontblende abgezogen, aber das hat nichts verbessert. Beliebige Tasten sind betroffen.
    Mir ist unklar, ob die Fernbedienung (FB) oder die Box schuld ist. Wenn ich auf Tasten drücke, sehe ich, dass die rote "dream" LED der FB jedesmal aufleuchtet, was dafür spricht, dass die FB in Ordnung sein könnte. Hätte die dm820 eine Macke, dass sie nicht systematisch auf jede Taste reagiert? (ich kenne alte PCs, die Tastendrücke verlieren, wenn's CD-ROM Laufwerk aktiv ist...)


    Soll ich jetzt den Händler kontaktieren und um Zusendung einer anderen FB bitten oder gar alles zurückschicken? Oder bei DMM ein Ticket eröffnen? (weil der Händler eh nix anderes machen würde als das Geräte dorthin zu schicken)?


    Die FB mi dem alten Design meiner dm800se funktioniert dagegen tadellos (ich habe nach 6 Jahren die Platine reinigen müssen).

    Zitat von Klix

    Das Environment von dropbear untersuchen:
    Im Environment von dropbear, aufgerufen durch systemd, ist kein TERM= aufzufinden.

    Der Wert von TERM im Prozess dieses Servers ist egal. Beim Verbindungsaufbau von SSH ist es üblich, dass TERM verhandelt bzw. übertragen wird. Dropbear übernimmt den Wert Deines Terminal-Emulators.
    Bei telnetd ist das auch üblich, aber busybox-telnetd implementiert das nicht.
    Bei getty (Login an einer Konsole) gibt es kein Verhandlungsprotokoll. Daher ist es heutzutage nicht falsch, in serial-getty@.service einfach "TERM=xterm" zu verdrahten, das versteht inzwischen jedes übliche Terminalprogramm des Dreambox-Administrators.
    Das gleiche sollte jedoch auch für busybox-telnetd@.service geschehen, gerade weil und solange es das TERM-Protokoll (RFC 1091) nicht implementiert.

    Ich hab's jetzt für mich durch ein systemd override gelöst:
    # systemctl edit busybox-telnetd@.service

    Bash
    [Service]
    Environment=TERM=xterm-color LANG=de_DE.UTF-8

    # systemctl restart busybox-telnetd.socket


    Man hätte das auch in ~/.profile legen können. Profile hätte den Vorteil der besseren Sichtbarkeit und Änderbarkeit.

    Dropbear/ssh habe ich mir nicht angeschaut, aber bei Telnet werden bspw. von MacOS folgende Optionen ausgetauscht:

    Das zeigt:

    • Die Fenstergröße des Terminals (129x27) wird ausgetauscht, damit bspw. less gut arbeiten kann.
    • MacOS bietet an, die lokale Variable TERM zu übertragen (vgl. RFC 1091), was vom telnetd Server auf der Dreambox (tatsächlich ein Teil von busybox) aber nicht wahrgenommen wird.

    Damit bleibt seitens der Dreambox nur noch übrig, TERM auf einen festen Wert zu setzen. Auf meiner alten dm800se (OE 2.0) war das offensichtlich "linux". Auf der neuen dm820 mit OE unstable 2.5 und systemd wird irgendwo "dumb" gesetzt, was für interaktive Sitzungen gar nicht zufriedenstellend ist. Welcher Wert geeignet ist, hängt letztlich davon ab, a) was in der terminfo (s. /usr/share/terminfo/?/*) der Dreambox vorhanden ist und b) dabei vom lokalen Terminal.app, gnome-terminal oder konsole verstanden wird.
    Da geht viel, bspw. vt100, ansi, linux, xterm, xterm-256color oder xterm-color

    Ich muss widersprechen. Ich habe heute meine 15mm hohe Toshiba 2TB aus der dm800se (v1) in die dm820 migriert. Die Oberkante liegt dabei knapp 1mm unter dem Gehäusedeckel. Das mag die Wirkung der dortigen Lüftungsschlitze reduzieren, aber diese zwei Dreamboxen sind an 3 Seiten trotzdem noch gut mit Lüftungsöffnungen ausgestattet. Tatsächlich sind sich beide Boxen von den Dimensionen her extrem ähnlich.


    Übrigens fände ich es sehr nützlich, wenn auf der Produktbeschreibungsseite von DMM solche letzlich wichtigen Merkmale der verschiedenen Geräte aufgeführt würden. Mich haben folgende Unklarheiten bzw. Überraschungen sehr viel Zeit gekostet:

    • 15mm Einbauhöhe oder doch zuviel? Geht doch.
    • USB 2.0 Anschlüsse, die tatsächlich Strom begrenzen (vermutlich 500ms wie für 2.0 spezifiziert, im Gegensatz zu fast allen Laptops). Keine meiner USB Platten, die gar keinen extra Anschluss für eine separate Stromversorgung haben (allesamt USB 3.0), laufen mehr direkt an der dm820, während ich die dm800se vollstecken konnte mit 2xUSB und eSATA! Aber das ist ein anderes Thema... Dennoch, 2 Lösungen habe ich kurz ausprobiert:
      • USB Hub mit eigener Stromversorgung; alternativ
      • USB Y-Kabel, das beide Ports benutzt, um Strom zu ziehen. Nachteil: beide Ports sind für nur eine Platte weg (und wohl auch nicht spezifikationskonform). Vorteil: kein extra Netzteil.

    Die 100% auf CPU Nummer 0 beobachte ich auch, mit genau diesem Image 2.5 unstable 2018-10-04 für die dm820. Andere habe ich nicht ausprobiert (mit dem ursprünglich enthaltenen OE 2.2 von 2016 habe ich top nie aufgerufen).
    Allerdings ist meine Box nicht mehr nackt, sondern mit eingebauter Festplatte. @Wesen, Du auch?


    @Klix, könntest Du bitte etwas spezifischer sein? Mit den verlinkten Threads konnte ich nichts anfangen (kein ftrace, kein perf Paket installierbar, kernel.sysrq oder cat /proc/NNNN/stack gibt es scheinbar nicht.) Wie komme ich an ein Backtrace?


    root 5 0.0 0.0 0 0 ? S 19:51 0:00 [kworker/u:0]
    root 1499 49.9 0.0 0 0 ? S 21:16 11:25 [kworker/0:2]
    root 1548 8.3 0.0 0 0 ? R 21:28 0:55 [kworker/0:0]

    Als OP möchte ich mich ebenfalls herzlich bei Ghost und dessen Dream-Team bedanken und mich dafür entschuldigen, dass ich so lange abwesend war. Einen besondereren Dank möchte ich bRAiNShEEP aussprechen, der herausgefunden hat, dass das Speicherleck bei ZDF HD auftritt. Diese Eingrenzung brachte den Stein wieder ins Rollen; damit hat auch er einen wesentlichen Beitrag zum Beheben dieses Bugs geleistet.


    >Schau halt ins GIT.
    konkreter wird's mit diesem Patch von 2017-02-16:
    http://git.opendreambox.org/?p…fbc452e191e2ff6547536d53f


    Nach dem Bugfix ist vor dem Bugfix. :winking_face:
    >99% der Kunden werden Ihre Boxen schon alleine der Umwelt zuliebe nicht 24/7 laufen lassen.
    Das hatte ich vor 2 Jahren eine Weile versucht, dann aber frustriert aufgegeben, weil in gemessen 3 von 17 Fällen die Box nicht zwecks Timer-Aufnahmen aus dem Deep-Standby aufwachte...

    Zitat

    Es bleibt zu prüfen, ob re.LOCALE oder re.UNICODE bei "\w" tatsächlich Umlaute erkennt.


    re.LOCALE oder re.UNICODE war keine Hilfe bei Umlauten. Wie sind die Strings im Python der Dreambox kodiert? :question_mark: Als Folge von 8 Bit Zeichen mit s'abc' statt u'abc'?
    Setzt Enigma2 irgendetwas, damit re.LOCALE funktionieren könnte? Viele Module enthalten os.environ["LANGUAGE"] = .. im Initialisierungscode, aber damit wird eher gettext, also die Übersetzungen in der GUI, gesteuert.


    Work-around: Alles UTF-8 hat das 8. Bit gesetzt, also wird hinter der 3 alles ASCII außer A-Z und a-z als Worttrenner angenommen. Das ist für Umlaute wie ä und à in Ordnung, aber nicht für 3D€.

    Code
    init:	self.candidate = re_compile(r"(\A|\D)3[Dd]([\0-@[-`{-~]|\Z)")
    ev_UpdatedInfo:	if self.candidate.search(name) is not None:

    Ich habe mir diese Testfälle überlegt.


    Live ist der Sendername bestimmend:
    TC1a ZDF HD: 2D pass
    TC1b ASTRA 3D Demo: 3D pass


    Bei Aufnahmen ist der Dateiname ausschlaggebend:
    TC2a Tagesschau.avi: 2D pass
    TC2b Movie3D.avi: 3D pass
    TC2c 2-3Dimensionen.avi: 2D pass (Wortgrenze)
    TC2d Flug-373D.avi: 2D pass
    TC2e 3Dünger.avi: 2D (wird Umlaut als Wortbestandteil erkannt?)
    TC2f 3D-Drucker.avi: 2D expected failure (false positive)
    TC2g Klassentreff 3d.avi: 2D expected failure
    TC2h Movie-3d.avi: 3D (Kleinbuchstabe)


    ts.meta sei vorhanden:
    TC3a Tagesschau.ts: 2D pass
    TC3b PINA 3D.ts: 3D pass (ServiceReference Astra 3D)
    TC3c Servus 3D.ts: 3D pass (dank Dateiname, ServiceRef Servus TV enthält kein 3D)
    TC3d Servus.ts: ?? ("3D" nur in Titel o. Beschreibung der .meta zu finden)
    TC3e 3D-Drucker.ts: 2D expected failure
    TC3f 2012-3D-Demo.ts: 3D pass (damals Astra 3D Demo, heute ServiceRef HSE24)
    TC3g 2012-Astra-Demo.ts: ?? (dito, ohne 3D im Dateinamen)
    TC3h 2013-Test.ts: 2D (damals Kanal NN, heute ServiceRef Astra 3D Demo)


    TC4a PiP 2D in 2D: 2D
    TC4b PiP 2D in 3D: ??
    TC4c PiP 3D in 2D: ?? (wird Plugin beim Wechsel des kleinen Bildes überhaupt aktiviert?)
    TC4d PiP 3D in 3D: ??
    kann meine dm800se(v1), glaube ich, nicht, oder etwa doch?


    TC5 CutListEditor: ??
    Derzeit ist das linke Teilbild verschoben, daher in 3D unbenutzbar.


    TC6 Radio Bremen: 2D
    hängt vermutlich vom Hintergrundbild ab, s. TC7


    TC7a Panorama.jpg: 2D (soll überhaupt umgeschaltet, d.h. Plugin aktiv werden?)
    TC7b Movie3D-Snapshot.jpg: 3D (warum nicht auch 3D für Standbilder?)
    TC7c Magic3D-Puzzle.jpg: 2D expected failure


    "expected failure" bedeutet, dass die Heuristik falsch entscheidet, bspw. bei Magic3D-Puzzle. Zuverlässig ist 3D nur erkennen, wenn man ins Bild schaut.
    Unterschiede zwischen Deinem unnd meinem Vorschlag finden sich insbes. in TC3c-h.

    Ohne ihn ausprobiert zu haben, meine ich, dass Dein Vorschlag nichts verbessert, denn im Fall spath[0]='/' berücksichtigt die Kombination "name or name2" (statt "+") einzig den Sendernamen aus der ServiceRef - und die ist bekanntlich veraltet bzw. seither einem anderen Sender zugewiesen worden.


    Hier ist, was derzeit alle meine Dateien erkennt:


    Später möchte ich die Namenserkennung verfeinern:
    re.search(r"(\A|\D)3[Dd]([\W_0-9]|\Z)",name,re.LOCALE)
    Es bleibt zu prüfen, ob re.LOCALE oder re.UNICODE bei "\w" tatsächlich Umlaute erkennt. :upside_down_face:


    Bei mir hat also der Dateiname Vorrang. Das klappt bei mir gut, weil ich lange Dateinamen erzeugen lasse, also "Datum Sender - Titel - Beschreibung.ts".


    Um auch kurze Dateinamen.ts besser zu unterstützen, kann ich mir vorstellen, zusätzlich Titel und Beschreibung aus der .meta auszuwerten (s.Testfall TC3d in meinem nächsten Beitrag).


    Die ServiceReference aus der .meta möchte ich im Gegensatz zu Dir nicht ausgewertet sehen, denn der Kanal 1:0:... könnte neu zugewiesen worden sein. Leider steht in der .meta nicht der ursprüngliche Sendername wie "Astra 3D Demo", der steckt nur im langen Dateinamen.

    Vielen Dank für die ausführliche Beschreibung. Ich vermute, dbttcd gehört zum closed source Teil von DMM oder steckt der irgendwo in git?


    Wenn man das "Puffern im Hintergrund" in den Teletext Einstellungen dauerhaft deaktivert, tritt der Leak nicht mehr auf. Allerdings hat man ein Teletext wie im OE1.6: jede Seite wird immer neu geladen


    Dann wäre ja ein Zwischending in Python machbar: beim Eintritt in den Teletext-Modus die Kommandos zum Aktivieren schicken, und beim Hinausgehen (oder Standby) Deaktivieren. Der erste Seitenaufbau wäre lahm, aber der Cache wird schnell gefüllt, meine ich. :winking_face_with_tongue: Ein dauerhaftes Deaktivieren kann ich meiner Frau nicht verkaufen.


    Zitat

    /etc/init.d/dbttcd restart funktioniert auch nicht korrekt, solange man Enigma2 nicht neu startet, hat man auch kein TELETEXT mehr


    Schade. Ich war schon am Überlegen, wie man den Aufruf "start-stop-deamon wdog dbttcd" ulimit hinzufügen kann, damit der Daemon bei zu viel Speicherverbrauch gekillt wird. Aber wenn Enigma2 mit dem Phönix nicht reden kann, ist das nur die halbe Miete. :pinch:

    die Funktionalität der busybox Befehle sind leider oft sehr kastriert, [...].

    Ich habe mich gefragt, ob die Rückwärtssuche wegkompiliert wurde, um Platz zu sparen. Aber im Quellcode kann ich nichts dergleichen finden, also ist es einfach ein Bug (vermutlich, denn ich habe mir nur den neuesten Quellcode angeschaut, 1.24, nicht den zur 1.19 in OE 2.0)


    Und noch ein Bug in busybox less -N /var/log/messages: Suche nach einem Begriff wie "stop" und die Zeilennummern aller Zeilen, in denen der Suchbegriff hervorgehoben wird, sind Schrott:

    Code
    918 Jan  9 20:43:32 dm800se daemon.info dbttcd 1.6: CMD: CTRL_CACHE [pid 0x
        918 0000, dmx 0]
    6352500 Jan  9 20:43:32 dm800se user.warn kernel: [73698.432000] stop pcr0 on d
        919 mx 3 pid:3ff

    Warum nutzt du nicht grep wenn du etwas suchst? So würde es jeder eigentlich tun außer dir. :winking_face:


    grep ist trotz Optionen -A und -B kein Ersatz für less, denn oft genug bin ich nicht am Treffer selbst, sondern am Kontext drum herum interessiert.


    Du hättest vi -R (für Read-Only) vorschlagen können. Das habe ich ausprobiert und folgende Bugs gefunden:

    • busybox vi zeigt mit ":set" zwar ignorecase an, die Suche mit "/" bleibt dennoch case-sensitiv.
    • busybox vi kann nicht rückwärts suchen (mit "N" statt "n", einleiten mit "?" statt "/") und zeigt irreführend "Pattern not found" an.

    Eine knappe Einführung in busybox vi fand ich hier, im Quellcode sehe ich, dass es noch weitere Kommandos gibt.


    Wegen dieser Bugs ist busybox vi kein Ersatz für less. :thumbs_down:

    Hallo,


    neulich hat meine dm800se (v1) alle paar Sekunden Zahnräder gezeigt. Das Kommando top zeigte einen ungewöhnlich hohen Speicherverbrauch des "Dreambox Teletext Cache Daemon" dbttcd:

    Code
    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  P SWAP   TIME CODE DATA nFLT nDRT COMMAND
      552 root      20   0  123m  42m  252 S    0 32.0  14:23.21 1  81m  14:23   28 103m 244k    0 dbttcd
      588 root      20   0  231m  46m 2788 S    1 34.9 220:09.74 1 185m 220:09 1984 141m 133k    0 enigma2
    14704 root      20   0  2644 1108  884 R    2  0.8   0:02.36 0 1536   0:02   76  572    1    0 top

    Auch heute habe ich den dbttcd abgeschossen (noch ohne Zahnräder), bei Werten von VIRT und RES (KB):

    Code
    552 root      20   0 73856  36m  808 S    1 27.6  19:17.21 dbttcd


    Normal sind wohl eher Werte wie:

    Code
    557 root      20   0 45720 9108 1060 S    1  6.7   0:42.93 dbttcd
      557 root      20   0 48228  11m 1060 S    2  8.6   0:52.18 dbttcd
      557 root      20   0 50996  14m 1060 S    2 10.7   1:25.71 dbttcd


    die passen,bis auf den hohen Zeitverbrauch in Spalte TIME+, zu anderen in diesem Forum gezeigten Werten. Könnte es sein, dass der dbttcd langsam den Speicher volllaufen lässt? :confused_face:


    Naiv würde ich statt dessen erwarten, dass nach einiger Zeit der gesamte Teletext (eines Senders? aller Sender?) im Cache steht und damit dem Wachstum eine Obergrenze gesetzt ist.


    dm800se v1, OE 2.0 2015-12-05 mit Updates 12-31, EPGRefresh, Auto3D und SqueezeOut 1.6
    Im Log (dmesg) sehe ich nichts auffälliges.

    wenn das oled im Blickfeld der Brille ist flackert das durch die Brille nämlich extrem


    Dann muss ich vermuten, dass Du eine Flacker- auch Shutter-Brille genannt, hast. :smiling_face_with_sunglasses: Hier nutzen wir die Brillen mit Polarisationsfilter, wie im Kino, da flackert nichts. Allenfalls verschieben sich die Farben ein wenig am OLED, wenn ich den Kopf stark neige. :winking_face_with_tongue:


    Zitat

    beim hin und herschalten aufgehangen ,sowas kann mal passieren.

    Das finde ich nicht in Ordnung. Bugs werden gesucht, gefunden und beseitigt.

    Anbei meine 2x print zum Quellcode in git bzw. in /usr/lib/enigma2/python/ meiner dm800se mit OE2.0:



    Leider ist mir die ganze Logik mit ServiceReference oder auch mal eServiceReference nicht vertraut. Ergänzend noch die Ausgabe beim Schalten auf einen Sat-Kanal anstelle einer Datei:


    3Ds [ ]
    3Dn [ ZDF HD ]

    Hallo,


    Das Plugin Auto 3D ist nicht in der Lage, für die bei uns aufgenommenen Dateien auf 3D umzuschalten.


    Ich habe dem Quellcode Plugins/SystemPlugins/3DSettings/plugins.py zwei print hinzugefügt (Variablen spath und name, in dem "3D" gesucht wird). In der Console steht:


    3Ds [ /media/hdd/movie/20121215 2124 - ASTRA 3D Demo - ASTRA 3 D Demo.ts ]
    3Dn [ HSE24 EXTRA HD ]


    3Ds [ /media/hdd/movie/20131229 2347 - ServusTV HD Deutschland - Die Höhle der vergessenen Träume - 3D - .ts ]
    3Dn [ ServusTV HD Deutschland ]


    Problem 1: Das Plugin sucht anhand des Dateinamens (etwa die .meta zur .ts?) eine ServiceReference. Leider ist der Kanal "ASTRA 3D Demo" vor Monaten umgezogen, so dass die Referenz heutzutage zu "HSE24 EXTRA HD" aufgelöst wird. :loudly_crying_face: Der Algorithmus schlägt also fehl (übrigens habe ich weitere alte Aufnahmen von anderen Sendern, die jetzt ebenso den falschen Ursprungssender im Filmlistenmenü nennen).


    Problem 2: Sollte ein normaler Sender auf die Idee kommen, ausnahmsweise mal in 3D zu senden, wie im obigen Beispiel Servus TV, wird durch das Heranziehen des Sendernamens anstelle des ursprünglichen Dateinamens ebenfalls nicht auf 3D geschaltet. :pouting_face: - ja sogar ein von Hand eingeschalteter 3D-Modus verlassen.


    Ich schlage jetzt noch keinen Patch vor, weil ich mir noch nicht sicher bin, wie die beste Lösung lauten kann. Derzeit vermute ich, der Code sollte spath nicht ersetzen, nach wie vor nach 3D suchen, aber "33D" und "3Dims" ignorieren. Wie man "Spiel der Klasse 3d" :wacko: ignorieren könnte, ist mir noch nicht klar.

    Hallo,


    Im Plugin "Auto 3D" habe ich im Menü 3D-Einstellungen "Display aussschalten" ein paar mal umgestellt, bis mir klar wurde, dass mit Display das OLED der Frontblende gemeint ist. Was hat das OLED mit 3D zu tun?


    Jedenfalls habe ich nicht schlecht gestaunt, als nach einigem Ändern der 3D-Einstellungen, Hin- und Herschalten und Wechseln von 3D-Aufnahmedateien das OLED komplett weiß (naja, gelbstichig) wurde. über den Menüpunkt "Display deaktivieren" konnte ich es zwar erneut dunkel schalten, solange der 3D Modus aktiviert blieb, aber im 2D-Modus ist es nicht mehr zur üblichen Anzeige zurückgekommen, sondern wurde komplett hell erleuchtet (auch kein inverse Video, also schwarze Schrift auf weißem Hintergrund erkennbar). Die gute Nachricht: ich konnte keinen Pixel-Fehler erkennen. :thumbs_up: Die Schlechte: Neustart der Enigma-GUI reichte nicht, ich musste die Box herunterfahren.


    Hat das jemand schon mal erlebt? Wo liegt der Bug?


    dm800se (v1), OE 2.0 Image 2015-12-05, Updates 2015-12-31 + Auto 3D, EPGRefresh und SqueezeOut 1.6

    Hallo,


    Das Programm less (ist auf der DB Teil von busybox) findet Zeichenketten nicht, wenn diese im aktuellen Terminalfenster von einem Zeilenumbruch betroffen sind. Sobald das Fenster vergrößert oder verkleinert wird, so dass der Suchbegriff nicht mehr umgebrochen wird, wird less diesen finden.


    Beispiel: less /usr/lib/enigma2/python/Navigation.py im üblichen 80x25 Fenster sucht erfolglos nach update (die Suche wird wie in vi mit / eingeleitet):


    Code
    if getFPWasTimerWakeup(): # sanity check to detect if t
    he FP driver is working correct!
    				print "buggy fp driver detected!!! please updat
    e drivers.... ignore timer wakeup!"


    Damit ist less völlig unzuverlässig, um in längeren Dateien etwas zu suchen (bspw. ls -lR über alle Aufnahmedateien).


    Package: busybox
    Version: 1.19.4-r8-dream13
    dm800se (v1) OE 2.0 2015-12-05 mit Upgrades 2015-12-31


    Sinnvoll wäre es noch, diesen Bug report bei busybox zu posten, aber würde eine Fehlerbehebung bei http://busybox.net in das busybox von OE 2.0 einfließen? (busybox.net hat 1.24, DB 1.19)

    Hallo,


    weil ich gerade eine 2TB Platte habe, wollte ich nach einigen Tests auch ausprobieren, was das Formatieren der Platte über die GUI der Dreambox macht. Noch hängt die Platte am eSATA-Anschluss. Leider gab's sofort einen GS.


    Code
    [killPartition] 256 parted --script --align=min -- /dev/sdb mklabel msdos
    Traceback (most recent call last):
      File "/usr/lib/enigma2/python/Screens/HarddiskSetup.py", line 151, in doInit
    	result = self.hdd.initialize(self.isFstabMounted, self.numpart)
      File "/usr/lib/enigma2/python/Components/Harddisk.py", line 510, in initialize
    	if self.createPartition() != 0:
      File "/usr/lib/enigma2/python/Components/Harddisk.py", line 391, in createPartition
    	part1end = int(sectors-swapPartSize) #leaving 1GB for swap
    TypeError: unsupported operand type(s) for -: 'str' and 'int'


    Die Klammer steht schief, nur sectors sollte von str nach int konvertiert werden. Das steht auch so noch in git

    Code
    389 	cmd = 'parted --script --align=min ' + self.disk_path + ' -- mklabel msdos mkpart primary ext3 40s 100%'
    390 	if sectors and not self.isRemovable:
    391         	part1end = int(sectors-swapPartSize) #leaving 1GB for swap


    Die Korrektur lautet: int(sectors)-swapPartSize #leaving 1GB for swap
    Copyright meines Patches: geschenkt / public domain


    Die Vorbedingung beim 'if' is wohl der Grund, weshalb ich als erster darauf stoße: vermutlich trifft 'not isRemovable' bei eSata zu, aber nicht bei USB, was die meisten benutzen. Außerdem muss wegen 'sectors' die Platte schon mal partitioniert worden sein.


    Dabei fällt auf:


    Code
    462 # We autocorrect any failures and check if the fs is actually one we can check (currently ext2/ext3)
    477    if partitionType in ("ext2", "ext3"):


    Bitte ext4 hinzufügen. fsck.ext4 gibt es schon längst auf der Dreambox!


    Ich habe nicht weiter geprüft, ob das Formatieren jetzt klappt. Davor möchte ich noch ein paar andere Sachen ausprobieren. Fast hätte ich meine interne Platte initialisiert, weil die Speichergeräte-GUI immer wieder auf die erste Festplatte im System zurückspringt :frowning_face: