Differences between revisions 1 and 5 (spanning 4 versions)
Revision 1 as of 2016-10-24 17:37:16
Size: 5146
Comment: [ClearFog] Get started
Revision 5 as of 2016-10-24 18:19:39
Size: 9906
Comment: += Image
Deletions are marked like this. Additions are marked like this.
Line 16: Line 16:
~-''Models covered''-~<<BR>>'''Generic Computer'''

## ~- Sub-models ('''LIST OF MODEL REFERENCE NUMBER''') options :<<BR>> - Video card (Intel or ATI radeon or ATI FireGL) '''(adapt this list to actually match __options__ available. Common features are listed below)''' <<BR>> - Screen size (14", 15", or 15" ''wide'')<<BR>> - Wireless card<<BR>> - Disk and Ram size, optical device <<BR>> - Other options, like fingerprint reader, bluetooth... -~

 * '''Generic !SubModel''', 13.3", 2.13 GHz Intel Core 2 Duo, 2GB DDR3 SDRAM, 128 GB SDD, NVIDIA !GeForce 9400M
~-''Models covered''-~<<BR>>'''!SolidRun !ClearFog'''

 * '''!ClearFog Base''', smaller model featuring only 2 Ethernet connectors
 * '''!ClearFog Pro''', larger model featuring one Ethernet connector and a five-port switch
Line 25: Line 24:
||||<tablestyle="margin-left:3em;width:90%">'''Core Components'''||<|10 style="text-align:right;border-style:none;vertical-align:top;"> {{attachment:photo.png}}|| ||||<tablestyle="margin-left:3em;width:90%">'''Core Components'''||<|10 style="text-align:right;border-style:none;vertical-align:top;"> {{attachment:clearfog.jpg||width=400}}||
Line 35: Line 34:
### Any Important note, before the user starts installing Debian
### Like Bios, Disk, MBR Configuration. (default : ''none'')

### uncomment one of the two lines
## none
## {X} There is currently a bug that ...

THis page is under creation. Until finished also take a look at
https://weblog.siccegge.de/Running_Debian_on_the_ClearFog.html

Both !ClearFog models are available with eMMC and without. The
versions with EMMC ''cannot'' be used with an μSD card and are in
general more troublesom to set up and operate. Be sure to know which
version you have.

Only the !ClearFog Base ''with'' eMMC has been tested so far.
Line 44: Line 47:
== Power Management ==
## Have you tested Hibernation and/or
## Then explain how to get it working
While upstream support is, in general, quite good, it covers mostly
the !ClearFog Pro with μSD. We will cover adjustments for eMMC and the
Base version separately from the general support part.

== UART Boot ==

If the bootloader you installed no longer works, the !ClearFog can be
unbricked via UART booting (It then loads the bootloader via the
xmodem protocol). Doing so is actually pretty easy with the help of
the kwboot utility once you have a (mainline) u-boot binary:

{{{
kwboot -b u-boot-spl.kwb -t -p /dev/ttyUSB0
}}}

This should work, however UART mode detection in U-Boot SPL was broken
on the tested device and got the wrong magic number in the boot
register. This can easily be fixed with the following patch (the
resulting U-Boot will no longer work for any other boot option
though!):

