Hex-Dez?

1) ff04 = 1111 1111 0000 0100 = 16 Bit
2) 32 = 32/8 = 4 Byte
3) 8 Bit oder 1 Byte
4)1000-1fff+1 = 1000hex = 1 0000 0000 0000bin = 13 Bit = etwas über 1 Byte wenn man die führenden Nullen wegstreicht

Ich hoffe das ist richtig!
 
Original geschrieben von Belkira
Die Adressen in Deinem Beispiel haben alle die Länge 16-bit. Es sind allesamt 16-bit I/O Ports. Wenn dort ff00-ff07 steht, belegt ein Gerät 8 verschiedene Ports bzw. nutzt einen I/O Adreßraum der Größe 8 Ports. [/B]

Hmm, weiß nicht ob du das jetzt richtig meinst. Sieht aba etwas widersprüchlich aus. Die Folgerung aus dem roten Satz ist nämlich falsch. Aber du klärst es in den Sätzen darauf auch anders. Der I/O-Adressraum(und der hat nichts mit dem normalen Arbeitsspeicher zu tun) ist 2^16 Byte groß(reset1874 hör gut zu). Wenn du jetzt z.B. ne Adresse 0x60(Tastertur) hast ist das auch ne 16-Bitadresse. Da schreiben die faulen Menschen nur die Nullen nicht vor. Du kannst auf die Ports 8, 16, 32-Bit Bitweise zugreifen. Aba du kannst nicht aus der Adresse, die größe des Ports schließen. In den meisten Fällen, sind es wie du es gesagt hast 8-Bits-Ports, da eh nur einzelne "Steuerbits" manipuliert werden. Hoffe das war jetzt einfach und verständlich.

Achja, die Bezeichung Hexadezimal ist übrigens falsch. Aba ich will ja nicht alles verraten sonst gibt es ja keine schöne Diskussionen mehr..

so long zebra
 
Original geschrieben von reset1874
1) ff04 = 1111 1111 0000 0100 = 16 Bit
Korrekt. So kam ich auf die 16 Bit, die Du in Frage stelltest.
2) 32 = 32/8 = 4 Byte
Falsch. 2^32 Byte
3) 8 Bit oder 1 Byte
Falsch. 8 Adressen = 8 Byte.
4)1000-1fff+1 = 1000hex = 1 0000 0000 0000bin = 13 Bit = etwas über 1 Byte wenn man die führenden Nullen wegstreicht
Falsch. Ein Kilobyte (gemäß IEC 1 Kibibyte), 2^10 Bit = 1024 Byte.


@bunny

Ja, Du hast den roten Satz falsch interpretiert. Ich meinte die Adreßbreite, nicht die Datenbreite. Ich stimme Dir vollkommen zu. Insbesondere dem hier:
du kannst nicht aus der Adresse, die größe des Ports schließen.
Achja, die Bezeichung Hexadezimal ist übrigens falsch.
Bist Du Verfechter von Sedezimal?
 
Da es so heiß ist, kann ich nicht schlafen, also kann ich auch nochmal was schreiben:

2) Belkira:Falsch. 2^32 Byte

1 Bit = 1 und 0
1 Byte = 8 Bit
man kann mit 8 Bit oder 1 Byte, 2^8 Zahlen kodieren, also kann man mit 2^8 = 256 Zahlen definitiv darstellen. Das bedeutet nicht, das 8 Bit, 256 Byte sind, sondern 1 Byte kann 256 Zahlen kodieren. ( Um beispielsweise 1 ASCII Zeichen zu kodieren benötigt man 1 BYTE)
ergo:
32 Bit sind nicht 2^32 Byte, sondern 2^32 Zahlen. Da wir schon wissen, das 8 Bit = 1 Byte ist, sind 32 Bit somit 4 Byte. Falls du mir nicht glaubst, schau mal hier nach oder google selbst:

home.arcor.de/chr-michas/e_tech/pdf/info.pdf

**** somit lag ich richtig *****

3) Belkira:Falsch. 8 Adressen = 8 Byte.

ff00 = 1111 1111 0000 0000 = 1. Bit
ff01 = 1111 1111 0000 0001 = 2. Bit
ff02 = 1111 1111 0000 0010 = 3. Bit
ff03 = 1111 1111 0000 0011 = 4. Bit
ff04 = 1111 1111 0000 0100 = 5. Bit
ff05 = 1111 1111 0000 0101 = 6. Bit
ff06 = 1111 1111 0000 0110 = 7. Bit
ff07 = 1111 1111 0000 0111 = 8. Bit

Der Unterschied ist somit von 000 - 111 =
Zählt man die Differenz alle Bits zusammen kommen insgesamt 8 Bit raus, das macht 1 Byte

**** somit lag ich richtig *****

4) Belkira: Wieviel Byte umfaßt der Adreßraum von 0x1000 bis inklusive 0x1fff?

1000 hex = 0001 0000 0000 0000 bin
1FFF hex = 0001 1111 1111 1111

