[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Qnap TS-421: GPIOs (for qcontrol and ethernet) not working


I'm running Debian on my TS-421 and recently switched to stretch, with the most recent kernel: "Linux TS-421 4.6.0-1-marvell #1 Debian 4.6.4-1 (2016-07-18) armv5tel GNU/Linux"

Since then some features of qcontrol are not working anymore, like controlling the LCD and Backlight, turning the device off with the power button. The problem seems to be, that the GPIO-device for pin 45 is not being created. During startup, the daemon creates this output:
Aug 15 22:24:35 TS-421 systemd[1]: Starting LSB: Start qcontrol daemon... Aug 15 22:24:35 TS-421 qcontrold[954]: Starting qcontrol daemon: qcontrol.
Aug 15 22:24:35 TS-421 systemd[1]: Started LSB: Start qcontrol daemon.
Aug 15 22:24:35 TS-421 qcontrol[984]: qcontrol 0.5.4 daemon starting.
Aug 15 22:24:35 TS-421 qcontrol[984]: Register evdev on /dev/input/by-path/platform-gpio_keys-event Aug 15 22:24:35 TS-421 qcontrol[984]: ts41x: /sys/class/gpio/gpio45/value does not exist, trying to enable Aug 15 22:24:35 TS-421 qcontrol[984]: ts41x: unable to open gpio control file Aug 15 22:24:35 TS-421 qcontrol[984]: confdir: loading from /etc/qcontrol.d...
Aug 15 22:24:36 TS-421 qcontrol[1015]: System boot completed.
Aug 15 22:24:36 TS-421 qcontrol[984]: System status: start
(Note, that qcontrol is using a config file named ts41x for the TS-421, but that was working fine in jessie.) I tried creating the device manually with "echo 45>/sys/class/gpio/export" but to no avail. I cannot create any GPIO-device this way, I tried 0-49. There is no error message in any of the logs though.

When pushing the power button, nothing happens, and the buttons beside the LCD only create a few of these messages in dmesg:
sysrq: SysRq : HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) show-blocked-tasks(w) dump-ftrace-buffer(z)

In the kernel messages, there seems to be another problem with GPIO, I'm not sure if that is related:
[ 28.945880] kirkwood-pinctrl f1010000.pin-controller: pin PIN20 already requested by f1080000.sata; cannot claim for f1076000.ethernet-controller [ 29.102246] kirkwood-pinctrl f1010000.pin-controller: pin-20 (f1076000.ethernet-controller) status -22 [ 29.213767] kirkwood-pinctrl f1010000.pin-controller: could not request pin 20 (PIN20) from group mpp20 on device f1010000.pin-controller [ 29.362816] mv643xx_eth f1076000.ethernet-controller: Error applying setting, reverse things back
I didn't manage to get the second ethernet interface (eth1) running, it does receive ethernet frames but none come out. That might also be a configuration error on my side.

While the device is running, there are different errors occuring in the kernel log from time to time:
[ 6501.599024] Unhandled fault: external abort on linefetch (0x814) at 0xb2655b6c
[ 6501.685555] pgd = ef3f0000
[ 6501.717939] [b2655b6c] *pgd=387b2831
[28864.117658] BUG: Bad rss-counter state mm:ee6a2da0 idx:1 val:1
[38763.524264] BUG: Bad rss-counter state mm:ee6a2020 idx:1 val:1
These don't seem to have any influence.

Any help with these problems is most welcome.


Reply to: