How can I install OpenWrt on Qnap Ts-231+

Hi,

I need to know if it is possible to install LEDE or OpenWRT on
Qnap TS-231+, if it is possible, how to do it? Thanks!

Some info Here:

CPU AnnapurnaLabs, an Amazon company Alpine AL-212 dual-core 1.4GHz processor
DRAM 1GB DDR3 RAM
Flash Memory 512MB

You would have to create a virtual machine on the NAS with some application that is sure to be in the manufacturer's store.

Thanks for your reply. But The cpu of TS231 is ARM architecture. I can’t install virtual machine on ts231.

Maybe with Docker, if there is any application.

I believe the OP is looking to find if there is a port already or if/how it could be ported.

1 Like

Is there anyone would help me? Thanks.

The truth that I have no idea.

Wikidevi shows a few routers running AnnapurnaLabs CPUs, but I didn't find any of them in the Table of Hardware for OpenWrt.

There is apparently some support upstream for the processor, for example, https://lists.debian.org/debian-arm/2016/04/msg00040.html

It would probably come down to getting enough information about the board and a functional DTS for the entire board (not just the SoC) to be able to port a new target for OpenWrt and then the board for that target. If there is a viable GPL drop for the device that is DTS based that might make it easier. If the device is running a DTB-based kernel, then that information could be read from /proc/device-tree and de-compiled. Depending on how old that kernel was and how many proprietary drivers were in use would impact how useful that information was.

Possible, yes. Easy? Probably not, at least with what my quick search found. Information I may not have found may make it easier.

Upstream support for these AnnapurnaLabs SOCs (taking the AL-514 as an example) doesn't go far beyond serial console support and mainlining has stopped after amazon bought them out. While it's an interesting and very fast SOC, they're only used in very few (high priced-) devices and there'd be a lot of work required to get it working.

1 Like

Thanks for your help.
How do I find the DTS of this device?

# cat /proc/cpuinfo
processor	: 0
model name	: Annapurna Labs Alpine AL212 Dual-core ARM Cortex-A15 CPU @ 1.40GHz
Speed		: 1.4GHz
Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x2
CPU part	: 0xc0f
CPU revision	: 4

processor	: 1
model name	: Annapurna Labs Alpine AL212 Dual-core ARM Cortex-A15 CPU @ 1.40GHz
Speed		: 1.4GHz
Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x2
CPU part	: 0xc0f
CPU revision	: 4

Hardware	: Annapurna Labs Alpine
Revision	: 0000
Serial		: 0000000000000000

[~] # uname -a
Linux Mac 4.2.8 #2 SMP Thu Apr 25 04:20:11 CST 2019 armv7l unknown

If the vendor firmware is device tree based (instead of using the older approach using device specific mach files, but device tree is more likely on ARM platforms), you can extract it from the running kernel (/sys/firmware/devicetree/base) via dtc (device-tree-compiler). However, this is only partially useful, as the results are both bad quality (using a flat FDT, with all includes being expanded) and because they only apply to the vendor kernel and its drivers, while the interfaces (the device tree bindings and their ABI) might differ to current mainline(ish) or OpenWrt kernels, due to different drivers and driver versions being in use. Furthermore many of the required drivers and driver changes will also be missing from mainline'ish kernels, so having a FDT file on its own is only (a rather small) part of the puzzle.

@DavidY

What is the status of QNAP and publicly available GPL source?

This a another place to touch when undergoing such endeavors.

@wulfy23
https://sourceforge.net/projects/qosgpl/files/QNAP%20NAS%20GPL%20Source/
Can only find kernel sources for QTS 4.4.0

1 Like