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