How to install a Linksys USB network adapter under Linux

This page concerns all the USB adapters based on the ADMtek Pegasus chipset :
- ADMtek AN986 Pegasus
- ADMtek ADM8511 Pegasus II
- Accton 10/100
- Billington USB-100
- Corega FEter USB-TX
- MELCO/BUFFALO LUA-TX
- D-Link DSB-650TX, DSB-650TX-PNA, DSB-650, DU-E10, DU-E100
- Linksys USB100TX, USB10TX
- LANEED Ethernet LD-USB/TX
- SMC 202
- SOHOware NUB Ethernet

The trick is that the USB is fully supported only in the kernel 2.4
So to use this adapter you'll need a distribution with the kernel 2.4.0 or later, or you'll have to compile a kernel 2.4

If you are using a distribution with the kernel 2.4, the modules are already compiled.
The module that we are using is pegasus.o, but in order to create the virtual network device eth0, usb-uhci.o must be loaded before pegasus.o
In order to do that, you'll have to make sure usb-uhci is loaded before pegasus
- For a Redhat or a Mandrake distribution, edit /etc/modules.conf and make sur there is a line alias usb-interface usb-uhci before alias eth0 pegasus
- For a Slackware, add in /etc/rc.d/rc.modules the line /sbin/modprobe usb-uhci

If your distribution contains a pre-2.4 kernel, you'll have to download the kernel sources from www.kernel.org and compile it.
For more informations, check the README file that comes with the distributiom.
To select the right modules to compile, check the following :
- In Code Maturity Level Options, check Prompt for development and/or incomplete code/drivers
- In USB Support, check UHCI (Intel PIIX4, VIA...) support as a module (M instead of *), and USB ADMtek Pegasus based ethernet device support as a module as well.
Compile you kernel, create the modules and install them.
Now you can check your modules configuration files

You can now run netconf, or netconfig, or linuxconf, depending on your distribution .
Under Debian, add in /etc/modules :
usb-uhci
pegasus
alias eth0