doc:appunti:hardware:x96_mini
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| doc:appunti:hardware:x96_mini [2022/02/26 14:07] – niccolo | doc:appunti:hardware:x96_mini [2023/10/22 23:32] (current) – [Ports and connectors] niccolo | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | ====== |
| - | {{ .: | + | **How to install Kodi on the X96 mini TV Box** |
| + | |||
| + | {{ .: | ||
| I bought this little device for about 27 EUR in January 2022 from Aliexpress, I wish to use it as a TV Box, getting media from the LAN or from an external hard disk atthached via USB. It is based on the **Amlogic S905W** chip, equipped with **1 Gb** of **RAM** and **16 Gb** of **flash** storage. | I bought this little device for about 27 EUR in January 2022 from Aliexpress, I wish to use it as a TV Box, getting media from the LAN or from an external hard disk atthached via USB. It is based on the **Amlogic S905W** chip, equipped with **1 Gb** of **RAM** and **16 Gb** of **flash** storage. | ||
| Line 8: | Line 10: | ||
| It seems that the best combination of **Kodi** and **GNU/ | It seems that the best combination of **Kodi** and **GNU/ | ||
| - | From the download section I selected | + | ===== Download the appropriate version of CoreELEC ===== |
| + | |||
| + | From the download section I selected | ||
| ^ Device | ^ Device | ||
| Line 22: | Line 26: | ||
| - Copy the image over an SD card using the Linux command line tool **dd**: < | - Copy the image over an SD card using the Linux command line tool **dd**: < | ||
| - Mount the first partition on the SD card and copy the file **device_trees/ | - Mount the first partition on the SD card and copy the file **device_trees/ | ||
| + | |||
| + | ====== Ports and connectors ====== | ||
| + | |||
| + | {{.: | ||
| + | {{.: | ||
| + | |||
| + | One USB port is **white** in color, so it should be an **USB 1.x**, the **black** USB port should be instead an **USB 2.0 Hi-Speed**. But measuring the read/write performance of an USB external disk, it turned out that both the ports are 2.0 Hi-Speed. | ||
| + | |||
| ====== First boot using the toothpick trick ====== | ====== First boot using the toothpick trick ====== | ||
| Line 201: | Line 213: | ||
| * / | * / | ||
| * / | * / | ||
| + | |||
| + | ====== Installing extra software with Entware ====== | ||
| + | |||
| + | **[[https:// | ||
| + | |||
| + | The architecture of the X96 Mini is **aarch64** as revealed by the command **uname -m** and the kernel is a **Linux 4.9** as revealed by **uname -a**. The **[[http:// | ||
| + | |||
| + | The **CoreELEC** distribution does not inlcue any package manager, so we have to download and unpack the **Entware** packages manually. All the Entware software is packed to be installed into the **/opt/** hiearchy, which in CoreELEC is a symlink to the **/ | ||
| + | |||
| + | In this example we want to install the **base64** utility which we need to send some archives via an http connection. First of all we dowloaded the **libc_2.27-11_aarch64-3.10.ipk**, | ||
| + | **coreutils-base64_9.1-1_aarch64-3.10.ipk** package. | ||
| + | |||
| + | Some packages requires a **postinst** script to be run in order to initialize some configuration files, the file is contained into the **control.tar.gz** archive. E.g. the **terminfo** package - which is required to run most of the fullscreen tools, with colors and cursors, like the Midnigth Commander - initializes the **/ | ||
| + | |||
| + | < | ||
| + | export TERMINFO=/ | ||
| + | </ | ||
| + | |||
| + | Finally you have to adjust your **PATH** and eventually the **LD_LIBRARY_PATH** environment variables to take into account the path of the newly installed binay packages. I added the following into my **/ | ||
| + | |||
| + | < | ||
| + | PATH='/ | ||
| + | LD_LIBRARY_PATH='/ | ||
| + | </ | ||
| + | |||
| + | ====== Connecting a 2.5" hard disk via the USB ====== | ||
| + | |||
| + | I connected an **external hard disk**; specifically it is a Toshiba MQ04UBF100, 2.5 inches hard drive, SATA 3.0, **1 Tb**, using an **USB 3.0** interface. | ||
| + | |||
| + | At first I tried to power the hard disk directly from the USB port of the X96 mini, but it turned out that the USB port **does not provide enough power**. The hard disk suddendly and randomly **disconnect and re-connect** with no reason. Here it is the relevant kernel messages displayed by the **dmesg** tool: | ||
| + | |||
| + | < | ||
| + | [ 526.677574@2]- usb 1-2: USB disconnect, device number 2 | ||
| + | [ 526.678631@2]- blk_update_request: | ||
| + | ... | ||
| + | [ 526.942573@3]- EXT4-fs error (device sda1): ext4_journal_check_start: | ||
| + | [ 526.942578@3]- EXT4-fs (sda1): Remounting filesystem read-only | ||
| + | [ 526.942585@3]- EXT4-fs (sda1): previous I/O error to superblock detected | ||
| + | [ 526.942612@3]d Buffer I/O error on dev sda1, logical block 0, lost sync page write | ||
| + | [ 526.983449@2]- sd 0:0:0:0: [sda] Synchronizing SCSI cache | ||
| + | [ 526.997855@2]- sd 0:0:0:0: [sda] Synchronize Cache(10) failed: Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK | ||
| + | [ 527.796877@2]- usb 1-2: new high-speed USB device number 4 using xhci-hcd | ||
| + | [ 527.938266@2]- usb 1-2: New USB device found, idVendor=0480, | ||
| + | [ 527.938278@2]- usb 1-2: New USB device strings: Mfr=2, Product=3, SerialNumber=1 | ||
| + | [ 527.938282@2]- usb 1-2: Product: External USB 3.0 | ||
| + | </ | ||
| + | |||
| + | Typically a 2.5" drive requires about **1 A** at startup and about **500 mA** at read/write average. It is likely that the X96 Mini's circuitry provides USB ports with barely the minimum required by the USB 2.0 standard, which is **5 V, 500 mA**, regardless the rating of the power supply (mine was rated 4A). | ||
| + | |||
| + | Fortunately there is a solution: to use an **externally powered USB hub**. I purchased a **4 ports USB 3.0 hub** with an USB Type-C connector to supply it with power. In this new configuration a **3 A** power supply provides the power to the USB hub. The external hard disk is connected to one of the 4 ports of the hub and it takes its power from this. The X96 Mini is connected to the hub cable through the USB A connector and it takes the power from the hub too. The original power supply is not longer required and **all the system is powered by only one power supply**. | ||
| + | |||
| + | I measured the disk performance on both the two USB ports (the white one and the black one), they measured exactly the same transfer rate. For the test I used the **hdparm** tool: | ||
| + | |||
| + | < | ||
| + | hdparm -t /dev/sda | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | Timing buffered disk reads: 102 MB in 3.03 seconds = 33.71 MB/sec | ||
| + | </ | ||
| + | |||
| + | This is about **270 Mbit/s**, which is near the 280 Mbps of the USB 2.0 //High Speed// specifications. This means that both the USB ports are actually USB 2.0. | ||
doc/appunti/hardware/x96_mini.1645880867.txt.gz · Last modified: by niccolo
