Samsung SMT-G3010, SMT-G3210, SMT-G3220: rootfs patchen

Dein Audio.o hat nur eine abhängigleit zu Sound.o

Hi xor16rox,
Ich wage zu behaupten, das du irgendwo eine andere Kompilereinstellung verwendest als ich.
Ein Hinweis darauf gibt schon der Speicherplatz im Kernel:
Soundcore bei mir 4352 bei dir 4592
Sound bei mir 71884 bei dir 72652
Ich habe die Erstellung im Samsung-Sourcecodepaket über make menuconfig dann meke dep und dann make modules.
Ich glaube da kann man nicht viel falsch machen ABER ich habe das Toolchain von dir damals mit der Option das eine MMU-existiert kompiliert. Ich meinte nähmlich, das der AMAZON eine MMU besitzt.[Habe nochmal nachgesehen, der AMAZONE hat definitief MMU und DMA]
Kannst du dich noch entsinnen, ob du das auch so hattest.
Denn mein audio.o verlangt nach einem DMA-Manager, der ist meines wissens teil einer MMU.
 
Zuletzt bearbeitet:
Im Make steht

Das mit der MMU hat keine Änderung ergeben.

Ich habe mir mal das Makefile im Soundordner angeschaut. Da steht:
sound-objs := \
dev_table.o soundcard.o sound_syms.o \
audio.o audio_syms.o dmabuf.o \
midi_syms.o midi_synth.o midibuf.o \
sequencer.o sequencer_syms.o sound_timer.o sys_timer.o
...
sound.o: $(sound-objs)
$(LD) -r -o $@ $(sound-objs)

damit würden ja die Funktionen der audio.o mit in die sound.o rein compiliert. Mir ist auch aufgefallen, das nach einem make install_modules nur sound.o und soundcore.o sich im Installziel befinden.
 
ALSA auf AMAZONE erzeugen

Es steht nicht gut!
Nach endlosem rumgefummel an den Compileroptionen ist er dann endlich durchgelaufen. Aber er kompliert mir ums verrecken den eigenen Soundcore und den snd-usb-drv nicht mit.
Mit dem soundcore aus dem Samsung-Paket vermisst er entweder:
unresolved symbol snd_compat_strlcpy
oder bei anderen Einstellungen
unresolved symbol strlcpy
Ich werde noch ein paar details liefern.

Was Ich so gemacht habe:
Verwendete Versionen:
alsa-driver-1.0.17.dfsg und
alsa-driver-1.0.22.1+dfsg
in der Datai:
/home/prediger/Source/GPL_3210/kernel/opensource/linux_2_4_20/include/linux/workqueue.h
/*Auskommentieren bei ALSA kompiling*/
#define work_struct tq_struct
#define schedule_work(x) schedule_task(x)
#define flush_scheduled_work flush_scheduled_tasks
#define INIT_WORK(x,y,z) INIT_TQUEUE(x,y,z)
/*Kommentar Ende*/
den Label work_struct definiert das ALSA-Paket selbst
 
Zuletzt bearbeitet:
Haken an ALSA -> OSS/Free erkennt USB-Audio-Adapter

Nach dem ich mit ALSA nicht weiter gekommen bin habe ich mir noch mal die Unterverzeichnise vom Samsung-Source angesehen. Da fiel mir auf, dass es unter drivers/usb eine audio.c gibt. Mal reingeschaut und siehe da, das ist die audio.c für die USB-Unterstützung. Habe mir dann die Config.in angesehen und siehe da, die make menuconfig bringt den USB-Audio nur, wenn PCI aktiev ist.
Nun die Frage an Euch, wer findet in der menuconfig den Punkt zum aktivieren des PCI. Ich habe ihn nicht gefunden !
Daraufhin habe ich in meiner zuletzt gespeicherten .config alle einträge mit PCI auf y gesetzt und siehe da beim nächten start von make menuconfig konnte ich eine "Traumliste" von USB-Geräten im Bereich USB-öffnen, so auch USB-Audio. Und siehe da soundcore.o und die audio.o aus dem USB-Ordner auf die Box geschaft und mit insmod geladen. Audio-USB-Stick rein und dmesg bring:

start download pages

pages downloadedport 2, portstatus 501, change 1

***************** Default Deley After ***********************
port 2, portstatus 101, change 1

***************** Default Deley After ***********************
pdev -> devpath[0] == 0
hub.c: new USB device 00:0d.0-2, assigned address 2 [SPEED 2][HUB SPEED 0]
usb.c 2323 USB_SPEED_FULL speed=2
usbaudio: device 2 audiocontrol interface 0 has 1 input and 1 output AudioStreaming interfaces
usbaudio: device 2 interface 2 altsetting 1 channels 1 framesize 2 configured
usbaudio: valid input sample rate 24000
usbaudio: device 2 interface 2 altsetting 1: format 0x00000010 sratelo 24000 sratehi 24000 attributes 0x00
usbaudio: device 2 interface 1 altsetting 0 does not have an endpoint
usbaudio: device 2 interface 1 altsetting 1 channels 2 framesize 2 configured
usbaudio: valid output sample rate 48000
usbaudio: device 2 interface 1 altsetting 1: format 0x01000010 sratelo 48000 sratehi 48000 attributes 0x00
usbaudio: registered dsp 14,3
usbaudio: constructing mixer for Terminal 3 type 0x0301
usbaudio: registered mixer 14,0
usbaudio: constructing mixer for Terminal 6 type 0x0101
usbaudio: registered mixer 14,16
usb_audio_parsecontrol: usb_audio_state at 81e88260

