Welcome, Guest. Please login or register.

Author Topic: IOBlix Ethernet Zorro-II Interest in new device driver?  (Read 3243 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline doctorjTopic starter

  • Newbie
  • *
  • Join Date: Nov 2005
  • Posts: 17
    • Show all replies
IOBlix Ethernet Zorro-II Interest in new device driver?
« on: May 02, 2009, 06:07:52 AM »
Okay, I admit I went a bit overboard.

In the process of trying to determine why my IOBlix ethernet was crawling at 50K/13K per second transfer rates and locking up OS 4.0 on my A4000/CyberstormPPC, I have completely disassembled the ioblixether.device v37.17 using IDA Pro.

I am still going through and naming the data and flags in the 3314 bytes of private data, adding bit names, logical function names, etc., but have done enough that it is becoming trivial.  I am a Software Engineer for Delphi, and I have actually enjoyed doing this in the evenings; but it would have sure been a lot easier if the original source were available!

I used 37.17 since it is the latest that actually works.  Now I can actually determine what changes were made for 37.20, and why it is broken - and fix it.

I am just wondering, how many people are there using the Zorro-II IOBlix ethernet and need a new device driver???

After spending a week doing this, I found the primary problem is duplex mismatch.  Duh.  The 91C96 doesn't support Nway (autonegotiation).  Lesson #1 is plugging a 10BaseT device without autonegotiation fixed at full-duplex into a switch with autonegotiation will 100% of the time result in a duplex mismatch.  The switch will detect the speed, but cannot detect the duplex and defaults to HALF duplex.  Performance drops by 90% or more.

Connecting to a NIC forced to full duplex, my transfer rates are 994KB/sec in both directions measured using tcpspeed under OS3.9.  Excellent!  This leaves a negligible margin for improvement.

Now the million $$$ questions is, what switch has fixed 10MB full duplex on one port and autonegotiation on another so I can hook this up to my gigabit router; effectively adding autonegotiation to the IOBlix and making it useable in full duplex?  I don't want half duplex.

Back to the device driver.  The real reason I disassmbled it is to get it working on OS4.0.  I suspect that it may be the JIT compiler choking on the use of the skipw trick

skipw   MACRO
        IFNE    NARG
        FAIL    !!! NO ARGUMENTS ALLOWED !!!
        ENDC

        dc.w    $0c40 ;CMPI.W #????,d0
        ENDM

This is used in a couple places in the device driver.  I can't find enough information about the OS4.0 JIT to know if this is an issue or not.  If it is, an easy fix.

 :rtfm:
 

Offline doctorjTopic starter

  • Newbie
  • *
  • Join Date: Nov 2005
  • Posts: 17
    • Show all replies
Re: IOBlix Ethernet Zorro-II Interest in new device driver?
« Reply #1 on: May 03, 2009, 01:54:27 AM »
Much larger images are already available at the following link and are representative of the boards I have:
http://amiga.resource.cx/photos/ioblix

There is not a lot of room for error in the design.  The 68K interface works fine, and the registers and data spaces are I/O mapped.  I suppose the data line MSB/LSB could have been reversed making it big-endian byte ordering, but that's not a big deal.  There is only a single interrupt line, and that seems to be handled okay by the existing ioblix resource.

The 37.17 device driver is actually the best example I have found for a driver for the 91c96 (and the ONLY SANA-II driver).  No sense in starting over writing a completely new driver, just update this one as needed now that I have the source.

The 37.20 changes are isolated and I can determine the intention of the fixes and make the "desired" corrections.  I do embedded software for a living, this device is VERY simple, relatively speaking.

I've been using Amiga's since 1986.  I picked up the IOBlix a few years ago when I bought out another guys Amiga equipment.  I never have used Ethernet on the Amiga until recently, and now I'm motivated.  I went ahead and set the IOBlix to half duplex for the moment, and it is working at 935KB/sec, which is fine.  I'll keep my eye out for an inexpensive switch that can get it running full duplex connected to my router.

Updated SANA-II documentation would be useful.  The device driver is clearly written to the R2 documents available on Aminet.  I would like to see the SANA-II R3 specification(R4, R5?).  A R3 native PPC driver for OS4 is a possibility.  Finding documentation is painful.
 

Offline doctorjTopic starter

  • Newbie
  • *
  • Join Date: Nov 2005
  • Posts: 17
    • Show all replies
Re: IOBlix Ethernet Zorro-II Interest in new device driver?
« Reply #2 on: May 03, 2009, 03:51:59 AM »
I fully intend to share the source, but first I really need to contact the original developer and get permission.

It is my understanding that he either no longer has access to the source, or the original sources are forever lost.