some puzzles about RTL8139

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
miaowei
Member
Member
Posts: 84
Joined: Wed Dec 18, 2013 9:10 am

some puzzles about RTL8139

Post by miaowei »

i am learning writing net adapter drivers recent days. i have some questions about rtl8139.
1. why we need 4 TSR ? not one and not more.
2. some articles say that 8139 issue an interrupt (rok) only when its buffer used out, not on every package, for the aim of reducing interrupt frequence. is that right? according to the datasheet, i just know that whenever a package transmitted or received, an intrrrupt will occur.
3. can we write all four TSR in one breath? thus, we can emit 4 data frames to net cable in one time。does the standard drivers(e.g. 8139 driver on linux)do like this?
4. how to transmit a large package lager than the length of a drsctiptor? the datasheet gives some guides, but i can not understand it.....
("... if the package length is more than 1792 byte, the Tx queue will be invalid. i.e. the next descriptor will be written only after the OWN bit of the long packet's descriptor has been set
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: some puzzles about RTL8139

Post by Combuster »

if the package length is more than 1792 byte, the Tx queue will be invalid.
The maximum for ethernet packets is 1500 bytes of content anyway. Jumbo frames are not universally supported.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
Post Reply