1FFF - 1000 = FFF = 1111 1111 1111
da wir aber bei der Subtraktion das inclusiv Bit verloren haben, müssen wir es wieder draufaddieren, das macht = 1000hex
1000 = wie oben
die Null Bits am Anfang weggestrichen macht 1 0000 0000 0000bin. Dann zählen wir die Stellen durch und als Ergebnis bekommen wir 13 Bit. Voila!

**** somit lag ich richtig *****

Belkira: Ein Kilobyte (gemäß IEC 1 Kibibyte), 2^10 Bit = 1024 Byte.

2^10 Bit = 1024 Byte. Ja wie kann denn das sein? 2^10 Bit = 1024 Bit
somit ist bei dir 1024 Bit = 1024 Byte. Mathematisch sehr fraglich!
Dann ist fuer dich sicherlich 2^2 Milligramm = 4 Gramm.

1 KByte = 2^10 Byte = 1024 Byte = ach scheiße etwa 8192 Bit

Aber du hast mich wirklich kurze Zeit zweifeln lassen
 
Zuletzt bearbeitet:
1 Bit = 1 und 0
1 Byte = 8 Bit
Korrekt.
man kann mit 8 Bit oder 1 Byte, 2^8 Zahlen kodieren, also kann man mit 2^8 = 256 Zahlen definitiv darstellen.
Das bedeutet nicht, das 8 Bit, 256 Byte sind, sondern 1 Byte kann 256 Zahlen kodieren. ( Um beispielsweise 1 ASCII Zeichen zu kodieren benötigt man 1 BYTE)
Korrekt.
ergo:
32 Bit sind nicht 2^32 Byte, sondern 2^32 Zahlen.
Korrekt.
Da wir schon wissen, das 8 Bit = 1 Byte ist, sind 32 Bit somit 4 Byte.
Du hast offensichtlich meine "Aufgabe" nicht verstanden. Mit 32 Bit kannst Du 2^32 verschiedene Werte darstellen. Über einen 32 Bit breiten Adreßbus kannst Du folglich 2^32 verschiedene Adressen ansprechen. Die kleinste Dateneinheit pro Adresse ist bei Prozessoren gewöhnlich ein Byte (von anderen Architekturen, die nur Wörter oder Doppelwörter adressieren können, mal abgesehen). Demnach kannst Du mit einer 32 Bit breiten Adresse 2^32 = 4 GiB adressieren.

Was Du da vorrechnest, 32 Bit = 4 Byte, ist trivial und keine Aufgabe wert. Selbst die von mir gestellten Fragen sind Grundlagen.
ff00 = 1111 1111 0000 0000 = 1 Bit
ff01 = 1111 1111 0000 0001 = 1 Bit

ff02 = 1111 1111 0000 0010 = 1 Bit
ff03 = 1111 1111 0000 0011 = 1 Bit
ff04 = 1111 1111 0000 0100 = 1 Bit
ff05 = 1111 1111 0000 0101 = 1 Bit
ff06 = 1111 1111 0000 0110 = 1 Bit
ff07 = 1111 1111 0000 0111 = 1 Bit
Nein. Du adressiert über die Adresse ff00 ein Byte, nicht nur ein Bit. Wo hast Du gelernt, daß Du mit einer Adresse ein Bit adressierst? Hast Du jemals Maschinen- oder Assemblersprachen programmiert?

1000 hex = 0001 0000 0000 0000 bin
1FFF hex = 0001 1111 1111 1111

1FFF - 1000 = FFF = 1111 1111 1111
da wir aber bei der Subtraktion das inclusiv Bit verloren haben, müssen wir es wieder draufaddieren, das macht = 1000hex

1000 = wie oben
die Null Bits am Anfang weggestrichen macht 1 0000 0000 0000bin. Dann zählen wir die Stellen durch und als ergebnis bekommen wir 13 Bit. Voila!
Und das war die untergejubelte Fangfrage, mit der ich prüfen wollte, ob Du konsequent Bits und Bytes vertauscht oder etwa rätst. 13 Bit? ;) Rechne dochmal Deine eigene Rechnung nach! Oben schriebst Du bei 8 Bit 2^8 = 256. Und nun bei 13 Bit plötzlich 2^13 = 0x1000? Nein. 2^12 = 4096 Byte (4*1 KiB) wäre die korrekte Antwort gewesen, nicht 13 Bit. Probe:

0x1FFF+1 - 0x1000 = 0x1000
2^12 = 4096 = 0x1000

Belkira: Ein Kilobyte (gemäß IEC 1 Kibibyte), 2^10 Bit = 1024 Byte.

2^10 Bit = 1024 Byte. Ja wie kann denn das sein? 2^10 Bit = 1024 Bit
somit ist bei dir 1024 Bit = 1024 Byte. Mathematisch sehr fraglich!
Dann ist fuer dich sicherlich 2^2 Milligramm = 4 Gramm.
*lol* Das war ein Tippfehler, weil ich nachträglich das Posting bzgl. Fangfrage geändert hatte. 2^10 Byte = 1024 Byte sollte es hier werden. Sorry für den Pfusch. ;) :D





