Using Rockpi as wifi access point

I want to use rock pi as access point to a phone or tablet device. I followed this link - https://wiki.radxa.com/Rock/Wireless/AP_mode_manually#AP_mode.28RR_acts_as_wireless_router.29

From the wiki page :
" 1.2 Install toolchain.

1.3 Download the kernel from the address: root@radxa:/tmp# git clone -b radxa-stable-3.0 https://github.com/radxa/linux-rockchip.git

or download here

http://pan.baidu.com/s/1jfOTo (china)

Compile the driver

Attention please: first,ensure your kernel has been compiled"

— There are no instructions for kernel compilation.

I tried to follow the readme.txt and it throws the following error for ‘make’

rock@linux:~/linux-rockchip$ sudo make
[sudo] password for rock:
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: ‘include/generated/mach-types.h’ is up to date.
CC kernel/bounds.s
gcc: error: unrecognized argument in option ‘-mabi=apcs-gnu’
gcc: note: valid arguments to ‘-mabi=’ are: ilp32 lp64
gcc: error: unrecognized command line option ‘-mapcs’; did you mean ‘–specs’?
gcc: error: unrecognized command line option ‘-mno-sched-prolog’; did you mean ‘-Wno-sign-promo’?
gcc: error: unrecognized command line option ‘-msoft-float’
/home/rock/linux-rockchip/./Kbuild:35: recipe for target ‘kernel/bounds.s’ failed
make[1]: *** [kernel/bounds.s] Error 1
Makefile:999: recipe for target ‘prepare0’ failed
make: *** [prepare0] Error 2

please help with kernel compilation or suggesting other methods.
P.S - I have Ubuntu bionic image

Hi,

The link you refer is for rock, not rock pi 4 or rock pi S. You can refer this:

https://wiki.radxa.com/RockpiS/dev/apmode

It should work on both rock pi 4 and rock pi S.

Thank you for providing the link. I am facing the following issues :

**rock@localhost:~$ sudo hostapd /etc/hostapd/hostapd.conf **
Configuration file: /etc/hostapd/hostapd.conf
drv->ifindex=3
l2_sock_recv==l2_sock_xmit=0x0x55ab39f4d0
ioctl[RTL_IOCTL_HOSTAPD]: Operation not supported
Could not connect to kernel driver.
+rtl871x_sta_deauth_ops, ff:ff:ff:ff:ff:ff is deauth, reason=2
rtl871x_set_key_ops
ioctl[RTL_IOCTL_HOSTAPD]: Operation not supported
Failed to set encryption.
rtl871x_set_key_ops
ioctl[RTL_IOCTL_HOSTAPD]: Operation not supported
Failed to set encryption.
rtl871x_set_key_ops
ioctl[RTL_IOCTL_HOSTAPD]: Operation not supported
Failed to set encryption.
rtl871x_set_key_ops
ioctl[RTL_IOCTL_HOSTAPD]: Operation not supported
Failed to set encryption.
Using interface wlan0 with hwaddr 6c:21:a2:14:ce:9a and ssid 'ROCK4’
rtl871x_set_wps_assoc_resp_ie
ioctl[RTL_IOCTL_HOSTAPD]: Operation not supported
rtl871x_set_key_ops
ioctl[RTL_IOCTL_HOSTAPD]: Operation not supported
Failed to set encryption.
rtl871x_set_beacon_ops
ioctl[RTL_IOCTL_HOSTAPD]: Operation not supported
rtl871x_set_hidden_ssid ignore_broadcast_ssid:0, ROCK4,5
ioctl[RTL_IOCTL_HOSTAPD]: Operation not supported
rtl871x_set_acl
Failed to set beacon head/tail or DTIM period
^X^Z
[1]+ Stopped sudo hostapd /etc/hostapd/hostapd.conf

I followed the link for the .conf files

Note: rock@localhost:~$ uname -a
Linux linux 4.4.154-87-rockchip-00029-g8216f17 #2 SMP Sat Jun 22 11:06:39 CST 2019 aarch64 aarch64 aarch64 GNU/Linux

With Armbian it goes exactly this way:

and it runs with full AC speed.

Thank you , but currently I am working with Ubuntu

Armbian is highly improved Ubuntu and Access Point feature was extra fine tuned and it works far better than on any Debian/Ubuntu based distribution out there. Most important features were brought from specialised distributions for routers like OpenWRT. Even you succeeds, your solution will still be below hardware capabilities.

Testing this will cost you 15 minutes, while fixing your “Ubuntu” perhaps 100x - 500x more? Then another bulk for getting high speed operations … If you want to learn by trying, I have no objections, but if you want a full blown tested solution with as low problems as possible …

I am learning by trying…I had Debian running initially and due to some issues with OpenCV installation I switched to Ubuntu …so I just want to try every possible way before switching to another Linux distribution … the config steps mentioned in the video can be done with /etc/hostapd/hostapd.conf. I don’t understand the (number of) probing channels …
Currently the hostapd.conf is

interface=wlan0
country_code=CN
#AP ssid
ssid=Rockpis
hw_mode=g
channel=6
wpa=2
#password
wpa_passphrase=*********

Key management algorithms

wpa_key_mgmt=WPA-PSK

Set cipher suites (encryption algorithms)

TKIP = Temporal Key Integrity Protocol

CCMP = AES in Counter mode with CBC-MAC

wpa_pairwise=TKIP
rsn_pairwise=CCMP

Shared Key Authentication

auth_algs=1

Accept all MAC address

macaddr_acl=0

I tried changing the country code to DE…sometimes it works with CN but there are messages like IEEE 802.11 n - disassociated . AP enabled . AP disabled …etc

If I’m missing something very basic , sorry I’m a newbie

That’s why Armbian is always Debian or Ubuntu based with the exact same kernel. Yet another critical added value. To quickly solve the problem in case troubles are on the user land level, like you experienced. This is quite common.

Its the (only) way to deal also with drivers that were not done by the book. I have seen drivers saying “yes we support this channel/band” but it actually doesn’t work. This could surely be further optimised but its not critical if you have to wait a minute. You only do this once.

That’s why I propose you something (much) more suitable and reliable to not break your teeth upon. And to have a reference point (what hardware is capable) and where you will not be able to get the way you approached to the problem. Remember that when (if) you succeeds to come out with a working configuration, you still need to patch and recompile hostapd binary and pin it that its not overwritten with upstream …