Hi,
i cant seem to figure out how to manually install a driver for my Asus USB-AC53 Nano wireless network card on a Raspberry Pi 2 with OSMC
(the driver for RTL8812BU isn’t standard included it seems, tho RTL8811AU etc is)
I found this guide https://edimax.freshdesk.com/support/solutions/articles/14000062079-how-to-install-ew-7822ulc-adapter-on-raspberry-pi (step 4 is a bit different for OSMC) but i keep on getting an error with step 7 “make” , it’s saying that the file “socket.h” is missing
(I can't get a report of this error anymore after trying this below)
I found this topic https://discourse.osmc.tv/t/has-anybody-tried-to-install-wireguard/73506/28 saying that OSMC does something weird with headers, solution would be to remove a folder and copy them from the kernel.org
When i did this, it seems to go a bit further but still lots of errors and now it says it’s missing the file “logic_pio.h”
root@osmc:/home/osmc/rtl8822bu# make
make ARCH="arm" CROSS_COMPILE="" -C /lib/modules/4.19.122-2-osmc/build M="/home/ osmc/rtl8822bu" modules
make[1]: Entering directory '/usr/src/rbp2-headers-4.19.122-2-osmc'
CC [M] /home/osmc/rtl8822bu/core/rtw_cmd.o
In file included from ./include/asm-generic/bitops/lock.h:5,
from ./arch/arm/include/asm/bitops.h:243,
from ./include/linux/bitops.h:19,
from ./include/linux/kernel.h:11,
from ./include/linux/list.h:9,
from ./include/linux/module.h:9,
from /home/osmc/rtl8822bu/include/basic_types.h:76,
from /home/osmc/rtl8822bu/include/drv_types.h:26,
from /home/osmc/rtl8822bu/core/rtw_cmd.c:17:
./include/linux/atomic.h: In function 'atomic_add_unless':
./include/linux/atomic.h:533:9: error: implicit declaration of function '__atomi c_add_unless'; did you mean 'atomic_add_unless'? [-Werror=implicit-function-decl aration]
return __atomic_add_unless(v, a, u) != u;
^~~~~~~~~~~~~~~~~~~
atomic_add_unless
In file included from ./include/linux/atomic.h:1076,
from ./include/asm-generic/bitops/lock.h:5,
from ./arch/arm/include/asm/bitops.h:243,
from ./include/linux/bitops.h:19,
from ./include/linux/kernel.h:11,
from ./include/linux/list.h:9,
from ./include/linux/module.h:9,
from /home/osmc/rtl8822bu/include/basic_types.h:76,
from /home/osmc/rtl8822bu/include/drv_types.h:26,
from /home/osmc/rtl8822bu/core/rtw_cmd.c:17:
./include/asm-generic/atomic-long.h: In function 'atomic_long_inc':
./include/asm-generic/atomic-long.h:35:28: error: implicit declaration of functi on 'atomic_inc'; did you mean 'atomic_and'? [-Werror=implicit-function-declarati on]
#define ATOMIC_LONG_PFX(x) atomic ## x
^~~~~~
./include/asm-generic/atomic-long.h:123:2: note: in expansion of macro 'ATOMIC_L ONG_PFX'
ATOMIC_LONG_PFX(_inc)(v);
^~~~~~~~~~~~~~~
./include/asm-generic/atomic-long.h: In function 'atomic_long_dec':
./include/asm-generic/atomic-long.h:35:28: error: implicit declaration of functi on 'atomic_dec'; did you mean 'atomic_set'? [-Werror=implicit-function-declarati on]
#define ATOMIC_LONG_PFX(x) atomic ## x
^~~~~~
./include/asm-generic/atomic-long.h:130:2: note: in expansion of macro 'ATOMIC_L ONG_PFX'
ATOMIC_LONG_PFX(_dec)(v);
^~~~~~~~~~~~~~~
./include/asm-generic/atomic-long.h: In function 'atomic_long_sub_and_test':
./include/asm-generic/atomic-long.h:35:28: error: implicit declaration of functi on 'atomic_sub_and_test'; did you mean 'atomic_long_sub_and_test'? [-Werror=impl icit-function-declaration]
#define ATOMIC_LONG_PFX(x) atomic ## x
^~~~~~
./include/asm-generic/atomic-long.h:211:9: note: in expansion of macro 'ATOMIC_L ONG_PFX'
return ATOMIC_LONG_PFX(_sub_and_test)(i, v);
^~~~~~~~~~~~~~~
./include/asm-generic/atomic-long.h: In function 'atomic_long_dec_and_test':
./include/asm-generic/atomic-long.h:35:28: error: implicit declaration of functi on 'atomic_dec_and_test'; did you mean 'atomic_long_dec_and_test'? [-Werror=impl icit-function-declaration]
#define ATOMIC_LONG_PFX(x) atomic ## x
^~~~~~
./include/asm-generic/atomic-long.h:218:9: note: in expansion of macro 'ATOMIC_L ONG_PFX'
return ATOMIC_LONG_PFX(_dec_and_test)(v);
^~~~~~~~~~~~~~~
./include/asm-generic/atomic-long.h: In function 'atomic_long_inc_and_test':
./include/asm-generic/atomic-long.h:35:28: error: implicit declaration of functi on 'atomic_inc_and_test'; did you mean 'atomic_long_inc_and_test'? [-Werror=impl icit-function-declaration]
#define ATOMIC_LONG_PFX(x) atomic ## x
^~~~~~
./include/asm-generic/atomic-long.h:225:9: note: in expansion of macro 'ATOMIC_L ONG_PFX'
return ATOMIC_LONG_PFX(_inc_and_test)(v);
^~~~~~~~~~~~~~~
./include/asm-generic/atomic-long.h: In function 'atomic_long_add_negative':
./include/asm-generic/atomic-long.h:35:28: error: implicit declaration of functi on 'atomic_add_negative'; did you mean 'atomic_long_add_negative'? [-Werror=impl icit-function-declaration]
#define ATOMIC_LONG_PFX(x) atomic ## x
^~~~~~
./include/asm-generic/atomic-long.h:232:9: note: in expansion of macro 'ATOMIC_L ONG_PFX'
return ATOMIC_LONG_PFX(_add_negative)(i, v);
^~~~~~~~~~~~~~~
./include/asm-generic/atomic-long.h: In function 'atomic_long_inc_return':
./include/asm-generic/atomic-long.h:35:28: error: implicit declaration of functi on 'atomic_inc_return'; did you mean 'atomic_sub_return'? [-Werror=implicit-func tion-declaration]
#define ATOMIC_LONG_PFX(x) atomic ## x
^~~~~~
./include/asm-generic/atomic-long.h:241:15: note: in expansion of macro 'ATOMIC_ LONG_PFX'
return (long)ATOMIC_LONG_PFX(_##op##_return##mo)(v); \
^~~~~~~~~~~~~~~
./include/asm-generic/atomic-long.h:243:1: note: in expansion of macro 'ATOMIC_L ONG_INC_DEC_OP'
ATOMIC_LONG_INC_DEC_OP(inc,)
^~~~~~~~~~~~~~~~~~~~~~
./include/asm-generic/atomic-long.h: In function 'atomic_long_dec_return':
./include/asm-generic/atomic-long.h:35:28: error: implicit declaration of functi on 'atomic_dec_return'; did you mean 'atomic_sub_return'? [-Werror=implicit-func tion-declaration]
#define ATOMIC_LONG_PFX(x) atomic ## x
^~~~~~
./include/asm-generic/atomic-long.h:241:15: note: in expansion of macro 'ATOMIC_ LONG_PFX'
return (long)ATOMIC_LONG_PFX(_##op##_return##mo)(v); \
^~~~~~~~~~~~~~~
./include/asm-generic/atomic-long.h:247:1: note: in expansion of macro 'ATOMIC_L ONG_INC_DEC_OP'
ATOMIC_LONG_INC_DEC_OP(dec,)
^~~~~~~~~~~~~~~~~~~~~~
In file included from ./arch/arm/include/asm/page.h:163,
from ./arch/arm/include/asm/thread_info.h:17,
from ./include/linux/thread_info.h:39,
from ./include/asm-generic/preempt.h:5,
from ./arch/arm/include/generated/asm/preempt.h:1,
from ./include/linux/preempt.h:81,
from ./include/linux/spinlock.h:51,
from ./include/linux/seqlock.h:36,
from ./include/linux/time.h:6,
from ./include/linux/stat.h:19,
from ./include/linux/module.h:10,
from /home/osmc/rtl8822bu/include/basic_types.h:76,
from /home/osmc/rtl8822bu/include/drv_types.h:26,
from /home/osmc/rtl8822bu/core/rtw_cmd.c:17:
./arch/arm/include/asm/memory.h: At top level:
./arch/arm/include/asm/memory.h:34:21: warning: "UL" is not defined, evaluates t o 0 [-Wundef]
#define TASK_SIZE (UL(CONFIG_PAGE_OFFSET) - UL(SZ_16M))
^~
./arch/arm/include/asm/memory.h:53:5: note: in expansion of macro 'TASK_SIZE'
#if TASK_SIZE > MODULES_VADDR
^~~~~~~~~
./arch/arm/include/asm/memory.h:34:23: error: missing binary operator before tok en "("
#define TASK_SIZE (UL(CONFIG_PAGE_OFFSET) - UL(SZ_16M))
^
./arch/arm/include/asm/memory.h:53:5: note: in expansion of macro 'TASK_SIZE'
#if TASK_SIZE > MODULES_VADDR
^~~~~~~~~
In file included from ./include/linux/seqlock.h:36,
from ./include/linux/time.h:6,
from ./include/linux/stat.h:19,
from ./include/linux/module.h:10,
from /home/osmc/rtl8822bu/include/basic_types.h:76,
from /home/osmc/rtl8822bu/include/drv_types.h:26,
from /home/osmc/rtl8822bu/core/rtw_cmd.c:17:
./include/linux/spinlock.h: In function 'do_raw_spin_lock_flags':
./include/linux/spinlock.h:173:2: error: implicit declaration of function 'arch_ spin_lock_flags'; did you mean 'do_raw_spin_lock_flags'? [-Werror=implicit-funct ion-declaration]
arch_spin_lock_flags(&lock->raw_lock, *flags);
^~~~~~~~~~~~~~~~~~~~
do_raw_spin_lock_flags
In file included from ./include/linux/spinlock.h:289,
from ./include/linux/seqlock.h:36,
from ./include/linux/time.h:6,
from ./include/linux/stat.h:19,
from ./include/linux/module.h:10,
from /home/osmc/rtl8822bu/include/basic_types.h:76,
from /home/osmc/rtl8822bu/include/drv_types.h:26,
from /home/osmc/rtl8822bu/core/rtw_cmd.c:17:
./include/linux/rwlock_api_smp.h: In function '__raw_read_lock_irqsave':
./include/linux/rwlock.h:43:24: error: implicit declaration of function 'arch_re ad_lock_flags'; did you mean 'do_raw_read_lock_flags'? [-Werror=implicit-functio n-declaration]
do {__acquire(lock); arch_read_lock_flags(&(lock)->raw_lock, *(flags)); } whi le (0)
^~~~~~~~~~~~~~~~~~~~
./include/linux/lockdep.h:656:2: note: in expansion of macro 'do_raw_read_lock_f lags'
lockfl((_lock), (flags))
^~~~~~
./include/linux/rwlock_api_smp.h:160:2: note: in expansion of macro 'LOCK_CONTEN DED_FLAGS'
LOCK_CONTENDED_FLAGS(lock, do_raw_read_trylock, do_raw_read_lock,
^~~~~~~~~~~~~~~~~~~~
./include/linux/rwlock_api_smp.h: In function '__raw_write_lock_irqsave':
./include/linux/rwlock.h:48:24: error: implicit declaration of function 'arch_wr ite_lock_flags'; did you mean 'do_raw_write_lock_flags'? [-Werror=implicit-funct ion-declaration]
do {__acquire(lock); arch_write_lock_flags(&(lock)->raw_lock, *(flags)); } wh ile (0)
^~~~~~~~~~~~~~~~~~~~~
./include/linux/lockdep.h:656:2: note: in expansion of macro 'do_raw_write_lock_ flags'
lockfl((_lock), (flags))
^~~~~~
./include/linux/rwlock_api_smp.h:187:2: note: in expansion of macro 'LOCK_CONTEN DED_FLAGS'
LOCK_CONTENDED_FLAGS(lock, do_raw_write_trylock, do_raw_write_lock,
^~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/delay.h:26,
from ./include/linux/netdevice.h:30,
from /home/osmc/rtl8822bu/include/osdep_service_linux.h:30,
from /home/osmc/rtl8822bu/include/osdep_service.h:50,
from /home/osmc/rtl8822bu/include/drv_types.h:27,
from /home/osmc/rtl8822bu/core/rtw_cmd.c:17:
./include/linux/delay.h: In function 'ndelay':
./arch/arm/include/asm/delay.h:41:21: error: implicit declaration of function 'U L' [-Werror=implicit-function-declaration]
#define UDELAY_MULT UL(2147 * HZ + 483648 * HZ / 1000000)
^~
./arch/arm/include/asm/delay.h:80:54: note: in definition of macro '__const_udel ay'
#define __const_udelay(n) arm_delay_ops.const_udelay(n)
^
./arch/arm/include/asm/delay.h:85:25: note: in expansion of macro 'UDELAY_MULT'
__const_udelay((n) * UDELAY_MULT)) : \
^~~~~~~~~~~
./include/linux/delay.h:51:2: note: in expansion of macro 'udelay'
udelay(DIV_ROUND_UP(x, 1000));
^~~~~~
In file included from ./arch/arm/include/asm/io.h:460,
from ./include/linux/scatterlist.h:9,
from ./include/linux/dma-mapping.h:11,
from ./include/linux/skbuff.h:34,
from ./include/linux/if_ether.h:23,
from ./include/uapi/linux/ethtool.h:19,
from ./include/linux/ethtool.h:18,
from ./include/linux/netdevice.h:41,
from /home/osmc/rtl8822bu/include/osdep_service_linux.h:30,
from /home/osmc/rtl8822bu/include/osdep_service.h:50,
from /home/osmc/rtl8822bu/include/drv_types.h:27,
from /home/osmc/rtl8822bu/core/rtw_cmd.c:17:
./include/asm-generic/io.h: At top level:
./include/asm-generic/io.h:458:10: fatal error: linux/logic_pio.h: No such file or directory
#include <linux/logic_pio.h>
^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
compilation terminated.
make[2]: *** [scripts/Makefile.build:304: /home/osmc/rtl8822bu/core/rtw_cmd.o] E rror 1
make[1]: *** [Makefile:1522: _module_/home/osmc/rtl8822bu] Error 2
make[1]: Leaving directory '/usr/src/rbp2-headers-4.19.122-2-osmc'
make: *** [Makefile:2001: modules] Error 2
With DKMS im getting the same errors in the make.log file.
A solution would be great, thx!
Kind regards