SD Karte oder MMC Card über Slot 2 machbar?

Boxenweitwurf
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

Wie siehts denn aus, kommt der Treiber ins CVS? (um dann dann im nächsten Schuss zu landen)
Wie hoch ist eigentlich der Durchsatz, würde der für MP3 reichen?

Gruß Gorcon
Soli
Interessierter
Interessierter
Beiträge: 44
Registriert: Montag 5. Mai 2003, 08:44

Beitrag von Soli »

Sind die Probleme mit dem Kernel segfault gelöst ???

Denn sonst braucht man nicht über das einchecken in das CVS denken...
just_me
Einsteiger
Einsteiger
Beiträge: 123
Registriert: Montag 28. November 2005, 11:31

Beitrag von just_me »

Soli hat geschrieben:Denn sonst braucht man nicht über das einchecken in das CVS denken...
sieht so aus, als wärs schon drin, siehe "mmc": http://cvs.tuxbox.org/lists/tuxbox-cvs-0603/
TaGana
Interessierter
Interessierter
Beiträge: 96
Registriert: Samstag 6. Oktober 2001, 00:00

Beitrag von TaGana »

Der kernel müsste nur recompiliert werden, mit den optionen:

CONFIG_PARTITION_ADVANCED=y
CONFIG_MSDOS_PARTITION=y
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y

(siehe auch http://kiel.kool.dk:27/)

sowie blocking device support, denke mal das selbe wie beim Kernel der das IDE (was developed wird) supported.

Da müsste sich jemand der sich damit auskennt mal ein wenig Zeit nehmen und sich das ansehen.

Die hardware (paar Drähte und ein Wiederstand) und der driver sind ok. Die karten (getestet mit 128MB und 512MB) werden ja erkannt und geinited.

Somit liegts nur noch am kernel support.
just_me
Einsteiger
Einsteiger
Beiträge: 123
Registriert: Montag 28. November 2005, 11:31

Beitrag von just_me »

Hallo TaGana,

vielen Dank für Deinen Treiber:)

Leider (den bei mir steht eine Sagem:) ist der Treiber auf die Nokia zugeschnitten: MODULE_SUPPORTED_DEVICE("Nokia dbox2 on com2");

Sind die Pins (oder notfalls andere) auch irgendwie an der Sagem zugänglich? Die Doku unter http://wiki.tuxbox-cvs.sourceforge.net/Hardware#Sagem bzw. #Nokia hilft dabei leider nicht weiter?

Thx,
Frieder
TaGana
Interessierter
Interessierter
Beiträge: 96
Registriert: Samstag 6. Oktober 2001, 00:00

Beitrag von TaGana »

just_me hat geschrieben: Leider (den bei mir steht eine Sagem:) ist der Treiber auf die Nokia zugeschnitten: MODULE_SUPPORTED_DEVICE("Nokia dbox2 on com2");

Sind die Pins (oder notfalls andere) auch irgendwie an der Sagem zugänglich? Die Doku unter http://wiki.tuxbox-cvs.sourceforge.net/Hardware#Sagem bzw. #Nokia hilft dabei leider nicht weiter?
Für Philips und Sagem müssen wohl die i/o pins (addressen) geändert werden. Weis jetzt nicht so aus dem Kopf welche das waren, müsste mal nachmessen (mit die Sagem vom Nachbarn ausleihen).

I/O pins gibts aber genug die nicht benötigt werden (so das beide com port noch funzen), auf com1 und com2 zum Beispiel DCD, DSR und RNG, sind insgesamt 6 i/o pins, benötigt werden für den SPI mode der MMC/SD karten nur 4, ist also kein Problem
racker
Einsteiger
Einsteiger
Beiträge: 369
Registriert: Samstag 29. Mai 2004, 01:50

Beitrag von racker »

@TaGana
Danke, funktioniert ganz gut. Hat zwar noch beim Schreiben ein paar Probleme und das entladen geht auch nicht aber für mp3 hören reichts (unter Neutrino besser als unter Enigma ;) )
Könnte man noch die Adressen und Pins für Sagem und Philips herausfinden?
Den Treiber dafür anzupassen wäre dann nicht das Problem.
just_me
Einsteiger
Einsteiger
Beiträge: 123
Registriert: Montag 28. November 2005, 11:31

Beitrag von just_me »

