SD-Karte: Partitionierung unter Linux?

Hallo!

Ich bin gerade dabei, meinen ersten TonUINO zu bauen, und komme eigentlich gut voran.
Leider stehe ich aber vor folgendem Problem, auf das ich auch nach längerer Suche hier keine genaue Antwort gefunden habe.

In der seriellen Konsole sehe ich immer „Com Error 1“:

  • Die Kommunikation mit dem Player scheint zu funktionieren, jedenfalls kommt bei falscher Verkabelung der Com Error 129.
  • Der Fehler kommt, egal ob eine Karte eingelegt ist, oder nicht.

Da ich an verschiedenen Stellen gelesen habe, dass die SD-Karte das Problem sein kann, habe ich bereits verschiedene Karten ausprobiert (2 und 16 GB) - aber vielleicht ist das Problem die Art, wie ich die Karte erstelle?

  1. Unter Linux lösche ich mit fdisk alle Partitionen und erstelle dann eine neue:
    Festplattenmodell: STORAGE DEVICE
    Einheiten: Sektoren von 1 * 512 = 512 Bytes
    Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
    E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
    Festplattenbezeichnungstyp: dos
    Festplattenbezeichner: 0x738a4d67

    Gerät Boot Anfang Ende Sektoren Größe Kn Typ
    /dev/sdc1 2048 30892031 30889984 14,7G b W95 FAT32

  2. Dann erzeuge ich auf der Partition mit mkfs.fat ein Filesystem.

  3. Schließlich kopiere ich einige Dateien aus dem Projekt auf die Karte:
    $ ls -aln /media/user/E440-8B82/
    insgesamt 36
    drwxr-xr-x 5 1000 1001 8192 Jan 1 1970 ./
    drwxr-x—+ 3 0 0 4096 Aug 28 22:18 …/
    drwxr-xr-x 2 1000 1001 8192 Aug 28 21:45 01/
    drwxr-xr-x 2 1000 1001 8192 Aug 28 21:45 advert/
    drwxr-xr-x 2 1000 1001 8192 Aug 28 21:45 mp3/
    $ ls -aln /media/user/E440-8B82/01
    insgesamt 40
    drwxr-xr-x 2 1000 1001 8192 Aug 28 21:45 ./
    drwxr-xr-x 5 1000 1001 8192 Jan 1 1970 …/
    -rw-r–r-- 1 1000 1001 3650 Aug 27 18:18 0001.mp3
    -rw-r–r-- 1 1000 1001 3493 Aug 27 18:18 0002.mp3
    -rw-r–r-- 1 1000 1001 3179 Aug 27 18:18 0003.mp3

Meine Fragen:

  • Passt die Partitionstabelle?
  • Welchen Partitions-Typ muss man verwenden? Ich habe 6, b und c ausprobiert.
  • Welche FAT-Variante muss es sein? -16/-32/egal?
  • Könnte es sein, dass der Player schlicht defekt ist?

Vielen Dank!

nimm mal in 01 die erste 0 weg also 001.mp3 …
dann sollte es klappen.

dann schau mit ls -a nach ob da Ordner mit .xxxx drin sind, z.B. .Trash oder so etwas die solltest du löschen.

Danke für den Hinweis. Das habe ich auch schon probiert, ohne Erfolg.
Und das Flag -a bei ls hatte ich ja auch schon gesetzt.

Gibt es vielleicht irgendwo ein Disk-Image einer funktionierenden Karte, z.B. mit den Dateien von GitHub, dem „sd-card“ Verzeichnis? Dann könnte man da nichts falsch machen…

in den Ordnern dürfen die Dateien vorn nur 3 stellige Zahlen tragen.

gisbert@gili-002:~/tonuino/audio/sd_karte_32gb$ ls 01
001_Kasimir_backt.mp3         005_hat_einen_Platten.mp3
002_Kasimir_tischlert.mp3     006_näht.mp3
003_Kasimir_malt.mp3          007_Kasimir-läßt-Frippe-machen.mp3
004_pflanzt_weiße_Bohnen.mp3

Bei den meisten Playern klappt das mit der Beschreibung hinter der Zahl.
Die Ordner
drwxr-xr-x 2 gisbert gisbert 12288 Jul 30 2019 advert/
drwxr-xr-x 2 gisbert gisbert 12288 Jul 30 2019 mp3/
müssen von dem Github-Fork stammenwoher die Software stammt.
Dann sollte das klappen.

Evtl. die Karte noch mit dem Tool formatieren:

Ein Image eine SD-Karte wird nicht benötigt. Einfach wie @gmbo schon geschrieben hat, die Ordner MP3 und advert Aus Github drauf und dann Ordner 01 mit MP3s befüllen, welche mit 001 beginnen (ohne Lücken bei der Nummerierung).

Nun habe ich zwei SD-Karten mit verschiedenen Einstellungen unter Windows 10 formatiert, und die Ordner so bespielt:
/media/user/1A81-BB0C$ find -type f
./mp3/0001.mp3
./mp3/0002.mp3
./mp3/0003.mp3
./mp3/0004.mp3
./mp3/0005.mp3

./advert/0001.mp3
./advert/0002.mp3
./advert/0003.mp3
./advert/0004.mp3
./advert/0005.mp3

./01/001.mp3
./01/002.mp3
./01/003.mp3
./01/004.mp3
./01/005.mp3
Trotzdem bleibt es bei „Com Error 1“.

Langsam drängt sich der Verdacht auf, dass der Reader kaputt ist.
Oder hat jemand noch eine Idee?

Com error 1 ist leider wenig spezifisch. Meist ist entweder der DFPlayer oder die SD Karte defekt. Da du nun schon mehrere Karten probiert hast, würde ich mir mal den DFPlayer genauer ansehen. Oft ist der schlampig gelötet. Wenn du nen Lötkoblen hast, es hat schon geholfen die Lötstellen mal nachzulöten. Um bei der Formatierung :100: sicher zu gehen, empfehle ich dir das Tool was @Manu gepostet hat (du scheinst ja neben Linux auch Windows verfügbar zu haben).

Generell, schreibst du nichts über deinen Aufbau. Bist du sicher, das dort ebenfalls alles gut verlötet ist etc.?

Das mit dem Nachlöten werde ich auf alle Fälle versuchen, danke für den Tipp!

Mich wundert halt, dass es irgendeine Kommunikation zu geben scheint, denn wenn der Nano nicht verbunden ist, kommt Com Error 129, mit Tx/Rx eben 1.

Mein Aufbau ist aktuell noch mit Jumper-Kabeln, aber eigentlich müsste es doch reichen, Vcc/GND, Spk+/- und einen Taster anzuschließen, um Titel von der Karte abzuspielen? Das geht ja schon nicht - ich werde es aber nochmal versuchen.

Das musst du unterscheiden. Vereinfacht gesagt, alle Fehler > 128 kommen von der Library:

Sprich das sind Fehler im Paket, Checksumme etc. oder eben gar keine Antwort (= 129) vom Player. Fehler 1 - 7 meldet der Player quasi.

Ja wenn Du kurz IO1 mit GND brückst, sollte was gespielt werden. Wenn das nicht funktioniert liegt es safe am Player oder an der Karte und (logischerweise) nicht an deinem restlichen Aufbau.

miniplayer_pin_map

Hallo!

An alle, die mir geantwortet haben: es war wohl wirklich ein Hardware-Defekt des Players.
Mit einem neuen Player funktioniert der Aufbau wie erwartet.

Danke!

1 Like

Super. Dann viel Spaß mit dem TonUINO. :sunglasses: