Hallo! Mein Problem ist folgendes und ich hoffe, dass ich mich dabei im richtigem Forum befinde: Ich habe ein Mini-ITX Mainboard auf dem Fedora Core läuft. Über den I2C Bus möchte ich ein Motorsteuerungsmodul (MD23) ansprechen. Dieses Modul bewegt sich im Adressbereich 0xB0 bis 0xBE. Mit i2cdetect fand ich jedoch heraus, dass nur der Adressraum zwischen 0x03 bis 0x77 auf angeschlossene Clients durchsucht wird. Wie kann ich also den Adressraum des Motherboards erweitern? Ist dies überhaupt möglich? Vielen Dank! Pluto
Moin, bin mir nicht sicher, ob ich das jetzt richtig verstanden habe. Aber wenn der I2C auf dem Mainboard gemeint ist und das zusätzliche Modul dort angeschlossen werden soll gibt es ein Problem. Denn bei I2C gibt es für jedes IC eine eindeutige Adresse. Gelegentlich kann man diese Adresse in den unteren 2/3 Bits noch selbst durch herausgeführte Jumper/Pins konfigurieren. Aber wenn der MD23 im Bereich von 0xB0 und höher läuft und das Programm dieses Bereich höheren nicht anspricht wird das nix. Am besten nach einem anderen Tool umschauen oder ein anderes Modul einsaetzen.
ja, es ist der adressraum des mainboards gemeint. danke für deine schnelle antwort. ich hoffe eine rückgabe ist noch möglich...
Du meinst, daß das Mainboard eine hardwaremäßige Beschränkung hat, durch die es auf dem I2C-Bus mit Adressen über 0x77 nicht umgehen kann? Das klingt mir irgendwie unwahrscheinlich.
wird der Bus mit BIOS-Routinen angesprochen? Werden die Adressen im I/O-Bereich gespiegelt? ... warscheinlich 2x Nein. also gibts da keine Beschränkung. Das sind ja auch nur serielle Daten. Da muss das Programm ebend auch die anderen Adressen abfragen.
ja, aber wie bringe ich diese Routine dazu, auch die anderen Adressen abzufragen? Ich hab bisher keine vernünftige Möglichkeit gefunden...
Einen Linux-Kerneltreiber für das I²C-Motorsteuerungsmodul wird es höchstwahrscheinlich nicht geben. Man kann das Motorsteuerungsmodul, wie jeden anderen I²C-Busteilnehmer auch, aber recht einfach über die entsprechende Busschnittstelle (/dev/i2c-?) direkt ansprechen: 1. /dev/i2c-? öffnen 2. Slave Adresse mittels ioctl() setzen 3. Daten mittels write()/read() zum/vom Motorsteuerungsmodul senden/empfangen
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.