CoreELEC / w1-aml

Amlogic W150S1
4 stars 2 forks source link

How can this driver be used to setup W150S1 on Coreelec ? #2

Closed danchiche closed 1 year ago

danchiche commented 2 years ago

All work on my box but wifi and bluetooth don't. How to implement this w150s1 driver to my coreelec distrib ? Thanks

Portisch commented 2 years ago

I have a patch to include the driver in CE, but not available right now. But I can tell you the driver is not working. I will attach the patch as soon I get the chance to.

danchiche commented 2 years ago

Why you talk about CE ? I speak about coreelec aka Linux... You already test this driver on CE and doesn't work or in coreelec and doesn't work? On other forums I saw this chip fully operational in Linux with this driver. I think they just need to insert it on the next release, no ?

vpeter4 commented 2 years ago

Why you talk about CE

CE == CoreELEC - and no, it didn't work

If you saw in other forums that it is working then point to to the driver used there.

Portisch commented 1 year ago

@danchiche this is the patch for CoreELEC distro to include this driver. But as I said it compiles, but it does not work.

vpeter4 commented 1 year ago

You can also try to add in post_unpack() function this sed call sed -i 's/-DCONFIG_CONCURRENT_MODE//g' $PKG_BUILD/project_w1/vmac/Makefile

danchiche commented 1 year ago

how to insert this patch ? I must install a bootstrap compilation environement of CE ? if you already have this environnement can you compile the driver and send me it ? I will test it ? Do you know if this driver appear in CE 20 ? thanks

Portisch commented 1 year ago

This driver is "not well" coded and I am not sure if it will be backport to 4.9 kernel. We tested and got it working under 5.4 kernel right now:

From 1a6e135556e6e2d966ac8c943a861bc5ba9cb045 Mon Sep 17 00:00:00 2001
From: Portisch <hugo.portisch@yahoo.de>
Date: Tue, 22 Feb 2022 14:05:40 +0100
Subject: [PATCH] Amlogic-ce: add Amlogic W150S1 Linux driver

---
 .../Amlogic-ce/devices/Amlogic-ne/options     |  2 +-
 .../linux-drivers/amlogic/w1-aml/package.mk   | 28 +++++++++++++++++++
 .../amlogic/w1-aml/udev.d/80-aml_sdio.rules   |  9 ++++++
 3 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 projects/Amlogic-ce/packages/linux-drivers/amlogic/w1-aml/package.mk
 create mode 100644 projects/Amlogic-ce/packages/linux-drivers/amlogic/w1-aml/udev.d/80-aml_sdio.rules

diff --git a/projects/Amlogic-ce/devices/Amlogic-ne/options b/projects/Amlogic-ce/devices/Amlogic-ne/options
index 4db1b9125f..e005054d23 100644
--- a/projects/Amlogic-ce/devices/Amlogic-ne/options
+++ b/projects/Amlogic-ce/devices/Amlogic-ne/options
@@ -109,7 +109,7 @@
   # Space separated list is supported,
   # e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
     ADDITIONAL_DRIVERS="gpu-aml media_modules-aml openvfd-driver wifi_dummy-aml ap6xxx-aml
-                        uwe5631-aml RTL8822CS-aml"
+                        uwe5631-aml RTL8822CS-aml w1-aml"

   # additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
   # Space separated list is supported,
diff --git a/projects/Amlogic-ce/packages/linux-drivers/amlogic/w1-aml/package.mk b/projects/Amlogic-ce/packages/linux-drivers/amlogic/w1-aml/package.mk
new file mode 100644
index 0000000000..53cffd1c00
--- /dev/null
+++ b/projects/Amlogic-ce/packages/linux-drivers/amlogic/w1-aml/package.mk
@@ -0,0 +1,28 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2022-present Team CoreELEC (https://coreelec.org)
+
+PKG_NAME="w1-aml"
+PKG_VERSION="6a7531d3a38001c33fa03ce92a2b062366e18b0c"
+PKG_SHA256="b2aabe7279d21c559f7cc3a0b8c9f4c5bc6b5280c3e20df0dae28021cf5e56e2"
+PKG_ARCH="arm aarch64"
+PKG_LICENSE="GPL"
+PKG_SITE="https://github.com/CoreELEC/w1-aml"
+PKG_URL="https://github.com/CoreELEC/w1-aml/archive/$PKG_VERSION.tar.gz"
+PKG_DEPENDS_TARGET="toolchain linux"
+PKG_NEED_UNPACK="$LINUX_DEPENDS"
+PKG_LONGDESC="Amlogic W150S1 Linux driver"
+PKG_IS_KERNEL_PKG="yes"
+PKG_TOOLCHAIN="manual"
+
+make_target() {
+  kernel_make -C $(kernel_path) M=${PKG_BUILD}/project_w1/vmac \
+    subdir-ccflags-y="-mno-outline-atomics"
+}
+
+makeinstall_target() {
+  mkdir -p ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
+    find ${PKG_BUILD}/project_w1/vmac/ -name \*.ko -not -path '*/\.*' -exec cp {} ${INSTALL}/$(get_full_module_dir)/${PKG_NAME} \;
+
+  mkdir -p ${INSTALL}/$(get_full_firmware_dir)/w1
+    cp ${PKG_BUILD}/project_w1/vmac/aml_wifi*.txt ${INSTALL}/$(get_full_firmware_dir)/w1
+}
diff --git a/projects/Amlogic-ce/packages/linux-drivers/amlogic/w1-aml/udev.d/80-aml_sdio.rules b/projects/Amlogic-ce/packages/linux-drivers/amlogic/w1-aml/udev.d/80-aml_sdio.rules
new file mode 100644
index 0000000000..aea8149dad
--- /dev/null
+++ b/projects/Amlogic-ce/packages/linux-drivers/amlogic/w1-aml/udev.d/80-aml_sdio.rules
@@ -0,0 +1,9 @@
+### Amlogic W150S1
+### this driver is split in two individual kernel modules
+ENV{MODALIAS}=="?*", ENV{SUBSYSTEM}=="sdio", ENV{SDIO_ID}=="8888:8888", GOTO="load_module"
+GOTO="end"
+
+LABEL="load_module"
+ENV{MODALIAS}=="?*", ENV{SUBSYSTEM}=="sdio", RUN{builtin}+="kmod load aml_sdio", RUN{builtin}+="kmod load vlsicomm"
+
+LABEL="end"
danchiche commented 1 year ago

How can I install this kernel on coreelec to test it ?

Portisch commented 1 year ago

Driver is now included in CoreELEC