Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| toh:gnubee:personal_cloud_one [2023/11/18 16:10] – [Installation] mrjk | toh:gnubee:personal_cloud_one [2024/09/08 14:17] – Trivial - move TFTP boot section one level upper, out of performance vincele | ||
|---|---|---|---|
| Line 4: | Line 4: | ||
| /* DO NOT CREATE NEW DEVICEPAGES VIA COPY & PASTE! */ | /* DO NOT CREATE NEW DEVICEPAGES VIA COPY & PASTE! */ | ||
| /* USE https:// | /* USE https:// | ||
| - | |||
| - | {{page> | ||
| The GnuBee Personal Cloud 1 (GB-PC1) is a network-attached storage (NAS) device specifically engineered to run free, libre, open source software | The GnuBee Personal Cloud 1 (GB-PC1) is a network-attached storage (NAS) device specifically engineered to run free, libre, open source software | ||
| Line 14: | Line 12: | ||
| ===== Supported Versions ===== | ===== Supported Versions ===== | ||
| - | ---- datatable ---- | + | <!-- ToH: { |
| - | cols | + | " |
| - | headers | + | " |
| - | align : c,c,c,c,c,c,c | + | " |
| - | filter | + | " |
| - | filter | + | " |
| - | ---- | + | |
| + | } --> | ||
| ===== Hardware Highlights ===== | ===== Hardware Highlights ===== | ||
| - | ---- datatable ---- | + | <!-- ToH: { |
| - | cols | + | " |
| - | header | + | " |
| - | align : c, | + | " |
| - | filter | + | " |
| - | filter | + | |
| - | ---- | + | |
| + | } --> | ||
| ===== Installation ===== | ===== Installation ===== | ||
| - | ---- datatable ---- | + | <!-- ToH: { |
| - | cols | + | " |
| - | headers | + | " |
| - | align : l,c,c | + | " |
| - | filter | + | " |
| - | filter | + | " |
| - | filter | + | |
| - | ---- | + | } --> |
| -> [[docs: | -> [[docs: | ||
| - | FIXME Please add the installation procedure | + | You will need to follow |
| ==== Flash Layout ==== | ==== Flash Layout ==== | ||
| Line 51: | Line 51: | ||
| OpenWRT layout: | OpenWRT layout: | ||
| ^ dev ^ | ^ dev ^ | ||
| - | mtd0: 00030000 00010000 | + | | mtd0 | 00030000 |
| - | mtd1: 00010000 00010000 | + | | mtd1 | 00010000 |
| - | mtd2: 00010000 00010000 | + | | mtd2 | 00010000 |
| - | mtd3: 01fb0000 00010000 | + | | mtd3 | 01fb0000 |
| - | mtd4: 00245520 00010000 | + | | mtd4 | 00245520 |
| - | mtd5: 01d6aae0 00010000 | + | | mtd5 | 01d6aae0 |
| - | mtd6: 01ac0000 00010000 | + | | mtd6 | 01ac0000 |
| Neil Brown' | Neil Brown' | ||
| Line 69: | Line 70: | ||
| ==== OEM easy installation ==== | ==== OEM easy installation ==== | ||
| - | GnuBee already comes with a preinstalled version of OpenWRT. However, original maintainer does not maintain | + | GnuBee already comes with a preinstalled version of OpenWRT. However, original maintainer does not maintain |
| Two methods are available: | Two methods are available: | ||
| - | * Install via existing Openwrt: install/ | + | |
| - | * Install via USB key: See below | + | |
| + | * Install via USB key: See below | ||
| ===== Install OpenWRT from USB key to internal memory ===== | ===== Install OpenWRT from USB key to internal memory ===== | ||
| * Fetch firmware file | * Fetch firmware file | ||
| - | * From official openwrt: https:// | + | * From official openwrt: https:// |
| * Use squashfs-sysupgrade images | * Use squashfs-sysupgrade images | ||
| * Working: https:// | * Working: https:// | ||
| - | * Important: Something | + | * Important: Something |
| * LZMA error: https:// | * LZMA error: https:// | ||
| * LZMA error: Last snapshot as of 2022/08/10 | * LZMA error: Last snapshot as of 2022/08/10 | ||
| Line 89: | Line 91: | ||
| * Grab USB key, and format it in `vfat` | * Grab USB key, and format it in `vfat` | ||
| - | * Copy `gnubee-5.15.12-gbpc1.bin` firmware into usb key root dir, a file called: `gnubee.bin` | + | * Copy `*-gnubee_gb-pc1-squashfs-sysupgrade.bin` firmware into usb key root dir, as a file called: `gnubee.bin` |
| - | * Plug the usb key close to the power button. | + | * Plug the usb key close to the power button |
| - | * Reboot GnuBee. If the device | + | * Reboot GnuBee. If the device |
| - | * Wait firmware to be copied. You can check into serial port if everything goes well: screen / | + | * Wait firmware to be flashed. You can check into serial port if everything goes well: screen / |
| * Remove usb key then reboot device | * Remove usb key then reboot device | ||
| * The device should be available on any ethernet port on http:// | * The device should be available on any ethernet port on http:// | ||
| ===== Install Recovery tools or Debian from USB key ===== | ===== Install Recovery tools or Debian from USB key ===== | ||
| - | Neil Brown' | + | Neil Brown' |
| This image is also capable to boot other systems: | This image is also capable to boot other systems: | ||
| - | * Simply create a partition with a GNUBEE-ROOT label to boot it. You can choose any of micro-sd, internal drive, md array or LVM. You can have different partitions with different OS, and swap labels if you want to change boot OS. | + | |
| * For ext3/ext4 with sde1 partition: tune2fs -l /dev/sde1 | grep GNUBEE-ROOT || e2label | * For ext3/ext4 with sde1 partition: tune2fs -l /dev/sde1 | grep GNUBEE-ROOT || e2label | ||
| * For fat: exfatlabel /dev/sda3 GNUBEE-ROOT | * For fat: exfatlabel /dev/sda3 GNUBEE-ROOT | ||
| + | You can use the following to build your own images: https:// | ||
| ===== Install OpenWRT from USB key to other memory ===== | ===== Install OpenWRT from USB key to other memory ===== | ||
| - | This include sdcard, disks or anything. It's worth nothing | + | This include sdcard, disks or anything. It's worth noting |
| ==== OEM installation using the TFTP method ==== | ==== OEM installation using the TFTP method ==== | ||
| Line 122: | Line 125: | ||
| <WRAP BOX> | <WRAP BOX> | ||
| - | |||
| - | FIXME These are generic instructions. Update with your router' | ||
| ==== LuCI Web Upgrade Process ==== | ==== LuCI Web Upgrade Process ==== | ||
| Line 168: | Line 169: | ||
| -> [[docs: | -> [[docs: | ||
| - | GnuBee is provided with a Serial | + | GnuBee is provided with a serial to USB cable. From a Linux computer, you can get to the serial |
| ===== Failsafe mode ===== | ===== Failsafe mode ===== | ||
| Line 188: | Line 189: | ||
| | lan2 | LAN2 BLUE | None | | | lan2 | LAN2 BLUE | None | | ||
| + | |||
| + | The default network UCI configuration looks like: | ||
| + | |||
| + | < | ||
| + | config interface ' | ||
| + | option device ' | ||
| + | option proto ' | ||
| + | option ipaddr ' | ||
| + | option netmask ' | ||
| + | |||
| + | config globals ' | ||
| + | option ula_prefix ' | ||
| + | option packet_steering ' | ||
| + | |||
| + | config device | ||
| + | option name ' | ||
| + | option type ' | ||
| + | list ports ' | ||
| + | list ports ' | ||
| + | |||
| + | config interface ' | ||
| + | option device ' | ||
| + | option proto ' | ||
| + | option ipaddr ' | ||
| + | option netmask ' | ||
| + | option ip6assign ' | ||
| + | |||
| + | </ | ||
| ==== Network interfaces: ethblue and ethblack as DHCP client ==== | ==== Network interfaces: ethblue and ethblack as DHCP client ==== | ||
| Line 220: | Line 249: | ||
| ==== Switch Ports (for VLANs) ==== | ==== Switch Ports (for VLANs) ==== | ||
| - | <WRAP BOX> | ||
| - | FIXME Please fill in real values for this device, then remove the EXAMPLEs | ||
| - | Numbers 0-3 are Ports 1-4 as labeled on the unit, number 4 is the Internet (WAN) on the unit, 5 is the internal connection to the router itself. Don't be fooled: Port 1 on the unit is number 3 when configuring VLANs. vlan0 = eth0.0, vlan1 = eth0.1 and so on. | + | |
| + | By default, both ethernet ports configuration | ||
| ^ Port ^ Switch port ^ | ^ Port ^ Switch port ^ | ||
| - | | Internet (WAN) | EXAMPLE 4 | | + | | LAN 1 | ethblue |
| - | | LAN 1 | EXAMPLE 3 | | + | | LAN 2 | ethblack |
| - | | LAN 2 | EXAMPLE 2 | | + | |
| - | | LAN 3 | EXAMPLE 1 | | + | |
| - | | LAN 4 | EXAMPLE 0 | | + | |
| - | </ | ||
| ==== Buttons ==== | ==== Buttons ==== | ||
| Line 239: | Line 263: | ||
| ^ BUTTON | ^ BUTTON | ||
| - | | Reset | + | | Power (Big red button) |
| + | | Reset (Small black button) | ||
| ===== Hardware Performance ===== | ===== Hardware Performance ===== | ||
| + | Overall performances are acceptable for this kind of device (single user), however do not expect good performances if moderately intensively used. The fact there is a huge performance hit when used in raid1 or LVM mirroring defeat a bit the purpose of this NAS device. You may want to workaround your own setup, but this the device does perform well enough to provide acceptable performance AND data redundancy. | ||
| - | Bad SATA perfs: ? | + | ==== Network Performance (iperf3) ==== |
| - | Missing | + | |
| + | Test run on: OpenWrt 23.05.0 r23497-6637af95aa | ||
| + | |||
| + | Conclusion: | ||
| + | * Network performances are a bit weird, this device is less efficient when used in DHCP mode than when used in DHCP client. Both network ports returned the same performances. | ||
| + | * Overall network perf should not be a bottleneck | ||
| + | |||
| + | Testing against localhost: | ||
| + | |||
| + | < | ||
| + | iperf3 -c 127.0.0.1 | ||
| + | Connecting to host 127.0.0.1, port 5201 | ||
| + | [ 5] local 127.0.0.1 port 44824 connected to 127.0.0.1 port 5201 | ||
| + | [ ID] Interval | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | - - - - - - - - - - - - - - - - - - - - - - - - - | ||
| + | [ ID] Interval | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | |||
| + | iperf Done. | ||
| + | </ | ||
| + | |||
| + | When device is a DHCP server with static IP: | ||
| + | |||
| + | < | ||
| + | iperf3 -c 192.168.1.1 | ||
| + | Connecting to host 192.168.1.1, | ||
| + | [ 5] local 192.168.1.136 port 35392 connected to 192.168.1.1 port 5201 | ||
| + | [ ID] Interval | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | - - - - - - - - - - - - - - - - - - - - - - - - - | ||
| + | [ ID] Interval | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | |||
| + | iperf Done. | ||
| + | </ | ||
| + | |||
| + | When device is configure as DHCP client, the best available throughput: | ||
| + | |||
| + | < | ||
| + | iperf3 -c 192.168.42.212 | ||
| + | Connecting to host 192.168.x.y, | ||
| + | [ 5] local 192.168.x.z port 44742 connected to 192.168.x.y port 5201 | ||
| + | [ ID] Interval | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | - - - - - - - - - - - - - - - - - - - - - - - - - | ||
| + | [ ID] Interval | ||
| + | [ 5] | ||
| + | [ 5] | ||
| + | |||
| + | iperf Done. | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Disk Performance ==== | ||
| + | |||
| + | Test run on: OpenWrt 23.05.0 r23497-6637af95aa | ||
| + | |||
| + | Alternative tests: [[https:// | ||
| + | |||
| + | Conclusion: | ||
| + | * Do not expect more that ~50Mb/s write throughput | ||
| + | * Do not try to use anything involving crypt function, as far I know, there is no such support. | ||
| + | * When used with raid1 md array or LVM mirroring, write performance where sitting between 8~12Mb/s | ||
| + | * Because of missing | ||
| + | * | ||
| + | |||
| + | Used spinning hardrives for test: | ||
| + | |||
| + | < | ||
| + | # smartctl -i /dev/sda | ||
| + | smartctl 7.3 2022-02-28 r5338 [mips-linux-5.15.134] (localbuild) | ||
| + | Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org | ||
| + | |||
| + | === START OF INFORMATION SECTION === | ||
| + | Device Model: | ||
| + | Serial Number: | ||
| + | LU WWN Device Id: 5 0014ee 203bc4fc0 | ||
| + | Firmware Version: 11.01A11 | ||
| + | User Capacity: | ||
| + | Sector Size: 512 bytes logical/ | ||
| + | Rotation Rate: 7200 rpm | ||
| + | Device is: Not in smartctl database | ||
| + | ATA Version is: | ||
| + | SATA Version is: SATA 2.5, 3.0 Gb/s | ||
| + | Local Time is: Sat Nov 18 13:37:25 2023 EST | ||
| + | SMART support is: Available - device has SMART capability. | ||
| + | SMART support is: Enabled | ||
| + | |||
| + | # smartctl -i /dev/sdc | ||
| + | smartctl 7.3 2022-02-28 r5338 [mips-linux-5.15.134] (localbuild) | ||
| + | Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org | ||
| + | |||
| + | === START OF INFORMATION SECTION === | ||
| + | Device Model: | ||
| + | Serial Number: | ||
| + | LU WWN Device Id: 5 000c50 0a9a1dbdb | ||
| + | Firmware Version: 0001 | ||
| + | User Capacity: | ||
| + | Sector Sizes: | ||
| + | Rotation Rate: 5526 rpm | ||
| + | Form Factor: | ||
| + | Device is: Not in smartctl database | ||
| + | ATA Version is: ACS-3 T13/2161-D revision 5 | ||
| + | SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s) | ||
| + | Local Time is: Sat Nov 18 13:37:28 2023 EST | ||
| + | SMART support is: Available - device has SMART capability. | ||
| + | SMART support is: Enabled | ||
| + | |||
| + | </ | ||
| + | |||
| + | Testing with hdparm: | ||
| + | |||
| + | < | ||
| + | # hdparm -tT /dev/sda | ||
| + | |||
| + | /dev/sda: | ||
| + | | ||
| + | | ||
| + | |||
| + | |||
| + | # hdparm -tT /dev/sdc | ||
| + | |||
| + | /dev/sdc: | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | |||
| + | Tested with dd when on mounted ext4 filesystem: | ||
| + | |||
| + | < | ||
| + | # for i in /mnt/sda2 /mnt/sdc2; do time dd if=/ | ||
| + | ls -ahl $i/TMP; rm $i/TMP ; done | ||
| + | 10+0 records in | ||
| + | 10+0 records out | ||
| + | real 0m 18.20s | ||
| + | user 0m 0.00s | ||
| + | sys 0m 17.85s | ||
| + | -rw-r--r-- | ||
| + | 10+0 records in | ||
| + | 10+0 records out | ||
| + | real 0m 17.99s | ||
| + | user 0m 0.00s | ||
| + | sys 0m 17.79s | ||
| + | -rw-r--r-- | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== TFTP Boot ===== | ||
| + | |||
| + | An openwrt image can be booted via TFTP without being flashed, for example to test a snapshot or custom build. | ||
| + | |||
| + | You should have a TFTP server ready, for example: | ||
| + | < | ||
| + | wget -O / | ||
| + | ip a add 192.168.1.100/ | ||
| + | in.tftpd -vvv -4 -L -s /srv/tftp | ||
| + | </ | ||
| + | On the serial console interrupt the normal boot process with the " | ||
| + | < | ||
| + | Please choose the operation: | ||
| + | 1: Load system code to SDRAM via TFTP. | ||
| + | 2: Load system code then write to Flash via TFTP. | ||
| + | 3: Boot system code via Flash (default). | ||
| + | 4: Enter boot command line interface. | ||
| + | 5: Load system code then write to Flash via USB Storage. | ||
| + | 6: Load system code then write to Flash via Httpd. | ||
| + | 9: Load U-Boot code then write to Flash via TFTP. | ||
| + | </ | ||
| + | It will ask you if you want to change from the default TFTP boot parameters: | ||
| + | < | ||
| + | 1: System Load Linux to SDRAM via TFTP. | ||
| + | | ||
| + | Input device IP (192.168.1.1) ==: | ||
| + | Input server IP (192.168.1.100) ==: | ||
| + | Input Linux Kernel filename (GB-PCx_uboot.bin) ==: | ||
| + | </ | ||
| + | It will then dowload the image in RAM and run it: | ||
| + | < | ||
| + | | ||
| + | |||
| + | | ||
| + | |||
| + | | ||
| + | |||
| + | | ||
| + | Trying eth2 | ||
| + | |||
| + | | ||
| + | Using eth2 device | ||
| + | TFTP from server 192.168.1.100; | ||
| + | Filename ' | ||
| + | |||
| + | | ||
| + | Loading: Got ARP REPLY, set server/gtwy eth addr (98: | ||
| + | Got it | ||
| + | T | ||
| + | ################################################################# | ||
| + | | ||
| + | ################### | ||
| + | done | ||
| + | Bytes transferred = 6086802 (5ce092 hex) | ||
| + | LoadAddr=80a00000 NetBootFileXferSize=005ce092 | ||
| + | Automatic boot of image at addr 0x80A00000 ... | ||
| + | ## Checking image at 80a00000 ... | ||
| + | Image Name: MIPS OpenWrt Linux-6.6.45 | ||
| + | Image Type: MIPS Linux Kernel Image (uncompressed) | ||
| + | Data Size: 6086738 Bytes = 5.8 MB | ||
| + | Load Address: 80001000 | ||
| + | Entry Point: | ||
| + | | ||
| + | OK | ||
| + | No initrd | ||
| + | ## Transferring control to Linux (at address 80001000) ... | ||
| + | ## Giving linux memsize in MB, 512 | ||
| + | |||
| + | Starting kernel ... | ||
| + | |||
| + | OpenWrt kernel loader for MIPS based SoC | ||
| + | Copyright (C) 2011 Gabor Juhos < | ||
| + | Decompressing kernel... done! | ||
| + | Starting kernel at 80001000... | ||
| + | |||
| + | [ 0.000000] Linux version 6.6.45 (builder@buildhost) (mipsel-openwrt-linux-musl-gcc (OpenWrt GCC 13.3.0 r27140-ccc06f6716) 13.3.0, GNU ld (GNU Binutils) 2.42) #0 SMP Tue Aug 13 10:22:33 2024 | ||
| + | [...] | ||
| + | </ | ||
| + | And that's it. | ||
| Line 251: | Line 532: | ||
| ==== Info ==== | ==== Info ==== | ||
| - | ---- datatemplatelist dttpllist ---- | + | <!-- ToH: { |
| - | template: meta:template_datatemplatelist | + | " |
| - | cols | + | " |
| - | filter | + | " |
| - | filter | + | " |
| - | ---- | + | " |
| + | | ||
| + | } --> | ||
| ==== Photos ==== | ==== Photos ==== | ||
| Line 286: | Line 569: | ||
| -> [[docs: | -> [[docs: | ||
| - | How to connect | + | The GBPC1&2 comes with a serial Jack 2, |
| - | **Insert photo of PCB with markings for serial port** | + | |
| - | + | ||
| - | <WRAP BOX> | + | |
| - | FIXME //Replace EXAMPLE by real values.// | + | |
| - | </ | + | |
| ^ Serial connection parameters\\ for GnuBee Personal Cloud One | 57600, 8N1, 3.3V | | ^ Serial connection parameters\\ for GnuBee Personal Cloud One | 57600, 8N1, 3.3V | | ||
| + | |||
| + | On a standard linux distro, you can attach to serial at anytime: | ||
| + | |||
| + | <webcode name=" | ||
| + | screen / | ||
| + | </ | ||
| + | |||
| ==== JTAG ==== | ==== JTAG ==== | ||
| Line 375: | Line 660: | ||
| ===== Tags ===== | ===== Tags ===== | ||
| - | <WRAP BOX> | ||
| - | FIXME //Add tags below, then remove this fixme.// | ||
| - | </ | ||
| [[meta: | [[meta: | ||
| {{tag> | {{tag> | ||