Welcome, Guest. Please login or register.

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

Description:

0 Members and 1 Guest are viewing this topic.

Offline doctorjTopic starter

  • Newbie
  • *
  • Join Date: Nov 2005
  • Posts: 17
    • Show only replies by doctorj
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 freqmax

  • Hero Member
  • *****
  • Join Date: Mar 2006
  • Posts: 2179
    • Show only replies by freqmax
Re: IOBlix Ethernet Zorro-II Interest in new device driver?
« Reply #1 on: May 02, 2009, 12:13:59 PM »
Known:
  * Chipset:
SMSC 91C96.pdf

  * Grainy
image
.
  * BNC, RJ45
  * SANA-II
  * OS 4.0
  * ioblixether.device v37.17
 
Could you scan a huge image of the component side of the PCB?

A Managed switch may allow you to set duplex per port.

Maybe there's some open source Ethernet network driver that you can use as a starting point?


 

Offline pyrre

Re: IOBlix Ethernet Zorro-II Interest in new device driver?
« Reply #2 on: May 02, 2009, 12:23:29 PM »
Quote

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.


Well... any cisco would enable you to configure the ports as you seem fit...
Or you can try looking for manageable switches...
Amiga 1200 Tower Os 3.9
BPPC 603e+ 040-25/200, 256MBram, BVIsionPPC, Indivision AGA MK2.
Amiga 2000 (rev 4.0) Os 1.2/1.3
2088 bridgeboard, 2MB ram card, 2091 SCSI.
Amiga 500+ Os 2.1
Derringer 030, 32MBram, Buddha in sidecar, Indivision ECS.
Amiga CD32
Video decoder
 

Offline Iggy_Drougge

  • Sr. Member
  • ****
  • Join Date: Jul 2003
  • Posts: 333
    • Show only replies by Iggy_Drougge
    • http://www.kristallpojken.org
Re: IOBlix Ethernet Zorro-II Interest in new device driver?
« Reply #3 on: May 02, 2009, 11:54:25 PM »
I use an IOblix ethernet (sometimes). It was totally useless until I learned that I had to downgrade the driver. I remember reading on Usenet that the interrupt handling was broken on the IOblix, and one of the E3B boys wrote on another forum that even the hardware is not correctly designed.

Edit: I suppose you noticed that the 37.20 driver does work, but only with ridiculously small packets?
A4000/25MHz/64MB/20GB/RetinaBLTZ3/FastlaneZ3/CatweaselMKIII/Ariadne/A2301
A3000/40MHz/32MB/6GB/Merlin/Buddha/X-Surf/FrameMachineII+Prism24
Draco60/50MHz/128MB/15GB/Altais/DracoMotion/DV/IOblix+net
 

Offline doctorjTopic starter

  • Newbie
  • *
  • Join Date: Nov 2005
  • Posts: 17
    • Show only replies by doctorj
Re: IOBlix Ethernet Zorro-II Interest in new device driver?
« Reply #4 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 Trev

  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show only replies by Trev
Re: IOBlix Ethernet Zorro-II Interest in new device driver?
« Reply #5 on: May 03, 2009, 02:47:47 AM »
@doctorj

Check your PM....
 

Offline Iggy_Drougge

  • Sr. Member
  • ****
  • Join Date: Jul 2003
  • Posts: 333
    • Show only replies by Iggy_Drougge
    • http://www.kristallpojken.org
Re: IOBlix Ethernet Zorro-II Interest in new device driver?
« Reply #6 on: May 03, 2009, 02:49:28 AM »
Quote

doctorj wrote:
Much larger images are already available at the following link and are representative of the boards I have:
http://amiga.resource.cx/photos/ioblix


In addition, my board is TP-only and hence lacks the big transformer in the middle.

Quote

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.


According to Michael Boehmer, the IOblix only pulses the INT line, instead of making static interrupts, which may cause troubles. I'm no hardware designer, nor a programmer, so I don't know exactly what the problem might be.

I remember a Usenet thread mentioning something about the ioblixether driver not always releasing interrupts, or something like that. You can google it.
A4000/25MHz/64MB/20GB/RetinaBLTZ3/FastlaneZ3/CatweaselMKIII/Ariadne/A2301
A3000/40MHz/32MB/6GB/Merlin/Buddha/X-Surf/FrameMachineII+Prism24
Draco60/50MHz/128MB/15GB/Altais/DracoMotion/DV/IOblix+net
 

Offline freqmax

  • Hero Member
  • *****
  • Join Date: Mar 2006
  • Posts: 2179
    • Show only replies by freqmax
Re: IOBlix Ethernet Zorro-II Interest in new device driver?
« Reply #7 on: May 03, 2009, 03:35:59 AM »
doctorj, Mind sharing the source? ;)
 

Offline doctorjTopic starter

  • Newbie
  • *
  • Join Date: Nov 2005
  • Posts: 17
    • Show only replies by doctorj
Re: IOBlix Ethernet Zorro-II Interest in new device driver?
« Reply #8 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.
 

Offline Trev

  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show only replies by Trev
Re: IOBlix Ethernet Zorro-II Interest in new device driver?
« Reply #9 on: May 03, 2009, 06:53:44 AM »
Entire books have been published dissecting disassembled copies of other people's code. You might get away with fair use. ;-)
 

Offline kranich-ba

  • Newbie
  • *
  • Join Date: May 2007
  • Posts: 14
    • Show only replies by kranich-ba
Re: IOBlix Ethernet Zorro-II Interest in new device driver?
« Reply #10 on: November 26, 2009, 09:44:25 AM »
any news?
sorry but my english is not the best :-D
 

Offline midway

  • Sr. Member
  • ****
  • Join Date: Jan 2011
  • Posts: 341
    • Show only replies by midway
Re: IOBlix Ethernet Zorro-II Interest in new device driver?
« Reply #11 on: October 12, 2016, 02:19:26 AM »
Could anyone who has 37.17 ioblixether.device please share it? its nowhere to be found anymore, all links are dead :confused:

thanks!