1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-02 08:42:48 +00:00

Add support for the LinkSys USB10T network adapter that

contains the ADMtek Pegasus AN986 USB chipset.  The
	adapter supports both 10BaseT and 100BaseT (including
	full-duplex).  The product code for these adapters is
	0x2206.
This commit is contained in:
Jonathan M. Bresler 2000-04-02 12:43:34 +00:00
parent 42a3fc35e6
commit 4c9805fafa
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=58931
5 changed files with 18 additions and 4 deletions

View File

@ -48,8 +48,10 @@ The
.Nm
driver provides support for USB ethernet adapters based on the ADMtek
AN986 Pegasus chipset, including the LinkSys USB100TX, the Billionton
Systems USB100, the Melco Inc. LU-ATX, the D-Link DSB-650TX and the
SMC 2202USB.
Systems USB100, the Melco Inc. LU-ATX, the D-Link DSB-650TX, the
SMC 2202USB, and those LinkSys USB10T adapters that contain the
AN986 Pegasus chipset. The LinkSys USB10T adapters that contain the
AN986 Pegasus chipset will operate at 100Base-TX and full-duplex.
.Pp
The Pegasus contains a 10/100
ethernet MAC with MII interface and is designed to work with both

View File

@ -111,6 +111,7 @@ static struct aue_type aue_devs[] = {
{ USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650TX_PNA },
{ USB_VENDOR_SMC, USB_PRODUCT_SMC_2202USB },
{ USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB100TX },
{ USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB10TA },
{ USB_VENDOR_COREGA, USB_PRODUCT_COREGA_FETHER_USB_TX },
{ 0, 0 }
};
@ -480,6 +481,8 @@ static void aue_miibus_statchg(dev)
*/
if ((sc->aue_info->aue_vid == USB_VENDOR_LINKSYS &&
sc->aue_info->aue_did == USB_PRODUCT_LINKSYS_USB100TX) ||
(sc->aue_info->aue_vid == USB_VENDOR_LINKSYS &&
sc->aue_info->aue_did == USB_PRODUCT_LINKSYS_USB10TA) ||
(sc->aue_info->aue_vid == USB_VENDOR_DLINK &&
sc->aue_info->aue_did == USB_PRODUCT_DLINK_DSB650TX)) {
u_int16_t auxmode;
@ -571,6 +574,8 @@ static void aue_reset(sc)
/* Grrr. LinkSys has to be different from everyone else. */
if ((sc->aue_info->aue_vid == USB_VENDOR_LINKSYS &&
sc->aue_info->aue_did == USB_PRODUCT_LINKSYS_USB100TX) ||
(sc->aue_info->aue_vid == USB_VENDOR_LINKSYS &&
sc->aue_info->aue_did == USB_PRODUCT_LINKSYS_USB10TA) ||
(sc->aue_info->aue_vid == USB_VENDOR_DLINK &&
sc->aue_info->aue_did == USB_PRODUCT_DLINK_DSB650TX)) {
csr_write_1(sc, AUE_GPIO0, AUE_GPIO_SEL0|AUE_GPIO_SEL1);
@ -1234,7 +1239,6 @@ static void aue_init(xsc)
csr_write_1(sc, AUE_CTL0, AUE_CTL0_RXSTAT_APPEND|AUE_CTL0_RX_ENB);
AUE_SETBIT(sc, AUE_CTL0, AUE_CTL0_TX_ENB);
AUE_SETBIT(sc, AUE_CTL2, AUE_CTL2_EP3_CLR);
mii_mediachg(mii);
/* Open RX and TX pipes. */
@ -1246,7 +1250,7 @@ static void aue_init(xsc)
splx(s);
return;
}
usbd_open_pipe(sc->aue_iface, sc->aue_ed[AUE_ENDPT_TX],
err = usbd_open_pipe(sc->aue_iface, sc->aue_ed[AUE_ENDPT_TX],
USBD_EXCLUSIVE_USE, &sc->aue_ep[AUE_ENDPT_TX]);
if (err) {
printf("aue%d: open tx pipe failed: %s\n",

View File

@ -401,6 +401,7 @@ product LEXMARK S2450 0x0009 Optra S 2450
/* Linksys products */
product LINKSYS USB10T 0x2202 USB10T Ethernet
product LINKSYS USB100TX 0x2203 USB100TX Ethernet
product LINKSYS USB10TA 0x2206 USB10TA Ethernet
/* Logitech products */
product LOGITECH M2452 0x0203 M2452 keyboard

View File

@ -408,6 +408,7 @@
/* Linksys products */
#define USB_PRODUCT_LINKSYS_USB10T 0x2202 /* USB10T Ethernet */
#define USB_PRODUCT_LINKSYS_USB100TX 0x2203 /* USB100TX Ethernet */
#define USB_PRODUCT_LINKSYS_USB10TA 0x2206 /* USB10TA Ethernet */
/* Logitech products */
#define USB_PRODUCT_LOGITECH_M2452 0x0203 /* M2452 keyboard */

View File

@ -525,6 +525,12 @@ struct usb_knowndev usb_knowndevs[] = {
"Linksys Inc.",
"USB100TX Ethernet",
},
{
USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB10TA,
0,
"Linksys Inc.",
"USB10TA Ethernet",
},
{
USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_M2452,
0,