1. Änderung: Peinlicher Rechtschreibefehler behoben. :D
 
Zuletzt bearbeitet:
wow! Da habe ich ja eine Lawine losgetreten. Lasst mich bitte zu meinem Grundproblem noch eine Frage stellen.
Letztlich möchte ich ein Problem lösen und wenn ich es richtig verstanden habe (die Hex-Rechnerei habe ich schon vor Jahren abgehakt) dann ist es also folgendes:

Beispiel: Ich möchte eine LED schalten. Und das würde dann so funktionieren: Ich suche mir die Adresse von z.B. tty1 raus. Dann trage ich in die modules.conf ein:

alias LED1
options LED1 io=0xyyy(Hex-Adr.) irq=5 (immer nur z.B.) dma=1 dma16=0 mpu_io=0xyyy(Hex-Adr.)

gemäß meinem schlauen Buch sollte das schon alles gewesen sein? Irgendwie habe ich den Verdacht das ist viel zu einfach!

weiter heißt es: nach dem Abspeichern können Sie die Einstellung aktivieren indem Sie den Rechner neu starten oder mit modprobe LED1 per Hand starten.

Und natürlich habe ich eine gewisse Angst vor einer doppeladressierung (kostet manchmal einem Portbaustein das Leben) aber das möchte ch einmal ausklammern.

Kann bitte dazu auch jemand etwas sagen?

Ed
 
Nein. Du adressiert über die Adresse ff00 ein Byte, nicht nur ein Bit. Wo hast Du gelernt, daß Du mit einer Adresse ein Bit adressierst? Hast Du jemals Maschinen- oder Assemblersprachen programmiert?

Jetzt weiß ich was Du meinst! Ich kann zwar den Adressraum von 1 Byte ansprechen, aber wieviele Bytes ich über jeweils 1 Adresse codieren kann, weiß ich doch nicht, das kann jeweils 1 Byte sein, kann aber auch was anderes sein. Das richtet sich nach der Architektur der Hardware und dessen Datenstruktur. Für die Adresse selbst mach ich einen bitweisen Unterschied.

Oben schriebst Du bei 8 Bit 2^8 = 256. Und nun bei 13 Bit plötzlich 2^13 = 0x1000? Nein. 2^12 = 4096 Byte (4*1 KiB) wäre die korrekte Antwort gewesen, nicht 13 Bit. Probe:

0x1FFF+1 - 0x1000 = 0x1000
2^12 = 4096 = 0x1000

Wenn du die Probe rechnest, mußt Du bei den 13 Bit = 0001 0000 0000 0000 natuerlich die 3 fuehrenden Nullen wieder einsetzen, sonst bekommst du ein falsches Ergebnis. Insgesamt muss es eine Datenstrucktur mit 16 Bit sein. Aber das war auch gar nicht deine Frage. Du wolltest wissen, wie groß die Differenz ist.
 
Original geschrieben von eddyly
wow! Da habe ich ja eine Lawine losgetreten. Lasst mich bitte zu meinem Grundproblem noch eine Frage stellen.
Letztlich möchte ich ein Problem lösen und wenn ich es richtig verstanden habe (die Hex-Rechnerei habe ich schon vor Jahren abgehakt) dann ist es also folgendes:

Beispiel: Ich möchte eine LED schalten. Und das würde dann so funktionieren: Ich suche mir die Adresse von z.B. tty1 raus. Dann trage ich in die modules.conf ein:

alias LED1
options LED1 io=0xyyy(Hex-Adr.) irq=5 (immer nur z.B.) dma=1 dma16=0 mpu_io=0xyyy(Hex-Adr.)

gemäß meinem schlauen Buch sollte das schon alles gewesen sein? Irgendwie habe ich den Verdacht das ist viel zu einfach!

weiter heißt es: nach dem Abspeichern können Sie die Einstellung aktivieren indem Sie den Rechner neu starten oder mit modprobe LED1 per Hand starten.

Und natürlich habe ich eine gewisse Angst vor einer doppeladressierung (kostet manchmal einem Portbaustein das Leben) aber das möchte ch einmal ausklammern.

Kann bitte dazu auch jemand etwas sagen?

Ed

Also ich wuerde es einfach mal ausprobieren, eine falsche Anfrage zerschießt dir normalerweise nicht den Baustein. Dass kann nur sein, wenn das Ding alte oder minderwertige FlipFlops einsetzt, mit denen du eine inkorrekte Eingabe generieren kannst, wenn es sowas ueberhaupt verwendet. Und solche falschen Eingaben kannst du meist wieder mit dem Ausschalten des Computers bereinigen.
Ich wäre nur vorsichtig, wenn du das Ding selbst zusammengelötet hast.
 
Vielen Dank! Mir ging es im Wesentlichen darum zu wissen ob es so sein kann das diese Einträge schon ausreichend sind. In letzter zeit habe ich frustrierende Dinge mit RH9 erlebt und da erschien es mir nahezu unglaublich das diese wenigen Einträge ausreichend sein sollen. Ich habe deutlich komplizierteres erlebt und es läuft bis heute nicht.