racker hat geschrieben:für mp3 hören reichts
:)Könntest Du mal messen, wie lange es braucht, z.B. eine 32MB grosse Datei zu lesen/schreiben?
> time dd if=/dev/zero of=somefilenameonmmc bs=1M count=32
und danach
> time dd if=somefilenameonmmc of=/dev/null
Danke:)
TaGana
Interessierter
Interessierter
Beiträge: 96
Registriert: Samstag 6. Oktober 2001, 00:00

Beitrag von TaGana »

@racker
endlich mal jemand der mitmacht.

Sei mal nett und poste was man alles im kernel usw ändern muss, oder besser noch poste doch irgendwo ein komplettes Nokia 2xI image, damit ich mal versuche das I/O zu optimieren.

Ich werde mir dan diese Tage die Sagem vom Nachbarn holen und den Treiber anpassen und in Real testen. Eine Philips versuche ich auch noch zu finden.
racker
Einsteiger
Einsteiger
Beiträge: 369
Registriert: Samstag 29. Mai 2004, 01:50

Beitrag von racker »

just_me hat geschrieben:Könntest Du mal messen, wie lange es braucht, ...
Solche Tests habe ich natürlich gestern auch gemacht, deswegen wurde es auch etwas später.
Zum Testen hatte ich 1 kbyte Blöcke verwendet, die Rate war mindestens
220 kbyte/s, wobei beim Schreiben von mehr als 6Mbyte großen Dateien das
System eingefroren ist.
racker
Einsteiger
Einsteiger
Beiträge: 369
Registriert: Samstag 29. Mai 2004, 01:50

Beitrag von racker »

@TaGana
Die Kerneländerungen sind wie oben:
CONFIG_MSDOS_PARTITION=y
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y

(siehe auch http://kiel.kool.dk:27/)
poste doch irgendwo ein komplettes Nokia 2xI image
Reicht auch eine Yadd?
Images erstelle ich schon seit ein paar Monaten nicht mehr... mal sehen :wink:
Ich hätte heute noch etwas mit dem Kernel experimentiert und dann
am Abend eine Yadd(CDK) auf meine HP hochgeladen.

EDIT: Ganz vergessen: Im Makefile unter tuxbox-cvs/driver muss noch
folgende Zeile ergänzt werden:
subdir-$(CONFIG_HARDWARE_DBOX2) += avs cam event ext fp i2c lcd saa7126 dvb2eth ds1307 mmc
/EDIT
Zuletzt geändert von racker am Sonntag 12. März 2006, 15:04, insgesamt 1-mal geändert.
vSaAmTp
Einsteiger
Einsteiger
Beiträge: 232
Registriert: Sonntag 17. März 2002, 22:14

Beitrag von vSaAmTp »

klingt gut. werd dann auch mal anfangen zu testen.
just_me
Einsteiger
Einsteiger
Beiträge: 123
Registriert: Montag 28. November 2005, 11:31

Beitrag von just_me »

TaGana hat geschrieben:damit ich mal versuche das I/O zu optimieren.
Hallo TaGana,
in dieser Richtung hätte ich schon etwas, dass ich allerdings in Ermangelung einer Nokia (und wegen meiner Unkenntnis des Buildsystems) nicht getestet habe. Das war auch der Grund, warum ich gleich nach den Übertragungsraten gefragt hatte... Anyway here it goes:

Kurzbeschreibung: Generische IO Funktion geringfügig schneller, spezielle inline Funktionen für jeweils das Lesen/Schreiben der 512 Blöcke hinzugefügt, Lesen/Schreiben nicht in/aus array sondern über Pointer.

Code: Alles auswählen

--- mmc.c.orig	2006-03-04 13:53:26.000000000 +0100
+++ mmc.c	2006-03-12 15:06:24.000000000 +0100
@@ -78,8 +78,6 @@ static void mmc_spi_cs_high(void)
   cp->cp_pbdat |= SD_CS;
 }
 
