1db68bb1bSSascha Wildner.\" Copyright (c) 2004 Daniel Hartmeier 2db68bb1bSSascha Wildner.\" All rights reserved. 3db68bb1bSSascha Wildner.\" 4db68bb1bSSascha Wildner.\" Redistribution and use in source and binary forms, with or without 5db68bb1bSSascha Wildner.\" modification, are permitted provided that the following conditions 6db68bb1bSSascha Wildner.\" are met: 7db68bb1bSSascha Wildner.\" 8db68bb1bSSascha Wildner.\" - Redistributions of source code must retain the above copyright 9db68bb1bSSascha Wildner.\" notice, this list of conditions and the following disclaimer. 10db68bb1bSSascha Wildner.\" - Redistributions in binary form must reproduce the above 11db68bb1bSSascha Wildner.\" copyright notice, this list of conditions and the following 12db68bb1bSSascha Wildner.\" disclaimer in the documentation and/or other materials provided 13db68bb1bSSascha Wildner.\" with the distribution. 14db68bb1bSSascha Wildner.\" 15db68bb1bSSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 16db68bb1bSSascha Wildner.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 17db68bb1bSSascha Wildner.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 18db68bb1bSSascha Wildner.\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 19db68bb1bSSascha Wildner.\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 20db68bb1bSSascha Wildner.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 21db68bb1bSSascha Wildner.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22db68bb1bSSascha Wildner.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23db68bb1bSSascha Wildner.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24db68bb1bSSascha Wildner.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 25db68bb1bSSascha Wildner.\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26db68bb1bSSascha Wildner.\" POSSIBILITY OF SUCH DAMAGE. 27db68bb1bSSascha Wildner.\" 28db68bb1bSSascha Wildner.\" $NetBSD: cdce.4,v 1.4 2004/12/08 18:35:56 peter Exp $ 29db68bb1bSSascha Wildner.\" $FreeBSD: head/share/man/man4/cdce.4 291238 2015-11-24 08:34:48Z kevlo $ 30db68bb1bSSascha Wildner.\" 31db68bb1bSSascha Wildner.Dd February 22, 2018 32db68bb1bSSascha Wildner.Dt CDCE 4 33db68bb1bSSascha Wildner.Os 34db68bb1bSSascha Wildner.Sh NAME 35db68bb1bSSascha Wildner.Nm cdce 36db68bb1bSSascha Wildner.Nd "USB Communication Device Class Ethernet driver" 37db68bb1bSSascha Wildner.Sh SYNOPSIS 38db68bb1bSSascha WildnerTo compile this driver into the kernel, 39db68bb1bSSascha Wildnerplace the following lines in your 40db68bb1bSSascha Wildnerkernel configuration file: 41db68bb1bSSascha Wildner.Bd -ragged -offset indent 42db68bb1bSSascha Wildner.Cd "device uhci" 43db68bb1bSSascha Wildner.Cd "device ohci" 44db68bb1bSSascha Wildner.Cd "device usb" 45db68bb1bSSascha Wildner.Cd "device miibus" 46db68bb1bSSascha Wildner.Cd "device uether" 47db68bb1bSSascha Wildner.Cd "device cdce" 48db68bb1bSSascha Wildner.Ed 49db68bb1bSSascha Wildner.Pp 50db68bb1bSSascha WildnerAlternatively, to load the driver as a 51db68bb1bSSascha Wildnermodule at boot time, place the following line in 52db68bb1bSSascha Wildner.Xr loader.conf 5 : 53db68bb1bSSascha Wildner.Bd -literal -offset indent 54db68bb1bSSascha Wildnerif_cdce_load="YES" 55db68bb1bSSascha Wildner.Ed 56db68bb1bSSascha Wildner.Sh DESCRIPTION 57db68bb1bSSascha WildnerThe 58db68bb1bSSascha Wildner.Nm 59db68bb1bSSascha Wildnerdriver provides support for USB Host-to-Host (aka USB-to-USB) and 60db68bb1bSSascha WildnerUSB-to-Ethernet bridges based on the USB Communication Device Class 61db68bb1bSSascha Wildner(CDC) and Ethernet subclass. 62db68bb1bSSascha Wildner.Pp 63db68bb1bSSascha WildnerThe USB bridge appears as a regular network interface on both sides, 64db68bb1bSSascha Wildnertransporting Ethernet frames. 65db68bb1bSSascha Wildner.Pp 66db68bb1bSSascha WildnerFor more information on configuring this device, see 67db68bb1bSSascha Wildner.Xr ifconfig 8 . 68db68bb1bSSascha Wildner.Pp 69db68bb1bSSascha WildnerUSB 1.x bridges support speeds of up to 12Mbps, and USB 2.0 speeds of 70db68bb1bSSascha Wildnerup to 480Mbps. 71db68bb1bSSascha Wildner.Pp 72db68bb1bSSascha WildnerPackets are 73db68bb1bSSascha Wildnerreceived and transmitted over separate USB bulk transfer endpoints. 74db68bb1bSSascha Wildner.Pp 75db68bb1bSSascha WildnerThe 76db68bb1bSSascha Wildner.Nm 77db68bb1bSSascha Wildnerdriver does not support different media types or options. 78db68bb1bSSascha Wildner.Sh HARDWARE 79db68bb1bSSascha WildnerThe following devices are supported by the 80db68bb1bSSascha Wildner.Nm 81db68bb1bSSascha Wildnerdriver: 82db68bb1bSSascha Wildner.Pp 83db68bb1bSSascha Wildner.Bl -bullet -compact 84db68bb1bSSascha Wildner.It 85db68bb1bSSascha WildnerProlific PL-2501 Host-to-Host Bridge Controller 86db68bb1bSSascha Wildner.It 87db68bb1bSSascha WildnerSharp Zaurus PDA 88db68bb1bSSascha Wildner.It 89db68bb1bSSascha WildnerTerayon TJ-715 DOCSIS Cable Modem 90db68bb1bSSascha Wildner.El 91db68bb1bSSascha Wildner.Sh DIAGNOSTICS 92db68bb1bSSascha Wildner.Bl -diag 93db68bb1bSSascha Wildner.It "cdce%d: no union descriptor" 94db68bb1bSSascha WildnerThe driver could not fetch an interface descriptor from the USB 95db68bb1bSSascha Wildnerdevice. 96db68bb1bSSascha WildnerFor a manually added USB vendor/product, the CDCE_NO_UNION flag 97db68bb1bSSascha Wildnercan be tried to work around the missing descriptor. 98db68bb1bSSascha Wildner.It "cdce%d: no data interface" 99db68bb1bSSascha Wildner.It "cdce%d: could not read endpoint descriptor" 100db68bb1bSSascha Wildner.It "cdce%d: unexpected endpoint" 101db68bb1bSSascha Wildner.It "cdce%d: could not find data bulk in/out" 102db68bb1bSSascha WildnerFor a manually added USB vendor/product, these errors indicate 103db68bb1bSSascha Wildnerthat the bridge is not compatible with the driver. 104db68bb1bSSascha Wildner.It "cdce%d: watchdog timeout" 105db68bb1bSSascha WildnerA packet was queued for transmission and a transmit command was 106db68bb1bSSascha Wildnerissued, however the device failed to acknowledge the transmission 107db68bb1bSSascha Wildnerbefore a timeout expired. 108db68bb1bSSascha Wildner.It "cdce%d: no memory for rx list -- packet dropped!" 109db68bb1bSSascha WildnerMemory allocation through MGETHDR or MCLGET failed, the system 110db68bb1bSSascha Wildneris running low on mbufs. 111db68bb1bSSascha Wildner.It "cdce%d: abort/close rx/tx pipe failed" 112db68bb1bSSascha Wildner.It "cdce%d: rx/tx list init failed" 113db68bb1bSSascha Wildner.It "cdce%d: open rx/tx pipe failed" 114db68bb1bSSascha Wildner.It "cdce%d: usb error on rx/tx" 115db68bb1bSSascha Wildner.El 116db68bb1bSSascha Wildner.Sh SEE ALSO 117db68bb1bSSascha Wildner.Xr arp 4 , 118db68bb1bSSascha Wildner.Xr ifmedia 4 , 119db68bb1bSSascha Wildner.Xr intro 4 , 120db68bb1bSSascha Wildner.Xr ipheth 4 , 121db68bb1bSSascha Wildner.Xr netintro 4 , 122db68bb1bSSascha Wildner.Xr urndis 4 , 123db68bb1bSSascha Wildner.Xr usb 4 , 124db68bb1bSSascha Wildner.Xr ifconfig 8 125db68bb1bSSascha Wildner.Rs 126db68bb1bSSascha Wildner.%T "Universal Serial Bus Class Definitions for Communication Devices" 127*92db1a35SSascha Wildner.%U http://www.usb.org/developers/devclass_docs/usbcdc11.pdf 128db68bb1bSSascha Wildner.Re 129db68bb1bSSascha Wildner.Rs 130db68bb1bSSascha Wildner.%T "Data sheet Prolific PL-2501 Host-to-Host Bridge/Network Controller" 131*92db1a35SSascha Wildner.%U http://tech.prolific.com.tw/visitor/fcabdl.asp?fid=20679530 132db68bb1bSSascha Wildner.Re 133db68bb1bSSascha Wildner.Sh HISTORY 134db68bb1bSSascha WildnerThe 135db68bb1bSSascha Wildner.Nm 136db68bb1bSSascha Wildnerdevice driver first appeared in 137db68bb1bSSascha Wildner.Ox 3.6 , 138db68bb1bSSascha Wildner.Nx 3.0 139db68bb1bSSascha Wildnerand 140db68bb1bSSascha Wildner.Fx 6.0 . 141db68bb1bSSascha Wildner.Sh AUTHORS 142db68bb1bSSascha Wildner.An -nosplit 143db68bb1bSSascha WildnerThe 144db68bb1bSSascha Wildner.Nm 145db68bb1bSSascha Wildnerdriver was written by 146db68bb1bSSascha Wildner.An Craig Boston Aq Mt craig@tobuj.gank.org 147db68bb1bSSascha Wildnerbased on the 148db68bb1bSSascha Wildner.Xr aue 4 149db68bb1bSSascha Wildnerdriver written by 150db68bb1bSSascha Wildner.An Bill Paul Aq Mt wpaul@windriver.com 151db68bb1bSSascha Wildnerand ported to 152db68bb1bSSascha Wildner.Ox 153db68bb1bSSascha Wildnerby 154db68bb1bSSascha Wildner.An Daniel Hartmeier Aq Mt dhartmei@openbsd.org . 155db68bb1bSSascha Wildner.Sh CAVEATS 156db68bb1bSSascha WildnerMany USB devices notoriously fail to report their class and interfaces 157db68bb1bSSascha Wildnercorrectly. 158db68bb1bSSascha WildnerUndetected products might work flawlessly when their vendor and product IDs 159db68bb1bSSascha Wildnerare added to the driver manually. 160