PL2303 Serial-USB mit OS X Lion

11. August 2011 // in der Kategorie Apple, Gadgets, Software & Apps // 5 Kommentare

Heute habe ich festgestellt, dass mein GPS Logger RGM-3800 von Royaltek unter OS X Lion nicht mehr angesprochen werden kann. Das Problem ist aber nicht der Logger, der nicht mehr mit der RGM-3800 Software angesprochen kann, sondern die serielle USB Schnittstelle PL2303 funktioniert nicht mehr. Eine längere Recherche hat die Lösung zu Tage gebracht. Bis es einen funktionierenden PL2303 USB-Treiber für Lion gibt, muss der Workaround mit einer Kernel Extension herhalten.

Ausgehend vom Prolific PL2303 OS X USB-Treiber (der für Snow Leopard gedacht ist) müsst Ihr für Lion ebenfalls eine Kernel Extension herunterladen und entpacken.

Installiert wird diese Kernel Extension wie folgt. Startet das Terminal und führt die unten stehenden Commands aus:
sudo -s
cd /path/to/osx-pl2303.kext
cp -R osx-pl2303.kext /System/Library/Extensions/
cd /System/Library/Extensions
chmod -R 755 osx-pl2303.kext
chown -R root:wheel osx-pl2303.kext
cd /System/Library/Extensions
kextload ./osx-pl2303.kext
kextcache -system-cache

Nach einem Neustart sollte die PL2303 Schnittstelle wieder laufen. Ich konnte jetzt meinen GPS Logger wieder abfragen und die Tracks herunterladen.

[UPDATE: Mittlerweile gibt es eine Setup-Routine, um die Kernel-Extension unter Lion zu installieren. Das Installerpaket gibt es bei changux.co.]

(via)

Trackbacks
Kommentare
  • Florian sagt:

    Es gibt inzwischen eine 1.4 Version der Treiber. Damit läuft es unter Lion wieder normal.

  • Michael sagt:

    Hallo Matthias,

    bei mir ist natürlich das gleiche Problem mit dem RGM 3800 aufgetaucht. Ich versuche, gerade, Deinen Workaround zu nutzen und stoße auf folgende Fehlermeldung:

    Beim Versuch, die Kernel-Extension zu laden:
    kextload ./osx-pl2303.kext
    /System/Library/Extensions/osx-pl2303.kext failed to load – (libkern/kext) requested architecture/executable not found; check the system/kernel logs for errors or try kextutil(8).

    Würde mich freuen, wenn Du nee Idee dazu hast, wie ich das beheben könnte.

    Der vorangegangene Versuch, das Ganze einfach mit der o.g. neuen Version des Treibers zu lösen (Version 1.4 des Prolific-Treibers) brachte übrigens keinen Erfolg.

    Vielen Dank vorab für Deinen Tipp!
    Michael

  • Matze sagt:

    Hallo Michael,

    die Meldung
    „/System/Library/Extensions/osx-pl2303.kext failed to load – (libkern/kext) requested architecture/executable not found“
    klingt eher danach, dass das entsprechende File (osx-pl2303.kext) nicht in dem Ordner liegt…
    Hast Du es wie in Punkt 3 in den Ordner kopiert?
    Gruß
    Matthias

  • Michael sagt:

    Hallo Matthias,

    Danke für Deine schnelle Antwort!

    Ich habe herausgefunden, woran es lag: Die Version der Kernelextension (der Datei osx-pl2303.kext, die sich selbstverständlich in dem Ordner/System/Library/Extensions/ befand) war nicht für die aktuelle Systemarchitektur geeignet.

    kextutil meldete denn auch:
    Warnings:
    Executable does not contain code for architecture:
    x86_64
    Can’t load /System/Library/Extensions/osx-pl2303.kext – no code for running kernel’s architecture.

    Also der Knackpunkt ist eigentlich der, dass das ursprünglich unter Snow Leopard und o.g. Link „Prolific PL2303 OS X USB-Treiber“ geladene Archiv eigentlich auch nichts anderes enthält als die benötigte Kernelerweiterung. Nur, dass diese bequem über eine Installationsroutine eingebunden wurde. Die darin enthaltene Version ist aber nicht mehr für OS X 10.7.x geeignet.
    Dieses komplette Paket ist also obsolet – vielleicht kannst Du das ja in Deiner Anleitung oben korrigieren und am besten den alten Link komplett entfernen. Richtig ist, dass man unter dem Link oben (http://mpepping.home.xs4all.nl/log/osx-pl2303.kext.tgz) eine aktuelle, unter Lion tatsächlich funktionierende Kernelextension erhält, die man so wie von Dir beschrieben installieren kann.

    Damit konnte ich gerade – zu später Stunde – wieder meine letzten Tracks einlesen! 🙂
    Mit der zwischenzeitlich an anderer Stelle gefundenen neueren Datei (1.4 einer Extension namens ProlificUsbSerial.kext) wurde der RGM 3800 nicht gefunden. Da gibt’s es also
    anscheinend noch unterschiedliche Versionen.

    Danke Dir also nochmals und vielleicht bis demnächst mal wieder!
    Beste Grüße, Michael

  • Peter sagt:

    Hallo,

    habe mit dem Treiber ein anders Problem. Wenn ich per Terminal (egal welches Programm) auf ein Gerät per serieller Schnittstelle zugreife, bekomme ich nur Punkte.
    Also für jeden Buchstaben schreibt er einen Punkt. Habe schon unterschiedliche Geräte am seriellen Port angeschlossen. Die Ausgaben kommt aber man kann nix lesen. Liegt definitv nicht an der Schnittstellengeschwindigkeit.
    Irgednwie macht er murks mit dem Zeichensatz.

    Hat einer ne Idee?

Hinterlasse einen Kommentar