Über die Hardware mache ich mir keine Gedanken: ich bin Hardwareentwickler und kann auch Tests per Software durchführen. von daher habe ich also keine Befürchtungen.

Vielen Dank noch einmal!

Ed
 
Jetzt weiß ich was Du meinst! Ich kann zwar den Adressraum von 1 Byte ansprechen, aber wieviele Bytes ich über jeweils 1 Adresse codieren kann, weiß ich doch nicht, das kann jeweils 1 Byte sein, kann aber auch was anderes sein.

Den Satz habe ich nicht verstanden.


Mit etwas Kenntnis der Computerarchitekturen der letzten Jahrzehnte wüßtest Du das aber und würdest nicht sagen, von Adresse ff00 bis ff07 seien es 8 Bit.
Das richtet sich nach der Architektur der Hardware und dessen Datenstruktur.
Mit Datenstrukturen hat das auf dieser Ebene absolut nichts zu tun. Es geht hier nicht um Hochsprachen. Aber da ich sehe, daß Du Dich in anderen Postings an C/C++ Programmierung probierst, solltest Du eigentlich wissen, daß auch dort die kleinste adressierbare Dateneinheit 8 Bit sind (char) und ein Bitfield höherer Sprachkonstrukture bedarf, und so ein Bitfield dann auf Maschinenebene mindestens ein Byte belegt.
Für die Adresse selbst mach ich einen bitweisen Unterschied.
Auch den Satz habe ich nicht verstanden. Eine Adresse ist ein Wert, eine Zahl mit n Bits, jede der 2^n unterschiedlichen darstellbaren Zahlen adressiert ein unterschiedliches Byte in Speicher. Das ist schon seit Urgedenken so. Zwar gibt es auch Maschinenbefehle, die im Zieloperanden ein einzelnes Bit modifizieren können, zugegriffen wird über eine Speicheradresse aber mindestens auf ein Byte.
Wenn du die Probe rechnest, mußt Du bei den 13 Bit = 0001 0000 0000 0000 natuerlich die 3 fuehrenden Nullen wieder einsetzen, sonst bekommst du ein falsches Ergebnis.
Auch diese Rechnung kann ich nicht nachvollziehen. Mit "führenden Nullen" wird nicht gerechnet, wo nimmst Du sowas her? Dein eigenes Beispiel 8 Bit, 2^8 = 256 bzw. 1 0000 0000 binär, würdest Du da nach Deiner jüngsten Eigenerfindung 9 Bit zählen oder den Wert um Nullen erweitern, die vollkommen irrelevant sind? :rolleyes:

Nein. Der Wert einer Binärzahl ergibt sich lediglich aus der Wertigkeit der 1er Stellen. Die Anzahl Stellen oder irgendwelche imaginären führenden Nullen werden dazu überhaupt nicht gebraucht.
Insgesamt muss es eine Datenstrucktur mit 16 Bit sein. Aber das war auch gar nicht deine Frage. Du wolltest wissen, wie groß die Differenz ist.
Hier geht es um die unterste Ebene und einzig allein die Frage, wie groß ist die Dateneinheit, die Du über eine Adresse ansprichst. Und die ist mindestens 8 Bit, sowohl für I/O Adressen (die ff00, ff01, ff02 des Beispiels), als auch für Adressen im Hauptspeicher.

Ich hab hier nichts verkompliziert. Ich wurde nur mit Antworten konfrontiert, die ich sehr eigenartig fand bzw. finde. In keiner seriösen Literatur zu Rechnerarchitektur oder Programmierung wird Dir das, was Du hier dargeboten hast, gelehrt.
 
Hier ein Beispiel wie man die LED's der Tastertur schaltet:

Code:
; LEDTest von [url]www.linuxassembly.de[/url]
; 
; > nasm -f elf ledtest.asm
; >ld -o ledtest ledtest.o
; > su
; Kennwort:
; # chown root:root ledtest.asm
; # chown a+s ledtest.asm
; # exit

; **** Macros ****

%macro led 1
; LED der Tastertur steuern

mov al, 0EDh    ; Befehl für Leuchtdiode schalten
out 60h, al
.LED_loop:      
   in al, 64h  ; Statusregister lesen
   test al, 02h; Eingabepuffer leer?
   jnz  .LED_loop; Nein -> warten bzw. Schleife nochmal durchlaufen
    mov al, %1 ; 0 Bit -> Scroll Lock * 1 Bit -> Num Lock * 2 Bit -> Caps Lock
    out 60h, al; LED schalten

%endmacro

%macro exit 1
; Beende den gegenwärtigen Prozess

mov eax, 1; Systemaufruf Nr. 1 (sys_exit) Prozess beenden
mov ebx, %1; Rückgabewert
int 80h; Kernel aufrufen mit obigen System-Aufrufparametern

%endmacro

%macro write 3
; Daten ausgeben

mov eax, 4; Systemaufruf Nr. 4 (sys_write) Datenausgabe
mov ebx, %1; Ausgabekanal
mov ecx, %2; Puffer
mov edx, %3; Länge in Bytes
int 80h; Kernel aufrufen mit obigen System-Aufrufparametern

