thirtythreeforty / businesscard-linux

A Buildroot distribution small enough to run on my business card
https://www.thirtythreeforty.net/posts/2019/12/my-business-card-runs-linux/
1.8k stars 188 forks source link

Build error for Lichee Pi Nano + wifi #14

Open alanwli opened 4 years ago

alanwli commented 4 years ago

Hi George,

Firstly, thanks for putting your project on github. I bought the Lichee Nano Pi that you have pointed out, but have not been able to get to work with the TF wifi card (RTL8723). Were you able to?

Thanks

Here's my current diff that shows that I've set CONFIG_WIRELESS_EXT and BR2_PACKAGE_RTL8723BS:

diff --git a/board/businesscard/v1/genimage.cfg b/board/businesscard/v1/genimage.cfg
index 3b25b07..f6ecc32 100644
--- a/board/businesscard/v1/genimage.cfg
+++ b/board/businesscard/v1/genimage.cfg
@@ -1,15 +1,15 @@
-flash w25q64 {
-   pebsize = 65536
-   lebsize = 65408
-   numpebs = 128
-   minimum-io-unit-size = 1
-   sub-page-size = 1
-   vid-header-offset = 64
+flash xt25f128b {
+    pebsize = 65536
+    lebsize = 65408
+    numpebs = 256
+    minimum-io-unit-size = 1
+    sub-page-size = 1
+    vid-header-offset = 64
 }

 image flash.bin {
    flash {}
-   flashtype = w25q64
+   flashtype = xt25f128b
    partition uboot {
        image = "u-boot-sunxi-with-spl.bin"
        size = 256K
@@ -25,7 +25,7 @@ image persist.ubifs {
        extraargs = "--compr=zlib --jrn-size=192KiB --log-lebs=2"
    }
    size=1280K
-   flashtype = w25q64
+   flashtype = xt25f128b
    mountpoint = /root
 }

diff --git a/board/businesscard/v1/linux_defconfig b/board/businesscard/v1/linux_defconfig
index 9a40867..1feee7b 100644
--- a/board/businesscard/v1/linux_defconfig
+++ b/board/businesscard/v1/linux_defconfig
@@ -114,3 +114,56 @@ CONFIG_DEBUG_FS=y
 CONFIG_RCU_TRACE=y
 # CONFIG_FTRACE is not set
 # CONFIG_RUNTIME_TESTING_MENU is not set
+
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+# CONFIG_AF_KCM is not set
+# CONFIG_STREAM_PARSER is not set
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=y
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
+CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+CONFIG_CFG80211_CRDA_SUPPORT=y
+CONFIG_CFG80211_WEXT=y
+# CONFIG_LIB80211 is not set
+CONFIG_MAC80211=y
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+# CONFIG_MAC80211_RC_MINSTREL_VHT is not set
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+# CONFIG_MAC80211_MESH is not set
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+# CONFIG_CEPH_LIB is not set
+# CONFIG_NFC is not set
+# CONFIG_PSAMPLE is not set
+# CONFIG_NET_IFE is not set
+# CONFIG_LWTUNNEL is not set
+# CONFIG_DST_CACHE is not set
+# CONFIG_GRO_CELLS is not set
+# CONFIG_NET_DEVLINK is not set
+CONFIG_MAY_USE_DEVLINK=y
+CONFIG_HAVE_EBPF_JIT=y
+
diff --git a/configs/thirtythreeforty_businesscard_defconfig b/configs/thirtythreeforty_businesscard_defconfig
index 36c2bd5..4ef27d3 100644
--- a/configs/thirtythreeforty_businesscard_defconfig
+++ b/configs/thirtythreeforty_businesscard_defconfig
@@ -9,8 +9,8 @@ BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
 # BR2_UCLIBC_INSTALL_UTILS is not set
 BR2_GCC_VERSION_8_X=y
 BR2_TOOLCHAIN_BUILDROOT_CXX=y
-BR2_TARGET_GENERIC_HOSTNAME="linuxcard"
-BR2_TARGET_GENERIC_ISSUE="Welcome to Businesscard Linux!"
+BR2_TARGET_GENERIC_HOSTNAME="nano123"
+BR2_TARGET_GENERIC_ISSUE="Welcome to Lichee Pi Nano Linux!"
 BR2_TARGET_GENERIC_GETTY_PORT="/dev/ttyS0"
 BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y
 # BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
@@ -20,8 +20,8 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
 BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BR2_EXTERNAL_BUSINESSCARD_PATH)/board/businesscard/v1/genimage.cfg"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
-BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/thirtythreeforty/linux.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="0258e33350a156ae82c2fe49f58ea63b6fc459e6"
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/AndersBNielsen/linux.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="fe39d1d28fb4130b0dc030913b18e66d6fd069cb"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_BUSINESSCARD_PATH)/board/businesscard/v1/linux_defconfig"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
@@ -47,8 +47,8 @@ BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
-BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://github.com/thirtythreeforty/u-boot.git"
-BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="e9a861c19c620224f5c1224cd7033b02adb8fa4d"
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://github.com/AndersBNielsen/u-boot.git"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="d7eb3a4f7ff3dd5b91dbea2159edda04dbd944a9"
 BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_BUSINESSCARD_PATH)/board/businesscard/v1/uboot_defconfig"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
