ioctl streikt

  • Hallo,


    ich versuche schon seit gut 4 wochen via Cross-compile ein einfaches programm zuerstellen das eigentlich so gehen sollte.



    Dieses Porgramm soll eine Verbindung zum I2c anschluss am MiniDin aufbaun und denn wert "2" an das SlaveDevice mit der Slaveid 254 senden.


    Aber ioctl meint irgend wie probleme zumachen.


    Code
    root@dm7025:/media/hdd/apps# ./test
    open : Success
    ioctl : Invalid argument  <<<<<<< ??????????
    write : Remote I/O error
    root@dm7025:/media/hdd/apps#


    wenn ich aber als I2C adresse z.B 62 angebe kommt dort "illegal seek"


    Ich würde mich sehr freuen wenn sich jemand mal dem annehmen könnte und mir hilft.


    Danke

    Einmal editiert, zuletzt von gamebeast ()

    • Offizieller Beitrag

    Hi,


    schonmal drann gedacht, das gestern Sonntag war?


    Also ich benutze immer I2C_SLAVE_FORCE wenn ich aus dem Userspace was mit i2c mache..
    Und die I2C Adresse um eine stelle nach rechts geshifted.. sprich >> 1.


    cu

  • Danke für die Antwort und sorry wegen Sontag, da war ich wohl etwas gereitzt...


    Ich habe heute früh bei google was gefunden mit dem ich den I2c bus abscannen kann.


    Also gedownloaded und ein bissel angepasst und das karm bei raus.



    wenn ich das nun ausführe kommt folgendes raus.



    Also gehe ich mal davon aus das es der /dev/i2c/3 sein muss der für Minidin geschaltet ist. Ich habe zwar dort ein LCD das auf 0xFE lauscht aber irgend wie findet er es nicht.


    Is das programm richtig und nur meine Verkabelung falsch oder ist das Programm fehlerhaft. ? (Pullups 10kOhm sind dran)


    Danke im Voraus

  • Pin 2 ist SDA, pin 3 ist SCL, soweit passt das, ja?


    Eigentlich müsste das bus "2" sein. Warum das nun nicht funktioniert weis sich allerdings auch nicht.

  • jo pin 2 und 3 sind belegt


    ich direkt an den Port eine LED+vorwiederstand angelegt um zuschaun ob sich überhaupt was tut aber nix die leuchtet nur ganz schwach..


    Ich schau nochmal.

  • Ich habs soweit zum laufen bekommen aber eins wurmt mich noch.


    Code
    Opening device...
    Done
    i2c chip found at: 1, val = 0
    ioctl() I2C_SLAVE failed
    : Device or resource busy
    ioctl() I2C_SLAVE failed
    : Device or resource busy


    Device or resource busy das macht mich fertig...


    Woran könnte das denn liegen ?