Date: Wed, 19 Oct 2016 11:06:40 -0700 From: David Horwitt <david@aogsquid.ucsd.edu> To: freebsd-net@freebsd.org Subject: Adding RTL8153 support to rue(4) USB to Ethernet driver Message-ID: <5807B630.1060806@aogsquid.ucsd.edu>
next in thread | raw e-mail | index | archive | help
Reviving a thread from June,2015... My brand-spanking new XPS 13 has a dongle for the Thunderbolt port that implements a RTL8153, which is recognized by my system (FreeBSD 11.0-RELEASE-p1 #8: Tue Oct 18 22:57:49 PDT 2016): Oct 19 07:11:01 TWE6 kernel: ugen1.3: <BILLBOARD CLASS> at usbus1 Oct 19 07:11:02 TWE6 kernel: ugen1.4: <GenesysLogic2> at usbus1 Oct 19 07:11:02 TWE6 kernel: uhub3: <GenesysLogic2> on usbus1 Oct 19 07:11:02 TWE6 kernel: uhub3: 4 ports with 3 removable, self powered Oct 19 07:11:03 TWE6 kernel: ugen1.5: <Realtek> at usbus1 Oct 19 07:11:03 TWE6 kernel: cdce0: <CDC Communications Control> on usbus1 Oct 19 07:11:03 TWE6 kernel: ue0: <USB Ethernet> on cdce0 Oct 19 07:11:03 TWE6 kernel: ue0: Ethernet address: 00:24:9b:1d:90:e5 NB: the MAC address matches that inscribed on the dongle. usbconfig info: ugen1.5: <USB 101001000 LAN Realtek> at usbus1, cfg=1 md=HOST spd=SUPER (5.0Gbps) pwr=ON (64mA) NB: cfg=1 which should be correct for if_cdce and RTL8153. This was verified by 'usbconfig -d 1.5 dump_curr_config_desc" (complete configs dumped below). I manually set the IP address: ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 00:24:9b:1d:90:e5 inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255 nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> The problem is, "it doesn't work'. Using wireshark on a ping target machine, I can see that the XPS outputs packets (which look correct), but it doesn't seem to be receiving the replies. When I set 'sysctl -a hw.usb.cdce.debug=1' I get a constant (~ 5Hz) stream of "cdce_intr_read_callback: Received 24 bytes" whether there is network traffic or not; when I ping the XPS this message doesn't change. The hardware/cable works OK under Windows. Any guidance is appreciated; TIA David usbconfig -d 1.5 dump_all_config_desc ugen1.5: <USB 101001000 LAN Realtek> at usbus1, cfg=1 md=HOST spd=SUPER (5.0Gbps) pwr=ON (64mA) Configuration index 0 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x0039 bNumInterfaces = 0x0001 bConfigurationValue = 0x0001 iConfiguration = 0x0000 <no string> bmAttributes = 0x00a0 bMaxPower = 0x0020 Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0003 bInterfaceClass = 0x00ff <Vendor specific> bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x0000 iInterface = 0x0000 <no string> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0400 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Additional Descriptor bLength = 0x06 bDescriptorType = 0x30 bDescriptorSubType = 0x03 RAW dump: 0x00 | 0x06, 0x30, 0x03, 0x00, 0x00, 0x00 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0002 <OUT> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0400 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Additional Descriptor bLength = 0x06 bDescriptorType = 0x30 bDescriptorSubType = 0x03 RAW dump: 0x00 | 0x06, 0x30, 0x03, 0x00, 0x00, 0x00 Endpoint 2 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0083 <IN> bmAttributes = 0x0003 <INTERRUPT> wMaxPacketSize = 0x0002 bInterval = 0x0008 bRefresh = 0x0000 bSynchAddress = 0x0000 Additional Descriptor bLength = 0x06 bDescriptorType = 0x30 bDescriptorSubType = 0x00 RAW dump: 0x00 | 0x06, 0x30, 0x00, 0x00, 0x02, 0x00 Configuration index 1 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x0062 bNumInterfaces = 0x0002 bConfigurationValue = 0x0002 iConfiguration = 0x0000 <no string> bmAttributes = 0x00a0 bMaxPower = 0x0020 Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0001 bInterfaceClass = 0x0002 <Communication device> bInterfaceSubClass = 0x0006 bInterfaceProtocol = 0x0000 iInterface = 0x0005 <CDC Communications Control> Additional Descriptor bLength = 0x05 bDescriptorType = 0x24 bDescriptorSubType = 0x00 RAW dump: 0x00 | 0x05, 0x24, 0x00, 0x10, 0x01 Additional Descriptor bLength = 0x05 bDescriptorType = 0x24 bDescriptorSubType = 0x06 RAW dump: 0x00 | 0x05, 0x24, 0x06, 0x00, 0x01 Additional Descriptor bLength = 0x0d bDescriptorType = 0x24 bDescriptorSubType = 0x0f RAW dump: 0x00 | 0x0d, 0x24, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x08 | 0xea, 0x05, 0x00, 0x00, 0x00 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0083 <IN> bmAttributes = 0x0003 <INTERRUPT> wMaxPacketSize = 0x0010 bInterval = 0x0008 bRefresh = 0x0000 bSynchAddress = 0x0000 Additional Descriptor bLength = 0x06 bDescriptorType = 0x30 bDescriptorSubType = 0x00 RAW dump: 0x00 | 0x06, 0x30, 0x00, 0x00, 0x08, 0x00 Interface 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0001 bAlternateSetting = 0x0000 bNumEndpoints = 0x0000 bInterfaceClass = 0x000a <CDC-data> bInterfaceSubClass = 0x0000 bInterfaceProtocol = 0x0000 iInterface = 0x0000 <no string> Interface 1 Alt 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0001 bAlternateSetting = 0x0001 bNumEndpoints = 0x0002 bInterfaceClass = 0x000a <CDC-data> bInterfaceSubClass = 0x0000 bInterfaceProtocol = 0x0000 iInterface = 0x0004 <Ethernet Data> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0400 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Additional Descriptor bLength = 0x06 bDescriptorType = 0x30 bDescriptorSubType = 0x03 RAW dump: 0x00 | 0x06, 0x30, 0x03, 0x00, 0x00, 0x00 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0002 <OUT> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0400 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Additional Descriptor bLength = 0x06 bDescriptorType = 0x30 bDescriptorSubType = 0x03 RAW dump: 0x00 | 0x06, 0x30, 0x03, 0x00, 0x00, 0x00
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5807B630.1060806>