@@ -61,8 +61,17 @@ BR2_PACKAGE_HOST_MKPASSWD=y
 BR2_PACKAGE_HOST_MTD=y
 BR2_PACKAGE_HOST_SUNXI_TOOLS_F1C100S=y
 BR2_PACKAGE_BUSINESSCARD_FLASHDRIVE=y
-BR2_PACKAGE_2048=y
-BR2_PACKAGE_FORTUNE_MOD=y
+BR2_PACKAGE_2048=n
+BR2_PACKAGE_FORTUNE_MOD=n
 BR2_PACKAGE_FORTUNE_MOD_COOKIES="computers;humorists;linuxcookie;literature;pratchett;startrek;wisdom"
-BR2_PACKAGE_ROBOTFINDSKITTEN=y
-BR2_PACKAGE_ROGUE=y
+BR2_PACKAGE_ROBOTFINDSKITTEN=n
+BR2_PACKAGE_ROGUE=n
+
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y
+BR2_PACKAGE_RTL8723BS=y
+
+BR2_PACKAGE_WPA_SUPPLICANT=y
+BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y
+
+BR2_TARGET_GENERIC_ROOT_PASSWD="blah1234"

But I am still getting the same build errors:

  CC [M]  /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_ioctl_set.o
In file included from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:25,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_security.c:17:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/autoconf.h:27:2: error: #error CONFIG_WIRELESS_EXT needs to be enabled for this driver to work
 #error CONFIG_WIRELESS_EXT needs to be enabled for this driver to work
  ^~~~~
In file included from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:25,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_debug.c:17:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/autoconf.h:27:2: error: #error CONFIG_WIRELESS_EXT needs to be enabled for this driver to work
 #error CONFIG_WIRELESS_EXT needs to be enabled for this driver to work
  ^~~~~
In file included from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:25,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_cmd.c:17:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/autoconf.h:27:2: error: #error CONFIG_WIRELESS_EXT needs to be enabled for this driver to work
 #error CONFIG_WIRELESS_EXT needs to be enabled for this driver to work
  ^~~~~
In file included from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:25,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_io.c:38:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/autoconf.h:27:2: error: #error CONFIG_WIRELESS_EXT needs to be enabled for this driver to work
 #error CONFIG_WIRELESS_EXT needs to be enabled for this driver to work
  ^~~~~
In file included from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:25,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_ioctl_set.c:17:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/autoconf.h:27:2: error: #error CONFIG_WIRELESS_EXT needs to be enabled for this driver to work
 #error CONFIG_WIRELESS_EXT needs to be enabled for this driver to work
  ^~~~~
In file included from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service.h:23,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:27,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_security.c:17:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h: In function ‘_init_timer’:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h:97:8: error: ‘_timer’ {aka ‘struct timer_list’} has no member named ‘data’
  ptimer->data = (unsigned long)cntx;
        ^~
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h:98:2: error: implicit declaration of function ‘init_timer’; did you mean ‘_init_timer’? [-Werror=implicit-function-declaration]
  init_timer(ptimer);
  ^~~~~~~~~~
  _init_timer
