Winbond Network & Wireless Cards Driver Download For Windows



I recently discovered that several ethernet cards with chips madeby Winbond behave 'differently' from other ethernet cards.One could say they go against at least the spirit of the ethernetspecification, although not against a very literal interpretation.
  1. What you can do Business and sales team members are the spokespersons for the excellent products and services of Winbond. This team is responsible for the establishment and management of the global sales network and plays an essential role in driving the company’s profitability.
  2. The web site you wish to link to is owned or operated by an entity other than Winbond Electronics Corporation. We do not control this third party web site. WEC provides links to other sites solely as a convenience for you.

I'm reporting this here mostly for its curiosity value; also, it putsthe (un)importance of the exponential random back-off algorithm into perspective,which is of interest from an academic point of view.(I teach this stuff for a living...)

SECURE PROVISIONING FOR WINBOND DEVICES. Through EPS, Winbond customers can seamlessly access a global network of secure programming centers to service their requirements, from prototypes to high volume.

Winbond Network Services

Disclaimer: this page is not meant to attack the company Winbond orits products.

Principle of ethernet

[skip this section if you already know how ethernet works]

Ethernet is a network technology for connecting computers to each other.Its development started in the 1970s, and today almost every PC hasan ethernet interface

The principle of ethernet is that any computer connected to the networkmay send a packet of data whenever it pleases (and no other computeris currently tranmitting a packet). If it is lucky, this computer isthe only one that transmits a packet at that time, and the packet willreach the other computers unharmed.If it is unlucky however, another computer tries to transmit a packetat the same time. This is called a collision, and both computersdetect this and stop their transmissions.

After a collision, the two colliding computers still have their packetsready for transmission. If they would both transmit them againafter waiting for a fixed time, they obviously would collide again.In order to resolve this, the ethernet protocol states that bothcomputers should pick a random number, and let that number determinehow long they wait before trying again.Since it is unlikely that both computers pick the same random number,it is likely that the retransmissions will be doneat different times, i.e., without colliding.

Actually, the ethernet specification(which can be found here)says not just that a random number must bechosen, it also specifies the range in which the number should lie.For the first retransmission, the number should be either 0 or 1;if this retransmission collides again, then the waiting time beforethe second retransmission should be chosen from 0, 1, 2 and 3;for the third attempt from 0, 1, ..., 7;and so on, until the tenth retransmission with a number in the range 0...1023.For the eleventh through sixteenth (and last) retransmission attempt, the rangeis not extended further.The actual waiting time should then be this random number times 51.2 microseconds.By extending the range of numbers at later retransmissions, the likelihoodof the colliding computers choosing the same number becomes less and less likely.

This procedure is called exponential random back-off: random because of therandom times between transmission attempts, and exponential because theaverage time between transmission attempts increases exponentially with thenumber of retransmissions.

Winbond's ethernet chips

As it turns out, several of Winbond's ethernet chips (in particular, the NE2000compatible ones) do not do a fully random back-off for the retransmissions.Instead, they have a fixed back-off schedule.That is, the time between say the first retransmission and the second retransmissionis always the same for all packets, though it may be different from thetime between e.g. the fourth and fifth retransmission for all packets.

Obviously, such a fixed back-off schedule goes against the principle of ethernet.If two cards with the same back-off schedule happen to do an initial transmissionat the same time, resulting in a collision,then all retransmission attempts will also collide:the packet will never get through.

Now, actually, these fixed retransmission times in Winbond's chips are still a bit random: they seemto be chosen randomly at the moment the card is initialized (which typically happens onlywhen the computer is booted, so typically only just after switching on).So, the back-off schedule is indeed chosen randomly, but this randomization happensonly once. If you're unlucky, all computers with Winbond chips on your network choosethe same back-off schedule and thus collisions will often not be resolved well.

