[Solved] w1-gpio on aarch64

This is for ARMv8 based devices

[Solved] w1-gpio on aarch64

Postby zebul666 » Fri Feb 18, 2022 8:52 pm

hi.
I switched a rpi3b from armv7h to aarch64 by a complete reinstall.

After copying back most of my configuration files, everyhting is ok, except the OneWire temperature probe.

In fact, I noticed that there was no built-in module for w1-gpio, so I compiled one (only the module following the wiki page https://wiki.archlinux.org/title/Compile_kernel_module) , but that did not change anything.

So, beside $this->bbcode_second_pass_code('', 'dtoverlay=w1-gpio'), in config.txt, what is needed to get w1-gpio up and running aarch64 on a rpi3b
Last edited by zebul666 on Sat Feb 19, 2022 12:10 pm, edited 1 time in total.
zebul666
 
Posts: 48
Joined: Fri Jul 10, 2015 4:55 pm

Re: w1-gpio on aarch64

Postby graysky » Fri Feb 18, 2022 9:03 pm

I do not know your device... which module did you think you needed to build? We are shipping quite a few matching 'w1':
$this->bbcode_second_pass_code('', '% pacman -Ql linux-rpi|grep w1
linux-rpi /boot/overlays/w1-gpio-pullup.dtbo
linux-rpi /boot/overlays/w1-gpio.dtbo
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/net/wireless/st/cw1200/
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/net/wireless/st/cw1200/cw1200_core.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/net/wireless/st/cw1200/cw1200_wlan_sdio.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/net/wireless/st/cw1200/cw1200_wlan_spi.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/masters/
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/masters/ds1wm.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/masters/ds2482.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/masters/ds2490.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/masters/w1-gpio.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/slaves/
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/slaves/w1_ds2406.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/slaves/w1_ds2408.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/slaves/w1_ds2413.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/slaves/w1_ds2423.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/slaves/w1_ds2431.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/slaves/w1_ds2433.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/slaves/w1_ds2438.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/slaves/w1_ds2780.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/slaves/w1_ds2781.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/slaves/w1_ds28e04.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/slaves/w1_ds28e17.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/slaves/w1_smem.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/slaves/w1_therm.ko.gz
linux-rpi /usr/lib/modules/5.15.23-1-rpi-ARCH/kernel/drivers/w1/wire.ko.gz
')
graysky
Developer
 
Posts: 1728
Joined: Sun Jun 26, 2011 6:56 am
Location: /run/user/1000

Re: w1-gpio on aarch64

Postby zebul666 » Sat Feb 19, 2022 9:36 am

i have a DS18B20 that you plug in gpio 4 and ground, with a little resistor in between 2 wires.

This used to work fine on armv7h, with just, as far as I remember, the dtoverlay=w1-gpio (like said in the wiki:doc);

Then, You simply look at /sys/devices/w1_bus_master1/w1_master_slaves for a "slave"

Compiling w1-gpio as a module, and modprobing changed nothing. neither wire module.

Something is missing, I don't know what. Is it even possible on that kernel ?
zebul666
 
Posts: 48
Joined: Fri Jul 10, 2015 4:55 pm

Re: w1-gpio on aarch64

Postby zebul666 » Sat Feb 19, 2022 10:05 am

I just noticed that there is a /boot/overlays/w1-gpio.dtbo for linux-rpi (armv7h)
But for aarch64 I can't see any file looking like that in /boot neither w1-gpio.dtb nor w1-gpio.dtbo.

Could this explain the problem I have ?

I am using linux-aarch64. This one came with ArchLinuxARM-rpi-aarch64-latest.tar.gz

And also there is no w1-gpio module in linux-aarch64 too
zebul666
 
Posts: 48
Joined: Fri Jul 10, 2015 4:55 pm

Re: w1-gpio on aarch64

Postby graysky » Sat Feb 19, 2022 11:40 am

$this->bbcode_second_pass_quote('zebul666', 'I') am using linux-aarch64.


Try the RPi Foundation kernel. It is linux-rpi whereas linux-aarch64 is vanilla linux, not RPiF's fork.
graysky
Developer
 
Posts: 1728
Joined: Sun Jun 26, 2011 6:56 am
Location: /run/user/1000

Re: w1-gpio on aarch64

Postby zebul666 » Sat Feb 19, 2022 12:10 pm

OK. sorry.
It makes sense now that you say it.

I thought
- armv7h ==> linux-rpi
- aarch64 ==> linux-aarch64
Did not even think to look at linux-rpi kernel

It's working now \o/
zebul666
 
Posts: 48
Joined: Fri Jul 10, 2015 4:55 pm

Re: [Solved] w1-gpio on aarch64

Postby zebul666 » Sun Feb 20, 2022 10:09 am

P.S.:
It worked until I rebooted because of the new kernel 5.15.24-1

Then, I got in my log:
$this->bbcode_second_pass_code('', '
w1_master_driver w1_bus_master1: Attaching one wire slave 28.0416b11a80ff crc 90
w1_master_driver w1_bus_master1: Family 28 for 28.0416b11a80ff.90 is not registered.
')
instead of
$this->bbcode_second_pass_code('', '
w1_master_driver w1_bus_master1: Attaching one wire slave 28.0416b11a80ff crc 90
')

Out of idea, I tried changing the line in /boot/config.txt to

$this->bbcode_second_pass_code('', '
dtoverlay=w1-gpio,gpiopin=4
')
and that worked back again.

But I wonder why this thing happened.

To anyone that cold be interested
zebul666
 
Posts: 48
Joined: Fri Jul 10, 2015 4:55 pm


Return to ARMv8 Devices

Who is online

Users browsing this forum: No registered users and 6 guests