USB NIC D-LINK DUP-E100 does not work on 2.0.3 ?



  • Hi,

    I'm an absolute beginner with pfSense and OpenBSD which will hopefully change…

    However, here is a first problem I have. I'm running pfSense 2.0.3 (nanobsd) on a Alix2d13. I also want to add another network interface via USB->Ethernet Adapter "D-LINK DUP-E100" which was indicated here in the forum and also in the support wiki as reliably working with the version I'm running. Controler is ASIX  AX88772 which is described as supported by the axe driver. All I get when I plug the thing into USB from dmesg is: "ugen1.2: <vendor 0x2001="">at usbus1". No driver is loaded afterwards (my assumption only, cause I don't know how to check that) and no additional Network Interface is initialized which I can see with "ifconfig".

    Does anybody has a hint how to go on from here? Potentially try to load the modules by hand and make it persistant afterwards. Shouldn't it work right away? Do I need to do something which is obvious for the experienced user but mystic for the newbie?

    Thanks

    Matkol</vendor>


  • Netgate Administrator

    Try running:

    usbconfig -d ugen1.2 dump_device_desc
    

    To get the complete VID and PID.

    I assume you typo'd the model and it's actually a DUB-E100. Does it have a revision number? The driver appears to support B1.

    Steve

    Edit:

    2001  D-Link Corp.

    1a00  DUB-E100 Fast Ethernet Adapter(rev.A) [ASIX AX88172]
    1a02  DUB-E100 Fast Ethernet Adapter(rev.C1) [ASIX AX88772]
    3c05  DUB-E100 Fast Ethernet Adapter(rev.B1) [ASIX AX88772]



  • Hi,

    Yes you are right, it's B instead of P  ;D. Here is the output of usbconfig:

    
    ugen1.2: <product 0x1a02="" vendor="" 0x2001="">at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
    
      bLength = 0x0012 
      bDescriptorType = 0x0001 
      bcdUSB = 0x0200 
      bDeviceClass = 0x00ff 
      bDeviceSubClass = 0x00ff 
      bDeviceProtocol = 0x0000 
      bMaxPacketSize0 = 0x0040 
      idVendor = 0x2001 
      idProduct = 0x1a02 
      bcdDevice = 0x0001 
      iManufacturer = 0x0001  <d-link   ="">iProduct = 0x0002  <dub-e100>iSerialNumber = 0x0003  <02DA83>
      bNumConfigurations = 0x0001</dub-e100></d-link ></product> 
    

  • Netgate Administrator

    So you have a rev C1. The driver only recognises the B1 revision so it's not attaching even though the actual chip used is the same (or very nearly).

    Can you try 2.1 which has newer drivers and lists of USB IDs?

    I suspect this may not work either though since it still wasn't being recognised by FreeBSD in 9.1:
    http://lists.freebsd.org/pipermail/freebsd-usb/2013-January/011861.html

    Though it does now seem to have been patched:
    http://lists.freebsd.org/pipermail/freebsd-usb/2013-January/011863.html

    Steve


  • Netgate Administrator

    As I suspected the patch didn't make the 8.3 release but it is in 8.4.

    You could probably compile your own axe(4) kernel module on a FreeBSD 8.3 box with the patched applied.

    You could ask very nicely for one of the developers to add the patch to pfSense 2.1. Though since it's now RC they will probably not want to, but it is only two lines.  :-\

    You could just get a different USB stick.  ;)

    Steve



  • Short uptdate …

    I took the easy way out and used other NICs: http://www.delock.com/produkte/G_61969/merkmale.html?setLanguage=en. They have the AX88178 controller. Works like a charm.

    Sorry, for all who will step into the C1 trap, the problem persist...



  • I've got dub-e100 rev. c1 running after applying a dirty hex patch hack.

    1. copy /boot/kernel/kernel.gz to a usb stick, bring it to another machine and unpack it (you'll get "kernel" file)
    2. open the file in your favourite hex editor and find the hex value for vendor/device id of "b1" revision, which is supported by pfsense. That will be 95 0B 2B 77.
    3. replace it to 01 20 02 1A (hardware version c1 device id). remove write protection file flags if you cant save the file.
    4. pack the file back, copy to /boot/kernel/kernel.gz
    5. pfsense will recognize the card as ue0 interface.


  • @tequilafish:

    I've got dub-e100 rev. c1 running after applying a dirty hex patch hack.

    1. copy /boot/kernel/kernel.gz to a usb stick, bring it to another machine and unpack it (you'll get "kernel" file)
    2. open the file in your favourite hex editor and find the hex value for vendor/device id of "b1" revision, which is supported by pfsense. That will be 95 0B 2B 77.
    3. replace it to 01 20 02 1A (hardware version c1 device id). remove write protection file flags if you cant save the file.
    4. pack the file back, copy to /boot/kernel/kernel.gz
    5. pfsense will recognize the card as ue0 interface.

    Hello there!
    This solution is not perfect! The ping goes but nothing else. This is the case of the 2.2 beta version.
    Gyula


  • Netgate Administrator

    2.2 is built on FreeBSD 10 so the driver should be included already. Was your hardware not recognised?
    This could be a 2.2 alpha issue. It's not in beta yet.

    Steve



  • @stephenw10:

    2.2 is built on FreeBSD 10 so the driver should be included already. Was your hardware not recognised?
    This could be a 2.2 alpha issue. It's not in beta yet.

    Steve

    Hello Steve!
    PfSense 2.2 alpha not beta version for me. I just do not understand that there is this old problem and has not been resolved.
    The hw detection up to appear in UE0 interface. You can ping between the host and the klines example, but not the pfSense web interface and ssh to connect.
    Gyula


  • Netgate Administrator

    So did you have to do the kernel hex edit hack above?

    Steve



  • So did you have to do the kernel hex edit hack above?

    I did it but it does not work! The -as 2.0.3 version of the kernel is not in the sequence in question. If any later version of the kernel will add to the pfSense 2.0.3 does not start.
    No solution is currently active
    Gyula



  • Does anyone has an update on this topic? It's been already a long time and this has not been fixed yet. I've searched for good USB/Ethernet adapter on Google, first post on reddit recommended DUB-E100. Ping goes through, but can't reach the webpage. Checked for solution and found this 3 years old thread.


Log in to reply