Tyjo... funguje :-)
Dmesg:
[ 41.996405] usb 1-1: new high-speed USB device number 3 using xhci_hcd
[ 42.145483] usb 1-1: New USB device found, idVendor=0bda, idProduct=8153, bcdDevice=31.00
[ 42.145565] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[ 42.145633] usb 1-1: Product: USB 10/100/1000 LAN
[ 42.145679] usb 1-1: Manufacturer: Realtek
[ 42.145720] usb 1-1: SerialNumber: 000000000000
[ 42.270710] usbcore: registered new interface driver r8152
[ 42.290140] usbcore: registered new interface driver cdc_ether
[ 42.400885] usb 1-1: reset high-speed USB device number 3 using xhci_hcd
[ 42.553903] r8152 1-1:1.0 (unnamed net_device) (uninitialized): Invalid ether addr 00:00:00:00:00:00
[ 42.554030] r8152 1-1:1.0 (unnamed net_device) (uninitialized): Random ether addr 8a:30:70:d0:7c:9c
[ 42.621061] r8152 1-1:1.0: load rtl8153b-2 v1 10/23/19 successfully
[ 42.653489] r8152 1-1:1.0 eth2: v1.11.11
Užiju to i na gigabit ale pořizoval jsme to zejména kvůli stovce. Vrazil jsem do toho první stovkový transceiver, co mi přišel pod ruku, a prostě funguje :-) Data tečou. Na fotce v příloze je USB/SFP dongle linknutý proti rozebranému mediakonvertoru jiného výrobce.
Takhle vypadá pár zaklínadel v ethtoolu:
#ethtool -T eth2
Time stamping parameters for eth2:
Capabilities:
software-receive
software-system-clock
PTP Hardware Clock: none
Hardware Transmit Timestamp Modes: none
Hardware Receive Filter Modes: none
#ethtool -m eth2
Cannot get module EEPROM information: Operation not supported
#ethtool eth2
Settings for eth2:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Link partner advertised pause frame use: Symmetric
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Auto-negotiation: on
Port: MII
PHYAD: 32
Transceiver: internal
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00007fff (32767)
drv probe link timer ifdown ifup rx_err tx_err tx_queued intr tx_done rx_status pktdata hw wol
Link detected: yes
Podle toho, jak lže ohledně navázané rychlosti a stavu linku, zdá se, že je skutečně uvnitř kromě RTL8153 USB NIC čipu ještě bridgující media-konvertor RTL8213. Přístup k SPD EEPROM transceiveru se nekoná - což mě nepřekvapuje z několika důvodů. Jednak, protože ta věc je multirate, bude tam MCUčko (buď uvnitř RTL8213 nebo samostatné), které si s transceiverem popovídá přes I2C a nastaví příslušně PHY. Druhak nejspíš metalický RTL8153 nemá standardní I2C port, kde by kernelový driver očekával přístup k SFP transceiveru.
Takže tak. Pro mě osobně je tento kousek hardwaru poměrně užitečný hlavně na výjezdech. Duplexní optický odposlech pomocí pasivního tapu (splitteru) a noťasu se stal realitou. Teda až seženu druhý kus :-)