tata. Jetzt muss ich noch die dev-Links baune. Brauche einen OSS-Mixer und ein OSS-Commandline-Audioplayer.
 
Er spielt Radio !!!!!!!!!

Juhu der Dudelt !!!!!

Hatte noch ein Problem mit den TP6911 meines Sound-USB-Stick.

Man braucht:

zlib_1.2.3.3.dfsg.orig.tar
libmad-0.15.1b.tar
libid3tag-0.15.1b.tar
madplay-0.15.2b.tar
und ich noch wegen den TP6911
sox_14.0.1.orig.tar

nach dem Setzen von:

export CC=/home/prediger/Toolchain//toolchain_mips/bin/mips-linux-gcc
export LDFLAGS="-L/home/prediger/Toolchain/toolchain_mips/lib -L/home/prediger/Toolchain/zlib-1.2.3.3.dfsg -L/home/prediger/Toolchain/libmad-0.15.1b -L/home/prediger/Toolchain/libid3tag-0.15.1b -static"
export CPPFLAGS="-I/home/prediger/Toolchain/toolchain_mips/include -I/home/prediger/Toolchain/zlib-1.2.3.3.dfsg -I/home/prediger/Toolchain/libmad-0.15.1b -I/home/prediger/Toolchain/libid3tag-0.15.1b -static"

und jewieils ./configure –host=mips-linux
und make
lies sich alles anstandslos durchkompilieren.

Den Libpfad kan man mit

export LD_LIBRARY_PATH=/lib:/ramdisk/SMT_ext/bin
auf der Box erweitern.
 
Hi,
es geht auch ohne mod nur leider ohne VIOP Funktion, da die Box einen Internetzugang über das interne Modem oder LAN1 vorausetzt um eine VOIP Verbindung aufzubauen. Der normale LAN und Internetzugriff über WLAN klappt aber einwandfrei.
Es waere genial wenn man da eine Lösung finden könnte.

Gruss

Juergen

Hallo Jürgen,
hast du mittlerweile eine Lösung für das o.a. Zitat gefunden ?
Ich suche nach einer Möglichkeit via WLAN Voip zum laufen zu bekommen.

Bei einem Siemens SX 541 habe ich es hinbekommen.Dieser Router ist allerdings nicht so komfortabel wie der Samsung.

Gruss
 
Hallo Jürgen,
hast du mittlerweile eine Lösung für das o.a. Zitat gefunden ?
Ich suche nach einer Möglichkeit via WLAN Voip zum laufen zu bekommen.
Gruss

Das Problem ist, das der G3210 sich immer als Gateway sieht. z.B dürfte in diener config auch die Uhrzeit über Zeitserver sich nicht mehr updaten lassen. Porbiers mal aus in dem du im entsprechen den Menü mal speichern klickst. Die Uhrzeit düfte sich nicht aktualisieren.

Um das hinzubekommen musst du doch moden.

nach dem die Box gestartet hast muss du ihr die folgenden komandos unterjubel.

killall dnrd ;killt den eigenen DNS-Service der Box
/sbin/route add default gw 192.168.178.1 ;setzt deine Fritzbox als Gateway
echo "nameserver 192.168.178.1" > /ramdisk/etc/resolv.conf
 
Hallo Jürgen,
habe das so befolgt wie du es geschrieben hast.
Das mit dem Zeitserver stimmt.
Er Funktioniert jetzt.

Nur das mit dem Voip geht noch nicht.
Gibt es da noch was zu "machen" ?

Gruß
 
Hallo Jürgen,
Nur das mit dem Voip geht noch nicht.
Gibt es da noch was zu "machen" ?

Gruß

Beim Voip gibt es noch die Sache mit dem STUN-Dienst. Die Boxen sind für gewöhnlich so konzepiert, dass sie den STUN nicht nutzen, da sie als Router direkt die öffentliche IP nutzen können, und damit den STUN Dienst nicht benötigen. Der STUN hält künstlich die temporäre Portzuordnung im Masquader des Eingangsrouters aufrecht, damit das Voip-Gerät von außen erreichbar bleibt. Das ist aber leider nicht mein Fachgebiet. Ich sagmal -Der Nächste bitte.
 
Der Serielle Port ist fest mit der Hauptkonsole verknüpft