%endmacro

%macro read 3
; Daten lesen

mov eax, 3; Systemaufruf Nr. 3 (sys_read) Daten lesen
mov ebx, %1; Handel
mov ecx, %2; Puffer
mov edx, %3; Puffergröße
int 80h; Kernel aufrufen mit obigen System-Aufrufparametern

%endmacro

; **** Der uninitialisierte Datenbereich ****

section .bss

puffer resb 1; Pufferlänge

; ****; Der Quellcode ****

section .text
global _start; Programmstart für den Linker festlegen

text1_text   db 'Num Lock au(s)- bzw. (a)nschalten: (s/a)-> '; Der auszugebene Text
text1_length equ $ - text1_text     ; Länge des Textes berechnen

_start:

; Zugriffmöglichkeiten auf I/O-Ports freischalten

mov eax, 110; Systemaufruf Nr. 110 (sys_iopl) Zugriffmöglichkeiten auf I/O-Ports freischalten
mov ebx, 3; Level der Zugriffmöglichkeit
int 80h   ; Kernel aufrufen mit obigen System-Aufrufparametern

write 1, text1_text, text1_length; Text1 ausgeben
; Daten lesen

read 1, puffer, 1; Zeichen einlesen

cmp byte [puffer], 's'; Zeichen gleich 's'
je led_aus          ; Ja -> Springe zu led_aus
cmp byte [puffer], 'a'; Ziechen gleich 'a'
je led_an           ; Ja -> Springe zu led_an

ende:
exit 0                     ; Programm beenden

led_aus:
led 0 ; alle LED's aus
jmp ende; Zum Programmende springen

led_an:
led 2  ;Num Lock an, alle anderen aus
jmp ende; Zum Programmende springen
 
Ich danke Dir ganz herzlich für diese ausführliche Hilfe!

Sobald ich wieder etwas mehr Zeit habe, werde ich mich mit dem Programmieren beschäftigen. Die Bücher liegen schon hier, aber ich muss ja auch immer daran denken die Brötchen zu verdienen (und es soll auch was drauf sein...)

Ich dachte es mir schon, das es eine umfangreichere Aktion wird, als in dem eigenartigen Buch beschrieben.
Also: Danke noch einmal!

Ed
 
also im Grunde geht es darum: ich habe unendlich viele Dinge probiert um Alsa ans Laufen zu bekommen. MTS und vor Allem Belkira, haben mir mit viel Geduld versucht zu helfen und es gibt schon einen Thread der sich zu diesem Thema über Seiten hinzihet in zwei Foren.
Es ist mir dabei egal, auf welche Weise ich Sound bekomme. Hauptsache ich habe ihn. In dem genannten Buc über Linux steht nun das es im Grunde mit einer Zeile zu bewerkstelligen ist. Dem Frieden habe ich nicht so recht getraut, weil...naj ja wir haben ohne Ende (und ohne Erfolg) versucht das hin zu bekommen.
Nun habe ich mir überlegt, zunächst selober ein paar Erfahrungen mit der Programmierung zu sammeln und kleinere Dinge zu schaffen. Daraus ist die Sache mit der LED entstanden.

Ich habe den Soundchip via82xx auf einem Mainboard und eine Alsa-Installation probiert, weil ich unter Knoppix Sound habe. Und die verwenden ebenAlsa.

Tja, nun kennst Du also den Grund und die Vorgeschichte.
Was ich dazu brauche ist im Grunde: eine "idiotensichere Anleitung", etwa so wie Du sie zur LED gegeben hast. Probleme scheinen hauptsächlich an den Einträgen in der modules.conf zu liegen.


Ed
 
@eddyly

Als Hauptproblem in den beiden ALSA Threads habe ich ausgemacht, daß Du immer nur einen kleinen Fetzen an Information hereinwirfst. In Deinen Antworten gehst Du grundsätzlich nur auf 10% der Rückfragen ein, wenn überhaupt. Ein paar Stunden später zeichnet sich eine vollkommen geänderte Konfiguration und Umgebung ab, zu der Du keine Schilderung Deiner Änderungen und Tests lieferst.

Das macht es einem unmöglich, über den aktuellen Status informiert zu sein.

Es antwortet keiner, weil niemand bereit ist, sich sowas anzutun.

Wirst Du einmal gefragt, doch bitte die Ausgabe der derzeit geladenen Kernel Module zu posten, so mußt Du das nach jeder Änderung an System wiederholen. Ebenfalls nach Reboots, nach langen Pausen und nach zwischenzeitlichem Starten anderer Multimedia-Applikationen. Denn ungenutzte Kernel Module werden u.U. automatisch ausgeladen oder Änderungen an der modules.conf verhindern ein Laden. Was bringt es, wenn Du nach langem Tauziehen schließlich zeigst, daß anscheinend viele ALSA Module geladen sind, ohne daß Du irgendwas dazu schreibst? Auf Entfernung bringt sowas einem hilfsbereiten Leser nichts, denn schon eine Stunde später ist bei Dir vielleicht schon wieder alles verstellt oder Treiber nichtmehr geladen usw. usf.

