15 15
lanefu

Espressobin support development efforts

Recommended Posts

5 minutes ago, Richard Stokes said:

 

This is a pretty good start! A little cryptic for the uninitiated though. I have a lot of additional tips and settings I could add.

 

I now have a working router with dnsmasq which supports both wireless and ethernet wan connections. I'm able to connect lan0/1 by cable but I have not succeeded in getting a second wireless card to work due to the error -110 issue noted above (very strange that USB 2.0 is fine but USB 3.0 is not, I would have expected the opposite).

 

Right now it seems to be really stable, though I still experience seemingly random issues when I dis/reconnect cables. That's rare though so a very good start.

 

feel free to update adn send me a PR.. then i'll go back and sanitize and get it ready for armbian docs

Share this post


Link to post
Share on other sites

Ok, new problem. Tried to get the linux headers:

 

apt-get install linux-headers-generic

 

It then installed linux-headers-4.4.0-93. Turns out that 4.4.73 is already installed in the Armbian distribution, but it is missing the header files found in /usr/src/linux-headers-4.4.73-mvebu64/arch/arm/include/asm/. A few of these files are used by the arm85 versions, so it prevents building the wireless driver from source.

 

Any know how I can fix this? If we can find the 4.4.73 arm files somewhere, I can copy them into the file system. Hacky, but it will work.

 

Fix:

apt-get install linux-header-generic -> installs 4.4.0-93 header files

 