-static unsigned char bitarray[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
-
 static unsigned char mmc_spi_io(unsigned char data_out)
 {
   int i;
@@ -87,20 +85,54 @@ static unsigned char mmc_spi_io(unsigned
   cpm8xx_t *cp  = (cpm8xx_t *) &immap->im_cpm;
   iop8xx_t *cpi = (iop8xx_t *) &immap->im_ioport;
 
-  for(i=0; i<8; i++) {
-    if (data_out & bitarray[i])
+  for(i=0x80; i; i>>=1) {
+    if (data_out & i)
       cp->cp_pbdat |= SD_DI;
     else
       cp->cp_pbdat &= ~SD_DI;
 
     cp->cp_pbdat |= SD_CLK;
-    if (cpi->iop_padat & SD_DO) result |= bitarray[i];
+    if (cpi->iop_padat & SD_DO) 
+      result |= i;
     cp->cp_pbdat &= ~SD_CLK;
   }
 
   return(result);
 }
 
+static inline unsigned char mmc_spi_i(void)
+{
+  int i;
+  unsigned char result = 0;
+  cpm8xx_t *cp  = (cpm8xx_t *) &immap->im_cpm;
+  iop8xx_t *cpi = (iop8xx_t *) &immap->im_ioport;
+
+  cp->cp_pbdat |= SD_DI;
+  for(i=0x80; i; i>>=1) {
+    cp->cp_pbdat |= SD_CLK;
+    if (cpi->iop_padat & SD_DO) 
+      result |= i;
+    cp->cp_pbdat &= ~SD_CLK;
+  }
+
+  return result;
+}
+
+static inline void mmc_spi_o(unsigned char data_out)
+{
+  int i;
+  cpm8xx_t *cp  = (cpm8xx_t *) &immap->im_cpm;
+
+  for(i=0x80; i; i>>=1) {
+    if (data_out & i)
+      cp->cp_pbdat |= SD_DI;
+    else
+      cp->cp_pbdat &= ~SD_DI;
+
+    cp->cp_pbdat |= SD_CLK;
+    cp->cp_pbdat &= ~SD_CLK;
+  }
+}
 
 static int mmc_write_block(unsigned int dest_addr, unsigned char *data)
 {
@@ -136,7 +168,9 @@ static int mmc_write_block(unsigned int 
 	}
 
 	mmc_spi_io(0xfe);
-	for (i = 0; i < 512; i++) mmc_spi_io(data[i]);
+	for (i = 0; i < 512; i++) 
+		mmc_spi_o(*data++);
+
 	for (i = 0; i < 2; i++) mmc_spi_io(0xff);
 
 	for (i = 0; i < 1000000; i++)
@@ -202,8 +236,7 @@ static int mmc_read_block(unsigned char 
 	}
 	for (i = 0; i < 512; i++)
 	{
-		r = mmc_spi_io(0xff);
-		data[i] = r;
+		*data++ = mmc_spi_i();
 	}
 	for (i = 0; i < 2; i++)
 	{
racker
Einsteiger
Einsteiger
Beiträge: 369
Registriert: Samstag 29. Mai 2004, 01:50

Beitrag von racker »

nicht getestet habe
Ich aber :wink:
Initialisiert die Karte nicht.
Vlt. wäre es besser, wenn noch ein paar Debug-Ausgaben dabei wären.
das entladen geht auch nicht
geht doch
vSaAmTp
Einsteiger
Einsteiger
Beiträge: 232
Registriert: Sonntag 17. März 2002, 22:14

Beitrag von vSaAmTp »

kurze frage. muss das teil an den modem anschluss oder kann man den 2ten k-schacht nicht nutzen?

Bild

s1 ist doch SD_DO? oder nicht
usul1
Erleuchteter
Erleuchteter
Beiträge: 760
Registriert: Freitag 14. Januar 2005, 12:42

Beitrag von usul1 »

vSaAmTp hat geschrieben:kurze frage. muss das teil an den modem anschluss oder kann man den 2ten k-schacht nicht nutzen?
Ist der Grund dafür das die Leute Multicamplatienen auf den Modemanschluß stecken nicht der das keiner weiß wie der 2. Kartenleser angesteuert wird? :-)

cu
usul
vSaAmTp
Einsteiger
Einsteiger
Beiträge: 232
Registriert: Sonntag 17. März 2002, 22:14

Beitrag von vSaAmTp »

und? hab easytv und pw. das beides als abo. soll ich nun immer die karten wechseln? nö. will nicht wissen, wieviel hier das gleich wie ich machen. was den 2ten anschluss angeht. es steht hier im board auch nicht gerade viel info drüber (hab den ganzen hardware thread abgesucht)
egal.
das topic ist dann wohl eher falsch, oder nicht???
SD Karte oder MMC Card über Slot 2 machbar?
müsste eher dann über "den Modem Port" lauten.
usul1
Erleuchteter
Erleuchteter
Beiträge: 760
Registriert: Freitag 14. Januar 2005, 12:42

Beitrag von usul1 »

vSaAmTp hat geschrieben:und? hab easytv und pw. das beides als abo.
Ich wollte damit eigentlich nur sagen: Gäbe es am Kartenleseranschluß freie IO Pins die man einfach per Software nutzen könnnte gäbe es keine Multicams (Platienen am Modemport).
Also kann man wohl davon ausgehen das man die SD Karte nicht anstelle des zweiten Kartenlesers anschließen kann (Ich denke die Multicamleute haben in dieser Richtung hinreichend geforscht) um auf den Anschluß am Modemanschluß verzichten zu können (Das meintest du doch, oder?).

cu
usul
racker
Einsteiger
Einsteiger
Beiträge: 369
Registriert: Samstag 29. Mai 2004, 01:50

Beitrag von racker »

Hallo ihr Mädels, :D
warum muss eigentlich jede 2. Diskussion in diese Richtung ausarten? (Ich will keine Antwort darauf)
Das interessiert hier niemanden.
Lasst doch erstmal das Teil zum Fliegen bringen, wo es dann angeschlossen
wird ist doch wurschtepiepe.
Zuletzt geändert von racker am Sonntag 12. März 2006, 18:21, insgesamt 1-mal geändert.
vSaAmTp
Einsteiger
Einsteiger
Beiträge: 232
Registriert: Sonntag 17. März 2002, 22:14

Beitrag von vSaAmTp »

nun ist meine frage ja beantwortet worden.

ist also nicht möglich direkt an slot2. geht nur über den modem anschluss.

mehr wollt ich ja net wissen.
vSaAmTp
Einsteiger
Einsteiger
Beiträge: 232
Registriert: Sonntag 17. März 2002, 22:14

Beitrag von vSaAmTp »

wär es so korrekt? dachte ich beteilige mich auf ne andere art an diesem projekt. ist der erste entwurf.

Bild

20:40: so denk so ist es ok...
Zuletzt geändert von vSaAmTp am Sonntag 12. März 2006, 20:40, insgesamt 1-mal geändert.
racker
Einsteiger
Einsteiger
Beiträge: 369
Registriert: Samstag 29. Mai 2004, 01:50

Beitrag von racker »

Passt!
Du könntest dir aber schon einmal üerlegen, wo man die SD-Karte am besten einbaut und befestigt. :wink:
usul1
Erleuchteter
Erleuchteter
Beiträge: 760
Registriert: Freitag 14. Januar 2005, 12:42

Beitrag von usul1 »

racker hat geschrieben:Passt!
Du könntest dir aber schon einmal üerlegen, wo man die SD-Karte am besten einbaut und befestigt. :wink:
Lach nicht, das wird das Hauptproblem des Anwenders sein. In den 2. Kartenslot passt sie leider nicht (ne MMC evtl.?).

Evtl. einen kleinen Schlitz in die Front neben den Kartenleser Fräsen.

cu
usul
vSaAmTp
Einsteiger
Einsteiger
Beiträge: 232
Registriert: Sonntag 17. März 2002, 22:14

Beitrag von vSaAmTp »

werd morgen nen adapter besorgen und dann mal den passenden platz aussuchen. mach natürlich bilder.
Npq
Senior Member
Beiträge: 1339
Registriert: Donnerstag 24. April 2003, 12:12

Beitrag von Npq »

So geheimnisvoll ist das mit den Kartenschächten nicht. Das Problem ist, daß

a) das cam-alpha ein eigener Mikrocontroller ist, so daß die Firmware da drin die Kommunikation mit den Kartenschächten selber herstellt.

b) die Firmware wie der BN-Kernel mit einem - natürlich unbekannten - Schlüssel signiert ist ohne den das cam-alpha sie gar nicht erst ausführt

c) Daten- und Adressleitungen vertauscht wurden, so daß die cam-alpha Firmware nicht in der Form wie sie als Datei vorliegt im Inneren des cam-alpha landet.

Naja, lassen wir das Thema.

MMC-Karte ist viel spannender, allerdings wär's natürlich wirklich nett, wenn man den 4-Bit-Modus nutzen könnte. Tja, aber ohne Protokollspezifikation ist das natürlich dumm.