Why does Ubuntu only detect one USB LAN adapters at a time?
Emily Wong
I try to connect real switch with my computer for an exam preparation, for this purpose I need more than one LAN cards, and there is only one built in LAN card in my computer. So, to get more LAN cards, I bought 4 USB Ethernet adapters (as I have 4 usb ports in may laptop 2 usb 2.0 ports, 2 usb 3.0 ports).
When I plug these adapters in my computer Ubuntu only detects one LAN card from 2.0 usb ports, and one LAN card from 3.0 ports. And sometimes detects only one USB LAN from all the usb ports.
Actually the real problem is Ubuntu shows these USB LAN adapters in the "lsusb", but does not list them in "ifconfig".
Kontron (Industrial Computer Source / ICS Advent) is my LAN USB ethernet.
abc@ubuntu:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hu
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hu
Bus 002 Device 012: ID 0fe6:9700 Kontron (Industrial Computer Source / ICS Advent)
Bus 001 Device 003: ID 138a:0018 Validity Sensors, Inc.
Bus 001 Device 004: ID 064e:e258 Suyin Corp.
Bus 003 Device 011: ID 0fe6:9700 Kontron (Industrial Computer Source / ICS Advent)
Bus 002 Device 013: ID 0fe6:9700 Kontron (Industrial Computer Source / ICS Advent)
Bus 003 Device 012: ID 0fe6:9700 Kontron (Industrial Computer Source / ICS Advent)
Bus 002 Device 005: ID 0a5c:21b4 Broadcom Corp. BCM2070 Bluetooth 2.1 + EDR--
etho is my built in LAN card, while eth1 is the only USB LAN card that ubuntu has detected.
abc@ubuntu:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 2c:27:d7:a5:d2:39 inet6 addr: fe80::2e27:d7ff:fea5:d239/64 Scope:Link UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:21056 errors:0 dropped:1 overruns:0 frame:0 TX packets:5669 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1407289 (1.4 MB) TX bytes:372566 (372.5 KB) Interrupt:49 Base address:0xa000
eth1 Link encap:Ethernet HWaddr 00:e0:4c:53:44:58 inet6 addr: fe80::2e0:4cff:fe53:4458/64 Scope:Link UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:9230 errors:0 dropped:0 overruns:0 frame:0 TX packets:9230 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:557648 (557.6 KB) TX bytes:557648 (557.6 KB)
wlan0 Link encap:Ethernet HWaddr cc:52:af:5e:78:05 inet addr:192.168.1.65 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::ce52:afff:fe5e:7805/64 Scope:LinkU UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:17389 errors:0 dropped:0 overruns:0 frame:0 TX packets:12231 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:22452248 (22.4 MB) TX bytes:1502750 (1.5 MB)If I unplug the USB LAN card which Ubuntu has detected, then Ubuntu will detect a USB LAN card from the remaining plugged adapters, and process go on untill I plug all the USB LAN adapters.
Looking for some urgent help. Thanks
13 Answers
It sounds like a bug with USB ID generation for the devices. I've seen this with external hard drives across multiple platforms(windows too). I never resolved it. I hope you get an answer.
A workaround is to use multiple vlans on the interface and add a switch to your config just to split out the vlans...it's ugly, but it gets you where you need to be.
USB Lan adapters with other chipsets might work.
If you try it and it does, then it was a)inadequate driver or b)usbid generation.
If you try it and it doesn't work, then it's a usbnet subsystem bug(probably).
The USB to Ethernet dongles are rubbish. They all have the same MAC address 00:e0:4c:53:44:58
It's OK on LAN when you only have one of them but completely useless with more than 1.
That could be a source of your problem.
I managed to connect 7 Kontron DM9601 USB Ethernet Adapters to the same computer (Ubuntu 18.04).
Add rules to /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:e0:4c:53:44:58", DEVPATH=="*1-1.2*", NAME="enx00e04c534413", RUN+="/sbin/ifconfig enx00e04c534413 hw ether 00:e0:4c:53:44:13"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:e0:4c:53:44:58", DEVPATH=="*1-1.3*", NAME="enx00e04c534424", RUN+="/sbin/ifconfig enx00e04c534424 hw ether 00:e0:4c:53:44:24"Where DEVPATH is from udevadm info /sys/class/net/eth1 output and NAME is the interface name.
I blogged a post about it