Я запускаю Ubuntu Server 19.10 с последними обновлениями и т. Д.Моя проблема в том, что я использую очень старую материнскую плату без GBit LAN, поэтому я купил внешний «адаптер» GBit LAN.
Но это не работает.
Когда я подключаю его, он загорается примерно на 6 секунд, а затем гаснет.
Но когда я выполняю lsusb
, он показывает, что он все еще подключен и распознается.
ifconfig -a
выглядит следующим образом:
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether (*macadress*) txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.178.45 netmask 255.255.255.0 broadcast 192.168.178.255
inet6 fe80::225:22ff:fe5c:776a prefixlen 64 scopeid 0x20<link>
inet6 2003:c0:ff32:fe00:225:22ff:fe5c:776a prefixlen 64 scopeid 0x0<global>
ether (*macadress*) txqueuelen 1000 (Ethernet)
RX packets 1908 bytes 169364 (169.3 KB)
RX errors 0 dropped 894 overruns 0 frame 0
TX packets 700 bytes 72274 (72.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enx000ec65d0eff: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether (*macadress*) txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 1260 bytes 89772 (89.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1260 bytes 89772 (89.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Где «enx000ec65d0eff» - это внешний адаптер GBit. Между прочим, адаптер представляет собой "UGREEN USB 3.0 Ethernet Adapter". Я попытался переустановить ядро, модули ядра и даже попытался собрать этот драйвер сам, хотя он встроен в ядро (5.3.0-40), но он не завершается и завершается с кодом ошибки 2 («build-essential» и «linux- headers-generic "установлены):
make -C /lib/modules/5.3.0-40-generic/build SUBDIRS=/home/julius/Downloads/AX88179_178A_LINUX_DRIVER_v1.19.0_SOURCE modules
make[1]: Entering directory '/usr/src/linux-headers-5.3.0-40-generic'
Makefile:227: ================= WARNING ================
Makefile:228: 'SUBDIRS' will be removed after Linux 5.3
Makefile:229:
Makefile:230: If you are building an individual subdirectory
Makefile:231: in the kernel tree, you can do like this:
Makefile:232: $ make path/to/dir/you/want/to/build/
Makefile:233: (Do not forget the trailing slash)
Makefile:234:
Makefile:235: If you are building an external module,
Makefile:236: Please use 'M=' or 'KBUILD_EXTMOD' instead
Makefile:237: ==========================================
CC [M] /home/julius/Downloads/AX88179_178A_LINUX_DRIVER_v1.19.0_SOURCE/ax88179_178a.o
/home/julius/Downloads/AX88179_178A_LINUX_DRIVER_v1.19.0_SOURCE/ax88179_178a.c:816:3: error: ‘struct ethtool_ops’ has no member named ‘get_settings’; did you mean ‘get_strings’?
816 | .get_settings = ax88179_get_settings,
| ^~~~~~~~~~~~
| get_strings
/home/julius/Downloads/AX88179_178A_LINUX_DRIVER_v1.19.0_SOURCE/ax88179_178a.c:816:19: error: initialization of ‘int (*)(struct net_device *, struct ethtool_eeprom *, u8 *)’ {aka ‘int (*)(struct net_device *, struct ethtool_eeprom *, unsigned char *)’} from incompatible pointer type ‘int (*)(struct net_device *, struct ethtool_cmd *)’ [-Werror=incompatible-pointer-types]
816 | .get_settings = ax88179_get_settings,
| ^~~~~~~~~~~~~~~~~~~~
/home/julius/Downloads/AX88179_178A_LINUX_DRIVER_v1.19.0_SOURCE/ax88179_178a.c:816:19: note: (near initialization for ‘ax88179_ethtool_ops.set_eeprom’)
/home/julius/Downloads/AX88179_178A_LINUX_DRIVER_v1.19.0_SOURCE/ax88179_178a.c:817:3: error: ‘struct ethtool_ops’ has no member named ‘set_settings’; did you mean ‘get_strings’?
817 | .set_settings = ax88179_set_settings,
| ^~~~~~~~~~~~
| get_strings
/home/julius/Downloads/AX88179_178A_LINUX_DRIVER_v1.19.0_SOURCE/ax88179_178a.c:817:19: error: initialization of ‘int (*)(struct net_device *, struct ethtool_coalesce *)’ from incompatible pointer type ‘int (*)(struct net_device *, struct ethtool_cmd *)’ [-Werror=incompatible-pointer-types]
817 | .set_settings = ax88179_set_settings,
| ^~~~~~~~~~~~~~~~~~~~
/home/julius/Downloads/AX88179_178A_LINUX_DRIVER_v1.19.0_SOURCE/ax88179_178a.c:817:19: note: (near initialization for ‘ax88179_ethtool_ops.get_coalesce’)
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:290: /home/julius/Downloads/AX88179_178A_LINUX_DRIVER_v1.19.0_SOURCE/ax88179_178a.o] Error 1
make[1]: *** [Makefile:1655: _module_/home/julius/Downloads/AX88179_178A_LINUX_DRIVER_v1.19.0_SOURCE] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.3.0-40-generic'
make: *** [Makefile:30: default] Error 2
По-настоящему странно то, что я проверил адаптер на рабочем столе Ubuntu вживую и запустил его, не предпринимая дальнейших действий ...
Так что я думаю, что это проблема с драйверами.
Переход на рабочий стол Ubuntu не вариант для меня, потому что у меня только 2 ГБ ОЗУ, а сервер Ubuntu использует ~ 400 МБ в режиме ожидания, тогда как рабочий стол Ubuntu использует более 1,3 ГБ, так что да ...
cat /etc/netplan/*.yaml
приводит к
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
enp1s0:
dhcp4: true
version: 2
Я буду очень рад, если кто-нибудь сможет мне помочь! Заранее спасибо.
Согласно OP (в edits):
Заработало, отредактировав файл, расположенный в
/etc/netplan/
, на:network: Ethernet: enp1s0: DHCP4: правда enx000ec65d0eff: DHCP4: правда версия: 2
Спасибо chili555.