1# SPDX-License-Identifier: GPL-2.0-only 2# 3# USB Network devices configuration 4# 5comment "Host-side USB support is needed for USB Network Adapter support" 6 depends on !USB && NET 7 8menuconfig USB_NET_DRIVERS 9 tristate "USB Network Adapters" 10 default USB if USB 11 depends on USB && NET 12 13if USB_NET_DRIVERS 14 15config USB_CATC 16 tristate "USB CATC NetMate-based Ethernet device support" 17 select CRC32 18 help 19 Say Y if you want to use one of the following 10Mbps USB Ethernet 20 device based on the EL1210A chip. Supported devices are: 21 Belkin F5U011 22 Belkin F5U111 23 CATC NetMate 24 CATC NetMate II 25 smartBridges smartNIC 26 27 This driver makes the adapter appear as a normal Ethernet interface, 28 typically on eth0, if it is the only ethernet device, or perhaps on 29 eth1, if you have a PCI or ISA ethernet card installed. 30 31 To compile this driver as a module, choose M here: the 32 module will be called catc. 33 34config USB_KAWETH 35 tristate "USB KLSI KL5USB101-based ethernet device support" 36 help 37 Say Y here if you want to use one of the following 10Mbps only 38 USB Ethernet adapters based on the KLSI KL5KUSB101B chipset: 39 3Com 3C19250 40 ADS USB-10BT 41 ATEN USB Ethernet 42 ASANTE USB To Ethernet Adapter 43 AOX Endpoints USB Ethernet 44 Correga K.K. 45 D-Link DSB-650C and DU-E10 46 Entrega / Portgear E45 47 I-O DATA USB-ET/T 48 Jaton USB Ethernet Device Adapter 49 Kingston Technology USB Ethernet Adapter 50 Linksys USB10T 51 Mobility USB-Ethernet Adapter 52 NetGear EA-101 53 Peracom Enet and Enet2 54 Portsmith Express Ethernet Adapter 55 Shark Pocket Adapter 56 SMC 2202USB 57 Sony Vaio port extender 58 59 This driver is likely to work with most 10Mbps only USB Ethernet 60 adapters, including some "no brand" devices. It does NOT work on 61 SmartBridges smartNIC or on Belkin F5U111 devices - you should use 62 the CATC NetMate driver for those. If you are not sure which one 63 you need, select both, and the correct one should be selected for 64 you. 65 66 This driver makes the adapter appear as a normal Ethernet interface, 67 typically on eth0, if it is the only ethernet device, or perhaps on 68 eth1, if you have a PCI or ISA ethernet card installed. 69 70 To compile this driver as a module, choose M here: the 71 module will be called kaweth. 72 73config USB_PEGASUS 74 tristate "USB Pegasus/Pegasus-II based ethernet device support" 75 select MII 76 help 77 Say Y here if you know you have Pegasus or Pegasus-II based adapter. 78 If in doubt then look at <file:drivers/net/usb/pegasus.h> for the 79 complete list of supported devices. 80 81 If your particular adapter is not in the list and you are _sure_ it 82 is Pegasus or Pegasus II based then send me 83 <petkan@users.sourceforge.net> vendor and device IDs. 84 85 To compile this driver as a module, choose M here: the 86 module will be called pegasus. 87 88config USB_RTL8150 89 tristate "USB RTL8150 based ethernet device support" 90 select MII 91 help 92 Say Y here if you have RTL8150 based usb-ethernet adapter. 93 Send me <petkan@users.sourceforge.net> any comments you may have. 94 You can also check for updates at <http://pegasus2.sourceforge.net/>. 95 96 To compile this driver as a module, choose M here: the 97 module will be called rtl8150. 98 99config USB_RTL8152 100 tristate "Realtek RTL8152/RTL8153 Based USB Ethernet Adapters" 101 select MII 102 help 103 This option adds support for Realtek RTL8152 based USB 2.0 104 10/100 Ethernet adapters and RTL8153 based USB 3.0 10/100/1000 105 Ethernet adapters. 106 107 To compile this driver as a module, choose M here: the 108 module will be called r8152. 109 110config USB_LAN78XX 111 tristate "Microchip LAN78XX Based USB Ethernet Adapters" 112 select MII 113 select PHYLIB 114 select MICROCHIP_PHY 115 select FIXED_PHY 116 help 117 This option adds support for Microchip LAN78XX based USB 2 118 & USB 3 10/100/1000 Ethernet adapters. 119 LAN7800 : USB 3 to 10/100/1000 Ethernet adapter 120 LAN7850 : USB 2 to 10/100/1000 Ethernet adapter 121 LAN7801 : USB 3 to 10/100/1000 Ethernet adapter (MAC only) 122 123 Proper PHY driver is required for LAN7801. 124 125 To compile this driver as a module, choose M here: the 126 module will be called lan78xx. 127 128config USB_USBNET 129 tristate "Multi-purpose USB Networking Framework" 130 select MII 131 help 132 This driver supports several kinds of network links over USB, 133 with "minidrivers" built around a common network driver core 134 that supports deep queues for efficient transfers. (This gives 135 better performance with small packets and at high speeds). 136 137 The USB host runs "usbnet", and the other end of the link might be: 138 139 - Another USB host, when using USB "network" or "data transfer" 140 cables. These are often used to network laptops to PCs, like 141 "Laplink" parallel cables or some motherboards. These rely 142 on specialized chips from many suppliers. 143 144 - An intelligent USB gadget, perhaps embedding a Linux system. 145 These include PDAs running Linux (iPaq, Yopy, Zaurus, and 146 others), and devices that interoperate using the standard 147 CDC-Ethernet specification (including many cable modems). 148 149 - Network adapter hardware (like those for 10/100 Ethernet) which 150 uses this driver framework. 151 152 The link will appear with a name like "usb0", when the link is 153 a two-node link, or "eth0" for most CDC-Ethernet devices. Those 154 two-node links are most easily managed with Ethernet Bridging 155 (CONFIG_BRIDGE) instead of routing. 156 157 For more information see <http://www.linux-usb.org/usbnet/>. 158 159 To compile this driver as a module, choose M here: the 160 module will be called usbnet. 161 162config USB_NET_AX8817X 163 tristate "ASIX AX88xxx Based USB 2.0 Ethernet Adapters" 164 depends on USB_USBNET 165 select CRC32 166 select PHYLIB 167 select AX88796B_PHY 168 imply NET_SELFTESTS 169 default y 170 help 171 This option adds support for ASIX AX88xxx based USB 2.0 172 10/100 Ethernet adapters. 173 174 This driver should work with at least the following devices: 175 * Aten UC210T 176 * ASIX AX88172 177 * Billionton Systems, USB2AR 178 * Billionton Systems, GUSB2AM-1G-B 179 * Buffalo LUA-U2-KTX 180 * Corega FEther USB2-TX 181 * D-Link DUB-E100 182 * Hawking UF200 183 * Linksys USB200M 184 * Netgear FA120 185 * Sitecom LN-029 186 * Sitecom LN-028 187 * Intellinet USB 2.0 Ethernet 188 * ST Lab USB 2.0 Ethernet 189 * TrendNet TU2-ET100 190 191 This driver creates an interface named "ethX", where X depends on 192 what other networking devices you have in use. 193 194config USB_NET_AX88179_178A 195 tristate "ASIX AX88179/178A USB 3.0/2.0 to Gigabit Ethernet" 196 depends on USB_USBNET 197 select CRC32 198 select PHYLIB 199 default y 200 help 201 This option adds support for ASIX AX88179 based USB 3.0/2.0 202 to Gigabit Ethernet adapters. 203 204 This driver should work with at least the following devices: 205 * ASIX AX88179 206 * ASIX AX88178A 207 * Sitcomm LN-032 208 209 This driver creates an interface named "ethX", where X depends on 210 what other networking devices you have in use. 211 212config USB_NET_CDCETHER 213 tristate "CDC Ethernet support (smart devices such as cable modems)" 214 depends on USB_USBNET 215 default y 216 help 217 This option supports devices conforming to the Communication Device 218 Class (CDC) Ethernet Control Model, a specification that's easy to 219 implement in device firmware. The CDC specifications are available 220 from <http://www.usb.org/>. 221 222 CDC Ethernet is an implementation option for DOCSIS cable modems 223 that support USB connectivity, used for non-Microsoft USB hosts. 224 The Linux-USB CDC Ethernet Gadget driver is an open implementation. 225 This driver should work with at least the following devices: 226 227 * Dell Wireless 5530 HSPA 228 * Ericsson PipeRider (all variants) 229 * Ericsson Mobile Broadband Module (all variants) 230 * Motorola (DM100 and SB4100) 231 * Broadcom Cable Modem (reference design) 232 * Toshiba (PCX1100U and F3507g/F3607gw) 233 * ... 234 235 This driver creates an interface named "ethX", where X depends on 236 what other networking devices you have in use. However, if the 237 IEEE 802 "local assignment" bit is set in the address, a "usbX" 238 name is used instead. 239 240config USB_NET_CDC_EEM 241 tristate "CDC EEM support" 242 depends on USB_USBNET 243 help 244 This option supports devices conforming to the Communication Device 245 Class (CDC) Ethernet Emulation Model, a specification that's easy to 246 implement in device firmware. The CDC EEM specifications are available 247 from <http://www.usb.org/>. 248 249 This driver creates an interface named "ethX", where X depends on 250 what other networking devices you have in use. However, if the 251 IEEE 802 "local assignment" bit is set in the address, a "usbX" 252 name is used instead. 253 254config USB_NET_CDC_NCM 255 tristate "CDC NCM support" 256 depends on USB_USBNET 257 select USB_NET_CDCETHER 258 default y 259 help 260 This driver provides support for CDC NCM (Network Control Model 261 Device USB Class Specification). The CDC NCM specification is 262 available from <http://www.usb.org/>. 263 264 Say "y" to link the driver statically, or "m" to build a 265 dynamically linked module. 266 267 This driver should work with at least the following devices: 268 * ST-Ericsson M700 LTE FDD/TDD Mobile Broadband Modem (ref. design) 269 * ST-Ericsson M5730 HSPA+ Mobile Broadband Modem (reference design) 270 * ST-Ericsson M570 HSPA+ Mobile Broadband Modem (reference design) 271 * ST-Ericsson M343 HSPA Mobile Broadband Modem (reference design) 272 * Ericsson F5521gw Mobile Broadband Module 273 274config USB_NET_HUAWEI_CDC_NCM 275 tristate "Huawei NCM embedded AT channel support" 276 depends on USB_USBNET 277 select USB_WDM 278 select USB_NET_CDC_NCM 279 help 280 This driver supports huawei-style NCM devices, that use NCM as a 281 transport for other protocols, usually an embedded AT channel. 282 Good examples are: 283 * Huawei E3131 284 * Huawei E3251 285 286 To compile this driver as a module, choose M here: the module will be 287 called huawei_cdc_ncm.ko. 288 289config USB_NET_CDC_MBIM 290 tristate "CDC MBIM support" 291 depends on USB_USBNET 292 select USB_WDM 293 select USB_NET_CDC_NCM 294 help 295 This driver provides support for CDC MBIM (Mobile Broadband 296 Interface Model) devices. The CDC MBIM specification is 297 available from <http://www.usb.org/>. 298 299 MBIM devices require configuration using the management 300 protocol defined by the MBIM specification. This driver 301 provides unfiltered access to the MBIM control channel 302 through the associated /dev/cdc-wdmx character device. 303 304 To compile this driver as a module, choose M here: the 305 module will be called cdc_mbim. 306 307config USB_NET_DM9601 308 tristate "Davicom DM96xx based USB 10/100 ethernet devices" 309 depends on USB_USBNET 310 select CRC32 311 help 312 This option adds support for Davicom DM9601/DM9620/DM9621A 313 based USB 10/100 Ethernet adapters. 314 315config USB_NET_SR9700 316 tristate "CoreChip-sz SR9700 based USB 1.1 10/100 ethernet devices" 317 depends on USB_USBNET 318 select CRC32 319 help 320 This option adds support for CoreChip-sz SR9700 based USB 1.1 321 10/100 Ethernet adapters. 322 323config USB_NET_SR9800 324 tristate "CoreChip-sz SR9800 based USB 2.0 10/100 ethernet devices" 325 depends on USB_USBNET 326 select CRC32 327 help 328 Say Y if you want to use one of the following 100Mbps USB Ethernet 329 device based on the CoreChip-sz SR9800 chip. 330 331 This driver makes the adapter appear as a normal Ethernet interface, 332 typically on eth0, if it is the only ethernet device, or perhaps on 333 eth1, if you have a PCI or ISA ethernet card installed. 334 335 To compile this driver as a module, choose M here: the 336 module will be called sr9800. 337 338config USB_NET_SMSC75XX 339 tristate "SMSC LAN75XX based USB 2.0 gigabit ethernet devices" 340 depends on USB_USBNET 341 select BITREVERSE 342 select CRC16 343 select CRC32 344 help 345 This option adds support for SMSC LAN75XX based USB 2.0 346 Gigabit Ethernet adapters. 347 348config USB_NET_SMSC95XX 349 tristate "SMSC LAN95XX based USB 2.0 10/100 ethernet devices" 350 depends on USB_USBNET 351 select PHYLIB 352 select SMSC_PHY 353 select BITREVERSE 354 select CRC16 355 select CRC32 356 help 357 This option adds support for SMSC LAN95XX based USB 2.0 358 10/100 Ethernet adapters. 359 360config USB_NET_GL620A 361 tristate "GeneSys GL620USB-A based cables" 362 depends on USB_USBNET 363 help 364 Choose this option if you're using a host-to-host cable, 365 or PC2PC motherboard, with this chip. 366 367 Note that the half-duplex "GL620USB" is not supported. 368 369config USB_NET_NET1080 370 tristate "NetChip 1080 based cables (Laplink, ...)" 371 default y 372 depends on USB_USBNET 373 help 374 Choose this option if you're using a host-to-host cable based 375 on this design: one NetChip 1080 chip and supporting logic, 376 optionally with LEDs that indicate traffic 377 378config USB_NET_PLUSB 379 tristate "Prolific PL-2301/2302/25A1/27A1 based cables" 380 # if the handshake/init/reset problems, from original 'plusb', 381 # are ever resolved ... then remove "experimental" 382 depends on USB_USBNET 383 help 384 Choose this option if you're using a host-to-host cable 385 with one of these chips. 386 387config USB_NET_MCS7830 388 tristate "MosChip MCS7830 based Ethernet adapters" 389 depends on USB_USBNET 390 help 391 Choose this option if you're using a 10/100 Ethernet USB2 392 adapter based on the MosChip 7830 controller. This includes 393 adapters marketed under the DeLOCK brand. 394 395config USB_NET_RNDIS_HOST 396 tristate "Host for RNDIS and ActiveSync devices" 397 depends on USB_USBNET 398 select USB_NET_CDCETHER 399 help 400 This option enables hosting "Remote NDIS" USB networking links, 401 as encouraged by Microsoft (instead of CDC Ethernet!) for use in 402 various devices that may only support this protocol. A variant 403 of this protocol (with even less public documentation) seems to 404 be at the root of Microsoft's "ActiveSync" too. 405 406 Avoid using this protocol unless you have no better options. 407 The protocol specification is incomplete, and is controlled by 408 (and for) Microsoft; it isn't an "Open" ecosystem or market. 409 410config USB_NET_CDC_SUBSET_ENABLE 411 tristate 412 depends on USB_NET_CDC_SUBSET 413 414config USB_NET_CDC_SUBSET 415 tristate "Simple USB Network Links (CDC Ethernet subset)" 416 depends on USB_USBNET 417 default y 418 help 419 This driver module supports USB network devices that can work 420 without any device-specific information. Select it if you have 421 one of these drivers. 422 423 Note that while many USB host-to-host cables can work in this mode, 424 that may mean not being able to talk to Win32 systems or more 425 commonly not being able to handle certain events (like replugging 426 the host on the other end) very well. Also, these devices will 427 not generally have permanently assigned Ethernet addresses. 428 429config USB_ALI_M5632 430 bool "ALi M5632 based 'USB 2.0 Data Link' cables" 431 depends on USB_NET_CDC_SUBSET 432 select USB_NET_CDC_SUBSET_ENABLE 433 help 434 Choose this option if you're using a host-to-host cable 435 based on this design, which supports USB 2.0 high speed. 436 437config USB_AN2720 438 bool "AnchorChips 2720 based cables (Xircom PGUNET, ...)" 439 depends on USB_NET_CDC_SUBSET 440 select USB_NET_CDC_SUBSET_ENABLE 441 help 442 Choose this option if you're using a host-to-host cable 443 based on this design. Note that AnchorChips is now a 444 Cypress brand. 445 446config USB_BELKIN 447 bool "eTEK based host-to-host cables (Advance, Belkin, ...)" 448 depends on USB_NET_CDC_SUBSET 449 select USB_NET_CDC_SUBSET_ENABLE 450 default y 451 help 452 Choose this option if you're using a host-to-host cable 453 based on this design: two NetChip 2890 chips and an Atmel 454 microcontroller, with LEDs that indicate traffic. 455 456config USB_ARMLINUX 457 bool "Embedded ARM Linux links (iPaq, ...)" 458 depends on USB_NET_CDC_SUBSET 459 select USB_NET_CDC_SUBSET_ENABLE 460 default y 461 help 462 Choose this option to support the "usb-eth" networking driver 463 used by most of the ARM Linux community with device controllers 464 such as the SA-11x0 and PXA-25x UDCs, or the tftp capabilities 465 in some PXA versions of the "blob" boot loader. 466 467 Linux-based "Gumstix" PXA-25x based systems use this protocol 468 to talk with other Linux systems. 469 470 Although the ROMs shipped with Sharp Zaurus products use a 471 different link level framing protocol, you can have them use 472 this simpler protocol by installing a different kernel. 473 474config USB_EPSON2888 475 bool "Epson 2888 based firmware (DEVELOPMENT)" 476 depends on USB_NET_CDC_SUBSET 477 select USB_NET_CDC_SUBSET_ENABLE 478 help 479 Choose this option to support the usb networking links used 480 by some sample firmware from Epson. 481 482config USB_KC2190 483 bool "KT Technology KC2190 based cables (InstaNet)" 484 depends on USB_NET_CDC_SUBSET 485 select USB_NET_CDC_SUBSET_ENABLE 486 help 487 Choose this option if you're using a host-to-host cable 488 with one of these chips. 489 490config USB_NET_ZAURUS 491 tristate "Sharp Zaurus (stock ROMs) and compatible" 492 depends on USB_USBNET 493 select USB_NET_CDCETHER 494 select CRC32 495 default y 496 help 497 Choose this option to support the usb networking links used by 498 Zaurus models like the SL-5000D, SL-5500, SL-5600, A-300, B-500. 499 This also supports some related device firmware, as used in some 500 PDAs from Olympus and some cell phones from Motorola. 501 502 If you install an alternate image, such as the Linux 2.6 based 503 versions of OpenZaurus, you should no longer need to support this 504 protocol. Only the "eth-fd" or "net_fd" drivers in these devices 505 really need this non-conformant variant of CDC Ethernet (or in 506 some cases CDC MDLM) protocol, not "g_ether". 507 508config USB_NET_CX82310_ETH 509 tristate "Conexant CX82310 USB ethernet port" 510 depends on USB_USBNET 511 help 512 Choose this option if you're using a Conexant CX82310-based ADSL 513 router with USB ethernet port. This driver is for routers only, 514 it will not work with ADSL modems (use cxacru driver instead). 515 516config USB_NET_KALMIA 517 tristate "Samsung Kalmia based LTE USB modem" 518 depends on USB_USBNET 519 help 520 Choose this option if you have a Samsung Kalmia based USB modem 521 as Samsung GT-B3730. 522 523 To compile this driver as a module, choose M here: the 524 module will be called kalmia. 525 526config USB_NET_QMI_WWAN 527 tristate "QMI WWAN driver for Qualcomm MSM based 3G and LTE modems" 528 depends on USB_USBNET 529 select USB_WDM 530 help 531 Support WWAN LTE/3G devices based on Qualcomm Mobile Data Modem 532 (MDM) chipsets. Examples of such devices are 533 * Huawei E392/E398 534 535 This driver will only drive the ethernet part of the chips. 536 The devices require additional configuration to be usable. 537 Multiple management interfaces with linux drivers are 538 available: 539 540 * option: AT commands on /dev/ttyUSBx 541 * cdc-wdm: Qualcomm MSM Interface (QMI) protocol on /dev/cdc-wdmx 542 543 A modem manager with support for QMI is recommended. 544 545 To compile this driver as a module, choose M here: the 546 module will be called qmi_wwan. 547 548config USB_HSO 549 tristate "Option USB High Speed Mobile Devices" 550 depends on USB && RFKILL && TTY 551 default n 552 help 553 Choose this option if you have an Option HSDPA/HSUPA card. 554 These cards support downlink speeds of 7.2Mbps or greater. 555 556 To compile this driver as a module, choose M here: the 557 module will be called hso. 558 559config USB_NET_INT51X1 560 tristate "Intellon PLC based usb adapter" 561 depends on USB_USBNET 562 help 563 Choose this option if you're using a 14Mb USB-based PLC 564 (Powerline Communications) solution with an Intellon 565 INT51x1/INT5200 chip, like the "devolo dLan duo". 566 567config USB_CDC_PHONET 568 tristate "CDC Phonet support" 569 depends on PHONET && USB_USBNET 570 help 571 Choose this option to support the Phonet interface to a Nokia 572 cellular modem, as found on most Nokia handsets with the 573 "PC suite" USB profile. 574 575config USB_IPHETH 576 tristate "Apple iPhone USB Ethernet driver" 577 default n 578 help 579 Module used to share Internet connection (tethering) from your 580 iPhone (Original, 3G and 3GS) to your system. 581 Note that you need userspace libraries and programs that are needed 582 to pair your device with your system and that understand the iPhone 583 protocol. 584 585 For more information: http://giagio.com/wiki/moin.cgi/iPhoneEthernetDriver 586 587config USB_SIERRA_NET 588 tristate "USB-to-WWAN Driver for Sierra Wireless modems" 589 depends on USB_USBNET 590 help 591 Choose this option if you have a Sierra Wireless USB-to-WWAN device. 592 593 To compile this driver as a module, choose M here: the 594 module will be called sierra_net. 595 596config USB_VL600 597 tristate "LG VL600 modem dongle" 598 depends on USB_NET_CDCETHER && TTY 599 select USB_ACM 600 help 601 Select this if you want to use an LG Electronics 4G/LTE usb modem 602 called VL600. This driver only handles the ethernet 603 interface exposed by the modem firmware. To establish a connection 604 you will first need a userspace program that sends the right 605 command to the modem through its CDC ACM port, and most 606 likely also a DHCP client. See this thread about using the 607 4G modem from Verizon: 608 609 http://ubuntuforums.org/showpost.php?p=10589647&postcount=17 610 611config USB_NET_CH9200 612 tristate "QingHeng CH9200 USB ethernet support" 613 depends on USB_USBNET 614 select MII 615 help 616 Choose this option if you have a USB ethernet adapter with a QinHeng 617 CH9200 chipset. 618 619 To compile this driver as a module, choose M here: the 620 module will be called ch9200. 621 622config USB_NET_AQC111 623 tristate "Aquantia AQtion USB to 5/2.5GbE Controllers support" 624 depends on USB_USBNET 625 select CRC32 626 help 627 This option adds support for Aquantia AQtion USB 628 Ethernet adapters based on AQC111U/AQC112 chips. 629 630 This driver should work with at least the following devices: 631 * Aquantia AQtion USB to 5GbE 632 633config USB_RTL8153_ECM 634 tristate "RTL8153 ECM support" 635 depends on USB_NET_CDCETHER && (USB_RTL8152 || USB_RTL8152=n) 636 help 637 This option supports ECM mode for RTL8153 ethernet adapter, when 638 CONFIG_USB_RTL8152 is not set, or the RTL8153 device is not 639 supported by r8152 driver. 640 641endif # USB_NET_DRIVERS 642