Virtuelles Netzwerkinterface enx von ASUS Mainboards

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

Bei ASUS P12R-* Mainboards mit installiertem ASMB10-iKVM Modul erscheint im Betriebssystem eine zusätzliche, virtuelle Netzwerkschnittstelle. Unter Linux lautet dessen Gerätename enx+MAC (z.B. enxdaf0e491d4a3). Wozu diese Netzwerkschnittstelle dient, und wie diese bei Bedarf deaktiviert werden kann, zeigt dieser Artikel anhand eines ASUS P12R-I Mainboards. Informationen zu Supermicro Mainboards finden Sie im Artikel Virtuelles Netzwerkinterface enx von Supermicro Mainboards.

Grundlagen Netzwerkschnittstellennamen

Netzwerk-Schnittstellen, welche mit enx beginnen, enthalten als weiteren Teil des Names die MAC-Adresse.

Weitere Informationen dazu finden Sie im Artikel Linux Netzwerk-Schnittstellennamen.

Zweck des enx Netzwerkinterface bei ASUS Mainboards

Die virtuelle Netzwerkschnittstelle wird via USB CDC class (cdc_ether)[1] Ethernet over USB bereitgestellt und ermöglicht bestimmte Funktionen zur Kommunikation zwischen Betriebssystem und BMC (z.B. für das Redfish Host Interface). Wenn Sie diese Ethernet über USB Schnittstelle deaktivieren, kann es auch zu Einschränkungen bei der Verarbeitung von externen IPMI Kommandos kommen.

Versionsinformationen

Die Beispielausgaben in diesem Artikel stammen von einem ASUS P12R-I System mit folgenden Versionen:

  • BIOS Version 0402 (Release Date: 06/24/2022)
  • BMC Version ASMB10-iKVM Firmware Information 1.0.5 (Jan 27 2022 16:30:47 CST)
  • Debian 10 mit Linux Kernel 5.10.0-19-amd64

Netzwerkschnittstellen

In diesem Beispiel mit einem ASUS P12R-I Mainboard lautet der Schnittstellenname der virtuellen Netzwerkschnittstelle enxdaf0e491d4a3.

root@debian:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 58:11:22:00:2c:91 brd ff:ff:ff:ff:ff:ff
    altname enp4s0
3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 58:11:22:00:2c:92 brd ff:ff:ff:ff:ff:ff
    altname enp5s0
    inet 10.2.1.171/24 brd 10.2.1.255 scope global dynamic noprefixroute eno2
       valid_lft 85859sec preferred_lft 85859sec
    inet6 fe80::5a11:22ff:fe00:2c92/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
4: enxdaf0e491d4a3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether da:f0:e4:91:d4:a3 brd ff:ff:ff:ff:ff:ff

Virtuelles Netzwerkinterface deaktivieren

Deaktivieren über modprobe blacklist

Beim Einsatz von Linux als Betriebssystem kann das virtuelle Netzwerkinterface auch einfach deaktiviert werden, indem das Laden des Kernel-Modules cdc_ether verhindert wird.

Dazu erstellen Sie einfach einen Datei in /etc/modprobe.d/:

# echo "blacklist cdc_ether" > /etc/modprobe.d/blacklist-cdc_ether.conf
# cat /etc/modprobe.d/blacklist-cdc_ether.conf
blacklist cdc_ether

Nach dem Neustart ist das virtuelle Netzwerkinterface nicht mehr aktiv.

Deaktivieren über angepasste BMC Firmware

Alternativ steht Kunden von Thomas-Krenn eine angepasste Firmware (P12RI1051.ima) zur Verfügung. Diese ist auf Anfrage über unseren Support erhältlich.

Kommandozeilen-Ausgaben

Die folgenden Ausgaben zeigen die Einträge der virtuellen Netzwerkschnitte, welche über den cdc_ether Treiber bereitgestellt wird.

lsmod

root@debian:~# lsmod | grep -i rndis
root@debian:~# lsmod | grep -i cdc
cdc_ether              24576  0
usbnet                 53248  1 cdc_ether
usbcore               331776  5 xhci_hcd,usbnet,usbhid,xhci_pci,cdc_ether

lsusb -t

root@debian:~# lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 10000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
    |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 8: Dev 3, If 0, Class=Hub, Driver=hub/7p, 480M
        |__ Port 3: Dev 4, If 1, Class=CDC Data, Driver=cdc_ether, 480M
        |__ Port 3: Dev 4, If 0, Class=Communications, Driver=cdc_ether, 480M
        |__ Port 4: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 480M
        |__ Port 4: Dev 5, If 1, Class=Human Interface Device, Driver=usbhid, 480M

lsusb -s 1:4 -v

root@debian:~# lsusb -s 1:4 -v

Bus 001 Device 004: ID 046b:ffb0 American Megatrends, Inc. Virtual Ethernet.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            2 Communications
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x046b American Megatrends, Inc.
  idProduct          0xffb0
  bcdDevice            1.00
  iManufacturer           1 American Megatrends Inc.
  iProduct                2 Virtual Ethernet.
  iSerial                 3 1234567890.
  bNumConfigurations      2
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0050
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          4
    bmAttributes         0xc0
      Self Powered
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      2 Abstract (modem)
      bInterfaceProtocol    255 Vendor Specific (MSFT RNDIS?)
      iInterface              6 RNDIS Notification Interface.
      CDC Header:
        bcdCDC               1.10
      CDC Call Management:
        bmCapabilities       0x00
        bDataInterface          1
      CDC ACM:
        bmCapabilities       0x00
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1
      CDC Ethernet:
        iMacAddress                      5 (??)
        bmEthernetStatistics    0x00000000
        wMaxSegmentSize               1514
        wNumberMCFilters            0x0000
        bNumberPowerFilters              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              7 RNDIS Data Interface.
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0050
    bNumInterfaces          2
    bConfigurationValue     2
    iConfiguration         10
    bmAttributes         0xc0
      Self Powered
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      6 Ethernet Networking
      bInterfaceProtocol      0
      iInterface             11 CDC Notification Interface
      CDC Header:
        bcdCDC               1.10
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1
      CDC Ethernet:
        iMacAddress                     12 daf0e491d4a3
        bmEthernetStatistics    0x00000000
        wMaxSegmentSize               1514
        wNumberMCFilters            0x0000
        bNumberPowerFilters              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface             13 CDC Data Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            2 Communications
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      2
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0001
  Self Powered

modinfo cdc_ether

