LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware - ARM (https://www.linuxquestions.org/questions/slackware-arm-108/)
-   -   How to install the wireless driver on Slackware ARM for the Orange Pi Plus 2E? (https://www.linuxquestions.org/questions/slackware-arm-108/how-to-install-the-wireless-driver-on-slackware-arm-for-the-orange-pi-plus-2e-4175621963/)

cupcake123 01-19-2018 04:24 AM

How to install the wireless driver on Slackware ARM for the Orange Pi Plus 2E?
 
I found this, but it doesn't work.

Code:

git clone https://github.com/jwrdegoede/rtl8189ES_linux.git
cd rtl8189ES_linux.git
git checkout -B rtl8189fs origin/rtl8189fs
make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnu- KSRC=../linux

Thank you.

abga 01-28-2018 02:06 PM

Quote:

Originally Posted by cupcake123 (Post 5808474)
I found this, but it doesn't work.

Code:

git clone https://github.com/jwrdegoede/rtl8189ES_linux.git
cd rtl8189ES_linux.git
git checkout -B rtl8189fs origin/rtl8189fs
make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnu- KSRC=../linux

Thank you.

Compiling an out of tree (kernel source tree) module (driver) is a difficult task, not impossible. In your try above I observed that you gave as make argument a cross-compiler target and I'm wondering why. You should compile it natively under Slackware ARM.
I cannot give you an exact sequence of commands to get your module compiled, but only guide you on the system requirements and preparation steps before you try again and run the make from your rtl8189fs repository.
- you'll need the kernel sources of your running kernel - I don't own an Orange Pi+2E and have no clue what kernel you are running on it and where you took it
- once you get the kernel sources, make sure that you have the Module.symvers together with the .config kernel configuration file in the kernel source tree. To obtain the kernel .config file you might want to take a look at the end of this post:
https://www.linuxquestions.org/quest...6/#post5767156
- before compiling your out of tree module you'll need to prepare the kernel tree and again you can follow the section from the bottom of this post:
https://www.linuxquestions.org/quest...6/#post5767156
- for more details (some of the commands you don't need to run for an out of tree compilation):
https://stackoverflow.com/questions/...-kernel-module
- once you got your kernel source tree prepared, move into your module build folder (the git clone) and start your make again without CROSS_COMPILE=arm-linux-gnu- and point KSRC=../linux to your kernel source tree
- should you get other errors with your make tries, inspect the Makefile and adapt your make command arguments according to your system:
https://raw.githubusercontent.com/jw...aster/Makefile

Good Luck! ;)

drmozes 01-30-2018 04:35 PM

Quote:

Originally Posted by cupcake123 (Post 5808474)
I found this, but it doesn't work.

Code:

git clone https://github.com/jwrdegoede/rtl8189ES_linux.git
cd rtl8189ES_linux.git
git checkout -B rtl8189fs origin/rtl8189fs
make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnu- KSRC=../linux

Thank you.

Code:

root@stokely:~/armedslack# cd /tmp
root@stokely:/tmp# mkdir II
root@stokely:/tmp# cd II
root@stokely:/tmp/II# git clone https://github.com/jwrdegoede/rtl8189ES_linux.git
Cloning into 'rtl8189ES_linux'...
remote: Counting objects: 1061, done.
remote: Total 1061 (delta 0), reused 0 (delta 0), pack-reused 1061
Receiving objects: 100% (1061/1061), 4.07 MiB | 1.86 MiB/s, done.
Resolving deltas: 100% (484/484), done.
root@stokely:/tmp/II# cd rtl8189ES_linux/
root@stokely:/tmp/II/rtl8189ES_linux# git checkout -B rtl8189fs origin/rtl8189fs
Branch 'rtl8189fs' set up to track remote branch 'rtl8189fs' from 'origin'.
Switched to a new branch 'rtl8189fs'
root@stokely:/tmp/II/rtl8189ES_linux# make -j4 ARCH=arm KSRC=/usr/src/linux
make ARCH=arm CROSS_COMPILE= -C /usr/src/linux M=/tmp/II/rtl8189ES_linux  modules
[snip..]
[M]  /tmp/II/rtl8189ES_linux/core/rtw_mp.o
  CC [M]  /tmp/II/rtl8189ES_linux/core/rtw_mp_ioctl.o
  LD [M]  /tmp/II/rtl8189ES_linux/8189fs.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/II/rtl8189ES_linux/8189fs.mod.o
  LD [M]  /tmp/II/rtl8189ES_linux/8189fs.ko
make[1]: Leaving directory '/usr/src/linux-4.14.14'
root@stokely:/tmp/II/rtl8189ES_linux# insmod -f 8189fs.ko
root@stokely:/tmp/II/rtl8189ES_linux# dmesg|tail -n5
[393543.030578] Disabling lock debugging due to kernel taint
[393543.030724] 8189fs: loading out-of-tree module taints kernel.
[393543.046479] RTL871X: module init start
[393543.046488] RTL871X: rtl8189fs v4.3.24.6_20019.20161107
[393543.046589] RTL871X: module init ret=0

Copy that to my Orange Pi 2E plus:
Code:

root@zippy:/tmp/rtl8189ES_linux# insmod -f 8189fs.ko
root@zippy:/tmp/rtl8189ES_linux# dmesg|tail -n5
[282907.488346] RTL871X: rtw_wiphy_register(phy0)
[282907.488350] RTL871X: Register RTW cfg80211 vendor cmd(0x67) interface
[282907.488805] RTL871X: rtw_ndev_init(wlan0) if1 mac_addr=12:81:72:b2:5f:eb
[282907.489741] RTL871X: cfg80211_rtw_get_txpower
[282907.490391] RTL871X: module init ret=0
root@zippy:/tmp/rtl8189ES_linux# ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.32  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::81:72ff:feb2:5feb  prefixlen 64  scopeid 0x20<link>
        ether 02:81:72:b2:5f:eb  txqueuelen 1000  (Ethernet)
        RX packets 4379731  bytes 3786918856 (3.5 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 7336334  bytes 1557497671 (1.4 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 38

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 53  bytes 4444 (4.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 53  bytes 4444 (4.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 12:81:72:b2:5f:eb  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

And there's the Wireless interface.

There are some error messages in dmesg though (one of which is looking for a non-existent file), so all bets are off as to whether it works. I'll have to see if this is going to turn up in the Kernel at some point.


All times are GMT -5. The time now is 06:02 AM.