Re: [...] D-Link DWA-192 - Realtek RTL8814AU WiFi USB 3.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/2/17 4:28 am, poma wrote:
On 02.02.2017 14:19, poma wrote:
On 01.02.2017 22:12, Stephen Morris wrote:
[...]
I'm about to try to interface the source code for this driver to dkms so
that it will get compiled every time I boot from a new kernel, but at
the moment I'm not sure how to tell dkms where to find the source code,
so I'll have to try to investigate that.

"dkms.conf" of rtl8812AU is working example
https://github.com/diederikdehaas/rtl8812AU

# journalctl -o cat -b -u dkms
Starting Builds and install new kernel modules through DKMS...
Kernel preparation unnecessary for this kernel.  Skipping...
Building module:
cleaning build area...
'make'......................................
cleaning build area...
DKMS: build completed.
8812au.ko:
Running module version sanity check.
  - Original module
    - No original module exists within this kernel
  - Installation
    - Installing to /lib/modules/4.9.6-100.fc24.x86_64/extra/
Adding any weak-modules
depmod......
DKMS: install completed.
Kernel preparation unnecessary for this kernel.  Skipping...
Building module:
cleaning build area...
'make'................................
cleaning build area...
DKMS: build completed.
8814au.ko:
Running module version sanity check.
  - Original module
    - No original module exists within this kernel
  - Installation
    - Installing to /lib/modules/4.9.6-100.fc24.x86_64/extra/
Adding any weak-modules
depmod....
DKMS: install completed.
Started Builds and install new kernel modules through DKMS.

# modinfo -k $(uname -r) -n 8812au 8814au
/lib/modules/4.9.6-100.fc24.x86_64/extra/8812au.ko
/lib/modules/4.9.6-100.fc24.x86_64/extra/8814au.ko

# modprobe -v 8812au ; modprobe -v 8814au
insmod /lib/modules/4.9.6-100.fc24.x86_64/kernel/net/rfkill/rfkill.ko.xz
insmod /lib/modules/4.9.6-100.fc24.x86_64/kernel/net/wireless/cfg80211.ko.xz
insmod /lib/modules/4.9.6-100.fc24.x86_64/extra/8812au.ko
insmod /lib/modules/4.9.6-100.fc24.x86_64/extra/8814au.ko

# dmesg -t
...
RTL871X: module init start
RTL871X: rtl8821au v4.3.14
RTL871X: rtl8821au BT-Coex version = BTCOEX20150128-51
usbcore: registered new interface driver rtl8821au
RTL871X: module init ret=0
RTL871X: module init start
RTL871X: rtl8814au v4.3.21_17997.20160531
usbcore: registered new interface driver rtl8814au
RTL871X: module init ret=0


DKMS - RTL8814AU,
as explained for RTL8812AU here:
https://github.com/diederikdehaas/rtl8812AU

$ git clone https://github.com/diederikdehaas/rtl8814AU.git
$ cd rtl8814AU/
...
// eventual steps, previously mentioned
...
$ curl -JLO https://raw.githubusercontent.com/diederikdehaas/rtl8812AU/driver-4.3.14/dkms.conf
$ sed -i 's/12/14/g' dkms.conf
$ git add .
$ git commit -m "Added dkms.conf"
$ git tag 4.3.21_17997.20160531

$ su
# DRV_NAME=rtl8814AU
# DRV_VERSION=4.3.21_17997.20160531
# mkdir /usr/src/${DRV_NAME}-${DRV_VERSION}
# git archive ${DRV_VERSION} | tar -x -C /usr/src/${DRV_NAME}-${DRV_VERSION}

# dkms add -m ${DRV_NAME} -v ${DRV_VERSION}
# dkms build -m ${DRV_NAME} -v ${DRV_VERSION}
# dkms install -m ${DRV_NAME} -v ${DRV_VERSION}

# modinfo 8814au -F version
# modprobe -v 8814au

'modprobe' goes if the device is already plugged in,
otherwise re-plug USB device, and if VID/PID of device and driver match - auto loading kicks in.
I think I have worked out the issue with the flashing light on the device, it seems to be functioning the same way as the flashing lights on ethernet pci cards, which from the functionality of the vendor supplied driver under windows, is not the vendor intended mode of operation.

I now have two issues with the device, one is dkms and the other is standard networking functionality.

For dkms I have used the rtl8812au dkms.conf as my starting point. My file is below.

PACKAGE_NAME="rtl8814AU"
PACKAGE_VERSION="4.3.21"
BUILT_MODULE_NAME[0]="8814au"
MAKE="'make' -j3 KVER=${kernelver}"
CLEAN="'make' clean"
DEST_MODULE_LOCATION[0]="/updates/dkms"
AUTOINSTALL="YES"


The driver source code is stored in directory /usr/src/rtl8814AU-4.3.21, does the version number in the directory name and the 'PACKAGE_VERSION' in the conf file have to match the internal version number in the driver for the boot time compile of the driver to work? I've added the -j3 in the make to get the multi-threaded compile and I've added the KVER parameter as from my search I did on the net I found an article relative to an older version of Fedora that said the KVER parameter must be added to get the driver compiled against the correct kernel version at kernel install time (they said that without that parameter the driver would be compiled against the running kernel, not the newly installed kernel).
With the setup I have if I issue the commands:
sudo dkms build -c /usr/src/rtl8814AU-4.3.21/dkms.conf -m rtl8814AU -v 4.3.21 and sudo dkms install -c /usr/src/rtl8814AU-4.3.21/dkms.conf -m rtl8814AU -v 4.3.21 and
    sudo modprobe -v 8814au
they build, install and load the module successfully. I've also found that the driver does not get loaded and used unless I issue the modprobe command.

If I issue the command journalctl -o cat -b -u dkms I only get the two messages below, which are also the only two message I get shown in the boot display when the driver needs to be compiled for a new kernel.

Starting Builds and install new kernel modules through DKMS...
Started Builds and install new kernel modules through DKMS.

I'm also noticing that when the driver has already been compiled and installed into the kernel, and I boot my machine, the mounts for my network connected nas are failing again because the network via this wireless device is not available. From the flashing of the light on the device this driver is doing, the network appears to not actually becoming active until after the display manager is started, and in my case, I physically log into KDE.

I know that dkms is being run at boot time as I can see the 'job start timer messages' for dkms, akmod and firewalld, which all seem to be running in parallel and halt the boot process until they have started, all disappear and the boot continue.

Is the issue I am seeing with the network expected functionality or is it an indication there is a timing issue in the driver?

regards,
Steve



_______________________________________________
users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx



[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux