Seite 1 von 2

Wie mmc Treiber im JtG einbinden?

Verfasst: Do 22 Feb 2007, 14:51
von Gorcon
Hi

Ich habe hier eine Sagem Box zur Reparatur gehabt bei der eine MMC Karte angeschlossen ist. Die Box läuft soweit auch mit der Karte, jedoch ist es ein Illegales Image das ich gegen ein JTG Image getauscht habe.

Hier ist jedoch kein Treiber für die Karten eingebunden. Den mmc2.o Treiber selbst habe ich erstmal nach /var/bin/ kopiert. Ich bekomme den aber nicht eingebunden. Die Start_neutrino habe ich auch schon nach /var/etc/init.d/ kopiert.

Was muss ich machen das die MMC Karte initialisiert werden kann?

Gruß Gorcon

Verfasst: Do 22 Feb 2007, 15:40
von jmittelst
Bei einem JtG-Image wird die start_neutrino in /var/tuxbox gesucht.
Den mmc2.o sollte insmod starten können. Chmod 755 für den Treiber und für start_neutrino hast Du nicht vergessen, oder?

Was sagt denn das Log beim Start des Treibers?
Muß das Dateisystem der Karte nicht auch gemountet werden?

cu
Jens

Verfasst: Do 22 Feb 2007, 16:36
von DrStoned
Beim JTG-Image kannst du die Intialisierung in /var/etc/init.local starten, die wird noch vor der start_neutrino gestartet. Allerdings werden da für die MMC-Karte auch noch Treiber für das Dateisystem benötigt, ext2 und ext3 sind ja drin. Nur der vfat-Treiber ist soweit ich weiss, nicht eingebaut.
Habe allerdings keine Ahnung, ob der benötigt wird.
jmittelst hat geschrieben:Muß das Dateisystem der Karte nicht auch gemountet werden?
Das muss wie bei der HDD gemounted werden.

Die Initialisierung würde ich dann so, wie in dem illegalen Vogelbauer-Image ausführen. Habe allerdings selbst noch kein MMC eingebaut, (ist aber in Planung, genauso wie die RTC) deswegen habe ich auch nicht unbedingt die Ahnung, wie man das im JTG-Image zum Laufen kriegt.

Riker hatte das aber mal auf seiner ToDo-Liste. Integration ins Image wie das experimentelle HDD-Menü. Dauert aber noch etwas, bis Innuendo wieder Zeit hat, das weiter zu verfolgen, er ist wohl immer noch mit Arbeiten nach seinem Umzug beschäftigt.

Verfasst: Do 22 Feb 2007, 16:45
von Gorcon
Ja, Danke die start_neutrino war im falschen Verzeichniss.
Jetzt wird sie zumindest aufgerufen.

Aber der mmc2.o Treiber lässt sich nicht aufrufen ich bekomme die Fehlermeldung:

Code: Alles auswählen

/var/bin/mmc2.o
/var/bin/mmc2.o: /var/bin/mmc2.o: 1: Syntax error: word unexpected (expecting ")
")
:?:
Ich habs auch schon per Telnet versucht, aber da kommt die gleiche Meldung.

Die MMC ist mit ext2 formatiert.

Gruß Gorcon

Verfasst: Do 22 Feb 2007, 17:03
von DrStoned
Hier mal eine start_mmc aus einem bösen Image.

Code: Alles auswählen

#!/bin/sh

echo "Starting MMC-Support"

case "$1" in
	mmc1)
		insmod mmc.o
		i=10
		while expr $i != 0 > /dev/null; do
			if [ ! -e /dev/mmc ]; then
				if lsmod | grep -q "^mmc "; then
					rmmod mmc
					insmod mmc.o
				fi
				sleep 2
			else
				break
			fi
			i=`expr $i - 1`
			sleep 1
		done
		if [ -e /dev/mmc ]; then
			mount -t vfat /dev/mmc/disc0/part1 /mnt/mmc && echo "MMC mounted on /mnt/mmc" && exit 0
			echo "MMC Startup failed"
			exit 1
		else
			echo "MMC Startup failed"
			exit 1
		fi
	;;
	mmc2)
		insmod mmc2.o
		i=10
		while expr $i != 0 > /dev/null; do
			if [ ! -e /dev/mmc ]; then
				if lsmod | grep -q "^mmc2 "; then
					rmmod mmc2
					insmod mmc2.o
				fi
				sleep 2
			else
				break
			fi
			i=`expr $i - 1`
			sleep 1
		done
		if [ -e /dev/mmc ]; then
			mount -t vfat /dev/mmc/disc0/part1 /mnt/mmc && echo "MMC mounted on /mnt/mmc" && exit 0
			echo "MMC Startup failed"
			exit 1
		else
			echo "MMC Startup failed"
			exit 1
		fi
	;;
	*)
		echo unsupported
	;;
esac
Diese start_mmc wird dann in der /var/etc/init.local folgendermaßen aufgerufen.

Code: Alles auswählen

#!/bin/sh
if [ -e /var/etc/.mmc1 ]; then
	/var/etc/init.d/start_mmc mmc1
elif  [ -e /var/etc/.mmc2 ]; then
	/var/etc/init.d/start_mmc mmc2
fi
für mmc2 noch diesen Befehl per Telnet ausführen:

Code: Alles auswählen

touch /var/etc/.mmc2
um die Schalterdatei zu erzeugen.

vfat scheint allerdings auch benötigt zu werden, um die MMC-Card zu mounten. :shock:

Verfasst: Do 22 Feb 2007, 17:09
von Gorcon
Ja, so wollte ich das auch machen (ist auch schon so eingebaut) aber der Treiber wird ja erst garnicht geladen, wegen der Fehlermeldung siehe oben.
Das Start_mmc Script bringt dann nur noch

Code: Alles auswählen

/var/etc/init.d/start_mmc
Starting MMC-Support
unsupported
Wobei ich gerade merke das ich da den Mountpunkt noch ändern muss, denn /mnt/mmc/ gibts ja im jtg nicht.

Aber wie gesagt das ist wohl nicht das Problem, sondern das der Treiber nicht geladen wird.

Verfasst: Do 22 Feb 2007, 17:17
von DrStoned
Hast Du schon versucht mal per Telnet zu starten über

Code: Alles auswählen

insmod -f /var/bin/mmc2.o
?

Verfasst: Do 22 Feb 2007, 17:33
von Gorcon

Code: Alles auswählen

~ > insmod -f /var/bin/mmc2.o
insmod: Warning: kernel-module version mismatch
        /var/bin/mmc2.o was compiled for kernel version 2.4.32-dbox2
        while this kernel is version 2.4.34-dbox2
~ >
Aha, daher weht der Wind.

Nachtrag:
Ich sehe gerade das es /dev/mmc auch nicht gibt. :roll:

Verfasst: Do 22 Feb 2007, 18:05
von Riker
Gorcon hat geschrieben:

Code: Alles auswählen

~ > insmod -f /var/bin/mmc2.o
insmod: Warning: kernel-module version mismatch
        /var/bin/mmc2.o was compiled for kernel version 2.4.32-dbox2
        while this kernel is version 2.4.34-dbox2
~ >
Aha, daher weht der Wind.

Nachtrag:
Ich sehe gerade das es /dev/mmc auch nicht gibt. :roll:
Wenn du etwas Zeit hast guck ich mal ob ich das mit eingebaut bekomme, bis jetzt hat sich noch keiner beschwert *duck*

Meld dich mal per PM dann schick ich dir mal einen Test-Snap so haben alle was davon, ich hab noch kein MMC oder so gehabt bis jetzt.

Riker

Verfasst: Do 22 Feb 2007, 18:16
von Gorcon
Danke schon mal an Riker und Dr.Stoned

Noch ne andere kurze Frage:
kann ich eigentlich auch per Telnet die MMC partitionieren und formatieren?
Ginge das wenn man das HDD_init Script entsprechend ändert?

Gruß Gorcon

Verfasst: Do 22 Feb 2007, 20:32
von Gorcon
Dr.Stoned kannst Du mir vieleicht sagen warum das Script nicht richtig läuft? Ich habe den mountpfad nur geändert weil im Testimge von Riker noch kein /mnt/mmc/ verzeichniss drinn ist. ich bekomme damit immer die Fehlermeldung:

Code: Alles auswählen

/var/etc/init.d/start_mmc 
Starting MMC-Support 
unsupported
ich kann aber Teile des Scripts (starten des Treibers und mounten ausführen und es funktioniert dann).
ist im Script vieleicht ein Befehl drinn der im JtG Image nicht funktioniert?

Code: Alles auswählen

#!/bin/sh

echo "Starting MMC-Support"

case "$1" in
	mmc1)
		insmod mmc.o
		i=10
		while expr $i != 0 > /dev/null; do
			if [ ! -e /dev/mmc ]; then
				if lsmod | grep -q "^mmc "; then
					rmmod mmc
					insmod mmc.o
				fi
				sleep 2
			else
				break
			fi
			i=`expr $i - 1`
			sleep 1
		done
		if [ -e /dev/mmc ]; then
			mount -t vfat /dev/mmc/disc0/part1 /mnt/plugins && echo "MMC mounted on /mnt/plugins" && exit 0
			echo "MMC Startup failed"
			exit 1
		else
			echo "MMC Startup failed"
			exit 1
		fi
	;;
	mmc2)
		insmod mmc2.o
		i=10
		while expr $i != 0 > /dev/null; do
			if [ ! -e /dev/mmc ]; then
				if lsmod | grep -q "^mmc2 "; then
					rmmod mmc2
					insmod mmc2.o
				fi
				sleep 2
			else
				break
			fi
			i=`expr $i - 1`
			sleep 1
		done
		if [ -e /dev/mmc ]; then
			mount -t vfat /dev/mmc/disc0/part1 /mnt/plugins && echo "MMC mounted on /mnt/plugins" && exit 0
			echo "MMC Startup failed"
			exit 1
		else
			echo "MMC Startup failed"
			exit 1
		fi
	;;
	*)
		echo unsupported
	;;
esac

Verfasst: Do 22 Feb 2007, 21:29
von rr9613
Hallo,
Ich mach bei mir das einbinden der SD-Karte mit dem folgenden Script.

Code: Alles auswählen

$INSMOD /var/etc/mmc.o -f
if [ -d /dev/mmc ]; then
	if [ ! -d /var/mmc ]; then
  		mkdir /var/mmc
	fi
	
	#$INSMOD ext2
	#mount -t ext2 /dev/mmc/disc0/part1 /var/mmc
	
	$INSMOD jbd
	$INSMOD ext3
	mount -t ext3 /dev/mmc/disc0/part1 /var/mmc
fi
rr9613

Verfasst: Do 22 Feb 2007, 21:33
von Houdini
enter <start_mmc mmc1>

Verfasst: Fr 23 Feb 2007, 11:30
von Gorcon
Houdini hat geschrieben:enter <start_mmc mmc1>
Danke das wars (ich dachte das Script selbst sucht das aus.

Gruß Gorcon

Verfasst: Fr 23 Feb 2007, 15:03
von DrStoned
Gorcon hat geschrieben:
Houdini hat geschrieben:enter <start_mmc mmc1>
Danke das wars (ich dachte das Script selbst sucht das aus.

Gruß Gorcon
Woher soll das Startskript wissen, wie Deine MMC-Karte verdrahtet wurde. ;)