LEDE x86 on Thinkcentre M53

LEDE x86-combined-ext4 start succesfull on subject device. But i have no idea how to use wireless rtl8723be card. Before LEDE i use lubuntu on this device and wireless works fine with rtlwifi kernel module and rtl8723be... firmware. In LEDE i install kmod-rtlwifi-pci module, but still not have device identification in dmesg.

can you post the output of opkg list-installed

maybe you need some other package too.

Hi Boba Fett!!!
Here is "opkg list-installed":

root@lede:~# opkg list-installed
base-files - 171-r2961-5b089e4
busybox - 1.25.1-2
dnsmasq - 2.76-6
dropbear - 2016.74-1
e2fsprogs - 1.43.3-2
firewall - 2017-01-13-37cb4cb4-1
fstools - 2016-12-04-84b530a7-1
fwtool - 1
glib2 - 2.50.2-2
hostapd-common - 2016-12-19-ad02e79d-1
ip6tables - 1.4.21-2
iptables - 1.4.21-2
iw - 4.9-1
iwinfo - 2016-09-21-fd9e17be-1
jshn - 2016-11-29-77a62937-1
jsonfilter - 2016-07-02-dea067ad-1
kernel - 4.4.42-1-66dc19c30cf51b62a6e75a0c925737bb
kmod-3c59x - 4.4.42-1
kmod-8139too - 4.4.42-1
kmod-button-hotplug - 4.4.42-3
kmod-cfg80211 - 4.4.42+2016-10-08-1
kmod-e100 - 4.4.42-1
kmod-e1000 - 4.4.42-1
kmod-hwmon-core - 4.4.42-1
kmod-input-core - 4.4.42-1
kmod-ip6tables - 4.4.42-1
kmod-ipt-conntrack - 4.4.42-1
kmod-ipt-core - 4.4.42-1
kmod-ipt-nat - 4.4.42-1
kmod-lib-crc-ccitt - 4.4.42-1
kmod-libphy - 4.4.42-1
kmod-mac80211 - 4.4.42+2016-10-08-1
kmod-mii - 4.4.42-1
kmod-natsemi - 4.4.42-1
kmod-ne2k-pci - 4.4.42-1
kmod-nf-conntrack - 4.4.42-1
kmod-nf-conntrack6 - 4.4.42-1
kmod-nf-ipt - 4.4.42-1
kmod-nf-ipt6 - 4.4.42-1
kmod-nf-nat - 4.4.42-1
kmod-nls-base - 4.4.42-1
kmod-pcnet32 - 4.4.42-1
kmod-ppp - 4.4.42-1
kmod-pppoe - 4.4.42-1
kmod-pppox - 4.4.42-1
kmod-pps - 4.4.42-1
kmod-ptp - 4.4.42-1
kmod-r8169 - 4.4.42-1
kmod-rtlwifi - 4.4.42+2016-10-08-1
kmod-rtlwifi-pci - 4.4.42+2016-10-08-1
kmod-sis900 - 4.4.42-1
kmod-slhc - 4.4.42-1
kmod-tg3 - 4.4.42-1
kmod-usb-core - 4.4.42-1
kmod-usb-net - 4.4.42-1
kmod-usb-net-rtl8152 - 4.4.42-1
kmod-usb3 - 4.4.42-1
kmod-via-rhine - 4.4.42-1
kmod-via-velocity - 4.4.42-1
lede-keyring - 2016-04-30-5c7857ee-1
libattr - 20160302-1
libblkid - 2.28-1
libblobmsg-json - 2016-11-29-77a62937-1
libc - 1.1.15-1
libext2fs - 1.43.3-2
libf2fs - 1.7.0-1
libffi - 3.2.1-2
libgcc - 5.4.0-1
libip4tc - 1.4.21-2
libip6tc - 1.4.21-2
libiwinfo - 2016-09-21-fd9e17be-1
libiwinfo-lua - 2016-09-21-fd9e17be-1
libjson-c - 0.12.1-1
libjson-script - 2016-11-29-77a62937-1
liblua - 5.1.5-1
libmount - 2.28-1
libncurses - 6.0-1
libnl-tiny - 0.1-5
libpthread - 1.1.15-1
librpc - 2015-11-04-a921e3de-1
librt - 1.1.15-1
libsmartcols - 2.28-1
libubox - 2016-11-29-77a62937-1
libubus - 2016-10-12-312448a5-1
libubus-lua - 2016-10-12-312448a5-1
libuci - 2016-07-04-e1bf4356-1
libuci-lua - 2016-07-04-e1bf4356-1
libuclient - 2016-12-09-52d955fd-1
libuuid - 2.28-1
libxtables - 1.4.21-2
lua - 5.1.5-1
luci - git-17.014.25054-75c9670-1
luci-app-firewall - git-17.014.25054-75c9670-1
luci-base - git-17.014.25054-75c9670-1
luci-lib-ip - git-17.014.25054-75c9670-1
luci-lib-jsonc - git-17.014.25054-75c9670-1
luci-lib-nixio - git-17.014.25054-75c9670-1
luci-mod-admin-full - git-17.014.25054-75c9670-1
luci-proto-ipv6 - git-17.014.25054-75c9670-1
luci-proto-ppp - git-17.014.25054-75c9670-1
luci-theme-bootstrap - git-17.014.25054-75c9670-1
mc - 4.8.18-1
mkf2fs - 1.7.0-1
mtd - 21
netifd - 2017-01-13-52541140-1
odhcp6c - 2017-01-07-d420f493-1
odhcpd - 2017-01-06-ef3c5632-1
opkg - 2011-04-08-9c97d5ec-16
partx-utils - 2.28-1
ppp - 2.4.7-10
ppp-mod-pppoe - 2.4.7-10
procd - 2017-01-10-f7069032-1
r8169-firmware - 2016-09-21-42ad5367-1
rpcd - 2016-12-03-0577cfc1-1
terminfo - 6.0-1
ubox - 2016-09-26-5649c028-1
ubus - 2016-10-12-312448a5-1
ubusd - 2016-10-12-312448a5-1
uci - 2016-07-04-e1bf4356-1
uclient-fetch - 2016-12-09-52d955fd-1
uhttpd - 2016-10-25-1628fa4b-1
uhttpd-mod-ubus - 2016-10-25-1628fa4b-1
usign - 2015-07-04-ef641914-1
zlib - 1.2.10-1

