Libreelec with Suptronics X830 3,5" HDD extension board

  • Hi Guys,

    I am taking my first steps with linux enviroment via Raspberry Pi, so assumption is that I dont know nothing about that.. completely newbie. have been using Windows all my life.

    We started to build multimedia center out of Rpi 3 together with my son. I have installed libereelec via noobs and there are three other operating system within same SD card (Raspbia stretch, Libreelec and OSMC. those are working fluently via multi boot selection.

    Issue I was struggling yesterday 6 hours since our 8TB Toshiba x300 HDD arrived and we started to install HDD to Expansion board. So it is brand new, I cannot find that from any of the operating systems to be available. Do I need to format it somehow in windows machine to show up.And I would like to have it so that also Windows machine can see the disk when connected via usb cable.

    Can someone help me out what is lacking?

    Here is what I get out as blkid:

    ##############################################

    # LibreELEC #

    # https://emea01.safelinks.protection.outlook.com/?url=https%3A%…Y%3D&reserved=0 #

    ##############################################

    LibreELEC (official): 9.0.0 (RPi2.arm)

    LibreELEC:~ # blkid

    /dev/mmcblk0p1: LABEL="RECOVERY" UUID="0F07-0FF3" TYPE="vfat" PARTUUID="00078d62-01"

    /dev/mmcblk0p5: LABEL="SETTINGS" UUID="28bb8f51-e268-4f63-8a1d-b9006a9fdcda" TYPE="ext4" PARTUUID="00078d62-05"

    /dev/mmcblk0p6: LABEL="boot" UUID="4E4C-5069" TYPE="vfat" PARTUUID="00078d62-06"

    /dev/mmcblk0p7: LABEL="root" UUID="4e26f4ba-f753-4b14-b195-8c99940b2b5f" TYPE="ext4" PARTUUID="00078d62-07"

    /dev/mmcblk0p8: SEC_TYPE="msdos" LABEL="System" UUID="7A9C-9EDE" TYPE="vfat" PARTUUID="00078d62-08"

    /dev/mmcblk0p9: LABEL="Storage" UUID="bffec4f4-3f78-47db-aca7-43e837e78908" TYPE="ext4" PARTUUID="00078d62-09"

    /dev/mmcblk0p10: LABEL="boot-rbp2" UUID="7E22-3557" TYPE="vfat" PARTUUID="00078d62-0a"

    /dev/mmcblk0p11: LABEL="root-rbp2" UUID="590bb8f6-3ff9-44cf-b55d-df539ed425c8" TYPE="ext4" PARTUUID="00078d62-0b"

    /dev/loop0: TYPE="squashfs"

    /dev/mmcblk0: PTUUID="00078d62" PTTYPE="dos"

    LibreELEC:~ #

    Demesg:

    ##############################################

    # LibreELEC #

    # https://emea01.safelinks.protection.outlook.com/?url=https%3A%…o%3D&reserved=0 #

    ##############################################

    LibreELEC (official): 9.0.0 (RPi2.arm)

    LibreELEC:~ # dmesg

    [ 0.000000] Booting Linux on physical CPU 0x0

    [ 0.000000] Linux version 4.19.17 (jenkins@leda) (gcc version 8.2.0 (GC

    C)) #1 SMP Tue Jan 29 11:27:55 EST 2019

    [ 0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5

    383d

    [ 0.000000] CPU: div instructions available: patching division code

    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing inst

    ruction cache

    [ 0.000000] OF: fdt: Machine model: Raspberry Pi 3 Model B Plus Rev 1.3

    [ 0.000000] Memory policy: Data cache writealloc

    [ 0.000000] cma: Reserved 8 MiB at 0x2f800000

    [ 0.000000] On node 0 totalpages: 196608

    [ 0.000000] Normal zone: 1728 pages used for memmap

    [ 0.000000] Normal zone: 0 pages reserved

    [ 0.000000] Normal zone: 196608 pages, LIFO batch:63

    [ 0.000000] random: get_random_bytes called from start_kernel+0xb0/0x4a

    8 with crng_init=0

    [ 0.000000] percpu: Embedded 18 pages/cpu @(ptrval) s41036 r8192 d24500

    u73728

    [ 0.000000] pcpu-alloc: s41036 r8192 d24500 u73728 alloc=18*4096

    [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3

    [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1948

    80

    [ 0.000000] Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=182

    4 bcm2708_fb.fbheight=984 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 v

    c_mem.mem_size=0x40000000 boot=LABEL=System disk=LABEL=Storage quiet root

    =/dev/ram0 rdinit=/init usbcore.autosuspend=-1

    [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 b

    ytes)

    [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 byt

    es)

    [ 0.000000] Memory: 754556K/786432K available (9216K kernel code, 688K

    rwdata, 1988K rodata, 3072K init, 527K bss, 23684K reserved, 8192K cma-res

    erved)

    [ 0.000000] Virtual kernel memory layout:

    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)

    [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)

    [ 0.000000] vmalloc : 0xb0800000 - 0xff800000 (1264 MB)

    [ 0.000000] lowmem : 0x80000000 - 0xb0000000 ( 768 MB)

    [ 0.000000] modules : 0x7f000000 - 0x80000000 ( 16 MB)

    [ 0.000000] .text : 0x(ptrval) - 0x(ptrval) (10208 kB)

    [ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (3072 kB)

    [ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 689 kB)

    [ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 528 kB)

    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1

    [ 0.000000] ftrace: allocating 29541 entries in 87 pages

    [ 0.000000] rcu: Hierarchical RCU implementation.

    [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16

    [ 0.000000] arch_timer: cp15 timer(s) running at 19.20MHz (phys).

    [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_c

    ycles: 0x46d987e47, max_idle_ns: 440795202767 ns

    [ 0.000007] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every

    4398046511078ns

    [ 0.000018] Switching to timer-based delay loop, resolution 52ns

    [ 0.000272] Console: colour dummy device 80x30

    [ 0.000298] console [tty0] enabled

    [ 0.000348] Calibrating delay loop (skipped), value calculated using ti

    mer frequency.. 38.00 BogoMIPS (lpj=64000)

    [ 0.000372] pid_max: default: 32768 minimum: 301

    [ 0.000616] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)

    [ 0.000637] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 b

    ytes)

    [ 0.001907] Disabling memory control group subsystem

    [ 0.001948] CPU: Testing write buffer coherency: ok

    [ 0.002497] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000

    [ 0.003370] Setting up static identity map for 0x100000 - 0x10003c

    [ 0.003552] rcu: Hierarchical SRCU implementation.

    [ 0.006259] smp: Bringing up secondary CPUs ...

    [ 0.007340] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001

    [ 0.008462] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002

    [ 0.009522] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003

    [ 0.009682] smp: Brought up 1 node, 4 CPUs[ 0.009697] SMP: Total of 4 processors activated (153.00 BogoMIPS).

    [ 0.009707] CPU: All CPU(s) started in HYP mode.

    [ 0.009716] CPU: Virtualization extensions available.

    [ 0.010718] devtmpfs: initialized

    [ 0.023497] VFP support v0.3: implementor 41 architecture 3 part 40 var

    iant 3 rev 4

    [ 0.023754] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffff

    ff, max_idle_ns: 6370867519511994 ns

    [ 0.023779] futex hash table entries: 1024 (order: 4, 65536 bytes)

    [ 0.024408] pinctrl core: initialized pinctrl subsystem

    [ 0.025427] NET: Registered protocol family 16

    [ 0.029080] DMA: preallocated 256 KiB pool for atomic coherent allocati

    ons

    [ 0.034251] cpuidle: using governor ladder[ 0.034296] cpuidle: using governor menu

    [ 0.034851] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watch

    point registers.

    [ 0.034862] hw-breakpoint: maximum watchpoint size is 8 bytes.

    [ 0.035105] Serial: AMBA PL011 UART driver[ 0.039017] bcm2835-mbox 3f00b880.mailbox: mailbox enabled

    [ 0.079529] bcm2835-dma 3f007000.dma: DMA legacy API manager at (ptrval

    ), dmachans=0x1

    [ 0.081569] SCSI subsystem initialized

    [ 0.081795] usbcore: registered new interface driver usbfs

    [ 0.081866] usbcore: registered new interface driver hub

    [ 0.081977] usbcore: registered new device driver usb

    [ 0.087047] raspberrypi-firmware soc:firmware: Attached to firmware fro

    m 2019-01-22 16:54, variant start_x

    [ 0.091242] raspberrypi-firmware soc:firmware: Firmware hash is 7bfabce

    cab2918f85a2a217b389e256eac696962

    [ 0.095255] clocksource: Switched to clocksource arch_sys_counter

    [ 0.194459] FS-Cache: Loaded

    [ 0.205538] NET: Registered protocol family 2

    [ 0.206248] tcp_listen_portaddr_hash hash table entries: 512 (order: 0,

    6144 bytes)

    [ 0.206291] TCP established hash table entries: 8192 (order: 3, 32768 b

    ytes)

    [ 0.206406] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)

    [ 0.206595] TCP: Hash tables configured (established 8192 bind 8192)

    [ 0.206750] UDP hash table entries: 512 (order: 2, 16384 bytes)

    [ 0.206801] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)

    [ 0.207132] NET: Registered protocol family 1

    [ 0.207824] RPC: Registered named UNIX socket transport module.

    [ 0.207834] RPC: Registered udp transport module.

    [ 0.207843] RPC: Registered tcp transport module.

    [ 0.207853] RPC: Registered tcp NFSv4.1 backchannel transport module.

    [ 0.363692] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 7 c

    ounters available

    [ 0.366277] Initialise system trusted keyrings

    [ 0.366490] workingset: timestamp_bits=14 max_order=18 bucket_order=4

    [ 0.376094] squashfs: version 4.0 (2009/01/31) Phillip Lougher

    [ 0.376931] FS-Cache: Netfs 'nfs' registered for caching

    [ 0.377672] NFS: Registering the id_resolver key type

    [ 0.377704] Key type id_resolver registered

    [ 0.377714] Key type id_legacy registered

    [ 0.377734] nfs4filelayout_init: NFSv4 File Layout Driver Registering..

    .

    [ 0.378212] FS-Cache: Netfs 'cifs' registered for caching

    [ 0.386580] Key type asymmetric registered[ 0.386595] Asymmetric key parser 'x509' registered

    [ 0.386677] Block layer SCSI generic (bsg) driver version 0.4 loaded (m

    ajor 251)

    [ 0.386690] io scheduler noop registered (default)

    [ 0.386701] io scheduler deadline registered

    [ 0.386903] io scheduler cfq registered

    [ 0.386915] io scheduler mq-deadline registered

    [ 0.386926] io scheduler kyber registered

    [ 0.387095] io scheduler bfq registered

    [ 0.390866] BCM2708FB: allocated DMA memory ef840000

    [ 0.390903] BCM2708FB: allocated DMA channel 0 @ (ptrval)

    [ 0.441108] Console: switching to colour frame buffer device 228x61

    [ 0.474215] bcm2835

    DF:

    LibreELEC (official): 9.0.0 (RPi2.arm)

    LibreELEC:~ # df

    Filesystem 1K-blocks Used Available Use% Mounted on

    devtmpfs 377276 0 377276 0% /dev

    /dev/mmcblk0p8 524008 141720 382288 27% /flash

    /dev/mmcblk0p9 38166004 138336 36065892 0% /storage

    /dev/loop0 128512 128512 0 100% /

    tmpfs 382908 0 382908 0% /dev/shm

    tmpfs 382908 8620 374288 2% /run

    tmpfs 382908 0 382908 0% /sys/fs/cgroup

    tmpfs 382908 2628 380280 1% /var

    tmpfs 382908 0 382908 0% /tmp

    /dev/mmcblk0p11 39722392 713108 36968452 2% /var/media/root-rb

    p2

    /dev/mmcblk0p10 80642 23995 56647 30% /var/media/boot-rb

    p2

    /dev/mmcblk0p7 42294516 5089292 35033732 13% /var/media/root

    LibreELEC:~ #

  • You're probably the first one to come here with such an expansion board. So it probably will have some teething problems with LibreELEC. Normally a simple external USB housing will also do, as the RPi 3B+ can boot directly from USB.

    Just for my understanding, do you still use an SD card to boot the Raspberry Pi, or does the HDD do all the work? It's best to keep your OS and media collection separately.

    It's possible that LibreELEC does not initially see the HDD because of a lacking partition table on the HDD. Formatting the drive in Windows should 'wake up' the drive in Linux. If the HDD is to be attached permanently to the RPi, I would suggest using a bootable USB stick running Gparted on your PC, and create one or more EXT4 Linux partitions for movies, tvshows and/or music depending on your media collection.

    I've also not yet seen that many partitions on a Raspberry Pi device. I guess we can thank NOOBS for that. It is best though to make a choice of your definite weapon for using Kodi. NOOBS can have it effects on LibreELEC, and updating isn't a smooth experience with NOOBS in the background.

    LibreELEC (as do the others you mentioned) has its own installation disk images which can be easily written to an SD card. Whether or not the expension board is supported is likely up to the Linux kernel used by LibreELEC. If you still want to testrun the other Kodi solutions, a separate SD card is recommended.

    And I would like to have it so that also Windows machine can see the disk when connected via usb cable.

    LibreELEC automounts all connected drives at boot time, having it shared via the Samba network may take a few more steps. But first things first, installing the HDD.

  • Hi Klojum,

    Heh typically we are not doing anything experimental HW with my son:) Being first one with this kind of expansion board here is though cool.

    Yes my board still boots from SD card. Reason why kept it like that, mainly HDD will serve as movie storage as well as for live tv TV recordings and music. If LE gets corrupted it is very simple to unplug USB Bridge connecting HDD and Rpi. Contents of HDD then stays untouched:)

    You are correct with Noobs, it actually creates lot of weird structures on SD. When we first tried with LE, Raspbian, OSMC and Lakka, there were many storages splitted to small junks. LE, Raspbian and OSMC was creating more nice file structure. We are learning by doing, luckily reinstall is not so big deal and time consuming.

    I followed your advice by trusting that Rpi can fluently attach any Disks, if those are in correct format. We spend yesterday whole day to see how we can eliminate causes by inspecting disk first. Everything seem to be as manufacturer site was indicating, while inspection in win10 pc. We were completely puzzled and almost giving up, then final try I downloaded disk tool which is Mini tool partition wizard (freeware). When I attached disk via USB Bridge to PC it showed that disk has MBR and two slots of unallocated space within it. We were trying to wipe the disk, but it was giving some error. Finally we thougt that there is noting to loose and we partitioned first unallocated space to drive D. While second part refused to get formatted or partioned. With tool we converted MBR section to GPT type and vola we were able to extend D drive to cover also unallocated part. We attached disk to RPI and it worked like charm.

    Reason why This originally happen having 2 sections on disk unallocated having MBR I am not sure. Only thing we could think is that during initial installation of Noobs USB Bridge was attached to RPI. Maybe that messed up HDD.

    By the way I can recommend by short experience expansion board and case shipping alongside. Nice and compact how we wanted it to look. Also it fulfilled criteria to have separate power button, so that system is easy to start:)

  • Yes setup having os in one place and data in anther instance is very secure..

    We have this kind of setup on HW currently

    X830 - All for Raspberry Pi, Arduino, Lattepanda, Orange Pi, Pine64 | by Geekworm

    We purchased also cooling elements to RPI and Toshiba x300 was selected due low temperature generation. Within case the he is fan. Yesterday we put heavy constant load to RPI and monitored temperature cpu and case was constant 40 Celsius so not bad:)

    Next for us is to have vnc on RPI to be enable watch live TV and movies from internet. I saw that there is also in RPI firewall ip tables available, but finding info what my son tried to search yesterday was quite limited.

    BTW your setup sounds pretty robust build. Linux though is not so familiar to us, requires lot of reading, try and error

  • Using VNC on a RPi to watch TV? You like watching slide shows..? :)

    I've been using Linux for some 8 years now. The whole software installing/updating procedures of Windows became way too annoying to me. Installing and updating a new Windows 10 installation already takes at least half a day. The subsequent endless blue "Please do not turn off your computer" screens have become too much for me.

    Only since Win10's software store is it able to auto-update installed software. Linux can do such things for many years now. Windows may have its external tricks, but with Linux itself you can install a boatload of applications from a single (long) command line in all one go. Building up one's own scripts for that will create new installations in record time. A new Linux file server can be ready in under 10 minutes once you know how. ;)

  • Oh yeah I hear you bro😁

    Well main goal with VPN would be access to TV recordings, slide show doesn't sound too temptating..

    Correct I am also a bit frustrated all those windows updates and then booting PC waiting bsd or some funny error. It is too time consuming to be honest. That's why we decided to go for rpi in first place and not Win media center.

    LOL I noticed new issue on our media center on RPI. Recordings on live TV is not showing up on reboot of the system. Recordings are though there on external HDD. I have no faintest idea how to solve it. I suppose root cause is that HDD is mounted later than tvheadend starts and kodi cannot find recordings path due that reason. I looked tvh settings if start of that can be delayed before HDD is mounted, but haven't find that kind of settings.

    So running from one issue to another lol

  • So now we were able to generate insert on tvheadend service start by using systemctl edit service.tveheadend42.service adding line

    [Unit]

    RequiresMountsFor=/mnt//Toshiba

    We saved file in the editor and checked the contents that it was correctly saved

    Then restarting kodi still the result is that THVHeadEnd starts before HDD is mounted and latest live tv recordings are not visible unless using in terminal systemctl restart service.tvheadend42 .service then those appear.

    What we are missing here? Any Idea?

    And still we are linux noob what comes to knowledge, but we try to learn new stuff:)