2017-12-24 23 views
0

Zunächst erlauben Sie mir zu sagen, dass ich keine Erfahrung mit der Entwicklung von Treibern für OSX oder Treibern für Windows habe. Es gibt also viele Dinge, die ich nicht verstehe, wie Fahrer arbeiten; Ich bin sicher, dass es in meiner Frage offensichtlich sein wird.Entwickeln eines Mac OSX-Netzwerktreibers für einen seriellen Anschluss AT-Command-based Modem

Ich habe ein Modem, das TCP/UDP-Sockets mit AT-Befehlen öffnen und schließen kann. Ich möchte eine Art von Programm (Kernel-Erweiterung? Treiber?) Erstellen, die einen Netzwerktreiber implementiert, die Netzwerkschnittstellenaufrufe in serielle AT-Befehl Nachrichten konvertieren.

Das ist die Grundlegende davon. Ich frage im Wesentlichen, ob irgendjemand mir in die richtige Richtung zeigen kann/geben Sie mir einen Überblick auf hoher Ebene, wie sie sich ihm nähern und worauf sich Apple konzentriert.

Antwort

0

Der XNU-Netzwerkstack erwartet - wie die meisten Netzwerkstacks -, dass Netzwerkgeräte IP-Pakete direkt senden und empfangen. Es ist nicht dafür geeignet, mit Netzwerkgeräten zu arbeiten, die einen Teil des Netzwerkstapels (wie TCP oder UDP) intern behandeln - es ist nicht möglich, einen Netzwerktreiber zu implementieren, der dieses Gerät verwendet.

Möglicherweise haben Sie mehr Glück, wenn Sie dieses Gerät als aussetzen. Sie müssen einen Userspace-Daemon schreiben, der auf einem TCP-Port auf localhost (auf dem Computer) abhört und den Datenverkehr an das serielle Gerät weiterleitet. Sobald dies erledigt ist, können Sie den Computer so einstellen, dass er dieses Gerät als SOCKS-Proxy im Steuerungsfeld "Netzwerk" verwendet.

(Zum Beispiel: die meisten Geräte, die diese Art von Schnittstelle implementieren, haben eine sehr niedrige Grenze für die Anzahl der offenen Sockets - oft weniger als 10. Sie sind wahrscheinlich nicht in der Lage, die Netzwerklast von einem zu bewältigen Desktop-OS.)

+0

Hallo, danke für den Rat, der für mich Sinn machte - ich habe ein wenig Vertrautheit mit Proxies. Ich werde damit aufhören, dies als Antwort zu markieren. Ich werde es morgen markieren, wenn ich aufwache. –

Verwandte Themen