USB ethernet adapter support

Ross Penner <[email protected]>
Newsgroups gmane.os.freebsd.devel.usb,gmane.os.freebsd.devel.hardware
Message-ID <1410976691.3893699.168675065.2DDFDD53@webmail.messagingengine.com>
The following is a discussion I had on the freebsd-questions list. I've
decided to take the route of buying an adapter that works on FreeBSD 10
Release but, on suggestion, I thought I would ask on these lists if
there was anywhere I could mail my useless (to me) adapter so support
could be added.

----- Original message -----
From: Ross Penner <[email protected]>
To: Roland Smith <[email protected]>
Cc: [email protected]
Subject: Re: USB ethernet adapter support
Date: Sun, 07 Sep 2014 15:06:05 -0700

On Sat, 30 Aug 2014, at 02:23 AM, Roland Smith wrote:
> On Fri, Aug 29, 2014 at 11:34:02PM -0700, Ross Penner wrote:
> > I have a USB ethernet adapter that doesn't seem to work out of the box
> > on my 10.0 system. I'm hoping somebody can help me figure out what
> > driver to load, or if there even is a driver available.
> > 
> > When I plug the device into the FreeBSD machine the only line on dmesg
> > is:
> > ugen4.2: <Linksys> at usbus4
> > 
> > It does work with my Ubuntu 14.04 system. I've added the dmesg output in
> > the hopes that it will be helpful:
> > [137513.415146] usb 1-1.5: new high-speed USB device number 6 using
> > ehci-pci
> > [137513.508489] usb 1-1.5: New USB device found, idVendor=13b1,
> > idProduct=0041
> > [137513.508493] usb 1-1.5: New USB device strings: Mfr=1, Product=2,
> > SerialNumber=6
> > [137513.508494] usb 1-1.5: Product: Linksys USB3GIGV1
> > [137513.508495] usb 1-1.5: Manufacturer: Linksys
> > [137513.508497] usb 1-1.5: SerialNumber: 000001000000
> > [137513.528939] cdc_ether 1-1.5:2.0 eth1: register 'cdc_ether' at
> > usb-0000:00:1a.0-1.5, CDC Ethernet Device, b4:75:0e:8f:5e:90
> > [137513.528960] usbcore: registered new interface driver cdc_ether
> > [137518.015729] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
> 
> You might get it to work with cdce(4). From the manual page:
> 
>     Many USB devices notoriously fail to report their class and
>     interfaces
>     correctly.  Undetected products might work flawlessly when their
>     vendor
>     and product IDs are added to the driver manually.
> 
> You will have to patch the files /usr/src/sys/dev/usb/usbdevs and
> /usr/src/sys/dev/usb/net/if_cdce.c to add this device. Everything
> *between*
> the lines starting with “+++++” is the patch;
> 
> +++++ patch for /usr/src/sys/dev/usb/usbdevs +++++
> --- usbdevs.orig        2014-08-30 10:40:43.000000000 +0200
> +++ usbdevs     2014-08-30 10:42:58.000000000 +0200
> @@ -1402,6 +1402,7 @@
>  product CISCOLINKSYS WUSB54GR   0x0023  WUSB54GR
>  product CISCOLINKSYS WUSBF54G   0x0024  WUSBF54G
>  product CISCOLINKSYS AE1000     0x002f  AE1000
> +product CISCOLINKSYS USB3GIGV  0x0041  USB3GIGV
>  product CISCOLINKSYS2 RT3070    0x4001  RT3070
>  product CISCOLINKSYS3 RT3070    0x0101  RT3070
> +++++ patch for /usr/src/sys/dev/usb/usbdevs +++++
> 
> Save this patch to a file (e.g. usbdevs.diff) and use the patch(1)
> utility to apply it;
> 
>     # cd /usr/src/sys/dev/usb/
>     # patch </path/to/patch/usbdevs.diff
> 
> Then you'll have to patch /usr/src/sys/dev/usb/net/if_cdce.c to do the
> same;
> 
> +++++ patch for /usr/src/sys/dev/usb/net/if_cdce.c +++++
> --- if_cdce.c.orig      2014-08-30 11:07:02.000000000 +0200
> +++ if_cdce.c   2014-08-30 11:09:56.000000000 +0200
> @@ -277,6 +277,7 @@
>  	{USB_VPI(USB_VENDOR_SHARP, USB_PRODUCT_SHARP_SLA300, CDCE_FLAG_ZAURUS | CDCE_FLAG_NO_UNION)},
>  	{USB_VPI(USB_VENDOR_SHARP, USB_PRODUCT_SHARP_SLC700, CDCE_FLAG_ZAURUS | CDCE_FLAG_NO_UNION)},
>  	{USB_VPI(USB_VENDOR_SHARP, USB_PRODUCT_SHARP_SLC750, CDCE_FLAG_ZAURUS | CDCE_FLAG_NO_UNION)},
> +       {USB_VPI(USB_VENDOR_CISCOLINKSYS,
> USB_PRODUCT_CISCOLINKSYS_USB3GIGV, CDCE_FLAG_NO_UNION)},
>  };
>  
>  static const STRUCT_USB_DUAL_ID cdce_dual_devs[] = {
> +++++ patch for /usr/src/sys/dev/usb/net/if_cdce.c +++++
> 
> Note that these patches were prepared on a 10-STABLE system; the files
> might
> differ slightly from those on 10.0-RELEASE. If applying the patches
> fails,
> edit the files by hand.
> 
> Now you have to rebuild and install the cdce module;
> 
>     # cd /usr/src/sys/modules/usb/cdce
>     # make
>     # cp if_cdce.ko /boot/kernel/
>     # make cleandir
> 
> If the old if_cdce module is loaded, unload it;
> 
>     # kldunload if_cdce.ko
> 
> 
> IIRC, required modules are loaded automatically, but to be sure you can
> load
> the module before plugging the device in;
> 
>     # kldload if_cdce.ko
> 
> Now plug in the device and see if it works. Note that I don't have access
> to
> this hardware so I don't know if it works.
> 
> While I don't think this will crash your system, you never know. So make
> sure you
> have up-to-date backups.
> 
> 
> Roland
> -- 
> R.F.Smith                                   http://rsmith.home.xs4all.nl/
> [plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciated]
> pgp: 5753 3324 1661 B0FE 8D93  FCED 40F6 D5DC A38A 33E0 (keyID: A38A33E0)
> Email had 1 attachment:
> + Attachment2
>   1k (application/pgp-signature)

I applied the patches manually and had some mixed success.

I can see the device and it registers as ue0. unfortunetly, it doesn't
completely work.

When I plug it in, the console displays:

ugen4.2: <Linksys> at usbus4
cdce0: <Linksys Linksys USB3GIGV1, class 0/0, rev 2.10/30.00, adds 2> on
usbus4
cdce0: faking MAC address
ue0: <USB Ethernet> on cdce0
ue0: Ethernet address: 2a:d5:07:9d:01:00

The output from 'ifconfig ue0':
ue0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 MTU 1500
        ether 2a:d5:07:9d:01:00
        nd6 options=29<PREFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

Notably lacking a media or status entry.

Is there any where I can go from here or should I wrote off this adapter
and find a replacement?

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.