Ermüdend, ermattend, ungewöhnlich aufwendig und undurchsichtig, da Du nicht die Hauptarbeit machst und eifrig experimentierst und Tests wiederholst oder wie vorgeschlagen, die Konfiguration von Knoppix im Detail untersuchst. Stattdessen erwartest Du eine "idiotensichere Anleitung" (Zitat), die es bei ALSA nicht gibt, wenn OSS/Free oder Multimedia Devices Dir einen Strich durch die Rechnung machen und ALSA extrem manuell konfiguriert werden muß.

Im übrigen möchte ich feststellen, daß ich das Ziel dieses Threads vermisse. Auch hier zeigst Du Dich nicht in der Lage, in klare Worte zu fassen, was Du vorhast. Anfänglich deutest Du (nicht im ersten Posting!) ganz schwammig an, daß Du Dich wohl auf Kernel Modul Parameter beziehst, "io=0x220" (Zitat), die man modprobe übergeben oder in /etc/modules.conf eintragen kann. Zwischen einem Kernel Modul und einem SetUID-root Assemblerprogramm liegt ein Unterschied.
 
QBelkira

Hi,

zugegeben, es ist sicher schwierig mit mir. Aber ich denke das ist bei jedem Anfäger mehr oder weniger der Fall, wiel ja eine menge Grundkenntnisse fehlen.
Bitte verstehe mich aber nun nicht falsch: ich will nicht etwa meckern und ich habe sehr viel von Dir gelernt. Die ganze Sache hatte also auch etwas Positives.
Also: ich habe versucht, mich in einem Buch schlau zu machen. Und da bin ich darüber gestolpert, es könne doch ein Adressierungsfehler sein. (Sound ist gemeint). Also bin ich auf diesem Weg dazu gekommen das ich einmal eine leuchtdiode schalten wollte. Hintergrund ist gewesen das ich versuchen wollte, Sound auf anderem Wege zu bekommen weil mir Alsa immer noch unverständlich ist und, wie Du schon sagst, es lässt sich scheinbar nicht konfigurieren. Ein Aufruf mit der Suche nach Usern mit dem gleichen mainboard hat leider bislang auch nicht weiter geholfen.
Meine Vorstellung (nun weiß ich sie ist falsch) war eigentlich diese: es weiß jemand was ich einzutragen habe nachdem ich Alsa installiert habe. Dabei war ich mir natürlich über diese Eigenart des Systems nicht klar: diese ständigen Änderungen in den geladenen Modulen. ich bin davon ausgegangen, es gibt ein "Kochrezept". Für mich war es erst einmal vordringlich den Sound einfach ohne wenn und aber nutzen zu können. -lernen wenn ich mehr Zeit dazu habe-
"Natürlich" habe ich noch immer keinen Sound...

Aber ich habe dies gefunden und eben weil ich nichts mehr ändern wollte ohne es nun genau zu wissen, ahbe ich es auch nicht ausprobiert. Es kommt mir auch recht dürftig vor nach all den Dingen die wir probiert haben.

Also habe ich gefunden:

alias sound via82xx
(tragen Sie Parameter ein, z.B. ) "Kommentar" dazu
via82xx io=0x220 (daher meine Frage nach der Adressierung)
irq=5 dma=1 dma16=0 mpu_io=0x330 (neuer Kommentar: wiederholen Sie die letzten beiden Schritte für midi)

Aktivieren durch Neustart oder mit modprobe via82xx

Soweit das schlaue Buch.

Ich habe es also nicht gemacht weil ich mir nicht so sicher bin, das es plötzlich SO einfach sein soll.

Habe ich das nun endlich geschafft, mich verständlich auszudrücken? Ich weiß, manchmal setze ich zu sehr Wissen über Dinge voraus, die eigentlich natürlich nur ich hier vor Ort sehen kann. Tut mir leid.

Ed
 
P.S.:

vielleicht sollte ich zum besseren Verständnis einmal erzählen was ich vorher gemacht habe und wie ich zu Linux gekommen bin. Aber das würde an dieser Stelle zu weit führen.
Könnte es bei Interesse mal per Mail erzählen.
Ed
 
zugegeben, es ist sicher schwierig mit mir. Aber ich denke das ist bei jedem Anfäger mehr oder weniger der Fall, wiel ja eine menge Grundkenntnisse fehlen.
ALSA ist nichts für Anfänger.

Blättert man zurück und schaut, wie Du über mehrere Seiten konsequent Befehle falsch abgetippt hast, das hat mit "Anfänger sein" nichts zu tun. Das ist fehlende Sorgfalt. Ich kann Dir garantieren, daß da sehr viele Hilfsbereite bereits auf Durchzug schalten.

