Short:        PCMCIA NIC I/O stall avoider
Author:       megacz@usa.com
Uploader:     megacz usa com
Type:         util/cli
Version:      0.1
Requires:     68020+
Architecture: m68k-amigaos;generic


nicfeed-0.1
-------------

---

As you may know PCMCIA networking on A1200 isnt very stable. At the very
beginning i thought that this has something to do with network adapter, or
device driver but when i tested more NIC's i realised that this is PCMCIA
handling fault... Sometimes it happens that when there is a lot to xfer,
NIC simply hangs in the middle and there is no connectivity at all. Im sure
you have experienced that plenty of times. Earlier i wrote 'myinterfacesuck'
which did its job quite well, until i found that it actually overflows the
NIC even more when its already unusable causing unpredictible results, so
i took different path and as a result 'nicfeed' was born. This proggy does 
not broadcast anything over the wire(no additional overflow), detects iface
states(no hammering) and rehashes device and interface when it sees that
there is no traffic at all. When I/O stall(hang) appears it tries to be
first to spot it, so programs who send a lot of data will be prevented from
doing this, which means that they wont be able to overflow the device.

If you still use 'myinterfacesuck' then drown it in NIL: and forget about
its existence ;-) .

---

NOTES:

[*]
Requires 68020+, OS 2.04+, 4096 bytes of free memory, bsdsocket.library 3+

[*]
Generally you want to use the default 1 second interval, because the sooner
the stall will be detected the better.

---

USAGE:

   *** t: nicfeed <d=dev/a> <u=unit/n> <f=iface/a> [i=intval/n] [v=vbose/s]

                  <d=dev/a>  -  SANAII device name(like: 3c589.device)
                 <u=unit/n>  -  SANAII device unit(usually it is 0)
                <f=iface/a>  -  Unix network interface name(like: eth0)
               [i=intval/n]  -  delay between checks in seconds(def: 1)
                [v=vbose/s]  -  makes loop messages visible

---

EXAMPLE:

   ; make sure you pass right arguments before using 'run'!
   run >nil: nicfeed 3c589.device 0 eth0
   waitback [nicfeed]

---
megacz@usa.com