~-{{{
--- a/arch/arm/mach-mvebu/spl.c
+++ b/arch/arm/mach-mvebu/spl.c
@@ -28,7 +28,7 @@ static u32 get_boot_device(void)
        val = readl(CONFIG_BOOTROM_ERR_REG);
        boot_device = (val & BOOTROM_ERR_MODE_MASK) >> BOOTROM_ERR_MODE_OFFS;
        debug("BOOTROM_REG=0x%08x boot_device=0x%x\n", val, boot_device);
- if (boot_device == BOOTROM_ERR_MODE_UART)
+ //if (boot_device == BOOTROM_ERR_MODE_UART)
                return BOOT_DEVICE_UART;
 
        /*
}}}-~

== Networking ==

Without further setup, no network will be available in U-Boot and
Linux. You need to manually configure MAC addresses for the three
interfaces with the U-Boot commands below (replace
{{{XX:XX:XX:XX:XX:XX}}} with the desired MAC Address). After a
{{{saveenv}}} and {{{reset}}} networking will be fully functional.

~-{{{
setenv eth1addr XX:XX:XX:XX:XX:XX
setenv eth2addr XX:XX:XX:XX:XX:XX
setenv eth3addr XX:XX:XX:XX:XX:XX
}}}-~

== ClearFog Base ==

The Base is pretty similar to the Pro version. However, both U-Boot
and Linux device tree files assume that the second ethernet port is
wired to the switch chip which makes it non-functional on the Base. If
you want to use it you'll need to patch the device-tree for U-Boot
and/or the kernel. The patch for U-Boot:

~-{{{
--- a/arch/arm/dts/armada-388-clearfog.dts
+++ b/arch/arm/dts/armada-388-clearfog.dts
@@ -89,13 +89,10 @@
        internal-regs {
            ethernet@30000 {
                mac-address = [00 50 43 02 02 02];
+ managed = "in-band-status";
+ phy = <&phy1>;
                phy-mode = "sgmii";
                status = "okay";
-
- fixed-link {
- speed = <1000>;
- full-duplex;
- };
            };

            ethernet@34000 {
@@ -227,6 +224,10 @@
                pinctrl-0 = <&mdio_pins>;
                pinctrl-names = "default";

+ phy1: ethernet-phy@1 { /* Marvell 88E1512 */
+ reg = <1>;
+ };
+
                phy_dedicated: ethernet-phy@0 {
                    /*
                     * Annoyingly, the marvell phy driver
@@ -386,62 +386,6 @@
        tx-fault-gpio = <&expander0 13 GPIO_ACTIVE_HIGH>;
    };

- dsa@0 {
- compatible = "marvell,dsa";
- dsa,ethernet = <&eth1>;
- dsa,mii-bus = <&mdio>;
- pinctrl-0 = <&clearfog_dsa0_clk_pins &clearfog_dsa0_pins>;
- pinctrl-names = "default";
- #address-cells = <2>;
- #size-cells = <0>;
-
- switch@0 {
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <4 0>;
-
- port@0 {
- reg = <0>;
- label = "lan1";
- };
-
- port@1 {
- reg = <1>;
- label = "lan2";
- };
-
- port@2 {
- reg = <2>;
- label = "lan3";
- };
-
- port@3 {
- reg = <3>;
- label = "lan4";
- };
-
- port@4 {
- reg = <4>;
- label = "lan5";
- };
-
- port@5 {
- reg = <5>;
- label = "cpu";
- };
-
- port@6 {
- /* 88E1512 external phy */
- reg = <6>;
- label = "lan6";
- fixed-link {
- speed = <1000>;
- full-duplex;
- };
- };
- };
- };
-
    gpio-keys {
        compatible = "gpio-keys";
        pinctrl-0 = <&rear_button_pins>;
}}}-~

== eMMC version ==

Just to repeat it: the eMMC version will not be able to access the μSD
Card (though it has the connector). There are three principal
difficulties with the eMMC version: It does not come with any
bootloader preinstalled so fallback to UART booting seems necessary,
it needs patching the device tree to detect the flash and it has
somewhat different offsets for U-Boot SPL.

== Power Consumption ==
!ClearFog Base has been measured to consume around 5.5 W in idle and around 8 W under load.

DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owners would know how get the best out of that hardware.

The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware.

If you need help to get Debian running on your hardware, please have a look at our user support channels where you may find specific channels (mailing list, IRC channel) dedicated to certain types of hardware.

Translation(s): none

Models covered
SolidRun ClearFog

  • ClearFog Base, smaller model featuring only 2 Ethernet connectors

  • ClearFog Pro, larger model featuring one Ethernet connector and a five-port switch

Overall Status

Core Components

clearfog.jpg

Boot Standard Kernel:

{OK}

LAN network card (Generic Ethernet):

{OK}

SFP Module

[?]

Detect hard drives:

{OK}

CPU Frequency Scaling:

/!\