root@debian:~# modinfo cdc_ether
filename:       /lib/modules/5.10.0-19-amd64/kernel/drivers/net/usb/cdc_ether.ko
license:        GPL
description:    USB CDC Ethernet devices
author:         David Brownell
alias:          usb:v12D1p*d*dc*dsc*dp*ic02isc06ipFFin*
alias:          usb:v*p*d*dc*dsc*dp*ic02isc0Aip00in*
alias:          usb:v*p*d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v1E2Dp0055d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v1E2Dp0061d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v1546p1104d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v1546p1143d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v19D2p*d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v12D1p15C1d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v413Cp81BAd*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v1BC7p*d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v19D2p1181d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v19D2p1177d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v19D2p1173d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v19D2p1015d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v19D2p1003d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v1C04p0015d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v20F4pE05Ad*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v0B95p2791d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v0B95p2790d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v2ECApC101d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v2357p0601d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v045Ep0927d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v045Ep07C6d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v045Ep07ABd*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v0955p09FFd*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v17EFpA387d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v17EFp721Ed*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v17EFp7214d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v17EFp720Cd*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v17EFp7205d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v17EFp3082d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v17EFp3069d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v17EFp3062d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v13B1p0041d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v04E8pA101d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v0BDAp8153d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v0BDAp8152d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v12D1p14ACd*dc*dsc*dp*ic*isc*ip*in01*
alias:          usb:v16D5p650Ad*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v03F0p421Dd*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v1410p9011d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v413Cp819Bd*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v413Cp8196d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v413Cp8195d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v1410p9010d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v1410pB001d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v046DpC11Fd*dc*dsc*dp*ic02isc0Aip00in*
alias:          usb:v1004p61AAd*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v07B4p0F02d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v04DDp9050d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v04DDp9032d*dc*dsc*dp*ic02isc0Aip00in*
alias:          usb:v04DDp9032d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v04DDp9031d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v04DDp8007d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v04DDp8006d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v04DDp8005d*dc*dsc*dp*ic02isc06ip00in*
alias:          usb:v04DDp8004d*dc*dsc*dp*ic02isc06ip00in*
depends:        usbnet,usbcore
retpoline:      Y
intree:         Y
name:           cdc_ether
vermagic:       5.10.0-19-amd64 SMP mod_unload modversions
sig_id:         PKCS#7
signer:         Debian Secure Boot CA
sig_key:        32:A0:28:7F:84:1A:03:6F:A3:93:C1:E0:65:C4:3A:E6:B2:42:26:43
sig_hashalgo:   sha256
signature:      0C:AC:4D:14:A4:F2:2A:3D:17:44:05:25:73:24:4A:3E:B3:F8:09:16:
                C1:D0:BE:73:37:0B:79:84:F7:E6:09:F5:13:5E:92:0F:0C:3C:67:F5:
                48:F8:C5:0A:DF:C8:A0:61:DA:D1:E6:75:53:C0:FC:BC:61:8F:AD:1A:
                9B:64:10:FB:C4:9C:D9:4F:1D:56:84:0E:2F:89:E6:12:15:05:8E:B7:
                D1:7C:73:0B:BE:2C:06:B6:27:8A:07:71:08:0A:2B:6A:0E:74:73:40:
                B2:D1:B0:7A:63:96:C5:23:1B:50:53:D9:8A:30:DB:BD:4D:87:1C:77:
                73:17:CB:F5:82:1C:A3:C7:65:29:25:F8:14:A2:0D:6A:0B:9F:4A:B9:
                7F:C6:C5:89:4A:8C:FC:68:45:3A:35:C8:72:AD:6F:65:1C:38:A3:76:
                EB:21:30:73:6C:66:DF:7A:16:A1:1E:0E:D3:83:1C:A2:A9:27:D4:71:
                3A:C3:C2:8C:74:70:34:ED:6D:46:A6:83:90:38:46:A7:A0:86:00:9F:
                5D:85:3B:B2:1D:2D:DB:AC:9A:1B:56:9E:7D:14:41:FF:C5:B7:B5:6A:
                A1:2C:D2:13:00:A4:47:38:63:83:62:6C:D1:8B:B9:40:FB:FA:5D:83:
                D2:5A:A2:62:A0:16:BC:53:27:56:69:EA:1F:23:21:1D

Einzelnachweise

  1. Ethernet over USB (en.wikipedia.org)


Foto Werner Fischer.jpg

Autor: Werner Fischer

Werner Fischer arbeitet im Product Management Team von Thomas-Krenn. Er evaluiert dabei neueste Technologien und teilt sein Wissen in Fachartikeln, bei Konferenzen und im Thomas-Krenn Wiki. Bereits 2005 - ein Jahr nach seinem Abschluss des Studiums zu Computer- und Mediensicherheit an der FH Hagenberg - heuerte er beim bayerischen Server-Hersteller an. Als Öffi-Fan nutzt er gerne Bus & Bahn und genießt seinen morgendlichen Spaziergang ins Büro.


Das könnte Sie auch interessieren

ASMB9-iKVM
Integrierte IPMI Firewall von Supermicro Mainboards nutzen
SNMP Informationen per MIB Browser auslesen