Home Architecture Status Forum Download

     The architecture of the driver is fairly simplistic.

     Upon initiation, the driver configures the dongle for receiving and sending ethernet packets. When the driver is unloaded, the driver disables the dongle.

     The interesting stuff happen when the device is first opened. First a kernel thread is spawned to handle link speed changes. Although this adds some latency to the driver, this is only needed when the link is disconnected and then reconnected. The driver then enables the receiving and transmission of network traffic.

     Receiving of network traffic is handled by a persistent URB that is sent when the interface is opened. When the URB returned, the data contained within is parsed for ethernet packets and then resubmitted to the USB infrastructure. The parsed packets are then handed up through the network stack.

     The transmission of ethernet packets is somewhat similar method. Packets to be transmitted at stored in a kernel buffer, wrapped in the device specific header, then sent in an allocated URB.


SourceForge.net Logo Valid HTML 4.01!

     © 2005 Jimmy Pierce