-
Notifications
You must be signed in to change notification settings - Fork 12
GPIO for AS67XXT (Lockerstor 4 Gen 2) #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Booting to a newer kernel (5.19) gave me gpioinfo output (yay!): gpiochip0 - 340 lines: I obviously truncated the output here, but more of the same, except for a little over 200 of the lines being output. |
$ lsmod | grep gpio I have to manually modprobe it87 to get it to load for this device (uses IT8625). modprobing for asustor kernel module gives me: modprobe: ERROR: could not insert 'asustor': No such device |
Hi, @hkdd I'm interested too by your question. @mafredri Now I'm searching my front panel LEDs to work but I don't find the way to do that. Or just explain here what to do. Thanking you by advance. |
@odeBuXTeR Thanks, I'll save that link just in case. Somehow with EL8 fan control worked for me, I think out of the box. It's totally quiet and I've never had any thermal issues. I'm thinking for the front panel LED my best bet would be to mount the eMMC from linux and poke around in there. I've done it before, it's busybox iirc (been a while). But I didn't really invest enough time in it. Also, for the sake of anyone searching from Google, this includes models: AS6702T, AS6704T and AS6706T |
Thanks for providing the information @hkdd, I haven't had much time to dedicate to this project lately, unfortunately. When I get some time I'll try to look into adding support (full or partial) for your device. (If you could include the full output of @odeBuXTeR @hkdd: This project has a separate branch, containing a module for it87 https://github.com/mafredri/asustor-platform-driver/tree/it87, this branch features DKMS support so it should be able to automatically build for kernel upgrades. Many guides suggests to use @odeBuXTeR Front panel LEDs are usually controlled via asustor-platform-driver/asustor.c Lines 78 to 80 in e8b2a50
The red status indicator (green/red) is often hooked up to CPU GPIOs (e.g. asustor-platform-driver/asustor.c Line 81 in e8b2a50
Option 2) is to reverse engineer ADM binaries to figure out which pin does what or 3) to experiment by turning pins on/off without knowing what they do (but this can be dangerous/break stuff). |
@odeBuXTeR for verification/experimentation, this document may be helpful: https://github.com/mafredri/asustor-platform-driver/blob/e8b2a5064b99baabf0331d7f1bb8cf3f4cfd617b/research/as6204_it87_gpio_firmware_configuration.md If you run the following command, you'll see the base address of your GPIOs, e.g. for it87: ❯ for gpio in /sys/class/gpio/gpiochip*; do echo $(cat $gpio/{label,ngpio,base}); done
gpio_it87 64 676 The base is 676, as we can see (with a total of 64 pins). If we look at blue power led (from the document), for instance. echo $(($(</sys/class/gpio/gpiochip676/base) + 56)) > /sys/class/gpio/export
echo out > /sys/class/gpio/it87_gp80/direction
echo 0 > /sys/class/gpio/it87_gp80/value
# Did something happen?
echo 1 > /sys/class/gpio/it87_gp80/value
# Did something happen? The above would verify if your blue led is controlled by the same pin as on the AS62XXT/AS6XXT. |
I've got the Intel SuperIO mapping, not the it87 ...
The "modprobe gpio-it87" do nothing, even if the verbose command :/ |
@odeBuXTeR is that a different NAS model than mentioned here? If yes, it would be great if you could open a new issue and provide the information listed in the readme. |
Just a thing, i'm on pve distrib (Proxmox), with an edge Kernel. Is there a link with the matters ? |
The model of my NAS is realy the AS6702T |
Nah, that’s not the problem. Most likely your IT87 chip isn’t supported by the in-kernel gpio-it87 driver. The gpio driver is less popular than the IT87 hwmon driver, so doesn’t look like there are many people developing it. I’ll try to look around if I can find something or if it’d be way to patch in. |
The chip is an IT8625E if it could help it8625-isa-0a30 |
@odeBuXTeR I have a similar model to you (Lockerstor 4 Gen 2) running kernel 5.19.1 and my gpio device is: /sys/bus/gpio/devices/gpiochip0 which is a symlink to /sys/devices/platform/INT34C8:00 This appears to be: Intel(R) Serial IO GPIO Host Controller - INT34C8 modalias tells me its acpi:INT34C8 which appears to be associated with the following kernel module for my kernel Or at least a gpio device, anyway. This is the only gpio device that show up for me. |
In case this is helpful at all: $ pwd |
That's right, the Intel SuperIO give me all the thermal informations that I need, it's not what I'm searching for, I just want to use the front panel's leds in order to prevent me of an an eventual crash or so, and stop this awful continuous green blinking led !!! :-) Package id 0: +72.0°C (high = +105.0°C, crit = +105.0°C) |
Yeah same. Luckily I don't have to stare at the NAS but the green blinking definitely bugs me when I see it. Plus I'd love to do fun stuff with it. |
@odeBuXTeR That LED is controlled via IT8625E GPIOs. The only way to get change it is to re-configure the GPIO, e.g. via the We could try something like modifying https://github.com/torvalds/linux/blob/e4cf7c25bae5c3b5089a3c23a897f450149caef2/drivers/gpio/gpio-it87.c#L300-L301 and add the chip ID, but we'd be guessing as to how the chip should be configured. There's unfortunately no official datasheet available for IT8625E so experimentation is the only way forward (or asking for help from someone with access to the datasheet). |
I found this documents. The truth is in the mmc drive at all, I'll mount the drive and check what I can find there. |
I'm totally missed this conversation until now, sorry. All the LED GPIOs found ( except the blinking green status led and LAN leds), the FAN, the buttons and display working well from about a month on my machine. The only thing I done: modified mafredri's project to contain the IT8625E and determine the GPIO# for each led ( and wrote a small node.js program to drive the display). Additionally for me using kernel 5.15 was necessary to disable the original it87.ko driver which loaded and partially worked. Now on kernel 5.19 with DKMS the three kernel module also working well. Detailed information and the code on the https://github.com/phjz/AS6704T page. Once again: the majority of the code originated from mafredri, thanks! Regarding the Status GPIO: for me the above info about the BREATH LED theoretically can solve the problem, just need to clarify how to reach the registers from kernel and must play with the settings... |
@phjz the link in your post is missing a |
@hendrics: thank you, corrected.... |
I got the green LED to switch off in my branch: https://github.com/DanielGibson/asustor-platform-driver/tree/it87-jasperlake (with my patched asustor_it87 kernel module, |
That's a realy good news ! I'll test that ASAP ! 👍 But how did you find that ? You finally got the datasheets ? |
A combination of the stuff you posted, a (google-translated) chinese blogpost and the datasheets for the IT8720F, see links at top of https://github.com/DanielGibson/asustor-platform-driver/blob/it87-jasperlake/research/LED-Blinking.txt (well, and a certain amount of stubbornness, of course) |
@odeBuXTeR have you been able to test this yet? |
Sorry, I was waiting to update my kernel before testing, I just did it now for the occasion ! And test your driver ... I just lost my processor frequencies in my home assistant panel, but upgrading a kernel and install a new driver ... Who do that at the same time ??? But that's not the priority :) |
Great, thanks for testing! :) |
Closing this thanks to @DanielGibson awesome work in #6. 🎉 Also thanks to you @hkdd and @odeBuXTeR for all the information you contributed. |
Thank you all for YOUR hard work ! My AS6702T running proxmox like a charm with all the funtions needed (leds, fan, 2.5G network, storage capacity, VMs...)It's realy an awesome hardware, build to run for years now and it's thanks to you for sure ! 👍👏
|
Hi, I need the output of @odeBuXTeR could you provide the output for the AS6702T? Thank you very much in advance! |
Hi, I'll check for you ASAPOlivierLe 13 déc. 2024 21:08, Daniel Gibson ***@***.***> a écrit :
Hi, I need the output of sudo lspci -nn for the AS6702T and AS6704T,
because it turned out to be really hard to tell AS67xx and the NVME-only FS67xx apart, see #27.
@odeBuXTeR could you provide the output for the AS6702T?
@hkdd @phjz could one of you provide the output for the AS6704T?
Thank you very much in advance!
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
as requested: AS6704T |
Thank you very much! To support the FS6706T and FS6712X Flashtor devices (that have different LEDs than the AS67xx devices, but also identify as "Intel Corporation" - "Jasper Lake Client Platform"), I had to do lots of changes to the device detection logic. |
You can find here what you ask me for :00:00.0 Host bridge [0600]: Intel Corporation Device [8086:4e24]00:02.0 VGA compatible controller [0300]: Intel Corporation JasperLake [UHD Graphics] [8086:4e61] (rev 01)00:04.0 Signal processing controller [1180]: Intel Corporation Dynamic Tuning service [8086:4e03]00:05.0 Multimedia controller [0480]: Intel Corporation JasperLake IPU [8086:4e19]00:08.0 System peripheral [0880]: Intel Corporation Device [8086:4e11]00:14.0 USB controller [0c03]: Intel Corporation Jasper Lake USB 3.1 xHCI Host Controller [8086:4ded] (rev 01)00:14.2 RAM memory [0500]: Intel Corporation Jasper Lake Shared SRAM [8086:4def] (rev 01)00:15.0 Serial bus controller [0c80]: Intel Corporation Serial IO I2C Host Controller [8086:4de8] (rev 01)00:15.2 Serial bus controller [0c80]: Intel Corporation Jasper Lake Serial IO I2C Host Controller [8086:4dea] (rev 01)00:16.0 Communication controller [0780]: Intel Corporation Management Engine Interface [8086:4de0] (rev 01)00:17.0 SATA controller [0106]: Intel Corporation Jasper Lake SATA AHCI Controller [8086:4dd3] (rev 01)00:19.0 Serial bus controller [0c80]: Intel Corporation Jasper Lake Serial IO I2C Host Controller [8086:4dc5] (rev 01)00:19.1 Serial bus controller [0c80]: Intel Corporation Jasper Lake Serial IO I2C Host Controller [8086:4dc6] (rev 01)00:1a.0 SD Host controller [0805]: Intel Corporation Jasper Lake eMMC Controller [8086:4dc4] (rev 01)00:1c.0 PCI bridge [0604]: Intel Corporation Jasper Lake PCIe Root Port [8086:4db8] (rev 01)00:1c.2 PCI bridge [0604]: Intel Corporation Device [8086:4dba] (rev 01)00:1c.3 PCI bridge [0604]: Intel Corporation Device [8086:4dbb] (rev 01)00:1c.4 PCI bridge [0604]: Intel Corporation Jasper Lake PCIe Root Port [8086:4dbc] (rev 01)00:1c.5 PCI bridge [0604]: Intel Corporation Device [8086:4dbd] (rev 01)00:1c.6 PCI bridge [0604]: Intel Corporation Jasper Lake PCIe Root Port [8086:4dbe] (rev 01)00:1c.7 PCI bridge [0604]: Intel Corporation Device [8086:4dbf] (rev 01)00:1e.0 Communication controller [0780]: Intel Corporation Jasper Lake Serial IO UART Controller [8086:4da8] (rev 01)00:1e.3 Serial bus controller [0c80]: Intel Corporation Jasper Lake Serial IO SPI Controller [8086:4dab] (rev 01)00:1f.0 ISA bridge [0601]: Intel Corporation Jasper Lake eSPI Controller [8086:4d87] (rev 01)00:1f.4 SMBus [0c05]: Intel Corporation Jasper Lake SMBus [8086:4da3] (rev 01)00:1f.5 Serial bus controller [0c80]: Intel Corporation Jasper Lake SPI Controller [8086:4da4] (rev 01)02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 05)03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 05)04:00.0 Non-Volatile memory controller [0108]: Sandisk Corp WD Blue SN570 NVMe SSD 1TB [15b7:501a]05:00.0 Non-Volatile memory controller [0108]: Sandisk Corp WD Blue SN570 NVMe SSD 1TB [15b7:501a]06:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 [144d:a808]07:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 [144d:a808]Le 14 déc. 2024 07:16, Olivier DEGAND ***@***.***> a écrit :Hi, I'll check for you ASAPOlivierLe 13 déc. 2024 21:08, Daniel Gibson ***@***.***> a écrit :
Hi, I need the output of sudo lspci -nn for the AS6702T and AS6704T,
because it turned out to be really hard to tell AS67xx and the NVME-only FS67xx apart, see #27.
@odeBuXTeR could you provide the output for the AS6702T?
@hkdd @phjz could one of you provide the output for the AS6704T?
Thank you very much in advance!
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Thank you! |
sudo dmidecode -s system-manufacturer
Intel Corporation
sudo dmidecode -s system-product-name
Jasper Lake Client Platform
sudo dmidecode -s bios-vendor
Phoenix Technologies Ltd
sudo dmidecode -s bios-version
V1.14
sudo dmidecode -s bios-release-date
12/02/2021
sudo dmidecode -s bios-revision
0.0
sudo gpinfo returns nothing (cant find any gpio related driver).
dmesg attached
as6704t_dmesg.txt
The text was updated successfully, but these errors were encountered: