From 4c9805fafa5fb041fa369df26cd26fee579223fe Mon Sep 17 00:00:00 2001 From: "Jonathan M. Bresler" Date: Sun, 2 Apr 2000 12:43:34 +0000 Subject: 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. --- sys/dev/usb/if_aue.c | 8 ++++++-- sys/dev/usb/usbdevs | 1 + sys/dev/usb/usbdevs.h | 1 + sys/dev/usb/usbdevs_data.h | 6 ++++++ 4 files changed, 14 insertions(+), 2 deletions(-) (limited to 'sys/dev/usb') diff --git a/sys/dev/usb/if_aue.c b/sys/dev/usb/if_aue.c index fe0e9f5aca95a..b2f3a5c4fb791 100644 --- a/sys/dev/usb/if_aue.c +++ b/sys/dev/usb/if_aue.c @@ -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", diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs index e49f6d3906733..e6b929b47628f 100644 --- a/sys/dev/usb/usbdevs +++ b/sys/dev/usb/usbdevs @@ -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 diff --git a/sys/dev/usb/usbdevs.h b/sys/dev/usb/usbdevs.h index 55132fb361429..6fa0f18098c0e 100644 --- a/sys/dev/usb/usbdevs.h +++ b/sys/dev/usb/usbdevs.h @@ -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 */ diff --git a/sys/dev/usb/usbdevs_data.h b/sys/dev/usb/usbdevs_data.h index 4b8b205ae6428..ddc6e7c6f8897 100644 --- a/sys/dev/usb/usbdevs_data.h +++ b/sys/dev/usb/usbdevs_data.h @@ -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, -- cgit v1.3