TRay
Members-
Posts
102 -
Joined
-
Last visited
Content Type
Forums
Store
Crowdfunding
Applications
Events
Raffles
Community Map
Everything posted by TRay
-
Summary, In all examples to use w1-gpio in Armbian in armbinaEnv.txt always is name of gpio is write in capital letters for example PC10 param_w1_pin=PC10 but when we use PC10 w1-gpio not works and in log is message: [ 4.997793] sun50i-h616-pinctrl 300b000.pinctrl: pin PC10 already requested by onewire@0; cannot claim for 300b000.pinctrl:74 command cat /sys/kernel/debug/gpio did not show that gpio 74 / PC10 is used command but when we use name gpio in lowercase letters pc10 w1-gpio works and show data from DS18B20 but show message in log [ 9.366246] w1-gpio onewire@0: there is not valid maps for state default command cat /sys/kernel/debug/gpio show gpiochip0: GPIOs 0-287, parent: platform/300b000.pinctrl, 300b000.pinctrl: gpio-74 ( |onewire@0 ) out hi and we can see data from DS18B20 cat /sys/bus/w1/devices/28-03165129ecff/w1_slave 53 01 4b 46 7f ff 0c 10 2d : crc=2d YES 53 01 4b 46 7f ff 0c 10 2d t=21187 for me, it is bug or in kernel 6.6.30 or overlay for Ornage Pi Zreo v3
-
I have checked what hapen when on Ornage Pi Zero v1 with kernel 6.1.63 in armbianEnv.txt use pa14 instead PA14 in log I see [ 9.358693] Driver for 1-wire Dallas network protocol. [ 9.366246] w1-gpio onewire@0: there is not valid maps for state default [ 9.368019] gpio-110 (onewire@0): enforced open drain please flag it properly in DT/ACPI DSDT/board file and w1-gpio not working and no files in /sys/bus/w1/devices/ but we see marked in red the same information that I have on OZPI v3 when I use pc10 instead of PC10 but on OZPI v3 DS18B20 works and on OZPI v1 it doesn't work when I use the lower case name gpio This looks like some kind of bug in kernel 6.6.30 on OZPI v3
-
Yes, that's right, I can ignore it when I have a working w1-gpio on OZPI v3, but it would be nice to see how to fix it so that it works correctly. But what's strange to me is that I have to use the gpio name in lower case and not in upper case as it was always described in the w1-gpio examples. I tried to use the name with gpiod, i.e. "gpio74", instead of names like PC10, but it didn't work, so it occurred to me to try writing the name in lower case "pc10" instead of capital letters as usual, and I found that it worked, but I think it's not normal since capital letters have been used so far, I will check on OZP v1 whether it will work if I change to lowercase letters Thank you for exchanging ideas and tips on solving the problem
-
Yes "no maps for state" is connected with but in all examples .dts is used : pinctrl-names = "default";
-
But I am not use gpio PC10 by another application etc, I define PC10 only for w1-gpio in armbianEnv.tx but when I use PC10 instead pc10 w1-gpio is not working and I can not read data DS18B20. When I use pc10 all working and I read atat from DS18B20 so info in log: pin PC10 already requested by onewire@0; cannot claim for 300b000.pinctrl:74 give me that w1-gpio is not working
-
But it is interesting most of examples armbianEnv.txt for parameters param_w1_pin=PC10 show name of gpio in use capital letters but when I use name in capital letters is problem and show in demsg info [ 4.997793] sun50i-h616-pinctrl 300b000.pinctrl: pin PC10 already requested by onewire@0; cannot claim for 300b000.pinctrl:74 and 1-Wire not working but when I use name of gpio in lowercase letters pc20 1-Wire works and show temperature from DS18B20 but is info [ 4.994076] w1-gpio onewire@0: there is not valid maps for state default It maybe any bug ?
-
Wow 🙂 I have success dmesg | grep -i wire* [ 4.991132] Driver for 1-wire Dallas network protocol. [ 4.994076] w1-gpio onewire@0: there is not valid maps for state default [ 4.994183] gpio-74 (onewire@0): enforced open drain please flag it properly in DT/ACPI DSDT/board file [ 5.021347] w1_master_driver w1_bus_master1: Attaching one wire slave 28.03165129ecff crc 24 cat /sys/bus/w1/devices/28-03165129ecff/w1_slave 54 01 4b 46 7f ff 0c 10 fd : crc=fd YES 54 01 4b 46 7f ff 0c 10 fd t=21250 What do I change in /boot/armbianEnv.txt Instead of capital letters PC10, I used in lowercase letters pc10 for the gpio name stupid mistake on my part and maybe I suggested examples param_w1_pin=pc10 param_w1_pin_int_pullup=0 user_overlays=w1-gpio So we can now use sensors like DS18B20 etc with w1-gpio on Orange Pi Zero v3 w with w1-gpio.dts: /dts-v1/; /plugin/; / { compatible = "allwinner,sun50i-h616"; fragment@0 { target = <&pio>; __overlay__ { w1_pins: w1_pins { pins = "PC10"; function = "gpio_in"; }; }; }; fragment@1 { target-path = "/"; __overlay__ { onewire@0 { compatible = "w1-gpio"; pinctrl-names = "default"; pinctrl-0 = <&w1_pins>; gpios = <&pio 2 10 0>; /* PC10 */ status = "okay"; }; }; }; }; I don't know what I need to correct to remove this info: [ 4.994076] w1-gpio onewire@0: there is not valid maps for state default
-
Form firs message from dmesg is not clear sun50i-h616-pinctrl 300b000.pinctrl: pin PC10 already requested by onewire@0; cannot claim for 300b000.pinctrl:74 I see many similar problems z similar info for UART SPI etc , I suppose that we need to solve this problem or I am wrong
-
I connect DS18B20 to orange Pi Zero on Armbian 23.02.2 Bullseye with Linux 6.1.63 Via armbian-config in Hardware enabled w1_gpio and add to armbiaEnv.txt param_w1_pin=PA14 param_w1_pin_int_pullup=0 and in overlyas= was w1_gpio cat /sys/bus/w1/devices/28-03165129ecff/w1_slave 54 01 4b 46 7f ff 0c 10 fd : crc=fd YES 54 01 4b 46 7f ff 0c 10 fd t=21250 cat /sys/kernel/debug/gpio gpiochip0: GPIOs 0-223, parent: platform/1c20800.pinctrl, 1c20800.pinctrl: gpio-14 ( |onewire@0 ) out hi gpio-17 ( |orangepi:red:status ) out lo gpio-20 ( |reg_vcc_wifi ) out hi gpio-166 ( |cd ) in lo ACTIVE LOW gpio-204 ( |usb0_id_det ) in hi IRQ dmesg |grep wire* [ 9.398674] Driver for 1-wire Dallas network protocol. [ 9.410366] gpio-14 (onewire@0): enforced open drain please flag it properly in DT/ACPI DSDT/board file [ 9.463654] w1_master_driver w1_bus_master1: Attaching one wire slave 28.03165129ecff crc 24 so all working very well on OZPI v1 with kernel 6.163 on Armbian 23.02.2 So my DS18B20 is work but on OZPI v3 with 6.6.30 kernel and user overlay for w1-gpio not work for me. It maybe we need more add in overlay for w1-gpio.dts?
-
I checked new sensor DS18B20 but still the same error in dmesg info, so I will try with my RPI or OZPI v1 z kernel 6.1 check use w1-gpio overlay
-
Thank you for your answer and suggestions. Hmm, the problem is that I have a DS18B20 sensor connected to OZPIv3, which I used in another project on another SBC. PIN DATA DS18B20 is connected to PC10 and through the 4k7 resistor to VCC 3.3V and the third pin DS18B20 to GND I will have to check this sensor again to see if RPI or OZPIv1 works on the 6.1.x kernel or I will take another unit for testing.
-
I read again info https://docs.armbian.com/User-Guide_Allwinner_overlays/ and compile overlay by command: armbian-add-overlay w1-gpio.dts I see that in /boot/overlay-user/ is file w1-gpio.dtbo in /boot/armbianEnv.txt user_overlays=w1-gpio param_w1_pin=PC10 param_w1_pin_int_pullup=1 after this I reboot OZPI v3 after restart OZPIv3 I check dmesg info where found [ 4.990724] Driver for 1-wire Dallas network protocol. [ 4.997793] sun50i-h616-pinctrl 300b000.pinctrl: pin PC10 already requested by onewire@0; cannot claim for 300b000.pinctrl:74 [ 4.997833] w1-gpio onewire@0: gpio_request (pin) failed [ 4.997841] w1-gpio: probe of onewire@0 failed with error -22 cat /sys/kernel/debug/gpio gpiochip0: GPIOs 0-287, parent: platform/300b000.pinctrl, 300b000.pinctrl: gpio-76 ( |red:status ) out lo gpio-77 ( |green:power ) out hi gpio-80 ( |regulator-usb1-vbus ) out hi gpio-166 ( |cd ) in lo ACTIVE LOW gpio-210 ( |reset ) out hi ACTIVE LOW Can anyone help?
-
Refer to https://docs.armbian.com/User-Guide_Allwinner_overlays/ The file sun50i-h616-w1-gpio.dtbo should be copied to /boot/overlay-user/ and /boot/armbinaEnv.txt should be to contain for DS18B20 connected to GPIO 74/PC10 user_overlays=w1-gpio param_w1_pin=PC10 param_w1_pin_int_pullup=1
-
I found information that this is a dtc issue. The error can be suppressed with -W no-unit_address_vs_reg, for example: dtc -W no-unit_address_vs_reg -O dtb -o sun50i-h616-w1-gpio.dtbo sun50i-h616-w1-gpio.dts or warning can be squashed by adding #address-cells and #size-cells
-
Much better, but still warning: sun50i-h616-w1-gpio.dts:20.35-26.27: Warning (unit_address_vs_reg): /fragment@1/__overlay__/onewire@0: node has a unit name, but no reg or ranges property
-
I found another example dtoverlay support for 1-wire subsystem on H616 devices https://github.com/orangepi-xunlong/linux-orangepi/pull/21 /dts-v1/; /plugin/; / { compatible = "allwinner,sun50i-h616"; fragment@0 { target = <&pio>; __overlay__ { w1_pins: w1_pins { pins = "PC10"; function = "gpio_in"; }; }; }; fragment@1 { target-path = "/"; __overlay__ { onewire@0 { compatible = "w1-gpio"; pinctrl-names = "default"; pinctrl-0 = <&w1_pins>; gpios = <&pio 2 10 0>; /* PC10 */ status = "okay"; }; }; }; }; I will try used
-
I tried to make of file with command: dtc -O dtb -o sun50i-h616-w1-gpio.dtbo sun50i-h616-w1-gpio.dts but result is with warring so we can not use example from Orange Pi Zero 2 to create dtbo file for OZPI v3 ? Warning (unit_address_vs_reg): /__local_fixups__/fragment@1/__overlay__/onewire@0: node has a unit name, but no reg or ranges property sun50i-h616-w1-gpio.dts:27.33-69: Warning (gpios_property): /fragment@1/__overlay__/onewire@0:gpios: cell 1 is not a phandle reference sun50i-h616-w1-gpio.dts:27.33-69: Warning (gpios_property): /fragment@1/__overlay__/onewire@0:gpios: Could not get phandle node for (cell 1)
-
Hi @ag123 Thank you for the replay but in case the DS18B20 uses a 1-wire bus, libgpiod is used to use the deprecated sysfs interface to GPIO, so it does not apply in this case, but I may be wrong
-
Looking to /boot/dtb-6.6.30-current-sunxi64/allwinner/overlay/ for h616 not exit dtbo sun50i-h616-w1-gpio.dtbo So for this reason not available in armbina-config in HARDWARE setup w1-gpio so we can not at current use 1-Wire sensor to define on which GPIO is connected 1-Wire sensor DS18B20 uses the 1-wire bus so it will be nice to have possibility use 1-Wire sensors with OZPI v3
-
Hi, I am not sure but in HARDWARE armbian-config when we set [*] w1-gpio (on for example OZPI v1 with ArmBian v23) is only set automatic loading modules during start up system? modprobe wire modprobe w1-gpio modprobe w1-therm I do this manually and I see exist path in system /sys/bus/w1/devices/ but we need know how to set number GPIO to use 1-Wire hardware, on Armbian v23 (Debian v11) it was added in /boot/armbianEnv.txt param_w1_pin=PA14 param_w1_pin_int_pullup=1 but how do this in Armbian v25 (based on Debian v12) so if I would like to connect my thermal sensor to GPIO 74 (PC10) I should be set in armbianEnv.txt ? param_w1_pin=PC10 param_w1_pin_int_pullup=1
-
For information purposes, that the 1.3-inch SH1106 OLED connected to I2C on OZPI v3 works very well OLED connected to PIN 3 of SDA and PIN 5 of SCK and in armbian-config in HARDWARE set to [*] i2c3-ph Using tools i2cdetect -y shows that the OLED is at address 0x3c All Python code with the adafruit library works fine
-
I have question. OZPI v3 has support for hardware DS18B20 thermal sensor via w1-gpio ? In armbian-config when we got to the “system” section and select “Hardware” is not existing w1-gpio or OZPI v3 has not support for w1-gpio hardware ? Does not work because there is no device tree file (in the /boot/dtb/allwinner/) and we need to create it ??? like for OZPI v2 ?: 1. Create text file "sun50i-h616-w1-gpio.dts" /dts-v1/; / { compatible = "xunlong,orangepi-zero2\0allwinner,sun50i-h616"; fragment@0 { target = <0xffffffff>; __overlay__ { w1_pins { pins = "PC9"; function = "gpio_in"; phandle = <0x01>; }; }; }; fragment@1 { target-path = [2f 00]; __overlay__ { onewire@0 { compatible = "w1-gpio"; pinctrl-names = "default"; pinctrl-0 = <0x01>; gpios = <0xffffffff 0x02 0x06 0x00>; status = "okay"; }; }; }; __symbols__ { w1_pins = "/fragment@0/__overlay__/w1_pins"; }; __fixups__ { pio = "/fragment@0:target:0\0/fragment@1/__overlay__/onewire@0:gpios:0"; }; __local_fixups__ { fragment@1 { __overlay__ { onewire@0 { pinctrl-0 = <0x00>; }; }; }; }; }; 2. After you need to compile it, with command "dtc -O dtb -o sun50i-h616-w1-gpio.dtbo sun50i-h616-w1-gpio.dts" 3. Copy it too /boot/dtb/allwinner/overlay/
-
Yes, I confirm the OZPI v3 UART5 described in the original documentation and as /dev/ttyS5 in ArmBian it is marked as /dev/ttyS1 and works correctly
-
I try to find where is problem with UART5 dmesg |grep serial [ 1.306076] sun50i-h616-pinctrl 300b000.pinctrl: pin-224 (5000000.serial) status -517 [ 1.306095] dw-apb-uart 5000000.serial: Error applying setting, reverse things back [ 1.306231] sun50i-h616-pinctrl 300b000.pinctrl: pin-226 (5001400.serial) status -517 [ 1.306249] dw-apb-uart 5001400.serial: Error applying setting, reverse things back [ 1.333692] 5000000.serial: ttyS0 at MMIO 0x5000000 (irq = 296, base_baud = 1500000) is a 16550A [ 1.334902] 5001400.serial: ttyS1 at MMIO 0x5001400 (irq = 297, base_baud = 1500000) is a 16550A dmesg don't show ttyS5 only ttyS0 and ttyS1 so UART5 on PIN26 header is ttyS1 not ttyS5 ?
-
I'm using Armbian an OZPI v3 beta with the kernel: Linux localhost 6.6.23-current-sunxi64 #3 SMP Tue Mar 26 22:22:53 UTC 2024 aarch64 GNU/Linux In armbian-config UART5 is enabled and: ls -al /dev/ttyS5 crw-rw---- 1 root dialout 4, 69 Mar 31 09:49 /dev/ttyS5 I am trying to use communication via serial port UART5 /dev/ttyS5 but without success. When I try to set parameters for serial port stty -F /dev/ttyS5 9600 cs8 -cstopb -parenb stty: /dev/ttyS5: Input/output error When try to send command: echo "AT+VERSION" >/dev/ttyS5 -bash: echo: write error: Input/output error Has anyone successfully used communication via UART5 on OZPI v3?
