PINE64

Full Version: WIFI driver compilation
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello everyone,

I have a Rock64 board and have two USB wifi adapters, one with rtl8192SU chip and the other with rtl8192EU. I have spent several days trying to compile the drivers for both and changed the system from debian to ubunto and back. I cannot get the system to compile the drivers. I followed the threads here and the readme on github for several versions. Nothing is working. Can anyone direct me to a tutorial about the preparation of the system for compiling the drivers that would be enough to get this to work? I now have armbian. I successfully installed the .deb driver but it cannot identify the hardware and the driver does not show in the sysotem.

Any help is appriciated.
Ok... the eu version is working now

first i tried some tutorials here and it didn't work. I used the modifications below for the post:

https://forum.pine64.org/showthread.php?...=rtl8192eu


Quote:3) Using your text editor, edit some entries in file called Makefile so that it can run without error on Rock64.

[Disable energy saving around line 40]

CONFIG_POWER_SAVING = y
     ↓
CONFIG_POWER_SAVING = n 


[Change platform setting around line 53]

CONFIG_PLATFORM_I386_PC = y
     ↓
CONFIG_PLATFORM_I386_PC = n


[Add the following platform setting immediately under the above line]

CONFIG_PLATFORM_ARM_PC = y


[Add the following command around line 662]

ifeq ($(CONFIG_PLATFORM_ARM_PC), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
SUBARCH := arm64
ARCH ?= arm64
CROSS_COMPILE ?=
KVER ?= $(shell uname -r)
KSRC := /lib/modules/$(KVER)/build/
MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/
INSTALL_PREFIX :=
endif


[Remove "modules" part from the following command around line 1065]

$(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KSRC) M=$(shell pwd)  modules
                  ↓
$(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KSRC) M=$(shell pwd)

 
I got errors about the scripts in the headers. It seems the version I was using had missing files (armbian desktop). I had tried other versions with not success. So to resolve this I downloaded the full source and applied the following three commands:

make oldconfig

make prepare
make scripts

then I copied the whole source into the headers directory. I know this is probably too much but i got errors when I tried to copy the scripts only.


Once this was done I got a few formatting error in the code (for loops and if statements). I had to put curly brackets around the concerned code. I compiled successfully. 

make install


Now dmesg gave a version magic error. The version was not correct and would appear every time. So finally I applied this fix:

http://billauer.co.il/blog/2013/10/versi...obe-force/



Quote:This solution holds for the 3.3.0 kernel, but probably works on others as well.
The file you want to edit is /usr/src/kernels/{your version}/include/generated/utsrelease.h and just add the ‘+’ sign to the end of the version number. E.g.
#define UTS_RELEASE "3.3.0-xxx+"



and it worked.