NE2000-kompatible ISA Netzwerkkarte (RTL8019 Chipsatz)

  • Hi,


    ich hab mal wieder ein bisschen gebastelt :)

    Herausgekommen ist dabei eine ISA Netzwerkkarte, welche:

    - NE2000-kompatibel ist

    - mit 8-bit XT Rechnern kompatibel

    - mit Jumpern konfiguriert werden kann, aber auch per EEPROM oder ISA PnP konfiguriert werden kann

    - RTL8019 Chipsatz nutzt

    - die Jumper-Konfigurationsdetails auf der Rückseite abgedruckt hat



    Alle Fertigungsdateien sind open-source, jeder ist dazu eingeladen, eigene Platinen und Karten zu fertigen:

    https://github.com/Manawyrm/ISA8019/blob/master/README.md


    Die Karte besteht nur aus modernen Komponenten, es werden keinerlei alte oder NOS Teile benötigt.

    Der Netzwerkchip ist zu tausenden bei verschiedensten Lieferanten verfügbar.

    Das Design ist darauf ausgelegt, bei jlcpcb.com direkt zusammengebaut zu werden.

    Nur die Ethernet-Buchse (und optional: Jumper sowie Boot-ROM IC-Sockel) müssen hand-bestückt werden.


    Im PnP-Modus wird die Karte (in moderneren Rechnern) sofort erkannt und konfiguriert:


    Netzwerkkarten sind natürlich überhaupt keine seltenen Dinge oder gar Sammlerstücke, aber ich wollte einen x86-Rechner nur aus Open-Source Hardware-Teilen haben und kann diesen Wunsch nun umsetzen :)


    Getestet habe ich diese Karte bisher in MS-DOS 6.22 (mit mTCP und dem NE2000.COM packet driver), Windows 3.11 mit dem eingebauten NE2000-NDIS Treiber. Windows 9x folgt!

    In meinem micro8088 (8-bit ISA) und dem 16-bit ISA Pentium MMX 150 MHz keinerlei Probleme, die Kompatibilität scheint also ganz gut zu sein.


    Weitere Details, Treiber, etc. sind auch im GitHub-Repo verlinkt:

    https://github.com/Manawyrm/ISA8019/blob/master/README.md


    Sollte noch jemand für seinen Rechner so eine Karte brauchen können, ich habe eine handvoll über (Mindestbestellmenge, usw.).

    Wenn gewünscht, kann ich dafür auch einen Thread unter Biete aufmachen.


    Viele Grüße,

    Tobias

    Einmal editiert, zuletzt von Manawyrm ()

  • Wow, eine Ethernetkarte für PC/XT! Sehr schön!


    Ich weiß aber nicht, ob ich den RTL8019 unfallfrei verlötet bekäme. Würdest Du auch ggfs. eine Karte abgeben, wo der SMD-Kram schon aufgelötet ist?

  • Sehr schönes Projekt, gefällt mir sehr.


    Kann man die PCB so anpassen, damit eine NUR 8-Bit-Karte rauskommt und evtl. mit einer XTIDE und ähnlichen kombinieren.


    Frage deshalb, da sowas sehr schön für einen Commodore PC 1 oder ähnliches passen würde...

  • also ich hab da auch gleich mal Interesse an einer Karte - aber bei mir bitte ungelötet - ich bastel doch so gern selber::solder::

    ich bin signifikant genug:razz:

  • Hallo

    hätte auch Interesse an einer Karte :) Allerdings mit den SMD teilen schon drauf falls das geht ? Bitte


    Danke

  • hmm - ich habs mir jetzt nochmal genauer angesehen.... eigentlich hätte ich für eine 8-bit Karte schon sehr gern einen 10-Base-T Ausgang zusätzlich...

    Kann man die PCB so anpassen, damit eine NUR 8-Bit-Karte rauskommt

    ..wenn du das machen darfst/würdest - könntest du vielleicht bitte auch gleich den benötigten Bajonett-Stecker integrieren (lassen) ? ... da hätte ich noch viel mehr Interesse dran

    ich bin signifikant genug:razz:

  • hmm - ich habs mir jetzt nochmal genauer angesehen.... eigentlich hätte ich für eine 8-bit Karte schon sehr gern einen 10-Base-T Ausgang zusätzlich...

    Kann man die PCB so anpassen, damit eine NUR 8-Bit-Karte rauskommt

    ..wenn du das machen darfst/würdest - könntest du vielleicht bitte auch gleich den benötigten Bajonett-Stecker integrieren (lassen) ? ... da hätte ich noch viel mehr Interesse dran

    10BASE-T oder doch eher 10BASE2?

  • klärt mich mal auf, warum es so eine Karte selbst designed braucht, habe ich was übersehen?


    Der Markt ist doch voll von NE2000 kompatiblen Karten für alle Busarten, ich habe selbst hier noch aus der Netware-Lite Zeit ISA8, ISA16 und PCI Karten rumliegen. Teilweise nur mit AUI und BNC aber auch schon mit RJ45

    • Offizieller Beitrag

    klärt mich mal auf, warum es so eine Karte selbst designed braucht, habe ich was übersehen?

    Netzwerkkarten sind natürlich überhaupt keine seltenen Dinge oder gar Sammlerstücke, aber ich wollte einen x86-Rechner nur aus Open-Source Hardware-Teilen haben und kann diesen Wunsch nun umsetzen :)

  • Hi,


    isifloh :

    for(;;) :

    Shadow-aSc :

    Toast_r :


    Auslieferungszustand der Karten wäre ziemlich genau so:


    Alle SMD-Komponenten sind schon von JLCPCB automatisch bestückt worden.

    Das ist ja gerade der Clou an der Platine. Könnte man natürlich auch selbst machen,

    ich hab aber weder Einzelteile noch leere Platinen :)


    Dazu kommt dann noch die Ethernet-Buchse (im 30er Pack, kann man immer mal gebrauchen):


    und die Jumper-Header.


    Fehlen würde: der IC-Sockel für das Boot-ROM (ich habe vermutlich keine mehr *upps*) sowie die Slotblenden (gleicher Typ wie beim micro8088) und dessen Schrauben.

    Beides würde es bei Mouser geben, kann ich (wenn gewünscht) auch irgendwann mitbestellen. Habe aktuell aber leider gerade keine kommende Bestellung mehr.


    Für 15€ (inkl. Versand in DE) müsste ich die Karten abgeben können.

    Der Versand kostet bald mehr als der eigentliche Ethernet-Chip :)

    Ist halt ein Budget-orientiertes Design.


    Shadow-aSc :

    Wenn du gerne richtig hard-core selbst bastelst:

    Die leeren Platinen und Einzelteile kannst du dir auch ziemlich günstig direkt aus CN ordern. Das geht problemlos und schmerzfrei. Eine Teileliste hätte ich auch. Ansonsten gebe ich dir aber natürlich auch gerne eine vorbestückte ab :)


    128er-Man:

    Ein pures 8bit-Design geht auf jeden Fall, man könnte sogar einfach diese Karte hier am 8bit-Slot absägen. Würde sogar noch funktionieren.

    Einziges Problem ist dann das fehlende EEPROM. Das sollte man eigentlich nicht unbedingt weglassen. (steht die MAC-Adresse drin, usw.)

    Das EEPROM zu verschieben wäre keine große Sache, würde platz-technisch vermutlich auf Kosten des Boot-ROMs gehen.

    Ob/wie man das zusammen mit einem XT-IDE kombinieren kann: vermutlich relativ gut, das XT-IDE hat aber doch nochmal komplett eigene Bus-Logik, oder?


    Shadow-aSc :

    10Base-2 ist so ein Thema :(

    Ich hätt's auch ganz gerne gehabt. Leider benötigt man dafür relativ spezielle 10Base-2 Koax-Transceiver-ICs wie den MTD492N.

    Die werden aber schon länger nicht mehr hergestellt und sind (soweit mir bekannt) auch nur in DIP verfügbar.

    Man könnte definitiv ein Design darauf vorbereiten, allerdings müsste dann der Chip irgendwo her besorgt werden...

    Das schöne am 10Base-T (RJ45) Design ist, dass nur aktive Neuteile verwendet werden, die es in quasi unbegrenzter Stückzahl gibt.


    Ein 10Base-2 Transceiver Eigenbau wäre auch mal ein cooles, sportliches Projekt. Dafür fehlt aber vermutlich Zeit und Motivation.


    Viele Grüße,

    Tobias

    Einmal editiert, zuletzt von Manawyrm ()

  • Leider sind die Bilder nicht sichtbar. Kannst Du die nochmal hochladen?

    Huch. Da hat sich doch ein waschechter Programmierfehler in die neue Forensoftwareversion eingeschlichen? :D

    Wenn man Fotos als .jpg per Drag&Drop mitten in den Beitrag einfügt und speichert, sind sie danach kaputt.


    Wenn man sie manuell über "Hochladen" als Anhang einfügt und dann im Beitrag über "Vorschau einfügen" einbettet, bleibt das Bild heil.


    Interessant. Lad gerne die Seite einmal neu, ich hab den Beitrag editiert, die Bilder sind jetzt hoffentlich sichtbar.


    Viele Grüße,

    Tobias

  • http://www.vcfed.org/forum/sho…t-drivers-for-8-bit-slots


    Da steht, dass man zum jumperlosen konfigurieren der Ports zwingend einen 16 Bit ISA-Steckplatz braucht. Ist das noch aktuell?


    Falls ja, wie teile ich der Karte mit, dass sie per Jumper zum Betrieb in einem 8 Bit Slot konfiguriert werden soll?


    Edit: okay, steht ja groß auf der Rückseite der Karte. Ein Jumper bei JP sollte das erledigen.

  • ..müsste noch was da sein - ich zieh mich hier erstmal zurück und werde lieber eine 3Com - Karte incl. BNC einbauen .. da hab ich noch

    ich bin signifikant genug:razz:

  • ---

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Da steht, dass man zum jumperlosen konfigurieren der Ports zwingend einen 16 Bit ISA-Steckplatz braucht. Ist das noch aktuell?

    Genau, zum Konfigurieren entweder am 16bit Rechner betreiben und einmal richtig einstellen, oder die Jumper nutzen.

    Technisch sehe ich eigentlich nicht, warum sich die Karte nicht auch im 8bit ISA programmieren lässt, die Software scheint's nur nicht zu können.

    Da muss ich mal schauen, ob ich das nicht vielleicht auch gemodded bekomme. Da will ich aber keine Versprechungen machen.


    Mein anderes Problem war noch, dass die Konfiguration immer auf 0x300 erfolgt, da liegt aber mein XT-IDE am 8bit Rechner...

    (hast du genug Jumper, oder soll ich ne handvoll reinpacken?)


    Viele Grüße,

    Tobias

  • Vielen Dank für die Info! Jumper habe ich noch genügend, vielen Dank.


    Wie sind eigentlich deine Erfahrungen mit dem Bestückungsservice von JLCPCB? Gibt es da etwas besonderes zu beachten? Würdest du diesen Service da wieder nutzen? Wie berechnen sich die Kosten?

  • Jo, der Bestückungsservice funktioniert sehr gut.


    Ich nutze ja KiCad zum Design, da gibts nen kleines Python-Script für, was die Daten von KiCad direkt in das JLC Format umrechnet.

    In KiCad kann man direkt an jedes Bauteil nen neues Feld "LCSC" dranpacken, da kannste dann die JLCPCB Teilenummer reinschreiben.


    Kosten sind super transparent, die Weboberfläche zeigt für Platine + Teile die Kosten an.

    Für spezielle Teile muss eine Einrichtungsgebühr bezahlt werden. "extended parts"


    Nutze das sehr gerne, ist jetzt bestimmt meine 10te Bestellung :D


    Achso: An jedes Bauteil auf dem Silkscreen nen Pin 1 Marker drauf machen. Die Orientierung wie im Webinterface angezeigt, wird nicht immer genommen.

    Da schauen nochmal Menschen drüber und vergewissern, dass die Orientierung der Teile richtig ist.

  • Tolles Projekt - alle Achtung!

    Könntest Du ein bißchen mehr auf den (SMD) Assembly Service eingehen? Wie macht man das mit KiCAD? Vielleicht mit Screenshots?

    Dankeschön.

  • jau, gerne.


    Jedes Bauteil bekommt nen neues Feld "LCSC":

    mit der Nummer aus https://jlcpcb.com/parts gefüllt:


    ich nutze die Software JLCKicadTools von matthewlai:

    https://github.com/matthewlai/JLCKicadTools


    Die läuft bestimmt auch auf Windows, da hab ich aber keine Erfahrung mit, wie man das installiert, sorry!


    Die verlinkte Anleitung ist ganz gut:

    https://dubiouscreations.com/2…-jlcpcb-assembly-service/


    Kurzfassung:


    In Eeschema: “Tools -> Generate Bill of Materials” (das erzeugt eine .xml Datei im Projektordner)

    In Pcbnew: ‘File -> Fabrication Outputs -> Footprint Position (.pos) File’.

    mit CSV format, mm unit, and ‘single file for board’


    beide Dateien zusammen mit den Gerbern in einen Ordner schmeißen und dann auf der Konsole:

    jlc-kicad-tools --warn-no-lcsc-partnumber ISA8019/



    Einmal gegenchecken, das keine Bauteile bemängelt werden, die wichtig sind/benötigt werden.

    Dann gibts jetzt die .bom.csv und die .cpl.csv Datei im Ordner.

    Die kann im JLC-PCB Assembly-Prozess hochgeladen werden.


    2 wichtige Tipps:

    - eigene ToolingHoles:

    JLC braucht zum Festhalten der Platinen in der Maschine kleine Löcher in den Ecken der Platine.

    Wenn ihr die nicht selbst festlegt, macht JLC da irgendwo Löcher rein. Das kann zwar gut gehen, aber ich hab lieber selbst die Kontrolle.

    Dafür einfach den Footprint "ToolingHole.pretty" aus einem meiner Projekte klauen.



    In KiCad 2x MountingHole mit dem Footprint anlegen und in die Ecken der Platine schieben.


    - Pin 1 Marker:

    Bei der Drehung/Orientierung der Teile kann es Unstimmigkeiten geben.

    Meistens guckt da ein Mensch nochmal drüber und prüft die Drehung aller Teile, inbs. ICs.

    Daher am besten an jedes Bauteil auf dem "F.SilkS"-Layer einen kleinen gefüllten Kreis als Pin 1 Marker setzen.

    Radius 0,15mm, Linien 0,3mm gefällt mir persönlich ganz gut.



    Sonst ist nicht viel dran. Bisschen auf die Menge an "Extended Parts" aufpassen, die kosten 2,50€ Einrichtungsgebühr pro Bestellung (oder halt einfach viele Platinen ordern).

    Die Vorschau online ist ziemlich gut, ich exportiere ab-und-zu im Designprozess mal meine Platine und schaue sie mir dort online an.

    Dann gewinnt man ein Gefühl für die Preise und kann schauen ob alles OK ist.


    Viele Grüße,

    Tobias