In file included from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:30,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_security.c:17:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/wifi.h: At top level:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/wifi.h:810: warning: "IEEE80211_MAX_AMPDU_BUF" redefined
 #define IEEE80211_MAX_AMPDU_BUF 0x40

In file included from ./include/net/cfg80211.h:21,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h:50,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service.h:23,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:27,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_security.c:17:
./include/linux/ieee80211.h:1441: note: this is the location of the previous definition
 #define IEEE80211_MAX_AMPDU_BUF  0x100

In file included from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service.h:23,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:27,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_debug.c:17:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h: In function ‘_init_timer’:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h:97:8: error: ‘_timer’ {aka ‘struct timer_list’} has no member named ‘data’
  ptimer->data = (unsigned long)cntx;
        ^~
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h:98:2: error: implicit declaration of function ‘init_timer’; did you mean ‘_init_timer’? [-Werror=implicit-function-declaration]
  init_timer(ptimer);
  ^~~~~~~~~~
  _init_timer
In file included from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:30,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_debug.c:17:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/wifi.h: At top level:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/wifi.h:810: warning: "IEEE80211_MAX_AMPDU_BUF" redefined
 #define IEEE80211_MAX_AMPDU_BUF 0x40

In file included from ./include/net/cfg80211.h:21,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h:50,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service.h:23,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:27,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_debug.c:17:
./include/linux/ieee80211.h:1441: note: this is the location of the previous definition
 #define IEEE80211_MAX_AMPDU_BUF  0x100

cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:279: /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_security.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service.h:23,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:27,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_cmd.c:17:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h: In function ‘_init_timer’:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h:97:8: error: ‘_timer’ {aka ‘struct timer_list’} has no member named ‘data’
  ptimer->data = (unsigned long)cntx;
        ^~
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h:98:2: error: implicit declaration of function ‘init_timer’; did you mean ‘_init_timer’? [-Werror=implicit-function-declaration]
  init_timer(ptimer);
  ^~~~~~~~~~
  _init_timer
In file included from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:30,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_cmd.c:17:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/wifi.h: At top level:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/wifi.h:810: warning: "IEEE80211_MAX_AMPDU_BUF" redefined
 #define IEEE80211_MAX_AMPDU_BUF 0x40

In file included from ./include/net/cfg80211.h:21,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h:50,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service.h:23,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:27,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_cmd.c:17:
./include/linux/ieee80211.h:1441: note: this is the location of the previous definition
 #define IEEE80211_MAX_AMPDU_BUF  0x100

In file included from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service.h:23,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:27,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_io.c:38:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h: In function ‘_init_timer’:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h:97:8: error: ‘_timer’ {aka ‘struct timer_list’} has no member named ‘data’
  ptimer->data = (unsigned long)cntx;
        ^~
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h:98:2: error: implicit declaration of function ‘init_timer’; did you mean ‘_init_timer’? [-Werror=implicit-function-declaration]
  init_timer(ptimer);
  ^~~~~~~~~~
  _init_timer
In file included from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:30,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_io.c:38:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/wifi.h: At top level:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/wifi.h:810: warning: "IEEE80211_MAX_AMPDU_BUF" redefined
 #define IEEE80211_MAX_AMPDU_BUF 0x40

In file included from ./include/net/cfg80211.h:21,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h:50,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service.h:23,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:27,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_io.c:38:
./include/linux/ieee80211.h:1441: note: this is the location of the previous definition
 #define IEEE80211_MAX_AMPDU_BUF  0x100

In file included from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service.h:23,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:27,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_ioctl_set.c:17:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h: In function ‘_init_timer’:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h:97:8: error: ‘_timer’ {aka ‘struct timer_list’} has no member named ‘data’
  ptimer->data = (unsigned long)cntx;
        ^~
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h:98:2: error: implicit declaration of function ‘init_timer’; did you mean ‘_init_timer’? [-Werror=implicit-function-declaration]
  init_timer(ptimer);
  ^~~~~~~~~~
  _init_timer
