5.4-RELEASE: 3c905B-TX only works in promicuous mode

Dirk Gouders gouders at et.bocholt.fh-ge.de
Mon May 16 13:31:27 GMT 2005


Hello,

I installed 5.4-RELEASE on one of my machines and have the problem
that my 3c905B-TX NIC seems to accept packets only when in promiscuous
mode.  (I first noticed, that everything works when tcpdump is running
and then just used `ifconfig xl0 promisc' to get the NIC working)

Sending packets seems to work, because if I try to ping another
machine and run tcpdump on the ping-target, I see the ARP requests as
well as the ARP replies but the replies don't seem to get
accepted/recognized by the ping-source -- until I put the NIC on the
ping-source into promiscuous mode.

Once the 5.4-machine knows the ping-target's MAC address (after having
been in promiscuous mode), I see the echo requests and replies on the
ping-target but the replies also don't get accepted/recognized by the
ping source.

When I use another NIC (RealTek 8139 10/100BaseTX) on the 5.4-machine,
everything works fine.  Also, the 3c905B-TX NIC worked fine under
4.11-STABLE.

As everything works fine when I use another NIC, I thought that there
might be a problem with the xl driver and I tried to use the earliest
if_xl.c and if_xlreg.h from the RELENG_5 branch but that didn't help.
Then, I tried to use the driver files that were used in the
4.11-STABLE version under which the NIC worked well, but that turned
out not to be such a trivial task.

I would be glad if someone could give me a hint on how I can solve
this problem?

Dirk


Here are some details about my network setup:

# ifconfig xl0
xl0: flags=28943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        options=9<RXCSUM,VLAN_MTU>
        inet 192.168.252.9 netmask 0xffffff00 broadcast 192.168.252.255
        inet6 fe80::250:daff:fedf:1c4d%xl0 prefixlen 64 scopeid 0x1 
        ether 00:50:da:df:1c:4d
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active

# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.252.1      UGS         0        0    xl0
127.0.0.1          127.0.0.1          UH          0        0    lo0
192.168.252        link#1             UC          0        0    xl0
192.168.252.1      link#1             UHLW        1       17    xl0
192.168.252.2      00:50:22:e9:74:37  UHLW        0       89    xl0    430

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::1                               ::1                           UH          lo0
fe80::%xl0/64                     link#1                        UC          xl0
fe80::250:daff:fedf:1c4d%xl0      00:50:da:df:1c:4d             UHL         lo0
fe80::%lo0/64                     fe80::1%lo0                   U           lo0
fe80::1%lo0                       link#2                        UHL         lo0
ff01::/32                         ::1                           U           lo0
ff02::%xl0/32                     link#1                        UC          xl0
ff02::%lo0/32                     ::1                           UC          lo0


More information about the freebsd-hackers mailing list