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
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: Starting LSB: Start qcontrol
Aug 15 22:24:35 TS-421 qcontrold: Starting qcontrol daemon:
Aug 15 22:24:35 TS-421 systemd: Started LSB: Start qcontrol daemon.
Aug 15 22:24:35 TS-421 qcontrol: qcontrol 0.5.4 daemon starting.
Aug 15 22:24:35 TS-421 qcontrol: Register evdev on
Aug 15 22:24:35 TS-421 qcontrol: ts41x:
/sys/class/gpio/gpio45/value does not exist, trying to enable
Aug 15 22:24:35 TS-421 qcontrol: ts41x: unable to open gpio control
Aug 15 22:24:35 TS-421 qcontrol: confdir: loading from
Aug 15 22:24:36 TS-421 qcontrol: System boot completed.
Aug 15 22:24:36 TS-421 qcontrol: 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)
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
[ 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
[ 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
[ 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.