cc1: some warnings being treated as errors
In file included from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:30,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_ioctl_set.c:17:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/wifi.h: At top level:
/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/wifi.h:810: warning: "IEEE80211_MAX_AMPDU_BUF" redefined
 #define IEEE80211_MAX_AMPDU_BUF 0x40

In file included from ./include/net/cfg80211.h:21,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service_linux.h:50,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/osdep_service.h:23,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./include/drv_types.h:27,
                 from /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_ioctl_set.c:17:
./include/linux/ieee80211.h:1441: note: this is the location of the previous definition
 #define IEEE80211_MAX_AMPDU_BUF  0x100

make[2]: *** [scripts/Makefile.build:279: /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_cmd.o] Error 1
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:279: /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_io.o] Error 1
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:279: /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_debug.o] Error 1
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:279: /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/./core/rtw_ioctl_set.o] Error 1
make[1]: *** [Makefile:1595: _module_/home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/.] Error 2
make[1]: Leaving directory '/home/alan/tmp/businesscard-linux/buildroot/output/build/linux-fe39d1d28fb4130b0dc030913b18e66d6fd069cb'
make: *** [package/pkg-generic.mk:242: /home/alan/tmp/businesscard-linux/buildroot/output/build/rtl8723bs-11ab92d8ccd71c80f0102828366b14ef6b676fb2/.stamp_built] Error 2
thirtythreeforty commented 4 years ago

Hi! Thanks for the diffs and build errors. I think I know what your problem is - if you didn't explicitly re-enable CONFIG_NET that I have disabled for my tiny kernel build, CONFIG_WIRELESS_EXT won't get enabled either, since NET is a dependency. (make linux-menuconfig helps visualize these dependencies.)

alanwli commented 4 years ago

Hi George,

Thanks for the pointer! I finally got a chance to try it out this weekend and finally got things compiled correctly. I am even able to insert the module but it doesn't do anything...I'm wondering if it's because board/businesscard/v1/dts/businesscard.dts isn't configured to support the sdio wifi adapter? Thanks in advance for any pointers on this!

# lsmod -a
Module                  Size  Used by    Tainted: G  
r8723bs               428352  0 
# ifconfig -a
lo        Link encap:Local Loopback  
          LOOPBACK  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
thirtythreeforty commented 4 years ago

Glad you got it built. So, two things: first, my kernel is built without networking support... You can turn all of it back on. I guess you have if you're seeing the loopback adapter.

Second, yes, the device tree needs to be modified to add your Wi-Fi card. Probably there's an example in the Documentation/device-tree/bindings docs.

alanwli commented 4 years ago

Hi George,

I finally got around this week to figure out what my issue was above. Turned out that I was building the rtl8723bs for the wrong wifi sdio adapter...I had assumed that rtl8723bs was the adapter that the Lichee Pi Nano came with because that's the standard one with Lichee Pi Zero, but it was actually esp8089.

I saw that you made a reference to esp8089 here (https://github.com/thirtythreeforty/businesscard-linux/issues/13#issuecomment-600127910). I was wondering if you ever got that working with your Lichee Pi Nano?

Thanks.

thirtythreeforty commented 4 years ago

I have not tried to get it working, because I don't have the ESP8089 hardware. However given that SPI, MMC, and (nearly) mainline Linux already run on the Nano, I expect that it will work if you compile the out of tree driver I linked in that thread.

masoudr commented 3 years ago

@alanwli @thirtythreeforty I tried to get hands-on the ESP8089 and I got the module driver working by using this guide but from what I understand there is a reset pin on the chip which is NC with the WiFi expansion board (I'm not sure because I couldn't find the expansion schematics). I think this pin is floating somehow because the driver doesn't work each time you boot the board but anyway when it boots the wpa_cli only found one or two APs so I can't connect to my AP which is weird. I also tried to solder an external antenna but didn't work either. I'm not sure if this is a hardware issue or driver issue but it didn't work for me and it was quite disappointing.