DVB-Cube BETA <<< Das deutsche PC und DVB-Forum >>>

Diverse DVB Software für verschiedene Karten => # ARM Boxen (Raspberry Pi ect.) => Thema gestartet von: mtron am 11 Juli, 2013, 18:56

Titel: raspbian wheezy Filesystem reparieren
Beitrag von: mtron am 11 Juli, 2013, 18:56
Ich habe damit experimentiert den Raspberry über den USB Eingang des TV mit Strom zu versorgen. Damit wird der PI aber beim ausschalten natürlich hart vom Strom getrennt. Offene Files im Cache gehen verloren und das ext4 Dateisystem kann dabei Schaden nemen.

Besonders Ekelig verhält sich da xbmc, das schon gerne mal probleme verursachen kann. Sollte der pi also aus irgend einem Grund nicht mehr starten sollte man hier mit der Problemsuche beginnen.

Die SDcard des Pi in einen Kartenleser anschließen und an einen Linux Desktop stöpseln. In fast allen Fällen wird das Laufwerk gleich gemountet, was für unsere Zwecke aber nicht geht. Zum Dateisystem reparieren mit fsck darf niemals eine gemountete Partition verwendet werden.

Die momentan eingehängten Partitionen erfährt man vom Terminal aus mit:
sudo blkid
Zitat
/dev/sda1: UUID="2ddc9a85-b94d-43bf-a515-24556c1c9524" TYPE="ext4"
/dev/sda2: UUID="60f8869f-e9f0-4b1e-bf27-8d25bbd0044b" TYPE="swap"
/dev/sdb1: SEC_TYPE="msdos" LABEL="boot" UUID="5D2D-B09A" TYPE="vfat"
/dev/sdb2: UUID="41cd5baa-7a62-4706-b8e8-02c43ccee8d9" TYPE="ext4"

In Rot sind die beiden Partitionen des Rpi auf der SD karte (fat für /boot und ext4 für das raspbian wheezy OS) die man unmounten muss (sdb1 und sdb2 natürlich auf deine Werte anpassen):

sudo umount /dev/sdb1
sudo umount /dev/sdb2

- Fat Dateisystem prüfen und reparieren: (/dev/sdb1 anpassen!)
sudo dosfsck -t -a -w /dev/sdb1
- ext4 Dateisystem prüfen und reparieren: (/dev/sdb2 anpassen!)
sudo fsck.ext4 -Dfty -C 0 /dev/sdb2
Beispielausgabe:

Zitat
sudo fsck.ext4 -Dfty -C 0 /dev/sdb2
e2fsck 1.42 (29-Nov-2011)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure                                          
Pass 3: Checking directory connectivity                                        
Pass 3A: Optimizing directories
Pass 4: Checking reference counts                                              
Pass 5: Checking group summary information                                    
                                                                              
/dev/sdb2: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sdb2: 81657/974848 files (0.1% non-contiguous), 600930/3874176 blocks
Memory used: 3184k/0k (652k/2533k), time: 10.09/ 2.10/ 0.46
I/O read: 105MB, write: 37MB, rate: 13.97MB/s
[/size]

Nach diesen beiden Schritten sollte das Dateisystem wieder in ordnung sein und der Pi sollte normal booten.

