FB Twitter YouTube LinkedIn GitHub G+
How to compile & install Asix AX88772b NIC driver

Community Forum

nacho
nacho
Offline
Resolved
0 votes
Hi.

I recently bought an USB Ethernet adapter with ASIX AX88772b chipset. (this one)
[img size=140]http://www1.dealextreme.com/productimages/productimages/sku_34691_1_small.jpg[/img]
Even though the CleaOS 5.2 didn't recognize it, I was able to compile and install the manufacturer's official driver.

This is a brief How To.

Note, compiling the drivers requires an internet connection in the ClearOS machine. Fortunately, my VIA integrated Ethernet card was recognized by default.

1- Make sure your chipset is the ASIX AX88772B. Your lsusb output with the dongle plugged in will look like this:
[root@system home]# lsusb
...
Bus 001 Device 003: ID 0b95:772b ASIX Electronics Corp.
...


2-Install the development environment:
yum groupinstall "Development Tools"


3-Install kernel-source:
yum install kernel-source


4-You may also need the kernel-headers:
yum install kernel-headers

I'm not sure if kernel-headers are installed with the development environment or not (I don remember it well).

5-Dowload the manufacturer's official driver:
[ul]
  • Direct Link
  • Megaupload Mirror
  • Future updates
  • [/ul]
    6-Extract the downloades file by the following command:
    tar -xf AX88772B_772A_760_772_178_LINUX_Driver_v4.1.0_Source.tar.bz2


    7-Compile the driver:
    make

    If the compilation is well, the asix.ko will be created under the current directory.

    8-Install the driver:
    make install


    9-Load the driver:
    modprobe asix


    10-Reboot the machine.
    reboot


    11-If after rebooting does not appear a new ethX device, unplug the USB dongle and plug it again. Next, you can configure the USB network card using WebConfig in order to generate the necessary scripts in the folder /etc/sysconfig/network-scripts/
    Saturday, August 20 2011, 03:24 PM
    Share this post:
    Responses (19)
    • Accepted Answer

      Rick
      Rick
      Offline
      Sunday, February 02 2014, 09:55 PM - #Permalink
      Resolved
      0 votes
      Hi Everyone,

      I've also tried following this guide to install the driver but I haven't had much luck. Any chance you could take a look at my mega thread and let me know if there is anything I should be trying next?

      I ran out of ideas weeks ago (but my idea of ideas might be very different to yours :P).

      Thanks!
      The reply is currently minimized Show
    • Accepted Answer

      Sunday, October 27 2013, 10:21 AM - #Permalink
      Resolved
      0 votes
      That's good news. You now have to remember to recompile every time you update the kernel - but note that kernel updates do not take effect until you restart. You can block kernel updates by adding the following to /etc/yum.conf:
      exclude=kernel,kernel-devel,kernel-firmware,kernel-headers
      That way you don't get any nasty surprises. Just allow updates as and when you're prepared for them.
      The reply is currently minimized Show
    • Accepted Answer

      Sunday, October 27 2013, 09:36 AM - #Permalink
      Resolved
      0 votes
      Nick,

      I've compiled the new driver and it works.
      After rebooting and starting udev, the light went on on the device and i've ETH2

      this is how i did it

      yum install kernel-headers-`uname -r`



      yum --enablerepo=clearos-dev install kernel-devel


      yum install gcc*


      make


      make install


      modprobe asix


      shutdown -r now


      Thanks for the great support
      The reply is currently minimized Show
    • Accepted Answer

      Saturday, October 26 2013, 07:56 PM - #Permalink
      Resolved
      0 votes
      You can do the equivalent here. Create a file /etc/modprobe.d/anything.conf and add the line "alias eth2 asix". You will also need a file /etc/sysconfig/network-scripts/ifcfg-eth2. Clone it from ifcfg-eth0 or ifcfg-eth1, whichever is the LAN one, but change the LAN subnet.

      However ... I've just noticed you will need to compile your own driver. From message log, your USB Vendor ID is 0B95 and Device ID is 772B. This is not covered by what you see from the modinfo command.

      I am still concerned that this will not work without udev working or perhaps a /dev/usbX appearing.
      The reply is currently minimized Show
    • Accepted Answer

      Saturday, October 26 2013, 05:53 PM - #Permalink
      Resolved
      0 votes
      ls /dev/usb*
      /dev/usbmon0 /dev/usbmon2 /dev/usbmon4 /dev/usbmon6 /dev/usbmon8
      /dev/usbmon1 /dev/usbmon3 /dev/usbmon5 /dev/usbmon7


      i know that in old versions you can edit modprobe.conf or some other file where you can add the hardware.
      The reply is currently minimized Show
    • Accepted Answer

      Saturday, October 26 2013, 05:37 PM - #Permalink
      Resolved
      0 votes
      I don't think compiling another driver will help. The problem is getting the hotplug system to recognise a USB NIC has been plugged and then get it to take appropriate action.

      Do you have a device something like /dev/usb0?
      ls /dev/usb*
      The reply is currently minimized Show
    • Accepted Answer

      Saturday, October 26 2013, 04:35 PM - #Permalink
      Resolved
      0 votes
      ls /etc/sysconfig/network-scripts/ifcfg*
      /etc/sysconfig/network-scripts/ifcfg-eth0
      /etc/sysconfig/network-scripts/ifcfg-eth1
      /etc/sysconfig/network-scripts/ifcfg-lo


      Could it be a driver issue, and is better install(compile) a new driver.
      Under windows it is working without a problem.
      The reply is currently minimized Show
    • Accepted Answer

      Saturday, October 26 2013, 04:15 PM - #Permalink
      Resolved
      0 votes
      I don't know how to crack this one. You're now a bit further ahead than I got in the other thread.

      What is the output of:
      ls /etc/sysconfig/network-scripts/ifcfg*
      The reply is currently minimized Show
    • Accepted Answer

      Saturday, October 26 2013, 03:47 PM - #Permalink
      Resolved
      0 votes
      Yes, i did.
      # USB device 0b95:772b (asix)
      SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:24:8c:02:45:35", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"


      Also tried the reboot.
      After reboot i need do do modprobe asix, to see it with " lsmod | grep asix"

      No succes...
      The reply is currently minimized Show
    • Accepted Answer

      Saturday, October 26 2013, 03:39 PM - #Permalink
      Resolved
      0 votes
      Have you tried modifying 70-persistent-net.rules as suggested?
      The reply is currently minimized Show
    • Accepted Answer

      Saturday, October 26 2013, 03:03 PM - #Permalink
      Resolved
      0 votes
      dmesg
      usb 1-1: new high speed USB device number 5 using ehci_hcd
      usb 1-1: New USB device found, idVendor=0b95, idProduct=772b
      usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
      usb 1-1: Product: AX88772B
      usb 1-1: Manufacturer: ASIX Elec. Corp.
      usb 1-1: SerialNumber: 000017
      usb 1-1: configuration #1 chosen from 1 choice


      mac (on device)
      00-24-8c-02-45-35


      I've added to 70-persistent-net.rules

      # USB device 0b95:772b (asix)
      SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:24:8c:02:45:35", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"



      No succes.....
      The reply is currently minimized Show
    • Accepted Answer

      Saturday, October 26 2013, 02:52 PM - #Permalink
      Resolved
      0 votes
      This is a real pain. I've hit the same issue in s 6.5beta thread and I don't know how to get round it, After you plug the device in, if you run the command "dmesg", I presume you see a load of lines at the bottom relating to the device. Is the MAC address listed there or in the /var/log/dmesg file? If not is it on the device?

      Can you then try cloning one of your SUBSYSTEM lines, changing the MAC address (in lower case) to the USB NIC's MAC address and changing the NAME to eth2? Then remove and reinsert the NIC or reboot. Do you get any further?
      The reply is currently minimized Show
    • Accepted Answer

      Saturday, October 26 2013, 02:39 PM - #Permalink
      Resolved
      0 votes
      ]# lsmod | grep asix
      asix 12189 0
      usbnet 15586 1 asix
      mii 4476 2 asix,usbnet


      70-persistent-net.rules
      # This file was automatically generated by the /lib/udev/write_net_rules
      # program, run by the persistent-net-generator.rules rules file.
      #
      # You can modify it, as long as you keep each rule on a single
      # line, and change only the value of the NAME= key.

      # PCI device 0x8086:0x10de (e1000e)
      SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:64:da:c8:0a", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

      # PCI device 0x8086:0x107c (e1000)
      SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="90:e2:ba:31:9d:3b", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
      The reply is currently minimized Show
    • Accepted Answer

      Saturday, October 26 2013, 02:36 PM - #Permalink
      Resolved
      0 votes
      Can you check if the module is loaded with:
      lsmod | grep asix
      Also what is the contents of 70-persistent-net.rules?
      The reply is currently minimized Show
    • Accepted Answer

      Saturday, October 26 2013, 02:25 PM - #Permalink
      Resolved
      0 votes
      Hi Nick,

      thanks for your quick reply.
      Indead i'm running on 6.4.0 and the drives appears in the kernel.

      # modinfo asix
      filename: /lib/modules/2.6.32-358.18.1.v6.i686/kernel/drivers/net/usb/asix.ko
      license: GPL
      description: ASIX AX8817X based USB 2.0 Ethernet Devices
      author: David Hollis
      srcversion: 083B74E24593055C592C270
      alias: usb:v0DB0pA877d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v14EApAB11d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v0B95p772Ad*dc*dsc*dp*ic*isc*ip*
      alias: usb:v05ACp1402d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v050Dp5055d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v04BBp0930d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v1737p0039d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v2001p3C05d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v07D1p3C05d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v1557p7720d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v13B1p0018d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v0B95p1780d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v0B95p7720d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v04F1p3008d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v1631p6200d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v1189p0893d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v07AAp0017d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v6189p182Dd*dc*dsc*dp*ic*isc*ip*
      alias: usb:v0411p006Ed*dc*dsc*dp*ic*isc*ip*
      alias: usb:v0411p003Dd*dc*dsc*dp*ic*isc*ip*
      alias: usb:v0557p2009d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v08DDp90FFd*dc*dsc*dp*ic*isc*ip*
      alias: usb:v07B8p420Ad*dc*dsc*dp*ic*isc*ip*
      alias: usb:v0B95p1720d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v2001p1A00d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v0846p1040d*dc*dsc*dp*ic*isc*ip*
      alias: usb:v077Bp2226d*dc*dsc*dp*ic*isc*ip*
      depends: usbnet,mii
      vermagic: 2.6.32-358.18.1.v6.i686 SMP mod_unload modversions 686


      message.log
      Oct 26 11:12:12 pdebrabander kernel: usb 1-2: new high speed USB device number 2 using ehci_hcd
      Oct 26 11:12:12 pdebrabander kernel: usb 1-2: New USB device found, idVendor=0b95, idProduct=772b
      Oct 26 11:12:12 pdebrabander kernel: usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
      Oct 26 11:12:12 pdebrabander kernel: usb 1-2: Product: AX88772B
      Oct 26 11:12:12 pdebrabander kernel: usb 1-2: Manufacturer: ASIX Elec. Corp.
      Oct 26 11:12:12 pdebrabander kernel: usb 1-2: SerialNumber: 000017
      Oct 26 11:12:12 pdebrabander kernel: usb 1-2: configuration #1 chosen from 1 choice


      Only i don't see an extra ETHx on the system.
      I've tried to run it with "modprobe asix" and also with a reboot, but it is not visible.
      The reply is currently minimized Show
    • Accepted Answer

      Saturday, October 26 2013, 01:05 PM - #Permalink
      Resolved
      0 votes
      The development tools do not exist as such in 6.x. You can create the development environment as in this doc. This has changed from when I did it. You probably also want the kernel-hearders and not source. You may be able to install them with:
      yum install kernel-headers-`uname -r`
      Are you sure you're on 6.3 and not 6.4. If you have updates enabled you're probably on 6.4. If you have not done so recently, I suggest you reboot to get the latest kernel running, then install the kernel headers.

      Having said all this, you probably don't need any of this as the asix module is included in 6.x. If you do a "modinfo asix" you'll see all the vendor and device ID's supported. Only compile your own if you have problems with the native module.
      The reply is currently minimized Show
    • Accepted Answer

      Saturday, October 26 2013, 11:43 AM - #Permalink
      Resolved
      0 votes
      Hi,

      I've the same device and want to install the drivers as mentioned above, only i'm running on 6.3.
      How do i install the develop tools ans kernel-source ?

      Can somebody help me with this.
      The reply is currently minimized Show
    • Accepted Answer

      nacho
      nacho
      Offline
      Saturday, August 20 2011, 11:18 PM - #Permalink
      Resolved
      0 votes
      Nick Howitt wrote:
      It looks like the kmod driver (v2.6.20) is much older than the driver you linked to (4.1.0). That is probably why Tim's did not work.

      P.S. Your "Direct Link" is broken


      I think this was the problem.

      Main post edited. Direct Link fixed ;-)
      The reply is currently minimized Show
    • Accepted Answer

      Saturday, August 20 2011, 03:46 PM - #Permalink
      Resolved
      0 votes
      It looks like the kmod driver (v2.6.20) is much older than the driver you linked to (4.1.0). That is probably why Tim's did not work.

      P.S. Your "Direct Link" is broken
      The reply is currently minimized Show
    Your Reply