NetGear FA312 and Debian

NetGear FA312 and Debian

Post by Paul Szab » Wed, 08 Aug 2001 11:26:14

I am trying to use a NetGear FA312 card with Debian (potato, 2.2.19pre17)
and having some difficulties.

I downloaded
and built the driver. This seems to work, but the network speed is not
good: the system reports many transmission errors.

Do you have any idea on how to make this work better?


School of Mathematics and Statistics  University of Sydney   2006  Australia


My notes on building and using the driver:

The "potato 2.2r3" version of Debian seems to be in error: it has kernel
version 2.2.19pre17 but file /usr/include/linux/version.h has UTS_RELEASE
"2.2.18". This gives problems for insmod, need to fix with

  perl -i.bak -pe s/2.2.18/2.2.19pre17/ /usr/include/linux/version.h

before compilation.

The fa312.[ch] files and makefile came from the ZIP archive, with fa312.c
modified by adding '#include "stuff.h"' at the top so it would compile.
This stuff.h contains:

typedef long            clock_t;
typedef long            time_t;
typedef long            suseconds_t;
typedef unsigned long   ino_t;
typedef long            off_t;
typedef unsigned short  uid_t;
typedef unsigned short  gid_t;
typedef int             int32_t;
typedef unsigned int    uint32_t;
typedef unsigned short  ushort;
typedef unsigned short  u_short;
typedef unsigned char   u_char;
typedef unsigned long   u_long;
typedef unsigned short  nlink_t;
typedef char*           caddr_t;
typedef unsigned short  mode_t;
typedef long long       loff_t;
typedef int             pid_t;
typedef int             ssize_t;
typedef unsigned int    size_t;
typedef unsigned short  dev_t;
typedef int             key_t;
typedef unsigned long   fd_set[1024/8*sizeof(long)];

Now you can use 'make' to produce  fa312.o .

Copy the fa312.o file to /lib/modules/*/net:
        cp -i fa312.o /lib/modules/*/net
Use the command
        insmod fa312
to start using this driver now, or use
        echo fa312 >> /etc/modules
to make it permanent (use it at every boot).

There is a problem with network speed. FTPing files from bianco gets speeds
of maybe 7MB/sec, but to bianco gets speeds of just 5-20kB/sec. Bianco
shows many network transmit errors:

eth0      Link encap:Ethernet  HWaddr 00:A0:CC:A1:D7:4C  
          inet addr:  Bcast:  Mask:
          RX packets:178 errors:0 dropped:0 overruns:0 frame:0
          TX packets:241 errors:231 dropped:0 overruns:0 carrier:231
          collisions:0 txqueuelen:100
          Interrupt:9 Base address:0xd800

Kernel Interface table
eth0   1500   0      192      0      0      0      263    253      0      0 BRU
lo     3924   0        2      0      0      0        2      0      0      0 LRU

I can get bianco to ignore these errors by adding one line to fa312.c:

Comparing fa312.c.bak <---> fa312.c

Quote:>                                DP_TXCFG_CSI            |

but that does not improve the speed...