TELTONIKA, RUT955: Tainted Kernel (ATH1)

Now I built a basic image (no mods to make menuconfig) for the RUT955, from latest openwrt.
And I see in dmesg:

root@OpenWrt:~# dmesg
[    0.000000] Linux version 5.4.72 (openwrt@minnow-dev-1) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r14736-6a56a6eb30)) #0 Wed Oct 21 14:26:43 2020
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001974c (MIPS 74Kc)
[    0.000000] MIPS: machine is Teltonika RUT955
[    0.000000] SoC: Atheros AR9344 rev 3
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] On node 0 totalpages: 32768
[    0.000000]   Normal zone: 288 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 32768 pages, LIFO batch:7
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 122248K/131072K available (4774K kernel code, 190K rwdata, 1104K rodata, 1220K init, 196K bss, 8824K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 51
[    0.000000] random: get_random_bytes called from start_kernel+0x32c/0x518 with crng_init=0
[    0.000000] CPU clock: 550.000 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6950037990 ns
[    0.000009] sched_clock: 32 bits at 275MHz, resolution 3ns, wraps every 7809031678ns
[    0.008716] Calibrating delay loop... 273.66 BogoMIPS (lpj=547328)
[    0.055592] pid_max: default: 32768 minimum: 301
[    0.060921] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.069093] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.083571] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.094491] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.102243] pinctrl core: initialized pinctrl subsystem
[    0.109263] NET: Registered protocol family 16
[    0.148450] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512
[    0.163093] clocksource: Switched to clocksource MIPS
[    0.170170] NET: Registered protocol family 2
[    0.176006] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.185420] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.193986] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.201876] TCP: Hash tables configured (established 1024 bind 1024)
[    0.209127] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.216485] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.224667] NET: Registered protocol family 1
[    0.229608] PCI: CLS 0 bytes, default 32
[    0.238467] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.253446] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.260011] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.290019] pinctrl-single 1804002c.pinmux: 544 pins, size 68
[    0.297651] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[    0.305610] printk: console [ttyS0] disabled
[    0.310493] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 2500000) is a 16550A
[    0.320140] printk: console [ttyS0] enabled
[    0.329043] printk: bootconsole [early0] disabled
[    0.349902] spi-nor spi0.0: xt25f128b (16384 Kbytes)
[    0.355056] 5 fixed-partitions partitions found on MTD device spi0.0
[    0.361529] Creating 5 MTD partitions on "spi0.0":
[    0.366412] 0x000000000000-0x000000020000 : "u-boot"
[    0.372550] 0x000000020000-0x000000030000 : "config"
[    0.378698] 0x000000030000-0x000000040000 : "art"
[    0.384607] 0x000000040000-0x000000f70000 : "firmware"
[    0.395550] 2 tplink-fw partitions found on MTD device firmware
[    0.401599] Creating 2 MTD partitions on "firmware":
[    0.406665] 0x000000000000-0x0000001e843f : "kernel"
[    0.412820] 0x0000001f0000-0x000000f30000 : "rootfs"
[    0.418914] mtd: device 5 (rootfs) set to be root filesystem
[    0.426772] 1 squashfs-split partitions found on MTD device rootfs
[    0.433127] 0x0000004f0000-0x000000f30000 : "rootfs_data"
[    0.439770] 0x000000f70000-0x000001000000 : "event-log"
[    0.448450] libphy: Fixed MDIO Bus: probed
[    0.788189] ag71xx 19000000.eth: Could not connect to PHY device. Deferring probe.
[    1.112688] ------------[ cut here ]------------
[    1.117476] WARNING: CPU: 0 PID: 1 at drivers/reset/core.c:556 __reset_control_get_internal+0x15c/0x190
[    1.127019] Modules linked in:
[    1.130139] CPU: 0 PID: 1 Comm: swapper Not tainted 5.4.72 #0
[    1.135971] Stack : 80650000 805efca8 00000000 00000000 805eee78 87c2d95c 87c282fc 80625ce3
[    1.144471]         80591e8c 00000001 807832d8 00000001 00000000 00000001 87c2d910 78b49ac7
[    1.152962]         00000000 00000000 807b0000 00000053 61696e74 00000000 2e342e37 32202330
[    1.161454]         00000053 42b80d63 00000000 0001fc5b 00000000 00000009 00000000 802e86c8
[    1.169951]         00000009 00000001 00000000 87c87610 00000000 802ff9d0 00000000 80780000
[    1.178447]         ...
[    1.180940] Call Trace:
[    1.183456] [<80069934>] show_stack+0x30/0x100
[    1.187984] [<80082564>] __warn+0xc0/0x10c
[    1.192151] random: fast init done
[    1.195626] [<8008260c>] warn_slowpath_fmt+0x5c/0xac
[    1.200684] [<802e86c8>] __reset_control_get_internal+0x15c/0x190
[    1.206885] [<802e883c>] __of_reset_control_get+0x140/0x1fc
[    1.212562] [<802e8bc4>] __devm_reset_control_get+0x70/0x108
[    1.218347] [<80365808>] ag71xx_mdio_probe+0xbc/0x208
[    1.223515] [<803133f4>] platform_drv_probe+0x40/0x94
[    1.228658] [<80311548>] really_probe+0x104/0x358
[    1.233452] [<8030f600>] bus_for_each_drv+0x70/0xb0
[    1.238424] [<80311400>] __device_attach+0x114/0x150
[    1.243485] [<80310538>] bus_probe_device+0x9c/0xb8
[    1.248456] [<8030d90c>] device_add+0x3e4/0x608
[    1.253083] [<8037aa74>] of_platform_device_create_pdata+0xa8/0x150
[    1.259456] [<8037ac5c>] of_platform_bus_create+0x134/0x224
[    1.265132] [<8037aec8>] of_platform_populate+0x78/0xec
[    1.270465] [<80367b38>] ag71xx_probe+0x6e4/0x98c
[    1.275265] [<803133f4>] platform_drv_probe+0x40/0x94
[    1.280409] [<80311548>] really_probe+0x104/0x358
[    1.285205] [<80311c90>] device_driver_attach+0x70/0x98
[    1.290530] [<80311d18>] __driver_attach+0x60/0x100
[    1.295502] [<8030f540>] bus_for_each_dev+0x68/0xa4
[    1.300474] [<803108ac>] bus_add_driver+0x1f0/0x200
[    1.305446] [<80312384>] driver_register+0x84/0x148
[    1.310438] [<80663c44>] ag71xx_module_init+0x2c/0x50
[    1.315583] [<80060a1c>] do_one_initcall+0x7c/0x1dc
[    1.320573] [<8064fe10>] kernel_init_freeable+0x158/0x23c
[    1.326071] [<805035b8>] kernel_init+0x10/0xf0
[    1.330606] [<80064d98>] ret_from_kernel_thread+0x14/0x1c
[    1.336114] ---[ end trace 5447f7479cc1b374 ]---
[    1.341220] libphy: ag71xx_mdio: probed
[    1.346550] libphy: ar8xxx-mdio: probed
[    1.358611] switch0: Atheros AR8229 rev. 1 switch registered on mdio.0
[    1.400815] ag71xx 1a000000.eth: connected to PHY at fixed-0:00 [uid=00000000, driver=Generic PHY]
[    1.410692] eth0: Atheros AG71xx at 0xba000000, irq 5, mode: gmii
[    1.417184] i2c /dev entries driver
[    1.427451] NET: Registered protocol family 10
[    1.436445] Segment Routing with IPv6
[    1.440376] NET: Registered protocol family 17
[    1.444997] 8021q: 802.1Q VLAN Support v1.8
[    1.450349] GPIO line 4 (rut955:ext:sck) hogged as output/high
[    1.456352] GPIO line 12 (rut955:ext:mosi) hogged as output/high
[    1.462472] GPIO line 20 (rut955:ext:cs) hogged as output/low
[    1.468328] GPIO line 3 (rut955:mmc:cs) hogged as output/high
[    1.474180] GPIO line 18 (rut955:uart1:td) hogged as output/high
[    1.480296] GPIO line 11 (rut955:uart1:rd) hogged as input
[    1.485884] GPIO line 1 (rut955:led:wan) hogged as output/high
[    1.491825] GPIO line 13 (rut955:led:lan2) hogged as output/high
[    1.497940] GPIO line 14 (rut955:led:lan1) hogged as output/high
[    1.504056] GPIO line 22 (rut955:led:lan3) hogged as output/high
[    1.511020] i2c-gpio i2c: using lines 17 (SDA) and 16 (SCL)
[    1.519564] 18500000.uart: ttyATH1 at MMIO 0x18500000 (irq = 12, base_baud = 2500000) is a AR933X UART
[    1.529062] ------------[ cut here ]------------
[    1.533791] WARNING: CPU: 0 PID: 103 at drivers/gpio/gpiolib.c:3637 gpiod_set_array_value_complex+0x33c/0x42c
[    1.543838] Modules linked in:
[    1.546946] CPU: 0 PID: 103 Comm: kworker/0:1 Tainted: G        W         5.4.72 #0
[    1.554731] Workqueue: events deferred_probe_work_func
[    1.559942] Stack : 80591e8c 802af884 00000009 00000002 87e40a80 800b9440 87e0b3bc 00000000
[    1.568424]         00000017 87cc31bc 80583454 87d5fab4 80620000 00000000 87d5fa88 35b5a492
[    1.576908]         00000000 00000000 00000000 00000094 00000063 00000000 645f7072 6f62655f
[    1.585381]         00000094 807a0000 00000000 000876eb 00000000 00000009 00000000 802af884
[    1.593855]         00000009 00000002 87e40a80 87d5fbb0 00000001 802ff9d0 00000000 80780000
[    1.602330]         ...
[    1.604813] Call Trace:
[    1.607314] [<80069934>] show_stack+0x30/0x100
[    1.611830] [<80082564>] __warn+0xc0/0x10c
[    1.615989] [<8008260c>] warn_slowpath_fmt+0x5c/0xac
[    1.621024] [<802af884>] gpiod_set_array_value_complex+0x33c/0x42c
[    1.627297] [<802afc0c>] gpiod_set_array_value+0x34/0x48
[    1.632708] [<8030632c>] mctrl_gpio_set+0xc4/0xe8
[    1.637500] [<802fb358>] uart_add_one_port+0x3cc/0x534
[    1.642714] [<80305428>] ar933x_uart_probe+0x2d8/0x35c
[    1.647940] [<803133f4>] platform_drv_probe+0x40/0x94
[    1.653064] [<80311548>] really_probe+0x104/0x358
[    1.657832] [<8030f600>] bus_for_each_drv+0x70/0xb0
[    1.662778] [<80311400>] __device_attach+0x114/0x150
[    1.667811] [<80310538>] bus_probe_device+0x9c/0xb8
[    1.672757] [<80310afc>] deferred_probe_work_func+0x7c/0xbc
[    1.678432] [<80099a10>] process_one_work+0x220/0x480
[    1.683557] [<80099f9c>] worker_thread+0x32c/0x5c8
[    1.688431] [<8009eb6c>] kthread+0x138/0x140
[    1.692772] [<80064d98>] ret_from_kernel_thread+0x14/0x1c
[    1.698254] ---[ end trace 5447f7479cc1b376 ]---
[    2.020999] ag71xx 19000000.eth: connected to PHY at mdio.0:1f:04 [uid=004dd042, driver=Generic PHY]
[    2.031396] eth1: Atheros AG71xx at 0xb9000000, irq 4, mode: mii
[    2.043962] VFS: Mounted root (squashfs filesystem) readonly on device 31:5.
[    2.058164] Freeing unused kernel memory: 1220K
[    2.062793] This architecture does not have kernel memory protection.
[    2.069338] Run /sbin/init as init process
[    2.733324] init: Console is alive
[    2.737123] init: - watchdog -
[    3.938127] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    3.992477] usbcore: registered new interface driver usbfs
[    3.998191] usbcore: registered new interface driver hub
[    4.003722] usbcore: registered new device driver usb
[    4.016848] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    4.027031] ehci-fsl: Freescale EHCI Host controller driver
[    4.034864] ehci-platform: EHCI generic platform driver
[    4.040553] ehci-platform 1b000000.usb: EHCI Host Controller
[    4.046400] ehci-platform 1b000000.usb: new USB bus registered, assigned bus number 1
[    4.054487] ehci-platform 1b000000.usb: irq 3, io mem 0x1b000000
[    4.075122] ehci-platform 1b000000.usb: USB 2.0 started, EHCI 1.00
[    4.082435] hub 1-0:1.0: USB hub found
[    4.086750] hub 1-0:1.0: 1 port detected
[    4.094324] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.112537] init: - preinit -
[    4.576480] usb 1-1: new high-speed USB device number 2 using ehci-platform
[    4.878368] hub 1-1:1.0: USB hub found
[    4.955404] hub 1-1:1.0: 4 ports detected
[    5.027449] random: procd: uninitialized urandom read (4 bytes read)
[    5.371189] usb 1-1.3: new full-speed USB device number 3 using ehci-platform
[    5.527815] random: jshn: uninitialized urandom read (4 bytes read)
[    5.691182] usb 1-1.4: new full-speed USB device number 4 using ehci-platform
[    5.759251] random: jshn: uninitialized urandom read (4 bytes read)
[    5.867168] usb 1-1.4: new high-speed USB device number 5 using ehci-platform
[    6.161044] urandom_read: 2 callbacks suppressed
[    6.161052] random: jshn: uninitialized urandom read (4 bytes read)
[    6.233786] random: jshn: uninitialized urandom read (4 bytes read)
[    6.365835] random: jshn: uninitialized urandom read (4 bytes read)
[    6.882777] eth0: link up (1000Mbps/Full duplex)
[    6.895888] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    6.914752] IPv6: ADDRCONF(NETDEV_CHANGE): eth0.1: link becomes ready
[   11.133606] mount_root: jffs2 not ready yet, using temporary tmpfs overlay
[   11.145678] urandom-seed: Seed file not found (/etc/urandom.seed)
[   11.265429] eth0: link down
[   11.292216] procd: - early -
[   11.295415] procd: - watchdog -
[   11.964931] procd: - watchdog -
[   11.968531] procd: - ubus -
[   12.119485] random: ubusd: uninitialized urandom read (4 bytes read)
[   12.185915] random: ubusd: uninitialized urandom read (4 bytes read)
[   12.194681] procd: - init -
[   13.163824] kmodloader: loading kernel modules from /etc/modules.d/*
[   13.260456] cdc_acm 1-1.3:1.0: ttyACM0: USB ACM device
[   13.271695] usbcore: registered new interface driver cdc_acm
[   13.277524] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[   13.319380] usbcore: registered new interface driver cdc_wdm
[   13.340583] Loading modules backported from Linux version v5.8-0-gbcf876870b95
[   13.347973] Backport generated by backports.git v5.8-1-0-g79400d9e
[   13.411343] mcp3021 0-004d: hwmon_device_register() is deprecated. Please convert the driver to use hwmon_device_register_with_info().
[   13.505011] xt_time: kernel timezone is -0000
[   13.800505] PPP generic driver version 2.4.2
[   13.810549] urngd: v1.0.2 started.
[   13.816224] NET: Registered protocol family 24
[   13.832914] qmi_wwan 1-1.4:1.4: cdc-wdm0: USB WDM device
[   13.848187] qmi_wwan 1-1.4:1.4 wwan0: register 'qmi_wwan' at usb-1b000000.usb-1.4, WWAN/QMI device, 22:34:d0:48:96:1f
[   13.859283] usbcore: registered new interface driver qmi_wwan
[   14.107629] ath: EEPROM regdomain sanitized
[   14.107641] ath: EEPROM regdomain: 0x64
[   14.107646] ath: EEPROM indicates we should expect a direct regpair map
[   14.107671] ath: Country alpha2 being used: 00
[   14.107676] ath: Regpair used: 0x64
[   14.121722] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   14.124248] ieee80211 phy0: Atheros AR9340 Rev:3 mem=0xb8100000, irq=13
[   14.163579] kmodloader: done loading kernel modules from /etc/modules.d/*
[   14.287795] random: crng init done
[   49.491699] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0
[   49.515199] jffs2_build_filesystem(): unlocking the mtd device...
[   49.515207] done.
[   49.523466] jffs2_build_filesystem(): erasing all blocks after the end marker...
[   56.180309] eth0: link up (1000Mbps/Full duplex)
[   56.207511] br-lan: port 1(eth0.1) entered blocking state
[   56.213065] br-lan: port 1(eth0.1) entered disabled state
[   56.218953] device eth0.1 entered promiscuous mode
[   56.223875] device eth0 entered promiscuous mode
[   56.290195] br-lan: port 1(eth0.1) entered blocking state
[   56.295743] br-lan: port 1(eth0.1) entered forwarding state
[   57.203215] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   57.210355] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   58.485200] eth1: link up (100Mbps/Full duplex)
[   58.495792] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[   88.930992] done.
[   88.933007] jffs2: notice: (1401) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[   89.088607] overlayfs: upper fs does not support tmpfile.

Are these "Tainted" messages to be expected ?
Having no luck to get RS485 to work, could this be the reason ?

You already have problems with ag71xx throwing a call trace at 1.112688s, at which point the kernel hasn't been tainted yet. The subsequent taints are "W" (kernel issued warning (#9)) - and "G" (proprietary module was loaded (#0)), the later is a bit unexpected…

Now I flashed org firmware from Teltonika. It shows different hw pars:

[    0.480000] console [ttyS0] disabled
[    0.500000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11, base_baud = 2500000) is a 16550A
[    0.500000] console [ttyS0] enabled
[    0.500000] bootconsole [early0] disabled
[    0.500000] ar934x-hs-uart.0: ttyATH0 at MMIO 0x18500000 (irq = 14, base_baud = 2500000) is a AR934X UART

So it looks like openwrt for RUT955 seriously broken.