Angeblich hast Du nirgendwo Fehlermeldungen bekommen, weder in Mixern, noch in Playern. Nur das Abspielen war nie zu hören. Ein CD Player, der ein Kabel voraussetzt, eignet sich nicht als Test, wenn kein Kabel vorhanden ist.
Also: ich habe versucht, mich in einem Buch schlau zu machen. Und da bin ich darüber gestolpert, es könne doch ein Adressierungsfehler sein. (Sound ist gemeint).
Unwahrscheinlich. Adressierungsfehler, d.h. eine fehlschlagende Erkennung der I/O Basisadresse und damit eine fehlschlagende Erkennung der Soundkarte führen dazu, daß ein Kernel Modul sich nicht laden läßt und Fehler ausgibt. Bereits "lspci -vv" zeigte aber Deinen "Multimedia audio controller: VIA Technologies, Inc. VT8233 AC97 Audio Controller (rev 50), Region 0: I/O ports at c400 ".
bekommen weil mir Alsa immer noch unverständlich ist und, wie Du schon sagst, es lässt sich scheinbar nicht konfigurieren.
Nein, ich sage nur, daß Dir für ALSA vorgegebene Einträge in /etc/modules.conf nichts bringen, wenn sich andere Multimedia Hardware Treiber vormogeln und die ALSA Treiber dann nicht geladen werden. Leider war Deine Reaktion auf das Abschalten von USB nicht zu gebrauchen.
ich bin davon ausgegangen, es gibt ein "Kochrezept".
Siehe http://www.alsa-project.org -- nur mußt Du die Reihenfolge bei der Zubereitung ggf. etwas anpassen, sonst brennt das Gericht an. ;) :D

Grundsätzlich mußt Du nur die ALSA Module geladen bekommen, egal ob manuell oder automatisiert. Dann kannst Du die Funktionsfähigkeit testen, indem Du entweder Audio Mixer und Player ordentlich konfigurierst und ausprobierst (oder indem Du die Gerätedateien und den Systemstatus untersuchst, wofür Du aber Hilfe bräuchtest, wie z.B. "lsmod ; cat /proc/interrupts /proc/ioports /proc/modules" und das Anschauen von Log Dateien, z.B. /var/log/messages, wo Treiber sich oft verewigen).
"Natürlich" habe ich noch immer keinen Sound...
In Deinem letzten Posting auf linuxforen.de zeigtest Du aber, daß die ALSA Treiber allesamt geladen waren. Ob das jetzt noch so ist, weiß keiner. Weitere Informationen hast Du nicht bereitgestellt. Auf Rückfragen zu Sound Servern und der Konfiguration von Audio Playern und Mixern bist Du nie brauchbar eingegangen.
Also habe ich gefunden:

alias sound via82xx
(tragen Sie Parameter ein, z.B. ) "Kommentar" dazu
via82xx io=0x220 (daher meine Frage nach der Adressierung)
irq=5 dma=1 dma16=0 mpu_io=0x330 (neuer Kommentar: wiederholen Sie die letzten beiden Schritte für midi)
Bei Dir wäre es jedoch io=0xc400 (siehe lspci -vv Ausgabe). Und die anderen Parameter (sieht wie Soundblaster aus)? Willst Du die raten? Der Treiber würde die selbst herausfinden. Auf solche automatische Erkennung würde ich mich verlassen, wenn es keine Fehler gibt.
Ich habe es also nicht gemacht weil ich mir nicht so sicher bin, das es plötzlich SO einfach sein soll.
Ist es nicht.
 
ich glaube, da muss ich nochmal was erklären:
Also ich wollte ursprünglich überhaupt kein Alsa.
Es ist einfach so, das ich keinen Sound habe.
Auf eine Anfrage im Forum habe ich die Antwort bekommen: "wenn es unter Knoppix mit Alsa geht dann mache es doch mit Alsa"
Ich habe mich dann daran gewagt und bin ....fürchterlich auf die Schn... gefallen wie wir wissen.

Was ich nun nicht begreife ist: wieso sollte plötzlich ein Kabel erforderlich sein, wenn es doch unter WinXP und unter Knoppix ohne Kabel geht?
Und wenn schon...weshalb, bitte schön, bekomme ich nix wenn ich TV einschalte. Hier gibt es eine direkte kabelverbindung zur Onboard-Soundkarte.

Nun nochmal die Sache mit der Adressierung. Im Buchbeispile sind ja Adressen angeführt und ich habe mich mit Hilfe von Win schlau gemacht. Meine "Soundkarte" liegt auf dem PCI Bus 0
EA= C400-C4FF
IRQ=22
Ich dachte, mir hilft das Buch weiter.
Ich hatte nach Abschalten von USB schon gesagt, es hat sich überhaupt nichts verändert. Natürlich wurde die Cam nicht mehr geladen. Aber auch dann habe ich bei TV keinen Ton gehabt.

WIE kann ich denn nun zwangsweise Alsa einschalten, bzw. andere Moduledaran hindern geladen zu werden.