A few more observations:

  • Apart from re-initializing the card (using the ifconfig down and ifconfig up commands in Linux), I have not found any other situation in which the back-off schedule is chosen anew.
  • The back-off schedule is independent of the data content of the packets.
  • In principle, there are 10 different random numbers (namely in the interval 0,1 for the first retransmission, than 0,1,2,3 for the next, and so on up to 0...210-1). Written in binary, these are numbers of 1, 2, up to 10 bits. Looking at the measured times between retransmissions, it seems Winbond chips actually use just one 10-bit random number, using at first only the least-significant bit of this number, next the lower two bits, next three bits, and so on. Consequently, the successive retransmission intervals are strongly related: each has a 50 % probability of being equal to the previous.
  • Interestingly, in the datasheet for the W89C940 chip, Winbond actually states on page 10: ' [...] random backoff [...] are implemented in the transmit logic. [...] ensures that the [card] follows IEEE 802.3 protocol' .
  • Not all Winbond's ethernet chips have this behaviour. So far, I have observed it in chips of type W89C940F (PCI), W89C901P (ISA) and W89C904F (also ISA); all of these are 10 Mbit/s NE2000-compatible chips.
    The W89C840 chip, which also supports 100 MB/s and has a different (non-NE2000) programming interface does not exhibit this behaviour: it does pick random numbers for every retransmission.

Measurement setup

So how does one measure this? Simple, by connecting an oscilloscope to the ethernet cable andartificially causing the card to collide with itself on every transmission attempt.On a coax ethernet (10BASE2, and presumably this would also work for 10BASE5), this is trivialto do: just plug one end of the ethernet cable into the input of the oscilloscope withouta termination; the lack of termination causes any packet transmitted on the cable tobe reflected and thus collide with itself.On a 10 Mbit/s twisted pair (10BASE-T), one should wire up an RJ45 connector such that thewire pair 1-2 (on which the card tranmits) is connected to the wire pair 3-6 (on which thecard receives), and connect the oscilloscope to this (preferably with theoscilloscope ground connected to both wires via two identical resistors, to preserve symmetry).

For driving the card, I used the Linux operating system, with the ping tool to generatea packet every second. (The arp command can be used to put fake entries in the ARP table,so the ping packets are actually transmitted, instead of ARP requests.)Running Linux does imply that I did not use the (Windows) driver supplied by the chip manufacturer.I don't expect this to make a difference though, since the back-off is normally handled in hardware.

Closing remarks

At least one interesting issue remains open for further testing: do Winbond cardsbehave better with their own driver (I can't test this, since I don't have any PC runningMS-windows).

Secondly: if you happen to be the engineer who designed these chips, I'd very muchlike to hear from you! Was this chip designed like this on purpose, and if so, why?

Thirdly, I'd like to thank Maarten Burghout (who has been using two Winbond cards on his homenetwork for years, without problems), Eduard van Dijk and Olaf van Zandwijkfor providing me with several extra ethernet cards with different types of Winbond chips for testing.

Finally, in case you're wondering why I connected an oscilloscope to my ethernet and raninto this phenomenon in the first place: well, that happened while developing the hardwarefor my software-defined radioproject.

Comments are welcome at p.t.deboer@utwente.nl.
Back to my 'miscellaneous' webpage.

Winbond is a specialty memory IC company engaged in design, manufacturing and sales services. From product design, research and development, and wafer fabrication to the marketing of brand name products, Winbond endeavors to provide its global clientele top quality low to medium density memory solutions.

Winbond Network & Wireless Cards Driver Download For Windows 7

Headquarters: Taichung City, Taiwan
Our Website: http://www.winbond.com

Winbond Network & Wireless Cards Driver Download For Windows

Our TechOnline Content

How Serial Flash Technology is Evolving to Meet the New Requirements of AIoT Designs

FEATURED

Winbond Network Login

TrustME Secure Flash: A Robust and Certifiable Secure Storage Solution

FEATURED

High Performance Serial NAND is Ready for Automotive Applications

FEATURED

Achieving Higher-Density Code Storage with Serial Flash Memory

Winbond Network & Wireless Cards Driver Download For Windows 8.1

See more from Winbond

From the Network

Request a Quote - require implementing




Comments are closed.