Ich habe jetzt über den serielen Port der Box ein 2x16 Zeichen Display und eine IR-Fernbedinung mit Philips RC5-Codierung dran gehängt. Da ich sowiso dafür einen Microkontroller gebraucht habe, habe ich die Software so geschrieben, dass der Microkontroller sich einfach auf der Konsole als root anmeldet und die Console-Ausgaben auf dem Display anzeigt und die IR-Cods lösen entsprechende echo Komandos aus die dann eine Datai in die Ramdisk mit dem übertragenen RC5 code schreibt. Ich häng mal den Code für den Controler dran. Ist aber schlecht dokumentiert.

Da ich den USB-Stick nach innen verlegt habe reicht die Kühlung der Box nicht mehr und ich musste einwenig nachhelfen.
 

Anhänge

  • smtg3210.jpg
    smtg3210.jpg
    92.4 KB · Aufrufe: 86
  • miniconsole.jpg
    miniconsole.jpg
    179.9 KB · Aufrufe: 64
  • Assembler.zip
    4.4 KB · Aufrufe: 24
Hi Prediger, nicht schlecht die Idee =) werde ich auch mal machen, sobald ich das Telnet zum laufen habe ^^ was nicht wirklich will. Was für eine Fernbedienung hast du denn verwendet?

Gruß Florian
 
Juhu der Dudelt !!!!!
Man braucht:

zlib_1.2.3.3.dfsg.orig.tar
libmad-0.15.1b.tar
libid3tag-0.15.1b.tar
madplay-0.15.2b.tar
und ich noch wegen den TP6911
sox_14.0.1.orig.tar

Ich habe festgestellt das der madplay noch ein paar Wünsche offen lässt, wenn er im Hintergrund laufen soll. Ideal wäre der MPD den bekomme ich aber ums verrecken nicht crosscompiled. Ich weiß aber, das es einige geschaft haben, nur finde ich nirgendwo eine Anleitung, wie. Ist von euch schon mal jemand über eine gestolpert. Muss nicht unbedingt für MIPS sein, das bekommt man dann wohl noch angepasst.
 
Danke für die Blumen

Leider helfen mir die Links nicht weiter.
Sie zeigen nur wie man den mpd nutzt aber sie beinhalte keine Anleitung zum crosscompiling.
Bei windows ist es so. Du lädst dir ein Programm, installierst es und es läuft. Dafür läuft Windows nur auf x86-Maschinen.
Bei Linux ist das anders. Linux kann man fast auf jeder Architektur zum laufen bekommen. Das zaht man aber mit dem Preis, wenn man eine Architektur benutzt die einwenig exotisch ist, alle Progamme passend zu der Architektur compilieren zu müssen. Das geht auch, weil fast alle Programme in ihrem C-Quellcode veröffentlicht sind. Richtig lustig wird es wenn man z.B. ein Programm auf einem x86 für z.B. eine MIPS-Architektur wie den G3210 kompiliren will. Da muss man einige Einstellungen machen damit das Programm auf MIPS und nicht auf x86 kompiliert wird. Manche Programme lassen das gut mit sich machen. Bei Anderen stochert man ganz schön in der trüben Suppe, besonders wenn Programme noch von anderen Programmen abhängig sind.
 
Ideal wäre der MPD den bekomme ich aber ums verrecken nicht crosscompiled.
Vielleicht hilft (für mich immer guter Anlaufpunkt ;-)) OpenWRT mpd, vor allem bezüglich der "configure"-Parameter, Abhängigkeiten und Patches.

"Zur Not" geht es meistens so: OpenWRT Trunk installieren, "amazon" Gerät auswählen und das mpd Paket, nach dem (langen(!)) make-Lauf dann ggf im Makefile bei den LDFLAGS noch "-static" hinzufügen...

Jörg
 
Nabend, der Befehl unsquashfs-lzma wird bei mir nicht gefunden, obwohl ich den make befehl ausgeführt habe. bekomme ich die fehlermeldung, dass er den befehl nicht findet. Kann mir da jemand weiter helfen?

Gruß Florian
 
In welchem Verzeichnis befindest du dich? Eventuell musst du den Pfad dahin komplett eingeben, in der Art Pfad/zur/Datei/unsquashfs-lzma. Wenn sie lokal in dem Verzeichnis liegt, in dem du bist ./unsquashfs-lzma.


Jörg
 
Das war mein fehler ich hab das ./ vergessen gehabt, danke ^^

nun kommt folgendes, ich werde gleich mal schaun ob das hier schon vor kam,

Can´t find a SQUASHFS superblock on ./temp-work/stript-rootfs.img

hat sich erledigt! =)
 
Zuletzt bearbeitet:
Und vorher den Uboot-Part "abgeschnitten" (Punkt 2 im ersten Beitrag des Threads) ??

Jörg
 
Das hatte ich schon aber als ich das mit dem superblog geändert hatte, hatte ich kein make ausgeführt beim unquashfs-lzma, aber danach ging das dann auch.

Sooo nun hab ich alles zerlegt nun gehts ans eingemachte .

Kann man bei dem Router Lan 1 zu WAN so einstellen das man sich mit pppoe daten einwählen kann ich war schon am stöbern hab aber noch nicht so richtig was gefunden.

Gruß Florian
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.