Bei mir ist es kürzlich aber vorgekommen dass xbmc wirklich noch "beta" ist. Falls es bei fsck zu sochen schweren Fehlermeldungen kommt wie z.B
Zitat
File /home/pi/.xbmc/userdata/Database/Textures13.db (inode #262590, mod time Sun Jul  7 21:07:53 2013)
  has 30 multiply-claimed block(s), shared with 1 file(s):
   /home/pi/.xbmc/userdata/Database/Epg7.db (inode #262594, mod time Sun Jul  7 21:07:53 2013)
Clone multiply-claimed blocks<y>? yes

clone_file_block: internal error: can't find dup_blk for 1084089

clone_file_block: internal error: can't find dup_blk for 1084089

File /home/pi/.xbmc/userdata/Database/Epg7.db (inode #262594, mod time Sun Jul  7 21:07:53 2013)
  has 30 multiply-claimed block(s), shared with 1 file(s):
   /home/pi/.xbmc/userdata/Database/Textures13.db (inode #262590, mod time Sun Jul  7 21:07:53 2013)
Multiply-claimed blocks already reassigned or cloned.
[/size]

musste ich die beiden inodes 262590 und 262594 manuell löschen damit fsck das filesystem wiederherstellen  konnte. Dafür braucht man debugfs (http://en.wikipedia.org/wiki/Debugfs) .

Um spezielle Inodes zu löschen:  (Inode und /dev/sdb2 anpassen!)
sudo debugfs -w -R "clri <262590>" /dev/sdb2
sudo debugfs -w -R "clri <262594>" /dev/sdb2

Danach konnte fsck durchlaufen und der pi bootet wieder. Passiert ist das erst ein mal, aber könnte ja wieder passieren. Falls solche kaputten Dateisysteme wegen xbmc öfter vorkommen muss ich mir doch eine andere Stromquelle für den Pi besorgen.
Titel: Re: raspbian wheezy Filesystem reparieren
Beitrag von: Jürgen am 12 Juli, 2013, 03:38
"...eine andere Stromquelle für den Pi besorgen" solltest Du Dir auf jeden Fall.
Der USB 2.0 Anschluss eines üblichen Geräts darf nur bis 500mA garantiert belastet werden.
Und oft sogar noch weniger, nämlich wenn der Anschluss nur für bestimmte Gerätearten vorgesehen ist und für andere ausdrücklich nicht.

Da Du aber bestimmt ab und zu auf die Idee kommen wirst, auch mal weitere Hardware an den Pi anzuschließen, empfehle ich den Einsatz eines modernen Steckernetzteils mit 2 bis 3 A. Die sind heutzutage meist äußerst effizient und eben dann auch immer stark genug.
Man vergisst leicht, dass Bildschirme auch etwas Energie aus der HDMI-Quelle ziehen dürfen, sicherlich zwei bis drei Watt.
Mein Benq tut das nachgemessenermaßen...
Dann stimmen die üblichen Angaben über die Stromaufnahme des Pi schon nicht mehr.
Wer primär ganz abschalten möchte, kann ja immer noch einen Zwischenstecker mit Schalter einsetzen.

Ich habe die µUSB Einspeisung über einen rein aktiven 10port USB2.0 Hub gelöst. Da ist leicht ein Port nur für DC abkömmlich.
Eigentlich soll ja eine Einspeisung nicht rückwärts über den Host Controller geschehen, und das passiert hier so auch nicht.
Daher habe ich den Hub natürlich vorher daraufhin durchgemessen, und notfalls hätte ich ihn oder das USB Datenkabel dazwischen geändert.  

BTW, für solche einfachen Dateisystemreparaturen per Linux-Desktop kann auch der Pi selbst dienen, sofern man eine zweite Karte z.B. mit Raspbian Wheezy hat und sich darauf auch die übliche Laufwerksverwaltung befindet.
Datenträger aushängen kann die ebenso wie Dateisysteme prüfen und ggf. reparieren.
Meist reicht das schon, und man muss nicht das Terminal quälen.

Natürlich braucht man dafür auch noch einen zusätzlichen USB-Kartenleser. Aber den hat man ja oft gleich mehrfach, z.B. auch in der per USB anschließbaren DigiCam oder im Drucker/MFC. Jedenfalls funktioniert wirklich jeder meiner SD-Kartenleser auch unter Wheezy am Pi.  
Und natürlich muss man sich ganz sicher sein, nicht irrtümlich auf der gerade im Pi selbst befindlichen Karte herumzuhühnern.
Vor jedem Eingriff ist daher der ggf. angezeigte Einhängepunkt zu beachten.
Wer gern zaudert, der schaut erst einmal ohne die externe Karte nach und notiert. Dann erst die externe SD-Karte rein, vergleichen.

Ansonsten gilt wie immer, backup rulez.
Und bei so kleinen Datenträgern wie den max. 32 GB SD(HC)-Karten für den Pi fragt man sich allenfalls noch, Karte (auch mehrfach) klonen oder eigenes Image davon anlegen und z.B. auf dem PC verwahren.
Titel: Re: raspbian wheezy Filesystem reparieren
Beitrag von: mtron am 13 Juli, 2013, 19:34
noch ein Netzteil wollte ich eigentlich vermeiden, da ja die DVB-S2 Usb Box schon eines hat, also werde ichmal mit PoE (http://de.wikipedia.org/wiki/Power_over_Ethernet) experimentieren.

Mein momentaner Test Aufbau eines Sat-Reciever Replacement ist schon sehr zufriedenstellend. VDR Server und XBMC Frontend (mit vdr Plugin als Server-Client Handler) laufen schon gut nur kann ich mich noch überhaupt nicht mit dem Look and Feel von XMBC anfreunden. Gute Media Software sollte IMHO die Wiedergabe von Audiovisuellen Material im Vordergrund haben. Das Drumherum möglichst intuitiv und einfach sein. Ich werde natürlich zu meinem Media Pi noch ein Howto schreiben und Image bereitstellen. Sollte im Idealfall dann bedeuten: Pi und kompatible DVB-S2 USB Box via HDMI an den Fernseher stöpseln, Image auf Die Karte schreiben und der DVB-Pi wäre einsatzbereit.

Aber da ein Pi-Ausgabeplugin für den VDR eh schon in Entwicklung ist dürfte sich da bald einiges bessern. Die Bedienungsparadigmen des VDR sind sehr durchdacht und für mich genau das richtige.

Zitat
Da Du aber bestimmt ab und zu auf die Idee kommen wirst, auch mal weitere Hardware an den Pi anzuschließen, empfehle ich den Einsatz eines modernen Steckernetzteils mit 2 bis 3 A. Die sind heutzutage meist äußerst effizient und eben dann auch immer stark genug.

Natürlich, da hast du vollkommen Recht. Ein gutes Netzteil ist das um und auf.
Zitat
Meist reicht das schon, und man muss nicht das Terminal quälen.

Ansichtssache. Für mich ist es eher eine qual mich durch menüs diverser Programme zu klicken wohingegen die Sache in einigen Sekunden vom Terminal erledigt ist ;)
Titel: Re: raspbian wheezy Filesystem reparieren
Beitrag von: Jürgen am 14 Juli, 2013, 03:29
PoE?
Ich dachte, das kann der Pi gar nicht.

Meine Cinergy S2 USB HD Tuner habe ich noch unter keinem Linux zum Laufen bekommen.
Aber auch noch nicht wirklich ernsthaft versucht.
Soweit ich weiß, geht es bei Terratec grundsätzlich nur mit Kernel neu kompilieren.
Und die würden bei der Speisung des Pi auch nicht wirklich helfen, denn die leben von 12 Volt.

So gesehen war hier der aktive Hub die beste schnelle Lösung.

Wie auch immer...
...versteht ich Dich richtig, Tuner und VDR-Server zusammen mit dem XBMC Frontend auf ein und demselben Pi?
Wie willst Du dann den VDR bedienen oder gar konfigurieren, über ein Terminal oder sonstwie remote?
Ein Grundproblem scheint ja bisher zu sein, außerhalb der reinen XBMC-Systeme auf dem Pi überhaupt Hardwareunterstützung unter einem bedienbaren GUI zu bekommen.
Bislang gelingt mir das nur mit dem OMXplayer, aber den kann ich bisher nur vom Terminal bedienen.
Und das erscheint mir, bei der großen Vielfalt per Sat, überhaupt nicht praktikabel.
Titel: Re: raspbian wheezy Filesystem reparieren
Beitrag von: mtron am 15 Juli, 2013, 16:09
Zitat
PoE? Ich dachte, das kann der Pi gar nicht.

Direkt nicht, aber es gibt günstige Adapter (um die 10 Euro) welche im Pi-Forum "ghetto POE (http://www.raspberrypi.org/phpBB3/viewtopic.php?p=40681)" genannt werden. http://astrobeano.blogspot.co.at/2012/10/24v-passive-poe-for-raspberry-pi.html

Zitat
Meine Cinergy S2 USB HD Tuner habe ich noch unter keinem Linux zum Laufen bekommen.

Welche USB Device und Vendor ID bekommst du für die Cinergy via "lsusb" ausgegeben? Ich habe zufällig auch eine (ID 0ccd:00a8 TerraTec Electronic GmbH) und diese läuft mit raspbian wheezy out of the box. (Firmware dvb-fe-ds3000.fw (https://github.com/BjornLee/linux-firmware/blob/master/dvb-fe-ds3000.fw)  muss lediglich nach /lib/firmware kopiert werden)
Zitat
...versteht ich Dich richtig, Tuner und VDR-Server zusammen mit dem XBMC Frontend auf ein und demselben Pi?


Ja. VDR läuft ohne Ausgabe Plugin und reicht über das vdr-plugin-xvdr (https://github.com/pipelka/vdr-plugin-xvdr) alles relevante an xbmc weiter, über das dann die TV Wiedergabe, Bedienung und Timer Steuerung des VDR gemacht wird (auf xbmc seite wird das PVR Plugin (http://wiki.xbmc.org/index.php?title=PVR/Backend/VDR) xbmc-plugin-xvdr benötigt)

Ferngesteuert wird XBMC momentan noch über die kleine weiße Fernbedienung der Cinergy (http://www.terratec.net/de/produkte/details/img/4102356_21c68742f5.png). Ebenso funktioniert mit dem Pi auch HDMI-CEC falls dein Fernseher neu genug ist.  Dann wird xbmc (und im Hintergrund auch VDR) komplett über die herkömmliche FB des Fernsehers gesteuert. Mein nicht mehr taufrischer Toshiba 32LV822G unterstützt leider nur die Kreuztasten und ok)
Zitat
Wie willst Du dann den VDR bedienen oder gar konfigurieren, über ein Terminal oder sonstwie remote?
VDR kann komplett mit einfachen Text Konfigurationbsdateien eingestellt werden. Alle relevanten Konfigurationsdateien findest du unter /etc/vdr und /var/lib/vdr/setup.conf

Ebenso kann das VDR OSD zum konfigurieren über das Live Plugin dargestellt werden. Ich werde dazu bei Interesse gerne genauere howtos schreiben um vdr mit xbmc auf den pi zu bringen.

Eigentlich sollte ja schon reichen wenn ich mein fertiges image bereitstelle. Das sollte bei dir ohne große Modifikationen (du brauchst deine eigene MPEG2 Lizenz...) laufen.
Titel: Re: raspbian wheezy Filesystem reparieren
Beitrag von: Jürgen am 16 Juli, 2013, 04:15
Die Firmware hatte ich schon mal vergeblich am Wickel.
Finde zwar gerade meine entsprechende Notiz nicht, aber soweit ich mich korrekt erinnere, gibt's von dem USB-Tuner zwei Versionen, und der eine, mit dem ich zunächst probiert hatte, ist dummerweise die andere.
Habe aber gerade eben mal den anderen angesteckt, und der hat dieselbe ID wie Deiner.
Dann kann das Gefrickel ja zügig wieder losgehen  ;)

Ich bevorzuge eigentlich die Bedienung per Maus und Tastatur, zumal der Pi hier ja auch öfters mit Wheezy als Desktop-Rechner eingesetzt wird. Also ist der Empfänger ohnehin immer dran.
Der erste gelistete ist eigentlich von einem verschrotteten hama Set, wurde von mir aber schon vor Jahren mit großen Keyboard-LEDs nachgerüstet.
Haupt-Zweck: Grell-Roter CAPS-Lock-Alarm  8)

HDMI-CEC (bzw. Anynet) kommt hier nicht zum Einsatz, weil das dann beide Bildschirme unterstützen müssten.
Die hängen ja über den HDMI 4:2 dran, mal einer, mal der andere, mal beide. Und der zweite ist ein reiner PC-Monitor.

Für PoE gibt's hier keine Veranlassung, denn der Pi residiert direkt neben dem Standfuß des TV. Das 5V 2,5A Steckernetzteil, welches ihn und den 10port USB Hub speist, ist sehr effizient und hat einen Leerlaufverbrauch von unter 0,4W, trotzdem eine Schaltersteckdose davor, weil ich noch keinen Reset-Taster angebaut habe. Der Cinergy-Tuner braucht allerdings 12 Volt. Sein eigenes Steckernetzteil ist aber ähnlich gut.

Zumindest für Tests würde mich Dein Image durchaus schon interessieren, selbst wenn's hier zunächst auch nur mit DVB-T liefe.
Eine 4GB SD-Karte hätte ich dafür gerade noch über.
Zurechtfummeln ist ja allemal leichter als komplett neu anfangen.
Codec-Lizenzen habe ich natürlich.
Sollten noch (lokale) Passworte im Spiel sein, bräuchte man die natürlich auch.
Titel: Re: raspbian wheezy Filesystem reparieren
Beitrag von: mtron am 16 Juli, 2013, 16:06
Zitat
Sollten noch (lokale) Passworte im Spiel sein, bräuchte man die natürlich auch.

natürlich, ohne passwörter schauts schlecht aus, aber bevor ich etwas bereitstelle möchte ich nochmals selbst alles testen, also wird das sicher noch dauern.

Einfacher ist das log meiner vdr installation zu einem howto auszubauen damit es sich jeder selbst nachvollziehen und nachbauen kann  ;D
Titel: Re: raspbian wheezy Filesystem reparieren
Beitrag von: Jürgen am 17 Juli, 2013, 03:49
Lass Dir ruhig Zeit.

Ich selbst will die nächsten Tage mal versuchen, ein GUI für den omxplayer zu finden und zu testen. Den tboplayer beispielsweise.
Eigentlich möchte ich den Pi ja nicht primär als Mediaplayer einsetzen, sondern als sparsamen Desktop-Ersatz. 
Trotzdem wäre es natürlich schön, wenn man ähnlich wie unter Windows auch mal zwischendurch und ohne Reboot das eine oder andere Video abspielen könnte, natürlich nur mit voller Hardware-Unterstützung.

Habe gerade von einem meiner Brüder ein abgelegtes Arnova 10 Tablet (Model A101B) quasi aufgenötigt bekommen, und merke immerhin schon, das es damit (trotz Tastatur und Maus daran) noch reichlich mehr Krampf ist, irgendetwas nicht standardmäßiges zum Laufen zu kriegen.
Da versteckt sich ja das ganze Betriebssystem vor dem Benutzer und Eigentümer  ::)
Die spinnen, die Androiden...
Titel: Re: raspbian wheezy Filesystem reparieren
Beitrag von: mtron am 22 Januar, 2014, 18:28
Ich habe die für mich wahrscheinlich momentan beste Lösung gefunden um den Pi über den TV mit Strom zu versorgen

Bei http://www.piups.net/ handelt es sich um eine Externe Stromversorgung für den Pi der sicheres Herunterfahren ermöglicht wenn der Fernseher vom Strom getrennt wird und dadurch der USB Port keinen Strom mehr hat:

Titel: Re: raspbian wheezy Filesystem reparieren
Beitrag von: Jürgen am 23 Januar, 2014, 00:52
Sach' maa...

Wie stark ist denn der USB-Anschluss Deines TV belastbar?
Selbst die 900mA eines USB 3.0 Ports wären m.e. eigentlich zu dünn, u.U. riskant für den Stromspender.

Genau deshalb versuche ich so etwas gar nicht erst.
Batterien oder Akkus mag ich dafür auch nicht einsetzen, denn beide wären ja letztlich Verbrauchsmaterial.
Mein Netzteil für den RasPi kommt zudem auf weniger als 0,5 Watt Verluste, sowohl im Leerlauf, als auch unter 1A Last.
Bei Nichtbenutzung wird hier ganz klassisch primärseitig abgeschaltet.
Dem Netzteil meines vier Jahre alten TVs traue ich da insgesamt auch keine bessere Effizienz zu.
Und z.B. um's Dateisystem mache ich mir keine Gedanken, sondern gelegentliche (Image-)Backups der SD-Karte...

Jürgen
Titel: Re: raspbian wheezy Filesystem reparieren
Beitrag von: mtron am 23 Januar, 2014, 20:41
Da habe ich Glück. Mein Toshiba schert sich um die max. 500mA Spec des USB-2.0 Ports einen Dreck. Strom bekommt der leicht genug, da habe ich nichts negatives bemerkt.

Das ext4 Dateisystem kann es auch beim Übertrakten killen, also da ist ebenso Vorsicht geboten.  Die nächste Raspbian Version (basierend auf debian jessie) wird übrigens nicht mehr ext4, sondern das von Samsung veröffentlichte auf Flash Speicher getrimmte [wiki]F2FS[/wiki] kommen. Dann sollte die Preformance auch in diesem Bereich besser werden.

Edit: Gerade nochmal im Datenblatt nachgeschaut: 3 x USB ports (2 x 5V 0.5A and 1 x 5V 1A)