RTL8153 compatibility and configuration

jack47

New Member


Messages: 3

Hello,
I've an old Hp Microserver N36L with XigmaNAS 12.1.0.4 (FreeBSD 12.1-RELEASE P9). The on board NIC is broken, so until now I used a Intel PCie etc card. All worked fine.

I wanted to fresh up a little bit the NAS, so I bought a USB3+gigabit etc card (branded Delock), It has the Realtek 8153 chipset.

Xigmanas doesn't seem to see it out of the box, but after a little of google I managed to make it work more or less.

It seems that there are 2 modules that are compatible with the RTL8153: "if_cdce" and "ure" (or "if_ure", I'm not sure if it's the same).

If I use if_cdce (adding the line "if_cdce_load="YES"" in loader.conf and then "usbconfig -d 0.2 set_config 1") as I said DHCP works at 100Mbit (measured with iperf) even if the speed is negotiated as 1000TX full duplex, and for some reason I can't give a static address (but that probably a configuration issue, it may need to wait that the usb+eth is activated).

Same thing with ure, but I don't need the usbconfig thing.

So Do you have some ideas or advice to make it work completely? (static address and at full gigabit speed)

Thank you
Bye Jack
 

SirDice

Administrator
Staff member
Administrator
Moderator

Reaction score: 12,274
Messages: 38,775

Microserver N36L with XigmaNAS 12.1.0.4
Derivatives are not supported here.

PC-BSD, FreeNAS, XigmaNAS, and all other FreeBSD Derivatives

so I bought a USB3+gigabit etc card (branded Delock),
You're still going to be limited by the USB2.0 ports of the machine itself. USB2 has a (theoretical) maximum throughput of about 480Mbps, that's less than half the bandwidth of a gigabit network card. Stick to using that PCIe card, it's going to perform much better in all cases.
 
OP
J

jack47

New Member


Messages: 3

It's not a problem of the derivative. It's a problem with the driver for the RTL8153 that is bundled with FreeBSD 12.1p9.
It's either a limitation of the driver (I have two other adapters USB-eth that have the same chipset and under linux/macos they work perfectly), or a configuration problem.
That's why I asked here.
You're still going to be limited by the USB2.0 ports of the machine itself. USB2 has a (theoretical) maximum throughput of about 480Mbps, that's less than half the bandwidth of a gigabit network card. Stick to using that PCIe card, it's going to perform much better in all cases.

Sorry I didn't explain correctly: I bought a PCIe card that has USB3+gigabit eth (https://www.delock.com/produkte/G_89382/merkmale.html). The USB3 part works correctly, the eth no.

Anyway here some more info:

dmesg:
Code:
cdce0 on uhub6
cdce0: <CDC Communications Control> on usbus0
ue0: <USB Ethernet> on cdce0
ue0: Ethernet address: 00:50:62:20:0e:1a
ifconfig:
Code:
ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:50:62:20:0e:1a
        inet 192.168.1.51 netmask 0xffffff00 broadcast 192.168.1.255
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
usbconfig -u 0 -a 2 dump_device_spec:
Code:
ugen0.2: <Realtek USB 10/100/1000 LAN> at usbus0, cfg=1 md=HOST spd=SUPER (5.0Gbps) pwr=ON (64mA)
  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0300 
  bDeviceClass = 0x0000  <Probed by interface class>
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x0000 
  bMaxPacketSize0 = 0x0009 
  idVendor = 0x0bda 
  idProduct = 0x8153 
  bcdDevice = 0x3000 
  iManufacturer = 0x0001  <Realtek>
  iProduct = 0x0002  <USB 10/100/1000 LAN>
  iSerialNumber = 0x0006  <0000E1000000>
  bNumConfigurations = 0x0002
in loader.conf I have if_cdce_load="YES" and during "PreInit" (a Xigmanas thing) I've set "usbconfig -d 0.2 set_config 1".

With this the adapter can be used with DHCP but the max speed I can get (through iperf) is around 90-95Mbit.

Can somebody help?
 
OP
J

jack47

New Member


Messages: 3

Just for fun I managed to activate the driver if_ure instead of if_cdce.

ifconfig and iperf (the client is a MacPro connected through one of the onboard gigabit)
Code:
trevize: ~# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
    options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
    inet6 ::1 prefixlen 128
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
    inet 127.0.0.1 netmask 0xff000000
    groups: lo
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=80000<LINKSTATE>
    ether 00:50:62:20:0e:1a
    inet 192.168.1.38 netmask 0xffffff00 broadcast 192.168.1.255
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
trevize: ~# iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.1.47, port 64786
[  5] local 192.168.1.38 port 5201 connected to 192.168.1.47 port 64787
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  11.0 MBytes  92.1 Mbits/sec                  
[  5]   1.00-2.00   sec  11.0 MBytes  92.2 Mbits/sec                  
[  5]   2.00-3.00   sec  11.0 MBytes  92.2 Mbits/sec                  
[  5]   3.00-4.00   sec  11.0 MBytes  92.4 Mbits/sec                  
[  5]   4.00-5.00   sec  11.0 MBytes  92.5 Mbits/sec                  
[  5]   5.00-6.00   sec  11.0 MBytes  92.5 Mbits/sec                  
[  5]   6.00-7.00   sec  11.0 MBytes  92.5 Mbits/sec                  
[  5]   7.00-8.00   sec  11.0 MBytes  92.5 Mbits/sec                  
[  5]   8.00-9.00   sec  11.0 MBytes  92.5 Mbits/sec                  
[  5]   9.00-10.00  sec  11.0 MBytes  92.5 Mbits/sec                  
[  5]  10.00-10.00  sec  49.5 KBytes  89.9 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec   110 MBytes  92.4 Mbits/sec                  receiver
 
Top