It seems there is no LEDE package for its firmware. Do you see the driver complaining about lack of firmware in dmesg?

Please download the firmware file(s) manually from here (linux-from-scratch site hosts all firmware you would find in linux-firmware.git in a easily-downloadable form) http://anduin.linuxfromscratch.org/BLFS/linux-firmware/rtlwifi/

and place them in /lib/firmware/rtlwifi

These should be the commands needed (there are two firmware files, I don't know what is the right one, the kernel will figure it out on its own):

mkdir -p /lib/firmware/rtlwifi
wget -O /lib/firmware/rtlwifi/rtl8723befw.bin http://anduin.linuxfromscratch.org/BLFS/linux-firmware/rtlwifi/rtl8723befw.bin
wget -O /lib/firmware/rtlwifi/rtl8723be_36fw.bin http://anduin.linuxfromscratch.org/BLFS/linux-firmware/rtlwifi/rtl8723be_36fw.bin

Then restart and see if the wifi comes up.

Put all firmwares but still no effect.

Here is my 'dmesg': http://pastebin.com/Qr0SnFDq

I don't see the rtlwifi loaded in that dmesg. Insmod it manually?

All modules are loaded.
lsmod: http://pastebin.com/vUsMFS1r
lspci: http://pastebin.com/mbiUKQLU

This forum hide my posts with links to pastebin.
Here is raw output.

root@lede:~# lspci
00:00.0 Host bridge: Intel Corporation Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register (rev 0e)
00:02.0 VGA compatible controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display (rev 0e)
00:13.0 SATA controller: Intel Corporation Atom Processor E3800 Series SATA AHCI Controller (rev 0e)
00:14.0 USB controller: Intel Corporation Atom Processor Z36xxx/Z37xxx, Celeron N2000 Series USB xHCI (rev 0e)
00:1a.0 Encryption controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine (rev 0e)
00:1b.0 Audio device: Intel Corporation Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller (rev 0e)
00:1c.0 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 1 (rev 0e)
00:1c.1 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 2 (rev 0e)
00:1c.2 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 3 (rev 0e)
00:1c.3 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 4 (rev 0e)
00:1f.0 ISA bridge: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Power Control Unit (rev 0e)
00:1f.3 SMBus: Intel Corporation Atom Processor E3800 Series SMBus Controller (rev 0e)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
04:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter

root@lede:~# lsusb
Bus 001 Device 004: ID 0bda:8152 Realtek Semiconductor Corp. RTL8152 Fast Ethernet Adapter
Bus 001 Device 003: ID 0bda:b728 Realtek Semiconductor Corp.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

3c59x 27864 0
8139too 14128 0
8390 6211 1 ne2k_pci
button_hotplug 2608 0
cfg80211 215515 2 rtlwifi,mac80211
compat 9637 3 rtlwifi,mac80211,cfg80211
crc_ccitt 1195 1 ppp_async
e100 22328 0
e1000 85351 0
ip6_tables 8409 2 ip6table_mangle,ip6table_filter
ip6t_REJECT 1200 2
ip6table_filter 816 1
ip6table_mangle 1072 1
ip_tables 8353 3 iptable_nat,iptable_mangle,iptable_filter
ipt_MASQUERADE 816 1
ipt_REJECT 1072 2
iptable_filter 944 1
iptable_mangle 1072 1
iptable_nat 944 1
libphy 19084 1 tg3
mac80211 384536 2 rtl_pci,rtlwifi
mii 3608 9 via_rhine,usbnet,sis900,r8169,r8152,pcnet32,e100,8139too,3c59x
natsemi 20216 0
ne2k_pci 5136 0
nf_conntrack 54646 9 nf_nat_ipv4,nf_conntrack_ipv6,nf_conntrack_ipv4,xt_state,xt_conntrack,xt_CT,nf_nat_masquerade_ipv4,nf_nat,nf_conntrack_rtcache
nf_conntrack_ipv4 4912 9
nf_conntrack_ipv6 5424 4
nf_conntrack_rtcache 2224 0
nf_defrag_ipv4 1110 1 nf_conntrack_ipv4
nf_defrag_ipv6 13011 1 nf_conntrack_ipv6
nf_log_common 2511 2 nf_log_ipv4,nf_log_ipv6
nf_log_ipv4 3376 0
nf_log_ipv6 3760 0
nf_nat 9204 4 nf_nat_ipv4,xt_nat,nf_nat_redirect,nf_nat_masquerade_ipv4
nf_nat_ipv4 3685 1 iptable_nat
nf_nat_masquerade_ipv4 1456 1 ipt_MASQUERADE
nf_nat_redirect 1243 1 xt_REDIRECT
nf_reject_ipv4 2115 1 ipt_REJECT
nf_reject_ipv6 2376 1 ip6t_REJECT
pcnet32 25024 0
ppp_async 5560 0
ppp_generic 17986 3 pppoe,ppp_async,pppox
pppoe 6832 0
pppox 1354 1 pppoe
pps_core 5021 1 ptp
ptp 7751 1 tg3
r8152 27696 0
r8169 53172 0
rtl_pci 15225 0
rtlwifi 44625 1 rtl_pci
sis900 15792 0
slhc 4795 1 ppp_generic
tg3 131504 0
usbnet 16163 0
via_rhine 16060 0
via_velocity 21044 0
x_tables 9467 23 ipt_REJECT,ipt_MASQUERADE,xt_time,xt_tcpudp,xt_state,xt_nat,xt_multiport,xt_mark,xt_mac,xt_limit,xt_conntrack,xt_comment,xt_TCPMSS,xt_REDIRECT,xt_LOG,xt_CT,iptable_mangle,iptable_filter,ip_tables,ip6t_REJECT,ip6table_mangle,ip6table_filter,ip6_tables
xhci_hcd 81014 2 xhci_plat_hcd,xhci_pci
xhci_pci 2864 0
xhci_plat_hcd 2352 0
xt_CT 2480 0
xt_LOG 944 0
xt_REDIRECT 944 0
xt_TCPMSS 2608 2
xt_comment 688123
xt_conntrack 2608 12
xt_limit 1332 20
xt_mac 816 0
xt_mark 944 0
xt_multiport 1328 0
xt_nat 1328 0
xt_state 944 0
xt_tcpudp 1840 10
xt_time 1840 0

I find out that my card will work with modules from here: https://github.com/lwfinger/rtlwifi_new. Can anybody help me to build it under lede?

1 Like

I am working to resolve the same problem. lspci -nn produces the following line (others omitted).

02:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter [10ec:b723]

I attempted to install basically every package possibly related to wireless drivers for Realtek hardware to no avail. As the OP noted, this hardware is supported by the rtlwifi_new driver, but this driver appears to require kernel headers installed. e.g.

root@LEDE:~/rtlwifi_new# make
make -C /lib/modules/4.4.92/build M=/root/rtlwifi_new modules
make[1]: *** /lib/modules/4.4.92/build: No such file or directory.  Stop.
make: *** [Makefile:58: all] Error 2

LEDE doesn't seem to provide kernel headers in any of its packages. Would it be possible to file a feature request for this somewhere? I understand that many installation targets have extremely limited resources, so in those cases it wouldn't make sense to do any compilation on the target, but for cases where one wants to run LEDE on x86 hardware like Jetway N2930 it actually would be extremely useful.

Also, would it be possible to include this driver in the distribution itself? In the repo's README there is a note saying: "...If accepted, they should appear in kernel 4.7; however, they will be backported to kernels 4.0 and newer when they reach mainline." So eventually this problem should go away. However, in the meantime, it would be nice if LEDE builds could have it available as a package (looks like LEDE 17.01.4 appears to use kernel 4.4.92).

For now, I just attached a USB wifi adapter that is already supported, and I will try building a custom image, but I have not done this before and may not be able to justify the time to learn it right now.

Why dont you try using snapshots?
They use kernel 4.9

@robimarko, thanks for the idea. Do you know if 4.9 includes rtlwifi_new yet? I emailed Larry Finger to ask where I could learn more about (via the email address shown on his commits) because I don't know where to find this information.

FWIW, I cloned the source tree, setup the build system, and went through make menuconfig, but it looks like these drivers aren't here yet. rtl8723be is listed on the kernel's linux-wireless wiki, but I am not sure when (which kernel version) it started being included. I'm a bit confused because the wiki page says (3.15+), it looks like the rtl8723be driver is in the v4.9 kernel repo, and the latest LEDE source appears to use kernel v4.9. However, as I mentioned, I don't see it in the config options. Also, ls -alhR|grep -i rtlwifi doesn't return any results; are those sources somewhere outside of this tree?
menu-config

However, as I mentioned, I don’t see it in the config options.

Somewhat late answer, but better than never I guess.

The buildsystem uses its own configuration options, you are not configuring the Linux kernel so you won't be able to enable the driver without changing something else first.

You can add the driver's symbol in the kernel config (so it gets compiled in the kernel) in target/linux/x86/config-4.9 (or in the config-4.14 which is now available), or you can add it as a module by editing this file which is the one that defines what loadable kernel modules are selectable in make menuconfig https://github.com/openwrt/openwrt/blob/master/package/kernel/mac80211/Makefile

See how other kmod packages are defined in the config, it should be relatively easy to just add a new wifi driver.

If you add the package in that file and it works, you can send this as a pull request for merging in the current OpenWRT sources (now LEDE has changed name into OpenWRT, after they merged with the remnants of the old OpenWRT team).