Sache ist aber: mir ist letztlich egal, woher der Sound letztlich kommt. Ich kann sicher gut ohne Alsa leben. Schau, deshalb dachte ich es gäbe ein "Kochrezept".
Und dann: Du meintest ich wäre nicht genügend experimentierfreudig. Dann wieder sinngemäß: Oh Gott was macht er NUN schon wieder. Irritiert mich, offengestanden, etwas.
Nach RH Angaben sollte man ja selber Eintragungen machen können mit dem Konfigurationstool für den Sound.
Pustekuchen: ABSOLUT NIX! Es öffnet sich ein Fenster und es erscheint die Mitteilung das die Karte erkannt wurde. Man kann einen Test laufen lassen. Nach dem Test wird gefragt ob man was gehört hat. meine Antwort: nein! Rechnerreaktion: Fenster zu. Neues Fenster: Die Soundkarte konnte nicht automatisch konfiguriert werden. Bestätigen mit OK. Fenster zu. Toolfenster auch zu. Tool weg. Tolle Soundconfiguration!

Alles in einem Satz: wer hilft mir endlich Sound, unter RH9 und mit via82xx onboard, zu hören, gleich auf welche Weise. Da es scheinbar keine einfache Lösung gibt.....bastel ich weiter denn merke: Aufgeben gibt es nicht.

Ed
 
Also ich wollte ursprünglich überhaupt kein Alsa.
Es ist bekannt, daß der OSS/Free Treiber für VIA 82Cxxx Chipsätze die VIA 82xx Chipsätze nicht (oder noch nicht) in allen Fällen voll unterstützt. Im Treiber steht:
* Support for VIA 82Cxxx Audio Codecs
* Copyright 1999,2000 Jeff Garzik
Ein 82Cxxx (x ist ein Platzhalter) ist halt kein 82xx. Das habe ich Dir schonmal erklärt. So steht in den neueren Kernels von Red Hat im Treiber Source Code (erst seit Red Hat Linux 8.0?):

* Updated to support the VIA 8233/8235 audio subsystem
* Alan Cox <alan@redhat.com> (C) Copyright 2002 Red Hat Inc

Du könntest demnach unter http://bugzilla.redhat.com einen Fehlerbericht an Red Hat schicken, was -- je nach Mühe, die Du Dir gibst -- Früchte tragen könnte. Vielleicht findest Du da auch schon einen Bug Report von jemand anders, der gleiche Probleme wie Du hatte.
Es ist einfach so, das ich keinen Sound habe.
Deswegen kaufen sich die meisten Linux Anwender Hardware, die von Linux unterstützt ist. redhat-config-soundcard findet zwar Deine Karte, kann dann aber beim Test das Kernel Modul nicht laden. Die Gründe dafür kennt am Besten der Treiberentwickler.
Auf eine Anfrage im Forum habe ich die Antwort bekommen: "wenn es unter Knoppix mit Alsa geht dann mache es doch mit Alsa"
Was ja auch naheliegt. Du kannst unter Knoppix den ALSA Treiberversion anschauen. Du kannst die Konfiguration von System und Anwendungen anschauen. Gute Vorgaben.
Was ich nun nicht begreife ist: wieso sollte plötzlich ein Kabel erforderlich sein, wenn es doch unter WinXP und unter Knoppix ohne Kabel geht?
Das habe ich bereits mindestens einmal erklärt und wiederhole es nicht. Lies die Antworten, die Du bekommst, gründlicher.
Und wenn schon...weshalb, bitte schön, bekomme ich nix wenn ich TV einschalte. Hier gibt es eine direkte kabelverbindung zur Onboard-Soundkarte.
Tja, aber ob Mixereinstellunge bei Dir stimmen und funktionieren, konntest Du ja bislang nicht zeigen. Z.B. die Ausgabe von dump-mixers war ungenügend.
Meine "Soundkarte" liegt auf dem PCI Bus 0
EA= C400-C4FF
IRQ=22
Nun plötzlich kennst Du auch den Interrupt-Kanal. Den hast Du vorher natürlich nicht genannt.
Ich hatte nach Abschalten von USB schon gesagt, es hat sich überhaupt nichts verändert. Natürlich wurde die Cam nicht mehr geladen. Aber auch dann habe ich bei TV keinen Ton gehabt.
Du hast ja garkeine Tests mit Mixern etc. wiederholt. Läßt sich alles nachlesen. Auf dieses Hick-Hack hab ich kaum noch Lust mehr. Du solltest Deine Antworten wirklich nochmal in chronologischer Abfolge nachlesen. Als letztes präsentiertest Du eine Ausgabe von "lsmod", in der alle ALSA Module geladen waren. Hast Du sonst mit Hellsehern zu tun? Zu dem Zeitpunkt hätte ich erwartet, daß Du eigenständig die restliche Information lieferst, zu der Du vorher von mir, aber auch MTS, immerwieder gefragt wurdest.
 

Ähnliche Themen

Framebuffer mit "Bild in Bild" Funktion ODER mehrere Bilder zu einem neuen (nurKonsole)

Telefoninterview (Wie sich auf Bash-Shell-Fragen vorbereiten?)

CentOS 7 Grafikkarte auswählen

Einen einzelnen Datensatz mit Xml anzeigen

KAddressbook mit größeren Photos

Zurück
Oben