NETGEAR is aware of a growing number of phone and online scams. To learn how to stay safe click here.
Forum Discussion
gbeddow
Feb 19, 2016Luminary
build external kernel moduel?
I'm looking for help with building an external kernel module - both in general and, in particular, for the AX88179 USB to Ethernet adapter - with ReadyNAS 6.4.2 on an RN202. Here's a condensed ve...
- Feb 23, 2016Found a solution.Turns out ReadyNAS 6.4.2 for the RN202 already includes the driver (external module) for the AX88179 USB to Ethernet adapter (also sold by j5create as the JUE130), but out of the box the kernel needs to be configured for it:
# cd /home/gbeddow/linux_src/linux-4.1.16-alpine # make menuconfig Device/Drivers -> Network Device Support -> USB Network Adapters (press "M" to enable as module) (EXIT AND SAVE CONFIG) # make ... CC drivers/net/usb/ax88179_178a.mod.o LD [M] drivers/net/usb/ax88179_178a.ko ... # mkdir /lib/modules/4.1.16.alpine.1/kernel/drivers/net/usb (COPY THE MODULE AND ITS DEPENDENCIES SO MODPROBE CAN FIND THEM:) # cp /home/gbeddow/linux_src/linux-4.1.16-alpine/drivers/net/usb/ax88179_178a.ko /lib/modules/4.1.16.alpine.1/kernel/drivers/net/usb/ax88179_178a.ko # cp /home/gbeddow/linux_src/linux-4.1.16-alpine/drivers/net/usb/usbnet.ko /lib/modules/4.1.16.alpine.1/kernel/drivers/net/usb/usbnet.ko # cp /home/gbeddow/linux_src/linux-4.1.16-alpine/drivers/net/mii.ko /lib/modules/4.1.16.alpine.1/kernel/drivers/net/mii.ko (ADD TO MODULES.DEP:) # vi /lib/modules/4.1.16.alpine.1/modules.dep /lib/modules/4.1.16.alpine.1/kernel/drivers/net/usb/ax88179_178a.ko: /lib/modules/4.1.16.alpine.1/kernel/drivers/net/usb/usbnet.ko: /lib/modules/4.1.16.alpine.1/kernel/drivers/net/mii.ko: # modprobe mii # modprobe usbnet # modprobe ax88179_178a # dmesg ... ax88179_178a 2-2:1.0 eth2: register 'ax88179_178a' at usb-0002:01:00.0-2, ASIX AX88179 USB 3.0 Gigabit Ethernet, 00:05:1b:b0:42:82 usbcore: registered new interface driver ax88179_178a # ifconfig eth2 up # ifconfig ... eth2 Link encap:Ethernet HWaddr 00:05:1b:b0:42:82 inet6 addr: fe80::205:1bff:feb0:4282/64 Scope:Link inet6 addr: 2601:643:c080:92:205:1bff:feb0:4282/64 Scope:Global UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:182 errors:0 dropped:0 overruns:0 frame:0 TX packets:41 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:63762 (62.2 KiB) TX bytes:12027 (11.7 KiB) ...
gbeddow
Feb 22, 2016Luminary
Haven't heard back from anyone on this, but meanwhile I found I needed to be working with the "linux-4.1.16-alpine" directory, not the "buildroot-2015.02" directory. The Makefile in the former actually has a target for "modules".
So... with a minor change to the Makefile the driver (module) now builds (with warnings) - but it doesn't install:
# cd /home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ # make make -C /lib/modules/4.1.16.alpine.1/build SUBDIRS=/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE modules make[1]: Entering directory `/home/gbeddow/linux_src/linux-4.1.16-alpine' CC [M] /home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.o /home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.c:55:6: warning: macro "__TIME__" might prevent reproducible builds [-Wdate-time] " " __TIME__ " " __DATE__ "\n" ^ /home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.c:55:19: warning: macro "__DATE__" might prevent reproducible builds [-Wdate-time] " " __TIME__ " " __DATE__ "\n" ^ Building modules, stage 2. MODPOST 1 modules WARNING: "usbnet_disconnect" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "usbnet_probe" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "usbnet_set_msglevel" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "usbnet_get_msglevel" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "usbnet_tx_timeout" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "usbnet_start_xmit" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "usbnet_stop" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "usbnet_open" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "usbnet_write_cmd_async" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "usbnet_get_endpoints" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "mii_nway_restart" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "usbnet_defer_kevent" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "usbnet_suspend" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "usbnet_resume" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "mii_check_media" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "usbnet_write_cmd" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "usbnet_write_cmd_nopm" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "usbnet_read_cmd" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "usbnet_read_cmd_nopm" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "generic_mii_ioctl" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "mii_ethtool_gset" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "mii_ethtool_sset" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "usbnet_get_drvinfo" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! WARNING: "usbnet_skb_return" [/home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko] undefined! CC /home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.mod.o LD [M] /home/gbeddow/jue130/AX88179_178A_LINUX_DRIVER_v1.9.0_SOURCE/ax88179_178a.ko make[1]: Leaving directory `/home/gbeddow/linux_src/linux-4.1.16-alpine' # make install su -c "cp -v ax88179_178a.ko /lib/modules/4.1.16.alpine.1/kernel/drivers/usb/net && /sbin/depmod -a" `ax88179_178a.ko' -> `/lib/modules/4.1.16.alpine.1/kernel/drivers/usb/net' cp: cannot create regular file `/lib/modules/4.1.16.alpine.1/kernel/drivers/usb/net': No such file or directory make: *** [install] Error 1 # ls -al /lib/modules/4.1.16.alpine.1/kernel/drivers total 12 drwxr-xr-x 3 root root 4096 Feb 17 17:51 . drwxr-xr-x 5 root root 4096 Feb 17 17:51 .. drwxr-xr-x 2 root root 4096 Feb 17 17:51 net # mkdir /lib/modules/4.1.16.alpine.1/kernel/drivers/usb # mkdir /lib/modules/4.1.16.alpine.1/kernel/drivers/usb/net # make install su -c "cp -v ax88179_178a.ko /lib/modules/4.1.16.alpine.1/kernel/drivers/usb/net && /sbin/depmod -a" `ax88179_178a.ko' -> `/lib/modules/4.1.16.alpine.1/kernel/drivers/usb/net/ax88179_178a.ko'
And poking around a bit, I see this:
# modprobe usbnet modprobe: module usbnet not found in modules.dep # find / -name 'usbnet*' -print (NO "usbnet.ko" OR SIMILAR) # lsmod Module Size Used by Tainted: P vpd 9360 0 (NO OTHER MODULES) # insmod ax88179_178a.ko insmod: can't insert 'ax88179_178a.ko': unknown symbol in module, or unknown parameter # modinfo ax88179_178a filename: kernel/drivers/usb/net/ax88179_178a.ko license: GPL author: David Hollis description: ASIX AX88179_178A based USB 2.0/3.0 Gigabit Ethernet Devices alias: usb:v04E8pA100d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v17EFp304Bd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0B95p178Ad*dc*dsc*dp*ic*isc*ip*in* depends: vermagic: 4.1.16.alpine.1 SMP mod_unload modversions ARMv7 p2v8 parm: ifg:RX Bulk IN Inter Frame Gap parm: bsize:RX Bulk IN Queue Size parm: msg_enable:usbnet msg_enable
Of course my preference all along has been to install the module (driver) for this device without deploying a new kernel. But it looks like the usbnet module is missing from the kernel, and it's apparently needed, so not sure if that's gonna be possible.
Can anyone advise?
Thanks.
- gbeddowFeb 23, 2016LuminaryFound a solution.Turns out ReadyNAS 6.4.2 for the RN202 already includes the driver (external module) for the AX88179 USB to Ethernet adapter (also sold by j5create as the JUE130), but out of the box the kernel needs to be configured for it:
# cd /home/gbeddow/linux_src/linux-4.1.16-alpine # make menuconfig Device/Drivers -> Network Device Support -> USB Network Adapters (press "M" to enable as module) (EXIT AND SAVE CONFIG) # make ... CC drivers/net/usb/ax88179_178a.mod.o LD [M] drivers/net/usb/ax88179_178a.ko ... # mkdir /lib/modules/4.1.16.alpine.1/kernel/drivers/net/usb (COPY THE MODULE AND ITS DEPENDENCIES SO MODPROBE CAN FIND THEM:) # cp /home/gbeddow/linux_src/linux-4.1.16-alpine/drivers/net/usb/ax88179_178a.ko /lib/modules/4.1.16.alpine.1/kernel/drivers/net/usb/ax88179_178a.ko # cp /home/gbeddow/linux_src/linux-4.1.16-alpine/drivers/net/usb/usbnet.ko /lib/modules/4.1.16.alpine.1/kernel/drivers/net/usb/usbnet.ko # cp /home/gbeddow/linux_src/linux-4.1.16-alpine/drivers/net/mii.ko /lib/modules/4.1.16.alpine.1/kernel/drivers/net/mii.ko (ADD TO MODULES.DEP:) # vi /lib/modules/4.1.16.alpine.1/modules.dep /lib/modules/4.1.16.alpine.1/kernel/drivers/net/usb/ax88179_178a.ko: /lib/modules/4.1.16.alpine.1/kernel/drivers/net/usb/usbnet.ko: /lib/modules/4.1.16.alpine.1/kernel/drivers/net/mii.ko: # modprobe mii # modprobe usbnet # modprobe ax88179_178a # dmesg ... ax88179_178a 2-2:1.0 eth2: register 'ax88179_178a' at usb-0002:01:00.0-2, ASIX AX88179 USB 3.0 Gigabit Ethernet, 00:05:1b:b0:42:82 usbcore: registered new interface driver ax88179_178a # ifconfig eth2 up # ifconfig ... eth2 Link encap:Ethernet HWaddr 00:05:1b:b0:42:82 inet6 addr: fe80::205:1bff:feb0:4282/64 Scope:Link inet6 addr: 2601:643:c080:92:205:1bff:feb0:4282/64 Scope:Global UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:182 errors:0 dropped:0 overruns:0 frame:0 TX packets:41 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:63762 (62.2 KiB) TX bytes:12027 (11.7 KiB) ...
- mdgm-ntgrFeb 24, 2016NETGEAR Employee Retired
Thanks for sharing your solution. Not sure why you need 3 ethernet connections to the NAS though.
- gbeddowFeb 24, 2016Luminary
Investigating Intrusion Detection & Prevention Systems. Only 2 ethernet connections needed for Detection (typical Snort configuration), but 3 (or more) needed for Prevention.
Related Content
NETGEAR Academy

Boost your skills with the Netgear Academy - Get trained, certified and stay ahead with the latest Netgear technology!
Join Us!