The [AMX MST701](https://www.amx.com/en/products/mst-701) is a nice little tablet intended for media control in conference rooms. It features a nice full-color TFT, a speaker, and touchscreen for user input, all powered over PoE.
This repository aims to document the hardware to allow repurposing as this device has now reached its end of life.
## Hardware
* LCD: Custom 1024x600 full-color TFT, connected over LVDS
* Touchscreen: TSC2048, connected over SPI
* Ethernet: AX88772BLF, connected over USB (usbh1)
* Ethernet (unused): SMSC8720A, connected via (R)MII+SMI
* USB: Internal USB-OTG port _or_ External USB-A port (via usbotg)
* RAM: 512 MB, 327 MB usable (rest is for GPU/VPU)
* Storage: 4 GB Micro-SD card
* Power: PoE
* Misc: Power/User button on the top right, LED notification lights (unpopulated)
* Misc dev: Debug LED on SoM, UART header on J3: \[?, TX, GND, RX\]
Note: The "generic" system components are placed on a little SoM mounted on the main PCB.
## Original Software
The original system runs on an ancient 2.6 kernel, with a giant monolithic binary for the official functionality. Audio runs through ALSA, display output is directly written to the framebuffer/DRM. The system is booted by a heavily modified U-Boot that also appears a little broken (e.g. passing kernel arguments doesn't really work).
### How to Explore?
* Passive: Open the device, grab the SD card, browse.
* Active: Remove the SD card, patch the root login password, boot the system, log in over serial.
## Running Custom Linux
All system components have mainline Linux support. The necessary device tree can be found in `linux`.
To set up your custom SD card, follow these steps:
1. Write `linux/sd_card_head.img` to an SD card.
2. Partition the SD card as needed for your distribution, keeping a 40 MB space before the first partition
3. Write rootfs to SD card (e.g. [ArchLinuxArm](http://fl.us.mirror.archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz))
4. Compile Linux kernel (see below) and use `scripts/flash_sd.sh /dev/sdX` to flash kernel to the SD card (it goes into that "empty" 40 MB space)
5. Copy Linux kernel modules to rootfs
For future updates via SSH, look into `scripts/upload_and_flash.sh`.
### Compiling Linux
* Make sure to include the full cmdline hardcoded in the kernel as the U-Boot is a little flaky: