-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Linux kernel tree for Technologic Systems TS-7670 and TS-7400-V2.
This is a port of Linux to the Technologic Systems TS-7670 and TS-7400-V2 single-board computers which are based on the Freescale/NXP i.MX286 system on chip.
The purpose of this port is to provide an up-to-date mainline Linux kernel tree for these devices.
Technologic Systems ship an officially supported image based on Debian Wheezy and Linux kernel 2.6.36. Debian Wheezy is officially out of support now, and most modern Linux distributions will not run on such an old kernel.
This enables these devices to run current versions of Linux distributions such as Debian Jessie and Stretch (and the upcoming Buster release) which require newer kernels to operate.
This tree is not supported by Technologic Systems.
Customers of VRT Systems who have purchased A-series WideSky Gateways and WAGES Hubs from us based on the TS-7670 should refer to their support agreement with VRT Systems for support.
On Jessie and Stretch? Just fine. These machines will never compete for number one spot in the TOP500 supercomputer rankings, but inspite of their modest specifications, they can perform quite useful tasks such as acting as intelligent RS-232, RS-485 and CAN-BUS gateways, acting as a low-power router or interfacing to custom hardware.
Accepting that these machines have about the computing capacity of a desktop PC of the late 90s, they are still quite useful.
All TS-7670 boards feature dual MicroSD sockets. Revision C and D boards also feature on-board eMMC flash.
-
/dev/mmcblk0is CN3 -
/dev/mmcblk1is on-board eMMC on rev C and D boards -
/dev/mmcblk2is CN4
This works as a host port. Note the hardware is likely to take umbrage to people plugging in bus-powered hard drives, but any low-power peripherals should work fine.
This is the USB type B port next to the host port. It connects to a
USB-serial converter which is wired up to /dev/ttyAMA0. U-Boot and the
system console is accessible via this port.
A single 10/100Mbps Ethernet interface should appear as eth0. If you need
multiple ports, then setting up 802.1Q VLANs and using a managed switch is
known to work just fine.
All LEDs are controllable via the Linux kernel LEDs framework.
The blue LED (marked STATUS 1) is controlled in a diode-OR arrangement using two N-channel MOSFETs, one which is under the control of the Linux kernel, the other is controlled by the companion MCU in the TS-7670.
No support is available for controlling the companion MCUs use of this LED, thus on most systems, this LED will just stay permanently on.
These need transceivers that are all separately controlled with GPIOs, in the case of the RS-232 ports and a PWM channel for RS-485. The PWM is to supply the RS-485 transceiver with a clock, which it inexplicably needs. It should be a 50% duty cycle, and a frequency equal to the baud rate.
Since kernel 4.4.1, support has been added to the auart-mxs driver drive the PWM channel for the RS-485 port. Handling of other GPIO signals is on the TODO list.
The system-on-chip has one, but there is also a second one on the board. Both are supported.
The on-board RTC also has NVRAM, support for this is untested. At worst, this
should be accessible from userspace using /dev/i2c-0 at address 0x57 using
i2cdump, i2cget and i2cset.
On earlier TS-7670s, NAND flash rather than eMMC storage is available. This is supported.
This is supported, as is the built-in watchdog of the i.MX286.
This does communicate with the host (via /dev/ttyAP3), although last time
this was attempted, we found the module did not like talking to the Telstra 3G
network or sharing its session with the host. Your mileage may vary.
The kernel can see it, and reports the presence of can0 and can1, but at
this time, no attempt has been made to test it.
This is via a USB dongle. I've never used a board that had this feature, but see no reason why it couldn't be made to work with some effort.
The GPS requires a GPIO to be turned on, after that it may be accessed via one
of the UARTs (/dev/ttyAP4)
- NVRAM in RTC chip
- Anything on TS-7400-V2 (the board is very similar to the TS-7670)
This is, for want of better terminology, a form of mirror-RAID tweaked for MicroSD cards. On official TS images, this is presented to the kernel by way of a network block device from a userspace application.
No effort has been made to test or support Doublestore.
An alternative option is to use the built-in RAID features in the Linux kernel which include:
There's a few options. Specifically, you want to look for distributions that support ARMv5:
-
Debian
armel- VRT produce some images here
-
Gentoo/ARM
-
glibcbuilds are on the mirrors (look forarmv5telbuilds) - for
muslbuilds, see this repository
-
We have a port of u-boot.