Fortunately, these seem to work. You have to recursively copy all of the files in linux-headers-4.4.0-93/arch/arm/include/asm/* to the same location in linux-headers-4.4.73/arch/arm/include/asm. 

Next, there is a bug in /arm64/include/asm/opcodes.h that points to the wrong directory. Add an additional "../" to the include directory in that file.

Now you can build a stable wifi driver for the Edimax 7811Un dongle (ie: https://github.com/pvaret/rtl8192cu-fixes). This fix is probably needed for a lot of other things as well though.

Share this post


Link to post
Share on other sites
On 9/5/2017 at 9:57 PM, SmashGuy said:

Ok, I don't recommend that anyone upgrades as it appears that none of the beta drivers are included when upgrading, so you lose core functionality (such as cpufreq support).

 

I'm wiping and reverting back to the original version. The upgrade didn't fix the Edimax problem anyway.

 

You can compile your own Armbian xenial image with headers (still without asm/*) but with cpufreq support:

apt-get -y -qq install git
git clone --depth 1 https://github.com/armbian/build
cd build

nano ./config/sources/mvebu64.conf   
#change the last digit in case 'default' to: KERNELBRANCH='branch:linux-4.4.52-armada-17.06'
#change to: MAX_SPEED=1000000

./compile.sh BOARD=espressobin BRANCH=default BUILD_DESKTOP=no KERNEL_ONLY=no KERNEL_CONFIGURE=yes INSTALL_HEADERS=yes RELEASE=xenial

During kernel configuration select: CPU Power Management - CPU Frequency Scaling - Default Governor - ondemand

and you may disable other governors. Output is Armbian_5.32_Espressobin_Ubuntu_xenial_default_4.4.87.img with cpufreq ondemand governor enabled..

 

More information about the Armbian build system can be found here: https://docs.armbian.com/Developer-Guide_Build-Preparation/

 

EDIT: @lanefu  A commit for changing /config/sources/mvebu64.conf to default KERNELBRANCH linux-4.4.52-armada-17.06 and to MAX_SPEED=1000000 would avoid breaking cpufreq when updating Armbian xenial 4.4.73 images.

Share this post


Link to post
Share on other sites
On 9/8/2017 at 8:49 PM, SmashGuy said:

I now have a working router with dnsmasq which supports both wireless and ethernet wan connections. I'm able to connect lan0/1 by cable but I have not succeeded in getting a second wireless card to work due to the error -110 issue noted above

 

Network Manager does have its weaknesses and behaves sometimes erratic.  SBCs with more than one network interface such as the ClearFog Pro, ClearFog Base and  EspressoBin may require more complex configurations (i.e. firewalled router) - to realise that in a reliable way using Network Manager is a nightmare. Even bridged interfaces lead to erratic interruptions during boot.

 

One could switch to systemd-networkd - it is already installed and just needs to be configured. No more hassles with jobs for raising network interfaces ;) .

 

Interfaces wan, lan0 and lan1 are hot-pluggable and work with full speed (iperf3 results are as expected: 112MByte/s and 103MBytes/s in reverse direction). A working example configuration for bridged network interfaces is here:

#purge network manager:
apt-get --purge autoremove network-manager 

#copy three lines to the interfaces file: 
cat /etc/network/interfaces  
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

#start services and create a symbolic link to resolv.conf:
sudo rm /etc/resolv.conf 

systemctl start systemd-networkd.service
systemctl start systemd-resolved.service 
systemctl enable systemd-networkd.service
systemctl enable systemd-resolved.service 

ln -s /var/run/systemd/resolve/resolv.conf /etc/resolv.conf 

#create the 5 network configuration files in /etc/systemd/network/
#(do not delete empty lines):

cd /etc/systemd/network/

cat 10-br0.netdev
[NetDev]
Name=br0
Kind=bridge

cat 10-dhcp-br0.network
[Match]
Name=br0

[Network]
DHCP=ipv4

cat 10-dhcp-eth0.network
[Match]
Name=eth0

[Network]
DHCP=ipv4 

cat  10-bridged-lan0.network
[Match]
Name=lan0

[Network]
Bridge=br0

cat 10-bridged-lan1.network
[Match]
Name=lan1

[Network]
Bridge=br0

#and restart systemd-networkd:
systemctl restart systemd-networkd

 

Share this post


Link to post
Share on other sites

For the ones who like to try the Armbian xenial default image (4.4.88) (cpufreq ondemand governor and systemd-networkd enabled) - installation instructions and a download link are here:

 

Get the Armbian image (Armbian download link), flash it to an sd card (Etcher is recommended) and insert it into EspressoBin.

Connect the USB cable to the micro USB port and establish a serial connection with a computer (see wiki).

Connect the 12V power supply to boot EspressoBin and press a key to stop the boot process in u-boot.

At the "Marvell>>" prompt enter the following instructions (environment) to change the environment settings (skip setenv ethaddr ...).

Enter "saveenv" and press the reset button - that's it (https://pastebin.com/fq326KR3).

 

You will be greeted by the Armbian welcome screen (user: root, password: 1234).

You are invited to post your comments in this forum.

 

Edit: Disconnect the USB cable for the serial connection a.s.a.p. if your computer is connected to a power grid.

        Use 'ssh root@<ipaddress>' instead of the console (or use a battery driven laptop if you wish to permanently use the console)

Edit: If your EspressoBin produces a kernel panic you need to flash u-boot with a lower CPU frequency (u-boot 17.10.1 flash images)

Edit: If you select a flash-image with another CPU frequency than 1000MHz you must adapt min/max values in /etc/default/cpufrequtils to available values displayed by 'cpufreq-info' and reboot (otherwise cpufreq will not work).

 

If you are happy with Armbian please consider a donation.

 

Share this post


Link to post
Share on other sites
17 minutes ago, ebin-dev said:

Hmm - did you attach something to an USB port ? If yes, please try again without.

Nothing at any usb-port except at the micro usb to get the console.

Board has heatsink and fan as you can see in attachment and a hdd connected to the sata port.

IMG_20170921_203411(1).jpg

 

 

 

 

edit : tried again without hdd attached :

https://pastebin.com/4Jy6WrUd

Share this post


Link to post
Share on other sites
On 9/21/2017 at 8:37 PM, easter said:

Nothing at any usb-port except at the micro usb to get the console.

Board has heatsink and fan as you can see in attachment and a hdd connected to the sata port.

If you compare the two logfiles the difference is that your board produces a kernel panic in the synchronous abort handler (it has nothing to do with USB).

Which hardware version do you use? Mine is V5_0_1 with 1GB RAM, I operate it without heat sink and without fan.

If you have the same hardware version something is probably wrong with your board. 

 

It would be very interesting to collect some more feedback also from other users (positive/negative).

Please post a log file (console output) - and the MAC address and hardware version of your device if you observe any issues.

Share this post


Link to post
Share on other sites
10 minutes ago, ebin-dev said:

Which hardware version do you use? Mine is V5_0_1 with 1GB RAM, I operate it without heat sink and without fan.

If you have the same hardware version something is probably wrong with your board. 

 

IMG_20170921_210950(1).jpg

Share this post


Link to post
Share on other sites
On 9/21/2017 at 1:02 PM, ebin-dev said:

If you compare the two logfiles the difference is that your board produces a kernel panic in the synchronous abort handler (it has nothing to do with USB).

Which hardware version do you use? Mine is V5_0_1 with 1GB RAM, I operate it without heat sink and without fan.

If you have the same hardware version something is probably wrong with your board. 

 

It would be very interesting to collect some more feedback also from other users (positive/negative).

The image didn't boot for me either.

Share this post


Link to post
Share on other sites
18 hours ago, jm02 said:

The image didn't boot for me either.

 

Please post a log file (console output) - and the MAC address and hardware version of your device. I will try to figure out the reason of those issues.

As a test I rebooted my EspressoBin 10 times in a row without any problems (output of armbianmonitor -m: http://sprunge.us/Kaac )

 

Edit: If your EspressoBin produces a kernel panic you need to flash u-boot with a lower CPU frequency (u-boot 17.10.1 flash images)

Share this post


Link to post
Share on other sites
1 hour ago, easter said:

Can you link a howto flash ?

 

flash-instructions are within the linked folder 'flash-images.tar.xz".

 

Edit: You may need to re-enter the environment settings after flashing the new image (do not forget 'saveenv').

Edit: Marvell did not provide a DDR_TOPOLOGY for the 2GB EspressoBin so far - therefore I can't build an image for it.

 

Share this post


Link to post
Share on other sites
3 hours ago, ebin-dev said:

 

flash-instructions are within the linked folder 'flash-images.tar.xz".

 

Edit: You may need to re-enter the environment settings after flashing the new image (do not forget 'saveenv').

Edit: Marvell did not provide a DDR_TOPOLOGY for the 2GB EspressoBin so far - therefore I can't build an image for it.

 

Does that help ?

 

edit : well, after having this board for so long, i was curious. I flashed "flash-image-800_800" from the 1gb folder to my 2gb espressobin model.

IT WORKS ! It boots, and i instantly got an ip and working network. Board is only recognizing 1gig ram now. BUT ITS ALIVE.

 

Thank you so much !

 

 

Zwischenablage02.jpg

Share this post


Link to post
Share on other sites

 

On 9/25/2017 at 8:17 PM, easter said:

I flashed "flash-image-800_800" from the 1gb folder to my 2gb espressobin model.

IT WORKS ! It boots, and i instantly got an ip and working network. Board is only recognizing 1gig ram now. BUT ITS ALIVE.

 

To flash the 1GB image to your 2GB Espressobin was quite risky - you may have bricked your device.

Congratulations - and welcome to Armbian.

 

Edit: The latest 'A3700-utils' include a 'A3700_DDR_Porting_Guide' (uploaded on 26.09.2017). With that information it is possible to build a flash image also for the 2GB Espressobin. They are already included in the package (u-boot 17.10.1 flash images).

Share this post


Link to post
Share on other sites
On 9/25/2017 at 11:47 PM, easter said:

Does that help ?

 

edit : well, after having this board for so long, i was curious. I flashed "flash-image-800_800" from the 1gb folder to my 2gb espressobin model.

IT WORKS ! It boots, and i instantly got an ip and working network. Board is only recognizing 1gig ram now. BUT ITS ALIVE.

 

Thank you so much !

 

 

Zwischenablage02.jpg

 

@easter

out of curiosity, did updating u-boot help on heating issue?

I got my espressobin today and it's heating even without loading an OS.  I just plugged the usb and supplied 12V power. by the way I have the same board version.

Edited by arm-push

Share this post


Link to post
Share on other sites
17 hours ago, arm-push said:

I got my espressobin today and it's heating even without loading an OS.  I just plugged the usb and supplied 12V power. by the way I have the same board version.

 

There is no thermal management in u-boot - just set the environment settings in u-boot (this needs to be done only once) and boot into an operating system. 

 

You should disconnect the USB cable for the serial connection as soon as possible and use 'ssh root@<ipaddress>' instead if your computer is connected to a power grid or use a battery driven laptop (not connected to a power supply) if you wish to use the console.

 

If your GND potentials are different (GND USB compared to GND 12V) your EspressoBin may heat up substantially - you may harm your device by that (measure AC and DC differences). Problems can be avoided by using a battery driven laptop (without power supply).

 

BTW - it is actually the task of Globalscale / Marvell to publish this information and to provide up to date flash files - but they leave it to the community. That is probably the reason why EspressoBin is called 'community board' :huh:.

Share this post


Link to post
Share on other sites
9 hours ago, ebin-dev said:

 

There is no thermal management in u-boot - just set the environment settings in u-boot (this needs to be done only once) and boot into an operating system. 

 

You should disconnect the USB cable for the serial connection as soon as possible and use 'ssh root@<ipaddress>' instead if your computer is connected to a power grid or use a battery driven laptop (not connected to a power supply) if you wish to use the console.

 

If your GND potentials are different (GND USB compared to GND 12V) your EspressoBin may heat up substantially - you may harm your device by that (measure AC and DC differences). Problems can be avoided by using a battery driven laptop (without power supply).

 

BTW - it is actually the task of Globalscale / Marvell to publish this information and to provide up to date flash files - but they leave it to the community. That is probably the reason why EspressoBin is called 'community board' :huh:.

 

@ebin-dev

Thank you for your inputs.  This time I tested the board providing only 12v with different power adapters. still it gets hot once I plugged the 12V jack. If I provide only 5v to the usb socket, it doesn't get hot. but I'm not sure the board can be usable only with 5V.  Note that this is without running any OS. I'm just powering up the board.  :unsure:

Share this post


Link to post
Share on other sites
16 hours ago, arm-push said:

Thank you for your inputs.  This time I tested the board providing only 12v with different power adapters.

 

The processor heats up to 45 degrees in idle state (ondemand governor) and to about 55 degrees if running at full speed which is not a problem compared to other boards that start to throttle around 90 degrees (i.e. Odroid HC1). In u-boot the processor may reach 55 degrees since there is no dynamic frequency scaling.

 

Edit: with the latest flash image (u-boot/atf/a3700-utils version 17.10) and with the latest Armbian image (marvell kernel version 17.10) idle power consumption went down to 3.2W, idle CPU temp is now 41 degrees; maximum power consumption is 5.2W, max CPU temperature is 52 degrees - fully loaded for 30 minutes. (download link)  (Max CPU frequency=1000MHz, no heatsink, no fan, ambient temp. 25 degrees)

 

If you want to use your board follow these recommendations: 

 

Share this post


Link to post
Share on other sites
21 hours ago, ebin-dev said:

 

The processor heats up to 45 degrees in idle state (ondemand governor) and to about 55 degrees if running at full speed which is not a problem compared to other boards that start to throttle around 90 degrees (i.e. Odroid HC1). In u-boot the processor may reach 55 degrees since there is no dynamic frequency scaling.

 

Edit: with the latest flash image (u-boot/atf/a3700-utils version 17.10) and with the latest Armbian image (marvell kernel version 17.10) idle power consumption went down to 3.2W, idle CPU temp is now 41 degrees; maximum power consumption is 5.2W, max CPU temperature is 52 degrees - fully loaded for 30 minutes. (download link)  (Max CPU frequency=1000MHz, no heatsink, no fan, ambient temp. 25 degrees)

 

If you want to use your board follow these recommendations: 

 

 

Thanks @ebin-dev

I tested the board running with Ubuntu (no load) and observed 40 - 45 degrees.  I today bought 2 heat sinks and a fan.  :)

I'm going to try armbian now.

Share this post


Link to post
Share on other sites
51 minutes ago, easter said:

Espressobin boots with 800_800 image, i can use it for about 30 seconds

 

Could you try the 600_600 image and see if that one works for you ? 

I will then send you a PM with a link to the earlier images for your 2GB Espressobin.

Share this post


Link to post
Share on other sites

@ebin-dev

I used Armbian_5.33.170929_Espressobin_Ubuntu_xenial_default_4.4.89.img to boot the espressobin. A couple of minutes after I logged in, the system was frozen.

Then I updated u-boot using "bubt flash-image-1200_750.bin spi usb". After the update, the system was frozen again a couple of minutes after I logged in.

Then I updated u-boot using "bubt flash-image-1000_800.bin spi usb" and tried to boot. but now I'm getting "ERROR: `serverip' not set" errors.

 

SF: Detected w25q32dw with page size 256 Bytes, erase size 4 KiB, total 4 MiB
*** Warning - bad CRC, using default environment

Net:   eth0: neta@30000 [PRIME]
Hit any key to stop autoboot:  0 
Marvell>> bubt flash-image-1000_800.bin spi usb
Burning U-BOOT image "flash-image-1000_800.bin" from "usb" to "spi"
USB0:   Register 2000104 NbrPorts 2
Starting the controller
USB XHCI 1.00
USB1:   USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
scanning bus 1 for devices... 1 USB Device(s) found
Image checksum...OK!
SF: Detected w25q32dw with page size 256 Bytes, erase size 4 KiB, total 4 MiB
20480 bytes written, 799992 bytes skipped in 0.410s, speed 2044193 B/s
Done!
Marvell>> boot
*** ERROR: `serverip' not set
*** ERROR: `serverip' not set
Bad Linux ARM64 Image magic!

 

Share this post


Link to post
Share on other sites
14 minutes ago, arm-push said:

A couple of minutes after I logged in, the system was frozen.

 

It seems that you are using a 2GB EspressoBin. 

 

The latest images built with atf/a3700-utils 17.10 are not yet working properly for the 2GB Espressobin.

 

You will find another folder with flash images for the 2GB Espressobin built with atf/a3700-utils 17.08 here. They should work and allow to access 2GB of memory. 

 

Please try all of them and post your observations in the forum.

Share this post


Link to post
Share on other sites
8 minutes ago, ebin-dev said:

 

It seems that you are using a 2GB EspressoBin. 

 

The latest images built with atf/a3700-utils 17.10 are not yet working properly for the 2GB Espressobin.

 

You will find another folder with flash images for the 2GB Espressobin built with atf/a3700-utils 17.08 here. They should work and allow to access 2GB of memory.

 

nope. I'm using the 1G

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
15 15