Legend :
{OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
{i} = Configuration Required; X-( = Only works with a non-free driver and or firmware

Important Note

THis page is under creation. Until finished also take a look at https://weblog.siccegge.de/Running_Debian_on_the_ClearFog.html

Both ClearFog models are available with eMMC and without. The versions with EMMC cannot be used with an μSD card and are in general more troublesom to set up and operate. Be sure to know which version you have.

Only the ClearFog Base with eMMC has been tested so far.

Configuration

While upstream support is, in general, quite good, it covers mostly the ClearFog Pro with μSD. We will cover adjustments for eMMC and the Base version separately from the general support part.

UART Boot

If the bootloader you installed no longer works, the ClearFog can be unbricked via UART booting (It then loads the bootloader via the xmodem protocol). Doing so is actually pretty easy with the help of the kwboot utility once you have a (mainline) u-boot binary:

kwboot -b u-boot-spl.kwb -t -p /dev/ttyUSB0

This should work, however UART mode detection in U-Boot SPL was broken on the tested device and got the wrong magic number in the boot register. This can easily be fixed with the following patch (the resulting U-Boot will no longer work for any other boot option though!):

--- a/arch/arm/mach-mvebu/spl.c
+++ b/arch/arm/mach-mvebu/spl.c
@@ -28,7 +28,7 @@ static u32 get_boot_device(void)
        val = readl(CONFIG_BOOTROM_ERR_REG);
        boot_device = (val & BOOTROM_ERR_MODE_MASK) >> BOOTROM_ERR_MODE_OFFS;
        debug("BOOTROM_REG=0x%08x boot_device=0x%x\n", val, boot_device);
-       if (boot_device == BOOTROM_ERR_MODE_UART)
+       //if (boot_device == BOOTROM_ERR_MODE_UART)
                return BOOT_DEVICE_UART;
 
        /*

Networking

Without further setup, no network will be available in U-Boot and Linux. You need to manually configure MAC addresses for the three interfaces with the U-Boot commands below (replace XX:XX:XX:XX:XX:XX with the desired MAC Address). After a saveenv and reset networking will be fully functional.

setenv eth1addr XX:XX:XX:XX:XX:XX
setenv eth2addr XX:XX:XX:XX:XX:XX
setenv eth3addr XX:XX:XX:XX:XX:XX

ClearFog Base

The Base is pretty similar to the Pro version. However, both U-Boot and Linux device tree files assume that the second ethernet port is wired to the switch chip which makes it non-functional on the Base. If you want to use it you'll need to patch the device-tree for U-Boot and/or the kernel. The patch for U-Boot:

--- a/arch/arm/dts/armada-388-clearfog.dts
+++ b/arch/arm/dts/armada-388-clearfog.dts
@@ -89,13 +89,10 @@
        internal-regs {
            ethernet@30000 {
                mac-address = [00 50 43 02 02 02];
+              managed = "in-band-status";
+              phy = <&phy1>;
                phy-mode = "sgmii";
                status = "okay";
-
-              fixed-link {
-                  speed = <1000>;
-                  full-duplex;
-              };
            };

            ethernet@34000 {
@@ -227,6 +224,10 @@
                pinctrl-0 = <&mdio_pins>;
                pinctrl-names = "default";

+              phy1: ethernet-phy@1 { /* Marvell 88E1512 */
+                   reg = <1>;
+              };
+
                phy_dedicated: ethernet-phy@0 {
                    /*
                     * Annoyingly, the marvell phy driver
@@ -386,62 +386,6 @@
        tx-fault-gpio = <&expander0 13 GPIO_ACTIVE_HIGH>;
    };

-  dsa@0 {
-      compatible = "marvell,dsa";
-      dsa,ethernet = <&eth1>;
-      dsa,mii-bus = <&mdio>;
-      pinctrl-0 = <&clearfog_dsa0_clk_pins &clearfog_dsa0_pins>;
-      pinctrl-names = "default";
-      #address-cells = <2>;
-      #size-cells = <0>;
-
-      switch@0 {
-          #address-cells = <1>;
-          #size-cells = <0>;
-          reg = <4 0>;
-
-          port@0 {
-              reg = <0>;
-              label = "lan1";
-          };
-
-          port@1 {
-              reg = <1>;
-              label = "lan2";
-          };
-
-          port@2 {
-              reg = <2>;
-              label = "lan3";
-          };
-
-          port@3 {
-              reg = <3>;
-              label = "lan4";
-          };
-
-          port@4 {
-              reg = <4>;
-              label = "lan5";
-          };
-
-          port@5 {
-              reg = <5>;
-              label = "cpu";
-          };
-
-          port@6 {
-              /* 88E1512 external phy */
-              reg = <6>;
-              label = "lan6";
-              fixed-link {
-                  speed = <1000>;
-                  full-duplex;
-              };
-          };
-      };
-  };
-
    gpio-keys {
        compatible = "gpio-keys";
        pinctrl-0 = <&rear_button_pins>;

eMMC version

Just to repeat it: the eMMC version will not be able to access the μSD Card (though it has the connector). There are three principal difficulties with the eMMC version: It does not come with any bootloader preinstalled so fallback to UART booting seems necessary, it needs patching the device tree to detect the flash and it has somewhat different offsets for U-Boot SPL.

Power Consumption

ClearFog Base has been measured to consume around 5.5 W in idle and around 8 W under load.

lspci

# lspci -nn
00:02.0 PCI bridge [0604]: Marvell Technology Group Ltd. Device [11ab:6828] (rev 04) (prog-if 00 [Normal decode])
        Flags: fast devsel
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        Prefetchable memory behind bridge: 00000000-000fffff
        Capabilities: [40] Express Root Port (Slot+), MSI 00

00:03.0 PCI bridge [0604]: Marvell Technology Group Ltd. Device [11ab:6828] (rev 04) (prog-if 00 [Normal decode])
        Flags: fast devsel
        Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
        Prefetchable memory behind bridge: 00000000-000fffff
        Capabilities: [40] Express Root Port (Slot+), MSI 00

lsusb

lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         3 
  iProduct                2 xHCI Host Controller
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         1 Single TT
  iProduct                2 xHCI Host Controller
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         3 
  iProduct                2 xHCI Host Controller
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         1 Single TT
  iProduct                2 xHCI Host Controller
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         1 Single TT
  iProduct                2 EHCI Host Controller

Resources

Attachments

Some configuration files and sample outputs.

  • [get | view] (2016-10-24 18:15:19, 223.1 KB) [[attachment:clearfog.jpg]]
 All files | Selected Files: delete move to page copy to page

Credits



CategoryDebianOn CategoryDebianOn