[Prism54-devel] Is this firmware bug?

Tsu-Wei Chen tsuweichen at yahoo.com
Mon Jul 19 22:09:05 UTC 2004


I have this problem:

Usually I can send large frames (MTU=2200) in ad-hoc
mode between two machines using either Orinoco or
Prism2 cards. The IP performance is consistantly
better than using standard MTU 1500.

I tried to do the same thing with the XG-600 which is
a Prsim54 based mini-pci card. However, it failed when
I use ifconfig to change MTU to anything larger than
1500. Then I hacked myself a new driver based on v1. I
simply implemented a routing to take the argument from
the change_mtu request but do nothing, and I also
changed the MAX_FRAGMENT_SIZE_RX to 2304 (used in
$KERN_SRC/driver/net/wireless/ieee802_11.h). I didn't
change MAX_FRAGMENT_SIZE as I can't see it is used
anywhere.


The small MTU frames still works and I can use
ifconfig to set the MTU. But when I try to send large
frames, like using 'ping -s 2000 $host', I don't see
any packets generated. Neither did I see any large MTU
frame come in by using tcpdump.

I turned on the debuggin function and dump all the
trace. I found that when a large MTU frame arrives,
the driver doesn't seems to get any interrupt at all,
as oppose to the small MTU case, where I can see
islpci_eth_receive was called

Can someone help me figuring this out? I do not
believe this card just can't support large MTU frames,
as the standard does mention the payload can be as
large as 2312 (2313?). And also previous prism2 works
very well with the standard.

Thanks,
twc





More information about the Prism54-devel mailing list