Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
build external kernel moduel?
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2016-02-19
10:47 AM
2016-02-19
10:47 AM
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 version of what I've tried:
# cd /home/gbeddow # mkdir linux_src # cd linux_src # wget http://www.downloads.netgear.com/files/GPL/ReadyNASOS_V6.4.2_WW_src.zip # unzip ReadyNASOS_V6.4.2_WW_src.zip # ls -al /home/gbeddow/linux_src ... drwxr-xr-x 1 root root 412 Feb 18 17:27 buildroot-2015.02 ... # cd /home/gbeddow/linux_src/buildroot-2015.02 # make menuconfig (SET CONFIG OPTIONS) # make (FINISHED BUILDING KERNEL ABOUT 1 HOUR 50 MINUTES LATER) # uname -r 4.1.16.alpine.1 # ls -al /lib/modules ... drwxr-xr-x 3 root root 4096 Feb 17 17:51 4.1.16.alpine.1 ... # ln -s /home/gbeddow/linux_src/buildroot-2015.02 /lib/modules/4.1.16.alpine.1/build # mkdir /home/gbeddow/jue130 # cd /home/gbeddow/jue130 # wget http://www.j5create.com/download_new/driver/jue130_jue135_jue220_jue230_juh470_jce131_jch471_v1.9.0_linux/j5Usb3.0EthernetAdapter-v1.9.0-linux.tar.bz2.zip # unzip j5Usb3.0EthernetAdapter-v1.9.0-linux.tar.bz2.zip # tar xvfj j5Usb3.0EthernetAdapter-v1.9.0-linux.tar.bz2 # 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/buildroot-2015.02' make[1]: *** No rule to make target `modules'. Stop. make[1]: Leaving directory `/home/gbeddow/linux_src/buildroot-2015.02' make: *** [default] Error 2 # cd /home/gbeddow/linux_src/buildroot-2015.02 # make modules make: *** No rule to make target `modules'. Stop.
Am I using the wrong kernel Makefile or something? Has anyone been able to build ANY external modules with recent versions of ReadyNAS OS on the RN202 or similar?
Thanks.
Solved! Go to Solution.
Model: RN20222D|ReadyNAS202 2-Bay 2x2TB Desktop Drive
Message 1 of 5
Labels:
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2016-02-23
02:35 PM
2016-02-23
02:35 PM
Found 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) ...
Message 3 of 5
All Replies
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2016-02-22
01:27 PM
2016-02-22
01:27 PM
Re: build external kernel moduel?
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.
Message 2 of 5
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2016-02-23
02:35 PM
2016-02-23
02:35 PM
Found 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) ...
Message 3 of 5
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2016-02-23
04:36 PM
2016-02-23
04:36 PM
Re: build external kernel module?
Thanks for sharing your solution. Not sure why you need 3 ethernet connections to the NAS though.
Message 4 of 5
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2016-02-23
04:41 PM
2016-02-23
04:41 PM
Re: build external kernel module?
Investigating Intrusion Detection & Prevention Systems. Only 2 ethernet connections needed for Detection (typical Snort configuration), but 3 (or more) needed for Prevention.
Message 5 of 5